Just wanted to put up a small tut on how to put an Arduino bootloader on an ATmega88.
I very roughly followed:
http://itp.nyu.edu/physcomp/Tutorials/ArduinoBreadboard (Although they make it way too complicated)
And ATMEL's datasheet for ATmega88 is also very good to have open at all times:
First, put everything on a breadboard: (This took me a while... Thanks D.Mellis and M.Feldmeier!!)
(Fritzing is awesome)
Continue reading "Bootloading an ATmega88 for Arduino [w/ code]"
WOW That was annoying! From the moment I started using a custom ROM on my Samsung Galaxy S2 (Cognition S2, to be exact), I started having issues with some apps.
Sometimes they won't appear in search results, other times it will just say it's not compatible. It drove me nuts!
Naturally I started with the forums – All the solutions there were about LCD DPI change. Funny, I never thought of that, but it did make sense. The only problem was that I never touched my DPI settings (Heck, I didn't know I could).
(On a side note – tampering with the density is pretty cool… if you want to try it, you can download apps from the Market like LCD Density)
Back to my problem…
Continue reading "Android Market's apps compatibility problem [w/ solution]"
A very simple thing, although I couldn't find on Google some place to copy-paste off, so here it is:
Continue reading "A GLSL shader showing the normal map [w/ code]"
Ever wanted to try and download an mp3 file at your workplace, but couldn't because corporate firewall policy was to block every url ending with the .mp3 prefix?
Continue reading "UnderGet – Download blocked content"
This is a short tale about last minute information salvage, and why you should always stay optimistic about your failed hard drive.
This of course, doesn't cover up case of hard drive that is making funny noises… Continue reading "How thinking outside of the box might save your “damaged” hard drive (and mental health)"
I'm a fan of Last.fm online radio, and I have a habit of marking every good song that I hear as a "loved track". Over the years I got quite a list, and so I decided to turn it into my jogging playlist. But for that, I need all the songs downloaded to my computer so I can put them on my mobile. While Last.fm does link to Amazon for downloading all the loved songs for pay, I'm going to walk the fine moral line here and suggest how you can download every song from existing free YouTube videos.
If it really bothers you, think of it as if I created a YouTube playlist and now I'm using my data plan to stream the songs off YT itself..
Moral issues resolved, we can move on to the scripting.
Update (4/27/12): youtube-dl.py has moved: https://github.com/rg3/youtube-dl/, and also added a very neat --extract-audio option so you can get the songs in audio right away (it basically does a conversion in a second step).
Continue reading "Download all your Last.fm loved tracks in two simple steps"
Just a quick share of lessons learned about Android's Frame-by-Frame animations. Some of the functionality is poorly documented, as many people point out, so the web is the only place for answers. Having looked for some answers to these questions and couldn't find any - here's what I found out myself.
Update [2/3/11]: A new post on this topic gives a more broad view of my experience.
Continue reading "Some things I learned about Android's Frame animation"
Just a quicky on how I hacked together a DIY Microsoft Kinect port. The Kinect port is non standard, USB-like port, and to actually connect it to a PC you must buy an adapter from microsoft for >30$. This is whack. You should make your own. All you need is access to a lasercutter, vinylcutter, plexiglass 1/8", some copper sheet and solder equip.
Continue reading "Hacking together a Kinect port"
Android + Yourmuze.fm + Dolphin Browser HD + XiiaLive = WIN
It's been a while since I've posted anything in the blog… Sorry for that… very busy times. I had a lot of ideas of what my "comeback post" should be about, but I knew I had to share one of my relatively recent discoveries that made my smartphone online-radio listening experience a whole lot better
If you don't know yourmuze.fm, this might be the time to get to know it. It's a free service that has a LOT of worldwide radio stations available as an online stream for usage with most of the smartphones.
In order to start using it you need to register for free via your desktop computer, and add the stations you like. Later on, you can surf to the mobile version of the service by mobile web and listen to the stations you selected.
So far so good… I like it. But how about multitasking?
Continue reading "An Android solution for listening to online radio while multitasking"
ICP - Iterative closest point, is a very trivial algorithm for matching object templates to noisy data. It's also super easy to program, so it's good material for a tutorial. The goal is to take a known set of points (usually defining a curve or object exterior) and register it, as good as possible, to a set of other points, usually a larger and noisy set in which we would like to find the object. The basic algorithm is described very briefly in wikipedia, but there are a ton of papers on the subject.
I'll take you through the steps of programming it with OpenCV.
Continue reading "Iterative Closest Point (ICP) for 2D curves with OpenCV [w/ code]"