Matt RaibleMatt Raible is a writer with a passion for software. 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.

10+ YEARS


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.

Sun Certification Summit.

Want to get certified in just one, two or three days? If so, you could attend the Sun Certification Summit, November 10-13 in Colorado Springs. It's almost worth it considering how many hours you would spend studying for these certifications.

The all-inclusive fee of $1,295 per person includes all conference activities, student materials, Web-based courses, meals and lodging. One price fits all. You choose how aggressive you want to be, and take as many sessions as you want.

Posted in General at Oct 23 2002, 06:17:47 AM MDT Add a Comment

The Zone and The Wall.

I've certainly been in The Zone before:

Sometimes, you just have one of those days. One of those days where you manage to find flow, and stay in it. One of those days where you move from test, to code, back to test, back to code with ease.

But what about those days you feel like you're pounding your head against the wall. No matter what you do or try it just doesn't work. Or you're trying to fix a bug and just can't seem to find the problem. And when you do, it was sooo simple - ARRRGGHHH! I battled with The Wall all day yesterday writing installation scripts for my current project. I was lucky enough to get it all working by the end of the day, but I think I scared the bejeezus out of my cat a time or two.

Posted in General at Oct 23 2002, 04:23:23 AM MDT Add a Comment

Dream Job in Carribean.

I got this e-mail yesterday for an Oracle Certified Trainer in the Carribean. How sweet would that be?! If any of you are qualified for this position, I encourage you to apply. I've provided this nice picture for you to gaze at and dream about.

Posted in General at Oct 22 2002, 12:21:23 AM MDT 1 Comment

James Duncan Davidson has a blog.

I found James Duncan Davidson's blog tonight. For those of you who didn't know, James is the original author of both Tomcat and Ant. Now he appears to be caught up in Mac OS X goodness, and is having fun with the T68i and iSync. Powered by blosxom, motivated by simplicity, driven by perl.

Posted in General at Oct 21 2002, 01:19:20 PM MDT 1 Comment

Testing Javascript.

I found JsUnit this morning. JsUnit is a Unit Testing framework for client-side JavaScript.

  • JsUnit uses exception handling, which means we need JavaScript 1.4 or higher. That means that the browsers supported are Internet Explorer 5.0 or later, Netscape 6.0 or later, Mozilla 0.9 or later, and Konqueror 5.0 or later. JsUnit has been tested for:
    • IE 5.5+, on Windows NT, Windows 2000, Windows XP, Windows 95, Mac OS 9, Mac OS X
    • Mozilla 0.9.4+ on all platforms (includes all Gecko-based browsers including Netscape 6.2.3+ and Netscape 7.x)
    • Konqueror 5+ on KDE 3.0.1 (Linux)

Now you should have enough testing frameworks to triple the timeframe of your project...

Posted in General at Oct 21 2002, 04:40:48 AM MDT Add a Comment

Java Developer? Buy this book!

Yesterday was a good day - I woke up at 4, finished the features and bug fixes for the 1.0.2 release of my project, deployed it, and headed to the library. I was at the library from 8 until 2:30, finishing off Java Development with Ant. I really can't say enough about this book - it's a must-have for anyone who develops in Java. As I told my wife, it's the best technology book I've ever read. It's got tons of great stuff on testing (JUnit, HttpUnit, Canoo WebTest, Cactus), deployment (to Tomcat, to WebLogic) and a very good chapter on XDoclet.

The best part is that it's got tons of examples that you can use immediately if you're already using Ant. You might even be able to download them and copy/paste. I also found you can get it at half-price as an eBook ($22.47, PDF). I think it's a great resource as a reference manual, and you probably don't even have to read the whole thing like I did.

Posted in General at Oct 19 2002, 03:34:58 AM MDT Add a Comment

Ant and JUnit.

I reduced the build.xml file on my project drastically this morning (more than 900 lines). I used to have a task per testcase and was able to consolidate from this:

<!-- =================================================================== -->
<!--            Run the UserDAO test                                     -->
<!-- =================================================================== -->
<target name="test.userDAO" depends="compile">
  <echo message="Running UserDAO Test -------------------"/>
  <junit printsummary="yes" haltonfailure="yes" 
    haltonerror="yes" fork="yes">
      <jvmarg value="-Djunit.conf=./src/onpoint/PersistenceTestValues.ini"/>
      <classpath>
          <pathelement path="${webapp.target}/WEB-INF/classes"/>
      </classpath>
      <classpath refid="classpath"/>
      <formatter type="plain" usefile="false"/>
      <test name="com.onpoint.webapp.persistence.UserDAOTest"/>
  </junit>
