Tag hackfmi

HackFMI 3.0 Post-mortem

HackFMI

The fourth HackFMI, now traditional, hackathon was held this weekend. It is over and I still can't wrap my head around what happened during these 3 nights. Here's bits of code, beer, energy drinks and fun as I saw it.

A big thanks goes to Lilly and Misha who were running around like robots managing the day-to-day activities. Kudos to the rest of the team as well because they've established HackFMI as a tradition and people already ask when is going to be the next event.

What

This year the topic was Hack for charity and immediate goal of raising money for a sick kid. Most of the teams got to work to meet these goals. Only a few had worked on slightly different charity (broadly defined) ideas.

My favorite two apps were Blago-darenie and SMShelp although they were not developed with Django.

Blago-darenie is a simple WordPress site listing donation campaigns. Instead of directly donating money one needs to promise something (an action, an object, etc) and put a price tag on it. When the promise is claimed the two parties donate the money to that particular campaign and exchange the promised goods or services. I've promised to cook dinner involving tasty meatballs from horse meat and serve one of my wine bottles to whoever decides to donate 25 EUR. (disclaimer: I'm a good cook and love wine more than code).

SMShelp is an aggregator of donation campaigns via SMS which are very popular in the country but lack a central repository for all of them. A simple web site, live Android app and wonderful design secured the team the first place! BTW Team 8 was Adrian and Vihren who took part in all previous editions as well.

TODO

I'm glad both organizers and teams had listened to some of my feedback but there are still things to improve. The most obvious one was that a quick communication channel to all the teams is needed. Facebook and email just didn't cut it.

I already have couple of quick ideas involving Django and Twilio's cloud services. Let me take a few more days to get it clear before going any further.

/me

I found myself mentoring as much as I could helping folks with Django or just with general ideal or concepts, serving cake provided by Chaos Group and opening stacks of energy drinks, going door to door and letting teams know deployment and presentation details for the last day.

What surprised me a bit was that there were many new teams (some involving previous contestants) who were very diverse in their technological background. This presented a challenge to some of them as they had to use a technology which nobody on the team knew very well and had to make a working app with that. One team even changed from Python to PHP in the middle of day 2.

On Sunday I was pretty much helping the HackFMI team with whatever I can, checking on my favorite teams from time to time and giving access to cloud servers left and right to people who needed them.

