Session Overview

23 Dinge, die Sie über Softwareentwicklung in Teams wissen sollten

Stephan Schmidt 1&1 Internet AG

05.06.2012 | 16:15 - 17:00 | Salon 2 de

Software wird immer größer, große Applikationen werden von Teams konzipiert, gestaltet, entwickelt und getestet. Aber wie müssen solche Teams aufgebaut sein? Welche Methoden und Tools sollten sie einsetzen? Wo befinden sich die Fallstricke und und wie kann man sie in der Teamarbeit umgehen? Und vor allem, was hat das mit einem der größten Baseballspieler aller Zeiten zu tun?

Advanced Date/Time Handling with PHP

Derick Rethans

04.06.2012 | 14:15 - 15:00 | Salon 2 en

PHP has powerful date/time handling functionality. It allows you to deal with many issues that arise when you are developing applications. This talk will cover advanced functionality and is not an introduction except for where this is necessary. I will cover dealing with timezones, calculations with DateTime objects and tips and tricks for dealing with storing date/time information.

Change is inevitable (except from a vending Machine)

Stefan Priebsch thePHP.cc

05.06.2012 | 10:15 - 11:00 | Salon 2 en

Where did Bob live two years ago? And what was his last e-mail address again? If your application needs to keep track of things that change over time, you must take a step beyond normal object relations or foreign keys in a database. This presentation introduces temporal patterns to solve these kinds of problems and shows how to effectively implement them in PHP using the date extension.

Client-Security with HTML5

Carsten Eilers ceilers-it.de

06.06.2012 | 14:00 - 14:20 | Salon 3/4 en

HTML5 brings new opportunities - for developers and attackers. In this shorttalk you will see a few examples of how an attacker could abuse HTML5 and how you as a developer could prevent this (or not, in some cases).

CoffeeScript und Backbone an einem Beispiel

Sebastian Sanitz it-agile GmbH

06.06.2012 | 15:00 - 15:45 | Salon 2 de

CoffeScript ist eine "kleine" eigene Sprache, die nach JavaScript kompiliert wird. Für die Lesbarkeit verzichtet sie auf syntaktisches Rauschen, Semikolons und Klammern, und fügt syntaktischen Zucker hinzu. In der Session wird live eine JavaScript-Anwendung in CoffeeScript mit dem Framework Backbone gebaut, um die Konzepte, Vor- und Nachteile zu erläutern.

Concepts of Success: Choose Your Framework

Derick Rethans Lukas Smith Liip AG Robert Lemke

04.06.2012 | 17:30 - 18:15 | Salon 3/4 en

With FLOW3, the Zend Framework 2, and Symfony2, three major frameworks are currently courting for attention of php developers. They all offer the latest techniques and most modern approaches – with very different conceptual approaches. In this panel three experts explain the concepts behind these three frameworks and answer questions from the host and the audience, so that you will be able to choose the right framework for your applications.

Continuous Deployment

Michael Peacock Smith Electric Vehicles

05.06.2012 | 15:00 - 15:45 | Salon 3/4 en

This talk will look at a range of continuous deployment strategies and tools, and how they should link in to your Continuous Integration and Build processes, using a range of QA tools, CI tools and deployment options.

Contribute! Contribute! Contribute!

Thomas Wießeckel S&S Pierre-A. Joye Microsoft

04.06.2012 | 13:30 - 14:00 | Maritim A en

There was a great stir in the php.net project recently. One of the biggest steps would be the introduction of RFCs which resulted in a straight forward release process. Now it‘s up to you – the community. Also, with php‘s move to git, it‘s simple to debug or provide patches directly to the core. Moderated by Tom Wiesseckel from the german PHP Magazin, the well-known community activist Pierre Joye will guide you through the new and community-centered world of PHP in this welcome session to the IPC.

CSS3 produktiv nutzen

Alberto Assmann Mayflower GmbH

05.06.2012 | 15:00 - 15:45 | Salon 2 de

CSS3 bietet viele tolle Neuerungen. Aufgrund der fehlenden Spezifikationen braut hier jedoch jeder Browser sein eigenes Süppchen. Was für Vorteile CSS3 dennoch bietet und wie die Nachteile mit den richtigen Tools ausgeglichen werden können, wird dieser Vortrag exemplarisch zeigen.

Das beste Build-System der Welt

Alberto Assmann Mayflower GmbH

06.06.2012 | 09:30 - 10:15 | Salon 3/4 de

Jedes größere Projekt kommt an den Punkt, wo das Releasen von Hand zu aufwändig wird. Spätestens dann wird die Frage nach dem richtigen Build-System laut. Tools, um diesen Prozess zu automatisieren, gibt es viele, doch was genau ist das richtige, das einzige für Ihr Projekt? Dieser Vortrag soll einen Überblick über die Möglichkeiten und eine Orientierungshilfe zum richtigen Tool geben.

Dashbord at your fingertip - PHP / HTML Configuration with Business4Mo

Thorsten Nannen better-office

05.06.2012 | 15:00 - 15:45 | Salon 1 de

Viele relevante Informationen und tägliche Geschäftsaktivitäten werden in Datenbanksystemen wie MySQL, IBM DB2 – AS/400, Oracle, IBM Informix, PostgresQL, oder ODBC Datenquellen gespeichert. Die HTML Reporting Lösung Business4Mobile läuft auf einem Apache Webserver und ist kompatibel mit Smartphones, iPad, Tablet PCs und Web Browsern. In der Session stellen wir dar, wie Sie in Business4Mobile Templates mit HTML und PHP TAGs anpassen können. Außerdem zeigen wir Ihnen die Konfiguration der Queries auf die Datenmengen und einen beispielhaften Datenzugriff auf ein Magento © Shop System z.B. über das iPhone.

Dealing with Continuous Data Processing

Michael Peacock Smith Electric Vehicles

06.06.2012 | 10:45 - 11:30 | Salon 2 en

This talk will discuss some of the PHP concepts, tools and technologies available to help deal with continually processing and managing data through heavily de-coupled systems. From the services needed to ensure you can safely perform maintenance without loosing data, to reporting, storing, managing, displaying and reacting upon this data from within your web application and your database systems.

Deployment == Annoyment?

Arne Blankerts thePHP.cc

05.06.2012 | 17:15 - 18:00 | Salon 3/4 en

No matter if your server runs RedHat Enterprise Linux, CentOS, Debian/Ubuntu or Suse Linux - every linux distribution comes with a package management system (PMS) to automate the process of installing, upgrading, configuring, and removing software packages in a consistent manner ... Yet when deploying PHP based applications many developers fall back to SCP, or even worse FTP. This session will show you how easy it is to create custom packages and make use of the power provided by your PMS to automate deployment.

Deployment without the Chaos

Eric Ritchie Zend Technologies

06.06.2012 | 15:00 - 15:45 | Salon 1 en

Long gone are the good old days of web development: Single developer & server and no problems. Today we have to deal with the deployment challenges of server clusters, distributed development teams and complex code. This session will demonstrate how to harness Zend Studio and Server to easily manage the development of public version controlled projects and their deployment to various environments.

Designing HTTP Interfaces and RESTful Web Services

David Zuelke Bitextender GmbH

05.06.2012 | 14:00 - 14:45 | Salon 3/4 en

A lot of Web Services today claim to be RESTful APIs. But are they really? Do the URLs accurately identify resources? Are the powers of HTTP leveraged properly? What is "hypermedia", what is the Uniform Interface, and what is the secret behind the HATEOAS acronym that is so essential to the REST architectural style? This talk gives answers and guidelines using real-life examples.

Distributed Couch Apps - embracing eventual Consistency

Kore Nordmann Qafoo

05.06.2012 | 17:15 - 18:00 | Salon 2 en

CouchDB is a prominent representative of the NoSQL movement. Using its integrated web server and eventual consistent replication you can not only distribute data, but also full application code. This even works for clients which are not always connected to the internet, like e.g. mobile devices. This session gives you an insight Couch apps, their beauty and pitfalls.

Einführung in Symfony2

Andreas Hucks Sensio Labs Deutschland

04.06.2012 | 14:15 - 15:00 | Salon 3/4 de

Im Jahr eins nach dem ersten Stable Release haben die zweite Generation des populären Frameworks und die zugrunde liegenden Komponenten bereits einen deutlichen Einfluss auf die PHP Welt. Die Symfony Components finden mittlerweile in vielen Projekten Verwendung, seit kurzem auch in der kommenden Version 8 des Drupal CMS. Wir beschäftigen uns mit den Konzepten, auf denen Symfony 2 aufbaut, wie man die ersten Schritte tut, und wie das Framework an die Bedürfnisse jeweiligen des Projektes angepasst werden kann. Am praktischen Beispiel führen wir durch die Features des Frameworks vom Routing bis zur Auslieferung einer Response.