</target>

To this:

<!-- =================================================================== -->
<!--            Run all the Persistence tests                            -->
<!-- =================================================================== -->
<target name="test.persistence" depends="compile">
    <echo message="Running Persistence Tests -------------------"/>
    <junit printsummary="yes" haltonfailure="yes" 
	  haltonerror="yes" fork="yes">
      <jvmarg value="-Djunit.conf=./src/onpoint/PersistenceTestValues.ini"/>
      <classpath>
          <path refid="classpath"/>
          <pathelement path="${webapp.target}/WEB-INF/classes"/>
      </classpath>
      <formatter type="plain" usefile="false"/>
      <test name="com.onpoint.webapp.persistence.${testcase}" if="testcase"/>
      <batchtest unless="testcase">
          <fileset dir="${webapp.target}/WEB-INF/classes" 
              includes="**/persistence/*Test.class"/>
      </batchtest>
  </junit>
</target>

And I got to remove the AllTests.java file in the persistence package! You probably knew this already, but just in case...

Thanks to Erik Hatcher for Java Development with Ant. I studied this book for three hours yesterday and it's already increasing my productivity! I hope to finish it by tomorrow afternoon - only 300 pages to go. It's pretty cool when you're reading someone's book and getting e-mails from them at the same time.

Posted in General at Oct 17 2002, 04:37:09 AM MDT Add a Comment

XDoclet Lead has a blog.

I came across Ara Abrahamian's Memory Dump blog this evening.

I've been leading XDoclet for a long time. I'll post my thoughts about uses (and misuses) of code generation and Attribute Oriented Programming here. Stay tuned! I promise you'll be thrilled to know what XDoclet can do :-)

First of all, very cool that he's using Roller! Secondly, Ara - your template/site needs some work in Mozilla. Try it, it's about 30% wider than my screen - and I have to scroll over to read all your content. Works fine in IE (although a horizontal scrollbar still appears). Use standards and all your cross-browser problems will go away ;-)

Posted in General at Oct 16 2002, 02:20:26 PM MDT Add a Comment

The Cabin

Since I'm up at 4 in the morning, getting ready to study, but in the mood for a little procrastination - I might as well add a little more to my childhood story. Kudos to Greg for the encouragement.

It all started in the early 1970s when my parents first met in Bozeman, Montana. My dad (Joe) had moved to Montana with a girl, planning on marrying her. When he met her mother, she didn't like him, and he called the whole thing off. My mom (Barbara) was born and raised in Billings, MT and was studying at Montana State for her nursing degree. To make a long story short (let's get to the good stuff) they hooked up and ended up wanting to leave Bozeman. My mom mentioned that her family had a cabin in the Swan Valley - about 5 hours northwest of Bozeman. So they packed up their belongings and their friends and headed for "The Cabin."

My Great Grandpa Matt and Grandma Ann HillThe cabin was built by my great-grandpa Matti Hill, who had come to America by way of Finland and a Russian navy ship. Matti and his wife Ann received 120 acres from the Homesteading Act of 1862, and built a cabin and sauna on the property in 1917 and 1918, respectively.

The Homestead Act declared that any citizen or intended citizen could claim 160 acres - one quarter square mile - of surveyed government land. Claimants must "improve" the plot with a dwelling and grow crops. After five years, if the original filer was still on the land, it was his property, free and clear.

So why did they only get 120 acres? Apparently, the government deemed 40 acres as prime real-estate and didn't want to give it up. Matti and Ann were successful in "improving" the land and lived there until the late 1930s. We have many pictures of my grandpa Ollie growing up there as a kid. I've always been proud to carry Matti's name, especially when my teachers would get angry and call me "Matthew" in grade school. I could retort with "that's not my name" and be 100% correct, it says "Matt" on my birth certificate.

After leaving Bozeman, my parents and their friends drove to the Swan Valley and began their expedition to find The Cabin. It took them 2 or 3 days to find it; roof caved in, windows broken out, tall weeds growing through the floor - no electricity, no running water, not even a driveway into the place. This was in the spring/summer of 1972. They lived there with their friends through the winter of '72 and had a sort of commune going. It wasn't a true commune though because that wasn't their purpose, just a bunch of friends living on the same plot of land. And a pretty big one (120 acres) at that - so who knows how much they even saw each other.

