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.

Home Sick

I figured riding to work yesterday would get me in better shape, but rather, it has crippled me. After my hour n' 45 minute ride to work, I started to feel sick in the afternoon. Sick like a sore throat and headache. Around 5 o'clock (time to go home), I still felt like crap, but thought some more exercise would do me good. It took me an hour and 35 minutes to get home, and I was wiped out when I got here - in bed at 8:30. I didn't feel too bad last night, just tired. This morning I woke up to tonsils the size of golf balls (yep, I still have my tonsils), a headache and that "I-have-a-cold, man-I'm-tired" feeling. So I e-mailed in sick today, and slept in until 11. I've discovered that my lack of internet connection might be my router, as my LAN does not work anymore. It did work when this first happened, but now it doesn't. I guess I'll drag myself down to Circuit City and try to get a replacement before the repair guys show up and charge me $75/hour.

One thing I've learned using dial-up this week. It isn't that bad. In fact, this site seems to perform just as well on dial-up as it does on broadband. Aaaah, the beauty of server-side code. As for the fact that FreeRoller has been up since Monday, I think it's due to the newest version of Tomcat more than anything.

Update: Well, my ISP sent someone out today to fix my internet connection. It was wierd, my router (a Linksys) would restart itself every few seconds while it was plugged into their wireless receiver. The solution turned out to be replacing the ethernet cable between their router and mine. However, my internet access has been pretty spotty ever since, and I even upgraded the firmware on my router. The guy mentioned that Linksys where probably the poorest quality routers, but awful easy to configure. So I think I'm still going to head down to Circuit City and buy a new one. In order to post this, I ended up using dial-up.

Posted in General at Apr 03 2003, 11:21:12 AM MST Add a Comment

Bug in Ant 1.5.2?

I found out the hard way that there might be a bug in Ant 1.5.2. I'm running the following task as part of appfuse - and it generates a appfuse.zip file, and it's the correct size, but there's nothing in it. I reverted back to Ant 1.5.1 and everything worked fine.

<zip zipfile="${archive.target}.zip">
    <zipfileset prefix="${webapp.name}" dir="${basedir}">
        <patternset id="srcfiles">
            <include name="**"/>           
            <exclude name="build.properties"/>
            <exclude name="database.properties"/>    
            <exclude name="*.log"/>
            <exclude name="*/**.java.txt"/>
            <exclude name="${dist.dir}/**"/>
            <exclude name="${build.dir}/**"/>
        </patternset>
    </zipfileset>
</zip>

This particular problem happened with Cygwin on Windows 2000 using JDK 1.4.1_01.

Posted in Java at Apr 02 2003, 04:59:15 PM MST Add a Comment

String Tag Library 1.0.1

Jakarta's String Tag Library version 1.0.1 was released about a month ago. I found out today. I'm telling you here because you might be able to use it if you need to manipulate Strings for your UI. The only tag I'm using (from this library) <s:replace>, which can be very handy indeed. For instance, a common task with JSPs is the need to replace a new-line (\n) with an HTML new-line (<br />). With the String TL, it's easy (JSP 2.0 Syntax):

<s:replace replace="NL" with="&lt;br /&gt;NL" 
    newlineToken="NL">${myForm.text}</s:replace>

Posted in Java at Apr 02 2003, 03:36:36 PM MST 1 Comment

Struts FAQs

Every Struts Developer should probably read Sciosorks Struts FAQ. Good stuff there. Bookmark it and use it.

I rode my bike into work for the first time this year. I got lost, so it took me 20 minutes longer than it should have. Door-to-door: 1:45. I wonder how long it'll take me to get home tonight.

Posted in Java at Apr 02 2003, 11:01:05 AM MST Add a Comment

Some CSS Lovin'

Good ol' Zeldman hooks us up with some cool web stuff today. First, you gotta dig these W3C Validator buttons that are purely CSS and Text - no images. Might be a good way to reduce bandwidth. Secondly, adjacent sibling selectors are a neat way to create rules-based layouts in which elements are controlled according to their contexts.

For instance, you can make a general rule where images have no margin at the top; then make another rule that says margins have 15px of white space at the top if they are preceded by an h3 header.

