Category Archives: Software

history repeats itself

Here I am, on the wings of slowly calming down annoyance.

Stop reading for a moment and think about the most annoying thing you encountered in linux. For me, it is definitely the never-ending dependancy waterfall. Satisfying the requirements of application’s requirements. It reminds me of the unique feeling of dealing with “dirty laundry” – in the very same moment you finish the laundry, the dirty clothes basket is half-full again. The story might resemble the myth of Sisyphus and yes, it does feel like it.

However, the topic of this post have nothing to do with Greek mythology, or even with dirty laundry. It is all about javascript and the carnival of happy frameworks jumping euphorically around it.. And about ruby.. And about java.. And about php or whatever precedes java in the web development..

First of all, I’m in love with angularjs. Said so, please don’t nail me to the cross for writing the following lines.

As all good stories, this one begins with nodejs. But nodejs is not so interesting on its own. So you, young traveller, will need a backpack of toys, just to create a simple angularjs project. Because as we all know, unit tests are even more important than the 10 hours you’ll spend collecting all the dependancies for the testing framework. And even more important than the century you’ll spent writing and maintaining them. Of course, they will protect your clean code from one or two typos in the absence of a compiler. And, of course you’ll be up-to-date with the latest fashion in software development. Therefore, it must be worth it.

As everyone knows, one programming language alone is not enough to build a page showing “hello world”. Two hours later and you have successfully downloaded all dependancies to start and half of the internet on your machine. But is it enough? Silly question, since there is still another half internet to board in the deepest folders of your personal space. Places, you even don’t know the existence of. Security? You gave that virtue 2 hours ago in exchange for the sweet feeling of completing something. And yet, you still haven’t accomplished anything. Except “reading” the 20-page agreement and selling your soul to google, microsoft, apple and Facebook at the same time.. At least you can hope that at the end their lawyers will fight spectacularly for its possession. Where was I.. Ah, ruby.. all the fancy js frameworks want ruby and compass and probably cupcakes, who knows.. The important thing is, you spent a quarter of your life to get here, so you are more than willing to make them happy.. even if they want world peace, or unicorns.. Nothing can stop you now.

Tomorrow the sun will rise again and new generation of programmers will be born. And this new generation will come up with simple tools to accomplish complicated tasks. And their tools will evolve in unmanageable ball of config files and libraries.. So it was, so it will be.. After all, our only purpose in this funny world is to increase the entropy. And as I am getting madder from loosing control of my time, I also get prouder of being part of all this insanely creative dough called humanity.

Game Jam Hammerzeit^2

The second Gameforge company internal Game Jam is over. It was awesome! 49 hours of awesomeness! Every single participant was awesome! But my team members are the best! :) Haven’t got so much fun in a while.

The topic of the game jam was “Light and shadow” and we used unity3d to create a small puzzle game. Here’s the story: You are the invisible player, who is the landlord of a huge castle. Your only tenant is a vampire, who has the unfortunate habit to sleepwalk in a search of his noon snack. The way to the fridge is, however, dangerous at noon, since the light is generously spreading through the huge room windows. Luckily enough, you have those fancy “poltergeist” powers and can move some loose objects in the room to block the spreading light and protect your friendly tenant. But be extremely careful, because your tenant is very sensitive in his sleepwalk, so even the weak luminance from the room lights can harm him.

Here’s the link to the submitted version of the Jampire game: Jampire . And to play, you just have to know, that the game was originally designed to be played on a mobile device with touch screen. So if you want to be able to move the objects around, then you have to position your mouse close to the object you wanna move and keep the mouse pressed for like a second until the object turns green. Then drag the heavy thing where it will be useful. Scrolling the game screen down or up is very easy with short click and fast drag in the wanted direction (up or down).

The most difficult part of an awesome game jam is getting back to reality afterwards.. It’s kinda strange to accept, that your problems are more like searching for a toilet paper roll left on Sunday night in Germany, rather than strangely flying cupboards, unwanted teleportation of vampires or not enough time to build the on-off switch of the Dracula’s fridge light .. Damn it..

Bubble Melody

I recently started a new “one-day-project”. It was originally created as a solution for the final peer assessment project on coursera’s “Creative Programming for Digital Media & Mobile Apps“.
Here’s the video that shows the bubble project:

It uses the box2d physics engine to simulate gravity, dependent on the mobile device’s accelerometer’s data. And the code is pretty neat and compact, thanks to some object-oriented concepts.. :)

The submission deadline is 29.07.2013, so I cannot reveal the code right now, but after the submission phase, I will provide a github link for everyone who wants to play and improve the simple bubble melody app.

… And, as promised: https://github.com/zetabeta/one_day_projects/ (BubbleMelody folder)

Processing

Have you ever heard of MIT’s Processing?

It is very simple and very powerful programming language/environment for experimental stuff. I recently started to play with it, so here’s my first simple program to visualize the Koch’s snowflake fractal. It is, indeed nothing much, but it clearly shows how easy is creating classes and extracting functionality in methods with Processing (which is no surprise, since Processing is java-based).

The interactive part is, that on mouse click the snowflake changes it’s stroke color and order, depending on the x-y coordinates of the mouse pointer during the click time.

It is so much fun, so stay tuned.. There is more to come.. :)

And here is a video, of how can you creatively use the provided code: