mail usprint this pagerss feed

Liip is hiring!

Introduction to node.js at Webtuesday

At this weeks WebTuesday in the AdNovum offices in Zurich I presented node.js, the much talked about framework for writing event driven servers in JavaScript. It's an interesting approach to develop asynchronous applications with completely non-blocking input/output without the headaches this usually involves. From our perspective it's especially an interesting tool to develop the server side of Comet-like applications in a language that most developers are already familiar with.

You can find the slides containing an introduction to event loops in general and a few code examples on slides.liip.ch.

Related Entries:
Webtuesday: PHP vs. Javascript: which sucks more?
Next Webtuesday: Sebastian Bergmann about PHP 5.3
Busy February Evenings at the Liip Zurich Office
TestFest@Webtuesday Hackfest
jsdomenu versus Google Analytics
Comments (3) |  Permalink

Recent activities of Liipers in the Moodle Community

In December last year, two Liip employees Brian King & I (Penny Leach) went to the Czech Republic for a week, for the first ever concentrated Moodle Developer Conference. There were 16 attendees from around the world, participating in an intense week of discussion about the upcoming Moodle 2.0 release, with a lot of decisions being made and work being planned. The session notes are now online.

After that, I had a 6 week secondment to Moodle HQ, working on improving the Moodle Networking feature for Moodle 2.0. This was my second secondment to Moodle HQ, the first was in 2008, to work on the Portfolio API. Moodle HQ is based in Perth Australia, but there are employees working all around the world in different timezones, so communication largely happens on our jabber development chat, and bug tracker, with the occasional skype video chat.

The first step was to evaluate the current state of MNet, which was added to Moodle 1.8, but needed a lot of work to bring it up to Moodle 2.0 compliance. I created a metabug with a number of subtasks representing the different areas that need work, and then linked all the existing MNet bugs to those. Then I created a whole lot more bugs for a lot of refactoring that needed to happen. Then I rolled up my sleeves and started work. I closed many bugs, some of which affected the stable 1.9 version of Moodle as well, and will be in the next stable point release.

Unfortunately there was more needing to be done than I had time to do, but MNet is now in a much better state to be able to be maintained by more people. I will be doing a handover meeting with David Mudrák soon, and also of course continue to help with bug triage and fixing during the Moodle 2.0 beta period.

Technically, I was tracking Moodle cvs with git, making branches for each bug I was working on, committing to git and then eventually rebasing and using git-cvsexportcommit to land the work into the relevant Moodle branch. This is a workflow that David has recently described in more detail, and works very well for me, a long time thoroughly convinced git user.

Working with Moodle HQ directly is always a great experience, although doing it in a European timezone, as I did in 2008, works better than doing it from New Zealand, which is where I was this time. Even so, I had as always great support from the other core team, testing and doing code review. I hope MNet users will be happy with the improvements in Moodle 2.0.

Comments (0) |  Permalink

Next Webmardi in Fribourg

The next Webmardi will be held on Tuesday, March 9, at the Liip Fribourg office.

We will have the chance to discover the promising New Zealand made Silverstripe CMS, presented by Manfred Pürro. Please feel free to join us, everyone is welcome!

Comments (0) |  Permalink

Symfony Live Wrap-up

Last week Lukas, Pierre and myself attended the Symfony Live 2010 conference since we have a growing interest in it lately, including a pilot project at Liip that uses symfony 1.4.

Overall the conference was quite a success I would say, they had a few organizational issues but considering it was the first international event of that scale they hosted it was really good. Most talks revolved around symfony and also doctrine since it's a major part of the symfony ecosystem, but a few sessions were held on more general topics, such as PHP performance, deploying apps to the cloud or Zend Framework. Lukas and I spoke about Liip's framework Okapi since it's second iteration, that is still in the works, is using a few symfony components. As we mentioned there we decided to use them to alleviate some of the maintenance work and benefit from the dependency injection feature, which offers amazing opportunities for customization and testing. Our slides can be found on slideshare and the Okapi2 source on our svn repository.