Enhancing Symfony 2 and ZF 2 Components in FLOW3

Robert Lemke

04.06.2012 | 11:30 - 12:15 | Salon 1 en

Frameworks like Symfony 2 or ZF 2 offer feature-rich and high quality components solving problems you better don't even think about creating a solution for. You might also have this code library which took you ages to develop and now want to use it in your next FLOW3 project. What if you could apply AOP and Dependency Injection to these components, without changing a single line of code? You can.

Extending MySQL: developing Server Plugins

Ulf Wendel Oracle/MySQL

04.06.2012 | 14:15 - 15:00 | Salon 1 en

The MySQL Server has a powerful plugin API. For example, the well know HandlerSocket plugin gives users direct access to the MySQL internal storage API. By surpassing the the SQL layer it gives users an amazing performance, close to that of caching solutions. Other plugins exist. How do they work, what types of plugins are there, how to unleash the potential of MySQL, e.g. for JavaScript users.

eZ Publish 5: Re architecture, pitfalls and opportunities

André Rømcke eZ Systems Tobias Schlitt Qafoo GmbH

06.06.2012 | 10:45 - 11:30 | Salon 1 de

11 years after eZ Publish 3.0 pushed the envelope for what was thought to be possible in PHP, eZ Publish 5 will once again increase the threshold. But this time we are not alone, also on the wave of adopters in the PHP community of DDD, separation of concern and in effect a clearly layered architecture, this is our tale of success and failures when adapting these approaches to PHP. Part of the team behind this new architecture is Qafoo, and Tobias Schlitt will cover some of the work they implemented; persistence storage engine on top of PDO, new HATEOAS based REST API and integration test suite to quality assure implementation by third-party. Talk will also cover topics such as strict adherence to dependency injection, API layering, adoption of PSR-0, migration strategy, possible adoption of other PSR’s / components from other projects and use of “black” magic.

Geolocation und Location-based Services

Stephan Schmidt 1&1 Internet AG

06.06.2012 | 15:00 - 15:45 | Salon 3/4 de

Das Web ist mobil geworden und es gibt immer mehr Dienste, die je nach Position des Benutzers andere Informationen zur Verfügung stellen. Durch mobile Web-Apps sind Themen wie HTML5 Geolocation, Geocoding und APIs wie foursquare, Google Places oder Qype wichtig für PHP-Entwickler. In dieser Session lernen Sie, wie Sie rausfinden, wo sich Ihr Benutzer befindet und was es in seiner Nähe gibt.

Getting started with Unit Testing

Tobias Schlitt Qafoo GmbH

04.06.2012 | 15:30 - 16:15 | Salon 3/4 en

Unit testing has established as the primary way for automated testing in the PHP world. This hands-on session gives you an introduction to unit testing with PHPUnit, based on a practical example. It shows you how to approach unit testing in general, how to test success and failure cases and some more advanced techniques available in PHPUnit.

Hands on FLOW3

Robert Lemke

04.06.2012 | 10:15 - 11:00 | Salon 1 en

The FLOW3 framework got a lot of attention when version 1.0 was released after years of development. Its main approach is to deliver a whole-in-one concept for modern programming techniques and guiding developers to write excellent code. This session takes you on a tour through FLOW3's key features by demonstrating the making of a real application.

HipHop: PHP at a faster tempo

Sara Golemon Facebook

05.06.2012 | 11:30 - 12:30 | Maritim A en

Any project looking to scale its web tier already knows to install APC for a quick and cheap boost to performance. With HipHop, Facebook's reimplementation of the PHP engine and runtime, this easy avenue for improvement to page generation time is taken to another level. During this presentation we'll look at how to cut your hardware requirements in half, take advantage of expanded language features, and improve user experience with faster content delivery.

Immer am Optimum, Continuous Performance

Manuel Pichler Qafoo GmbH Kore Nordmann Qafoo

06.06.2012 | 16:15 - 17:00 | Salon 2 de

