Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

New MacBook Pro and iMac

Almost a month ago, I wrote about how I was hoping to increase my developer happiness by getting a new iMac and MacBook Pro. I received a lot of good advice in the comments and proceeded to order place my order with the Business Group at the Aspen Grove Apple Store the following Monday. I have to admit, the paperwork to get a lease on the equipment was kinda painful, but I was happy to get a 7% discount for being a business customer. It took until Wednesday for my order to be placed and everything started shipping the following weekend.

To make my new machines as fast as possible, I purchased OWC's Turnkey Upgrade Program for my iMac, with the 240GB OWC Mercury EXTREME Pro 6G SSD and 16GB RAM. I also ordered a 480GB Pro 6G SSD and 8GB RAM for my laptop. I received the laptop about two weeks ago and the iMac a few days later. Instead of building my new laptop from my old one, I chose to simply use Lion and copy all my apps and data over manually. I sent the iMac to OWC as soon as I received it and got it back about 3 days later. I was out of town on business last week, and when I arrived home Thursday night, I found all my new equipment waiting for me. I built my iMac by cloning the drive from my laptop and installed the new SSD and memory into my new laptop.

For the last week, I've been very happy with the speed improvements and the wicked fast snappiness of opening apps, compiling programs and IntelliJ indexing in only a few seconds. However, on October 24th, I received a strange email from Aspen Grove Business with the subject MacBook Pro Price Reduction. I quickly replied, asking if new MacBook Pro's came out in the last couple days. I received no response, but learned a couple days ago that indeed they had. One of my office mates bought a new machine and said he got a 2.5GHz processor, while mine had a 2.3GHz.

Today, I packed up my new laptop and drove down to the Aspen Grove store to see if I could exchange it for a faster one. They hesitantly agreed to exchange it, as long as I put the original hard drive and memory back into it. I drove to my office, which was only a couple miles away in downtown Littleton. I put in the original disk and memory back in and returned to the Apple Store. 20 minutes later, I was walking out with a new, new MacBook Pro and happy to get the fastest Apple laptop on the market. The funny thing about this experience is it's the 3rd time in a row I've experienced buying an Apple laptop and returning it shortly after for a newer one. My last laptop purchase (March 2009) and Trish's 13" MacBook Pro (in March) were the first two.

I'm writing this post to thank Apple for having such great customer service. I've been very close to experiencing buyer's remorse (because I missed laptop upgrades by a few days) and Apple has always been very gracious in helping me out. In fact, with this latest purchase, they said there was a $400 difference between my two-week-old laptop and the latest 2.5GHz. Then they only charged me $50 for "being such a great business customer".

Thanks Apple, you rock!

Posted in Mac OS X at Nov 06 2011, 06:10:17 PM MST 8 Comments

Increasing My Developer Happiness

I've bought into the idea that a happy developer requires a clean, attractive, comfortable workplace that encourages healthy, sustainable productivity. Rich Armstrong of Fog Creek Software explains how they spend $6,174 per developer to make them happy. Shortly after reading this article, I tweeted:

My ideal setup is ~$10K more (MacBook Pro, Mac Pro, two 30s).

While this is my ideal setup, it's not something I actually need. If you've ever worked with two 30" monitors, you might agree. That much screen real estate can be too much, as you have to pan your head side-to-side to take it all in. I've found that a single 30" or 27" is good enough for me. As far as a Mac Pro goes, they can have awesome horsepower when full-loaded, but unless you're doing some serious processing, you probably won't utilize it all.

The last time I bought a new computer was March 2009, when I bought a 15" MacBook Pro with an SSD. I upgraded it to 8 GB RAM a year later and it's hummed along just fine since then. I also had the pleasure of working on a fully-loaded Mac Pro at Time Warner Cable for all of 2010 and a company-provided MacBook Pro at Overstock for most of this year. With my recent move to a new client, it's time to increase my developer happiness. Since I am my own boss, it's easy to get hardware upgrades approved. ;)

My current hardware inventory is as follows:

  • A 15" MacBook Pro
  • A 30" monitor at home
  • A 27" monitor at my office in Downtown Littleton

Since I ride my bike to work everyday, I've been hauling my laptop back and forth on my 8-mile commute. This is getting old quickly. I'd rather have a permanent machine in my office and a laptop for when I travel to clients, the mountain office or to conferences. So here's what I hope to buy in the next week:

  • A new 15" MacBook Pro, fastest CPU available
  • A fully-loaded 27" iMac for my office

