SOS-Kinderdorf decline donation from gamers

31 07 2009

i’ve just read on shortnews that SOS-Kinderdorf decline a donation from a gaming network called Gamersunity.
The reason from Thomas Laker that this site is supporting users by doing virtual violence against imaginary human beings. To sad that a organization of that size still tries to get popularity by holding other helper down. Only because gaming has been marked in the past as the ultimate evil SOS-Kinderdorf does the populism trick to get attention again. The really evil industry will be untouched cause they spend much more money. Can that be called as Corruption? It would be interesting if the denies a donation from Micheal Jackson (he was definitely the ultimate evil if we talk about child safty) but i don’t think so.
Anyway -> Don’t spend money for SOS-Kinderdorf anymore, and tell everybody they don’t want money from virtual violent people. Only if you force Childs to work or you do real violence to childs your a welcome donor for SOS-Kinderdorfer (or a potential „child shopper“ like maddona. need money anymore. If you want to make things better in the world -> investigate in businesses in that country and help the people to help them self.
Go there in Holidays, get Fairtraid products and just buy more products of that reagion. Spend money for Green Peace or any other organization which is not that marketing hypocritical.
I just can say -> get your money from Nike and all other companys which produce cheap products in chine which force childs to work for famine wages. As long as you don’t want to see who produce the problems you want to fight against you don’t deserve any support.

fight the reason not the consequence.

Same issues with german censorship of internet domains (just look at china how well censorship works is for political knowledge and child protection).





news from MS

30 05 2009

Green IT was yesterday, Microsoft azure is incoming and tries to build up a global IT infrastructure for Cloud Computing. Seriously i do like Cloud Computing but i dont like the way MS tries to force the economy to use there .net plattform and how they use computers as disposal stuff (we know this „f*ck the enviorment“ position already from apple ;) ). MS wants to replace the classical setup for Mainframes with Containers of computers which will be replaced if enough percentage of the container is damaged. Basically this is very efficacy and easy to maintain (cause there is no real maintained) but it doesnt care an anything. As far as my informations go, there will be no real employees for administrative work on the „calculation containers“.
Anyway, .net is a really good framework which i really love to see whenever it opens up, but i dont think there will be any professional support from MS to the Mono project. Without the excellent work from the Mono Project there would be no Linux port.

Cloud Computing is the next big step in Computer industry, but i don’t think that a so restricted base like azure will survive. Another fail such Windows Vista would reduce the Monopole base of Microsoft again. It doesnt do enough to get MS into serious problems, but its getting closer.

The other „new“ thing is microsoft surface, the native user interface. The basic idea of a multitouch display is always good, but its a usability nightmare. How wants to sort his pictures again by himself? Didn’t we put the pictures into photobooks to order them? Why the hell should we now want to see them digital in a unsorted order? I know that its a goodie which will amuse the people, but as long as its not usable, it will wont be a real alternative to the normal keyboard (sounds like a „the mouse has no chance to be a good input device“ sentence, but for „programming“ questions the mouse IS still no good solution (except in UML, but thats not the most efficient language ;) ) ).
I do love the new possibilities from multi pointing devices, but i don’t think that a multi-pointing system have to be from MS. Its always playware and so there needs to be a small program be written for every special task, to make it useful. There is already a multipointing support for X11 and compiz which makes i interesting for such a pointing system.

We will see whats happening in the next years, but i just hope that opensource will be in a leading situation. Closed development will only slow the progress for better software.
Sadly i didnt get any new news about the new version of .net which would be very interesting. Java needs to invest more into the development to get such a good sidefeature like XAML. The Eclipse Organisation is building up a lot but its still hard to step against a framework with such a bug resource like MS has to offer. We hope Sun will find enough resource to take this challenge.





a quick note to „order“ your CakePHP Scaffolding add / edit Fields

26 03 2009

If you wonder why your edit and add function look so crappy by default, add in your css file a


div.input.text label, div.input.textarea label{
float: left;
width: 20%;
}

which just let the cake default view look a bit cleaner. This is no big thing, but i think everyone who uses cake will uses it. This is nothing special but its a common leak which most people forget caused of the small use of label (Using Label is extremly good for your code. It helps handicaped people to read your page and increase your usability (if you want to decorate the label for example) ).

And why a float object? Because „label“ is a inline html object. This means normal „width“ does not have any effect to it (until you let its float or change this by „display: block“).





MyCampusLife | cool marketing done wrong

11 02 2009