Wie überprüfen Sie, dass eine Applikation die Leistungsanforderungen auch bei komplexen Nutzerinteraktionen erfüllt? Es gibt eine Welt jenseits von Bench und Siege: JMeter kann Nutzerinteraktionen simulieren, komplexe Cluster-Setups messen und lässt sich in jedes Continuous Integration Setup integrieren. Wir zeigen, wie JMeter verwendet werden kann, um Performance kontinuierlich zu überwachen.

JavaScript QA: js-test-driver und Sinon.JS richtig nutzen

Jakob Westhoff Qafoo

06.06.2012 | 14:00 - 14:45 | Salon 2 de

Durch die wachsende Komplexität und Größe heutiger JavaScript-Applikationen sind Mittel zur Qualitätssicherung unablässlich geworden. Unit Tests sind ein solches Mittel und haben sich bereits in anderen Sprachen bewähren können. Lernen Sie in dieser Session das Unit-Testing-Framework js-test-driver und Sinon.JS kennen.

Kanban bei Jimdo

Arne Roock it-agile GmbH Fridtjof Detzner Jimdo

05.06.2012 | 10:15 - 11:00 | Salon 1 de

Software-Kanban ist eine junge Methode, um seinen Prozess in kleinen Schritten immer weiter zu verbessern, um so immer schneller immer mehr Wert für den Kunden zu liefern. Die Grundlagen von Kanban sind zwar recht simpel, aber auch hier liegt der Teufel im Detail. Im ersten Teil stellen wir die Grundlagen von Kanban vor, danach beschreieben wir, wie Kanban konkret bei Jimdo eingesetzt wird.

Large-Scale Data Processing with Hadoop and PHP

David Zuelke Bitextender GmbH

05.06.2012 | 10:15 - 11:00 | Salon 3/4 en

The MapReduce framework promises to make computing of large sets of data very easy. The approach offers excellent scalability across many computing nodes, and can easily be integrated with existing systems. This session will give an introduction to the basic techniques and ideas behind MapReduce, followed by examples using Apache Hadoop, a major implementation of MapReduce, together with PHP.

MySQL DB Cluster Usage made easy: mysqlnd_ms

Ulf Wendel Oracle/MySQL

04.06.2012 | 11:30 - 12:15 | Salon 2 en

The free and open source PECL/mysqlnd_ms extension for PHP supports MySQL users in using any kind of MySQL database cluster. Optimized for replication cluster but not limited to replication, it add read-write splitting, load balancing, automatic fail over, connection pooling to any PHP MySQL application using any PHP MySQL API compiled to use the mysqlnd library. mysqlnd is a default in PHP 5.4.

Onlinemarketing-Rockstars

Frank Puscher Verlag spielfigur

06.06.2012 | 12:00 - 12:30 | Maritim BC de

Endlich ist Schluss mit langatmigen, ermüdenden Keynotes. Jetzt kommen die Onlinemarketing-Rockstars! Jeder von ihnen bringt es auf den Punkt, ohne langwierige Einleitung und ganz ohne Umschweife. Glasklar, schonungslos, unerbittlich und jeder hat nur fünf Minuten. Bringen Sie Ihr Marketing für 2013 auf Speed und lassen Sie sich mitreißen. Aber Vorsicht: Es wird laut!

Profiling PHP Applications

Derick Rethans

04.06.2012 | 10:15 - 11:00 | Salon 2 en

The web is full of advice focussed on improving performance. Before you can optimise however, you need to find out if your code is actually slow; then you need to understand the code; and then you need to find out what you can optimise. This talk introduces various tools and concepts to find issues with your applications, and tools and concepts that help you optimise the your PHP applications.

Qualitätssicherung bei Webprojekten

Sebastian Springer Mayflower GmbH

06.06.2012 | 14:00 - 14:45 | Salon 1 de

In der PHP-Welt gehört es zum etablierten Standard, die Applikation durch Maßnahmen der kontinuierlichen Qualitätssicherung abzusichern. Moderne Webapplikationen bestehen jedoch nicht nur aus einem Backend mit der Geschäftslogik und einem Frontend, das sich lediglich um die Anzeige kümmert. Immer mehr Logik wird zum Client ausgelagert, was es erforderlich macht, auch den JavaScript Code in die Qualitätsbetrachtung einzubeziehen. In diesem Talk soll auf die verfügbaren Werkzeuge und deren Integration in das Projektumfeld eingegangen werden.

