Friday, December 11, 2015

Robotics Weekly #1

Robotics Weekly
Issue #1
11.12.2015

Featured article:
  • Can my robot recognize stuff? - Google has recently announced that they released Google Cloud Vision API. This means, that if your robot is connected to Internet and have video camera, you can use their API and try to recognize objects which your robot see. This could also work for detecting/guessing emotions of person.
Articles and videos:
Crowdfunding:
  • Fleye - very interesting flying robot in form of basketball which is supposed to be taking cool images/videos autonomously. And since it has ball form it should be safer than traditional drone.
Book of the week:
  • Make: Making Simple Robots - book about getting started with robots world. Parts of this book are dedicated to get you familiar with simple tinkering concepts, CAD software, and Arduino boards. You probably will bot build super humanoid robot after this book, but you will be able to check it this stuff is right for you. If you are quick (till 17th of December 2015), you can get this and other book on Humble Books Bundle.
Courses:
  • Aerial Robotics - first of series of courses on Coursera related to robotics. This course is dedicated to moving in three dimensional cluttered environments.
Jobs:
  • Software Engineer / Robotics Engineer @ Boston Dynamics - do you know C/C++ in real time applications? Do you love working with sensors, digital signal processing and putting data over networks? Go to their website and who knows, maybe you will be designing cool robots in no time ;)
Humor:
  • XKCD - What can happen when you permute Asimov laws of robotics?  
Kudos:
Appendix:
Do you have link to cool news, article, tutorial or video and want to share with other robot fans? Send it to me and if meet quality standards I will include it in next issue of Robotics Weekly.


Wednesday, December 2, 2015

Carbon Xprize


Psst!
I heard that you want to make difference in our world. That you want to do some hardcore and cool science for greater good. You are in good place buddy... good place. I want to give you quest, which once completed will change world to be a better place. Apart of that it will give you fame, and should give you some money. But this quest is very hard, and seems almost impossible to achieve. So it sounds like something worth trying, isn't it? Are you still with me? Good! I would like to tell you about carbon dioxide. You think this is boring? Wait till end of my story, and then please tell me what do you think ;).

What can we do from
carbon dioxide?


So, whats the deal with carbon dioxide? It's quite big I would say. Since humankind entered industrial age, we are producing and releasing it into atmosphere in huge amounts, practically without any control. And we know from series of repeated experiments, that releasing such amounts of CO_2 is changing our atmosphere and thus biosphere, in unwanted way. In short words, we are constantly polluting our living place which is our planet. And you know what is most funny? Carbon dioxide which is great factor of air pollution, is also resource. Yes, resource. It means that there are people which are making CO_2 and sell it to other people which are using it in their processes. I'm not expert in that, but you can easily check general applicability of CO_2 for example on Wikipedia.

So, if freely released into atmosphere in gigantic amount carbon dioxide hurts our biosphere, and there are some industries which consider carbon dioxide as an asset, why not connect this supply with demand, make some money and save the world? Exactly, why not?

And here comes big quest from me. Well, not from me to be honest, but from Xprize Foundation lead by Peter Diamandis. The deal is following: Build best solution to extract carbon dioxide form flue gas stream consistent with emissions from coal power generation or from natural gas power generation. Prove that your solution is the best and you will receive 7,5 M USD. But there are also some restrictions to add more excitement to competition. First restriction is related to efficiency of extraction of CO_2. To have chance of winning in this competition, proposed solution must extract at least 30% of available CO_2 in power plant fumes. Second restriction says that solution must use at most 4 cubic meters of water for each extracted ton of carbon dioxide. Last restriction defines dimension of proposed solution. It must fit in 2300 square meters.

Since we know now what is the quest, the last thing we need is to know how to enter competition. You need to go to Carbon Xprize website and register there. If you enter competition after march 2015 you will need to pay 8000 USD entry fee for desired competition track, and if you enter before march fee will be 5000 USD. You will probably need to organize general liability insurance, but this is matter which need to be consulted with professionals from insurance companies.