Finally, he inspires us to checkout Fast Company's re-designed all XHTML and CSS site. Very cool! I especially dig the font-size switcher in the top right corner.

Then there's Russ. Could he be on to something here or just blowin' smoke?

Someday soon, people will be judged by the quality of their weblogs like the Greeks once judged a person by the quality of their oration, or in the middle ages a person was judged by their science and art and later in the 1800s by their letters.

I don't know that weblogs will ever the that popular. The problem is that computers aren't even that popular. Sure, there's a lot, but the household penetration is not where it needs to be - and how many of online users have weblogs. Not many. How many of those that have weblogs are interesting - not many. Maybe he's onto something here - and we're already doing it. We are already judging each other in this community - those that have shorter blogrolls are just judging a little more ;-)

Posted in The Web at Apr 02 2003, 07:31:51 AM MST Add a Comment

9 GB Served Last Month

I have a hard time believing it, but stats don't lie. I got my monthly bill from KGB Internet and discovered that I had 9 GB of traffic in March. At $.01 per extra MB, 4,062 extra megs adds up to $40.62 extra this month! It looks like the biggest bandwidth hogs are the downloads which means I'd better move everything I can over to SourceForge. I'm already up to the Silver plan, and I'm not about to pay $80/month for the Gold plan.

Posted in General at Apr 02 2003, 05:37:13 AM MST Add a Comment

Dial-Up: 28.8

That's right, I'm posting this message on dial-up since my ISP can't fix my internet connection. Today they said they'd send someone out in a week. That sucks - dial-up for a week. Oh well, productivity will rise, blogging and reading of blogs will decline - which can't really hurt. The choke hold will come when one of my friends sends me the 1MB attachments that they're used to sending. The worst part is that I'm doing a WebEx presentation for the Struts Training class this week and I have to go into my office to do it, rather than in the comfort of my own home. Luckily, the guys I work for are letting me use my work computer - thanks gents!

Posted in Java at Apr 01 2003, 10:49:26 PM MST Add a Comment

Life without the Internet

Our internet connection at home went down for the first time in two years yesterday. It's still down - which means I had to try to stop the shakes while I sat in front of the computer all night (working on an XDoclet/Remember Me presentation). I couldn't read any blogs, check any e-mail accounts, or talk to any CVS servers. It was miserable. However, I got a lot done and my productivity was much better. The problem is, who knows when it'll come back. Our ISP thinks it's on our end, and I think it's on their's. I suppose it could be my router. Have any of you had a Linksys router go out on you? My LAN still works fine, so I doubt it's the router. I just hope I don't have to resort to dial-up tonight.

To top it all off, when I got into work this morning, I was locked out of the network. In fact, I'm still locked out, but I have internet access, so the shakes have subsided for the moment. I guess my original contract was supposed to expire at the end of March.

I'm curious to know if anyone played an April Fools joke on anyone yet? I did on Julie - running into the bedroom all flustered and pissed, claiming that someone had stolen our car. She said, "which one?" and "well, better call the police." It barely even phased her, but I definitely got her hook, line and sinker. Then she got me back with "Want a quickie?" Of course I said "Sure!" and she retorted with "April Fools!" Damnit.

Posted in General at Apr 01 2003, 09:26:18 AM MST 3 Comments

Saving Sessions in Tomcat

Dominic has provided a great link for storing your user sessions in a database with Tomcat. This could be very helpful in a production Tomcat environment where you need to persist your sessions in case you reboot a server. In most of my apps, I try to keep session-scoped objects to a minimum, so in most cases - I don't need to save the user's session. Good link regardless though - thanks Dominic!

Posted in Java at Apr 01 2003, 09:19:03 AM MST Add a Comment

JDK 1.4.1 - Memory Leak Bug in StringBuffer.toString()

I use StringBuffer.toString() a fair amount in my code. Did you know there's a significant memory-leak bug in JDK 1.4.1?! Yikes - if you're experiencing memory issues, you might try back-pedalling to 1.4.0.

Posted in Java at Mar 31 2003, 09:46:55 AM MST Add a Comment