Mixing a new Elixir

Wow, 1.5 years since last post passed quickly. Time to do something about it!

I’m taking part in Maciej Aniserowicz’sDaj się poznać” contest. “Get noticed” in English. It’s a competition for programmers aiming at promoting technical blogging and building open source projects. Throughout next 12 weeks, participants have to write at least 2 blog posts each week. And at least one of them should be related to the project they’re building and hosting on github.

I’ll be writing one technical post related to the project at the beginning of week, usually around Monday or Tuesday. On Fridays I’ll be posting news and links to interesting resources in area I’ve been exploring last few months – machine learning. I’ve been thinking for a long time about some way of gathering interesting use cases, scientific papers, presentations and online courses. This way it can be beneficial to others. First round on Friday.

My project won’t make world a better place, but hopefully I will learn something. My main goal is to play around with Elixir, Phoenix (web framework) and some frontend technology (haven’t decided yet if it’s gonna be React or Elm). I will be building clone of the flightdiary.net. It’s a web app, where you can log flights you’ve taken, and you get nice map and statistics.



For start, I created repository on github, installed elixir and setup IDE with plugins. I’m using Visual Studio Code, as it became my go-to editor. I do all my F# and Javascript stuff there, and there’s also great plugin for Elixir written by Mat McLoughlin.

Then I initialised project with this simple command:

mix new flightlog

This created some files and initial project structure:


We’ll look into how it all works in next episode.

As I’m new to Elixir, I’ll need some learning. The resources I’ve been using so far are:
This talk by Bryan Hunter
Rob’s Connery book
Gutek’s series of articles [Polish]

That’s it for today. See you on Friday for some ML news and next week for more Elixir!

DevSum 2015

I’m right now on in Arlanda airport, coming back from DevSum 2015. It was my first DevSum, and it was awesome.
Conference had two days and four tracks. Everything conveniently located in central Stockholm at hotel Clarion Sign. Very close to central station and places for evening activities. The atmosphere was very friendly. I met well known faces from speaker community and made some new friendships. It was most social conference I attended this year, very much similar to how DevDay feels. Most of the speakers didn’t sit in the close “speaker’s lounge”, but mingled with attendees, all led by Tibi, the King of DevSum :).
I didn’t attend many talks, but there were few very intersting. Among them Mark Rendle’s C# 6 talk, Troy Hunt’s and Niall Merrigan’s security talks and Hadi’s “silver bullet” talk. There was also Rob Ashton rant about how Erlang is awesome, but I’m not sure he convinced anybody showing mostly his console scrolling with loads of code and hard to understand error messages flying around. But it was hillarious so that’s ok.
My talk went fairly well. It was another installment of the talk I did at Swettugg and LambdaDays. I had around 30 people on public and I hope they got interested by type providers. Big thanks to Tibi and Cornerstone for this opportunity. Slides and code are on github.

Month of spreading F# love in Poland

In last month or so I did three talks on F# in Poland. I can see gaining interests and there’re already other people speaking about F# in Polish community. This is awesome!

Kraków, 25th September

A Day before DevDay KGD.NET organized meetup with two talks. This was great opportunity for my employer tretton37 to get some more street cred in Poland, so we decided to sponsor some food and drinks. There were two speakers – me and Maciej Aniserowicz, who’s kind of a rock star of Polish .NET community (BTW, check out his new podcast (in Polish)). I did my already well known introduction talk to F#. I had quite a big audience (around 100 people) and they were very engaged. I enjoyed great question and feedback I got after the talk. Looks like it’s very active .NET group. I used the same slides and code as in Warsaw couple months before.

Next dey was a DevDay :). I’m big fan of this conference and it delivered again. There were a lot of semi-negative opinions on the Internet afterwards, which is very sad and unfair. Looks like DevDay became victim of its own success. Last year was fuckin awesome, and people had some overgrown expectations. The truth is, it was fuckin awesome again this time and I can’t wait for next year’s edition. Videos are already online and you can watch them on youtube. But the strongest point of DevDay for me is community impact. It made largely distributed Polish .NET scene more united. People are visiting each other’s group and exchange experiences and knowledge. Programmers from all around Poland know each other better and lot’s of credit for that goes to Michał and Rafał.

Interwebz, 18th October

On Saturday evening I did a talk on Polish virtual conference dotnetconf.pl. From statistics I could see there were about 70 people watching it live. It’s a little bit weird to talk to computer without seeing your audience. I’m not happy how this talk went, but you can judge by yourself, because it’s been recorded (Polish). Feedback I got afterwards kind of matched my expectations – 24 positive, 16 neutral and 2 negative opinions. Again – same slides and code as in Warsaw.

