First Snow in Denver
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) |
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.
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) |
Jayson Falkner writes about two Filters everyone should have in their webapps: one for compression (via gzip) and one for caching. I try to add a CompressionFilter to all the apps I write, but I don't have a CacheFilter. So my question is: should I add Jayson's CacheFilter to AppFuse or should I use OSCache
? I haven't got to Dave's
chapter yet on performance and caching (in JSP 2.0), so I haven't read his opinion - what's your opinion? I like Jayson's solution because I can add 3 new classses with no additional JARs - AppFuse already has 21 jars (Struts, Hibernate, JSTL + a few other taglibs).
Rather than spending hours trying to recover my Red Hat 9 disk, I built a new disk/box with Fedora. For all I know, the RH 9 one is still recoverable, but I'm an upgrade junkie so I couldn't help myself. Setting up DHCP with Dynamic DNS was a bit of a pain, even when I followed this howto. I believe I ended up re-installing bind and everything worked (this was a 2 a.m. last night, so my memory is a big foggy).
The only thing I haven't been able to get running (so far) is my USB Printer, details on hpoj mailing list. It was easy to setup my OfficeJet G85 on RH 9.
As for setting up my dev environment, it was a breeze using Out-of-the-Box. However, out of the box the installer didn't work. I had to install "gd-devel" (a dependency of viewcvs) and then everything installed just fine. Hat tip to Eric Weidner (of EJB Solutions) for the tip. I was able to select the applications I wanted and get all of the following installed and running: MySQL, PostgreSQL, Apache, Tomcat, mod_jk2 (to connect apache and tomcat), Roller, Scarab, CVS, Java, Ant and ViewCVS. I'm sure I installed more, but these are the mains ones I was looking for.
While the installer for OBox takes a while to run (on 1.5 GB RAM with 1.5 GHz = 30 minutes), the beauty of OBox is that it configures everything for you and starts all the services. The one thing that is disappointing (or maybe it's good) is that it didn't setup any environment variables - no $CATALINA_HOME, $ANT_HOME, etc. No biggie, I can set those up myself.
I might just have to burn a CD of OBox for future clients. It'd be nice to show up with my development environment on CD and ready to go. One bug I did find was that the mod_jk2 install configures mappings for all the struts example apps (which I didn't install).
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.
The Display Tag has a nice feature in
it's documentation: the ability to view the source of a JSP [example].
This is done using a servlet, and works fairly well. However, as I write
documentation for Struts Menu, I'm
finding I need to view more than just the source of JSPs, but also the source
of stylesheets, scripts and Velocity templates. So far, I've found that the view source
protocol works fairly well for this.
Nice Tabs Menu Examples: generated HTML, its
JavaScript file, its
CSS file
Normally, I would be perfectly happy with this - except the view-source
protocol doesn't seem to work in Safari (last time I checked). Secondly, I got
to thinking - it sure would be nice to have a Servlet (or some other
technology) that would read in a file and spit out it's contents with syntax
highlighting. This is to say that you'd see in your browser what you see in
your editor (i.e. BBEdit, HomeSite, Eclipse, etc.).
The ideal tool would allow me to pass in a URL to a file, and it would spit out
an HTML version of that file, complete with syntax highlighting. It'd be
similar to Java2HTML, but it would allow
HTML, JavaScript, Java, CSS and JSP. I noticed that it might be possible to generate
HTML from Java using Java2HTML on the fly, but that only covers one file
type. Another option is to instruct documentation readers to change their view-source editor to be their favorite editor.
Has anyone seen such a tool? It sure would be sweet for writing better
and more readable documentation for web developers.
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.
From watching the struts-dev mailing list, I discovered a new Servlet Framework called Shocks. The thing that interests me about this framework is that the author looked extensively at Struts and WebWork both before creating it. It's feature-set sounds nice too:
It has an aspect-oriented workflow engine that can add crosscutting system logic (like form processing, L10N, security, logging, etc) dynamically at runtime (without having to mess around with the bytecode). It can trade actions across classloader boundaries, enabling web applications to span across multiple .WAR files. This allows users to drop in a new .WAR with new metadata and new actions, which updates the application workflow at runtime across all modules in the application namespace. It handles workflow versioning and version rollback (in case you make changes you come to regret). It does instance pooling of all components and sequences. Every aspect of the system can be managed with JMX at runtime.
Sounds like Spring, eh? Yes, says the author.
I think there are appreciable differences that have yet to be realized between the two (I haven't read their code at all), but definitely a lot of conceptual crossover.
I would think that introducing a new framework into the mix (and convincing folks to use it) must be pretty tough at this point, unless you create an IDE to go with it or introduce it in a book. BTW, did you know you can use Tiles with Spring.
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.
For those of you who prefer my old theme, or are looking for my blogroll/bookmarks, I should point out that it's still available. I actually prefer the old "X2" theme (stands for XHTML, 2 Columns), so I view it more often than this new "sunsets" one. You can also get to it by clicking on the
icon in the top left corner.
The initial site we created at my last project has been deployed to production. Actually, I believe it was deployed the day after I left, but it's cool to see something I helped create actually running on the web. Most projects I work on are either internal, or require authentication. We ended up implementing all the static content using Velocity (thanks to Erik for his help) and the menus (both top and side, once you drill down) are powered by Struts Menu. We actually figured out a pretty slick way to create each individual site (there will eventually be 55 of them), all using the assembling powers of Ant and the magic of Velocity (which I've grown to love).