Sensei Anywhere

Developer productivity is very important for us at Datazenit. Database administration tools usually do not excel with great efficiency, but we are here to change that. I really enjoy quick navigation features in IDEs and code editors. For example, Sublime Text, IntelliJ IDEA and vim with ctrlp or command-t plugins provide an exceptionally quick way to navigate between files, classes and methods.

Read more »

Sensei Grid v0.1.4

This is the 5th release of Sensei Grid, a simple data grid in JS/HTML. The biggest addition in this release is new row support and handling. This is implemented as an empty row at the end of table. The empty row can be enabled/disabled via configuration setting: emptyRow: false. By default the functionality is enabled.

Read more »

Twitter Cards

Twitter Cards lets you add rich content to tweets when you share a link. I have added Twitter Cards to this blog which basically means I have added few meta tags to the head part of HTML. I was always sure that Twitter Cards are whitelisted and thus available to big brands and companies, but as it turns out the approval process is really simple and fast. It took around 10 minutes and my card was approved.

Read more »

The Technology Behind Datazenit: Part 1

Datazenit is a web-based database administration tool. It is a standalone app, that doesn’t require installation - just download and run it. You can then access Datazenit via any browser through specific address, e.g., http://localhost:9000/. It is somewhat similar to the model used by phpMyAdmin. Datazenit becomes most useful when deployed on a server, because from there all your team can access it, share connections, queries, datasets and charts. This is something other database tools lack.

Read more »

Duplicate Blog Friday

Morning started rather interesting. I was googling search terms related to my blog and was quite surprised when I found another blog with the same content and design as this one. The domain was a regular .com and it had a bit different style, but overall it was a complete copy of this one.

Read more »

Core testing finished [v0.1.3]

This is another status update for Sensei Grid, an open source project I am working on. As planned yesterday, today all tests were finished for the most important parts of Sensei Grid, and I published a new release - v0.1.3. Today went without any hiccups and I was able to finish testing earlier than expected. Because of that I already started working on functionality regarding new row support - there will be an empty row at the end of grid and it will also introduce row/cell states - saved/unsaved. It seems to be a fairly common and obvious practice.

Read more »

More testing [v0.1.2]

Today was mostly spent on further testing Sensei Grid. This wasn’t a great day for productivity, because a lot of time was wasted on event binding bugs in Jasmine testing environment (reason: curved_hands.dll). All problems were resolved and testing has been going forward pretty smoothly. I plan to finalize tests tomorrow and start working on new functionality on Friday. First thing in the list - implement functionality for adding new rows.

Read more »

Sensei Grid Testing

This is daily progress update for Sensei Grid. Today I spent some time to write test specifications for public data access API methods. New DOM tests were also added and test specs were dived in two files: apiSpec.js and domSpec.js. Jasmine is used a testing framework and tests are run together with JSHint to ensure code quality. Tests and JSHint are also run on Travis CI server.

Read more »

Sensei Grid Daily Progress

Today was a big day for Sensei Grid, an open source data grid in JavaScript/HTML I am currently working on. The project reached 2nd place in GitHub’s Trending repository list (1st between JavaScript repositories). GitHub sends out daily emails about new Trending repos and that resulted in even more traffic and followers to Sensei Grid. I was happy to see project’s community growing steadily.

Read more »

Sensei Grid got some traction

Today I was pleasantly surprised when Sensei Grid, an open source project I am currently working on, reached the top of Hacker News’ front page and stayed there for several hours. It resulted in an interesting discussion, huge load of traffic and new followers on Github. The Github repository if currently 3rd in the Trending repo list.

Read more »

A long hike

Today was one of those days off when you just do something random without much thinking. So I just went on a long hike with my girlfriend. We went from our home in Ādaži to the nearest beach (in Carnikava). The route was approx. 23km long and we spent around 5 hours just walking.

Read more »

Sensei Grid Daily Overview

I promised to post updates on Sensei Grid development and here goes a daily progress overview. For those who do not follow this blog – Sensei Grid is an open source grid editor in JavaScript/HTML. More info in a previous blog post.