Unfortunately I missed the Grand Finale due to unexpected hardware problems involving big iron and 150 litters of loose water :(. See you next time!

There are comments.

HackFMI 2013 Hacker Gifts

HackFMI starts tonight! During the previous edition of the hackathon I gave one team a special personal gift based on my estimation of their hacker level! Thanks to Vihren Ganev (one of the gift winners) for reminding me about that!

This year I have even bigger items to give to those who think out of the box, who hack their way around and are brave enough to try and change the world through software! I have one Lenovo Thinkpad Business Backpack and one Lowepro D-Res 20 AW Digital Camera Bag (a bit bigger than the one on Amazon, easily fits a BlackBerry Z10) as seen on the pictures below. Plus some small Red Hat branded items.

Lenovo bagpack Lowepro case

How To Get The Gifts

There are no rules, I will make a decision as I go along. I can give away all items or none. It's up to you! Surprise me!

Tomorrow I will be mentoring the teams who decided to work with Django but I'm happy to talk to anyone who needs help or just wants to grab the cool stuff! See you there!

There are comments.

Summer Hackathon in Sofia

Summer HackFMI

A summer hackathon will be held in Sofia between 16th and 22nd of August. The week prior to the event (12th to 15th) will be full of lectures and workshops to prepare the students for their task.

The goal this time is to create a new system for the Student Council organization which will host their new website and also provide more transparency into the organization and the work they do. The idea is initiated by the chairman of the council which is quite surprising for me to hear. You can read his motivation (in Bulgarian) here.

At the moment it is agreed that the system will be written in Python and Django and this is where I join. Together with Kiril Vladimirov I will be leading the Python/Django lecture and workshop in one of the days, likely 14th of August.

The program is not yet finalized so I can't share more info. Please watch this space for more details when they are available.

There are comments.

HackFMI Code Stats

It's Friday - five days after the first HackFMI event was held. I have some interesting statistics derived from the source code of all projects. Read on!

"HackFMI stats"

How The Stats Were Calculated

I've used Ohloh to analyze the source code of all projects. A simple Ohloh project called HackFMI 2013 enlists and tracks 18 different repositories as if they were one big project. Not all teams had repositories and some didn't sent information back to me although I asked them. Two projects sent me tarballs with their code, which I've pushed to GitHub for the purpose of tracking stats.

Be aware however that Ohloh is known to produce inaccurate statistics for projects with lots of code and short development history. Furthermore its COCOMO calculations are wrong as well due to duplicate code, not written during the hackathon such as jQuery or PHP libraries.

The Stats

During the weekend sprint 759,453 lines of code were written by 56 contributors spread across 768 commits.

"HackFMI top contributors"

From the top 10 contributors 5 had Python as their primary language. Which is to say Python developers have good development practices with Git.

None of the contributors (excluding myself) were recognized by Ohloh, meaning either they have not contributed to any other open source project or their contributors were not under their name or they've used a different name/email combination. Whatever the case go claim your contributions and track your kudos rank across the open source community.

19 different programming languages were used.

"HackFMI top languages"

The most popular ones are XML, JavaScript, HTML, PHP, CSS and ActionScript. This is nearly 97% of the source code. All the rest languages have been used under 1% per language. The languages used are pretty standard and expected.

Estimated Cost

The estimated development cost is 205 person-years valued at $ 11,251,680. This is too high because of all duplicated libraries and extra files tracked.

Ohloh allows files and directories to be excluded on per-repository basis. I'd appreciate your help if you preview the projects and create the exclusion rules. Thanks!

The stats and repositories are public. If you manage to extract other interesting details don't hesitate to share them in the comments.

There are comments.

HackFMI Post-mortem

HackFMI

The first HackFMI event is now over :(. It was HUGE! Kudos to the organizers, sponsors, mentors and all teams who took part and worked hard during the weekend.

More than 100 people participated. There were 22 different teams presenting at the finale yesterday evening. That in my opinion counts as a BIG success. I was surprised to see so many people, lots of them first and second year at the university. There were a good number of female hackers too, which I also didn't expect. DISCLAIMER: I've graduated a different university where the culture and male/female ratio was different so my expectations were biased.

People had interesting ideas and were passionate about them. They set off hacking on a big scale. At times they wanted to create too big of an application and had to cut off some features due to time constraints.

Congrats to all of them and hopefully they continue hacking!

What Happened

I wasn't able to talk to all the teams nor stay at the event full time but here is how I saw things.

Organization was perfect. The best organized non-commercial local event I've seen in years. There was food, beverages, T-shirts, even beer :). There were six big IT companies sponsoring the event. All of these are successful Bulgarian born companies. Let that serve as an example!

The faculty was supporting the event too. There were API and SQL dump for the teams to use. The entire building was open during the weekend and during the night. Teams were able to make use of many rooms. From what I know some of the successful ideas will be implemented into the faculty administration as well. All of this is a first time and quite unexpected for a Bulgarian university. I smell the wind of change already.

Technology

My technology view of the event is limited to the teams I've mentored explicitly and the ones I happened to walk by and interfere with. Naturally I gravitated around 4 teams using Django and found two teams using PHP.

Django guys were doing well despite one of the teams not having any experience with it. Most of the applications were such that didn't require extensive knowledge of Django internals but require mere programming of all features they wanted to implement.

What stroked me is that folks were making their database models too complicated. I stumbled across two use cases in different teams where they wanted to have one to many or many to many relationships. I strongly advised against this. Hopefully they will remember.

Django makes schema design a child's play and probably this is why lots of people abuse and misuse that. My advise is keep the database as simple as possible and move everything up the application layer. It's easier to change and to maintain that way. Not to mention experienced DBAs are hard to find.

Keep the DB simple and know your tools well!

With PHP the case was pretty much the same. Guys had some extra fields in their DB schema which were unnecessary. They also wanted to abuse the data types of the DB and not use native types.

All of these technological misunderstandings are coming from inexperience, I know. To get a closer look at why it is important to have a simple schema look at: Disqus: Scaling the World’s Largest Django Application

The Hackers

During one of the breaks I was outside and one of the mentors complained that ideas were pretty much standard. No screen scraping for additional information, no mashing up, no revolutionary ideas. Everybody was using the provided API and SQL dumps. Well almost.

One of my favorite teams set off to write a PHP robot which will automatically login and extract information from SUSI (the faculty information system). Unfortunately that didn't work so they had to abandon it. They didn't known Selenium and there was not enough time to try and hack some browser side extension which will do the trick but they promised to try it.

Because of their unorthodox approach from the start they became my personal favorites and received Red Hat swag from me.

Team Six Adrian and Vihren are Team Six!

What I didn't like

I didn't like the fact that there was lots of duplicate work and ideas. Only one team built a mobile application based on API and services provided by another team.

I suggest there's a #hackfmi IRC channel next time so that people can communicate with each other and focus on building great apps not reinventing the wheel. Use IRC, you are hackers!

What I was missing is that nobody proposed a pure cloud or big data application. I don't know if there was enough data provided by the faculty for such kind of ideas, probably there wasn't. Maybe next time there will be.

Ohloh Stats

While not participating actively except for a few hours of mentoring I found a way to contribute. Many of the projects repositories are listed under https://www.ohloh.net/p/hackfmi2013 which provides some interesting insight and stats.

The list is incomplete. Lots of teams didn't have any GitHub repos or didn't push the code recently. I will be contacting all of them in the next few days and hopefully we will have a more accurate statistics by the end of the week. Expect a separate blog post about it.

If you missed this event you should be sorry. You were warned! If you attended please share your experience with me. What you liked, what you didn't.

There are comments.

Upcoming Hackathons in Sofia

Hackathons have been organized in Sofia and generally through Bulgaria for the past several years but as far as I know they were mostly underground events. There are two upcoming events which are somewhat different.

"Record Voting" Hackathon

hackathon logo

Organized by INSTITUTE FOR PUBLIC ENVIRONMENT DEVELOPMENT this hackathon is the first I know of, which will focus on government provided data. The objective is to process data (sample) from the 2011 elections and find persons who were able to vote in the last minute, between 20:00-21:00 hours thus changing the election results by 20% in their voting section.

The event starts at 09:29 on 30th Mar 2013 @ betahaus Sofia. More info in Bulgarian here and here.

I'd love to attend but will be visiting a conference about mobile devices in another town at the same time :(. If you do attend, let me know how fun it was.

Dare to read more on the topic about open government? I recommend starting with Open Government: Collaboration, Transparency, and Participation in Practice by Daniel Lathrop and Laurel Ruma ( Amazon | O'Reilly ). This is an excellent book with tons of examples and easy to read.

HackFMI

HackFMI

FMI stands for Faculty of Mathematics and Informatics at the Sofia University (not where I graduated). It's one of the best, arguably the best, places to study for an IT career. Like most other universities in Bulgaria its administration and processes suck big time!

HackFMI is the first ever hackathon which will focus on students improving faculty/university systems and processes. This is HUGE! As far as I know it is also the first hackathon which is supported by academia.

I have already volunteered to be a mentor at HackFMI. I am looking forward to this. It will be fun. See you there!

There are comments.


Page 1 / 1