I'll be moving my current 27" monitor to the mountain office. I plan on getting rid of my current MacBook Pro through the Apple Recycling Program. I'm also planning on trying out Apple's 24-month leasing program. I like to get new hardware every two years and it's a better tax deduction, so it seems to make sense.

My only question at this point is should I get Apple's SSD and RAM instead of getting it aftermarket (e.g. via Crucial)? My original plan was to install an aftermarket SSD and 8 GB RAM in the MacBook Pro. For the iMac, I've heard installing an aftermarket SSD isn't an option, but RAM is. I was thinking about getting the SSD + 1 TB drive combo and upgrading the RAM to 8 GB myself. There's a good chance aftermarket is better quality, but I'd also have to pay more vs. having it wrapped up in the total lease price.

Of course, new hardware is only part of developer happiness. A clean, attractive, comfortable workplace is an essential component as well. My home and mountain offices are nice, but my Littleton office needs work. I currently share it with two other developers, Angela and Jim. Over the next couple months, we plan on making a lot of improvements to our daily digs. I'll make sure and take some before and after pictures and blog about how we improve things.

Update: Thanks to everyone for their advice. As I suspected, upgrading RAM and disk aftermarket is the way to go. When I wrote this, I was under the impression that you couldn't upgrade the iMac's disk. Since then, I've discovered OWC's Turnkey Upgrade Program. Using this, I can send them my iMac and get a wicked fast 480 GB SSD, a 2 TB drive, 16 GB of RAM and have it shipped overnight for around $1400. Add in 8 GB RAM and a 480 GB Mercury Extreme 6G SSD for my new MacBook Pro and I'm looking at $2600 (aftermarket) + $5500 (Apple) = $8100. Now I just need to find some external hard drive enclosures for my old drives. Bonus points if I can find one with Thunderbolt support.

I can feel my developer happiness increasing already...

Posted in Mac OS X at Oct 07 2011, 03:35:35 PM MDT 11 Comments

My iPad Review

Wi-Fi iPad One week before my home computer was stolen from my living room, the iPad was announced. After watching the initial video, I figured I might want to get one. Fast forward to iPad release day. I was skiing with a friend in Winter Park as I was scratching my head trying to come up with good Easter presents for my kids. Then it hit me: An iPad would be an excellent Easter gift for my kids.

I called the Cherry Creek Apple store and asked if they had any left. They said they did, but they'd likely be sold out before the end of the day. I arrived back in Denver around 3 and was 2nd in line at the Apple Store at 3:30. 5 minutes later, I walked out with an iPad. They were sold out of 32GB models, so I went with the 64GB.

CNET has a good about the 5 Reasons NOT to get an iPad. There #1 reason is great: because you don't need one. They're absolutely right, I didn't need an iPad. I wanted a new home computer so I don't have to pack my MacBook Pro back and forth to the office. However, I realized that most of the time I'm at home, I'm not doing much hard-core computing. Most of the time, I'm checking e-mail, reading Twitter or reading articles. So I bought it because it was cheaper than a new home computer, but I also realize it's not a computer replacement.

It's really just a big iPhone.