And this is more or less all. If you are interested in solving global carbon dioxide problem, there will be no better moment and motivation. Of course, this competition is extremely hard, partially because of rules, and partially by potential competition. But should we be scared of it? ;)

Wednesday, November 25, 2015

Teaching math with Lego

As a parent engineer, my greatest fear is that my children will not like math too much. I'm not afraid that they will have problem with math at all, I believe I will be able to teach them how to handle numbers, logic and data properly. I'm just afraid that they will not see that math is beautiful and is universal tool to handle many and many day to day problems. But maybe I'm just overreacting as a young parent? Despite this, I'm still thinking about todays education, especially in STEM fields, and I decided to share my journey with you since beginning.

One of my first ideas was to use Lego bricks. So we waited till my daughter's first birthday and we gave her bucket with Lego bricks. She was aware of that gift, she played a little and then she started to ignore bricks and play with little drum. OK, no problem with that from my point of view :). We tried to play with that set couple times more on following days, and she was low to mildly interested. Sure, why not. Then we put this set in corner of her "playground" and basically forget about it.

And then suddenly, we accidentally started to play with those bricks again, and my daughter was sucked immediately. He loved to play with them, and to be honest, I and my wife were pretty surprised. What was the cause of it, what changed? Answer was simple, my daughter was older. She was 1,5 year old give or take few days. and that was exact number as entry age for this set. I thought "Whoa, this is really working!" and imminently started to looking for more math set. After checking Lego catalog I found perfect set for young STEM adept: My First Number Train Building Set 10558. This set contains 31 parts and was released in 2013.

10558 - Number Train
Why I consider this as a god STEM starter set? Well, it has numbers ;). There are 10 bricks with numbers from 1 to 10 on them. There are also 4 train/car platforms which can be connected into one locomotive and three wagons trains. There are also parts which build nice locomotive with movable roof. In addition there is one boy minifigure and dog figure.

What are my observations about it? I think that numbers are fine, but there is lack of proportion which can teach order of them. Of course they are simple, big, easy to handle bricks, so I guess that was a trade. Apart of that I think that building cars, trains, connecting wagons works great. I can honestly recommend that set as one of first sets of Lego you can buy to your kid.

If you like my blog you can consider buying this set through my Amazon Associates link.

Wednesday, November 18, 2015

Book review: Making Makers: Kids, Tools, and the Future of Innovation

Making Makers
Some time ago I bought Humble Maker Book Bundle which was containing 16 books from Maker Media. This Bundle, was dedicated to e-books containing many materials related to maker movement - a true and lasting DIY community.

Every book in this bundle is extremely interesting so I got hard time to decide what to read first. Since my daughter was to young (2 years old), and I was too busy to actually make anything I decided to start with Making Makers: Kids, Tools, and the Future of Innovation.

Making Makers is book in which author tries to guess and verify what are the ingredients which are building maker. AnnMarie Thomas apart from referring to her own past and experiences, is interviewing or mentioning about thirty other experienced makers. And this works great. She shows that in most cases, access to high tech gadgets and tools was not crucial. The most important factor was to find fun during doing stuff. And how to find fun? She mentions that sometimes it was while creating something new and unique. Sometimes it was during repairing something considered permanently broken. And sometimes fun and excitement emerged during disassembling something to see how it is working.

I like this book very much. It is written in very light and optimistic tone. And conclusions from this book are also very encouraging - you don't have to buy expensive 3d printer, tons of microcontrollers, tablets and similar stuff. You just have to take care of safety, encourage to experiment, show how are you doing cool stuff and motivate when there is lack of persistence. All of that in optimistic approach of course.

I would totally recommend this book to parents who want to engage their kids in creative activities, but are totally confused by today's toys industry. After this book you will find that sometimes such simple activity as sewing a missing button could totally change perspective.
If you like my blog you can consider buying this book through my Amazon Associates link.

