Monday, June 01, 2015
Sunday, May 31, 2015
Saturday, October 11, 2014
Tuesday, September 23, 2014
Ten Years of Blogging
This week ten years ago, I started blogging on software development. Here are the postings which drew most visitor attention (10k to 50k visitors):
#1: Top 10 Hibernate Performance Tuning Tips
#2: Tips for Lightning-Fast Insert Performance on SQL Server
#3: Hibernate: Joins without Associations
#4: How to improve Visual Studio .NET Build Performance
#5: MTU and the "Don't Fragment"-Bit
#6: When DataTable.Select() is slow, use DataView.FindRows()
#7: HashMap vs. TreeMap
#8: .NET 2.0, HttpWebRequest.KeepAlive and ServicePoint.ConnectionLimit
#9: Battleship Game Algorithm Explained (Part 1)
#10: Sorting Algorithms Visualized
#1: Top 10 Hibernate Performance Tuning Tips
#2: Tips for Lightning-Fast Insert Performance on SQL Server
#3: Hibernate: Joins without Associations
#4: How to improve Visual Studio .NET Build Performance
#5: MTU and the "Don't Fragment"-Bit
#6: When DataTable.Select() is slow, use DataView.FindRows()
#7: HashMap vs. TreeMap
#8: .NET 2.0, HttpWebRequest.KeepAlive and ServicePoint.ConnectionLimit
#9: Battleship Game Algorithm Explained (Part 1)
#10: Sorting Algorithms Visualized
Thursday, September 18, 2014
Ruxit - Application Monitoring for Cloud Natives
Cool, ruxit was launched today. I can't say there are too many lines of code I personally contributed, but still I was involved into its development for something like 1,5 years...
Wednesday, August 20, 2014
Job Openings at Compuware Austria
Current Job Openings at Compuware Austria
- Software Engineer
- Senior Software Engineer
- Webbased User Interface Developer - Java
- Technical Solution Engineer EMEA
- Technical Product Manager
- Online Community Owner
- Creative Designer
- Technical Inside Sales Services
Thursday, August 14, 2014
Wednesday, August 13, 2014
Java 7 Update 65 Breaks Rich Client WebStart Apps on Windows
Hello Oracle, anyone at home?
Java 7u65 either breaks or affects many rich client (AWT/SWT) WebStart apps on Windows, because the previous WebStart launcher was replaced by jp2launcher.exe, which is lacking a DLL dependency to the Windows common controls library comctl32.dll. Button labels are missing, grid controls are unusable, stuff like that .
That happened one month ago. The bug has been filed for OpenJDK as well as in the Oracle Java bug database (see Eclipse bug report comment section and this Oracle froum thread, the bug is still not public), but no official statement so far. There even has been another update since (Java 7 Update 67), but this one did not address it either.
In the meantime, one can only try to prevent Java 7u65 / 7u67 rollouts wherever possible. And I used Resource Hacker to compile and store the missing dependency section to jp2launcher.exe's manifest manually, which works. But that's of course a hack...
This is the missing section, in case someone wants to try the same (do at your own risk!):
<dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency>
Java 7u65 either breaks or affects many rich client (AWT/SWT) WebStart apps on Windows, because the previous WebStart launcher was replaced by jp2launcher.exe, which is lacking a DLL dependency to the Windows common controls library comctl32.dll. Button labels are missing, grid controls are unusable, stuff like that .
That happened one month ago. The bug has been filed for OpenJDK as well as in the Oracle Java bug database (see Eclipse bug report comment section and this Oracle froum thread, the bug is still not public), but no official statement so far. There even has been another update since (Java 7 Update 67), but this one did not address it either.
In the meantime, one can only try to prevent Java 7u65 / 7u67 rollouts wherever possible. And I used Resource Hacker to compile and store the missing dependency section to jp2launcher.exe's manifest manually, which works. But that's of course a hack...
This is the missing section, in case someone wants to try the same (do at your own risk!):
<dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency>
Wednesday, July 23, 2014
Nine Things Developers Want More Than Money
Rob Walling on Nine Things Developers Want More Than Money:
Eight years later, this article holds true as ever.
- Being Set Up to Succeed
- Having Excellent Management
- Learning New Things
- Exercising Creativity and Solving the Right Kind of Problems
- Having a Voice
- Being Recognized for Hard Work
- Building Something that Matters
- Building Software without an Act of Congress
- Having Few Legacy Constraints
Eight years later, this article holds true as ever.
Wednesday, June 11, 2014
Passing the Turing Test?
Oh come on! Read the transcripts of Eugene - the Turing test-beating 'human computer' - here.
Friday, February 14, 2014
UMDH is great for finding native memory leaks
When investigating native memleaks under Windows, Microsoft's UMDH (part of Microsoft Debugging Tools) is my tool of choice, combined with Application Verifier or gflags. Here is a short article explaining how to use it (it's actually pretty easy).
Tuesday, October 29, 2013
GParted Partition Manager
I run Ubuntu on a VirtualBox system, where I had reserved somewhat too little diskspace for getting our build system to work there (esp. when you have to build a specific gcc version up-front). While it's no problem to increase the size of the virtualized disk within VirtualBox, the partitioning within this disk, particularly of the root partition (the one that Ubuntu is actually running on), might turn out to be difficult to change on -the-fly. I then found and applied GParted to assign the additional disk space to the root partition, which - despite a "potential data loss risk" warning - worked like a charm.
Wednesday, October 23, 2013
Mutexes Vs. Semaphores
"A mutex is really a semaphore with value 1"While mutexes indeed are similar to binary semaphores, there is one significant difference: the principle of ownership. And fortunately Niall picked up that up in his excellent series on Mutexes vs. Semaphores. Here is part 1, part 2 and part 3.
No, no and no again. Unfortunately this kind of talk leads to all sorts of confusion and misunderstanding
Another one, more compact explanation comes from Michael Barr in Mutexes and Semaphores Demystified.
Tuesday, October 15, 2013
C Operator Precedence
Original 1982 net.lang.c posting by Dennis Ritchie. "Several hundred kilobytes of source code, and maybe 3 installations", I guess that explains it :-)
From decvax!harpo!npoiv!alice!research!dmr Fri Oct 22 01:04:10 1982
Subject: Operator precedence
Newsgroups: net.lang.c
The priorities of && || vs. == etc. came about in the following way.
Early C had no separate operators for & and && or | and ||. (Got that?) Instead it used the notion (inherited from B and BCPL) of "truth-value context": where a Boolean value was expected, after "if" and "while" and so forth, the & and | operators were interpreted as && and || are now; in ordinary expressions, the bitwise interpretations were used. It worked out pretty well, but was hard to explain. (There was the notion of "top-level operators" in a truth-value context.)
The precedence of & and | were as they are now.
Primarily at the urging of Alan Snyder, the && and || operators were added. This successfully separated the concepts of bitwise operations and short-circuit Boolean evaluation. However, I had cold feet about the precedence problems. For example, there were lots of programs with things like
if (a==b & c==d) ...
In retrospect it would have been better to go ahead and change the precedence of & to higher than ==, but it seemed safer just to split & and && without moving & past an existing operator. (After all, we had several hundred kilobytes of source code, and maybe 3 installations....)
Dennis Ritchie
Monday, October 14, 2013
Stop The NoSQL Hype
It was about time someone puts a stop sign to that NoSQL hype. Thank you Google for F1.
Subscribe to:
Comments (Atom)