The highlight of the conference was obviously the announcement and release of the Symfony 2 codebase. Symfony 2, just like Okapi 2, is based on the Symfony dependency injection container component, which means it will have the same flexibility. Given the community it has, it is definitely an interesting development for us and we will follow its development closely. If it happens to fit our requirements as well as Okapi does for fully custom high performance websites we might adopt it but it is too early to say since it won't be stable until the end of the year.

Related Entries:
Fine-grained SVN commit emails made easy
Welcome PHP 5.3!
Jackalope - JCR for PHP started
FOTD: ReflectionClass()->newInstanceArgs($args) is "slow"
TestFest@Webtuesday Hackfest
Comments (5) |  Permalink

HipHop for PHP - Do the limbo dance

Yesterday, Facebook released HipHop for PHP, a compiler which makes native code from PHP sources (via C++ and gcc). They promise twice the speed with that approach, something which helps you a lot if you have 1000s of servers like Facebook. I won't bore you with the technical details and what it can and can not do as Ilia already summed that up pretty nicely.

We at Liip will certainly look into this technology once it's available and evaluate if it would makes sense for some of our customers and project. As HipHop is not a drop-in replacement for your existing setup this is something which has to be planned and tested carefully. You have to change the way your servers are setup and the way you develop and deploy. It even needs a server restart, if you change some code, so badmouths can now claim that PHP is even more becoming like Java :)

A high amount of Switzerland's most visited sites run on PHP (and some of them are even done by or with us) and maybe HipHop could be useful for some of them, after all the usual optimizations (like APC, memcached, etc) didn't help enough. But for most websites (and more so for small ones), PHP's speed isn't really the bottleneck, it's the database or some other external dependency. And for these cases HipHop isn't the holy grail. So before you change all your setup to fit into HipHop's requirements, do some decent evaluations, what really is the bottleneck in your application and decide accordingly.

Comments (2) |  Permalink

Fribourg's Physical Scrum Boards

Pierre here. After getting my Scrum Master Certification with Danube I was eager to move the scrum artifacts from the digital to the actual physical space. I had this fantastic plan to build a wooden mobile scrum board. One that would look nice and we could take into our different scrum meetings.

On my first attempt to realize this plan, the shop was closed. Bummer! I had forgotten that most shops were closed on Monday mornings. On my next attempt, the shop didn't carry the type of light yet nice looking wood I had envisioned for our board. After finally finding a shop with the right type of wood, it didn't offer the right size. That is when I remembered Jimi Fosdick's words. He was our scrum trainer and told us that we needed nothing but some painter's masking tape and Post-It notes in order to get started. He said: "It doesn't matter how it looks! What's important is that you actually do it! And there is no excuse for not doing it!"

I bought the tape in a do-it shop around the corner. Back in the office, a nice and clean white wall in the our Liip lounge seemed like the perfect spot for our scrum board. Within five minutes the whole thing was set up.

  1. The team met on the sofa.
  2. We planned a sprint.
  3. We started working.
  4. It was that easy!

When we were fourth day, our sprint burn down chart actually went down for the first time. On the same day, we had our office-wide team meeting in the lounge and unfortunately the projector was making usage of the exact same wall we chose for our board and charts.

So we tore the whole board down and started looking for a better spot to let the scrum artifacts live. That's when someone noticed a tiny blackboard. It was located just besides a door and didn't offer any space to sit around it. I guess this is why to that day, no one had ever used it. But it was perfect for our daily standup meetings. Using different colors of chalk, we drew our Scrum Board on the blackboard and set up the sprint burn down chart using the tape.

This is how a roll of tape and some Post-It notes changed our everyday lives at work. We have been using this board over the last three months. To this day, no one has expressed any regrets about going physical with the scrum artifacts. On the contrary, we feel even more in control of our sprints. And sure, for when things are distributed and need to be online we still do use the amazing Greenhopper.

So what are your experiences with physical vs. virtual scrum boards?

Comments (0) |  Permalink

An active week for Liip in Suisse-Romande!

Last week featured a couple of interesting events in Suisse Romande.

First of all, we attended a very cool Lift Presentations @ Lift Office event in Geneva. Following the Lift@Homeconcept, sidelines of the Lift10  conference, this evening's theme focused on Innovation and featured four speakers; Christian Miccio from Google and Samuel Mueller from WDHB Consulting explained their point of view on innovation, or how can innovation be created in an organization. Their speech was followed by the very interesting presentation of Giorgio Pauletto and Patrick Genoud from Etat de Genève, sharing how can innovation be implemented and driven in a public organization.