Monday, April 14, 2014

Book review: Doing Data Science


Second book on my way to become "Data Scientist" is Doing Data Science: Straight Talk from the Frontline by Cathy O'Neil and Rachel Schutt. Here is short chapters description:
  • In first chapter authors try to deal with definition of "Data Science", "Big Data" and "Data Scientist" based on academia and industry experience and historical approach. They also polemics about data science as hype, extension of statistics of actual science.
  • Second chapter is dedicated to "big data" talk, and explanation why exploratory data analysis is important.
  • Chapter three introduces reader to three basics algorithms used in data science: linear regression, k nearest neighbors and k means. There are nice examples of actual use in GNU R.
  • In chapter four we will met naive Bayes in context of spam filters. We will also see example of building such filter with bash.
  • Chapter five is dedicated to logistic regression. Linear regression is explained on advertising company and example in R is provided. 
  • Chapter six - here comes data with time. Two examples are discussed - first is recommendation engine based on time data, and second is market stocks price analysis. 
  • Chapter seven covers feature selection problem. Influence of feature selection is discussed with connection with decision trees and random forests. Kaggle competitions idea is also discussed in this chapter. 
  • Chapter eight is dedicated to recommendation engines. It covers various methodologies for creating such engine and there is also simple example written in Python. 
  • Chapter nine is dedicated to visualization. I had very mixed feelings about this chapter. First part of it is dedicated to various visualization "installations" across different places. I could hardly find anything useful here. But on the other hand, second part shows how simple but clever visualizations could impact day to day search for fraud in credit card related business.
  • Chapter ten is dedicated to various problems and definitions among social networks.
  • Chapter eleven describes problems when it comes to determine causality. Cause and effect elements may be obvious in some situations, but in some they might be impossible to distinguish and measure.
  • Chapter twelve dedicated to data science in epidemiology describes fundamental problems with working with medical data. On the first approach good looking research could produce results whatever you like (positive or negative). Authors showed that there is surprisingly low interest in designing proper models to avoid such mistakes.
  • Chapter thirteen deals with data leakage. Author mentioned that, especially in data science competitions, often prepaired data has additional information that could product model that will work nicely with train set, but will work badly with real life data.
  • Chapter fourteen covers Hadoop and some elements of its ecosystem. Authors points to problem of Big Data: "Why do we need such solutions like Hadoop?" and "How to use them properly?".
  • In chapter fifteen students are summarizing they experience with learning data science during course which is combined in previous chapters.
  • Last chapter is dedicated to discussion about future of data science. Authors try to summarize their predictions about future and give some hints to aspiring data scientist how to look further.
In general, I have pretty mixed feelings about this book. I will start with negative aspects of this lecture. In my opinion it is pretty chaotic. Chapters are not connected. They are written based on materials form different persons representing different aspects of data science. It is more like bunch of different stories packed together than one big story. Also, some chapters have some mathematical formulas, which lead to nowhere. And often general discussion leads to place when reader anticipates great "finale" but it is not there.

On the other hand, if you treat this book like complementary material to "How to become data scientist" seminar on your university it could work pretty well. It covers many stories and problems which are usually visible only for persons doing actual business with data. And it gives good look and feel about doing data science. 

If you are expecting this book to be a handbook you will dislike it entirely. It is not even close to handbook. But if you like to read stories from actual data scientist working in business you will like this book.

Monday, March 10, 2014

Breaking the Prism #002 - Alternative app store for Android

In last article from Breaking the Prism series I presented idea of alternative ROMs for Android. Today I will discuss next step - breaking free form proprietary app stores.

Currently, there are two main application stores for Android. One is given by default with most of Android powered phones: Google Play. It is official application shop for Android and it is managed by Google itself. Second store is called Amazon Appstore. As you can expect, it is owned by Amazon.

