arkascha on March 5th, 2014

Every once in a while when working on some software project you require some utilities and tools to test your approach. Usually when looking around you will find a wealth of options for such purposes, often even free software with all its advantages of being able to adapt and enhance it as required. So typically it is more a question of having to decide upon which one than of searching for it. But sometimes it turns out that your requirements are simply too narrow, too special to be fulfilled by some available solution. In such cases you either have to skip testing (rarely a good idea…), radically change your testing strategy, or you simply craft your own utility perfectly tailored to your needs.

This is the story behind the “queueue counter” which I just finished. Here is an impression of how it currently looks, although the core display actually is very flexible in its optical appearance. It is fun to play around with and allowed me to learn some more valuable tricks during the implementation.

Example appearance

Wanna give it a try? Just grab the package, unpack it in your local file system and point a web browser to its top level index file. Or just simply click the screenshot above…

Oh, and just don’t ask what “queueue” is… you will learn later ;-)

Tags: ,

arkascha on February 23rd, 2014

Die Entwicklungen in der Ukraine haben während der vergangenen Wochen oft die Tagesmeldung dominiert. Gerade erst zeigt sich erneut eine massive Bewegung und vielleicht auch Wende in diesem umstritten Land ab. Und auch wenn mein persönliches Interesse an den Entwicklungen eher privat motiviert ist, so denke ich doch, dass diese Entwicklungen insgesamt wichtig sind. Ich ahne, dass wir hier etwas beobachten, was noch sehr weite Kreise ziehen wird.

Die Lämmer haben sich erhoben. Sie haben den Zaun nieder gerissen, sind ausgebüchst. Was weiter?

Bedeutungsschwanger hängen diesen Abend die Worte Timoschenkos im Raum: “schon bald wird sich die Ukraine der EU anschließen”. Nehmen wir einmal davon Abstand, dass dies wohl keine Entscheidung sein wird, die in der Ukraine getroffen wird. Und dass das wohl definitiv nicht der Verdienst einer Julia Timoscheko sein würde. Oder auch davon, dass das jetzt nicht mehr ist, als ein reisserischer Satz, einer Menge hingeworfen, die sich nach pro-westlichen Parolen sehnt, nachdem die nationale Politik sie so demonstrativ im Stich gelassen hat. Und auch davon, dass diese Füchsin, die sich immer so gewandt herauszuwinden vermochte, zuvor zurecht verurteilt wurde, weil sie selber ihr Volk verraten und im großen Stil in die eigene Tasche gewirtschaftet hat.
Dennoch scheint es mir, als ob dieser Satz die volle Wahrheit enthalten könnte.
Ich denke, die Ukraine wird extrem bald der EU angegliedert werden, ob das nun gut oder schlecht ist.

Tatsächlich ist der heutige Umschwung in der Ukraine (so er denn währt!) die größte Niederlage, die für die russischen Interessen in der Ukraine denkbar gewesen wäre. Massiver russischer Interessen in Politik und Wirtschaft. Moskau hat die Ukraine lange als direktes Einflussgebiet betrachtet. Eine Geflecht aus millitärischen, politischen und wirtschaftlichen Interessen macht diesen Punkt zu einer essenziellen Frage für das russische Selbstverständnis. Die russische Mehrheit auf der Krim, die Häfen der russischen Schwarzmeerflotte, Gaslieferungen und andere Details sind Realitäten, die für sich stehen.
Die massive russische Intervention der vergangenen Wochen und Monate gegen den zaghaft west-gerichteten Dialog der Ukraine hat konkrete Gründe. Auf der Seite der russischen Macht-Elite gibt es massive Angst vor einem Übergriff der pro-westlichen Stimmungen. Gerade wegen der traditionell engen Beziehungen “der drei großen russischen Städte” Moskau, Sankt Petersburg und Kiev scheint die Dämmerung in der Ukraine ein flackerndes Licht auf russisches Territorium zu werden. Flackernd nur, aber sichtbar. Was wird die “russiche Seele” tun? Was passiert, wenn die Menschen in Russland unruhig werden? Wer will schon ewig der Vergangenheit überlassen bleiben, wenn alles um ihn herum diese Fesseln abstreift?

Aber einmal anders herum gefragt: was wird “der Westen” tun, wenn die Unruhen auf Russland übergreifen? Was wird im Osten geschehen? Wir spekulieren hier über eine globale Revolution, über nichts anderes. Ist diese denkbar? Ist diese wahrscheinlich? Ich weiß es nicht. Aber die russischen Machthaber sind ganz offensichtlich extrem nervös. Und das wird seine Gründe haben.
Gerade hat Putin (und Co? eher nicht… (wer schon)) eine schallende Ohrfeige erhalten. Ihre Versuch, die Ukraine fernzusteuern, ist gescheitert. Ihre Marionette, ausgerechnet Janukowitsch, der ja zuvor in Moskau in Ungnade gefallen war, konnte sich nicht halten. Und dies ausgerechnet, nachdem die russische Seite nach massivem und hartem Zuschlagen gegen jegwede Opposition in der Ukraine verlangt hatte. Offiziell verlangt hatte. Befohlen hatte. Und diese Befehle letztlich von den machtausübenden Gewalten in der Ukraine nicht befolgt wurden. Eine bittere, aber eben klare Niederlage.