Quick Start for Zend Framework 2

Matthew Weier O'Phinney Zend Technologies

05.06.2012 | 16:15 - 17:00 | Salon 3/4 en

In this talk we will present a simple web application built with Zend Framework 2. We will show the new features of the framework, including its modular architecture, the Event Manager, and more. The aim of this talk is provide developers with the basic knowledge needed to develop applications on ZF2.

Regressionstests in Webprojekten

Sebastian Bauer Inovex GmbH

06.06.2012 | 09:30 - 10:15 | Salon 2 de

Gerade im Web sind kurze Releasezyklen oft unabdingbar. Meist werden noch viele manuelle Tests gemacht, die ein bremsender Faktor für häufige Releases sind. Was gehört dazu, um bei Veränderungen des Projekts automatisiert zu prüfen, ob noch alles funktioniert? Wie kann man darauf aufbauen und was kommt danach?

Stolpersteine agiler Methoden

Sebastian Bauer Inovex GmbH Dominik Jungowski CHIP Xonio Online GmbH

05.06.2012 | 09:00 - 09:45 | Salon 2 de

Agile Methoden und ihre Regeln haben viele Stolpersteine, über die man fallen kann. Oft scheitern sie am Verständnis, weil es schwer fällt zu verstehen, worauf manche Regeln eigentlich abzielen. Aber auch der Faktor Mensch kann ein Problem sein - nicht nur wegen des Gewohnheitstiers Mensch. Diese Session soll zeigen, welche Stolpersteine das sein können und wie man sie aus dem Weg räumt.

Technologies Beyond the Hype - Schein und Wirklichkeit der Mobilen Tre

Maks Giordano Nunatak Stefanie Hoffmann Dr. Florian Resatsch Servtag GmbH Tobias Tippmann metaio GmbH Stefan Kellner 7Moments Harald Neidhardt MLOVE

05.06.2012 | 11:30 - 12:30 | Maritim BC de

Jeder kennt sie, die faszinierenden (mobilen) Technologien, die zwar seit langer Zeit diskutiert werden, aber noch immer nicht im Mainstream angekommen sind. Auch wenn es sich um Konzepte im Wartestand handelt, wollen wir das faszinierend Reale, die echten Erfolgsstorys im Rahmen von Vorträgen und einer Panel-Diskussion dahinter herausarbeiten. Maks Giordano, Mobile-Denker der ersten Stunde, diskutiert dieses Thema mit kompetenten Gästen. Dabei werden solche Themen wie NFC, Mobile Advertising, Augmented Reality, LBS und viele mehr unterhaltsam und informativ beleuchtet. Maks beobachtet u.a. als Jury-Mitglied für die Webby Awards die Mobile-Szene, brachte den Mobile Monday nach Berlin, gab das Buch "Mobile Business" im Gabler Verlag heraus, gründete eine der ersten Mobile-Agenturen Deutschlands und ist heute ein aktiver Seed-Investor in vielen Mobile-Start-ups und gefragter Berater.

Test-driven JavaScript Development

Martin Ruprecht Mayflower

06.06.2012 | 10:45 - 11:30 | Salon 3/4 de

Die Entwicklung mit JavaScript ist schon seit längerer Zeit gängiger Standard, und somit wurden auch bekannte Programmierstandards und Entwicklungsformen auf diese Sprache transferiert. In dieser Session zeige ich die Grundlagen für testgetriebene Entwicklung mit JavaScript und führe das anhand eines Beispiels vor.

Testen State of the Art

Tobias Schlitt Qafoo GmbH Manuel Pichler Qafoo GmbH

04.06.2012 | 10:15 - 11:00 | Salon 3/4 de

Automatisiertes Testen ist zum Standard in der PHP-Welt avanciert. Aber ist Ihre Test-Suite immer noch State of the Art? Nutzen Sie die neuesten Features, um sich das Testleben einfacher zu machen? Sind Ihre Tests verlässlich? Lernen Sie, was en vogue ist in der PHP-Testwelt im Jahr 2012.

The five Dysfunctions of a Team

Dominik Jungowski CHIP Xonio Online GmbH

05.06.2012 | 14:00 - 14:45 | Salon 2 en

