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.

target="_blank" in XHTML 1.0 Strict

I've always wondered how to add a target="_blank" to my XHTML 1.0 Strict pages. Thanks to this article, I now know a nice workaround.

Much to the chagrin of Web designers everywhere, the HTML 4.0 Strict and XHTML 1.0 Strict recommendations of the W3C no longer include the target attribute of the <a> tag. The Transitional versions of the specifications still include it, but by definition, these specs are on the way out.

The short and sweet version is to use the "rel" attribute to your advantage.

<a href="document.html" rel="external">external link</a>

And then use this short script to key off this attribute for adding a target="_blank" (using the DOM).

function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}
window.onload = externalLinks;


Throw this in an "external.js" file and add it to whatever pages you need it in.

<script type="text/javascript" src="/external.js"></script>

This LOT more work than I expected, but since it's written up in an actual article, I tend to believe that this is probably the shortest path to making this happen.

Posted in The Web at May 04 2003, 06:13:06 AM MDT 1 Comment

CSS Tabs and Cool Designs

I found some great stuff over at Zeldman's place this evening. First of all, I'm definitely going to bookmark this page at Webgraphics. It has a bunch of tabbed interface experiments using CSS - which will be very handy when integrating Roller's tab-based menu into struts-menu.

The second ultra-cool item of business is the very cool sites Zeldman lists in the following quote. If any of you Roller users are looking to design a new theme - I'd love to see any of these integrated into Roller.

Repeating background patterns, once the shame of web design, have recently made a tasteful comeback. (Background patterns are new grey.) If you can't design your own patterns, Squidfingers offers over 120 lovely background patterns you can use on your site. Go get 'em. If you can design your own backgrounds, K10k has launched a Pixel Pattern Exhibition and invites you to submit your designs.

Posted in The Web at May 03 2003, 10:35:37 PM MDT Add a Comment

Jabber and Roller

This would be a much better post if I'd already developed the software, and this was an announcement. But I don't want to develop the software per se, I just want to use it. So I'm putting this idea out there in hopes that someone has already developed the software. My e-mail to the jabber-dev mailing list pretty much sums it all up.

Hello,