This event was also the occasion to test a very "innovative" system to create interaction between the audience and the speakers: the participants where given different ways to ask their questions or share their thoughts as the presentations went along: twitter, skype, sms, email, paper, etc. All the feedbacks were collected and summarized on the fly by a team of courageous "Lift-ers". It was interesting to see that this way of doing seemed to create much more - indirect of course - interaction than the standard "please ask your questions" at the end of a presentation.

The second event we Liipers took part to last week was a "mash up" of three active web-related communities in Suisse Romande: Swiss Web 2  - a community of Web 2.0 professionals, Tweetzerland - a group of Romands Twitterers and the Bloggers of Blog o Bar. The event was hosted by Sandrine Szabo in Lausanne (thank you Sandrine). It was really nice to meet cool web addicts from all over Suisse Romande to share a glass of wine, news from the online world and thoughts on new apps / tweaks for our smartphones (thanks to Nico & Phil from Tweetzerland for the pictures).

Comments (1) |  Permalink

Webmonday and SFUG at Liip next week

Next week two webevents with interesting speeches and presenters will take place at our Liip office in Zurich:

First Web Monday Zurich on January 18, 2010:
Dorian Selz will present Memonic, Nektoon's first product, which helps you capture, organize and use content on the web.
Maude Chatelet will present Howtopedia, a collaborative platform for practical knowledge and simple technologies that are easily explainable and usable by individuals or small communities for a sustainable and ecological future. 

Drinks and snacks start at 6.30 pm, the presentations start a bit after 7 pm and like every time lots of time to discuss and network.

The day after the 31st User Group Meeting on January 19, 2010 from 7:00 pm - 9:30 pm:

Schweizr.ch is a Flash based oral history plattform of Switzerland. Anyone can register to write or record stories and post them to a geo location in Switzerland so they appear on the map and create a vivid mosaique representing the diversity of the stories Switzerland has to share.
Schweizr is the first project Liip decided to fully implement in Flex. It uses Google Maps, tons of custom components, Flex specific features and even an iPhone App. In his talk Michel will discuss these features among the many lessons learned in the process of creating this project.

Sourcemate is a new third party plugin designed for Flash Builder 4 that's supposed to simplify and support anything a developer has to deal with in the battle of creating applications - well, except for getting coffee maybe.
In his talk, Weyert will take a close look at the potential the current beta of sourcemate has to offer and will show us, whether Element River rightly refer to their baby as "the new must-have companion tool for serious Flash Builder developers".

Comments (0) |  Permalink

Zurich Office featured in TEC21

Liip's Zürich offices recently got featured in TEC21, a renowned Swiss architecture journal, under the title of "Atmosphäre des Digitalen". Apart from discussing some special features of our operating base, the article critically ponders the notion of "intellectual sensualism" as well as aspects of the relations between architecture and the kind of stuff we do - we use architectural design patterns, they give us software-generated tapestry (picture above). If you're interested: here's the PDF of the entire article - enjoy.

Credits: OOS (architecture), Dominique Wehrli (photography).

Comments (4) |  Permalink

We're looking for experienced Magento and/or PHP/JavaScript developers

For a larger project here at Liip Zurich, we are looking for an experienced Magento PHP Developer. Start as soon as possible. Freelance is ok, but you have to be able to work with the team here in Zurich onsite (most of the time). This also means: No interest in outsourcing, off- and nearshoring or however you call it. We just need a person fully integrated into our already existing Magento team. If you're interested get in contact with Nadja Perroulaz (contact@liip.ch) or me.

Furthermore we're (always) looking for an experienced PHP/Javascript Web Developer. If you're interested in a job where you can learn and develop new stuff almost every day and work on exiting projects and if you have a lot of experiences in the PHP/JavaScript/Web World, do not hesitate to send us your application. The ad linked above is in German, if you don't understand it and want to know more, I'm here to help. Knowing German is no prerequisite for a Job at Liip :)

Comments (0) |  Permalink
Next1-10/1023