Welcome to the first episode of our weekly link-list, which will appear every friday most likely on fridays. Continue reading “thank gawd it’s online #1”
2 ways to your offline wikipedia
… for whatever reason you might need that ;)
For both ways you will need the dumps, you get them here:
http://dumps.wikimedia.org/dewiki/latest/
The main dump is the pages-articles.xml.bz2 if you want the categories as well, you need the
category.sql.gz and categorylinks.sql.gz too.
The pages file is quite huge and will take you probably about 4 hours to download, depending on your connection.
You will also need a fresh and running installation of the mediawiki software.
Install it and here we go:
Continue reading “2 ways to your offline wikipedia”
Migrate to Mongolab
Recently i ran into RAM troubles on my vserver for some reasons, i encountered the evil:
Cannot allocate memory at ...
So first i suspected mongodb to use up loads of memory as top showed.
But after some recherche work i learned mongodb only -seems- to use a lot of memory.
see here and here and here
The actual usage was around 20mb RAM, so mongodb was innocent.
The true RAM monsters were some apache and php-fpm zombies, but thats another story.
While suspecting mongodb i thought about outsourcing the mongodb and i found a free and sufficient offer in mongolab.
My interests were on and i gave it a try.
The free version has a limit for up to 240MB storage and since my app is just a small counter it should last for some time.
Continue reading “Migrate to Mongolab”
nerdpress language switch
As we also have more pageviews from outside germany lately and we’re happy about that,
we have decided to continue posting in english from now on.
[Symfony 2] Security Bundle: Set User Locale on Form Login
[UPDATE]
A recent update to this article may be found here: https://nerdpress.org/symfony-2-set-default-locale-on-form-login-2/
Das Security Bundle ist ein wenig magisch. Da muss man eine HTML-Form definieren, der Rest wird irgendwie konfiguriert (Namen der Post-Parameter wie “_username”, “_password” etc., den Redirect zum Referrer, Remember-Me Funktion und so weiter, das alles wird von der Firewall intern geregelt. Man muss nur eine Login-Route definieren, einen Stub-Controller + Action-Callable (der aber nie ausgeführt wird, weil die Firefall sich davorhängt), fertig.
Das ist angenehm einfach, solange man keine Fragen stellt. Aber wie führe ich zusätzliche Aktionen direkt nach erfolgtem Login aus, ohne Einfuss auf den Code des Security Bundles zu haben?
Continue reading “[Symfony 2] Security Bundle: Set User Locale on Form Login”
[Symfony 2] Security Bundle – Benutzer mit username oder email anmelden.
Augenscheinlich unterstützt das Security-Module nur die Authentifizierung via Benutzername und Password. Wie man sich mit einem Benutzernamen ODER der E-Mail-Adresse und einem Password authentifiziert, ist ein wenig versteckt. So gehts:
Continue reading “[Symfony 2] Security Bundle – Benutzer mit username oder email anmelden.”
obsvr.net
Just wanted to mention it here: http://obsvr.net
A media search aggregator build by Me and Max, as the wonderfulwebsolutions.
Its a luckily distributed wolpertinger of symfony, silex, node.js, jquery, isotope, apache and lighty, more to come.
jQuery .scrollToViewPort()
yesterday i found this very useful jQuery-script on github:
https://gist.github.com/853841
jQuery.fn.scrollToViewPort = function(animTimeInterval) { animTimeInterval = (typeof animTimeInterval == "undefined")?"slow":animTimeInterval; return this.each(function(){ $('html,body').animate({scrollTop: $(this).offset().top},animTimeInterval); }); }
it moves the users’ viewport to show the element that it has been called on.
I modified it somehow so that it will check now if the element is already in the viewport.
So we can avoid auto-scrolling in that case.
A offset Parameter has also been added in case we need some margin.
https://gist.github.com/1018842
jQuery.fn.scrollToViewPort = function(options) { var animTimeInterval = (typeof options.interval == "undefined")?"slow":animTimeInterval; return this.each(function(){ var offSet = (typeof options.offset == "undefined")? $(this).offset().top : options.offset; if( $(this).offset().top <= $(window).scrollTop() || ( $(this).offset().top + $(this).height() ) >= ( $(window).scrollTop() + $(window).height() ) ){ $('html,body').animate( { scrollTop: offSet }, animTimeInterval ); } }); }
usage:
$(this).scrollToViewPort( { offset : ( ( $(this).offset().top + my_custom_offset ) - $(window).height() ) } );
Symfony 2 wird super. Oder …?
Natürlich wird Symfony 2 super. Die Dokumentation ist wie gewohnt zum jetzigen, frühen Zeitpunkt genial, die Architektur durchdacht, die Entwickler-Community steckt sowieso alles in die Tasche, man sieht einfach: Da steckt eine Menge Arbeit, Hirnschmalz und Erfahrung hinter. Aber genug geschleimt ;)
Mein Lieblingsthema ist ja zur Zeit der Dependency Injection Container. Und irgendwie stinkt mir die ganze Container-Konfiguration noch gewaltig. Meine kläglichen Versuche, selbst mal so was ähnliches wie eine brauchbare Autowiring-Implementierung herunterzubrechen, waren natürlich auch bzw. erst recht nicht der große Wurf – was vor allem daran lag, dass ich den Service Container und damit den ganzen Sinn und Zweck des Ganzen einfach mal wegrationalisiert hatte – Loose Coupling sieht natürlich anders aus, das sei den Kritikern zugestanden. Ich verteidige mich mal dadurch, dass ich eigentlich nur mal mit Mixins rumspielen wollte – da hab’ ich wohl die eine oder andere Begrifflichkeit durcheinander geworfen.
Aber um mal zu des Pudels Kern zu kommen: Ist es wirklich so geil, mit kilometerlangen XML-Dateien, ‘ner Menge Initialisierungscode und ohne mit der heißgeliebten Code-Completion in der IDE meiner Wahl ein Paradigma zu kaufen, das im speziellen Anwendungskontext – nicht im Framework-Kontext – eher selten Anwendung findet?
Image Placeholder Services
cooler Service, wenn man mal neutrale Platzhalter Bilder braucht:
http://placehold.it/
und was ähnliches mit Flickr Fotos:
http://flickholdr.com/