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.

A Remote Desktop using XUL

From the xul-announce mailing list:

Randall Knutson has released the first prototype for a remote desktop using XUL. Point your Mozilla XUL browser (e.g. Firebird) @ http://robin.sourceforge.net to call up a fresh desktop with a startup menu and play XulMine, Mozteroids, Pagman, Snake, Xultris, MozInvaders and more.

What is Robin? Here's the "official" blurb from the sourceforge project site:

Remote Operating System Build in Netscape (Robin) is a window manager using DHTML, Javascript, XUL and some crazy hacks.

Full story @ http://sourceforge.net/projects/robin

This is pretty fricken cool...

Posted in The Web at Jun 27 2003, 02:09:54 PM MDT Add a Comment

RE: J2SE 1.4.2 Released!

Thanks to Karl for tipping me off that JDK 1.4.2 has been released. [Download, Release Notes] Of course, I never would've known, except java.blogs told me. I downloaded, installed and changed my $JAVA_HOME to point to this sucker, then ran all my unit tests (flawlessly). It looks pretty damn good to me - just like an upgrade should be. Now where's J2EE 1.4?!

It doesn't look like Apple pulled off the simultaneous release it was hoping to. BTW, I've been doing a fair amount of development on my Mac lately with Eclipse 3.0 M1 - it's getting much, much better. Steve - if you release a 2 GHz PowerBook - I'll work overtime to buy that sucker.

Posted in Java at Jun 27 2003, 10:00:20 AM MDT 1 Comment

OWASP ~ The Open Web Application Security Project

I'm working on editing my Security Chapter (yet again) and I went to verify that a URL to http://www.owasp.org was still valid. There I found that they've developed an portal (based on Struts) with security as a REQUIREMENT, not an option.

OWASP

Several modules from the OWASP Common Library (OCL) are utilized as well ( OCL can be found in our CVS repository under the module name OCL ). Content is stored in XML format and translated with XSL.

Aside from the obvious need of a site for our own needs, the portal team has approached the design from the perspective that the OWASP portal should be more than a single use web application, but rather a reference implementation of a secure portal, that will rival the likes of any commercially available portal. We are striving to make the portal as extensible as possible, but yet deliver commonly needed feature sets. [http://beta.owasp.org]

Here's the best part: The portal that runs OWASP is open source and available for use in your own sites. Check out the release plan to see the planned and upcoming features for the next releases. It says it has RSS feeds, but I can't seem to find them.

Posted in Java at Jun 26 2003, 09:15:31 PM MDT Add a Comment

Windows Explorer Tricks

I got this one from Russ's comments on this post. If you use a command prompt in Windows, type "start ." to open Explorer for the current directory. If you're a Cygwin user like me, this won't work - but "explorer ." does work! Even better, create an alias in your .bashrc file (alias open='explorer') and then you can type "open ." Sweet!

Posted in General at Jun 26 2003, 02:23:24 PM MDT 2 Comments

Added Calendar to Menu

I added a calendar to my "badges" menu on the top left. This is a JavaScript-based calendar that I obtained from Matt Kruse's JavaScript Toolbox. I don't know if I'm satisfied with the green background on the "cal" image, but it'll have to do for now. I've noticed a couple of issues in Safari (too far down and too the right, and doesn't go away like it should), but it seems to work pretty good in IE/Mozilla. I tried disabling dates > today, but couldn't get it to work (yeah, I tried the code from Matt's site).

I don't know if it's worth the effort of talking to Roller's CalendarModel to get the actual days that somethings been posted. However, it would probably be fairly easy to generate a JavaScript array for the current month, rather than an HTML-based <table>.

If you're interested, here's how you can add this sucker to your Roller weblog:

1. Add the following code to the <head> of your template.

    <script type="text/javascript" src="pathToScript.js"></script>
    <script type="text/javascript">
        var cal = new CalendarPopup("calDiv");
        cal.setReturnFunction("showDate");

        document.write(cal.getStyles());
            
        // Function to get input back from calendar popup              
        function showDate(y,m,d) {
            var day = y+LZ(m)+LZ(d);
            location.href = "$ctxPath/page/$userName/" + day;
        }
    </script>

2. Add an empty, invisible div anywhere w/in the <body> of your template (I put mine at the bottom).

<div id="calDiv" 
    style="position: absolute; visibility: hidden"></div>

