Memory and Disk Space is Cheap
Memory and Disk Space sure is cheap these days. I got 1 GB of RAM for $150 last week, and I bought a 160 GB Hard Drive today for $80. Gotta love that!
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 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.
Memory and Disk Space sure is cheap these days. I got 1 GB of RAM for $150 last week, and I bought a 160 GB Hard Drive today for $80. Gotta love that!

Happy Thanksgiving to everyone! This year I'm thankful for continued employment, a thriving Java community and an awesome family. Abbie and Julie are the most incredible women I've ever met. My parents, sister, and in-laws deserve a "Thank You" as well - you all rock. Here's a smile from Abbie to brighten your Turkey Day.
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.
Is Fedora like OS X? It almost seems like it - everything "just works." Well, at least after my 2nd format-and-install it does. Last Wednesday, I tried to upgrade from Red Hat 9 to Fedora Core 1. It didn't go very smoothly and the upgrade wasn't possible (installer said not enough disk space - I know there's enough). I ended up doing a format and clean, and got most things working but my USB Printer. I spent hours trying to get the damn thing working on Friday night (until 3 a.m.). I spent more time compiling things and trying to get it to work on Saturday (insert picture of me banging my head against the wall). Finally, I gave up on Saturday night and reverted back to Red Hat 9 (it worked before). Formatted and installed. Then I spent all day Sunday trying to get DNS/DHCP and HPOJ (Printing) working. It worked before - what the hell?!
And then on Monday morning, I found the simple-ass solution that was staring me in the face the whole fucking time: Turn off the printer and turn it back on. I found it on a mailing list or something. So, since I knew the solution, and I still hadn't gotten DNS/DHCP/Samba working on RH 9, I decided to upgrade to Fedora (again) last night. Again, same error - on a new 30 GB hard drive - not enough space to upgrade. So I formatted and installed. Lo and behold, I power cycled the printer and everything worked! I installed Dynamic DNS (I did have to run rndc-confgen) and configured Samba to recognize my printer. Viola - in under 20 minutes after I installed Fedora - everything worked. I spent 15 hours trying to fix something that eventually took 1 hour to fix. While setting this stuff up, and everything "just working" - I thought "Fedora is just like OS X - everything just works." Now if I could only get a Ximian Desktop for Fedora.
Notes to self: You're a Linux rookie. Don't mess with the default config. Don't bang your head against the wall for more than an hour. Don't try to upgrade Red Hat 9 to Fedora.
We love where we live in Denver right now. We originally bought this house because we wanted a rental property and it's close to the University of Denver (where I went to college). After living here for a couple of months, we discovered that the location absolutely rocks. It's 2 blocks from Safeway (grocery store), 2 blocks from Porter Hospital, 3 blocks from our bank. It has a couple liquor stores within a couple blocks and many restaurants within walking distance. The house is small, 675 square feet, but the lot is huge - 2.5 times the normal lot size. So we decided to investigate the idea of adding an addition onto the house. After talking with a few builders, we decided on one and the project starts one week from tomorrow. We're going to gut the current house and make it into 3 bedrooms. The new additional will be the same size as our current house and it's going to be one big open room - with a great room and kitchen. We're also tearing down our 1-car garage and building a 2-car garage in the alley. Exciting times - should be done by mid-summer next year. I'll make sure and take lots of pictures (and post them) as the project progresses.
I added another 1 GB of RAM to my new Windows XP box (2.6 GHz Dell Dimension 8300) last week - to 1.5 GB. At first, I wasn't impressed, mainly because Ant/Java didn't seem to have much of a performance increase. I have noticed a *huge* improvement in the opening of apps and Windows Explorer. Everything just snaps, no waiting - click and it's open - very nice. Browsers (IE and Firebird) seem to be a lot faster as well.
It's really coming down right now - I wouldn't be surprised if we had 6 inches by nightfall. Click on the images below to zoom in.
| First Snow 2003 |
View down our Street (near DU) |
I don't know if it was Fedora or me, but it appears that my main hard drive on my Red Hat 9 box is hosed. Here's what I posted on Experts Exchange and the Fedora Mailing list:
Creating root device mkrootdev: label / not found Mounting root filesystem mount: error 2 mounting ext3 pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed: 2 umount /initrd/proc failed: 2 Freeing unused kernel memory: 132K freed Kernel panic: No init found. Try passing init= option to kernel _ <- Flashing cursor
I received a few responses from the mailing list, but my main hard drive appears to be hosed (unrecoverable). I tried doing a clean install, and Fedora again complained about not having enough disk space to copy the images over.
Finally, I took a break and thought of a workable solution while putting a turkey in the oven. I have another machine that has the exact same hardware as my Linux box - it has Windows XP on it, but I'm not using it. So I'm in the midst of installing Fedora on it, and then I'll move the hard drive. I lost all my configured stuff: Apache, CVS, Tomcat, DNS, DHCP, CUPS, but I was able to select most of it in the installation process. Let's hope all these packages are the latest and greatest - then I won't have much configuring to do.
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.
We arrived back in Denver last night at midnight - after a blissful 4-day vacation in Clever, Missouri (near Springfield). Now I'm wading through the filth in my Inbox. 2100+ e-mails and I guarantee there's less than 10 that I'm interested in. It's fricken disgusting. Inbox Buddy caught about 1/3rd of them.