This was the second edition of dotnetconfpl, great initiative by Michał, Paweł and Jakub. It’s Saturday afternoon full of code. Made by Polish developers for Polish developers. And because it was virtual, I could do talk from my desk in Sweden. I also very enjoyed discussions that went on whole day on dedicated jabbr channel.

Poznan, 30th October, PolyConf

Few days ago I did completely new talk. This time about cross-platform mobile development with F# and Xamarin. So this was new talk, and also my first talk in English, and biggest audience so far. Lot’s of new experiences. I was quite nervous before, but seems like everything went well. I’ll see video in a couple of days to make sure, but right now I feel it was my best talk so far.

The conference itself is evolution of well known RuPY. This time they widen topics to other programmic languages, so you could witness talks on JavaScript, Haskell, Erlang or F#. Pretty cool experience, and lot’s of inspiration how to move concept from other technologies to my daily job. The conference, even though it was hosted in Poland, gathered mostly international crowd. I’m putting it on my calendar for next year, because really enjoyed it.

What’s really cool and makes me happy, there’re other people who start talking about F# in Polish community. Few weeks ago my friend Kuba Walinski asked me if he can reference my talk, as he’s gonna do his own about F#. Hell yeah, you can. It’s great that we’re spreading F# love :). He spoke at Developer Days in Wrocław and you can read his thoughts about it on his blog.

There’re some other F# events coming up in Poland, so I’m thinking about starting some kind of Polish Monthly F# news, similar to Sergey’s weekly news, but focusing on our local community. Stay tuned :).

Talking F# in Warsaw

Two weeks ago I had another opportunity to practice my public speaking skills. It took me some time to write this post, because in the meantime I spent few days in Krakow. And Krakow is a different state of mind.

This was another instance of my introductory talk to F#. It went a little better than one on get.net, but still I think there’re things to improve. I got really good feedback from Gutek, who came to see this talk. There were also some other friends from Warsaw – some of them I haven’t seen for years. It was a pleasent surprise.

Warsaw .NET usergroup seems to be similar size to one in Gdansk. There were about 40 people attending. Interesingly, some of them came there for the first time, just because of the topic. Good news that F# is getting some interest in Poland. I got best ever set of question after this session. You could clearly see people are interested and want to know more. Really liked that!

What I didn’t like is that there were no networking activities afterwards. Fortunatelly, there were some friends mentioned before, so we went for some food and drinks. Overally good time, and I’m happy I managed to get there on my way to Kraków.

On the bonus note, I had with me ticket for leetspeak to raffle. Leetspeak is tretton37‘s conference, that we organize every autumn. This year it’s happening on 4th October in Gothenburg. Tickets will be available soon.


As usually, slides and demos landed on Github.

There are also good news. I’m doing new F# talk, focused more on cross-platform capabilities. Looks like I will present it on PolyConf and WarmCroc in next few months. I’m excited and terrified at the same time, because they’re gonna be my biggest speaking gigs.

Craft Conference in Budapest

Last week I’ve been to Budapest to attend Craft Conference. This was first edition, but they started big. One workshop day, two day of talks. 3 tracks, around 25 speakers (just look at the lineup – it’s awesome), few hundred attendees. All that in beautiful Budapest. On the paper it all looks great

In reality… well, it was OK but not great. Many tracks were very low quality. Either not very skilled speakers, or speakers I know they could better, but seems like they didn’t care. Slots for talks were pretty short (around 40 minutes), and this could have ruined few talks – especially that speakers learned about it on place. Also organizers didn’t keep the time very rigorously, what caused that breaks between rooms didn’t sync. You often missed beginning of talk in another room, because previous one in the other ran longer. But the worst thing ever was the sponsors pitch for the beginning. Total mood killer.

But this sounds too harsh, because overall I had awesome time. Organizers managed to gather great crowd of attenddees. We also had big contingent from Poland. Some people I knew very well, other just from twitter and met them IRL for ther first time. It was nice just to hangout around venue, which BTW was very cool. Modern construction from steel and glass componed into some older building. Many places to charge your electronics and WiFi that worked for the most time. Really good choice.

As we talked with friends afterwards – we don’t go to conferences for the talks. That’s why we all very much enjoyed Craft Conference. Will definitely try to put it on my calendar next year.

There were few talks I liked, especially : Evan Czaplicki’sGreg Youngs’s, Gojko Adzic’s and Stefan Tilkov’s. I also heard that Dan North’s keynote was great too. Thanks to one of the organizers all of them were streamed lived and most of them are available to watch.

Speaking – “WTF# and why should you care” at get.net conference in Łódź

Nearly two weeks ago I had my first opportunity to speak at a conference. Get.net was organized by Łódź branch of Sii and featured all kinds of talk about .net technologies. Among the speakers you could find many familiar and well known faces from Polish dev scene like Maciej Aniserowicz, Jakub Gutkowski, Basia Fusińska, Michał Śliwoń or Rafał Legiędź. I was humbled and honored to speak in such company.