"The five dysfunctions of a Team" is a very powerful and popular model of Teamwork (or rather: Teamwork as it should not be) by Patrick Lencioni. This session will explain the model, how today’s agile processes already prevent those dysfunctions and moreover what you can do to overcome them.

The Symfony CMF project

Lukas Smith Liip AG

04.06.2012 | 15:30 - 16:15 | Salon 2 en

The CMF is an initiative to build a set of independent bundles for Symfony2 that play well together. The goal is to enable developers to add CMS functionality when building custom applications with Symfony2. Key development principles are scalability, usability, documentation and testing. This session will introduce the core architecture of the CMF along with how it integrates with Symfony2, the current available Bundles and the future roadmap of the project.

This Way or the other Way?

Stefan Priebsch thePHP.cc

05.06.2012 | 09:00 - 09:45 | Salon 3/4 en

Many decisions are required when developing software. If we are not sure which path to choose (which is often), we just guess. How about running an A/B test instead, so we can base our decision on empirical data? Why not continuously run A/B tests to increase conversion rates or sales? This presentation introduces how to properly do experiment-driven development in PHP.

Travis-ci.org, social continuous integration

Lukas Smith Liip AG

04.06.2012 | 11:30 - 12:15 | Salon 3/4 en

Travis-CI puts a new spin on continuous integration. In essence if Github is social coding, then Travis-CI is social continuous integration. With adding a very simple configuration file anyone can setup your projects tests to run with every push in every branch on their fork. All it takes for them is a few clicks. Think about that for a second, think about what this means for the quality of contributions you can expect. As such Travis-CI does not aim to replace other CI solution like Jenkins that at least today still offer more flexibility, rather its an text book of a disruptive innovation. This talk will introduce how Travis-CI works, what it can do, what it will do in the near future and how to get it all working for your PHP project.

How to avoid the "low hanging fruit"-vulnerabilities

Carsten Eilers ceilers-it.de

06.06.2012 | 14:25 - 14:45 | Salon 3/4 en

Some vulnerabilities are "low hanging fruits" - some small changes in the code would prevent them. In this shorttalk you will see a few examples of this vulnerabilities, their reasons and how to avoid them. If anything in this talk is new for you, you may have a problem: One or more vulnerabilities in your code.

Unhosted – separating Web Apps from Data Storage

Jan-Christoph Borchardt Unhosted.org

04.06.2012 | 16:30 - 17:15 | Salon 2 en

An update on the non-profit Unhosted project which develops a better web architecture. We will explain why open source is not the solution for web applications and why JavaScript is. For that, we will present the remoteStorage specification and how application developers as well as storage providers can implement it – and how everyone benefits.

webinale und IPC Welcome Session

Sebastian Meyen Software & Support Verlag

04.06.2012 | 09:00 - 10:00 | Maritim BC de

Sebastian Meyen und verschiedene Speaker beleuchten in dieser Eröffnung die wichtigsten Themen der Konferenz. Was sind die spannendsten Trends und die wichtigsten Entwicklungen? An welchen Themen kommt man derzeit nicht vorbei? Mit diesem ersten Ausblick starten wir in die webinale - Enjoy the conference!

wetter.com: A complex high traffic website with Symfony2 and Varnish

Gaylord Aulke 100 DAYS GmbH Andreas Streichardt 100 Days GmbH

04.06.2012 | 16:30 - 17:15 | Salon 3/4 en

wetter.com is the most visited weather forecast site in Germany. In March 2012 a complete rewrite of the site on top of symfony2, nginx, php 5.4 and varnish went live. As one of the first big projects based entirely on symfony2 Andreas will share hist experiences, the good and the bad parts of the project and provide an outline on how to develop a real high traffic website.

What to look for when performing Security Audits

Arne Blankerts thePHP.cc

06.06.2012 | 16:15 - 17:00 | Salon 3/4 en

To ensure the high quality of your source code, you of course write (unit) tests and do regular code reviews. Judging the state of security though may seem a lot harder than it is - if you don't know what to look for and where to get started. This talk will introduce you to security audits, why and how tools can assist a manual review and why a mere scanner based approach doesn't work.

  • Follow Us
    • Facebook
  • Bookmark Us
    • Digg it!
    • Mr. Wong
    • Yigg it!
    • del.icio.us
 
css based on YAML 3.0.4