und noch eine kurze „review“ zu einer werbe Seite. MyCampusLife ist natürlich (offensichtlich) eine kommerzielle werbe Seite, jedoch ist sie aufgrund von mehren Faktoren unglaublich dreist:
Das Lockangebot (Fujitsu Siemens Laptop zum „Werks-Preis“) macht dann doch sogar dicke 10€ aus. Ansonsten gibt es auf der Seite mal nichts. Das Login ist einheitlich und ob ICH oder irgend wer anders sich einloggt ist ungefährt so wichtig, wie der letzten Gewinner vom Hallen Halma (der Loginname, der einem neue zugeordent wird ist auch sehr extravagant gewählt worden „campus“ wooaay, personalisierung on its best :) Wofür man sich dann überhaupt anmeldet ist mehr als fraglich).
Der Registierungsvorgang (der übriges über Sieg und Niederlage einer jeden Webseite entscheidet) ist bei myCampusLife übrigens auch ein „manuelle“ Vorgang. Auf die Daten darf man dann warten, bis ein dressierter Affe diese auf ein Blatt Papier gekotzt hat.
Zu erforschen gibt es auf der Seite auch mal so rein garnichts. Selbst das Angebot der Krankenkasse (was mit dieser „Campus“ Seite dezent beworben werden soll) ist mehr als sparsam.
Ich denke diese Marketingmaßname ist einfach mal gescheitert. Die idee, war sicherlich gut, jedoch ist ohne inhalt und ohne den willen wirklich Kunden zu gewinnen, eine solche Seite total sinnlos. Da sollten die Auftraggebenden Krankenkassen doch lieber ihre Geld in Werbung bei etablierten Plattformen investieren, dass Kostet zwar auf lange Sicht mehr, aber dafür sind die Mitarbeiter dort wenigstens motiviert neue Kunden zu gewinnen.





Cost effeciant instant business

29 11 2008

Whenever you thought about „it would be cool to get self employed“ opensource can be your easy access. But if you start, you want to be ready for the future, so start direct with the correct setup which is build to be scaleable.

So first:

You need a way to sell your Products. We suggest Magento for this task. Its very clean coded and so easy to extend by subs, or internal. There are more common Plattforms with more plugins yet, but the have a terrible design which make it impossible to maintain the product for a long distance. Till now Magento is in version 1.1.18 there and leaks some features (esspecialy for some markets like german tax rules) but the growth is amazing and so the missing features will shrink fast. Magento is based on the Zend PHP framework which is one reason for its flexiblity. Most functions are accessible by XML-RPC api, so there are all possibilities to do more automatism.

Now we are ready to sell product, but how do we manage the Products and the flow of „ordering / reorder“ products? I predict that OpenERP 5 will be the perfect product for this. Its a free ERP which is either easy extensible (isn’t it the most important, that you can extends the product to your special needs?). Its the only ERP yep, which supports a direct Magento import (which will be extends hopefully soon) and is ready for a eMail Gateway. Its a flexible solution which shows the user every task for a company. OpenERP uses python in Background and is able to access XML-RPC / NetRPC. OpenERP can be accessed by web or by GTK client.

eMail, Calendar can be done with OpenERP and will be stored in just one application (no inconsistencies). You can Export the Calendar for Sharing and all data will be loged in a free and open Database (Postgres) which is ready to fight against its big brother „oracle“. If you don’t want to miss the features of „bigger“ eMail Clients, Evolution is the right Choice. Its a well supported product withs lots of synchronization options (IMAP Gateway should always be used if you want to work on more stations).

If you need to do normal office work -> OpenOffice will fulfill this. There are many articles about OpenOffice versus its MS Office 2007. Most of them say it is a tie but than the licensing comes in which makes OpenOffice the winner for Startups.

Debian should be the solid bases for you Server. All Software can be easy updated by aptitude or software internal update possibilities. Nomaschiens NXServer can be used to enable secure remote access to the server, but than you need to buy a license, but the 2 person licence is for free.

So overall -> You can set up your own business without spending a lowsy cent. Its ready to grow if you need to grow and fulfills all the tasks. Its easy to Maintain, secure and scalable.

If you need productive programms, eclipse is the perfect choice for programming tasks and gimp is quite a good solution for graphic design (but i’ve to admid -> its not as good as the big brother photoshop yet, its leaks the feature of layer effects / properties, which i really hope they enable soon)





a short view on Django compared to CakePHPphp

31 08 2008

I’m trying to get the difference between Pythons Django and CakePHP but iam more than depressed how many people (especially from the Django base) don’t like PHP at all (or make fun of it). I thought that there might be a good reason for it and compared the Frameworks against each other and mainly found out that most difference’s are just „small stuff“.