3. Add a link (can contain an image) to invoke the calendar popup.

<a href="?" name="calAnchor" id="calAnchor" 
    onclick="cal.showCalendar(this.id); return false">
    Calendar</a>

You can download the calendar.js file from this site, but please don't link to it - I have enough bandwidth problems as is (and I'm going to move it to a new theme name). Enjoy!

Posted in General at Jun 25 2003, 09:49:49 PM MDT 2 Comments

Wicked DHTML Roller themes spotted in the wild

I spotted some cool DHTML-enhanced themes on FreeRoller today: My own confusion and A Corporate Eejit. Nice work gents - maybe we should add these suckers to the stock list of themes. These themes are a great example of how customizable Roller is and how it's just HTML, so pretty much anything is possible (that is possible on a web page). I'd be willing to bet you could even use Flash and use the RSS Feed for your XML input.

I'm thinking about adding a small DHTML enhancement to Roller. Basically, I'd like to show users a small picture of the theme (using these pictures) when signing up. Let me know if you think this is worth the effort and if so, I'll create a JIRA issue (uh oh, looks like we lost our bug database!).

Posted in Roller at Jun 25 2003, 10:58:02 AM MDT 7 Comments

Struts 1.1 Final ~ might be released on Sunday

According to the struts-user mailing list, the Struts Dev Team is going to try and release 1.1 Final this weekend! Sweet!

From: Ted Husted
Subject: Re: [ANNOUNCEMENT] Struts 1.1 Release Candidate 2 released
Date: Wed, 25 Jun 2003 03:30:47 -0700 
-------------------------------------

Just a note on the RC2 status.

Martin posted the release vote for FileUpload on Monday, and there
are already 3 binding +1s. <yeah!/>

We've one outstanding Bugzilla ticket against RC2, which we should 
be able to either resolve or postpone. Given the imminent release 
of FU 1.0, I plan to post the Struts 1.1 Final Release vote 
tomorrow, so that we can roll it out on June 29. <double-yeah!/>

-Ted.

This doesn't mean much to me since the current RC2 release works fine for me (if I didn't, I'd use a nightly). However, it's cool that this is finally being released. It's too bad it took so long - such is the nature of open source - I probably won't release struts-resume 1.0 until 2004. And who knows when Roller 1.0 will be released...

Posted in Java at Jun 25 2003, 08:34:10 AM MDT Add a Comment

Tomcat's Ant Tasks - why they don't work for me

I've written up a howto for implementing [Tomcat's Ant Tasks|TomcatAntTasks] and why they don't work for me. I've been requested by a few users to use them vs. my current <copy> method, but I don't see why I should. Please read the wiki page and help me out if you can.

Posted in Java at Jun 24 2003, 04:12:32 PM MDT Add a Comment

Free hibernate.org!

The Hibernate team is looking for $1888 to buy hibernate.org from a commercial domain hoster.

The goal of this action is not to get us rich (and others poor ;), but only to buy the domain. To give you an impression on how much money is needed: Hibernate is downloaded 500 times every day. The Hibernate website has more than 15.000 pageviews and 1.500 visits each day. If we estimate that every 10th person downloading Hibernate donates a dollar, we can free this domain in a little more than one month!

I'll probably donate. While we're at it, is anyone willing to help us Roller developers buy roller.com for $15,000? ;-) This is down from $20,000 when I originally inquired. No word on how much for roller.org.

Posted in Java at Jun 24 2003, 11:24:00 AM MDT 1 Comment

What is gzip compression?

I did a bit of research today and have some links for you concerning gzip-compression and why you should be using it on your server. First of all, DevArticles has some good resources on compressing web output for Apache 1.3.x (using mod_gzip) and Apache 2.0.x (using mod_deflate).

In a WebRef article, HTTP Compression Speeds up the Web, I found that any browser that supports HTTP 1.1 also supports web compression.

Is Compression Built into the Browser?

Yes. Most newer browsers since 1998/1999 have been equipped to support the HTTP 1.1 standard known as "content-encoding." (although content encoding was included in the HTTP 1.0 spec: RFC 1945). Essentially the browser indicates to the server that it can accept "content encoding" and if the server is capable it will then compress the data and transmit it. The browser decompresses it and then renders the page.

Good stuff to know.

Posted in The Web at Jun 24 2003, 10:32:00 AM MDT Add a Comment