Splendia

Splendia

I must admit that this post comes a bit late. As I have mentioned before, I have left Softonic last year. The main reason was that it was too difficult to change anything there and nobody seemed to know what to do about it. This might have changed by know. After Softonic I started at Splendia, where I am still at. Splendia is a hotel booking website focusing on luxury hotels. The company is much smaller than Softonic in every respect. What drew me in was that they replaced nearly the whole IT team and replaced it with a much more agile team using technologies and methodologies that are industry standards in most PHP companies. The team is also always open for changes to improve the speed of development. When we arrived the state of the code was pretty bad. How bad? Well, there were zero unit tests at the beginning of 2012 for example. By now we have a growing test suite, continuously run through Jenkins. We use github for code reviews, vagrant for workspace virtual machines, cucumber for functional tests, puppet for configuration management and composer to pull in various dependencies including symfony components, doctrine and pear libraries. I will post some more about how we use these in the future. Other nice perks: the computers are nice with two big screens, you get to install your choice OS as long as it runs vagrant. The office is located in the centre of Barcelona, which gives a better choice of restaurants and shops. I can also park my bike in the office, which allows me to commute every day now (more about this later too). There are some things I miss about Softonic though (besides the people there): the pretty office, Spanish classes, free coffee, snacks and the cafeteria for my tea time. Compared to Softonic the office hours at Splendia are also very rigid, which is annoying. Well, hopefully more soon…

February 4, 2013 · 2 min · Christof Damian
International PHP Conference 2011 Spring Edition impressions

International PHP Conference 2011 Spring Edition impressions

I planned to post this a lot earlier, but I wanted to do the presentation at Softonic first and I am also very lazy. My employer was so nice to send a colleague and me to the International PHP Conference 2011 Spring Edition in Berlin this year. It was a three day conference. There also was one day of workshops, which we skipped. We also skipped most of the keynotes, because most of them were in German and didn’t seem very useful. I concentrated on the topics that interest me most: agile, unit testing, continuous integration, continuous deployment and Symfony/Doctrine. So here goes a quick summary of the stuff I think was good. DevOps fuer PHP by Johann-Peter Hartmann slides A very good introduction on DevOps, mostly introducing lots of tools and how they are used at Mayflower GmbH. I found especially the bits about self service virtual machines and clouds for developers interesting. They are using a combination of puppet, vagrant, fog and eucalytus for this. He also emphasized how important the culture in a company is to make this possible. All of this enables faster development and deployment. I plan to have a separate post about this soonish. 3*PHPUnit by Sebastian Bergmann This could have easily fitted into one talk. And if you have seen any of his talks before you could have skipped most of this too. I liked the quote about removing the release cycle and making it much more fluent, reference to the etsy blog (which is brilliant) and latent code patterns. None of this is new stuff though. MySQL, PHP - The current State by Johannes Schlueter Oracle man. Improvements in MySQL 5.5 and 5.6. memcached interface, which is currently in labs. Some examples of the asynchronous mysqli interface, which sounds really interesting for some use cases. Also information about mysqlnd plugins, especially the mysqlnd_uh one which allows writing these in PHP. All of this is not so useful if you like your ORMs though. Large-Scale Data Processing with Hadoop and PHP by David Zülke slides Highly recommended if you can see this at any conference. Very good presentation, starting with the use cases of sites which are producing lots of data and need to use map reduce to mine it. It continued with a live demo on a laptop, first tuning it until the speed increased by using map reduce and later connecting two laptops to show how well it scales. Next Generation API Documentation by Arne Blankerts I didn’t expect much of this last talk, but it turned out to be pretty good. As PHPDocumentor seems to be pretty dead, there is a need for a new system. CI systems usually also generate the API documentation, so it is important that this is also fast. phpdox seems to solve this, but it is still in an alpha stage so we have to wait and see. Miscellaneous I also saw a lot of other talks, but most of them were either introductions to things like node.js, nginx, JavaScript QA, Doctrine NoSQL and Symfony CMF. None of these contained any new information for me. Sometimes I wonder I should stop reading blogs and twitter two months before a conference, just to make them morei nteresting. You can find more summaries and links to the slides if available here: http://joind.in/event/view/681

July 7, 2011 · 3 min · Christof Damian

sphinx search config scripts

I just finished converting the bikesoup search to use the sphinx search engine instead of a simple doctrine fulltext search with filters. One thing I found helpful are sphinx config scripts. Instead of hard-coding the configuration you can use any scripting language to produce the sphinx configuration. The just have to start with ‘#!’ and sphinx will execute them and use the output as the configuration. This is the simplified version of my main config file /etc/sphinx/sphinx.conf : ...

February 13, 2011 · 1 min · Christof Damian
bikesoup

bikesoup

Yesterday one of my side projects went live: www.bikesoup.co.uk . Last December Anthony approached me about doing the site and I agreed to work on it in my free time. It took a while, but this included finding a designer ( d2tstudio ), going through the process of finding a feature set for the launch and the programming. And all of this while I started my new proper job at Softonic, which means I didn't really have as much time to invest in it as I would have liked. The site is a pretty standard e-commerce / classified ad site tailored to bicycles. But as with every project there are some special requests which makes it interesting to work on, like the payment and billing system. For me it was especially nice to do all the programming from beginning to end on my own and being able to choose the technologies I like to work with. Anthony pretty much lets me decide all the technical bits. The site is build completely on open source technologies and I might be able to give something back in the future too. CentOS for the server OS Fedora on the development machine PHP as the language MySQL database memcached symfony 1.4 as the web framework, with some plugins sfImageTransformPlugin and sfImageTransformExtraPlugin for image transformations swCombinePlugin for JavaScript and CSS optimization ioMenuPlugin for the menus ... jQuery JavaScript framework colorbox plugin for overlays dataTables for Ajax tables jcarousel for slideshows git as source control Eclipse IDE bugzilla a bug tracker The current version is just the first milestone and there is still a lot of work to do. But first I am looking forward to see if there is any interest in a site like this and what the users want from it in the future.

September 26, 2010 · 2 min · Christof Damian
New Job: Softonic

New Job: Softonic

This week I started my new job at Softonic. After three years at opus5 I decided that it was time to move on. I learned a lot in this time and as I like to say, a lot of things I really never wanted to learn. I worked in a great team and wish them all the luck for the future (And in case you are looking for a PHP job, I am sure they are looking for more people). While writing my 2010 New Year’s Resolutions, I came to the conclusion that it is finally time to make a move. I was looking for a company, which is more focused on development and the possibility to learn new stuff. ...

April 23, 2010 · 3 min · Christof Damian