Wednesday, December 16
Android apps
I've recently gotten myself an Android phone. The Android app market is not as mature as iPhone's App Store, but there is a lot of applications, and plenty of chaff to separate the wheat from. I found most of the apps I use by browsing "top Android apps" lists on the web, so I am putting up a similar list here in case someone finds it useful.
- Everyday apps
- Astrid Task/Todo List - a great To-Do list app that integrates with Remember The Milk
- Quick Calendar - an "upcoming events" widget
- CardioTrainer - nice jogging app, records routes using GPS, integrates with music player
- Language tools
- Thesaurus Free - a thesaurus
- Free Dictionary Org - reference dictionary
- QuickDic German Dictionary - an English-German-English dictionary
- Media content
- Listen - an app to find audio content online
- Mother TED - search and view TED talks
- TuneWiki - music, song lyrics
- Games
- Lumbricidae - guide a worm using your accelerometer
- Flying High - plane flying (also accelerometer-based)
- miniMatcher - memory game
- Iconic Memory - another memory game
- Cool apps
- Phonalyzr - pretty phone call (and SMS) stats
- Shazam - identify a song by recording a short snippet; possibly one of the coolest apps available
- SnapTell - look up product information by scanning a barcode (or even by snapping a photo!)
- Backgrounds - background images
- Google Sky Map - shows constellations
- Layar Reality Browser 3.0 - a fancy-looking Augmented Reality app
- Music
- Sonorox - tune composition for everyone (the pentatonic scale is great, isn't it?)
- Loops! Lite - another music composition app
- Tuner - gStrings - a guitar tuner
- Miscellaneous
- Task Manager - a process monitor utility, useful for checking up on app resource usage
- Currency - a currency converter
- Sleep Logger - a very simple, but useful app for tracking your sleep habits
Labels: android
Thursday, November 19
Dalintis.lt
Monday, September 28
Piano improv #2
Labels: piano
Thursday, May 14
Lęšis.lt
A friend of mine has recently launched a contact lens e-shop, lesis.lt. It only ships in Lithuania at the moment, but if you're based here, have a look, you might find it useful.
Wednesday, April 15
Piano improv
Labels: piano
Wednesday, March 4
Peer reviewed blogging
Here's an idea: what if there was a website where you could upload a topical blog post, which would then be reviewed and edited by experts in the area and then posted on that website? Such a process would ensure that articles are at least well-named, appropriately tagged, well-structured and not methodologically deficient, and could result in a database of articles of decent quality. Would you upload your blog posts that are juicier in terms of content to such a site? Would you volunteer to do reviews and editing?
Friday, December 26
Hacker spaces
I just found out about hacker spaces. For a nice example of a hack space, see The Metalab. Such places seem quite suitable for work on individual public projects and for growing teams by sorting out the wheat from the chaff.
It's a pity there are no hacker spaces east of Vienna. I wonder if one could be set up in Vilnius. There probably are enough people around. but quite a bit of organising work (see Hackerspace Design Patterns [PDF]) needs to be done to establish a hacker space. I would do it, but I am overbooked as it is. Any takers?
Thursday, December 4
Python 3.0
Python 3.0 (also known as Python 3000) has been released yesterday, so I thought I'd give it a try. It turns out that a recent release candidate is in official Ubuntu 8.10 (intrepid) repositories, so I did not even need to compile anything: apt-get install python3.0 and we're done. You may want to read the summary of changes from Python 2 beforehand.
Here's a quick demo of unicode identifiers:
>>> 二 = 2 >>> 四 = 二 + 二 >>> 四 4 >>> import math >>> π = math.pi >>> α = π/3 >>> math.sin(α) 0.8660254037844386
This isn't quite APL yet, but we are getting closer!
Friday, November 28
Silly translations
Since I do some work on software translation, I have seen my fair share of silly translations (in my case from English to Lithuanian). Here's my latest find: in Gmail there is a choice of chat list for every person in the address book, and there are four options: Auto, Always, Never, and Block. The Lithuanian translation of the option "Auto" is ... "Automobiliai" which means "Cars". Took me a while to figure out what happened the first time I saw it. This ranks right next to the already classic wizzard button translation "Kitas", "Kitas", "Suomių" for "Next", "Next", "Finish" (translated back to English that would be "Next", "Next", "Finnish" – as the language of Finns) and my personal favourite: Finnish translated as "Finikiečių" (Phoenician).
FWIW I tried to apply for access to Gmail translations (there are many more inconsistencies, mistakes and screwups in there), but it seems that Google is not interested. I wonder if they have any translation quality control at all.
Friday, November 21
Computer-generated music
EMI (Experiments in Musical Intelligence) by David Cope changed my mind on the state of computer music generation software. I had come across numerous "music generation" programs, but it would have been a long stretch to call their results "music". They would produce, at best, strange patterns of beeps. I had heard of a live "jazz improvisation gig partner" machine (probably this one), but EMI is on a completely different level – just listen to the MP3 samples. Sure, in the end it is mostly splicing and rehashing of existing pieces, but Cope claims that in blind tests even experienced listeners would sometimes confuse an original piece by a composer and a composition by EMI. In other words, EMI passed the equivalent of a Turing test for music generation software. If that is not impressive, I do not know what is.
Unfortunately David Cope's site is skimpy on the details of how EMI works, even though there is an extensive bibliography (note the time span: 20 years!). At least some information can be gathered from the webpages of his numerous books.
Thursday, November 20
Book meme
I am a bit of a bookworm, so I could not resist this meme:
- Grab the nearest book.
- Open it to page 56.
- Find the fifth sentence.
- Post the text of the sentence in your journal along with these instructions.
- Don't dig for your favorite book, the cool book, or the intellectual one: pick the CLOSEST.
The book is actually a Lithuanian translation, but I'll translate the sentence into English for you:
After entering the palace, he seduced the king's wife, killed the king with her help and seized his throne.Can you guess which book the sentence is from?
Friday, November 14
Non-native LCD resolutions
Now that LCD monitors have spread, I keep noticing one thing: lots of public places with computers have the resolution set to some non-native value. Blur in cafes, libraries, everywhere! It seems that people just do not notice the blurriness, and I do not really blame them – how could they know that there's a better resolution? This makes me think that it would be a good idea to warn the user on the desktop environment configuration level about reduced quality whenever the screen is an LCD and they are trying to switch to a non-native resolution. A non-intrusive, but informative message could do the trick, I think.
Saturday, September 13
Python syntax highlighting in LaTeX
LaTeX provides a listings package to typeset code. The standard output is great for black-and-white printouts, but not for beamer presentations, where a more dynamic color scheme would be suitable. Having recently worked on slides with Python code, I have prepared a file that you can include to get nice colourful code that looks good on a presentation:
My code is based on a snippet found on Ubuntu forums. I added some more keywords and tweaked the color scheme to correspond to the one that IDLE uses (that color scheme is not ideal, but my audience uses IDLE for coding and I wanted some consistency).
To use the package, copy the file to the same folder as your document and include it in the header:
\include{pythonlisting}
Then, to render code, use python sections:
\begin{python}
def foo():
print "bar"
\end{python}
Note that if you want to use this in a beamer frame, you will have to mark the frame that contains Python code as fragile, like this:
\begin{frame}[fragile]{Some Python code}
\begin{python}
def foo():
print "bar"
\end{python}
\end{frame}
Labels: python
Better Russian-English dictionaries
A reader called Kuno notes that there are now some good Russian-English dict-format dictionaries available online. They are very likely better than the ones I extracted a couple years ago. The dictionary files suggested by Kuno can be downloaded directly, fetched with rsync (rsync rsync://dictd.xdsl.by/dicts/) or the server can be queried with a dict client (try "dict -h dictd.xdsl.by -D" for a list of available dictionaries).

