PS. Some of us will also be playing chess in Vakiopaine before the beers at 1700h. Everybody is invited~
Since it's The Season, we'll call it the Prechristmas GC. No secret Santa, no red elf hats – just you and bunch of guys and girls drinking Christmas beers or whatever floats their boats.
See you all there!
There's things like Meetup.com, facebook events (yuck), doodle's etc. Would be beneficial to have something to orchestrate GC meets, Lean Coffee's and stuff, no?
So Wednesday, Hemingways, 18:00. You want to eat something and want company around 17:00? Holler people at IRC #geekcollision
We got a nice little introduction to the topic from Tuukka and made some progress on the converter. A couple of notes:
- Parsing 600 MB XML isn't as easy as you might think
- grep or similar works great for getting quick insights
- Apparently combination of grep and sed works to some extent provided your XML is formatted right
Tuukka Hastrup has developed a mobile navigator that works at Tampere and Helsinki. This makes it significantly easier to figure out which bus to ride and when. In short it's a bit like car navigator but for bus people.
It is possible to make this system work in Jyväskylä. For that to happen we will need to convert certain data in correct format. This is what the collision will be about. In short we will be taking data from matka.fi (kalkati.net format) and convert that to GTFS.
In case you want to study the problem before the GC, consider the links below:
- Data source, example data (zip)
- Converter prototype (Python)
- Navigator demo
- Kalkati documentation (matka.fi), Kalkati dokumentation (Reittiopas)
- GTFS documentation, GTFS viewer and validator
The current converter works partially. The result may be loaded into the navigator and even works on certain areas. There are some missing features, though. These include vehicle types (current all get assigned as bus), route names (missing or incorrect) and route dates (see add_calendar). Route dates should be transformed from Kalkati vector format into GTFS files calendar.txt and calendar_dates.txt.
It would be pretty awesome if we could tackle this problem. See you there at Hemingways! In the meantime enjoy this little bus video:
In case you want to see what we talked about, check out the summary at Lean Coffee blog and my scribbling titled as Sell Value, Not Features.
I hope the tradition continues. It is definitely nice to focus on some specific topic for an hour. You can cover quite a bit within that short time and maybe get ahead with your ideas.
Please remember to register to the Open Knowledge Roadshow (8-9.11) and possible mobile testing event. The latter will happen only if enough people are interested. If mobile testing sounds like meh, we can likely do something about the topic.
|Bridge to somewhere by Paul Bica (CC BY)|
The event itself is split up in two days around 8th and 9th of November (Fri, Sat).
The first day focuses more on the conceptual level. Its primary purpose is to get the right people together so we can finally get the ball rolling here at Jyväskylä.
The latter day acts as a bridge to the reality in form of Konstruktori. That is where your coding skills will become really handy. Konstruktori itself is a pre-event for a bigger demoscene event known as Instanssi that will be held next year.
The exact program is available at the registration site. The roadshow site contains some interesting information as well. The event is of course free. See you there!
There's more to it, though. If there's enough interest, we might get another testing guru around. Rather than trying to explain what this thing is about, I'll let Juha do the talking:
We have the possibility of getting a high profile testing professional Ru Cindrea to work with us in domain of Mobile Testing. Something like workshop, dojo or something else.
Please mark down you interest of such event! If there's enough, like 10 or more, then we'll make it happen! Doodle.
And please share this forward in your organization, if there's even slight possibility for interest :)
br, Juha HeimonenSo if this sounds interesting to you and you would like to learn more about mobile testing, sign up! Also let your friends know and make sure they let their friends know too. Laters!
From Neil Killick:
" It was started by @duarte_vasco, @WoodyZuill and myself, and has involved such prominent names as @mikewcohn and @RonJeffries.
#NoEstimates is a collection of writings and debate about ways of delivering software without the need for deterministic estimates"
And from Woody Zuill:
"Having noticed many dysfunctions in estimate-driven software development, #NoEstimates seeks alternatives."
Texts by Neil Killick: http://neilkillick.com/category/noestimates/
Let's start the session with short briefing by Ville Törmälä (and maybe yours truly too).
Session is hosted by Media Cabinet. Our office is at Kolmikulma. Just go right in from the main entrance, then to right to the staircase, go up to fourth floor, and turn left.
We have limited time available, so let's be sharp!
If you can't find, ring me:
Juha Heimonen / 040 5255995
|That's the Go critter|
We went through various tasks at Tour of Go and discussed details of the language. I think this sort of format works well for providing some idea of how some language works and what kind of concepts it provides.
Even though Michael had prepared a small assignment for us, we didn't go through it this time. There was some talk about a possible another session where we would focus on coding something. We didn't get into scheduling yet, though. It's up to Michael I think.
Likely the next bigger event we'll be organizing will be battle of web frameworks vol. 2. as there was some serious interest. It will be likely arranged three weeks from now. There will be a separate Doodle for that. In the meantime we might have a Lean Coffee or not.
A metasystem can be defined as a system that allows you to define systems. In this case the system made it possible to define models of the actual system. In addition the system allows to define a limited set of user interface related settings such as ordering and visibility of model attributes. All of this was possible through a user interface. The system generates actual code based on the definition.
One cool thing Joni had in place was the possibility to extend existing metamodels. In effect you could take something more abstract and then build your model on top of that avoiding some of the work required. Another thing that I took a note of was the fact that the system provided REST API for the models defined automatically.
This is something I've seen implemented before on Enginio. There are a lot of these BaaS services available these days. Firebase is likely one of the most hyped at least according to what I have seen. The primary advantage of these kind of services is that they remove one bit you have to implement anyway and take care of things like scaleability.
How about changes to data model (aka migrations)? Joni did not have a clear answer to that yet. There are some solutions definitely but which one to implement is another story. And using metamodels, such as Joni's, doesn't actually relieve you from defining your business logic and user interfaces.
In terms of business logic services such as Noflo could become very interesting. Combine that with web based IDEs such as Cloud9 and a service aimed for the user interface side, such as Jetstrap, and you might have something nice together. It would not surprise me a lot to see these kind of services (backend, logic, frontend) to meld together. With good enough integration developing web services on top of web itself using a web browser itself could become mainstream rather sooner than later.
I think the session with Joni gave us a small peek at the future. Historically systems such as these have been in use. They've never reached popularity in mainstream. This is something that just might change by the end of the decade.
In effect this would mean at least some level of commoditization on the segment of web development. In other words this would be yet another step towards a world where more people can develop and share their creations as the barrier of entry becomes lower. Services such as Yahoo! Pipes already give us some idea. Now just to wait for the solution that combines the critical bits together and provides us something to develop entire web services with.
python and the Java without writer's cramp.
If you want to learn a new way of doing OO without inheritance, write multi-threaded code and unleash the power of the typed channel, come to Hemingways on Wednesday October 2 starting around 17:00.
We will shortly look at some of the language specific features and then try to implement some code to pass unit-tests.
People who think first class functions, multiple return values, and closures are not good for mental health should get eased by the fact that Go supports variable names in UTF-8; finally we can write käärme := "aaaaaah", but also 世界 := "world".
Go is easy to understand for anyone with some programming experience. You can try go at http://tour.golang.org/ .
If you're not convinced yet : did you know that Go has built-in complex64 and complex128 types, which surpass everyone's imagination?
If you would like to join the group of maintainers, let me know and I'll add you to the crew.
Check the website for the details, the structure is very light and the event will cozy. First we'll gather up some items to discuss of, then we vote on which items will be discussed and finally we can form groups based on the results and start talking!
Let's try this out! Come and bring a pal!
|Yup, it's Haskell alright|
I've listed some of the entries below:
Thoughts on the Contestants
|Spitfire and Hurricane by Lightningboy2000|
In case you wish to participate by presenting a framework, check out the specification. It's still bit of a work in progress but hopefully we'll get something stable soon! Anyhow, see you on Tuesday!
|Guess what? It was shady again.|
Overall it was great fun and we managed to cover a variety of topics. It definitely gave some extra perspective for those that attended.
Tuukka Turto - pyherc
Asko Soukka - Automated Accessibility Testing
Tero Tilus - a Tale of Two Codebases
Dimensions of Testing
Juho Vepsäläinen - Fuzz Testing
As I developed suite.js I started to think about test automation. Wouldn't it be neat if it was possible to generate those units? This lead me to the world of fuzzing. I simply wrote something that generated units based on some simple generators and an invariant to be tested. The syntax wasn't that nice on retrospect but at least it was a start.
|Sunset by Christian Senger|
Bring a laptop if you have something to demo. I'll have some fuzzy material available at least. And I hope you will bring something too.
|Testing by pedrosimoes7|
If you have some tools you wish to showcase, now is the chance. We'll have a projector available. In addition there might be something to drink.
In case that sounded like a good deal, go ahead and mark suitable dates at the Doodle.
So far we've managed to attract two contestants, both from the camp Haskell. These are namely Snap and Warp (used by Yesod). They look awfully powerful based on some measurements.
The event will be held tentatively around 16th of July (Tuesday) although that may change. We'll let you know of the exact date closer to July.
To make the whole thing work, we'll need to decide upon a set of tasks. Each task will be implemented using each framework before the event. This way we'll have something to discuss and we don't need to get that physical (although that may still happen).
In order to make this event as awesome as possible, enroll or at least suggest some tasks for our contestants to implement. We can discuss the details at #geekcollision in IRCnet.
|Lions by Tambako the Jaguar|
All you need to do is to appear at Hemingways around 17:00 today (Friday).
Yes, there will be talks about web tech but as it is an unconference, you never know what you are going to get (to quote certain Forrest). You can get some initial idea of the program already although there are still plenty of blanks at the time of writing. At least Jolla will be there so you can ask them some tough questions.
Of course the event is free but I think the organizers will appreciate if you decide to register. Esp. the latter day (Saturday) is filled with action. There will be two tracks and if some talk is boring, just change the room.
The first day is for more social ones although the lightning talks can be quite nice. In this case you'll have to organize some sort of accommodation for yourself. There are affordable motels at Tampere although I recommend avoiding a room shared with too many. Someone always snores.
If there are people going, it will likely make sense to coordinate travel and so on. I'll set up a thread at our mailing list. Also IRC (#geekcollision@IRCnet) will work. Let's hope we get a delegation together. :)
|Penguins by Adam Foster|
If you don't have anything better to do, might as well show up.
|Yes, it was shady this time too|
Well, as it happens that's what the dojo held by our code wizard Zouppen taught us. He illustrated the concept of Software Transactional Memory using Haskell Platform and as a side result came up with a NoSQL database engine.
Just like the last time each participant (around ten) got to code something. And I think everyone got something out of the event. There were plenty of Haskell beards around (without beard for some reason) and a couple of new faces even. Thanks for popping by!
In case you missed the event, check out the sample code. It describes our database scheme. You can run the database server even if you have the right dependencies installed. It's an in-memory storage so don't put anything too important there. You can exercise the server quite easily using extensions such as RESTClient (Firefox) or REST Console (Chrome). If you are hardcore, you'll use curl or something.
The packages needed to run the thing should be available as standard Ubuntu packages. Otherwise you might want to look into setting up Haskell Platform. If you are an absolute beginner, Learn You a Haskell is a nice starting point.
|There is a lambda somewhere, I am sure of it|
by trindade.joao (CC BY)
If you want to know what STM is in the context of Haskell and are not afraid of the lambda, show up at Hemingways on May 13th 18:00-. Our guru Zouppen will show how to apply this concept. And the fun thing is, it's useful beyond Haskell!
It is recommended that you will at least try Haskell before the dojo. I can guarantee it is one of those languages that will twist your brain a little bit. And it won't be entirely comfortable. But after you start to understand the beauty of the language, nothing will ever be the same again.
According to the Doodle there is still room for a few peeps. If you know someone who might be even remotely interested in the topic, try dragging the person there with you. And given the dojo is held at Hemingways you won't have to leave with a dry throat and you might have a couple of new ideas as well. So double win!
Now that I got your attention, go and pick suitable times over at Doodle.
|Yes, it was nice, shady and nyan|
This time we worked one at a time on the laptop while others remained in a managerial role. So we got double the experience. During the dojo we went through six more or less challenging tasks concocted by our sensei.
Even if you weren't there I do recommend checking them out. If you get stuck, just poke us at #geekcollision over at IRCnet. You are bound to learn a lot even if you know how streams work already. A couple of pointers to help you get started:
- Readable = source, Writable = sink, Transform = filter in Unix terms. It's just a dataflow architecture.
- In order to terminate a buffer, just push "undefined" (simple "push()" should do)
- Node's "pipe" is equivalent to that "|" you likely know already
- It is possible to stream nyancats
- Wise guys read documentation
EDIT: There is a set of really nice photos available by Daniel Schildt. Thanks a lot!
Ever wondered how to make music with emacs and Clojure, what the internals of Git look like or if functional reactive programming could make you just a tad happier? This is your lucky day since HackJkl will you bring you just that information and then some.The programme:
- An Introduction to Functional Reactive Programming by Tuomas Kareinen
- Clojure in real life by Mikko Heikkilä
- Git internals John Britton (Github)
- Hacking the DJ by Sam Aaron
Additional things on the agenda: sauna, fun, meeting awesome people.
Now, because of the limitations of the venue, we only have limited number of seats. Therefore, you need to register to the event.
More details and registration on the event site http://agilejkl.com/hackjkl/
|His name happens to be Hemingway|
by Valentina_A (CC BY-NC-SA)
After this session you should have a better idea of how to do streamy things using Node. That can't be a bad thing. Piping and all that stuff is right on our alley.
This time we will have the event on a more casual location, Hemingway´s Jyväskylä. See you there on 9th of April around six PM. Be sure to bring your laptop. It is likely beneficial to have a recent version of Node.js installed as well.
If you are interested in this sort of thing, go ahead and mark your interest at Doodle. The dates range from 9th to 11th. The day chosen will be announced later as we have a better idea of what suits the most people the best.
Volunteer for AgileJklJust thought to mention that it is a good time to volunteer for AgileJkl. It's an alright job and you get a fancy shirt in return (at least you did last year, the color was just great). Might be worth your while.
Anyway, big thanks to Juho "enyone" Tykkälä for coming up with the material and enlightening us with AWS secrets. Should we arrange another one you know where to get the information about it. And if you feel like acting as a sensei do poke us over at #geekcollision on IRCnet.
Subjects could be registration process, S3, EC2, IAM, CloudWatch, etc. It would also be possible to create some new EC2 instance during Dojo and see what it is capable of.If there are some specific subjects you would like us to discuss, do let us know. It may be a good idea to set up an AWS account (free but requires a credit card) though that might not be entirely needed. Bringing a laptop could be a good idea anyway.
Remember that we will be arranging an AWS dojo soonish. Add your name to the list and mark up suitable times. More news on this once we have some concrete date settled.
The dojo material is available at yeswejekyll.com (yes, we really do!). I'll still do various tweaks to the material. It should act as a sort of narrative to the framework and help you understand better what can you achieve with it and when should you use it. There are also some more general web development tips you might find useful depending on your level of experience.
The Next Dojo?As preparing material such as this takes considerable amount of time and it is nice to arrange events that are actually useful to people we are trying something a bit different here.
Juho Tykkälä (also known as "enyone", not just anyone) has promised to talk to us about Amazon Web Services provided there is enough interest. In case you find the topic interesting, go ahead and mark suitable times at our Doodle. If there are some specific areas of AWS that should be covered, do let us know either in the comments or over at IRC (#geekcollision @ IRCnet).
If someone still wants to speak a little bit on web design we really don't mind. See you on Tuesday at 18:00 on Protomo! :)
Bring a laptop (Jekyll preferably installed), a problem (optional) and a towel (optional). If it goes like the last time a towel won't be needed but it probably doesn't hurt. If you ever wanted to get that pesky homepage or blog done now is the perfect opportunity.
See you on Protomo at 5.3 18:00-. If you have never heard of this Protomo place, check out our previous Dojo post.
You might also want to check out Instanssi, an event arranged just before our dojo. It's reasonably cheap (5 eur admission) and you are bound to meet plenty of fellow geeks there. There is a wide variety of presentations. Many of those will likely have something to do with the theme of this year: gaming.
To help you get started with the environment, consider following options:
Linux in the virtual machine with shared folders
Developing in your main OS (linux or OS X)
Developing in your main OS (Windows)
We still have to refine the overall concept a little bit but I think everyone had a great fun. And we did learn bit of Clojure (clo-ju-re for us Finns, clojöö for the rest of you) while at it.
Our Dojo sensei tasked us with several problems. They highlighted quite well the declarative and functional nature of Clojure. We used cyber-dojo to implement and finally examine various solutions made. The editor isn't perfect but it's good enough for little hackery such as this.
As the Dojo was just a beginning of a great Clojure journey for some of the students it might help to have some resources to provide sustenance during it. Particularly following resources could come in handy:
- Clojure cheat sheet for lazy peeps
- ClojureDocs for the rest of us
- emacs-live for heretics and VimClojure for true believers (could go other way too)
- Light Table - Interactive IDE
- 4clojure so you will never have to worry about what do do with your free time
See you at Protomo. You can find address and such details on our previous post.
Join us for an evening of short free-form sessions such as Clojure dojo, Erlang development and Freestyle Fridays. If you have a talk in mind, feel free or even obliged to say a few words on the subject. This is a great opportunity to let others know what you've been working on lately and spread the love to the community.
Bring with you
- a laptop for the Clojure dojo
- towel for aftersauna
- a friend if you can for more the merrier
Address: Protomo Jyväskylä, Ylistönmäentie 24, 40500 Jyväskylä. If you can't find the place, call Tsuri at +358 50 372 3711 for directions.
View Larger Map