The best articles and links to interesting posts for technical team leaders building sophisticated websites, applications and mobile apps.
Think about: software architecture, hardware architecture, design, programming, frameworks, scalability, performance, quality assurance, security, resolving issues, fixing bugs and Android.
Need to know whether a collection is modified concurrently, which causes the ConcurrentModificationException? Check this handy wrapper solution here.
The second article in the Transaction strategies series. "Using examples from the Spring Framework and the Enterprise JavaBeans (EJB) 3.0 specification, explained is how the transaction models work and how they can form the basis for developing transaction strategies ranging from basic transaction processing to high-speed transaction-processing systems".
For the Amazon EC2 now a free AWS Eclipse plugin is available. It facilitates remote development, deployment, and debugging Java applications on Amazon Web Services.
Three common mistakes to avoid when implementing XML and webservices: don't make your messages too large, don't create too fine-grained services, and don't forget to create an XML schema.
Javascript is getting more and more important the last couple of years, so here's a bunch of best practices and efficiency tips.
Dynamic languages (e.g Rails, PHP compared to Java/.Net)
Social computing
Crowdsourcing and peer production architectures
New Application Models (e.g the symantic web, opensocial, widgets)
Elaborate explanation of managing boilerplate text (e.g. titles, button labels, prompt, error messages, tool tips) in JSF applications. This includes more advanced locale requirements, like certain text that needs to be different when shown to junior and senior users.
Here's a nice diagram with an overview of what activities are needed to create a website, from idea to support and everything in between.
Always annoyed that you have to manually close a resource like InputStreams, Connections etc? And that the first exception might be surpressed by the second in the finally block? Here's a suggested solution: the Automatic Resource Management pattern by Joshua Bloch.
Of course you've heard/read that Microsoft has released IE8 last week. Here's a bunch of tips when migrating your site from IE7 to IE8.
Ever need to create a UUID/GUID? Here's a few offline generators compared. uuidgen is an online UUID generator supporting version 1 and 4. A handy FAQ on UUIDs with some more depth can be found here.
A wiki constructed with over four dozen architects: 97 things every software architect should know. Also now available as a book. It includes advice such as:
Don't Put Your Resume Ahead of the Requirements (Nitin Borwankar)
Chances Are, Your Biggest Problem Isn't Technical (Mark Ramm)
Communication Is King; Clarity and Leadership, Its Humble Servants (Mark Richards)
Simplicity Before Generality, Use Before Reuse (Kevlin Henney)
For the End User, the Interface Is the System (Vinayak Hegde)
It's Never Too Early to Think About Performance (Rebecca Parsons)
Sample chapter from Thomas Erl's latest SOA Design Patterns book, and an interview with him. He "talks about the main benefits of having a pattern catalog, SOA and Web services, the current state of SOA, the difference between SOA and service orientation, and the role of patterns in SOA adoption".
Handy piece of (alpha) software to test IE8 RC1, IE7, IE6 and IE5.5 on Vista and XP. Note that it looks like Microsoft is releasing IE8 this coming week, so get ready...
The UI teamlead of Google's Chrome browser explained at a presentation why they decided to build Chrome. Basically because all the existing browsers suck :-)
A relatively new type of mashups are so called clipping mashups. Instead of building a mashup against some official API, a clipping mashup just parses the final content in the presentation, thus including CSS, Javascript etc. Links can be rewritten, new elements injected. The presentation doesn't have to follow for example portal JSR-168 standards. An example use case would be that you could use it to (temporarily) fix a bug in a system (not necessarily owned by you) until the official next release comes out.
Additional tips and articles for the Wicket in Action book. For example this article on how to do a partial Ajax repaint of newly created repeater items (e.g adding 1 row dynamically to a table or list with a "+" button). This in contrast to rendering all rows in a table when repainting the WebMarkupContainer as in the example described here.
I'm a professional software designer/architect/developer/software engineer with over 25 years of experience. For many years I've been a Technical Team Lead for complex software engineering projects. My main area of focus is Java/Kotlin microservice architectures and related challenges (design, scalability, performance etcetera). Currently Kotlin has got a lot of my attention. I will be posting lessons learned, and lessons that I'll be learning during the coming years :-)