Speaking at conference isn’t much different than speaking at user group. There were just more people and I had to use microphone. Unfortunately it was the kind of mike you have to hold in your hands and this made live coding quite a challenge. Many other speakers had that issue and I hope organizers will know better next time. Apart from that, conference was quite well organized. Also venue was really nice.

My talk was slightly modified version of one I did for tricity .net group last month. But this didn’t make me feel more confident about it. After all it went quite well and there were even some positive tweets. This is good, right? I hope this sparked some interest for F# in Polish .net community. Overall this was nice experience, and I will actively look for other chances to speak at conferences.

Slides and code are on my github.

BTW, I’m writing this post during Craft Conference in Budapest. I’ll do some writeup next week.

Speaking – “WTF# and why should you care” at Tricity .NET Group meetup

Last week during local .net group meetup I did my first technical talk ever. Well, I did present some stuff on internal meetings in company before, but never for so many people, whom I don’t know.

I was quite nervous before – for many reasons. First of all, I’m not some F# guru. I don’t feel fully entitled to share knowledge about it. I also don’t feel very confident in public speaking situations. But it all come around nicely. I’m generally satisfied how it went.

I’m presenting it again in one month at get.net conference in Łódź, Poland. Based on this experience, I will change few things in this talk. But in general, this was good training.

If you have doubts “should I present something at usergroup”, JUST GO DO IT. But before read Zach Holman’s hints on speaking.io. I found them very useful.

Slides from this presentation are on my github. Code examples I used, were mostly from tryfsharp.org.

[PL] Trójmiejskie grupy technologiczne

This post is also available in English.

Miałem taki post w głowie od dłuższego czasu, a dodatkowego kopa dał mi wpis Gutka o Warszawskich grupach programistycznych. Problem polega na tym, że nie ma jednego miejsca, gdzie znajdować te grupy. Ich strony są rozrzucone po meetupie, fejsbuku i innych miejscach. To jest prawdopodobnie niekompletna lista grup działających w Trójmieście. Jeżeli kogoś pominąłem, lub informacje są nieaktualne/niekompletne, daj znać – poprawię.

Trójmiejska Zawodowa Grupa .NET www
Tematyka: .NET, ogólnie o programowaniu
Gdzie: Zieleniak, Gdańsk
Kiedy: Każda druga środa miesiąca

Grupa .NET Politechniki Gdańskiej (grupa studencka) www || facebook
Tematyka: .NET, ogólnie o programowaniu, przedsiębiorczość
Gdzie: Politechnika Gdańska
Kiedy: brak stałych terminów, spotkania odbywają się dośc często

Cocoaheads Tricity facebook
Tematyka: iOS, mobile UX
Gdzie: Pomorski Park Naukowo Technologiczny, Gdynia
Kiedy: brak stałych terminów, spotkania mniej więcej co miesiąc

Google Developers Group Tricity www || facebook
Tematyka: Android
Gdzie: Pomorski Park Naukowo Technologiczny, Gdynia
Kiedy: brak stałych terminów, spotkania mniej więcej co miesiąc

Java User Group Trójmiasto www || facebook || twitter
Tematyka: Java, JVM, ogólnie o programowaniu
Gdzie: Gdański Inkubator Przesiębiorczości Starter
Kiedy: brak stałych terminów, spotkania mniej więcej co miesiąc

meet.js Gdańsk www || facebook || twitter
Tematyka: JavaScript, frontend
Gdzie: Gdański Park Naukowo Technologiczny
Kiedy: Brak stałych terminów. Spotkania w Gdańsku odbywają się mniej więcej co dwa miesiące.

Geek Girls Carrots www || facebook
Tematyka: ogólnie technologicznie, ogólnie o programowaniu, women in technology
Gdzie: Gdański Park Naukowo Technologiczny ; Pomorski Park Naukowo Technologiczny Gdynia
Kiedy: Brak stałych terminów, spotkania mniej więcej co miesiąc

TRUG www
Tematyka: Ruby, Rails, web development
Gdzie: Sopot, Aleja Niepodległości 807/5
Kiedy: Trzecie środy miesiąca

PLSSUG Trójmiasto www
Tematyka: SQL Server
Gdzie: Siedziba firmy Hempel, Gdańsk, ul K. Szymanowskiego 2
Kiedy: W czwartki

Agile 3M www || facebook
Tematyka: Zarządzanie projektami, Agile
Gdzie: Klub Atelier, al. Mamuszki 2, Sopot
Kiedy: Brak stałych terminów, spotkania mniej więcej co miesiąc