To compare this both Frameworks is quite easy. Both started nearly at the same time and try to reduce the „dont repeat yourself“ factor. Django and Cake both use a MVC (Model View Controller) like structure to reach this goal.
Both support Database Abstraction (Mainly both support the really important Databases -> Postgres and MySQL).

The Strength of Django is the smart Query generation. This is defiantly something CakePHP needs to work on. Testenviorments / Ajax / buildincompontents are the strength of CakePHP. Django should get rid of real html tags and replace them with functions. The Code looks cleaner in PHP to me (cause i like to have all information at one place), but i think bad formation of the code can annoy a lot of people which have to program with someones else code. The use of forming ARRAY’s is essential if you want to use clean CakePHP code.
Lets Talk about something damn important for Programmers -> Documentation. The good point on Django, is they have already a book out (even if they dont have a final release yet, but there will be a stable version soon. Only some days to go). Cakes documentation is really good, they just rewrote it and some parts are still missing. But you will find everything quite fast if you just get the main structure of the documentation. Djangos documentation is a bit under this but still really good to use. Cake has got a strong focus on the community behind it. With „the bakery“ and „CakeForge“ they give the users a easy access to all source people just produce. Thats something Django needs to work on.

Project Language Ajax MVC framework Push/Pull i18n & l10n? ORM Testing framework(s) DB migration framework(s) Security Framework(s) Template Framework(s) Caching Framework(s) Form Validation Framework(s)
CakePHP PHP Yes, Prototype, script.aculo.us Yes, Active record pattern Push Yes, Development branch Yes, Active record pattern Yes, Unit Tests Yes Yes, ACL-based Yes Yes, Development branch Yes
Django Python Yes Yes Push Yes Yes, Django ORM, SQLAlchemy Yes No (plugin exists, might be merged into trunk when more stable and feature complete) Yes, ACL-based Yes Yes Yes

One Reason why the Cake looks a bit cleaner to me is for sure the View Design. Its a bit more straight forward. Django does this on a more old fashion view. This makes it easier to new persons, but if you really want to separate the view to „designers“ it is cleaner to use Cake.

django view Cake view

{% if form.errors %}
Your username and password didn't match. Please try again.
{% endif %}
{{ form.username.label_tag }}: {{ form.username }}
{{ form.password.label_tag }}:{{ form.password }}

echo $form->create('User', array('action' => 'login'));
echo $form->input('username');
echo $form->input('password');
echo $form->end('Login');
?>

Most important stuff can be found in CakePHP directly. Some important things need to be loaded for Django (like mptt) but therefor django got a „instant server function“ which can be loaded for CakePHP in additional (cakephp-instaweb). So both Frameworks have got software which need to be loaded if you want to use it for the most common needs.

Final Words:
CakePHP and Django are both good Frameworks. I think its mainly a question of what your settings for the final Product are. If you need to work with a normal provider (no vhost or something) django is out of that business. mod_python is only rarely spread yet, and to start a real server process is most of the time not possible.
If you don’t want to change a lot djangos generic views and Cakes scaffoldering both are great, but i don’t like totally preconfigured templates at all so i dont really care about them.

If you need the performance and got enough time and admin rights Django is the correct choice.
If you need to code faster, and dont want to do everthing on your own, CakePHP is the right choice.

Overall, there is only one bad choice -> to ignore a good framework at all. As long as you use a good framework you will produce code with a much better structure while you save hours. The Stepback to a non Framework based development is the only wrong decision. And after all, both are just copies of „Ruby on Rails“.

//additonal

after testing a bit more with django and postgres i found some „leaks“ in definition. If you use PostGresql with Django the default table defintions (auth etc) wount generate correct OIDS for PostGres. In fact postgres dont need them, but only if you are sure that there are never 2 entries with the same value. For MySQL users this is no problem, cause with mysql you can delete the entry by using LIMIT 1 for the DELETE command. Postgres needs a sessified OID to do so. So if someone explicit does crappy things with the database -> the default Django design would be wrong and have to be altered.

And just cause many think its a feature that they have to use instat of apache webserver -> Django explicity tells you to not use the internal webserver for a productiv enviroment. Thats what they tell use about it:

Now’s a good time to note: DON’T use this server in anything resembling a production environment. It’s intended only for use while developing. (We’re in the business of making Web frameworks, not Web servers.)

And some Statistics from google where red is CakePHP (keyword : „cakephp“) and Blue is Django (keyword: „Django python“ otherwise the musicartist will be counted eiter)

just to come clear about this image: it should not display A is better than B, but it should give a view on popularity (one big fact is that PHP is more public than python, which is not the best descission). But the Graph can be a indicator for available addons / support by irc and all other community related issues.