What is the problem with those appstores? They are heavily interested about what are you installing. You need account to be able to install applications, even free. To be honest, I'm not even sure how much information exactly user is sharing with app store. But it seems way too much.

Of course, anyone can develop own application and install it on any supported phone. This application will be packaged into .apk file, which could be distributed freely. So if you find any particularly interesting app packaged into .apk, you can install it (with usual risk factor for installing apps from internet) on your device.

If you are interested in application which is not only available via mentioned stores, and this application is also FOSS, it is pretty big chance that it is also available through F-Droid. F-Droid is kind of app store. It is quite similar for example to Debian apt system. It means, that F-Droid is app that manages different software repositories, allow user to install software from those repositories, and track updates. It don't even have user accounts system.

How to install F-Droid? You need to enable installation from unknown sources on your device. Then you need to go to F-Droid website and download its .apk. After installation you are free to browse through repository and install any software you will find there. When you want to install something, F-Droid firs will download .apk and then will try to install it. Note that you will still have enabled installation from unknown sources.

There is one cool feature that F-Droid has. You can add other software repositories, so more software will appear in software browser. So lets add Guardian Project repositories. Doing it pretty easy. You need to go through Menu > Manage Repos > New Repository and input https://guardianproject.info/repo/ there. Then just Menu > Update and voilà, you have access to several new cool apps. I will describe some of them in later articles.

I hope that this simple description will help with considering picking application distribution channel for Android. Stay vigilant!

Monday, March 3, 2014

Is extropianism a humanitarian approach to being hacker?

Some time ago friend introduced me definition of Longevity Escape Velocity. I very like the idea of life extension. I was imminently sucked by similar topics and finally landed on transhumanism. Transhumanism is a idea to enhance human intelligence, physical and psychical abilities. It could be done for example by enhancement in medicine or by using technological add ons like implants. Overall idea is very broad, and I'm not planning to discuss it here. I would like to discuss subset of transhumanism called extropianism.

First of all, here is a nice introductory article about extropianism and general principles that emerge from this philosophy. For me, those principles were very familiar, but I wasn't sure from where. But someday, when I was discussing something related to Hackerspace ideology I connected my definition of being hacker with definition of being extropian.

Lets examine those rules, step by step:
  • Perpetual Progress - every hacker is optimizing things and system around him/her. And this is called hacking.
  • Self-Transformation - constant learning, getting familiar with new tools and ideas, using new technologies - those are also attributes of hackers. Every one of us knows his limitations but also tries to improve himself in those areas.
  • Practical Optimism - this varies from day to day. We have persons like Edward Snowden, Julian Assange and Aaron Swartz which are connected to not-so optimistic view on the past and future. On the other hand, with movements like free software, creative commons, open source hardware combined with MOOCs and Wikipedia like sites, average hacker could be also optimistic about future. Today, we have access to incredible large amount of knowledge and information - we just need to use it and everything will be better with some luck.
  • Intelligent Technology - should I mention that practically every modern technology was created by hackers?
  • Open Society - we don't have anything to hide. We even created an ideology of free software and derivatives to protect our work. 
  • Self-Direction - every hacker that I know is a different person. Someone are programmers, others sysadmins, there are electronics and scientists. There are also artists. I can divide those groups to sub groups and those sub groups to sub sub groups till I will receive pure sub groups with only one person in each. But also going up for communities, we can observe different communities dedicated to alternative solutions which can co-exist and share common interests and goals.
  • Rational Thinking - no one is expert in everything. As I mentioned above, we know our limitations and weak spots. But we also know when we could do something significantly important and right. I mean that, discussion combined with facts and arguments will build rational model. So to say we don't have any dogma, sometimes we have axioms but only when everyone agrees and we know its limitations. 
I'm not sure if I wrote everything clearly. But you should understand my overall conclusion: we are practically the same persons using the same philosophy to live our lives. Don't you agree with me in that?