Trace Reports for Performance Tuning in Appengine

Fixing webapp speed is really hard job, mostly because it’s hard to find a bottleneck. And I want to show some tools that Google Appengine gives you for this job. Actually i’m going to tell about combination of two tools, that works just perfectly together.

First thing is Traces (under Monitoring tab in Cloud Console). It’s kind of a new tool, and I didn’t pay much attention earlier, just played a little. I thought it’s just another view to your logs, from Appengine APIs point of view:

gae traces - details - full

It shows you details about requests, with information about which API calls were made, how much time server spent on them, how much it did cost, etc. Pretty useful information btw.

Continue reading

Daily Meetings & Distributed Teams

For many years I’ve been working in distributed teams, for different companies, for different projects. And there is one important thing, that distinguish one team from another. It’s how team meetings are organized.

I mean “Morning Standup”, “Weekly Standup”, etc.

For traditional (non-distributed) company it’s easy, just get together in the morning. According to schedule or just when everybody are ready to talk.

Fixed schedule is much more important thing for a distributed worker. For distributed team there is no morning, just Skype and different timezones. And also, person on other side usually needs some preparation before call. Turn off music, wear headphones, turn on microphone and camera, etc. Get dressed :)
Continue reading

RESTful using Spring Framework

I don’t need to say that RESTful web services are very popular this days. So, you need it, for sure, but what to choose? I’ve tried different Java frameworks for REST, most times it was Jersey and Spring MVC, and think that for most cases Spring is the best option for building RESTful applications using Java.

If you already have a Spring app, then you don’t need to make complex configuration to start implementing RESTful API with Spring. Just configure view resolver for JSON, and use standard annotations like:
Continue reading

Comparing Google Gmail Apps

gmails That’s happened that I’m using Android and iOS devices at same time. I mean I have Android phone to make calls, and iPod Touch for applications and internet. So, I’m having both of them at my pocket all the time.

As I said, Android is for calls, iPod for apps, but there is an app that I have on Android as well. It’s official client for Gmail. Same app, made by Google itself, for same Google service, just Android version and iOS version.
Continue reading

Hsoy Templates – client- and server side templating

Introducing “Hsoy Templates”, a html templating library for modern web. The main goal was to make a templating library with easy to use syntax, that can be used on both server and client side. It have HAML syntax, and compiles into Java on server side and JavaScript on client side.

Actually it’s a version of Google Closure Templates (.soy templates) with HAML syntax.

Why you need this?

In modern web development it’s very common to update some parts of current page by data received from server, but the problem that it’s annoying to write and support same HTML view two times – for Client and for Server. Just breaks DRY principle.

Hsoy Templates gives you a way to write such templates just once, and use it on client-side, and on backend.


  • one template (a *.hsoy file)
  • HAML syntax (see
  • fast
    • compiled into Java (so can be used from Groovy, Scala, Clojure, etc)
    • compiled into Javascript (so can be used from Node.js)
  • based on Google Closure Templates library
  • commercial friendly (Apache 2.0 licence)

Weird story behind Smartsy Corp

After publishing my previous post, about working with Arnaud Saint-Paul and Smartsy Corp, I got a lot of feedback from people who has same problems with Smartsy (and people behind this company). I mean, I found a lot of guys who were working for same company, but never get paid. Some guys tried to go to court, but anyway, didn’t receive any money.

I’ve made some investigations, contacted some of them, we discussed their experience, their problems with getting money, etc. And now I’m trying to put it together, onto one page. I believe, I need some time to gather all details, so this page is going to be updated.
Continue reading

Working with Arnaud Saint-Paul and Smartsy


For the last few years I’m doing consulting for various startups and web companies, mostly for server-side development using Java, Groovy, Grails, etc. Few months ago I’ve contacted Jose Comboni, from San Mateo, CA, who was looking for a consultant for French company called Smartpaper (founded by Arnaud Saint-Paul and Gerard Ayache). The company has been moving to US, with a new name “Smartsy” (or Smartsy Corp). We made a deal, signed an agreement, and started working.

Disclaimer: This article is my personal opinions. No guarantee is given that the information provided in this article is correct, complete, and up-to-date. All the trademarks are the property of their respective holders.


Smartsy – is a corp registered in California, US. Previously called as Smartpaper, and Smartsystem, and was working in France. Smartsy is a mobile app for iOS and Android + web application based on Grails.

Managed by:


It was strange that nobody was really concerned about project, fast results, etc. It takes days to receive answer for urgent questions, and about a month to get all details. It’s common for enterprise, but unusual for startup which is trying to save each cent and get result as fast as possible.

More strange was that some parts of the project were lost. Just an outdated version in “zip” file, no git/svn, no history, nothing. I mean, previous developer just didn’t provide sources for his last work, so we had only compiled binary on test server, and an outdated snapshot of sources. It was my fault that I didn’t pay attention to this facts.
Continue reading

Why i’ve switched from Ubuntu to Mac

I’d used linux and Ubuntu for many years, both on server and on desktop. Main reason it was stability of linux. Linux was much more stable than Windows, where you need to reinstall it every half a year, and anyway, you’ll get a lot of crashes.

Few years ago Ubuntu has really ugly UI and lack of features for desktop users. But things are changing, right now it looks much better, developers are adding features, one by one. But, at other hand, after every added feature we get a lot of added bugs :( It’s okay, sadly, but it’s a rule of software development. The problem that nobody want to fix them. It’s cool to add a new feature, but fixing a bug isn’t, because nobody sees it. So, there is no motivation to fix bugs.

As a result – we have unstable OS. Gnome crashes few times a week, have a lot of UI issues, wifi problems, hibernate problems, multi-monitor problems, slow as a snail, and seems that you need to reinstall it periodically, etc, etc :( So Windows becomes more solid at this point.

Ok, it tries to be like Mac OS. But right now it more like a very ugly Mac OS.

Looks like Linux have lost its advantages and opportunities at desktop market :( So, I just bought a Macbook Pro.

PS linux is still doing good on servers, i’m talking only about desktop