During the last 3 weeks we evolved our understanding of frontend
LazoJS worked quite well in the cases that I dealt with. These were
mostly simple feeds like news, inbox or conversation. However,
it created some complexity and overhead for Tomas and Pieter as
they explored encapsulation of UI elements and their reuse.
In short, in LazoJS it was quite complicated to create and apply a
reusable component (e.g. avatar or like button).
While I focused on finishing features in LazoJS, Tomas and Pieter
Last week I focused on the user interface, rebuilding features
from the first UI demo. This time the code was much better, though:
- all benefits of LazoJS framework are built-in;
- less memory leaks and unexpected behavior (last UI prototype stuck
there), for example all views explicitly unsubscribe event handlers
before being unloaded from the DOM;
- more reactivity and interactivity across the system.
Many people have opinions on node. Its not the pretties language in the world. Callback hell can create complexity out of the simplest use-cases. But it is seriously going strong.
All right, Rinat has pushed me for a few weeks now to bring up the blogging and summaries again!
And I do agree its about time!
Last week Pieter and I had a few really good pairing sessions where we tried to create a top-notch component structure where logic (js), layout (css/html) is packed together and can be reused arbitrary the surroundings.
This allows us to write for instance 1 Like button, the looks may change but the behaviour and the the…
Last week I focused on implementing some requirements related to
reactive user experience. That is basically about things that make the
users feel as if they were working with a native desktop/mobile
Last week was dedicated to front-end development. We made some nice
progress there, thanks to LazoJS framework and Jason Strimpel
himself. This framework, supported by the entire Node.JS ecosystem, makes
development quite simple even for somebody so unexperienced in UI like
Of course, Node.js has some drawbacks. For example, its performance
is worse than the performance of golang code, pushed to the
development itself: callback hell, memory leaks, relatively poor
debugging experience, low quality of some…
by Rinat Abdullin
Running were a good introduction into the field.
It is surprising how diverse and rich node.js ecosystem is. I
everywhere, and it is extremely flexible. This creates a lot of
diversity for both good and evil. Besides, it is really easy for anybody to publish node.js packages. There are thousands…
by Rinat Abdullin
Last two weeks went fast.
I mostly focused on the backend, rewriting some of our older modules
(register, draft, review and auth) to match JSON API
requirements and covering them with use-cases. Missing edge cases were
addressed as well.
There were also a few technical features, affecting the entire codebase.
First of all, I added role-based security to the system, extending
authorization to support various levels of super-users, like admins
and reviewers. This required a slight adjustment of use case
Second, Tomas asked to get rid…
The highlight of the last week was switch from pure Go driver for
PostgreSQL to a wrapper around native library
jgallagher/go-libpq. Pure Go driver seemed like a nice thing in the
beginning (no need to bother with native dependencies or header
files), however it turned out to bee too immature. Confusing error
reporting for connection issues was one of the biggest problems for
Thanks to database/sql abstraction in golang, I was able to switch
to native driver in one day. Cleanups mostly involved our handling of
It is good to be back from the vacation. Not only you feel rested, but
you also get to see all the cool things done by the team.
Tomas and Pieter focused on pushing forward seeding utility that takes
data dumps from the production systems and transforms it into the
events for the second version of HappyPancake. They moved beyond
Finland dataset (the smallest one) and started seeding Sweden, which
yields more than 500.000.000 events. This allowed to polish code
heavily (e.g. memory and connection leaks…