August 17, 2014

Database Development: Comparing Python and Java ORM Performance
I have a good deal of experience with Java, which helped me in getting the Java ORM working, but a beginner might not be able to get past the setup difficulties. However, having used and written about both languages, I should note that despite these occasional difficulties my preference would generally be to use Java. Why? Well, Java is a proven technology; out of the box, Java is structured, secure, strongly typed, and thread-safe. Anyway, that's enough grumbling. Let's see how to set up some ORM code in these two languages.


Parallel-lazy Performance: Java 8 vs Scala vs GS Collections
Sponsored by Goldman Sachs. Java 8 has Streams, Scala has parallel collections, and GS Collections has ParallelIterables. Since we use parallelism to achieve better performance, it's interesting to ask: how well do they perform? We'll look at how these three APIs work with a critical eye toward performance. We'll also look at common performance pitfalls. Listen to Craig Motlin, the technical lead for GS Collections, a full-featured open-source Collections library for Java and the author of the framework's parallel, lazy API


MaxClients in Apache and its effect on Tomcat during Full GC
Let's see how the MaxClients option in Apache affects the system when Full GC has occurred in Tomcat. Most developers know that "stop the world (STW) phenomenon" occurs when GC has occurred in Java (for more refer to Understanding Java Garbage Collection). In particular, Java developers at NHN may have experienced faults caused by GC-related issues in Tomcat. Because Java Virtual Machine (JVM) manages the memory, Java-based systems cannot be free of the STW phenomenon caused by GC. Several times a day, GC occurs in services you have developed and currently operate. In this situation, even if TTS caused by faults does not occur, services may return unexpected 503 errors to users.


Performance Comparison of Virtual Machines and Linux Containers
The results show that Docker equals or exceeds KVM performance in every case tested. For CPU and memory performance KVM and Docker introduce a measurable but negligible overhead, although for I/O intensive applications both require tuning. Docker performance degrades when using files stored in AUFS, compared to using volumes, that have better performance. A volume is a specially-designated directory within one or more containers that bypasses the union file system, so it does not have the overhead that the storage backends may have. The default AUFS backend causes significant I/O overhead specially when using many layers and deep nested directory hierarchies.


Getting Serious About IPv6 – Go Big or Go Home
Think carefully before you just start shutting off IPv6. Remember, it is enabled and preferred and if your existing production network is using IPv6 for some of its network traffic you will have a production outage while you disable IPv6. Furthermore, you might not even know all the applications that ARE using IPv6, have fun troubleshooting that one. Even after you think you have turned off IPv6 on your equipment, how often do you actually audit and check to see if it is running? Does it get re-enabled with OS patches and updates? What about third party equipment that runs on your network or wireless/wired guest network?


Pattern Recognition Algorithm Recognizes When Drivers Are on the Phone
A dashboard camera in front of the driver is well-positioned to spot cell phone use. Their system processes the images from this camera in three steps. First, it locates the driver and crops the image to show just the face and area to each side of the face. The idea is to see the driver’s hands should they be raised next to the ear in holding a mobile phone while making a call. Next, it identifies any skin pixels in the image and assesses the position of these pixels. It then segments the image into areas showing face and hands. Finally, it assesses the likelihood that the driver is on a call and issues a warning accordingly.


Oracle slaps Oregon with a lawsuit over troubled Obamacare website
A key bone of contention in the dispute centers around the fact that Oregon hired Oracle on a time-and-materials basis, with the state serving as its own systems integrator. “That decision was akin to an individual with no construction experience undertaking to manage the processes of designing and building a massive multi-use downtown skyscraper without an architect or general contractor,” Oracle said. Another alleged flaw in the state’s approach: It decided to build Cover Oregon at the same time it was embarking on a major IT modernization project for other aspects of its health and human services operations.


SQL Server Change Tracking: A Near Bullet-Proof ETL Solution
This segment will introduce the concept of CT as well as provide a substantive demo (i.e., something better than a hello world example) of CT’s functionality. CT was introduced with SQL Server 2008R2 and unlike Change Data Capture (CDC) is available for all versions of SQL Server 2008 (and later) including SQL Server Express. CT captures changes to database table rows over a period of time. It does not record each change during that period, but retains the net changes by tracking the individual rows (using the Primary Key) that have changed. Thus, it is great for data extraction/synchronization, but not for auditing (that is CDC’s area of expertise).


An Introduction to Functional Programming with Java 8
Given functional programming has been around since the 50s, and until recently mostly disregarded by the mainstream, why has it become such a hot topic? My opinion is that it’s because of its ability to easily process work in parallel taking advantage of multi-core processors, lazy (on-demand) evaluation, and ease of integration with other languages such as Java. Certainly the JVM has provided a good base for Scala which can even be embedded in a Java program, giving the best of both worlds plus an easier migration path for developers.


Three Secrets of Organizational Effectiveness
These are, of course, widely appreciated management methods for raising performance. But they’re rarely put into practice. Perhaps it’s because they feel counterintuitive to many managers. Even the leaders who use them, and whose enterprises benefit from the results, don’t know why they work. So the value of these powerful practices is often overlooked. That’s where neuroscience comes in. Breakthroughs in human brain research (using conventional experimental psychology research in addition to relatively new technologies like CT scans and magnetic resonance imaging) are revealing new insights about cognitive processes.



Quote for the day:

"The first and best victory is to conquer self." -- Plato