In every aspect, it's a larger iPhone. Abbie's first words when she opened it on Easter Sunday were "It's a big phone!" It is a big iPhone, but it's much more pleasant for reading articles and e-mail. Beyond that, it seems good for games, but it's certainly not super-duper fantastico. It's a bit heavy; too heavy to read as you would a book. After holding it for an hour or two last night, my left hand started to get sore. Also, its keyboard sucks. Maybe I'll get used to it in the long run, but without the tactile feedback of keys, it can be difficult to type without looking. The other things I don't like about it are:

  • There are very few good apps (iPhone apps work, but they're small).
  • The screen gets dirty quickly and it looks kinda gross when it's not lit up.
  • The Photos app doesn't work at all for me. It says "Updating Library" when I open it, then crashes several seconds later. Maybe I have too many pictures (12.5K items, 28.5 GB).
  • When it's synching with my laptop, it constantly connects and reconnects and makes a loud noise each time.

I took the iPad to work on Monday and received some interesting feedback from co-workers.

There are some good things about it. First of all, it's wicked fast. Apps *pop* and load their data very quickly. Way faster than my iPhone and faster than both my MacBook Pro and the powerhouse Mac Pro I use at work.

I really like the newspaper apps for reading the latest news articles. I'm not much of a news person, but there's a good chance I read more of it because the apps are so pleasing to the eye. Also, the Netflix app sucked me in as soon as I started reading about it. I've bought my kids several movies on iTunes, but there's still not a huge selection to choose from. With Netflix and its live streaming, we have seemingly thousands of movies to choose from and they're all a touch away. The Mail app is also pleasant to use, possibly moreso than on OS X and Gmail in any ol' browser.

There's a good bit of me that's underwhelmed with the device, but I think it has a lot of potential when more apps start appearing. It also seems to need some accessories right away: namely a case to carry it in and a shield to keep clean. I could also see getting a stand for it to enhance its digital picture frame feature. If I could plug it into my HD TV, it might even eliminate my need for OnDemand Movies and DVDs.

I think the biggest potential for the iPad is kids, baby boomers and couples. There's a good chance all of these demographics have a real computer in their home, but the head of household doesn't want to spring for two. Take my mom for instance, she wants an iPad for e-mail because my dad always hogs their iMac. My kids aren't that enthralled with it, but it took them awhile to appreciate the Wii and iPhone. With the Wii, it was the Super Mario Bros. game that reeled them in. Same story with my iPhone; they love the games.

My guess is the real attraction of the iPad will be the apps that are built for it. I can't wait to see what developers come up with.

Posted in Mac OS X at Apr 06 2010, 10:51:22 PM MDT 9 Comments

17" MacBook Pro Stolen from Living Room

Almost 3 years ago, I bought a 17" MacBook Pro. This laptop served me well for several years, mostly as a home computer. A few months after I bought it, I started working at LinkedIn and got a brand new laptop as part of my first day on the job. After working with LinkedIn's 15" for almost 2 years, I grew to love the form factor and purchased another one almost a year ago. I found the 17" was too big for planes and the 15" fits me perfectly.

Fast forward to last night.

I attended the first half of the Ignite talks at DOSUG and left around 7. When I arrived home, I suspected something might be out of whack when my front door was unlocked. Julie had come over to pick up Abbie's dance shoes around 6, so I figured she must've forgot to lock the door on her way out. When I got inside and saw my coat closet open, I justified it by thinking she grabbed one of the kids coats out of the closet and forgot to close the door. When I walked into my living room and saw my space heater's remote in the middle of the floor, busted open with batteries out, it clicked that a stranger was in my house. The first thing that jumped into my head was "Where's my laptop?" As I looked at the bare mini-desk in my living room, I realized it had been stolen.

I called Julie and asked her if she left the front door open. She said no, but when she arrived at my house (and came through the back), the garage's light was on and my back door was wide open. I asked her if she saw the busted remote on the floor or if the closet door was open. She said no. Putting all the pieces together, it appears that the burglar was actually hiding in my closet when Julie came into my house. Naturally, she's a little a freaked out by this, but she also saved the day by scaring off perpetrator before they took anything else.

This isn't a new trend for me and this incident is mostly my fault. I left my backdoor unlocked. Two years ago, my truck's stereo was stolen and there's a good chance I left the doors unlocked (and didn't turn on the alarm). Last year, my bike was stolen and the lock was still there, indicating I missed the frame when locking it up. So getting robbed in the first part of every year seems somewhat par for the course.

With my truck's stereo, it worked out well because the rig needed a new stereo. My bike last year? There wasn't any silver lining to that incident, so I made myself earn a new one. With this laptop incident, there is a silver lining in that I've been thinking about getting a 27" iMac for a home computer. Other options include a Mac Pro for my office (and use my laptop for traveling/home use) or a Mac Mini for home and hook it up to my TV with a wireless keyboard and mouse.

The home iMac seems like the best option, but I'd also be interested to hear what others recommend. Of course, I'll be keeping my doors locked from now on. ;-)

Posted in Mac OS X at Feb 03 2010, 09:45:52 AM MST 11 Comments

New 15" MacBook Pro with SSD

Just over a month ago, I reduced my computing machinery from 3 to 1. Since I was running to work, this quickly presented a problem of how to get my laptop to/from the office. I decided to go for the "no home computer" about half the time and it was a fairly pleasant experience. It's hard to stay up late and hack away on open source when all you have is an iPhone.

To be perfectly honest, I only made it about 2 weeks before I ordered a new laptop, but I cancelled the order shortly after. Last weekend, I re-ordered and my new 15" MacBook Pro arrived this past weekend. Here's the specs:

  • Processor: 2.8 GHz Intel Core 2 Duo
  • Memory: 4 GB 1067 MHz DDR3

