Safe and sound code with kotlin

Following my first talk about writing safe code in kotin at London Kotlin Meetup #2 I recently had one in Saint-Petersburg. It was organised by Spb Google Developers Group, namely by Oleg Makarov. Event took place in the most appropriate place - place where kotlin was born - Jetbrains "Universe" Office at Vasilyevskiy island (it's not kotlin island as someone might think :D).

Read more

US trip: observations about American English

I recently visited USA(California) and I want to share some observations about language
Just a reminder - I'm not a native speaker but grew up on American English, thanks to videos, forums, music and podcasts. Nevertheless I'm living in UK and as you can guess English here is a bit different.

During the trip I collected short list of different words which are common in American but not in British English:

Read more

RPI Zero scan button

While I was finishing wireless scanner and printer server I realised that traditional document scanning approach is not so nice from UX point of view.

I really like the way office scanners in multi-functional devices work. Normally if you want to scan you just load stack of paper into and put your email address. Scanner does the rest and in minute you'll get ready-to-use pdf file in your inbox.

I was thinking about having button attached to RPI Zero which initiates scanning and document upload.

Read more

RPI Zero: print & scan servers

I had to make old printer and scanner wirelessly available over local network. It can be done using wireless printer USB adapter but it's not that cheap and still doesn't support scanner

Obvious choose is using Raspberry PI with linux installed. Before I heard a lot about RPI Zero but could never believe that it costs just £5. Actually it is just £5 and +£2.5 delivery fee. Surprisingly there are no other options except of first class delivery!

Long story short, I put here main steps how to setup print and scan servers on small Raspberry PI Zero:

General configuration

Upgrade RPI software
To access most recent features and freshly created bugs make sure you use most recent version of RPI firmware. To do so run sudo apt-get dist-upgrade.

Static IP
Assign static IP for your raspberry. The easiest way is configure your router DHCP server. Just bind mac address to nice IP in your network, like 192.168.100.100, later in this post I

Reduce graphic memory fraction
If you aren't going to use video how to

Read more

ML: Predict sequence of values

Let's say we have nice a line built up of two damped oscillators as it displayed on the picture.

What if I say it's possible to predict 700 values of this line using just:

  • 30 data points for feeding neural network(which is just half-period)
  • using just two fully-connected layers (hence it's not deep network)
  • having just three neurons in whole network

Read more

Amazon Alexa Skill: London Bus Stop

Do you prefer to use warm, quiet, spacious bus? Me too
Every time I'm leaving home I have to get updates about time when next busses come to my bus stop. For that reason I literally keep TFL tab open all the time in my mobile

I've got freelance job to write Alexa Skill so I decided to play around with pet project. It's London Bus Stop - custom Alexa Skill which helps user to get information about busses coming to saved bus stop.

Read more

Итог 2016

2016 год вышел сложным и судя по всему не только у меня. Вообще в конце года появился какой то тренд в этих ваших интернетах собирать что было плохого в уходящем году. Но какие-то позитивные итоги подвести все таки надо - еще один год позади как никак

Шутка для нердов про сложный 2016 год:

Read more