schlitt.info - php, photography and private stuff ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :Author: Tobias Schlitt :Date: Thu, 19 Sep 2013 08:35:38 +0200 :Copyright: CC by-nc-sa ================================= Blog - Open Source - schlitt.info ================================= - Zeta mailinglists available The new mailinglists for the Zeta components have just been created in the Apache Incubator space. So, it's time to start switching to the new infrastructure. - Twitter avatars in TwIRCd TwIRCd integrates Twitter with your IRC client by implementing an IRC server, mainly developed by Kore until now. During the past weekend, our unofficial PHPUGDO hackathon, I seized the chance to implement support for Twitter avatars for it. Pretty useless, but fun. ;) - Qafoo got a logo It's been a while since I blogged about the company Kore, Manuel and me are currently founding: Qafoo. In the meantime we made a public contest for our logo. The contest ended on Monday and we today elected a winner. Here we go with the official logo for Qafoo - passion for software quality: - Flattr me, I flattr you I found Flattr an amazing idea when I heard about it for the first time. Now I created my own account on the platform and you can flattr my blog posts. What is this and why should you do it? - We want your talks: PHP@FrOSCon 2010 This years FrOSCon (Free and Open Source Conference) will be the fifth instance of this amazing event. As usual, the PHP Usergroup Dortmund, in cooperation with people from Cologne, organizes a PHP room with talks and hacking. If you've never been to FrOSCon, you should really seize the chance. If you have been to FrOSCon, yet, you know what you would be missing! :)The call for papers for the PHP room is still open until May 23rd, so take your heels and propose some interesting talks for the PHP room. - Qafoo - The PHP quality ninjas As announced earlier in this blog, Manuel, Kore and me are in the process of founding our own company. Now it's time to present the name we have thought out for this operation. We are Qafoo - The PHP quality ninjas. Isn't that cool? :) So, let me try to explain the origin of this name here. Feel invited to comment on our idea and to give us some inspiration. - Goodbye eZ Systems, hello world! It's already all over town, so here comes finally the announcement: Kore and me left eZ Systems officially by the first of April. We already wanted to announce this earlier, but there were still some things in progress, which needed to stabilize before we could do so. Here we go now, with some really exciting news … - Python. Good, bad, evil -3-: Flow control exceptions My grandma is a wise lady. She told me many useful mantras which I should repeat every night before going to bed. One of these is Never use Exceptions for flow control. And she is so right with this. It is even so true, that every OOP newbie should get this mantra tattooed on his hand. During my experiments with Python I sadly found it violated in a central place: When it comes to implementing an iterator. - Automated testing with GUI clients As all eZ Components, the eZ Webdav component is highly unit tested. But since WebDAV clients all interpret the standard a little (or more) different, we implemented custom regression tests for this component, based on the PHPUnit framework. Generating these regression tests with each and every supported client was still tedious handwork so far. This needed to be done whenever the servers responses changed due to bug fixes or feature implementations. In this article I present Sikuli, a screenshot based GUI testing framework, which I now used to automate this last part of the testing process. - Python. Good, bad, evil -2-: Native sets One thing I really liked in Python is the data structure set, which is built into the language core. A set in Python is defined as known from mathematics and beside mathematical use cases, it is helpful in everyday programming live. In this episode of my series on Python, I give you a short insight into how sets work in there, how you can achieve similar results in PHP and why I like the Python approach.