Timecode Vinyls nutzen ohne teure Hardware / Software zu kaufen

18 04 2008

Ich habe heute mal wieder ein bischen das netz durchsucht und dabei ist mir ein altbekanntes Projekt aufgefallen, die anscheinend unglaubliche fortschritte gemacht haben. Das Projekt heißt „Mixxx“ und dabei handelt es sich um ein Opensource DJ Mix programm.

Wenn dieses nicht schon genung wäre, so kann die aktuelle Version sogar Timecode Vinyl einlesen und auf Musik anwenden. Dafür braucht man keine neue / teure Hardware, sondern nur einen PC mit einer besseren Soundkarte (mehrere ein / Ausgangskanäle werden benötigt, aber das bietet ja schon jede aktuelle Onboard Soundkarte)! Das spart gegenüber den Kommerziellen Versionen natürlich eine menge Geld.

Vielleicht sollte man dazu noch erklären, was eine Timecode Vinyl ist:

Sie wurde von Final Scratch erfunden um es möglich zu machen, die Position einer Plattenspielernadel auf der Platte festzustellen (sowie Daten über die abspielgeschwindlichkeit etc). Damit kann jeder „normale“ DJ eine möglichkeit bekommen, MP3’s (oder alle möglichen anderen Musik formate) abzuspielen und dabei trotzdem das Gefühl von echtem Vinyl zu genießen (was vom Handling immer noch ungeschlagen ist).

Im Gegensatz zu den proprietären Varianten ist Mixxx nicht nur für Windows verfügbar. Es werden auch Linux und Mac unterstützt. Momentan sind eine menge Plugins verfügbar und es wird Scratching bereits unterstützt. Pitchen und Timeshifting ist natürlich auch enthalten.

Ich persönlich werde mir jetzt schnellst möglich ein paar Timecode Vinyls besorgen und das ganze nochmal auf Herz und Nieren testen, aber insgesamt bin ich jetzt schon überzeugt von dem Programm. Das mixen geht locker von der Hand.

Leider ist der Look nicht „so cool“ wie bei den anderen Programmen, aber wenn interessiert schon die Optik, wenn es um Musik geht?

Ich hoffe, dass Mixxx die Aufmerksamkeit bekommt, die es verdient. Je mehr leute aufmerksam auf das Projekt werden, um so schneller geht die Weiterentwicklung und jeder kann ab dann seine Plattenspieler mit Timecode Vinyls von fast jedem Anbieter nutzen.

Wer braucht da noch FinalScratch?





CakePHP mit Access Listen beschleunigen

13 03 2008

Ich habe mich heute wieder ein stück mit CakePHP beschäftig, da ich dieses für ein Projekt benötige.

Da ich gleich alles richtig machen wollte, habe ich mir das ACL Modul von Cake vorgenommen um meine anwendung gleich tauglich für Benutzergruppen zu machen. Dabei ist mir aber etwas unschönes aufgefallen. Cake fragt die Informationen immer wieder ab, wenn man diese nicht zwischenspeichert. Das kostet einfach massive viele SQL Queries die unnötig sind (ausser man braucht wirklich eine anwendung, wo sich alle paar minuten die Benutzerrechte ändern). Aus diesem Grund habe ich ein kleine erweiterung für den AppController geschrieben, die sicherlich für viele nützlich sein könnte.

Damit werden einfach alle Variablen in der Session zwischengespeichert. Sinnvoll wäre noch eine Erweiterung um einen statisch Klassenvariable, damit die werte nicht immer wieder (bei Nutzung mehrerer Classen die Instanzen vom AppController sind) mit dem Session wert Überschrieben werden. Spart wieder ein paar Prozessortzyklen.

Diese Funktion speichert die Access Controll Objects (ACO) in Variablen für den View, wobei jeweils ein „m_“ + Aco Name genutzt wird.

function defineRights(){
$todo = array('orders', 'uploads', 'packages', 'artnotranslates', 'articelgroups');

if($this->Session->check('User') && (true != $this->Session->read('Rights'))){

foreach($todo AS $task)

$this->writeToSession($task);

$this->Session->write('Rights', true);

}

$this->set('user', $this->Session->read('User'));

foreach($todo as $task)

$this->set('m_'.$task, $this->Session->read($task));

}

Diese Funktion schreibt alle möglichkeiten von Cake ACL’s in ein Hash. Man kann dann mit $m_ACONAME['read'] z.B. das Leserecht im „view“ erfragen.

