• Oct 06 ByContract 0.0.5 released. ByContract is a small library that implements Design by Contract -like validation in JavaScript code, using JSDoc expression for contracts. From now it supports custom types (union/complex) declared in the fashion of @typedef JSDoc tag. Follow the link
  • Sep 14 The Flavor of TypeScript: a hands-on guide full of ready-to-use recipes and code examples Follow the link
  • Apr 13 "A few things you need to know about CSS" slides from an internal master-class Follow the link
Error Handling for Your PHP Application

However fondly you treat your application, errors happen and they happen often when it is being developed. That’s obvious you want to get all the tracing information during the development stage and something like ‘Application Error’ page if the error occurs on the production.

Everybody knows error handler can be set in PHP through set_error_handler. The same about exceptions for which set_exception_handler is used. But it really works only for user-defined errors and uncaught exceptions. It doesn’t affect any of fatal error for instance. Well, PHP has such stuff as register_shutdown_function to deal with them. We can create ErrorHandler class and subscribe the handlers in the beginning of the script

Anonymous Functions and Closures in PHP

If you are used to switch between JS and PHP programming, it obviously happened to you to miss some of JS flexibility in PHP. I felt it every time when declaring a callback function , being eager to apply something from JS like that...

Source Code Analysis: Code Sniffer

In the previous article we examined the only way of code analysis – PHP tokinizer. But digging deeper you’ll find many of options. Well-known expert of the subject Sebasitan Bergmann points out following.

As far as you see, with such a set of tools you can do whatever you want. But here we are going to discuss the only application, which is known as code sniffing.

Ok, you have some team, working on the projects and, obviously, you have some code convention to adhere. The lead, making code review, checks the compliance with standards by sight. Common, tell me you are not fond of it. There is an amazing tool but again by Sebastian Bergmann so-called PHP CodeSniffer.

Image Slider: Comparing JS, JQuery and YUI3 Implementations

First I decided rewrite my old BlogSlideShow JS-class. In fact I have a plan to rewrite all of my old works gaining to update functionally and appearance regarding to nowadays fashion and make better their code. So, after I finished with implementation on fluent JS, without use of any external library I ported it on jQuery. After that I wrote also implementation on YUI3. I’m fond of both those frameworks and found that is a good practice top have the same task solved thrice in different ways. So here is my observations experienced the task.

Source Code Analysis: Translation Coverage

Let’s assume our application has a UI translation module. We created dictionary and use terms from there within the code of application components. Everything is clear so far. But one day we begin to suspect that not all of the terms presented in the dictionary are really used within the application. Besides, probably some of terms which are used in components are not available in the dictionary. So we need a script to traverse all the source code files searching translation module use occurrences. Having the list of all encountered terms the script can compare it with the terms of the dictionary.

Persistent Full Duplex Client-Server Connection via Web Socket

RIA is considered as one of the mostly particular to the modern Web feature, and often stands for the trend, according to which web-applications tend to desktop applications. Nonetheless the approach is very relative. Overwhelming majority of “rich” web-applications is still built on the “request-response” model. I.e. events of the client side can be reflected on the sever side, but not vice-versa. In order to make such a trivial thing as a chat, you have to go with tricks. There are different techniques to emulate bi-directional connections. Usually solutions of the kind are called Comet, thanks to Alex Russell of Dojo.

Sapid CMF reload

Eventually I reincarnated my personal site using alpha version of Sapid CMF 2. I’m still in progress refining the CMS release, but actually the only what I brought from old version is its name. So, what is going to be?

Feature Driven Development for web-developers

About 10 years ago web-projects were mostly static and development process pretty simple. Now difference between web-applications and desktop applications disappears, functional complexity of web-projects grows up. It demands to new requirements. That’s usual now – the project is long-term , many of experts take part (non-experts as well). Everybody brings to the project backlog new ideas and goals, before the development stage as well as after. You see, goals and stories mutate and so the tasks. Preliminary estimation by time loses its reasonability. Obviously, it’s needed especial development methodology. Among so popular nowadays Agile methods there are exactly what we need – Feature Driven Development (FDD).

How to Create Facebook Applications

Has it ever occurred to you to fancy about all Facebook applications are simple and similar per se? All of these virtual hugs, gifts, greeting cards, wishes, likenesses, poke, smiles, karma-exchange and other psychological “stroking” differ only with the form, in which user get their portion of attention. Thus this niche is always open for persons interested to test their own ideas. Facebook applications enroll the audience in the way viral marketing works. Users invite their friends to use the application, those friends invite new user the same way. You see, if you have a worth idea, theoretically you can obtain the audience which works out at 20 millions of Facebook users. So there is nothing surprising in that some amateur Facebook applications are sold for tens of thousand dollars.