In the fall of 1972, my mother discovered that she was pregnant with my sister, Kalin. My mom told her father, Ollie, who gave my dad 50 bucks and recommended that he take her to the courthouse in Missoula and get married. On November 16th, 1972, my parents were married, witnessed by my mom's best friend (serving as bride's maid) and ex-boyfriend (serving as best man). Their honeymoon consisted of buying a bottle of champagne from the local liquor store and walking around around the block at the courthouse.

The Cabin and beautiful Montana Snow The Sauna under snow My sister was born on St. Patrick's Day (March 17th) of '73 in the southeast corner of the cabin, delivered by my father. My mom never had any pre-natal care, and didn't see herself in a mirror until she was seven months pregnant with my sister - that must've been a shock! Soon after my sister was born, my parents convinced their friends that it was time to leave - they needed to raise a family and no one was paying rent! I was born 16 months later in July of 1974. The picture on the left is a picture of the sauna on an average Montana winter. On the right is the cabin, nestled in for a long winter.

There was no electricity at the cabin, only kerosene lamps and wood stoves. We gathered our water from a stream that ran between the cabin and the sauna. Since my parents had flat wallets (jobs have never paid well in Montana) we raised a lot of animals and my mom grew a flourishing garden each year. Our livestock consisted of ducks, geese, chickens, rabbits, dogs, cats, horses, goats and pigs. I was in charge of feeding the ducks, geese, chickens, dogs and pigs - as well as chopping and hauling in wood for the cook stove and heat stove (I never realized how good I was at chopping wood until I introduced my city-fied college friends to the cabin). I used to hate feeding the pigs because they would always "slime" me with their snouts. But I was always friends with them, and apparently devastated when they were made into our dinner. Bears would visit us often, sometimes getting a pig, sometimes getting strung up after my mom shot them.

Matt, Kalin and MomWhen Kalin and I were old enough, we started trekking to the bus stop each morning - a mile and a half walk. I remember waking up early in the cold Montana winters, and hiking over to the chicken coop with a flashlight. I'd gather up the frozen water dishes, thaw them out on the heat stove in the cabin, and deliver them to chickens right before we began our walk to the bus stop. Our walk to the bus stop only took 23 minutes and we were often joined by mom. My sister and mom will tell you that I talked like a broken record the entire duration of our walks. That was the greatest part about growing up in Montana without TV and little knowledge of the world - I believed anything was possible, and I dreamed out loud. A flying saucers that had chicken McNuggets in the glove box was one of my favorites.

So we lived, dreamed, worked and grew up at The Cabin until 1990. I was a sophomore in high school, Kalin a junior, when we moved to Salem, Oregon in June. The worst part is that we never knew how good we had it in Montana - we just knew what we didn't have. This goes for my parents as well. I can remember my dad always complaining about finding work and how crappy the jobs were. Now he can't wait to visit the cabin every year, and my parents hope to retire there someday.

The front road in the springThe craziest part - in 1986, when my dad was pursuing his Masters of Computer Science at the University of Montana, we had a Commodore 64 hooked up to a 300 baud modem, connected to CompuServe. We had a small generator by then to run some lights and the computer. Even crazier - we still can't get electricity at the cabin (for under $50K), but we can get DSL installed! My dad worked for the phone company for a year or two in the 80s, so we've had a phone there for a while.

I thank my parents and my sister for an awesome childhood - where life was simple and dreams were boundless.

Posted in General at Oct 16 2002, 12:37:45 AM MDT 7 Comments

1993.

What was I doing in 1993? It was my second year of college and about this time (that year), I'd just finished driving my 1969 VW Bug from Salem (Oregon) to Denver. I'd rebuilt the engine right before I left Oregon, and my first 500 "wear-in" miles were on the road. Definitely not a good idea. It took me a week to get to Denver, as I broke down a few times: Little America, WY (dead battery), Green River, WY (blow fan belt), 50 miles past Green River (another fan belt). Leaking oil, blown fan belts, sleeping in the car - and all with no driver's license (I couldn't find it). I was 3 weeks late for school (only 10 weeks in a quarter), and the first day I went to class, there was a mid-term. Uugh.

Posted in General at Oct 15 2002, 02:53:26 PM MDT Add a Comment