My name is Matt Raible and I am a contributor on the Roller Weblogger
project (http://rollerweblogger.org).  I'm looking to add support for 
Jabber as a blogging client.  Currently, we support the BloggerApi and 
MetaWeblogApi.  What I'd like to know is if there is a project already 
that converts Jabber's XML files to XML-RPC calls - or if I could simply 
use an XSL stylesheet to transform and resend to my blog.

Thanks,

Matt

I'd love to add a Jabber Powered logo to my About page. I did some work with Jabber last year, basically just installing and configuring it - both very simple. The project I was on was also planning on adding support for creating new jabber accounts on-the-fly when a new user was created in our database. It's all XML, so it's probably all pretty easy. Anyway, I bought a Programming Jabber book and it's been collecting dust ever since. The cool thing about Jabber is if we setup a Jabber server (i.e. jabber.freeroller.net), then I think it'd be possible to blog via your favorite IM client. Please leave your thoughts and comments - and any links to anything that might already exists.

Posted in Java at May 03 2003, 12:47:11 PM MDT 4 Comments

Sun Makes Java Simpler, May Call Upon Developers to Help

Sun Microsystems wants to simplify Java for developers and get more of them involved in its evolution. "We as a community -- not just Sun -- need to make Java easier to develop to and get it out to the masses of developers to make Java successful long term," said Ingrid Van den Hoogen, director of Java marketing, during a recent interview with DevX. "Ease of development is always an issue that comes up, and we want to address that head-on." [DevX.com]

Hmmm, took them 8 years to figure that out, eh?

Posted in Java at May 02 2003, 03:23:35 PM MDT Add a Comment

The Galapagos Islands

A Fraternity brother and good friend of mine is sailing the south seas with his family right now. Today, he sent some pictures of the their stop in the Galapagos Islands. These pictures are awesome - made me sad to be at work today - and I thought I'd share the love...

beach Alice the boat
sea lion nascabooby
sunset wave

I was able to quickly (think batch mode) resize these images using the image resizer I found at www.imageresizer.com.

Posted in General at May 02 2003, 10:52:27 AM MDT 1 Comment

Tivo and a DVD Burner?

Tivo Series 2Like James, there's probably a Tivo Series 2 in my future. However, we've also looked at buying a DVD Recorder. So my question is: Is there a DVD Recorder that is Tivo-enabled? It'd be awesome if there were - two birds with one stone.

Posted in General at May 02 2003, 09:51:10 AM MDT Add a Comment

Dr.'s Appointment for Mini-Me

Mini-Me I'm taking my laptop (mini-me) to my local Apple Store today. I've got a couple of hardware issues that I'm hoping they'll fix.

  • When I press on the bottom right corner of the keyboard (near the corner of the panel), there's a clicking and I can press down about 1/8th of an inch.
  • I tripped while carrying mini-me a couple of nights ago and broke one of the hinges to the screen.

I hope they'll fix these issues as it's still under warranty, but don't know if they will. Has anyone else had similar hardware problems that they've gotten fixed (through Apple or via other means)?

I hope I can beat the crowd and maybe even get an iPod.

Posted in Mac OS X at May 02 2003, 06:14:50 AM MDT 2 Comments

RE: And the winner of the WROX lottery is .... Apress???

If Norman Richards is correct, and Apress has bought the remaining Wrox books - I'll be pumped! I just hope they've purchases Professional JSP 2.0 and they're going to publish it. If so, my next question is when? We'd still love to have a book-signing party at our house! And since we're putting it on the market next week - it better be soon.

Although Wiley got the Wrox name and first pick at books, it looks like the remaining books (and books in progress) were bought by Apress. (according to a post on the java-writers mailing list) Wow! I guess it's a good fit content wise as Apress seemed to want to be in a lot of the space that Wrox was, but emphasizing on quality over quantity.

I've never actually heard of Apress, but it's good to see that Normal likes them and compares them to Manning (one of my favorite publishers).

Posted in Java at May 01 2003, 07:59:40 AM MDT 2 Comments

Why this site had problems yesterday

I got the following e-mail from Keith this morning on why this site had so many stability problems yesterday.

I've not got some more detail on what happened yesterday...

One of my clients took it upon themselves to install a game server on our 
machine, renamed the executable to "java" to hide it, and started hosting 
head to head games on our machine.  They ran up about 7 GB in traffic and 
sucked the life out of the server.  

By our doing a 'kill -s 9 java' and then restart then JVMs, it did kill 
their server until they started it again.

I finally tracked it down by seeing all the bandwidth on a non-standard port 
and finding an executable named 'java' running it, but it wasn't the JRE 
java that one would expect.

Anyway, just in case this happens again I've got some more RAM going in to 
the box tonight starting with the server that is currently the hot backup.  
You may see 15 minutes or so of downtime tonight when we move over to that 
server and bring the current one down for it's memory upgrade.

Keith

Phew! It's good to know it's not Roller that's causing the problem, but some bastard hogging all the memory. Was that you Simon? just kidding

Posted in Java at Apr 30 2003, 10:35:00 AM MDT 1 Comment

NT Authentication using jCIFS Filter

I became aware of the jCIFS (Java Common Internet File System) project today (via the tomcat-user mailing list).

The Common Internet File System (CIFS) is the de-facto standard file sharing protocol on the Microsoft Windows platform. It is the underlying networking protocol used when accessing "shares" with Windows Explorer, the Network Neighborhood, via a Map Network Drive... dialog, the C:\> net use * \\server\share commands, or smbclient on UNIX, smbfs on Linux, and elsewhere.

What's cool about this project is you can use a filter it provides to do NT Domain Authentication. Unlike the JAAS module I've covered before, this one doesn't require Windows and it also supports auto-login for Internet Explorer. This sounds like a great project if you have an NT Domain you need to talk to for authentication.

Posted in Java at Apr 30 2003, 09:58:52 AM MDT Add a Comment