Warto jeszcze wspomnieć o dwóch inicjatywach. 3Hack (www || facebook || twitter) stara się zbierać w jednym miejscu informacje o technologicznej i startupowej scenie trójmiasta. It3c także informuje o spotkaniach grup technologicznych i zamieszcza oferty pracy.

Tricity technology usergroups

Ten post dostępny  jest też po Polsku.

Tricity is the area I live in Poland. This post is to summarize technology groups that are actively meeting in the area. Post is inspired by Gutek, who wrote about Warsaw usergroups (Polish). The problem is, that you can’t find this info in one place – groups are scattered all around internet. This list is probably not complete, so if you have some information that could be added here, don’t hesitate to tell me.

Tricity Professional .NET group www
Topics: .NET, general software development
Where: Zieleniak bulding, Gdańsk
When: Every second Wednesday of a month
Language: Polish

Gdańsk University of Technology .NET group (student group) www || facebook
Topics: .NET, general software development, entrepreneurship
Where: Gdańsk University of Technology
When: no regular dates, but meetings happen very often
Language: Polish

Cocoaheads Tricity facebook
Topics: iOS, mobile UX
Where: Pomeranian Science and Technology Park, Gdynia
When: no regular dates, meetings happen around once a month
Language: English

Google Developers Group Tricity www || facebook
Topics: Android
WherePomeranian Science and Technology Park, Gdynia
When: no regular dates, meetings happen around once a month
Language: English

Java User Group Tricity www || facebook || twitter
Topics: Java, JVM, general software development
Where: Gdański Inkubator Przesiębiorczości Starter
Whenno regular dates, meetings happen around once a month
Language: Polish/English

meet.js Gdańsk www || facebook || twitter
Topics: JavaScript, frontend
Where: Gdansk Science and Technology Park
When: no regular dates, meetings happen around once every 2 months
Language: Polish/English

Geek Girls Carrots www || facebook
Topics: general technology, general software development, women in technology
WhereGdansk Science and Technology Park ; Pomeranian Science and Technology Park, Gdynia
Whenno regular dates, meetings happen around once a month
Language: Polish/English

TRUG www
Topics: Ruby, Rails, web development
Where: Sopot, Aleja Niepodległości 807/5
When: Every third Wednesday of a month
Language: Polish

PLSSUG Tricity www
Topics: SQL Server
Where: Hempel company building, Gdańsk, ul K. Szymanowskiego 2
When: Thursdays
Language: Polish

Agile 3M www || facebook
Topics: project management, agile
Where: Atelier Club, al. Mamuszki 2, Sopot
When: no regular dates, meetings happen around once a month
Language: Polish

There are also two initiatives worth mentioning. 3Hack (www || facebook || twitter) is trying to gather all relevant informations about meetings on Tricity technology and startup scene. It3c also gathers news about usergroups and technology job offers in the area (unfortunately only in Polish).

Fixing failing npm packages on Windows (i.e. microtime, forever)

I got into fun side project in node.js, and being Windows kid, I wanted to run it on my Windows dev machine. The thing is, it’s not that easy. Well, you can install node easily, and there is some tooling available too. The biggest PITA is that some packages are hard to build on Windows. And when you go through issues at GitHub, popular response seems to be “I don’t have any Windows box to test it and make it work” ;)

It took me several hours, but I managed to fix all the issues I had yesterday, so here’s my answer to some popular errors:

Error: Can’t find Python executable “python”

Npm (node package manager) uses build system called gyp, that runs some python scripts. It would be hard to find linux machine without python, but Windows folks often don’t have it, because they don’t need it. Me including. So install python first! They say 2.7 is good choice for gyp. And after that, add PYTHON env variable that points to your python catalog. Actually, it should point to your python.exe, because you’ll get another error I don’t remember right now (something about ENOENT).

MSBUILD : error MSB3428: Could not load the Visual C++ component “VCBuild.exe”

From what I read around Internets, this error affects Visual Studio 2013 users. It happens, because when you install node.js it has built-in node-gyp package. When you npm install node-gyp, this built-in instance is not updated, so you don’t have latest version. And sometimes it’s good to get latest version, i.e. to get VS 2013 support. This instruction helped me to update built-in node-gyp.

A little bit about tooling

I’m new to node.js and currently cannot decide what’s my favourite tooling. I’m switching between IntelliJ IDEA plugin, Node Tools for Visual Studio or running it manually from Powershell. All of them have their ups and downs. I like IntelliJ plugin, because it is stable and plays nicely. Node Tools for VS seems to have much potential, and integrate neatly with VS look and feel, but are *very* unstable (they’re still in alpha). One example – running project, where you lack some of the dependencies cause whole VS to crash. If you want to try them anyway, Scott Hanselman wrote nice introduction post.

Anyway, after fixing those build errors, node.js seems like something fun to learn. I may be covering this topic more in the future.