RedBot contest 2013

I decided to participate in this year’s RedBot competition, my goal was to submit something that compiles and does not suck completely, which I managed to fulfill. At least no question about the first part 🙂

Congratulations to the winners and big thanks to the organizers of the contest! If you are interested in the source code of my bot check github.

Happy coding!

A couple of kneading techniques – bread baking inspiration

These are three kneading techniques I have tried so far and would like to share them. Tips and observations included.

  1. No kneed bread http://youtu.be/4LaODcYSRXU this is the first and easiest way that I used to make bread and anybody can do it. The instructions say that a 5-year old can, so unless you are younger, go for it! The dough is very hydrated and runny, the fermentation process quite long – up to 24 hours, you use just one step of the dough fermentation and need a solid pot with a lid that can hold heat well. No need to shape the loaf, the pot does it for you, the outcome is pretty safe, instructions easy. For sure a must try for anyone, who wants to try baking their first loaf!
  2. Kneading the dough using a food processor http://youtu.be/Eubr-vBpvY8 This is a little bit more advanced way to make bread dough comparing to the first one. You use the food processor for the dough mixing – ideally I leave the dough in the processor for 15-20 minutes, which makes the dough elastic and produces a nice loaf. Use 2 stages of fermentation; during the first one you can leave the dough in the food processor bowl. This stage usually takes 4-6 hours. For the next stage of fermentation you need a basket that will help shape the loaf. Before you put the loaf in the basket, make sure that you dust it with flour so that the loaf does not stick to the basket when you will try to transfer it on the baking tray. The second fermentation usually takes between 2-4 hours.
  3. Good ol’ hand kneading http://youtu.be/PvdtUR-XTG0 essentially this is almost same as the technique 2 with the only difference that you skip the food processor and do everything by hand. After quite a lot of attempts trying to figure out the right consistency of the dough I realized that it is important to have the dough as much hydrated as possible. You start with an extremely sticky blob of something that looks really scary and actually use the stickiness of the dough to slam it against the surface of the kitchen board, stretching and folding it. Do this for 30 minutes and the blob stops being sticky and forms unanimous smooth dough that produces the most awesome bread I have created so far.

Making bread is really great. With a couple of simple ingredients there are multiple ways how you can achieve great results. It is just a question of how much time and effort you want to invest. Happy baking!

My post-install script for Fedora 19

After installing Fedora these are my typical packages I install. This script works on Fedora 19, should work for earlier releases as well. Feel free to use it.

#!/bin/bash

# Post-install script - Fedora 19

# RPM Fusion repository
yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm -y;

# Audio Video codecs + VLC
yum install gstreamer-plugins-{good,bad,ugly} gstreamer-ffmpeg ffmpeg vlc gstreamer1-plugins-ugly gstreamer1-libav -y ;

# Libre Office
yum install libreoffice-{writer,calc,impress} -y;

# Google Chrome stable
# Enable Google YUM repository
touch /etc/yum.repos.d/google-chrome.repo
echo "
[google-chrome]
name=google-chrome - 32-bit
baseurl=http://dl.google.com/linux/chrome/rpm/stable/i386
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

name=google-chrome - 64-bit
baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub" >> /etc/yum.repos.d/google-chrome.repo
yum install google-chrome-stable -y

# Graphical stuff - Gimp (photo editor), Hugin (panoramic tool)
yum install gimp hugin -y

Why is Linux not widely used on desktop?

According to http://en.wikipedia.org/wiki/Usage_share_of_operating_systems there are 1.25% users of Linux out there (me included). I have been reading articles and posts on this topic for a couple of years and the market share of Linux does not look so impressive comparing to the other platforms. But is this the right way of looking at the numbers? Is Linux really competing against the other platforms on desktop? If yes, then who has the profit from the market? Where is the motivation of gaining more market share? Well, I think that not only Linux is not playing in the same league as the remaining platforms, but it is a totally different game. Here are a couple of my thoughts on why Linux is not yet widely spread on desktop.

1) there is no major push from HW vendors, who would be offering computers with pre-installed Linux, most of the vendors do not even give you the option to buy a new PC without an OS and you have to automatically pay for a license you do not want

2) specialized SW such as AutoCAD and Photoshop are non existent on Linux and existing alternatives are not powerful enough

3) AAA gaming on Linux sucks comparing to Windows and Mac

4) penetration of Linux in our school system is very poor, once you get used to a certain platform, it is harder to migrate later on

I am a Linux fan and I used to be much more radical in the past trying to persuade my friends and family to use Linux as their OS of choice. Not any more. I am happy to give a piece of advice to someone, who is looking for it, help with a technical issue, or pointing a helpless user to a right direction, but everyone should make the decision which platform they will use for themselves. The last thing I want to do is sit in a pub and listen to my friend’s mourning about how this and that does not work for him on Linux and how I am responsible for fixing it.

I think a good way to go is to show potential users that there is an alternative in desktop computing, educate them and help them explore this alternative. Linux is not a platform only for geeks any more and you do not need to be a programmer submitting code into kernel to contribute to the project. Simply by using Linux, sharing ideas, taking part in discussions and ultimately helping to the starting users by answering their questions helps making the community more friendly and approachable for “normal users”. But I also see a great potential in the enterprise area for Linux desktop. A couple of attempts have already been made, but there is no widely successful business model on the Linux desktop yet.