Goodbye Aperture, welcome Lightroom 6

Apple decided to release a “better” application called Photos which replaces Aperture. After testing the new photos application with my photos collection I made also a decision. I need to replace the new “better” photos application by a even more better application…

Why? Photos does not support manually geo tagging pictures anymore. Automatic generated “Moments” are no match for manually created “Projects”. Improving pictures is not as powerful as the means of Aperture. Storing pictures online in iCloud is no option for me.

I like to photograph and already have a big collections of pictures from family, holidays, trips and sport. So one important feature for me is organizing pictures with means of searching and finding pictures by locations and/or persons. Stay with aperture is no solution, too. Riding a dead horse was never a good idea…

Luckily Adobe made a decision at the right time, too. They added a features I was missing in Lightroom so far – face recognition. And they also provided a plugin to import Aperture Libraries. If you have about 100000 images it’s a big deal to change the picture database even with support scripts. The reason to change must be really good. About riding a dead horse. Thats a very good reason!

Now (after a few week of work) I have switched to Lightroom. I am getting used to the Lightroom workflow and have to confess that some new features are really great. e.g. panorama pictures.

Here is the bad stuff. Of course. First off all, the Adobe license model is strange. The preferred way of Adobe is renting – not selling. Education discount is only available for the rented version of the bigger license packages (with photoshop and other stuff). Only for Lightroom there is no discount. Luckily there is a standalone version to buy (somewhere hidden in a dark corner of the page) but this also does not get an education discount and no updates except bug fixes.

The other bad stuff is also a warning. Do not delete your Aperture Library after importing to Lightroom too fast. The importer DOES NOT take geo tags which were manually set by you in aperture. They are silently swallowed. Only geo tags automatically set by e.g. iphone are handled correctly. Read more about this topic in the Adobe forum.

IntelliJ IDEA 13 with Yosemite

Trying to start IntelliJ IDEA 13 under Yosemite leads to a popup window and tells you to use Java6. There is a simple workaround to prevent this problem by changing the Info.plist inside the IntelliJ application package. Search for the following xml code and replace the 1.6* by the java version you are running.

<key>JVMVersion</key>
<string>1.6*</string>

According to this support article it is not advised by JetBrains to do so. Do the change on own risk. I am using IDEA 13.x with Java 1.8 and Yosemite mainly for JavaEE development and do not suffer from the listed problems. At least I do not recognize e.g. the alt key problem. And the big ones like crashes do not occur.

Back from holiday

After two weeks in Sardinia I am back with some Gigabyte of photos and videos. The workflow for the pictures I took with my SLR is well known. This time I used my GoPro Hero3 the second time under real conditions and need to handle the videos I shot. Normally I do only photos and my tools stack is not existing for this type of task. I will try out the GoPro Studio Software for preprocessing the videos.

Before starting with video. Here is a picture I shot in photo mode.

Moray

Howto Encrypt Your E-Mail

To encrypt email communication can be really simple. If you  want to communicate in a  secure way to your friends you can achieve this in only a few minutes. It does not have to be complicated.

There are some good technologies you can use for this task. The most common are PGP and X509 certificates. Both are public key systems and consist of two parts. One is public and the other is secret (and kept on your own computer). If you want to send someone else a encrypted mail you need to have the public part of that person. Here comes the problem: you need to have the public part of the other person. For that reason there is the “Web of Trust” in PGP and Trust Center in X509 to verify the owner of a special public part to ease the key exchange.

BUT if you only want to communicate with a few friends in a secure way that infrastructure is not necessary at all. Generate your keys, exchange with your friends, communicate.

Here are the basic steps to achieve this with X509 certificates.

  1. Download and Install OpenSSLfor your platform. (if not already installed on your computer. Many linux systems have it installed by default)
  2. Create your certificate with following command:
    openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 356
    and answer all questions. The only important field is the EMail Adress. This has to be the address which is used for this certificate. All other you write whatever you want.
  3. Congratulation! Now you have a so called self signed certificate.

What next? You have to install this certificate to use it with your mail program. Yes, it also mean you need a mail program and cannot you web mail. How to install depends on your mail program and operating system and is another story. Check the manual of your mail client and follow the steps to install.

Now you are ready but for communication at least two persons are involved. Export the public part of your shiny new certificate and bring it to your friends. The best way is by visiting them and give it to them in a private meeting. Why? To be sure the have right key. We have created our own certificate and do not use a trust center as “trusted” third person which everybody trust.

