The basics of 3D simulation in Java

Recently, I seized the opportunity to recreate a 3D simulation program that I made during my University years. Back then, I didn’t know about versioning systems, and there was nothing like GitHub, so the code has been lost. But as I still remember how I implemented different parts of the program, I started the task, and put it on GitHub.

Continue reading The basics of 3D simulation in Java

Cookies and Internet Explorer

Cookies for everybodyImagine you have a Zend Framework (version 1) application on a domain example.org, and another on a domain admin.example.org. They both have authentication mechanisms using Zend_Auth. This authentication information is stored in a browser cookie. Now I came across this problem that being logged in on both systems does not pose any problems with Google Chrome or Mozilla Firefox, but for some very strange reason, Microsoft Internet Explorer didn’t like it. The admin.example.org domain would be broken if you were logged in on example.org first. The server spewed out a 500 Internal Error, so I checked in the server logs to see what the heck was happening.
Continue reading Cookies and Internet Explorer

Living in Japan with multiple names

Recently, I faced a little bureaucratic obstacle in Japan. If people tell you Japanese people are very precise, they are probably right: they are very precise. Of course it is a good thing, but it can get annoying at times. A few times I had to be extra cautious to tell people the exact, and I mean exact, name in katakana, as shown on my bank card, because if they used the wrong name with a slightly different spelling, they won’t be able to send me my money, even if the target bank account number was correct.

Japanese people have a family name, and their own name, in that order, because the family is more important than their individual selves.

My full name is Wouter Kees-Jan Thielen, four names, not too uncommon back in Holland, but in Japan, they have never heard of middle names. Japanese people have a family name, and their own name, in that order, because the family is more important than their individual selves. And you address them with their last names, unless you are very, very close to them. So I figured my name would be Thielen Wouter in Japanese, and I use ティールン・ウォータ for the katakana version, just like it is pronounced, closely enough.

For my company to be able to wire me my salary, I had to open a bank account. I went to the bank, and during the registration process, I was asked to write down my full name, as shown on my passport, in katakana. Back then, I had barely arrived in Japan and I hadn’t really thought much about it yet. I put down ティーレン・ウォータ・ケース・ジャン in my haste. The worst bit is, it was spelled wrongly, directly from the Western alphabet, with a clear “e” in the last syllable of “Thielen” while it should be a schwa, like the “e” in “taken”. Also, the “Jan” part was transcribed with an English “J”, like in “jazz”, while it really should be like the “Y” in “year”. At first, I thought nothing of it, but the problems started later.

Continue reading Living in Japan with multiple names

Webcam streaming, signals, and Computer Vision

In my previous blog post, I wrote about my webcam library, which I recently applied to an SDL application to show streaming pictures in an SDL frame, and it works pretty well. The code can be found in a branch on my GitHub.

When I posted about my webcam library on a social network, someone mentioned a C++ library that would do all the computer vision stuff I mentioned in the blog post. This library is called OpenCV. I took a quick look, and it seems very feature-rich. It is supposed to have a set of functions for accessing the webcam as well. I guess I should read more on motion analysis and object tracking, but first I’ll play with some of the basic features of OpenCV, such as image processing and image analysis.

Continue reading Webcam streaming, signals, and Computer Vision

Simple webcam access in C

I have been wanting to write something that detects things in real-time, on images streamed from a webcam. People who have watched the RoboCop, Terminator, or Iron Man movies, will probably remember the rectangles or circles around objects in video, with a description next to it. While having a rectangle around my head would be a good start, I’d like my computer to also recognize other things, such as a book, a key or any other object. But to do this, I needed a simple interface to my webcam, so that I can say with one function that I want to read in a frame from the webcam.

Continue reading Simple webcam access in C