\n \n\n\n\nThe web keeps getting flashier with AJAX toys, but the old tricks still work. The nasty ones do not care if you are running a tiny blog or a busy shop. Code injection attacks are the cheap lock pick that still opens too many doors.\n\n\n\nWe keep seeing forum scripts…
Year: 2007
Migrating a Small Site to Joomla: Lessons
I just moved a tiny brochure site into Joomla and lived to write about it. Four pages, one contact form, a list of services, and a blog that was really two posts from last spring. The owner wants to add content without touching HTML, maybe post news weekly, and get…
The Applet Era: What We Built and What We Learned
What did we really build with Java applets? Why did teams pick a browser plugin that spun a mini JVM next to HTML and JavaScript when AJAX and Flash felt like the path of least resistance? What did we learn from projects that started with a proof of concept and…
From J2EE to Lightweight Containers: A Migration Story
What does it really take to move from heavyweight J2EE to lightweight containers without breaking the business? J2EE migration to lightweight containers with real world tradeoffs In the last few years I have been that person in the room who says we can simplify this and watches everyone lean back…
Enums in Java 5
I keep bumping into old int constants and bit masks, and each time I do, I hear a tiny voice saying use enums in Java 5 already. Enums landed with Java 5 and they are more than a cute list of names. They are full blown types with behavior, and…
Roller versus WordPress in : When Java Makes Sense
WordPress keeps winning mindshare and shared hosting, while Apache Roller keeps winning respect inside Java shops. Both publish posts and feeds. Both can power a serious blog. The real question is simple. When does Java for a blog make sense compared to the familiar PHP route. Who should even look…
Ant Patterns: Targets, Macros, Reuse
Ant Patterns keep popping up in every Java shop I visit. We all have a build.xml that grew from a quick copy into a small city. Some of us run CruiseControl on an old server in the corner. Subversion repos are busy. And while a shiny phone just stole everyone’s…
Understanding Java Annotations
Java annotations feel like sticky notes you can attach to code without changing what the method or class does. What are Java annotations They are metadata baked right into the source. Think of @Override, @Deprecated, or the JUnit 4 @Test you have likely seen this week. The compiler and tools…
Clustering on JBoss: Session and State
Clustering on JBoss is not a magic lever you flip and walk away. It is a bundle of choices about session and state that either keep your app snappy or melt your heap. I have been wrangling JBoss 4.2 with Apache out front and the story is repeatable enough to…
Data Sources and Subreports: Keeping Performance in Check
Subreports look nice on the canvas and they feel clean when you click around in iReport, but they can send your server for a walk if you are not careful. I have been helping teams wire up JasperReports for invoices, statements and those end of month monsters that marketing loves,…