Es ist eine persönliche Niederlage Putins. Nicht die erste wirkliche Niederlage Putins, aber eine schmerzhafte, weil öffentliche. Was wird der in die Enge getriebene Wolf tun?

Meine Meinung: der Wolf wird abwarten. Und dann zuschnappen, sobald sich eine Gelegenheit ergibt. Das ist seine Natur. Er wird nicht offen angreifen mit seinem Rudel. Sondern sich im Schatten bewegen und Angst verbreiten. Seine Aura wirken lassen, dass, was ihn so gefürchtet macht. Seine permanente Präsenz. Seine implizite Drohung, spürbar selbst dann wenn er selbst nicht sichtbar ist. Putin wird nicht die Ukraine besetzen. Aber ganz sicher wird er die Niederlage nicht einfach hinnehmen. Das kann er nicht, damit würde er sich innenpolitisch massiv schwächen. Er wird keinen offenen Angriff auf die Lämmer auf der Waldlichtung wagen. Wahrscheinlich würde er damit sogar durchkommen, einfach weil der Rest der Welt kein wirkliches Interesse an einer Konfrontation hat. Schon jetzt sieht man ja dass der Westen mehr darauf schaut, seine Energielieferungen nicht zu verteuern und Wachstumsstrategien nicht zu gefährden. Nicht für ein Land, dass selbst sehr zögerlich nur offensichtlich notwendige Reformen angegangen ist. Erst recht nicht für die Menschen in diesem Land. Und diese werden es natürlich auch sein die man später als bedauernswerte Verlierer betrachtet: zwischen die Fronten geraten, zerrieben, weggeschoben. Der Wolf wird kein ganzes Lamm reissen, aber sich ein Mahl schmecken lassen, dass er aus der Flanke eines Lamms heraus gerissen hat. Denn mehr als das panische Blöken der Mutteschafe hat er kaum zu befürchten.

arkascha on November 29th, 2013

a library for unit carrying mathematical computations

In my last project I faced a few tasks of page layouting in a dynamic manner. I had to code rules to position and scale elements on documents with the complication of all data being of dynamic nature. So forget using a clean sheet of paper, a pencil, a ruler and a pocket calculator. Instead a basic layout has to be filled at runtime with data from various sources, text, logos, plans, tables. Sure, not such a complex thing from a mathematical point of view: geometry defines all required tools, all computation rules to find out where to position the top left corner of a logo file which has to be scaled by what factor to fit inside a predefined area whilst still leaving some space defined elsewhere. All fine, so let’s go… However everyone who has coded such a layouting routine will agree that this quickly leads to endless monotonous computations in the code, an flowing list of numbers getting converted, added, subtracted, factored. When you want to find out afterwards why that code scales a logo slightly wider than expected things get annoying. Because all you see is endless computations, but no layouting.

So instead (ok, after a few frustrating hours) I created a simple library to be able to use higher level concepts of geometry for this. Instead of computing an endless series of numbers and trying to keep the code readable by using self-explaning variable names I now can use things like an “area” or a “distance”. This immediately results in much shorter code, since all those endless computations are not inside the layouting routines any more, but safely stored away in the tested types offered by the library. The extra topping you can always expect if I implement something is this:

The library knows about units! And how to handle them! This means: you can define an area by its dimensions, say 200cm x 3,5m and subtract a length of 567mm from its width. The resulting area does not only have the correct size, you can also ask its size in whatever units you want to, let’s say feet (though I never understood the concept of that twisted and just plain stupid american units system). So you can simply code what layout operation you want, specify the units your measurement numbers are in and things work. You get a logos dimensions in pixels, whilst your page layout is measured in mm? Fine, just place the logo and have it scaled. The library does the computation.

The current implementation lives on github. It certainly is limited, there is little sense in coding completeness without usage. But I am convinced that there are new challenges to come, be it for me or someone else. So let’s see, it would be great if more types in geometry, more fields in physics and even stuff beyond that (finance, chemisty, …) would get implemented by the time they are required. Everyone is invited to try the library, use it in open projects and contribute extensions!

Tags: , ,

arkascha on August 30th, 2013

Im App-Store des owncloud-Projekts wurde ein “Mobile compatible theme” veröffentlicht. Ziel ist es, die owncloud Oberfläche besser an mobile Endgeräte anzupassen, dort also besser nutzbar zu machen. Diese Geräte haben ja einen kleinen Bildschirm, geringere Auflösung und werden per Touchscreen bedient, was in Relation gesehen ungenauer ist als eine Maus.

Ich habe mich über einen Hinweis in der Beschreibung gefreut:

IMPORTANT : YOU SHOULD ACTIVATE "FluXX compensator" APPLICATION FOR BETTER HANDLING

 

mobile-compatible-theme

arkascha on July 10th, 2013

Whilst browsing through the web looking for hints on how to work around some annoying issue with a programming task I did not make any progress over the last hour I also came over to the famous Stackoverflow board. That is a high quality tech exchange site where IT professionals (and those trying to) help each other on a give and take base. Actually I quite like that board, it wisely uses “gamification” to motivate users to contribute good answers.

One specific question was asked right when I looked at the list and it caught my eye…


Screenshort stackoverflow


Guess what: I could not resist to answer myself :-)

Tags: , ,