About trust. We do not use a trust center in this setup. So not root certificate proofs that our certificate is valid. Sounds insecure? Not really. Why? Because we exchanged our keys by ourself. Thats the most secure way exists. All other “Stuff” like root certificate from trust center around certificate (and web of trust in case of PGP) have the only purpose to verify that a key belongs to the person which name is stored in the certificate (remember the information from step 2).

Encrypting your communication is the best way to protect your privacy.  It is a tool to help improve security but it is no solution to solve the problem of illegal communication surveillance. Only the content of your mail is encrypted. The destination cannot be secured and it is still possible to monitor which people you write to.

Dear Google, Dear USA

I am so angry I even write a blog entry. If you check my blog history you can see that is really something special.

So far I used Google Analytics to get some information about my blog. From where, how often, how long, and so on. It is a very good service and the results are really good. Now, after the latest news about PRISM and Co. I started to think about the privacy statements of that service again. If Google tells me  in their terms of services that my data related to visitors is stored secure and confidential than I am not sure anymore who and where my data is stored elsewhere and what happens with it.

Every week another piece of informations drops into the public about secret surveillance programs. What exactly these programs do is still unknown. From official site everything is legal and we should be glad that these systems make our life more secure. But how? That’s secret, too. Of course these systems are controlled – by secret rules of course. The fact that PRISM is an United States System also means that as an non US citizen you have no right at all for asking which data is stored about you. (You can ask the companies, but in case of a national security letter you will get no useful answer).

All secret surveillance programs in general have one big flaw. They are the exact opposite of freedom and democracy. How can people vote for a party to form a government if politicians do things nobody is allowed to know? How can justice work it is not possible to control the judges?

What can I do? Unfortunately not much. At first I decided to remove Google Analytics. It is really not much but at least I can express my anger about it. Sorry Google, but there is not enough trust in your system (and server location) anymore. Now I am using Piwik and count visitors on my own server. This also improves privacy for visitors because this information can not be used to track surfing behavior across different websites.

The Joel Test

Writing good software is a difficult job. There are also thousand of books and methods out there to tell you how to improve your development process to make your software better. It’s a lifetime job to read them all. There are also very simple solutions to check whether you are on the right track to do it right. One surprisingly simple method is the Joel Test.
Ask yourself the following questions and for every yes you get one point. If you have less than ten points in the end you have a problem…
  1. Do you use source control?
  2. Can you make a build in one step?
  3. Do you make daily builds?
  4. Do you have a bug database?
  5. Do you fix bugs before writing new code?
  6. Do you have an up-to-date schedule?
  7. Do you have a spec?
  8. Do programmers have quiet working conditions?
  9. Do you use the best tools money can buy?
  10. Do you have testers?
  11. Do new candidates write code during their interview?
  12. Do you do hallway usability testing?

 

NeoAxis Game Engine

While working with Ogre3D and reading the news on their page I found a project called NeoAxis. A game engine using Ogre for graphic rendering written in C#. The screenshots are promising and the feature list contains everything I need. Physics, graphics, input control and last but not least support for multiple platforms.

I have downloaded the NeoAxis SDK and started a bit to work with it. The demos in the SDK are great. All features are shown in one big game. In this game is a long corridor with many doors. You can walk thru in first person view  and enter door by door. Behind every door one feature is shown. The source code for the demos can be found in the SDK, too, to see how it works. For some genres there are finished templates available. For example first and third persons games. You only have to find the right demo and change the code for your needs. The wiki contains documentation of the basic structure of NeoAxis and refers to the right demo source code. The main development platform for NeoAxis is MS Visual Studio but there is an deployment tool which builds and prepares packages for different platforms.

After some programming with NeoAxis and a good impression I also found some problems which made this sdk not the first choose for me. Here are some of the reasons I stopped working with it. The deployment tool delivers windows and mac binaries. For Linux is the advised solution to take wine. Ok, that will work but is not really a good solution because the user has to do a lot of work to get the software running. Due to visual studio is the  development platform it was a bit unconvenient to reboot every time I would like to develop with NeoAxis. A virtual machine was not enough because of heavy use of shaders in the graphic engine. The result was 3fps instead of 250fps during the demos. The style the documentation is written make it hard to start. Everything is in the demo code and you search the parts you need. An answer how to develop and deploy more than one application with a single installation I have never found. Except to install the sdk multiple times…

NeoAxis  is worth a look for you if you search for a C# based game engine. The graphic is nice and there are already existing templates to modify. Perhaps I did not find the right documentation to get a good access to it. And last if  you develop on windows than many problems I have had you probably will not have.