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.
You searched this site for "free sex movies for men non blog". 1,227 entries found.

You can also try this same search on Google.

Hibernate Blog

Sweet, the Hibernate guys have a group blog. Very nice - I subscribed. Gavin's post on Designing "query by criteria" is a should read if you're a Hibernate user. You might recall a while back, I was looking to use the QueryByCriteria API to construct dynamic queries. I ended up doing this with session.find and SQL, which turned out to be much easier. That being said, what's the advantage of using the Expression API over plain ol' SQL?

Posted in Java at Dec 02 2003, 09:58:22 AM MST Add a Comment

Upgraded to Roller 0.9.9

I upgraded this site to Roller 0.9.9-dev about an hour ago. Seems to be humming along quite nicely - and the GZip Filter is back in action (wasn't working before I upgraded). There looks to be a few issues to iron out still, but since I was able to figure them all out - I'm pretty darn happy with this release.

  • oscache.properties is missing from CVS
  • a bunch of the editors had leftover (?) taglib declarations - I replaced them with an include to /theme/taglibs.jsp
  • the value in Website > Config > Site Name shows up where "Home" used to - I had to rename my site to "Home" to maintain my same menu selections
  • there's a lot of SQL (or HQL) logging going on that I can't turn off
  • bookmark display macros are broken - you'll need to change the name of your bookmark names (in the macros) to have a /root/ prefix. For example, #showBookmarks("Articles" true true) -> #showBookmarks("/root/Articles" true true)

Hope this helps any early adopters...

Posted in Roller at Nov 26 2003, 10:06:00 PM MST 6 Comments

Unix Utils for Windows

If you develop on Windows, and you use Microsoft's "cmd" to run Ant or compile your classes - you really should install Cygwin - it's much easier and provides the same functionality as cmd. Even better, Dan sent me an e-mail (can't find it now) about UnxUtils - Native Win32 ports of some GNU Utilities. You can even download an executable to install it. I dig it - symlinks that actually work on Windows.

Posted in General at Nov 26 2003, 07:02:20 AM MST 3 Comments

User-Mode Linux ~ should I switch my ISP?

This User-Mode Linux sounds like a great opportunity for hosting this site. I currently pay around $50/month to host this site, and there's two things that are frustrating:

  • I only get 5 GB of bandwidth, and I pay the same as my provider for any extra - I usually pay $30 extra per month for bandwidth.
  • I get a max of 20 connections per mysql instance. While this should be plenty, it does seem to cause this site to crash, and I'm not motivated enough to dig into Roller/Tomcat and figure out why.

I do have a cable internet connection, so I could host this site myself, but my upload speed is only 241 KB. For you folks that do use UML, does anyone have experience with running Java (i.e. Tomcat or Roller) and MySQL?

Posted in Java at Nov 23 2003, 09:22:02 PM MST 9 Comments

My New Project: Tasks and Dev Server Setup

My new project is going well so far. It's nice to bill for the commute and work from home twice a week. I'll be finished with the prototype for our first project today, and we'll start pair-programming on Thursday to implement it. Since one of my main objectives is to teach my supervisor everything I know, I think the best way to do this is to pair-program. I tried giving a couple of presentations on Hibernate and XDoclet, but my supervisor is a Java Greenhorn, so even that was a little advanced.

Our first project is to automate job posting to the various job posting boards the client subscribes to. Currently, a person in HR enters the job onto their website, and then visits each job site (or sends an e-mail) and manually enters the information. The application we're developing will allow them to enter the job on their website, select which boards they want to post to, and submit the form. I initially received a list of 32 websites and newspapers. After contacting them all, I'm amazed the archaic systems that are in place for this "automation." Most sites will accept a simple e-mail in whatever format we want. In my mind, this means a person is going to manually read the job posting and manually enter it into their system. Great, it's easy enough for me to compose an e-mail. 2 out of 32 allow for FTPing text files in a certain format, and 1 site has an XML format (not DTD, just a format) that they expect to be attached to an e-mail. This is a *huge* opportunity for webservices and a common XML Schema (if you ask me).

The one thing that's been slightly frustrating is getting a development environment setup. I (as usual) need to setup CVS, a bug tracking system, automated tests, etc. It's a Windows shop, so no Linux allowed. Not a big deal, but I haven't been able to get VPN access yet. No VPN means that I can't checkin stuff from home - which is dangerous IMO. My supervisor suggested we setup everything on my Linux box at home, which is fine with me, but could be a lot of maintenance on my part (permissions, UPS, backups). For bug tracking, I'm leaning towards Bugzilla over Scarab because I'm familiar with it. I'd like to use JIRA, but don't want to shell out $800 to impress a client with some nifty bug tracking software. Free is always easier to sell to clients. I've actually thought about buying a JIRA license for Raible Designs and hosting my clients bugs (while I'm on the project), but it might be a pain to transition once I leave (I suppose I could rent the space to them or something). So what I'm asking for is - if you had to administer your own Linux box for your day job - how would you do it? Groups? Backups? UPS? If I don't do it on this project, I'll probably do it someday.

Posted in General at Nov 18 2003, 12:53:20 PM MST 3 Comments

The good ol' Struts vs. WebWork Debate

Jason Carreira has been nice enough to post a technical comparison of Struts vs. WebWork. Don Brown (creator of many Struts add-on packages) and Jason have been going at it ever since. It's funny, there's a small part of me that doesn't believe there's a future for Struts (because of JSF). I believe that JSF and WebWork are quite similar, and if I'm going to take the time to learn a new framework, I should learn JSF. Why? Because, I'm willing to bet the literature for Struts -> JSF is out there, and there's probably no literature for Struts -> WebWork. Also, I believe there will be JSF jobs in the near future, but not many opportunities for WebWork. In a perfect world, I'd do something like Kris is doing and learn them all - extend AppFuse to support my favorite framework (if I find one better than Struts) after the learning process, and use that for new projects.

Where does Kris find the time to learn all these frameworks? I barely have enough time to workout and complete my 8-hours-per-day of productivity-for-pay. Then again, I've been getting up around 7:30-8:00 a lot lately vs. the usual 4 a.m.

In my current gig, I'm teaching a fellow programmer how to write webapps in Java. He's never written Java, HTML, CSS or JavaScript. He wants a tool to do it all - so he can drag-n-drop, point-n-click and voila - he's created a webapp. This is a fundamental problem with J2EE - it's not possible? Or maybe it's the beauty - you have to get down and dirty with the code to create a webapp. Another issue is that we're using Struts Resume as our baseline and architecture - and there's really nothing in this app that's drag-n-drop or tools-friendly. Everything is Ant, JUnit, Struts and Hibernate. You have to be somewhat familiar with all of these to build/deploy this app. Personally, I like getting down-n-dirty with the code, but that's because I'm familiar with it and have been working with it for years. Teaching someone else how to get down-n-dirty (and to like it) is proving to be a whole other battle.

Posted in Java at Nov 12 2003, 06:17:46 AM MST 12 Comments

Need to recover deleted files on OS X

OK, I'm an idiot. I had a symlink in /Users/mraible/Sites that pointed to my application's prototype directory. This was called Sites/appname -> /Users/mraible/dev/appname/prototype. I wanted to change the symlink, and instead of doing "rm appname" - I did "rm -r appname/" - I tabbed-completed it and hit return. So I deleted all the files for the prototype I've been developing. The worst part? My new gig has not set me up with VPN Access (for CVS), so I haven't checked in any of these files. I work from home on Friday and Mondays - and I was just beginning the prototype on Thursday. I thought I'd be able to get the HTML files from the prototype directory, but no luck yet. I have DiskWarrior and when I boot from my iPod and "repair" my hard drive - I get errors at the end and I can't "Preview" the changes. I don't even know if DiskWarrior will work, so I downloaded Virtual Lab and tried it. It doesn't seem to have a setting for HTML files (except for "Microsoft Internet Explorer HTML", which is probably *.htm files).

Even more frustrating is I "should've" had a backup. I just got on a kick last night to make backups of all my machines. I was able to backup Linux (using tar) just fine, but the "Backup" program on OS X kept giving me errors and I gave up after a while. I continue to search for a solution to recover the deleted files - any advice appreciated.

Update: I found the file I spent the most time developing and was able to restore it. How? Certainly not any fancy tools. Just a little searching in Safari's Cache. Apparently it was the only one I opened via an http:// URL - the others I opened with file:// and I don't think it caches those.

Posted in Mac OS X at Nov 10 2003, 07:03:01 PM MST 4 Comments

Problems integrating CVS Spam and CVS NT

I've been trying to post the following question to the CVS Spam mailing list for the past couple of days with no luck (I keep getting undeliverable receipts). I figure posting it here might get me some answers or alternatives to CVS Spam on NT.

At my new gig I'm trying to setup CVS Spam on a Windows 2000 Server machine with CVS NT. I know, it'd be much easier to do on Linux, but it's an NT shop, so I'm trying to workaround the environment as best I can. I tried using the Ruby Installer from SF, but had no luck.

After reading the Archives, I saw that the best way was to install Cygwin and use cygwin/bin/ruby.exe. I tried this and now I'm getting the following error:

Checking in README.txt;
c:/source/apptracker/README.txt,v  <--  README.txt
new revision: 1.9; previous revision: 1.8
done
C:/Source/CVSROOT/COLLEC~1.RB:100:in `process_log': missing data dir
(/tmp/#cvsspam.2632.18-XXXXXX) (RuntimeError)
	from C:/Source/CVSROOT/COLLEC~1.RB:215:in `choose_operation'
	from C:/Source/CVSROOT/COLLEC~1.RB:314

In CVSROOT/commitinfo, I have:

^apptracker c:/Source/CVSROOT/record_lastdir.rb

In CVSROOT/loginfo, I have:

^apptracker c:/Source/CVSROOT/collect_diffs.rb --to [email protected] %{sVv}

I also checked in cvsspam.conf to CVSROOT and uncommented smtp.host to be localhost (required for NT).

If anyone has setup CVS Spam with CVS NT successfully (on a Windows 2000 server), please let me know. I'd like to use CVS NT over Cygwin's CVS because I think it'll be easier to maintain after I leave. I'm also interested to know if anyone has successfully used other "cvs e-mail" packages with CVS NT.

Update: I finally got through on the mailing list and received a solution from Angus Mezick. To make it easier for everyone, I've made this patched version of CVS Spam for CVS NT available for download. Just a note, these have only been tested with Cygwin's Ruby install. I hope to test these out next week when I get back from Missouri.

Posted in Java at Nov 07 2003, 11:32:04 PM MST 4 Comments

What's the best way to setup networked printing?

I made the switch to my new XP box last night - swapping hard drives, CD Burners, etc. from the old to the new. In the process of putting 1.5 GB of RAM into my Linux box, I thought I'd upgrade Samba to 3.0 and setup a shared printer. Samba upgrade - piece of cake. Installing a printer on RedHat - no luck. I've tried it before, but I've never succeeded. I have a HP OfficeJet G85 that is a great printer. My main goal is to setup this printer as a shared printer on Linux or XP and I'll be able to print to it via OS X, Windows XP and RedHat 9. However, I can never get it installed on RedHat - even though I select the right printer (using printconf-gui). It does recognize it as a USB device, but it can't print to it. On Windows XP, the printer installs (and works) just fine, but I can't print to it from OS X or RedHat - it just doesn't work. Here's what happens on both:

  • OS X 10.3: I select Windows Printing and I can navigate to my XP Box, but I can't connect. When I try to view the printers, it hangs for a couple of minutes - then I'm prompted for a login and my XP login doesn't work. This same login/password works just fine for connecting to shared drives. I think it's a bug in Panther.
  • RedHat 9: I select Queue Type: Networked Windows (SMB) and my Windows box does not show up in the list (just the RedHat box and my PowerBook). If I try to manually enter my server, printer, etc. it just flashes and prompts me again.

I do have a wireless print server that I could probably use, but that's hooked up to our Canon 900 Photo Printer - which only seems to work well if it's plugged into the wireless print server. We've tried to plug it directly into a Windows box and print, and the quality just isn't as good - who knows why. I bought a USB hub for it in hopes of hooking up multiple printers, but that doesn't work either.

I wish I could just give my HP an IP address - then it would probably work for all of them, but alas, all it has is USB.

The fun part of all this switching hard drives? I thought I lost a 20 GB drive of important data this morning - I was up until 2 a.m. last night trying to fix it. Luckily, I got some assistance from Experts-Exchange this morning and didn't lose a thing.

Update: I got this all working using HPOJ and CUPS. I did have to uninstall LPRng and cups from Red Hat 9 - then re-install CUPS from source. I also had to install Ghostscript and all its fonts. Finally, to get it to share the printer via Samba, I had to tweak some Samba config files.

Posted in General at Nov 07 2003, 05:14:34 PM MST 4 Comments

Sports, Sports, Sports

I've had quite a ride these last couple of days. I started my new project yesterday, and spent the evening at the Monday Night Football game at Mile High Stadium. A buddy and I had great seats thanks to another friend's season tickets - 6th row, 45 yard line. It was awesome - too bad The Broncos lost (24-23) - but at least it was a good game. Tonight, my companion from last night got (free) club-level seats to see The Colorado Avalanche at The Pepsi Center. It was another great game - went into overtime and resulted in a 4-4 tie. Professional sporting events sure are a good time...

Posted in General at Nov 04 2003, 10:51:38 PM MST 1 Comment