Read more »

Sensei Grid Roadmap

First public release of Sensei Grid

In previous articles (#1, #2) I have mentioned and showcased a small demo of an open source library I am currently working on - Sensei Grid, a simple data grid in JavaScript. Today I cleaned and re-structurized the project, refactored some core classes and published it on GitHub. It is still under active development, but I have a clear plan and goals for the project because it is an essential part of my startup – Datazenit. Check out Sensei Grid at GitHub.

Read more »

My biggest challenges as a startup founder

I am currently co-founder at a fully bootstrapped startup – Datazenit. Datazenit is a web-based database administration tool, built on top of Scala, Play framework and Backbone.js. Previously I co-founded Hiburo, a simple team management app, but it was more like just a project for me. There was no market research and real business goals behind Hiburo, because we mainly built it for our own need and then later decided to open it up for other teams. Hiburo currently is not in active development, because all my focus is on building Datazenit.

Read more »

Git aliases

Git is the best version control system and one of my favorite development tools in general. It is small, fast and has some Linux-coolness to it. In this blog post I will share a few handy git commands that I have defined as aliases. Aliases can be defined in .gitconfig file located in your home directory. Aliases are basically shortcuts to frequently used or just long commands. The aliases listed in this post are in form <name of alias> = <git command>. The same format is used in the .gitconfig file. Just prefix the <git command> with “git” and you can use it without setting an alias.

Read more »

Responsive blog

Today I got notified that this blog is not responsive. True.

One small commit later, the design is now somewhat responsive. The blog is now readable at least on the devices I had around house. Also a favicon was added.

Responsive blog design

Free and useful apps for startups

I wanted to make a list of useful apps and services that I use or have used for any on my startups. This list will only feature apps that have a free plan.

Read more »

Work and open source #2: Sensei Grid

Previously I wrote about an issue I had regarding an open source library. A short summary – an update that was supposed to fix several blocker issues broke everything else and I was left with a dilemma to either fix the lib or to find a new one. Initially I tried to fix the library, but when enough time was wasted and new bugs started popping up randomly I decided it was time to ditch that dependency entirely. The package provided an Excel-like data grid, which is one of the core elements of Datazenit’s interface. I couldn’t wait for another update, because Datazenit needs to be moving forward.

Read more »

Typesafe's case study about Datazenit

Typesafe, the company behind the programming language Scala and the Reactive Platform, is occasionally publishing case studies about other companies using their technology stack. I was pleasantly surprised when they asked me to collaborate on a case study about Datazenit. Backend of Datazenit is developed in Scala and built on top of Play framework. I wrote about switching from Python to Scala a few months ago and the article gained some traction inside Scala community. Soon after that Typesafe reached out and wanted to learn more about how we use Scala. I was happy to share, and after several discussions and drafts a case study was born. The study covers the reasons why did we choose Scala, what were our expectations and the end result. You can read the full paper here and check out other interesting case studies at Typesafe’s website. It is an honor to be amongst other tech giants like Twitter, LinkedIn and Foursquare.

Read more »

Awesome Scala

Scala is awesome, there is even a proof for that – awesome-scala. 2 months ago I started a list of great Scala libraries, frameworks and tools. The list has significantly grown and improved, thanks to its many contributors. Yesterday awesome-scala reached a small milestone: 1000 stars on its GitHub repository. There are also more than 100 forks and 100 watchers, 153 commits, 38 contributors and 64 closed pull requests.

Read more »

Fishing records in Latvia

Fishing is one of my biggest hobbies and I try to get near freshwaters as often as I can. Latvia is full of amazing lakes and rivers that are scattered with anglers trying to get that big catch. I noticed that there is no information in English about fishing records in Latvia, so I made a small list. This list doesn’t feature all records, just those that seemed interesting to me.

Read more »

Work and open source

This blog post will be a small recap of the work day. After a few day break I resumed my work on Datazenit. I was occupied with other things and few conceptual projects for the past couple of days, but more on that later.

Read more »

Educational YouTube channels

What better way is there to entertain yourself for a short while than to watch educational, scientific or just plain interesting YouTube channels? I usually watch them while having a lunch by myself or when I am totally bored and don’t want to do anything else.

Read more »

Summary: The first week of my 90 day blogging challenge

A week ago I posted a challenge to write a blog post for the next 90 days. I wrote every day and didn’t break the challenge so at least that’s good. The first week has passed and here are couple of insights.

Read more »

Servers are fun: Ansible

Server administration is an interesting form of art in which I was kinda drawn into. I do not consider myself anything near a system administrator, but I like working with Linux and servers. Most of my favorite development tools are run from a terminal, and I like them because they are fast, predictable and scriptable.

Read more »

Scala in Vim

I am a long time Vim user, however in the last few years I have been using it less and less each day in favor of IntelliJ IDEA, a superb, fully featured IDE that really does it all. Vim felt right after I got past its steep learning curve and for quite some time I was a true Vim junkie. I used it for everything and had installed the Vimperator plugin for Firefox and Vimium for Chrome, configured my window manager xmonad to use Vim-like key bindings, enabled vi editing mode in bash and so on.

Read more »

Thought-provoking TED talks

I am really a fan of TED talks, I watch them for entertainment, to learn something new and when I am bored. Their slogan basically says it all “Ideas Worth Spreading”. There are over 1700 TED talks recorded, but I want to present a list of my all-time favorites.

Read more »

Moving away from the cloud

Yesterday I tweeted that the cloud-based version of Datazenit will be postponed in favor of a standalone app. The cloud version is not a separate thing, it is just the same standalone app, a little bit customized and hosted on our servers, made available to everyone. A question may arise - then why cancel the cloud app? There are several reasons for that.

Read more »

5 Productivity Tips for Developers

There are plenty of productivity tips online and some of them are good, some of them are not, but I wanted to create a list of things that actually help me get shit done. Tips that are easy to use and have an immediate effect, not a five year plan. These tips won’t be about what software to use or what color theme is the best, but general practices that significantly boost productivity. However keep in mind – what works for me, may not work for you. These tips may also be relevant to non-developers, but I can only speak from my experience as a developer.

Read more »

Today was a fine day

August 17, a fine Sunday here in Latvia. Not too hot and not too cold, just a perfect, sunny afternoon. Today was annual Riga City Festival, which attracts a variety of people. Together with my girlfriend we walked around the city centre and enjoyed the ambience of bright mooded people everywhere. There were a lot of activities for kinds and parents, like straw toy workshop, puppet theater and roller blading championship, but there were also several sport related events like a basketball tournament where teams are formed with people from specific crafts and occupations like artists, actors and politicians. Sadly we didn’t get out of the house early enough to check out all the activities, but on the other hand it was short enough so I didn’t get bored, which is probably good.

Later in the evening I went for small fishing trip outside of the city with few friends. We didn’t catch much this time, but it was meant to be a recreational event just for fun. Lakes and rivers have always relaxed me and I can’t pass on it. To properly finish the day, we grabbed some junk food from McDonalds and ate it with a great smile. It is really a liberal food, because who can turn it down?

This was also one of the rare days when I didn’t do anything work related. Didn’t even think about it that much. I will call it a progress.

A tiny rant: Jekyll vs. Octopress

Before switching to Jekyll, I tried out Octopress, a blogging framework built on top of Jekyll. I was really surprised to find out how much I disliked the experience with Octopress. I had an impression that it is a hacker friendly, simple and extensible blog platform, but it was the opposite of that. There are many layers of abstraction, themes are pretty complicated, it comes with many (19) pre-installed plugins out of the box, dozen depedencies (ruby gems), it uses Sass by default and so on. A fresh copy of Octopress blog consists of staggering 29 directories and 144 files. That’s wordpress-much.

Read more »

Blog like there's nobody reading

Just a few days ago I resurrected this blog from the ashes of recent server migration. Previously it was powered by a Python blog engine called Vellum, but now it is a fully open-source static site generated by Jekyll. All my posts and the site itself can be found in a GitHub repository: lauris/

Read more »

Microsoft BizSpark

Few weeks ago we got accepted into Microsoft BizSpark. It is a program that gives away Microsoft products to startups. Besides all the free software and startup community, they also provide us with €115/month credit for Azure services. For 3 years. The credit is enough to spin up several virtual server instances, SQL Server and a lot more. Check out the pricing calculator to get a general idea. So far I haven’t seen a catch, and if everything proves to be alright, we will move at least some of our cloud services to Azure. I have already set up an environment for testing and CI, and it seems to be working like a charm.

P.S. This post was initially a tweet, but I had a trouble to express myself in 140 chars.

The New Logo & Design

Once in a while I like to tear things apart and start fresh – this blog is no exception. Thanks again to Sasha for helping with the new logo. For me the Greek letter lambda “λ” creates associations with Lambda calculus, functional programming and of course Half-Life. The letter in logo also makes sense because my first name starts with “L”.

Lambda Logo

First year as an independent business owner

It has been a wild and fun trip. Year ago I established a company called Hedgehog Solutions. Soon after that I quit my day job and asked Sasha, a friend of mine, who also happens to be badass graphic designer, to join me. After 6 months he quit his day job too and we joined our forces together to build awesome software.

Read more »

Weekly round-up (#6/2014)

This week was full of surprises! Hiburo got interviewed by ArcticStartup. Unusually high amount of subscribers joined Datazenit Beta List. We also decided to offer a standalone version of Datazenit (in addition to cloud based version). It means that users will be able to use it locally or on their own servers – more on this in an upcoming blog article. Also all of Datazenit t-shirts ended – they went to early adopters and friends. If you missed a chance to get one, there will be a new batch of t-shirts at the end of beta period.

Interesting news, blog posts or Github projects from last week.

Fix for the new twitter design

I don’t like the new twitter design update, but the goods news are that it is very easy to fix. My biggest complaint is about the width of navigation bar – it is wider than the main content and it doesn’t make any sense. IMO the width should be the same for both navigation bar and content in this case.

Read more »

Weekly round-up (#5/2014)

Random news, blog posts or Github projects from last week.

Weekly round-up (#4/2014)

Last week we designed new Datazenit t-shirts and they look pretty awesome if you ask me. Preview below.

Datazenit T-Shirt Preview

Random news, blog posts or Github projects from last week.

Weekly round-up (#3/2014)

Last week was awesome, we finally launched Hiburo. The launch actually means that we are going to shift our focus to Datazenit. We will be working to extend customer base for Hiburo, but most of development time will be spent on Datazenit.

Weekly round-up (#2/2014)

This week we released first article about Datazenit – Visualization early preview. We have also decided about Hiburo launch date. If everything goes according to the plan, Hiburo will go into a stable version next Monday, January 13th. A full release will be published on Hiburo blog.

Below you can find weekly dose of interesting links:

Weekly round-up (#1/2014)

Holiday season is over, now I am back to work. January is going to be interesting – Janis, an old friend of mine, has joined our team as an intern. He will be working with us on Datazenit project for a whole month. Another important event is coming very soon - we are launching Hiburo this month. Excitement is building!

Introducing Sotokit: A Social Activity Kit

When Christmas celebration was over, I decided to spend an afternoon to code a little idea I had. There was a left over domain from the times when we repeatedly changed the name of Datazenit, so luckily no time was wasted choosing the name - otherwise it would have been more than just an afternoon.

Read more »

Weekly round-up (#51)


Today we are going to flog a dead horse. Over the time I have bookmarked several JS WTFs and would like to share some of the best ones. Javascript can never stop to amaze people.

Alerts “fail”. Read why this works. Another similar StackOverflow topic.


Obligatory link: WAT Talk.

Weekly round-up (#50)

Vim editor for Github

Today there was a topic on HN about Vim.js, a JavaScript port of Vim. Some people were asking about a way to integrate the Vim editor with Github.

Read more »

Intro post

Introduction to the blog. This is not a blog post. #paradox

Subscribe via RSS or browse source on GitHub.