Welcome!


From the Blogosphere

More and more Web sites and applications are being moved from Apache to nginx. While Apache is still the number one HTTP server with more than 60% on active Web sites, nginx has now taken over the 2nd place in the ranking and relegated Microsoft’s IIS to 3rd place. Among the top 10.000...
You are on top of your game. You have a log analysis tool churning logs from all your applications and infrastructure. And now that you have data (LOTS and lots of data…), you are able to understand your infrastructure better than you ever did before. You might even build a dashboard o...
Probably the most popular question during Java technical interviews is “What’s the difference between abstract classes and interfaces”. In my own three year old book I’ve offered the following answer: “An abstract class may contain code in method bodies, which is not allowed in an in...
It doesn't matter if your title puts you in Ops, Dev, or DevOps, being able to track down the big insights from your data is the secret-sauce every engineer is looking for. Collecting the data is a step in the right direction, but organizing, tagging, monitoring, and reporting from the...
Logs have been around for a while, not quite as long as the wheel, but not far off. Here at Logentries, we have the mantra of evolve don’t revolve (as in don’t sit around spinning your wheels getting nowhere). We are taking this concept and looking to evolve the way you work with and ...
We’ll discuss configuring Apache and Nginx both to send JSON formatted logs and how to take advantage of the search functions, sharable dashboards, and reporting capabilities within the Logentries platform. I'm often asked on calls with our customers what is the preferred format for l...
Some time ago I blogged that Java Swing should be deprecated and replaced with JavaFX. In this blog I’ll show a piece of JavaFX namely event handlers and binding. I’ve created a simple Sign In window with a GridPane layout (it’s JavaFX equivalent of Swing’s GridBagLayout). I’m not goin...
One of the most powerful features of QuickBase is the ability to share data across applications within a QuickBase account. Many QuickBase application managers may be unaware of these features or may be unaware of how to best gain benefits and avoid some important associated risks, suc...
Logentries new Aggregated Live Tail provides effortless, real-time visibility that you cannot get anywhere else…and is a joy to use (and I cant say the same about carrying a cat by its tail – for so many reasons). For those of you not familiar with our existing Live Tail view, Aggrega...
In Part V, we discussed processing delays caused by “slow” client and server nodes. In Part VI, we’ll discuss the Nagle algorithm, a behavior that can have a devastating impact on performance and, in many ways, appear to be a processing delay. Beyond being important for (reasonably) a...
While working on the second edition for my Java 24-hour Trainer book I’m re-writing some of the code samples to use lambda expressions. Today I was re-writing an example for wait/notify for the chapter on multi-threading. Beside illustrating the wait/notify, I used a closure in this ex...
I was recently reading Freakonomics’ authors Steven D. Levitt & Stephen J. Dubner’s latest book, Think Like a Freak, and passed over a quote that really resonated with me: So rather than address their root causes, we often spend billions of dollars treating the symptoms and are left t...
This article defines long polling and presents a few techniques on how long polling could be used in Spring MVC web applications. Discussion covers both the AJAX and the server part of the solution as well as outlines a few possible options for implementation. The article compares perf...
The announcement this week that Facebook is acquiring Pryte should make operators sit up and take notice. The communications landscape is evolving at break neck speed and operators need to start shouting about where they can bring value, before they get drowned out by the noise. Beca...
HTML5 is still one of the most discussed topics amongst us technical types. The key challenge, however, has remained unanswered for a long time. How do you effectively wrap HTML5 for use in native mobile applications? Unfortunately I do not have a universal answer, but I do have a s...
Java 8 has been reengineered and the most significant enhancement in this release is Project Lambda Expressions for the Java Programming Language. To be more comprehensive, the standout features of JDK 8 are Project Lambda the Nashorn JavaScript Engine and a new Date and Time API. Al...
In the last post I covered several architectural techniques you can use to build a highly scalable, failure resistant application in the cloud. However, these architectural changes - along with the inherent unreliability of the cloud - introduce some new problems for application perfor...
Step 1 Create a project based on my blog “UPDATED Setting up a JEE 6 Web Profile Maven Project in Eclipse using TomEE”. Step 2 Eclipse reveals its special capabilities such as specialized editors based on the project’s facet. As … Co...
With a growing number of software developers and computer applications, computers systems are revised and renewed every day. Computer systems can become so large that they will need the expertise of a computerized Service Desk, which will help integrate a growing organization to get ma...
Note that in Information Technology (IT) conversations there are multiple meanings for SMB including Server Message Block aka Microsoft Windows CIFS (Common Internet File System) along with its SAMBA implementation, however for this piece the context is Small Medium Business. A decade...
Learn how to use the concurrent Ruby Web Server PUMA on Heroku. Over the last couple of months our business grew a lot and Unicorn seemed to take more resources than necessary. We switched to 2X instances and still needed quite a lot of workers. Although larger Heroku bills were part...
In a perfect world, APM has all the right elements in place, providing value to the business and IT by giving us the metrics we need and showing us the health of our applications. It alerts us to anomalies when slowdowns occur, and shows us trends on performance. But there are other el...
The simplicity of the term "proxy" belies the complex topological options available. Understanding the different deployment options will enable your proxy deployment to fit your environment and, more importantly, your applications. It seems so simple in theory. A proxy is a well-under...
Our new survey tells us that up to 50% of online shoppers this year will use their mobile device. Good news is that most retail stores that have an online store now also offer a mobile version, e.g., http://m.gap.com, http://m.jcpenney.com, http://m.bestbuy.com. In the past years we ha...
This article explains how to know which JVM System Properties are actually being queried by libraries. Many libraries use system properties for settings. For example, you usually have to set a property to enable debug traces or to activate certain behaviors. However, sometimes system ...
Many Java static analysis tools exist right there, each one focus on a specific area and has its advantages, however if these tools report thousands of violations it became a challenge to exploit them. Let's discover another way to exploit the result of these tools.
Many new programmers struggle when it comes to selecting their first language to learn. Which is easiest, the most professionally useful, the most newbie-friendly? Lets find out by showing you a range of options, their strengths and weaknesses, and some information about the most com...
We keep monitoring HealthCare.gov and created a web page that shows the latest monitoring results. If you are interested check it out: HealthCare.gov Performance Status. Heat Map of Average Response Time by State Page Load Time Comparison of HealthCare.gov, US Healthcare Facilities a...
Consider the possibility that a small innocuous code change could go undetected, promoted through Development & QA, and then have catastrophic effects on performance once it reaches production. The environmental variants need to be minimized and closely monitored to prevent the anomalo...
The vast majority of schema management today is handled through the generation, review, and execution of SQL scripts. These scripts can be tiny or huge; they can encapsulate the creation and relationships of several objects or they can describe a one-time alteration to a single object...
Learn how to set up Continuous Integration and Continuous Deployment for your node.js Application from GitHub to Heroku.
Learn how to set up Continuous Integration and Continuous Deployment for node.js apps from GitHub to Nodejitsu in less than 5 minutes. We are proud to announce a new member in our Codeship deployments family: Nodejitsu! Recently we experienced increasing interest in node.js deploymen...
A little while ago I wrote about the differences between routing and switching, or probably more the difference between ethernet and IP forwarding. Then focus of that article was very much on the differences between the two from a forwarding hardware perspective. This article last week...
The JVM issues vary from Java OutOfMemory Error to JVM Crash. Application developers might be not completely equipped to determine the root cause of the issue, hence DevOps can play a vital role in narrowing down the issue and connecting the right people/team to rectify the problem. ...
If you have a slow test suite and you are asking yourself "how can I make my tests faster?" then you are asking the wrong question. Most chances are that you have bigger problems than just slow tests. The test slowness is merely the symptom; what you should really address is the cause....
It is 11 October, 2014. I am writing this in Kathmandu, capital of Nepal at the foot of the majestic Himalayas. The date is only marginally significant - it is now 2 years and seven months since I was successfully operated on for pancreatic cancer - but the location perhaps is more rev...
Having a good support workflow in place is essential to a good business. Have a look at this case study on how you can answer your support requests quickly and thoroughly without automating every single step. Everyone in our team does support. To help our users we need to work togethe...
WebSockets provide new protocol between client and server which runs over a persistent TCP connection. Through this open connection, bi-directional, full-duplex messages can be sent between the single TCP socket connection (simultaneously or back and forth). Because it is an independen...
Performance for end-users is the metric by which most businesses judge their web applications' performance: is the responsiveness of the application an asset or a liability to the business? Studies show that users are growing more and more demanding, while average pageloads are gettin...
With OpsWorks, we can easily segregate our development environments in Stacks and control how each project gets built via Chef recipes. OpsWorks binds directly with your code repository of choice. When you initiate a new build, it will pull in the latest changes and build them for you....