What is PhoneGap and when should you pick it for your next mobile app. If you write HTML CSS and JavaScript all day and want to ship to the App Store and Google Play without learning Swift or Java from scratch, this guide gives a grounded view. Real tradeoffs. Real…
Category: Software Engineering
Comprehensive insights into building, architecting, and managing software systems. From code craftsmanship to team dynamics, explore the technical and organizational aspects of software development.
Optional in Practice: Null Safety Without Drama
Null is boring, the crash at three in the morning is not, so lets keep null boring and safe with Optional. Swift just went open source a moment ago, Java 8 is now common on the server, Android builds are catching up, and Kotlin is knocking at the door with…
Debugging Containers: Into the Namespace
Problem framing Containers are everywhere in dev chats right now. Docker got a big bump with new networking and volumes, CoreOS is pushing rkt, Kubernetes keeps getting steadier. We ship faster, but when something breaks inside a container, the fix often feels like guesswork. Logs give hints. Metrics point to…
Money in Java: Precision, Rounding, and Reality
Money looks simple until a single cent sneaks away and your numbers do not match the bank. Java gives you many ways to represent it, some friendly, some dangerous. Let us talk about precision, rounding, and reality so your totals land exactly where your accountant expects. Precision beats convenience Floating…
Understanding JCR: Content as a Tree
Understanding JCR: Content as a Tree. If you build on Adobe Experience Manager, Jackrabbit, or Oak, you have already met this idea even if you did not name it. We are used to tables and foreign keys or to folders and files. Then you open a repository browser and see…
Life on the JVM: Choosing a Second Language
Do you really need a second language on the JVM or is plain Java enough for the work you do today? If you picked Java because it runs everywhere and there is a library for almost everything, that logic still holds. The twist is that Java 8 is here with…
CloudFront for Static Assets: Speed on a Budget
Static assets run the show. Your page feels fast or slow because of images, fonts, and bundles. If you are shipping on a budget, Amazon CloudFront gives you global speed without fancy contracts or a huge bill. What goes behind CloudFront? Start with the easy wins. Put your images, CSS,…
The business of software: Charge Unless You Have a Clear Reason Not To
Software as a Business Part 11: Lessons from the Trenches — a practitioner’s take with timeless lessons. Dialogue-style intro Founder: Our beta list is growing. Do we go free, freemium, or paid from day one? Me: Charge unless you have a clear reason not to. Free is a strategy, not…
Unit Testing Streams
Streams are easy to read, tricky to test, and even trickier to trust without good tests. Every feed today chats about streams. Java 8 streams sit in most new code reviews, RxJava keeps popping up in talks, and Node 4 just landed with a comfy ES6 baseline that makes stream…
Cleaner APIs with Streams
I keep coming back to the same thought when I sketch APIs on a napkin at a cafe: streams make code cleaner. We ship more JSON across the wire every week. We smash more collections into memory than we want to admit. The more I build services, the more I…