I also chose the solid-state drive (SSD) because I'd heard it's faster. I did some rough performance comparisons against my old laptop (a 2-year-old 17" MacBook Pro) and found it's quite a bit faster.

For these tests, the computers have exactly the same software and OS (I restored my new MBP from my old one). For the tests below, I used Java version "1.5.0_16" and had JAVA_OPTS set to the following:

-Xms512M -Xmx768M -XX:PermSize=256m -XX:MaxPermSize=512m -Djava.awt.headless=true -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:+UseConcMarkSweepGC. 
ComputerOperationTime (mm:ss)
New MacBook Pro with OS X 10.5.6 (2.8 GHz, 4 GB RAM)appfuse: mvn install3:23
cp -r appfuse appfuse20:28
gwt-project: mvn install1:24
Old MacBook Pro with OS X 10.5.6 (2.33 GHz, 3 GB RAM)appfuse: mvn install4:11
cp -r appfuse appfuse20:56
gwt-project: mvn install2:21

From these numbers, you can see that it's around 20% faster for building AppFuse (2.1-SNAPSHOT) and almost twice as fast at copying files and building the GWT project I'm working on. Needless to say, I'm impressed and pleased with my purchase.

Update: New MacBook Pros came out today with a faster CPU (2.93 GHz) and 256 GB SSD. I was able to call Apple and get a full refund on mine. Thanks Apple!

Posted in Mac OS X at Mar 02 2009, 07:24:28 AM MST 14 Comments

Bye Bye Dream Machine

Mac Pro This evening, I'm shipping back one of my favorite machines of all time. I received a fully-loaded Mac Pro as part of my employment with LinkedIn last June. It was necessary to run the LinkedIn application locally and I thoroughly enjoyed using it for the last 6 months. With 12GB of RAM and two 23" monitors, it was a great employee perk.

When I became a contractor again, they let me take my dream machine home. I promptly plugged in my 30" monitor and I've been loving my home work environment ever since. I could have bought the machine from LinkedIn, but I discovered I can buy a brand new machine with similar specs for less than their asking price.

The good news is I'm now able to answer the question I asked a couple years ago: One 30" monitor or two 23" monitors? IMO, one 30" monitor is definitely better and two 30" monitors would be awesome.

In addition to the Mac Pro, I'll also be shipping back the 15" MacBook Pro they gave me. This leaves me with my 17" MacBook Pro and an old HP Pavilion with Windows XP. I was hoping to plug my 30" into the HP, but I discovered I don't have a DVI card that will handle it. Over the next few months, I do plan on buying a new MacBook Pro (for work) and a Mac Pro (for home). With my running commute, I need to leave one machine downtown and I like to have one at home for the kids + late night hacking.

I'm currently having a hard time deciding if I should buy a MacBook Pro now or make do with what I have and just buy a new DVI card for my Windows box. I'm leaning towards a new 15" MacBook Pro (17" is too big to travel with). If I could get one with a 256GB SSD, I'd definitely be sold.

What would you do?

Posted in Mac OS X at Jan 26 2009, 10:18:33 PM MST 19 Comments

My iPhone Review

iPhone Today I picked up a 16GB iPhone at the Park Meadows Apple Store. As far as I can tell, I got it with a stroke of luck. Last night, I was searching Apple's "Concierge" application to see which store (there's 4 in the region now) would look at my Mac Pro (averaging 4 GSOD per day). Most had a 24-hour lead time at the Genius Bar, but Park Meadows had an 8AM available.

This morning, I hauled the box into the mall and doubted the store would be open at such an early hour. Apparently, the store isn't really "open", but the Genius Bar is and they have a camp for kids from 8-10. After submitting my machine to the Genius Bar, I asked a guy about iPhones. He said they got a shipment the night before and they had 16GB White iPhones in stock.

