Sane Single Page Apps: Easy Data Handling with DTOs

Sane Single Page Apps: Easy Data Handling with DTOs

When a software collapses, it’s usually due to it being no longer maintainable because of complexity. Brian Kernighan, the creator of AWK programming language, puts it quite explicitly: "Controlling complexity is the essence of computer programming".

Gerrit based Workflow - Complete Developer's Walkthrough

Gerrit based Workflow - Complete Developer's Walkthrough

We have successfully adopted the Gerrit workflow for pre-commit code review in Evojam. We believe that this a foundation of high quality of our solutions. After two years we have worked out a complete approach for the pre-commit review with Gerrit, branching model and application provisioning. Now I have realized the there is no definite cookbook for the newcomers. This led me to the idea that it may be worth to share this approach with the community. This is not totally unique but may save a newcomer a bit of time.

Practical Intro to Monads in JavaScript: Validation

Practical Intro to Monads in JavaScript: Validation

Few weeks ago I published a practical Intro to Monads in JavaScript where I covered basics of Identity and Maybe monads. Some time later I added a tutorial on Either monad and fails-fast error handling. This time I will show you error accumulation in a simple Validation use case.

Tackling a 1 Billion Member Social Network - Fast Search on a Large Graph

Tackling a 1 Billion Member Social Network - Fast Search on a Large Graph

At Evojam we always seize opportunities for R&D. So when a former client asked us for cooperation on an existing project, which involved a 1 billion member social network, we jumped at the opportunity. We joined the team and did our best to fix bugs and solve data consistency, performance and reliability issues. Additionally, we presented a more effective approach to the application’s architecture. This article briefly covers our journey through the 1 billion member social network.

React vs Angular2: The fight rages on

React vs Angular2: The fight rages on

Google’s Angular and Facebook’s React are now most popular tools for building browser (and not only) applications. Both are great solutions. While Angular2 is still in beta it has been already tested by few Google developer teams – AdWords, GreenTea and Fiber. List of applications built with React is really long and you can find there names like Instagram, Netflix, PayPal and many more.Brutal war is coming.

Practical Intro to Monads in JavaScript: Either

Practical Intro to Monads in JavaScript: Either

My simple and practical Intro to Monads in JS, where I covered basics of Identity and Maybe monads, seemed to be helpful for a lot of folks, so I’ve decide to continue the topic. Now it’s time for Either – a tool for fast-failing, synchronous computation chains. A tool that may increase readability and quality of code while reducing error proneness. The best part is that we can still ignore the category theory!

Presentation: Awesomely descriptive JavaScript with monads

Can unfamiliar pattern from world of statically typed functional languages improve JavaScript world? For sure YES! The elastic nature of JavaScript can handle great ideas from many alien worlds. With a little help of modern tools like ​monet.js​ and ​TypeScript​ we can achieve awesomely descriptive aesthetics of our code and drop some imperative bloat.