Elon Musk tweeted an interesting screenshot today. It sounded very much like a bunch of rules applying to the modern office work space. However, it was taken out of a CIA manual from 1944 on how to sabotage a corporation … ugh !?
Building a WiX msi installer resulted in duplicate installation when a new version was installed. This was
strange, then I have made sure to provide an upgrade code like so:
1<ProductId="*"2Language="1033"3UpgradeCode="DB9B0021-ED5D-4E9F-B17F-34A72D2D9689"4Manufacturer="[Copy Right Info]"5Name="[Product Name]"6Version="1.0.1">
Java NIO and NIO2 interfaces bring some improvements to the
file/stream interfaces. Let’s see what has changed since the dark
ages of the inter-blago-tubes of the 90ies. Here is a brief history of the java I/O interfaces:
The first one is Java I/O that is introduced in 1996 in the very first version of the JDK.
The second, Java NIO has been added to the JDK in 2002, Java 4.
The third, in 2011, in Java 7, Java NIO2 was introduced.
Over time, the following improvements have been added: Buffered readers/writers, bidirectional channels, off-heap buffering, proper support for charsets and asynchronous operations.
Probably the biggest difference between java.io and java.nio is, however, that java.nio can be used in non-blocking mode. This means that multiple streams can run in the same process/thread. This should, in theory, speed up performance because task/thread switching comes with some cost.
For testing it is sometimes very tedious to always compile and run the small C programs I use as utilities. So I thought, why not use the shebang for this. After investigating how the shebang mechanism works I figured a small bash script would do the trick.
The way Apples Time Machine works is really admireable. It is
a fascinatingly simple solution in principle: Every incremental backup
is a collection of hard links to the last backup. Then only the Files
that have been changed are replaced with and updated copy.