Tech Tips
My Tips on Java, AI and technology.
Commentary, tutorials, opinions and practical development insights from TheServerSide.
Related Resources
The newest articles matching the selected resource filters. Showing up to 1000 resources.
How Developers Can Thrive as AI Agents Write Code
Vibe coding will automate more code production, making technology choices, creative thinking, architectural vision, and analysis increasingly important.
AI
Understanding Product and Sprint Backlogs in Scrum
Compare the purpose, ownership, scope, and timing of the two backlogs that guide incremental Scrum development.
Agile
Acceptance Criteria and the Definition of Done Explained
See how feature-specific requirements differ from universal completion standards in Agile and Scrum development.
Agile
Choosing Between Spring, Quarkus and Jakarta EE
Explore the strengths, limitations and operational tradeoffs of popular Java frameworks and modularity options for new projects.
Spring
Why Vibe Coding Fails at Enterprise Scale
AI-generated code may accelerate prototypes, but the article examines how weak architecture, difficult debugging, and hidden maintenance costs undermine larger systems.
AI
Understanding the Difference Between Agile and Scrum
Compare Agile philosophy with Scrum practices, values, roles, and processes to see how the two approaches work together in software development.
Agile
Where Java Desktop Applications Are Headed
A look at AWT, Swing, JavaFX, and SWT, with practical guidance for choosing a Java UI toolkit for modern desktop software.
Spring
Agile and Waterfall: How the Development Models Differ
Explore how Agile iteration and customer feedback contrast with Waterfall planning, fixed phases, and upfront requirements.
Agile
Using AI to Stand Out in a Developer Job Search
Explore how recruiters use AI and what software developers can do to present their skills clearly, improve their resumes, and navigate hiring assessments.
Skills
Five Ways Scrum Teams Can Estimate Agile Work
Compare calendar days, ideal days, story points, T-shirt sizing, and no-estimate approaches for sizing user stories and planning releases.
Agile
JavaFX in 2025: A Modern Alternative to Swing
See how JavaFX supports contemporary desktop and cross-platform Java applications through active releases, visual design tools, community projects, and libraries.
Spring
Planning Effective Iterations in Agile Development
Discover practical ways to keep Agile iterations focused, validate assumptions early, deliver value quickly, and adapt plans using customer feedback.
Agile
Using Binary Logic to Optimize Java Code
Explore bit arrays, bitwise operations, and carry propagation techniques for improving efficiency in targeted Java algorithms.
Spring
How to Use 11 Agile Metrics Without Misleading Your Team
Understand what each Agile metric reveals, where it falls short, and how combining complementary measures supports better decisions.
Agile
Choosing Between Swing and JavaFX for Java Desktop Apps
Explore the history, capabilities, and tradeoffs of Java GUI frameworks to decide whether Swing or JavaFX fits your next desktop project.
Spring
A Practical Introduction to Functional Programming in JavaScript
Explore how deterministic, side-effect-free functions, composition, immutability, and monads shape functional JavaScript code.
Spring
A Better Approach to Agile Planning Without Estimates
Explore how #NoEstimates practices use smaller work items, flow metrics, and probability-based forecasts to handle uncertainty in software delivery.
Agile
A Practical Guide to Functional Programming Principles
Explore how deterministic functions, immutable data, function composition, and recursion shape a functional programming approach.
Spring
Why Agile Teams Struggle to Estimate Unpredictable Work
Understand how estimation can distract from customer value, create deadline pressure, and limit adaptability in software development.
Agile
Five Common Scrum Antipatterns and How to Avoid Them
Learn how project-based sprints, weak customer feedback, unclear goals, story point misuse, and siloed teams can undermine Scrum.
Agile
Explore CI/CD Tools Beyond Jenkins
See how leading CI/CD platforms and build tools compare for Java teams seeking alternatives to Jenkins.
DevOps
Choosing Between MySQL and PostgreSQL
Explore how these open source relational databases differ in performance, complex queries, replication, scalability, security, and workload fit.
Spring
How OKRs and KPIs Work Together to Drive Results
Understand the difference between ambitious outcome-based goals and ongoing performance metrics, with examples for aligning both approaches.
Agile
Detecting and preventing pinning with Java virtual threads
Explore carrier-thread pinning, diagnostic tools, Spring configuration, and practical ways to protect virtual thread scalability.
Spring
How the Interface Segregation Principle Simplifies Code
Learn how focused, task-specific interfaces reduce complexity and improve flexibility and maintainability in object-oriented software.
Spring
Simplifying Native Code Access with Java 22
See how JEP 454 uses the Foreign Function and Memory API to call C functions, access native memory, and reduce JNI complexity.
Spring
When Java Is Not the Best Language for the Job
Explore Java's tradeoffs in speed, complexity, runtime fragmentation, and package management, and learn when another language may be a better fit.
Spring
Building a Software Development Career in Climate Tech
Explore climate tech career paths, key software engineering skills, industry terminology, and the rewards and risks of mission-driven development work.
Skills
A Practical Guide to Onboarding Remote Developers
Help new remote engineers connect with their teams, understand the technology stack, contribute early, and share feedback throughout their first days.
Skills
Why Developers Are Exploring the Zig Language
Learn how Zig combines compiled performance with flexible language features, simple build and test commands, integrated test blocks, and practical debugging tools.
Spring
Combining Java Streams and Virtual Threads for Concurrent Work
See how JDK 22's mapConcurrent gatherer uses virtual threads to improve concurrent processing for I/O-bound tasks such as image resizing.
Spring
Understanding the Three Layers of DBMS Architecture
Learn how internal, conceptual and external database schemas organize storage, logical design, security and client access.
Other
How Five Agile Principles Improve Project Management
Explore how continuous delivery, empowered teams, incremental work, self-organization, and iterative cycles support effective project management.
Agile
Navigating a New Promotion With Confidence
Practical advice for developers facing unfamiliar responsibilities, leadership expectations, and the transition into a larger role.
Skills
Go Beyond the Basics of Java Pattern Matching
Explore guarded patterns, null handling, nested records, type inference, unnamed variables, and generic record patterns through practical Java examples.
Spring
How to Address Key Risks in Distributed Ledger Technology
Understand how blockchain networks work and learn strategies for improving DLT security, performance, cost management and smart contract upgrades.
Other
Understanding Java Pattern Matching
Learn how Java pattern matching simplifies type checks, casting, record patterns, and switch expressions for clearer code.
Spring
How Developers Can Build a Career in AI
Explore AI career paths, essential skills, workplace challenges, and ways to evaluate organizations that use AI.
AI
Understanding the Back-Ends-for-Front-Ends Microservices Pattern
Learn how BFF APIs aggregate backend calls, tailor responses for different clients, and simplify front-end development.
Spring
Control Java Inheritance with Sealed Classes
Explore Java 17 sealed classes, permitted subclasses, and inheritance rules for building safer, clearer, closed type hierarchies.
Spring
Understanding Blockchain and Distributed Ledger Technology
Explore the relationship between blockchain and DLT, including smart contracts, consensus, peer-to-peer storage, and alternative databases.
Other
Should You Leave Your Tech Job? Six Questions to Ask
Use practical guidance on workplace problems, career goals, financial preparation and job search readiness to make a thoughtful career change.
Skills
How NumPy Arrays Reduce Python Performance Overhead
Explore the invisible boundary between Python and native code, and see why NumPy arrays outperform Python lists for cumulative sums.
Spring
Practical Patterns for Cleaner, More Maintainable Code
Explore examples of simplifying logic, removing duplication, organizing data, managing objects, and using abstraction without overengineering.
Spring
Five Technology Trends Expected to Shape 2024
A look at how AI coding tools, the Mojo language, blockchain, browser-based IDEs and antitrust action may influence technology in 2024.
AI
The Truth Behind Five Common Blockchain Myths
A fact-based look at blockchain security, privacy, use cases, public-sector adoption, and the learning curve for developers.
Other
Understanding Event Sourcing Through a Working Example
Explore event capture, persistence, message-driven workflows, and replay in a simplified TypeScript order-processing application.
Other
A Practical Approach to Writing Better Scrum Sprint Goals
Discover how customer needs, testable hypotheses, and feedback can help Scrum teams create focused, adaptable sprint goals.
Agile
A Practical Way to Master Complex Technical Ideas
Discover how learning through explanation, review, simplification, and analogy can deepen your understanding and make communication more effective.
Skills
How Compiled Regular Expressions Improve Python and Java Performance
Explore the tradeoffs between string primitives, regular expressions, and precompiled patterns when removing URL parameters in Python and Java.
Spring
Why Python's Concise Syntax Can Mean Fewer Bugs
Python may sacrifice performance and multithreading efficiency, but its compact, readable syntax can reduce boilerplate and cognitive load for developers.
Spring
How Developers Can Handle Performance Reviews Professionally
Prepare throughout the year, respond constructively to feedback, navigate performance improvement plans, and guide your own professional development.
Skills
Understanding Java 21 Virtual Threads Through Code
Explore the limits of operating system threads and see how Java 21 virtual threads simplify high-concurrency applications.
Spring
Understanding Python's Main Entry-Point Check
See how the __name__ variable changes between direct execution and module imports, with examples of reusable and standalone Python code.
Spring
Five Practical Steps for Recovering From a Layoff
Learn how to manage immediate financial and career tasks, reconnect with your network, and use a layoff as an opportunity to rethink your next move.
Skills
How SAFe Scrum Masters Differ From Traditional Scrum Masters
Explore the added release train responsibilities, planning activities, and team coaching expected in a scaled Agile environment.
Agile
Practical Ways to Make Python Code Faster
Learn how data types, comprehensions, generators, libraries, profiling, and alternative Python implementations can improve performance where it matters.
Spring
Understanding Idempotence in RESTful HTTP
Explore safe and non-idempotent HTTP methods, practical REST examples, and API design considerations for consistent server-side state.
Spring
Understanding Python Import Risks in Enterprise Code
Explore how top-level execution creates security and software supply chain exposure, and how static analysis and careful library oversight can reduce the risk.
Spring
Choosing Between Scrum and SAFe for Agile Delivery
Understand how Scrum and SAFe differ in complexity, team structure, planning, and scaling so you can select the right approach for your organization.
Agile
Applying Java’s Open-Closed Principle with Interfaces
See how a Java interface lets shape comparisons support new implementations without requiring changes to the existing component.
Spring
Is Startup Life Right for You as a Developer?
Learn how to evaluate startup culture, assess compensation and equity, and decide whether a fast-moving, less structured workplace fits your goals.
Skills
Learn Solidity by Building a Simple Ethereum Smart Contract
Explore Solidity fundamentals, including contract structure, compilation, read-only functions, string manipulation, deployment, and blockchain gas fees.
Other
How Scrum Masters Put Servant Leadership Into Practice
See how Scrum masters remove blockers, support team autonomy, clarify expectations, foster psychological safety, and lead through Scrum values.
Agile
Practical Ways to Improve Python Performance
Learn how Python developers can address runtime costs, the GIL, and data-processing bottlenecks with multiprocessing and optimized libraries.
Other
How Scrum and Waterfall Differ in Product Development
Explore the contrasting approaches to planning, delivery, stakeholder feedback, team structure, and changing requirements in Scrum and Waterfall.
Agile
Understanding Blockchain, Smart Contracts and Decentralization
An introduction to centralized and decentralized networks, blockchain data integrity, cryptocurrency, smart contracts and decentralized identity.
Other
Preventing Burnout as a Remote Software Developer
Practical strategies for managing workload, setting healthier boundaries, building skills, and discussing mental health at work.
Skills
Comparing JavaScript and TypeScript
Learn how TypeScript's type system, compilation process, and development tooling differ from JavaScript for larger applications.
Spring
Applying Java's Single Responsibility Principle
See how focused classes improve maintainability, then refactor a Java example that mixes game results with history management.
Spring
Rethinking the Three Questions in Daily Scrum
Learn why repeating the standard daily Scrum questions can discourage collaboration, consume valuable meeting time, and shift focus away from the sprint goal.
Agile
11 Reasons WebAssembly Is Gaining Momentum
Learn how WebAssembly improves application performance, portability, security, and deployment across browsers and containerized environments.
Other
11 Reasons Java Remains a Strong Choice in 2023
From new JDK, Spring, and Jakarta EE releases to modern IDEs, simpler syntax, and active communities, Java offers plenty for developers in 2023.
Spring
Protect Yourself From Fake Remote Programming Jobs
Use practical checks to identify suspicious recruitment, safeguard your personal data, and verify remote employers before accepting an offer.
Skills
Choosing the Right Product Owner for a Scrum Team
Explore the product owner’s responsibilities and the qualities organizations and self-managing teams should consider when assigning the role.
Agile
Practical Ways to Stay Motivated as a Remote Developer
Use focused work sessions, daily rituals, peer connections, professional development, and time away from work to stay productive remotely.
Skills
Scrum and Kanban Compared: Choosing the Right Agile Approach
Understand the differences between sprint-based Scrum and flow-based Kanban, including how teams can combine both frameworks.
Agile
What Java Developers Should Know About TypeScript
Compare object-oriented features, syntax, compilation, NPM packages, and IDE support when moving from Java to TypeScript.
Spring
Understanding Product Owners and Product Managers
Compare the responsibilities, authority, and Scrum-specific accountabilities of product owners and product managers.
Agile
Why Pattern Recognition Matters in Code and Music
Learn how experience helps developers and musicians recognize abstract structures, reduce redundancy, and develop more efficient, reusable ideas.
Skills
How Developers Can Move Into Engineering Management
Learn how to test the management role, build people skills, prioritize effectively, communicate clearly, and work across an organization.
Skills
Eight Technology Careers Beyond Programming
Learn about in-demand IT roles that rely on leadership, analysis, communication, organization, and technical knowledge rather than coding.
Skills
Avoid Duplicate Java Exception Logging
See why layered applications should rethrow exceptions without logging them at every level, then log only where the error is handled.
Spring
How to Select the Best Java Library for Your Project
Use seven practical evaluation criteria to compare Java libraries, from documentation and licensing to support, dependencies, and deployment impact.
Spring
A Guide to Java's 10 Most Common RuntimeExceptions
Explore practical examples and fixes for frequent Java runtime errors, from ArithmeticException and NullPointerException to collection and array issues.
Spring
How to Prevent Common Java Runtime Failures
Explore practical strategies for handling input problems, resource constraints, unchecked exceptions, external system changes, and vulnerable dependencies.
Spring
Four Key Considerations for Aspiring Freelance Developers
Explore the skills and decisions that can help developers build successful freelance careers, including specialization, communication, confidence, and pricing.
Skills
ScrumBut Is Not Scrum: Why Agile Teams Should Avoid It
Learn how partial Scrum adoption undermines transparency, inspection, and adaptation, and how Scrum Masters can address common objections.
Agile
A Developer's Guide to Binary and Hexadecimal
Understand base 2 and base 16 notation, convert values from decimal, and see how bits, bytes, and hexadecimal relate in software development.
Spring
The Ongoing Challenges of Java’s Module System
JPMS improves on earlier modularity approaches, but developers still face tooling gaps, inconsistent library support, and a return to non-modular Java.
Spring
Choosing Between Java Iterator and ListIterator
Understand the differences between these collection interfaces and learn when ListIterator's extra capabilities make it the better choice.
Spring
Choosing Between REST and gRPC for API Development
Understand how REST and gRPC differ in performance, serialization, streaming, usability, and suitability for microservices communication.
Spring
Five Java 17 Enhancements for Modern Java Development
See how records, text blocks, clearer null errors, switch expressions, and sealed classes improve everyday Java programming.
Spring
Three Ways to Write a Java Hello World Program
Learn how to create Java Hello World examples with console output, a Swing dialog, and a static initialization block.
Spring
Understanding the Difference Between Libraries and Frameworks
Compare libraries and frameworks through Java examples, inversion of control, developer responsibility, and practical project selection guidance.
Spring
How Asking for Favors Can Help New Developers Join a Team
Discover career advice for using small favors and reciprocal support to build trust, relationships, and community in a new software development role.
Skills
Five Steps to Break Up a Java God Object
Use testing, client analysis, and object-oriented design principles to replace an overloaded class with focused, maintainable components.
Spring
How to Build Faster, Lighter Landing Pages
These strategies help reduce unnecessary HTML, CSS, JavaScript, images, and below-the-fold content so landing pages load more quickly.
DevOps
Five Ways to Improve CSS and Webpage Performance
These practical techniques help reduce selector evaluations, stylesheet overhead, and unnecessary DOM elements for faster rendering.
Spring
A Practical Path to Adopting Serverless Platforms
Learn how to evaluate serverless architecture, manage its tradeoffs, and introduce functions gradually while limiting enterprise risk.
DevOps
JPA vs. Hibernate: Choosing a Java Persistence Approach
Learn why JPA is a specification, Hibernate is an implementation, and how both compare with other Java ORM options.
Spring
Choosing Between MongoDB and Cassandra Databases
Explore how these open source NoSQL databases differ in high availability, scalability, data modeling, querying, and workload fit.
Other
Rod Johnson Introduces Java-Based DevOps Automation with Atomist
The Atomist project brings opinionated SDLC practices, code analysis, and deployment automation into developers' familiar Java and IDE workflows.
DevOps
How to Optimize Images Across Web and Mobile Apps
Learn how image formats, responsive dimensions, browser support, and CDN cache behavior shape performance, quality, and delivery costs.
Other
Building Stronger Security Through DevOps Practices
Explore practical guidance for embedding security earlier, balancing risk and cost, and helping development and operations teams respond to threats.
DevOps
Technology’s Role in Advancing Agricultural Productivity
Agricultural researchers and businesses are using robotics, crop data, sensors, and machine learning to improve plant care and farming decisions.
Other
Can Binary Messaging Improve REST Performance?
Learn why parsing JSON and XML can consume substantial CPU, and how binary formats may improve throughput while increasing development complexity.
Spring
How to Get Better Results From an Offshore Team
Practical advice for planning, communicating with, reviewing, and motivating distributed offshore development teams.
Other
The Business Cost of Software Failure and Poor Performance
Explore how outages damage revenue, customer trust, brand reputation, market share, and confidence in IT, plus ways to prevent performance problems.
DevOps
Five Common Mistakes in Automated Acceptance Testing
Improve test automation reliability and maintainability by addressing unstable tests, excessive browser coverage, mocking strategies, framework dependencies, and unnecessary complexity.
DevOps
Plan for Better Mobile UI Development
Learn how product specifications, design, architecture, quality assurance, and development planning can improve mobile app delivery and user value.
Spring
How to Select the Right UI Development Framework
Evaluate learning difficulty, complexity, interoperability, problem-solving capabilities, and adaptability before adopting a UI framework.
Spring
Why Continuous Documentation Matters in DevOps
Learn how code, configuration, logs, alerts, and monitoring create actionable documentation without relying on manual processes.
DevOps
Eclipse Che’s Plan for Cloud-Based Java DevOps
The Eclipse Foundation is connecting a browser-based IDE with OpenShift and Docker to streamline Java development, testing, and deployment workflows.
DevOps
Moving Vinli’s Microservices Platform Beyond AWS
See how Vinli used Docker, Kubernetes, and disposable services to lower infrastructure costs and simplify operations across its connected-car platform.
DevOps
Best Practices for Automating Kubernetes Clusters
Learn how PXE boot, immutable operating systems, Cloud-Init, and Terraform can streamline consistent Kubernetes cluster deployment on premises or in the cloud.
DevOps
Building a Configurable Security Model for IoT Gateways
Learn how public key cryptography, secure software updates, Eclipse Kura, and the Everyware Software Framework can protect connected devices.
Other
Understanding the Proposed Java EE Security API
See how JSR 375 was designed to bring portable, application-level security configuration to Java EE, from identity stores and passwords to roles and authorization.
Spring
Three Common Causes of Production Performance Problems
Jevgeni Kabanov explains how excessive database queries, bloated sessions, and service latency can affect applications in production.
Spring
Why State-Based Streaming May Outgrow REST for High-Volume Systems
Explore how streaming, event-based programming, and client state can address scalability, latency, and bandwidth challenges in enterprise SOA systems.
Other
Build a Voice Skill for Amazon Echo
A step-by-step walkthrough of connecting an Alexa skill to AWS Lambda, defining intents, and testing voice interactions with a color example.
DevOps
How IPFS Could Transform P2P Application Infrastructure
Explore how content addressing, distributed storage, and decentralized networking could improve application resilience, data sovereignty, and scalability.
Other
Strategies for Building IoT Applications on Unreliable Networks
Practical guidance for limiting data transfer, reducing latency, and designing IoT systems that remain effective when network bandwidth is constrained.
Other
The Qualities That Set Exceptional Developer Tools Apart
Learn why seamless integration, ease of use, dependable functionality, and support for developer flow matter as much as a tool's core features.
Spring
Practical Strategies for Better System Performance
Learn how NUMA configuration, modern CPU features, and debug containers can help teams improve performance in Docker-based environments.
DevOps
Why NetBeans IDE 8.1 Is Worth Revisiting
A look at NetBeans 8.1 improvements, including Node.js development, streamlined performance, dark themes, and its reputation for stability.
Spring
How Hortonworks Helps Administrators Tune Hadoop Clusters
SmartSense and Smart Configuration target critical settings, performance bottlenecks, and component interactions across complex Hadoop deployments.
DevOps
How DevOps and Agile Practices Improve Software Quality
Experts explain how collaboration, continuous integration, platform tooling, and security can bring development and operations closer together.
DevOps
Exploring Interactive Java Development with JShell
See how Java 9's REPL runs statements interactively, manages code snippets, saves sessions, and supports debugging and experimentation.
Spring
How DevOps Metrics and Mode 2 Can Build Agility
Explore three practical ways to introduce DevOps, measure delivery performance, choose faster project modes, and evaluate PaaS technology.
DevOps
How QUIC Could Accelerate Web Application Traffic
Google's experimental transport protocol targets connection latency, packet loss, congestion control, and wireless performance for HTTP applications.
DevOps
Why mobile application security is a growing enterprise challenge
Explore the risks of untrusted devices, data leakage, weak service protection, and the security challenges of enterprise mobile applications.
Other
Using NoSQL to Turn Big Data Into Business Insight
Learn how database choice, open source communities, data platforms, and analytics tools help enterprises extract value from growing data volumes.
Other
How HTTP/2 Improves Web Application Performance
Explore the HTTP/2 features that reduce connection overhead, optimize resource delivery, and change established CSS, JavaScript, and domain-sharding practices.
Spring
Build Safer Applications with Simpler Java EE Security Roles
Practical guidance for minimizing roles, avoiding hybrid LDAP groups, and making access management easier for security and operations teams.
Spring
Inside Netflix’s Shift to a Modular JavaScript Architecture
Netflix refactored a large client application into independently testable modules, enabling better code sharing and more frequent updates.
DevOps
Practical Ways to Protect HTML5 Rendering Performance
Understand how browser layout, graphics operations, GPU interactions, and profiling can help prevent performance bottlenecks.
Other
Building High-Performance Applications on Cloud Clusters
Learn how cloud clusters support HPC and big data workloads while addressing resource abstraction, node latency, storage, and integration challenges.
DevOps
How WebRTC Connects Browsers With VoIP and Phone Networks
Explore the signaling, codec, identity, and NAT traversal challenges involved in linking browser-based communications with SIP and PSTN services.
Other
How Virtual Networks Improve DevOps Application Quality
Explore how SDN, VLANs, and programmable network services bring networking concerns into development, testing, and continuous delivery.
DevOps
Why Enterprise Teams Are Rethinking Development Environments
Cloud IDEs simplify workspace setup and collaboration, while projects such as Eclipse Che and Flux address portability, scalability, and tooling gaps.
DevOps
A Practical Guide to Planning a Smooth Website Migration
Use data discovery, migration rehearsals, testing, backups, and a detailed timeline to move a website to a new portal with less risk.
DevOps
How Liferay Scaled Quality Across Distributed Teams
Ray Auge explains how team structure, modular software design, and continuous learning helped Liferay manage growth and quality.
Agile
Improving Software Quality Across ALM Stages
SFactory's development lessons cover backend architecture, stack changes, cloud technology, and quality throughout the application lifecycle.
DevOps
Why Java Continues to Thrive After 20 Years
A look at the Java platform's enduring balance of reliability, developer simplicity, concurrency innovation, and continued evolution.
Spring
Five Strategies for Safer Enterprise Mobile Applications
Explore practical guidance for protecting corporate data on mobile devices through authentication, encryption, application containment, and careful access decisions.
Other
Avoid These Common HTML5 Coding Mistakes
Improve your markup by learning practical ways to handle HTML versions, tags, attributes, page structure, comments, naming, and CSS.
Spring
Keep Behavior-Driven Development Projects on Track
Improve BDD with clearer requirements, behavior-focused tests, lean development, and continuous feedback between stakeholders and the business.
Agile
Bringing Google Maps Functionality to Java Desktop Apps
See how a JavaFX wrapper for Google Maps JavaScript APIs enabled mapping, waypoints, and pin drops in a desktop application.
Spring
Reduce JVM Latency for Faster Java Applications
Explore compilation thresholds, JIT behavior, and the tradeoffs involved in balancing startup time, memory use, and runtime performance.
Spring
Cleaner Portlet Namespaces and Context Paths in JSP
Use JSTL variables and JSP expression language to simplify namespace handling and resource paths in portlet views.
Spring
Five Essential Lessons in Software Architecture
Learn how modern architecture practices support maintainable systems, collaborative teams, lightweight design, and Agile change.
Spring
Adam Bien Challenges Java EE Design Patterns and EARs
Java Champion Adam Bien argues for leaner enterprise applications, less architectural bloat, simpler modules, and a focus on business logic.
Spring
Choosing Between JPA Annotations and XML Mapping
Explore the tradeoffs between annotation-based and XML-based JPA configuration, including maintainability, decoupling, compatibility, and update workflows.
Spring
Simplify Entity Discovery in Spring and Hibernate
Use package scanning to reduce manual ORM configuration and automatically find JPA entity classes in your application.
Spring
Accessing Hibernate Session Through JPA 2.0
Learn how to use EntityManager.unwrap to obtain the underlying Hibernate Session with a more portable approach than JPA 1.0.
Spring
The Hidden Risks of Reusing Software Components
Understand how software reuse can create licensing, contractual, intellectual property, insurance, and financial problems.
Other
Four Strategies for Moving Mobile Apps Out of Production
Plan app retirement carefully by informing users, managing data and APIs, and providing a smooth transition to a replacement application.
Spring
Optimize Tomcat with Two Key Production Settings
Configure connector thread capacity and GZIP compression to help Tomcat use server hardware efficiently and deliver text responses faster.
Spring
Improve Tomcat Performance by Consolidating Log Handlers
A small logging.properties configuration change can reduce duplicate handler overhead and help Tomcat devote more resources to application workloads.
DevOps
Why Strong Requirements Improve Software Projects
Practical guidance on documenting requirements, managing change, and aligning stakeholders throughout the software development lifecycle.
Other
When Traditional HTTP Services Beat SOAP and REST
Explore a practical approach to reusing legacy GET and POST endpoints for efficient APIs and mobile application support.
Spring
Managing the Cost, Quality, and Time Tradeoff
Understand why software projects succeed or fail based on how leaders evaluate constraints, set expectations, and manage competing priorities.
Other
Optimize JSF 2.0 Facelet Applications for Production
Configure Facelets comments, refresh checks, and development debugging to improve JSF performance and simplify troubleshooting across environments.
Spring
Naming RESTful APIs for Clearer Service Contracts
See how meaningful URL structure and resource separators help description languages and client applications work more effectively.
Spring
Why Agile Development Fits Mobile Application Lifecycle Management
Learn how iterative planning, rapid validation, and Web services can help enterprise teams manage the speed and uncertainty of mobile app development.
Agile
Build a More Effective Agile Release Process
Explore practical ways to coordinate development and operations, automate recurring work, gather feedback, and plan deployments around production realities.
Agile
How to Prevent Application Deployment Problems
Explore practical ways to identify deployment risks, improve testing, coordinate with end users, and roll out application changes safely.
DevOps
Evaluating Cloud Migration for Legacy Applications
Learn how to decide between redeployment and re-architecting, prioritize application migrations, and avoid common cloud deployment risks.
DevOps
Why Predictable Response Times Matter
Fast pages are not enough: consistent application responsiveness helps users build reliable expectations and experience fewer frustrating delays.
Other
Defining Clear and Testable Application Performance Requirements
Learn how to use the SMART framework to create specific, measurable, attainable, relevant, and time-bound performance requirements.
Spring
Automating Load Balancing Across Scalable Web Servers
Learn how cloud, hybrid infrastructure, monitoring, and automated scaling can improve application resilience and reduce manual operations.
DevOps
The Business Case for Application Integration
Explore the benefits, barriers, and architectural approaches that can make enterprise application integration a higher business priority.
Spring
Explore Five Built-In Features in Liferay Portal
A brief video demonstrates Liferay Portal's built-in social tools, browser navigation, and wiki configuration capabilities.
Other
A Practical Baseline for Comparing Java Web Tools
Start with the essential Java development stack, then evaluate whether additional tools solve real problems or simply add training overhead.
Spring
How Better User Interfaces Improve Application Outcomes
Learn how intuitive design, user testing, HTML5, and CSS3 can encourage adoption and help people use web applications more effectively.
Spring
Understanding Safe and Unsafe Type Casting in Java
See how narrowing conversions discard high-order bits and why casting values outside a target type's range can change the result.
Spring
Servlet RequestDispatcher: Include and Forward Compared
Understand how include and forward differ in output stream handling and the generation of markup through JSP and Servlet resources.
Spring
Configure Hibernate Second-Level Caching with Spring and Ehcache
This step-by-step guide covers the required libraries, cache annotations, DAO query hints, Ehcache configuration, and persistence settings.
Spring
Design Web Pages That Work Across Browsers
Practical guidance on CSS defaults, accessible font sizing, flexible dimensions, and element positioning for more consistent browser rendering.
Spring
Practical HTML Practices for Cross-Browser Compatibility
Use standards-compliant markup, CSS alternatives, code validation, and careful HTML5 adoption to reduce browser testing and debugging issues.
Spring
Designing Maintainable SOA Systems with Java EE
Tony Ng discusses service boundaries, interface compatibility, REST and web services, cloud deployment, and practical guidance for Java developers.
Spring
How to Select an Agile Methodology for Your Team
Explore XP, Scrum, and Feature-Driven Development to understand their practices, tradeoffs, and ideal project environments.
Agile
A Practical Method for Estimating Java Project Effort
Use accurate use cases, development planning, and a structured five-step algorithm to create more reliable Java project estimates.
Spring
Tools for Monitoring and Tuning Java Performance
Learn how a selection of Java monitoring, heap analysis, garbage collection, and system tuning tools can help troubleshoot application performance.
Spring
Choosing Between Agile, Waterfall, and a Hybrid Method
Explore how Agile and Waterfall differ, where each approach fits, and why combining them can help software teams balance flexibility with discipline.
Agile
How HTML5 and Java Shape Modern Web Development
This overview examines modular HTML5 front ends, Java-based services, browser capability detection, and mobile Web architecture.
Spring
Create a Basic REST Service in Java
Follow a practical example using Jersey, web.xml, and Tomcat 7 to deploy a Java service that responds to HTTP GET requests.
Spring
Best Practices for a Successful BPM Deployment
Discover how to model real workflows, begin with practical low-risk projects, automate routine processes, and involve end users throughout BPM implementation.
Other
Create and Test a Java SOAP Service in NetBeans 7
Follow a practical walkthrough for building a Rock-Paper-Scissors web service, deploying it to GlassFish, and inspecting its SOAP requests and responses.
Spring
Exploring CDI Portable Extensions and Implementations
Learn how CDI portable extensions work, review major Java EE 6 implementations, and compare CDI with Seam, Spring, and Guice.
Spring
Using JSP Views with JavaServer Faces 2.0
A simple web.xml configuration change tells JSF 2.0 to load JSP files rather than its default XHTML and Facelets views.
Spring
Understanding JSF 2.0 Managed Bean Configuration Precedence
See how annotations and faces-config.xml work together, and why XML settings override annotated bean behavior at runtime.
Spring
Use Java and XML Configuration Together in Spring 3
A practical example shows how @ImportResource combines annotation-based and XML bean definitions in one Spring application context.
Spring
Designing Distributed Enterprise Applications with EJB and Spring
Learn how EJB 3.0, Spring dependency injection, JPA, and Hibernate can work together across presentation, service, business, and data access layers.
Spring
Simplify JDBC Database Access with Spring JdbcTemplate
See how Spring 3.0 reduces JDBC boilerplate by handling connections, statements, resource cleanup, and exception translation for database inserts.
Spring
Optimize JBoss EAP 4.3 for Production Performance
These practical recommendations cover JVM and operating system tuning, Apache and application server trimming, deployment choices, logging, and capacity testing.
Spring
When Design Patterns Hurt More Than They Help
Design patterns can improve communication, but overusing them adds needless complexity. This article argues for balance and the simplest workable design.
Spring
A Beginner-Friendly Guide to Learning Hibernate and JPA
Follow practical tutorials and videos that explain environment setup, Java annotations, database connections, and CRUD operations with Hibernate.
Spring
Improve WebSphere Portal 7 Startup and Server Performance
Learn how to match the initial and maximum heap sizes, disable verbose garbage collection, and apply the changes in the WebSphere Integrated Solutions Console.
Spring
Managing CDI Conversations in Java EE 6
Explore transient and long-running conversations, JSF workflows, lifecycle control, and the CDI Conversation API through a multi-step account creation example.
Spring
Finding Slow Ajax Events with ZK Gazer
Explore ZK PerformanceMeter and EventInterceptor implementations for tracking request timing, event handling costs, and application bottlenecks.
Spring
Handling XML Escapes and Unicode Text in XAML
Understand the reserved characters in XAML attributes and use Unicode syntax to display symbols such as Greek letters in WPF.
Spring
Using Spring Converters and Formatters
See how to create stateless converters, register them with a ConversionService, and use formatters for Spring MVC and expression language data binding.
Spring
Tech Tips
My Tips on Java, AI and technology.