LinkedIn has an Employee Discount for AT&T, so I asked the sales guy if I could use that. He said I needed to buy the phone from AT&T if I wanted to use any sort of "business" discount. I called the downtown AT&T store (they angrily told me they were out-of-stock) and walked by the one in Park Meadows Mall (didn't open until 10). I then rationalized that buying an iPhone from an AT&T store could take weeks. After an hour of contemplating, I decided to go ahead and purchase the white iPhone, even though I wanted black and I wouldn't get the employee discount. My reasoning:

  • Employee Discount is 8% which amounts to about $8/month. My last T-Mobile bill for my Blackberry Pearl was over $200. Going from $200 to under $100 makes $8 irrelevant.
  • When I bought my Escalade, I liked a black one more. When I bought my last iPod (May), I wanted a white one, but ended up with black (no white in stock). It seems fitting that I'd get a white one when I'd want black. My previous black vs. white purchases haven't bothered me post-purchase.
  • These things are hard to find - I should just buy the damn thing.

So yes, I thought about the decision way too much, but managed to talk myself into it. It's a good thing too - they were sold out by the time the store opened at 10. I bought mine at 9:30.

So what do I think of it? I like it, but not for the phone or fanciness of it.

Pros: The main reason I like it is for its iTunes Remote application. With an Airport Express + Bose System at home, I've been wanting this for quite some time. I would've paid $200 for this alone.

Cons: I love the Pandora app, but was disappointed to find it didn't work with my car's iPod connector. I was hoping for Pandora-in-the-car, but no dice. The iPod feature of the iPhone works, but charging via my car's iPod connector doesn't. The enabling-of-charging feature may be software related since there's a "charging won't work" message that pops up when I plug it in.

So 12 hours after purchasing the device, I'm happy with it, but not thrilled. However, it seems like the kind of thing that grows on you and someday you wonder how you lived without it. Should be a fun ride.

Update 24 hours later: I really like that the iPhone has a speaker. I've always wanted a radio in my bedroom at night and now I have one. On the downside, the battery life is abysmal: it was fully charged at 8AM this morning and completely dead by 8PM tonight.

Posted in Mac OS X at Jul 15 2008, 10:07:26 PM MDT 6 Comments

New Mac Pro

It sure is cool when dreams come true. Look what arrived at the Denver office today. :-)

New Mac Pro

Update: Believe it or not, I rebooted my MacBook Pro the same minute I plugged in my Mac Pro. Upon reboot, the MBP choked and I've been looking at a gray screen with a spinning icon for most of the day. I'm soooo glad I have Time Machine. Let's hope I can do a restore on the MBP tomorrow.

Update 2: I was able to successfully build the Mac Pro from my latest MacBook Pro backup on Time Machine. Sweet! Let's see how this works:

$ echo $JAVA_OPTS
-Xms512M -Xmx4096M -XX:PermSize=384m -XX:MaxPermSize=512m -Djava.awt.headless=true -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:+UseConcMarkSweepGC -server

Posted in Mac OS X at Jun 05 2008, 11:21:17 AM MDT 13 Comments

I Got Lucky

Earlier this evening, I decided to upgrade my work laptop to Safari 3.1. Shortly after restarting, I was greeted with the Gray Screen of Death. To fix, I rebooted. Same result. 3rd time is a charm, right? Nope.

/me this is really going to suck, I'm going to have to give up my laptop for several days to get it fixed. Furthermore, this is my only machine authorized to VPN into LinkedIn's network. Looks like I'm going on vacation for the rest of the week.

Rather than trying to rescue the OS or upgrade it to Leopard, I decided to watch TV for an hour instead. When I came back, I disconnected the machine from its monitor and tried rebooting on battery power. Voila - it worked!

Now I'm in the process of using my old friend SuperDuper!.

I got lucky... when was the last time you backed up?

Posted in Mac OS X at Mar 19 2008, 01:18:02 AM MDT 5 Comments

My Entire Family is now on Macs

24 Inch iMac I bought my first Mac in January 2002. I had dreamed about a PowerBook for years before buying it and was very excited when it arrived. A couple days later, I discovered it was practically worthless because it was so slow for Java Development. I used it for pictures and music, but not much else. Through the years, I owned a couple more PowerBooks, but rarely found them fast enough to use on a day-to-day basis. I kept doing most of my development on Windows.

In January 2006, everything changed. I kept my Windows box around at home, but mostly because it was connected to my 23" monitor and I didn't feel like switching things out. When I moved last summer, I put my Windows box in a closet and bought a 30" monitor. I've hardly touched that Windows box since. Of course, it helps that I have Parallels installed on my Mac.

Now I have two MacBook Pros (a 17" I bought and a 15" that LinkedIn gave me). Last year I convinced my sister to buy a MacBook. Time I've had to spend in the last year helping her fix it: 0 minutes.

Yesterday, I took my Dad to his local Mac store and helped him buy a 24" iMac.

The Raible Family is now an all-Mac family and I work at an all-Mac company.

Life is good.

Posted in Mac OS X at Mar 13 2008, 11:27:17 AM MDT 7 Comments