function writeToSession($rule = null){
if($rule != null){

$this->Session->del($rule);

$dummy = array(

'any' =>        $this->checkBAccess($rule),

'read' =>       $this->checkBAccess($rule, 'read'),

'create'=>      $this->checkBAccess($rule, 'create'),

'update'=>      $this->checkBAccess($rule, 'update'),

'delete'=>      $this->checkBAccess($rule, 'delete')

);

$this->Session->write($rule, $dummy);

}

}

Grundlage dafür ist die check Funktion von Cake. Theoretisch könnte man diese Methode auch verkürzen indem man den Rückgabewert von check direkt als return wert nimmt.

function checkBAccess($aco, $action='*'){
$user = $this->Session->read('User');

$access= $this->Acl->check($user['username'] , $aco, $action);

if($access === false)

return false;

else

return true;

}

So wäre auch wieder etwas mehr Sicherheit und Flexibilität für den Entsprechenden Designer der sich mit dem Design beschäftigen darf. Man sollte aber erwähnen, dass trotzdem eine Überprüfung im Controller für sichere Programmierung unerlässlich ist. Alternativ wäre ein zusammenspiel aus diesen Funktionen und $this->action möglich, jedoch wäre dann eine vollständige Auflistung aller Funktionen und nötig.

Die Funktion lasst ihr am besten per var $beforeFilter = array(‘defineRights’); aufrunfen.





Licht für den Schatten

13 02 2008

Und ein weiteres Projekt erblickt das Licht der Welt. Für alle die schon einmal sich mit der Montage von Sonnenschutz fürs Fenster beschäftigt haben, wissen dass man erst sehr verwirrt ist, bis man herausgefunden hat wie das ganze gedacht wurde. Um weiter Floskeln zu nutzen-> Man steht buchstäblich im Dunkeln, da die Anleitungen meistens den Nährwert von Toastbrot weit unterschreiten. Wer also etwas Geld sparen will, indem er den Fachhändler weg fallen lässt, steht meisten sehr allein da. Das Internet hat sich diesem Thema auch nur sehr spatanisch gewidmet, aber genau das soll sich jetzt ändern.

Die Seite www.sun-journal.de hat sich vorgenommen, den „normal Sterblichen“ eine guten Überblick über alle Fassetten des Sonnenschutzes zu geben. Dort sollen in nächster Zeit alle Montageanleitungen für jeglichen Sonnenschutz auftauchen und es wird um rege Mithilfe gebeten. Wer also zu Hause Sonnenschutz montiert, ist herzlich dazu eingeladen seinen Beitrag zu leisten und anderen Leuten so eine gute Plattform zu bieten, damit jeder sich selbst bald mit Sonnenschutz ausrüsten kann. Gestartet hat das Projekt mit einem sehr fundiertem Bericht über „Rollos“. Es wird etwas über die Entstehungsgeschichte sowie eine Ausführliche Montageanleitung geben. Auch wenn dort dann schon ein Artikel zu dem Produkt sein sollte, welches sie montieren. Es wird alles benötigt, was irgendwie vorhanden sein könnte. Jedes Foto / Video / Handskitze wird sicherlich Hilfreich sein, anderen Leuten wieder klar zu machen, wie man diesen Sonnenschutz am besten Anbringt.

Je mehr Informationen wir Sammeln können um so besser.

Es Handelt sich bei der Seite aber um kein „Wiki“, wo jeder einfach etwas dazu schreiben kann. Alle Daten werden geprüft und auf ihren Inhalt hin sortiert.

Von meinem Blog werde ich die Montageanleitung zum Plissee für die Seite stiften. Ich hoffe das sie dort Verwendung findet und wir bald eine schöne Darstellung der Daten bekommen.

Also Helft alle mit, damit wir bald mal eine wirkliche Hilfeseite zu dem Thema haben (so gibt es da nicht viel auf dem Markt). Wenn die Grunddaten stehen, soll es Übersetzungen in alle Sprachen geben. Es sind also auch Leute gefragt, die Übersetzungen machen könnten.

Gesucht werden auch noch Kooperationspartner aus dem Geschäft, welche Interesse hätten, dass ihr Kundenstamm wichtige Informationen gesammelt auf einer Seite findet. Angebote über direkten Verkauf sind jedoch unerwünscht. Es soll sich um eine reine Informationsseite handeln.

Hier nochmal die Zusammenfassung, welche Inhalte noch gesucht werden:

  • Redaktionelle Inhalte
  • Fotografien / Videos von ihrem Sonnenschutz

Falls sie solche Medien noch bei sich rumfliegen haben, schreiben sie doch bitte das Team von sun-journal.de direkt an, damit diese ihre Inhalte direkt einarbeiten können.