The best kittens, technology, and video games blog in the world.

Showing posts with label personal. Show all posts
Showing posts with label personal. Show all posts

Sunday, October 21, 2018

Music I like

Piano Cat I by Nina A. J. G. from flickr (CC-ND)

I mostly listen to music on youtube - or songs I downloaded from youtube with the glorious youtube-dl to dumb devices for listening while offline.

140%

I listen to them at 140% speed. I've been watching everything at high speed so much, 140% is my neutral speed, that's the lowest I can go without anything seeming to be artificially slow.

Nowadays my speeds are:
  • 140% - neutral speed - music, movies, some denser TV shows like Game of Thrones
  • 180% - medium fast - most TV shows like Family Guy
  • 200% - fast - podcasts, audiobooks, let's plays, conference videos, nearly everything on youtube that's not music
  • 220% - very fast - some particularly slow sources like Tolarian Community College
This means I'm really limited to youtube as my only place for music, and to "unofficial" download sites as my only source for shows and movies. I tried Spotify and Amazon Prime, but they have no speed control, and that's insane in this day and age.

I guess I can watch things at 100% in cinema or when watching it with someone, but that's an exception, and it still feels artificially slow.

By the way, if you know of any source of music or streaming that has speed control, good quality, and good selection (not just in US), I'm definitely interested.

Youtube for music

The great things about youtube is that it has basically everything, it's free, and ad blockers work perfectly on it, at least on desktop. I guess they recently added some sort of subscription service for people who feel sad about using ad blockers, and I'm not philosophically opposed to that, but I didn't have any time to investigate that. 

The worst thing about youtube is total lack of metadata. Also people thanking their Patreons for a minute after each song while I'm trying to listen on shuffle. And it's basically useless on the phone with no or limited connectivity.

The so-so thing about youtube is its recommendation algorithm. It's not completely useless, but it keeps suggesting stuff to me a one line python script would know not to (if vocalist.gender == "male": return False).

Their fancy subscription service solves none of the problems I have, just a problem ad blockers already solve.

Metadata

But seriously, what really annoys me is that I youtube never bothered to provide any metadata for its song.

There's a plugin which tries to parse song titles with regular expressions, but it's not very good. It's sort of OK for "official" songs, but it's failing for almost every independent artist who mostly do cover songs.

So mostly for my own future reference, here's a list of artists I've been recently listening to a lot, in alphabetical order, manually extracted from my youtube watch history. I tried to categorize them into mainstream and independent artists, but it was fairly futile.

The List

If by any chance you're enjoying similar music, and you have any fun recommendation, send me the links.

Friday, August 26, 2016

Data loss postmortem

Flash Fail? by E V Peters from flickr (CC-NC)

I just lost a lot of data, and I'm extremely annoyed, to describe thing mildly.

Here's my backup setup:
  • OSX laptop as primary
  • Gaming Windows 7 box as secondary, with cygwin installed
  • (in the past I also had a few more boxes to which this system was extended)
  • status script automatically checks all boxes - every file or folder is inspected according to some set of rules:
    • system files are considered safe
    • all git repos are considered safe if they're pushed to master with no extra files
    • everything that's in Dropbox folder is treated as safe
    • for things too big for Dropbox there's a pair of backup drives - everything on them is considered safe as long as both files contain same files (for obvious performance reasons I'm only checking directory listing not TBs of content)
    • symlinks pointing to safe locations are safe
    • there's a whitelist of locations to ignore, for various low value data, applications' folders with nothing I care about etc.
    • everything else is automatically flagged as TODO
  • to prevent data loss in shell, rm command is aliased away (safe trash is used), mv and cp are aliased to -i to prevent accidental overwriting, and I'm very strict about always using >> and never under any circumstances > in shell redirects
  • Dropbox offers 30 day undelete, so anything deleted locally can still be recovered
  • and just to be super extra sure, various cloud contents are snapshotted every now and then to backup drives; list of installed software is snapshotted etc.
  • phones, tablets etc. all sync everything with the cloud, and contains nothing valuable locally
  • MP3 player and Kindle are mirrored on Dropbox, and synchronized automatically by scripts whenever they're connected
This system is really good at dealing with hardware failures, system reinstalls, and random human error. All files are protected from single failure, and in some cases from multiple failures.

Unfortunately there are two huge holes in the system:
  • configuration which doesn't live in user-accessible files - like /etc on OSX, Windows registry etc. This is less of an issue nowadays than it used to be.
  • the manually created whitelist of locations to ignore. You can guess where this leads.
It also offers limited protection from any kind of hacking or ransomware attack, but in any realistic threat model they're not terribly important.

Video Games

For casual gamers it's enough to just install games with Steam or whatever, and enjoy.

This unfortunately is absolutely unacceptable if you're into any kind of serious gaming. Steam autoupdates both game and all its mods, with no way to roll back, so if you had any kind of long running campaign, it will get wrecked.

As far as I can tell, that's what caused death of my Let's Play Civilization V as Germany series - I probably mindlessly pressed buttons to update 3UC/4UC mods, and that resulted in unfixable save game corruption.

So to protect against this, if possible I'm not playing using Steam - instead I install every version to separate folder. All versions of same game unfortunately share same user data folders, so if I ever want to go back I need to do some folder reshuffling, but as long as I don't run that game in Steam, mods won't get overwritten by newer versions, so I can safely play even campaign that takes months.

And I'm perfectly aware than for Paradox games it's possible to revert to previous versions as betas, but that does absolutely nothing whatsoever to deal with mods irreversibly autoupdating without my consent, and in HOI4 (and apparently Stellaris, but I never played that) it's even worse as mods are saved deep in Steam user data, so I had to write some script to even have mod folder I can safely backup.

Now here's where first part of the problem begins - I added all folders with save games to the whitelist. This is mostly reasonable, as I don't need long term backups of them, and if I lose saves from campaigns I already finished, it's no big deal.

Unfortunately whitelist has no good way to tell them apart from saves (and mod folder) for any ongoing campaigns, so here's failure number one.

Uninstallers

I've noticed that I had way too many old versions of various games installed, so I decided to clean them up - there's zero risk in deleting installed applications, so it was a routine thoughtless operation.

While uninstalling some old version of Crusader Kings 2, just another confirmation popup happened, which I automatically replied with a yes, and then it deleted my whole user directory with all my saves and everything else.

This is unacceptable UX on so many levels:
  • Surprise popups should never ask to delete user data - it should either never happen, or be a checkbox user must explicitly choose. It is completely unacceptable.
  • if you ever actually delete user data, use system trash. It is completely unacceptable to use hard delete like it's 1980s and we learned nothing in last 30 years of computing.
If your software does it, just stop writing software until you learn better, because you're causing more harm than good.

So we had 3 failures in a row (one my fault, other two the fault of whoever wrote that uninstaller), but that was still sort of recoverable with undelete process which existed since days of DOS.

I downloaded some software for it - the first one was bait and switch bullshit which would display files it found, but wouldn't actually recover anything. If you write that kind of software, please just kill yourself, there's no hope for you.

Second I found some legitimate recovery software, it recovered the files to second drive, so I thought 4th level of protection worked... and unfortunately they were all filled with zeroes. That confused me, but then I noticed that it was all on an SSD and TRIM command was indeed enabled, so completes the explanation.

Next actions

Historical saves from my past campaigns were nice to have for testing some tools, but I don't care about them terribly much. Recovering settings and mod folder from scratch will take maybe an hour, as it contained a mix of mods from Steam Workshop, downloaded separately, and my own. Annoying, but not a big deal.

What I lost were mostly saves for my ongoing Let's Play CK2 as Islamic State [Modern Times mod] campaign I've been playing on twitch. It got up to the point where the first caliph died, and his underage son inherited Islamic State. It was still quite fun, and I have all the video saved, so I'm going to upload that to youtube soon enough - and in the meantime all 3 sessions are available on twitch.

Even after this loss, I still have 22GB of save files in my folder. If this was OSX, I could just move them to Dropbox and symlink back (size to value ratio is not great, but often doing this brute force is good enough), but that's not terribly reliable on Windows, so I'll probably just delete old ones manually, remove save folders from the whitelist and instead tell the script to copy them all over to Dropbox.

The upside is that this is the biggest data loss I had in something like 10 years. The only other incident was losing about two day's worth of git commits to one repository I apparently forgot to push before formatting old laptop, which also annoyed me greatly.

Two incidents in a decade is pretty much nothing compared to the kind of massive data loss I suffered (to hardware failure) before that twice, and which made me the level of anal about backups you can see.

Saturday, October 24, 2015

How my tastes diverged from the rest of humanity

This is probably way too personal for this blog, but what the hell.

Anyway, this didn't happen overnight, but somehow step by step things I enjoy drifted far past the normal nerdy territory into something that's just weird. And not just in one domain, which would be perfectly reasonable, it seems to have happened to pretty much everything I like.

Here's a bunch of examples.

Movies

I never had a TV in my life (that didn't stop BBC's TV licensing from sending people to harass me), but I used to really love movies. I've seen nearly everything on IMDB top 100. Unfortunately somehow I lost my abilities to watch movies. I just end up alt tabbing to something else ten minutes in. And it's not like I don't enjoy them - if I end up watching some in a situation where social convention prevents alt-tabbing, I often quite like them.

It would be obvious to suggest that I just have some issues with concentration, but I can watch whole day's worth of Let's Plays or Mythbusters or Star Trek reruns or (before it got cancelled) Colbert Report just fine with no issues whatsoever. Except of course I'm watching them at 180% speed, and I find slower speeds really uncomfortable. Movies I can't watch at any speed.

As for various TV series, I just have no interest in vast majority of them, but I don't have urge to alt-tab comparable to what I have with movies (at any speed).

Music

I feel nearly physical pain when I hear men singing. It's not that I don't enjoy Justin Bieber or One Direction, whenever youtube decides to play it on shuffle, it's like someone punched my ears and I absolutely have to drop everything I'm doing and turn this fucking crap off. And it's not just some particular artists - as a good approximation it applies to every male vocalist.

I can find a few exceptions to this pattern. Most often it's ones whose voices are very heavily computer-distorted and generally pitch-shifted, or someone who's not technically singing like Peter Hollens, I can totally enjoy that. There are also some exceptions I can't easily explain, but generally I have extremely strong and completely instinctual negative reaction to all male singers, and I think I always had it.

That still leaves the female half of popular music, at least anything which would work as Dance Dance Revolution song. Here's my last.fm data from before my iPod died in an accident involving cat and a lot of water. last.fm maistream-o-meter tells me that was 13% mainstream, which is like Sophie Ellis-Bextor level - not exactly mainstream, but nothing too crazy.

Of course it only diverged further.

Then I decided everything sounds better at 140% speed (without pitch distortions). Faster Katy Perry or Metric isn't exactly that unusual right? Or high speed AVbyte, or Malukah, or The Guild... And a few days ago I discovered Nightcore, obviously at 140% as well, which inspired me to write this post.

Books

I've been doing my best to avoid paper books, mostly going for audiobooks if possible. Before I figured out how to keep pitch normal I could only go to 140%, after I figured out how to speed them up without messing up the pitch it want up 170% (no particular reason why it's a bit slower than videos, these things evolved independently). If there's no audiobook I'll just go for kindle, and for paper as last resort, as paper is really inconvenient, and I want to give my eyes some rest from so much computer use.

Anyway, as for content I almost exclusively read (disregarding medium) nonfiction. So what about things like Game of Thrones? It's really a nonfiction documentary of a place which just happens to be imaginary. Books like The World of Ice & Fire cross this line even harder, but most scifi/fantasy is more about the world than about characters, which makes it at least halfway nonfiction.

Of course every time I read (or for that matter watch) anything, it's alt-tab to some wiki for context, because linear narratives are so 19th century.

A lot of books I ended up reading like Harry Potter or Twilight (sure, I know, mainstream as hell) I did because I first read some fanfiction happening in some universe, and then I checked context on a wiki somewhere, and as that was interesting I went for source material last.

Of course this route doesn't always work. After some MLP fanfics I decided to watch some MLP, and that was definitely not for me.

I mentioned fanfics here, but I haven't read many, mostly because it's fairly difficult to filter out good ones from huge volume being written, and unfortunately the same applies to fiction books (nonfiction filtering by subject or by author's Daily Show interview quality is reasonably accurate).

I had decent amount of success finding good content by reading for short story collections, as they tend to be pre-filtered well, and in worst case, it's a short story, so not huge loss of time if it ends up sucking.

For movies IMDB, Rotten Tomatoes etc. are fairly decent at finding out good ones (unfortunately I can't really watch movies any more), I don't think there's anything even remotely reasonable for books. I've heard that once upon a time one could have relied on various awards like Hugos, but that was before SJW vs Puppies shitstorm. 

Video Games

I literally spend more time modding video games than playing them. And now I'm recording about half of what I play for fun.

Food

My idea of good food is something like this:


You can find more pics here and here. Because I decided to make tons of pics of everything I eat (about 1/3 of the days this year have full photo coverage).

Compared with other things, it's only moderately divergent, if you ignore this photo aspect.

What I eat would probably approximately match what someone who vaguely doesn't want to eat gluten would, except I don't give a shit about gluten, it's just coincidentally mostly present in foods I don't find particularly tasty. Or approximately like food someone who wants to eat sort of paleo, except rice is sort of paleo, and ice cream is sort of too delicious, and coffee is sort of too necessary to skip.

And it continues...

These are some relatively publishable things, but it's just as divergent if not more in less publishable ones, and it only seems to be getting more so.

Sometimes rest of the world seems to catch up with my preferences, like it figured out wikis are awesome after I spent way too much time trying to tell the world so, and it seems to be finally figuring out that religion is kinda bullshit, and people are slowly figuring out that Ruby is the best programming language and static typing is for losers.

I'm not sure if this is any kind of pattern, or it's just that if I have enough tastes divergent with mainstream a few of them will happen to just randomly become more mainstream with time, and others even less so.

By the way, none of these differences seem to be causing any serious problems.

Oh and there are a few things where my preferences seem to very mainstream - like cats.

Monday, June 22, 2015

Another day, another hardware failure

Ziva the Maine Coon by Nicholas Erwin from flickr (CC-NC-ND)

Well, things were going far too well with just one computer death so far this year, so my gaming computer's motherboard decided to go hostile towards my SSD, -200 desiring all its provinces.

I still have no idea what the fuck. The motherboard works just fine - replacing that disk with another one worked just fine. And the disk works just fine hoo - I can literally hotswap it back where it was before after I boot any operating system, it's just that when it's plugged in during computer startup it now freezes during POST. It's crazy. I went through BIOS flashing and all the usual rituals, with no change whatsoever.

Amazingly, it's another crash with no significant data loss, just wasting a whole Sunday on trying to figure out what the fuck is going on (my expectations of disk failure would be disk not being detected, so it was pretty low on my list of hypotheses to try) and reinstalling everything. Fortunately I always keep notes of how to reinstall various operating systems, like this one here for Windows 7, which is still 90% up to date. I've seen Windows 8/8.1 and I want it about as much as I'd want a free Windows Phone.

Speaking of data loss, getting data from that old disk is still a bit awkward as I'd need to go through boot from livecd, hotswap disk, dump to some USB disk mess. It's mostly low value stuff like save games that I didn't include in backups for a good reason, but I was in the middle of some games, and it's mildly annoying.

There's also tons of software configuration that was lost - I hate how hard it is to sync Windows software configuration with cloud, except for Chrome. On Unix 90% of software can be configured with dotfiles, which are committed to git repository and then symlinked whenever I setup a new machine. I don't really have a good solution for Windows - or for that matter for the handful of Unix programs that don't use nice dotfiles. I could just keep text files with notes, or backup all their user data (including tons of irrelevant junk), or build some sophisticated configuration scripts trying to separate the relevant from irrelevant. The most annoying one that I lost is Open Broadcaster Software configuration that took a ton of tweaking to get right, and I have no recollection which numbers should go where now, with the rest I more or less remember what I need.

Saturday, December 14, 2013

Holiday announcements

Fiodor Extreme by stella_gonzales2003 from flickr (CC-BY)
I'll be in Poland until a bit after the New Year, mostly in Legnica-Wrocław area. If anybody wants to meet during, email me.

taw.chaosforge.org server which I used to dump all kinds of stuff is going down. Since most of this stuff was for my Open Source projects which now live on github, I'm in the process of migrating the pages to taw.github.io, with any major binaries going to Dropbox - except of course there's less need for tarballs, since Dropbox generates these automatically on request.

The process is going to take a while, since there's something like 200 links to fix just between this blog and the pages, and I want to apply some minimal styling to it at least.

I don't really have any major vision of what all that should be like. I guess I might write some short explanations of what all my other projects on github are, and add kind of some index more sensible than alphabetical listing, but that's about all.

That still leaves a few things without obvious home. There's my MTG sealed app (which I maintained from Avacyn Restored to Gatecrash), which I probably shouldn't put on github since it contains a lot of pictures of Magic cards. If you're interested, contact me. There's also my Perl programming course's website from years ago, which might be worth archiving, but doesn't really fit github. And there's a few even more random things.

Anyway, happy holidays!

Saturday, April 24, 2010

Notes on personal experience points system

Gimme gimme by fofurasfelinas from flickr (CC-NC-ND)

Here's a very quick post. I tried to run a personal experience points system, with software described in this article. I tried something like this before, it was described here on lesswrong.

So, the notes:
  • As I'm writing this, I have level 6 IRL avatar (251 XP)
  • In general, it didn't work terribly well. This isn't in itself a bad thing. As Edison said after failing and failing repeatedly "I have not failed. I've just found 10,000 ways that won't work", and then proceeded to steal Tesla's work.
Urgent vs important:
  • So one thing I learned doesn't work are big rewards for things I know I'm going to do at some point anyway. If I can get 25 points today - or play some video games today and I will get these 25 points in a few days anyway - this provides zero marginal benefit. It's just like people who always want to quit smoking next week.
  • With small recurring items like exercise - motivations due to these points sometimes managed to be just enough to push me in the right direction when I was undecided between doing that and doing something else.
  • I thought the system just doesn't work that well - but there was one exception. The "keep leechblock on whole day" item was a resounding success - at least at making me search new sites to waste time on but never mind that - somehow this urgency really works.
  • It seems faux urgency drives me more than actual importance. Unfortunately most important things in life are long term and not terribly urgent.
  • This is all because I am a one-marshmallower. I have no doubt that in the marshmallow experiment I would just eat that damn marshmallow right away - while children who waited would get another one, be more successful in life, and then get type 2 diabetes due to eating so many fucking marshmallows.
  • By the way, standard economics with its silly exponential discounting of time cannot explain this urgency - but it all makes a lot more sense if you use hyperbolic discounting. And life is definitely hyperbolicly discounted - if you doubt it ask the Egyptian pharaohs who prudently granted land to their temples so that it would maintain priests who would pray to the gods for them until end of time how is compound interest working for them. Exponential function is merely a mathematical artifact, nothing more.
User interface:
  • Scripts to record XP-able actions are not terribly annoying. This makes the most awesome keyboard in the world even more awesome. I'm wondering if it would be better to get it integrated with OmniFocus inbox, but annoyance is low enough for it to not be worth the effort.
  • XP bar is nowhere near flashy enough, and slowly filling up bar doesn't provide much motivation at all.
Economics and video games:
  • Video games solve this by giving level-dependent bonuses - unfortunately life is not like that, and I cannot think of any meaningful ways of granting myself a level bonus (also see the point about one-marshmallowing).
  • One way to think about would be compound xp interest - increase my XP level by some % every day to restore exponential discounting behaviour.
  • Another idea would be extra XP points for streaks of positive actions - like "3rd day with leechblock on" / "exercised 3 times in the week already" etc.
  • I would really like to find something less blunt than leechblock - the problem is that I actually need to access those websites every now and then for legitimate reasons - and I just want to make sure I don't fall into tvtropes trap (I accidentally clicked on this link and tvtroped myself dammit).
So I think I'll try another iteration based with far more urgency in it. Let's see how it works out.

Sunday, February 17, 2008

I'm totally out of shape

Let's dance! by Tscherno from flickr (CC-BY)

I've just found a DDR machine (of the good Euromix 2 kind) near the place I live, and I barely managed to do what a couple of years ago would be just a warmup - one Normal nonstop plus three 8/9-feeters (today it was Crash, Candy, and Tsugaru).

I should start attending a gym or something like that or it will only go down from here.

Sunday, January 20, 2008

My poor bottom left 6

tree eater by splityarn from flickr (CC-NC-SA)

My tooth hurt a bit in the last week, and it got really bad yesterday, so I called some 24h dental service. It wasn't as 24h as they claimed and I was only able to get an appointment for the next day. The bad news is - root canal treatment was required. The even worse news - it was damn 700 quid for two visits. Here goes the new computer, at least for now. It's seriously insanely expensive compared to dentistry in Poland, whene plain checkup is about 10 GBP, and root canal treatment is about 50 GBP - just Google for prices if you don't believe me. If I actually knew in advance it would cost that much I'd probably just book a flight. Too bad you cannot schedule your dental problems.

Monday, August 20, 2007

Dynamically typed road traffic

Cloud the kitten by taw (public domain)I moved to London a few weeks ago. I live at 82 Mildmay Road, Islington, London, N1 4NG, I code Ruby on Rails at Trampoline Systems, I have a beautiful kitten girl Cloud (the blue-eyed white furry creature above), and I use a MacBook.

Let's start from the culture shock part. The British start working at saner hours than Polish, somewhere between 9:30 and 12:00 instead of 7:00 to 8:00. They start their day by eating "English breakfast", which consists of fried eggs, oversalted beacon, sausage made of 50% recycled plastic bottles and 50% soy protein isolate (and definitely no meat), baked beans, half-cooked mushrooms, black pudding (no idea what it is made of), tomatoes prepared in a way that makes them lose the tomato taste, semi-sweet toasts, and a few other weird things. The whole thing is huge, hard to digest, and completely unsuitable for a breakfast. At least that was what I thought at first - now I kinda like eggs, baked beans and semi-sweat toasts.

The next culture shock was in moving around. Pedestrians don't care about traffic lights. On the continent it's expected for people to wait till the light is green before crossing the street. In London nobody does so - people just check if the road is free and if it is they go. As most streets in the city center seem to have pedestrian islands in the middle, it is enough if just a single lane is free from traffic. At first I thought it will certainly lead to huge increase in traffic accidents, but it seems the British roads are actually safer than most of the continent. That's lot like static versus dynamic typing - instead of statically checking "type" of road (RedRoad or GreenRoad) you check if it responds correctly to :pedestrian message and cross if to does. Much more efficient after some getting used to.

Switching from Ubuntu Linux to Mac was weird. Macs have one big advantage over Linuxes - TextMate. As far as I can tell it's the only advantage. Other than that:

  • They lack single package management system like apt-get. One needs to use a mix of fink, port, gems, binary packages, hand-compiled packages, and I still couldn't install Amarok.
  • No copy & paste by select and middle-click is annoying.
  • Safari sucks almost as much as IE4, Macs are pretty much unusable without Firefox.
  • Macs are not a very good Unix. Packages are outdated and unupgradable (Ruby 1.8.2 from 2004 on a laptop sold in 2007 - wtf?). Basic utilities like find and cp don't accept standard GNU flags. Locale is very annoyingly not UTF-8 without some work. There's no good terminal (neither the builtin one nor iTerm are anywhere near konsole). Filesystem is case-insensitive (yuck). There's no strace and debugging options are limited compared to Linux.
  • There's no good music player. iTunes is a stinky pile of donkey shit compared to the most awesome Amarok.
  • There's no good iPod client. iTunes sucks compared to even gtkpod. iTunes sucks compared to everything.
  • MacBook screen is very small. MacBook trackpad is horrible (not unlike trackpads in all other laptops). Control vs Command distinction is annoying even after a few weeks (Control-D but Command-C, huh ?).
Did I mention TextMate ? The good things are TextMate, TextMate, magsafe connector for power supply, and TextMate. I've tried pretty much every Linux text editor out there and
TextMate is far better than any of them. Maybe even good enough to make me say on Mac.

Saturday, May 19, 2007

tavaiah is dead

fuph_kitten_cute_cute_cat_by_chris_radcliff_from_flickr_cc-sa.jpgThe disk containing / and /home/ died, and with it the system which was my main system for many years. Hardware, disks, and distributions changed, but I used the same /home/ since about Debian 2.1 slink, apparently about 1999. The disk completely died without any prior warning - that's the first time such thing happened to me, previously "disk failure" meant just a few bad sectors and loss of a couple of files. I lost many years worth of personal stuff (I didn't backup it, so only stuff on GMail survived) and quite a bit of software.

The new system is a fresh kUbuntu 7.04. It is basically usable now. I managed to restore a lot of software using a few weeks old snapshot of the SVN repository and stuff on taw.chaosforge.org.

By the way it's simply unbelievable how much the default Firefox sucks. It creates popup windows instead of opening new tabs (and there's no obvious way to fix it), and doesn't save state when exiting. Opera was better 8 years ago than default Firefox is now.

To fix session loss bug install Session Manager addon. To fix the popups bug go to about:config and change:

  • browser.link.open_newwindow from 2 to 3
  • browser.link.open_newwindow.restriction from 2 to 0
Or remove Firefox and install Opera.

Another thing that really sucks - rubygems totally ignores packages installed by apt. It won't even work with --ignore-dependencies. It might have been the simplest thing that could possibly work, but it's high time for them to cooperate at least a little bit.

Tuesday, March 27, 2007

Hosting at zabor.org is down

sparklin' drops of spring by Steve took it from flickr (CC-NC-SA)Server I used to host most of my projects - zabor.org, is down for a few days now. At first I thought the problem is temporary, but it seems it's going to stay down for good. All data that was there is on my box, but it's somewhat messy, and it will take a few hours before I get it all back. Anyway, a new website is coming. It's going to be faster, better, more automatic, and with real backup. I want to get to the point where I can simply say rake website and all my packages will be checked out, built, tested, packaged, and uploaded together with updated HTML files. I'd also like to have add some WWW::Mechanize or firewatir-based website testing to make sure everything works as expected. Testing by hand is so 1990s. Well, at least it's a good excuse to learn firewatir. New hosting servers are:

Thanks to balrog kun for providing hosting zabor.org, and to pio and anubis for new hosting servers. Extra hosting servers are of course welcome :-) To make this post a little less boring, here's fragrement of the Rakefile which builds the website, which is then uploaded to all servers:
website_root = "/home/taw/website"

PROJECTS = %w[jrpg jrpg2 magic_xml magic_help rlisp]

PROJECTS.each do |project|
   #desc "Create #{website_root}/#{project} directory"
   file "#{website_root}/#{project}" do
       mkdir_p "#{website_root}/#{project}"
   end

   desc "Remove old website files for #{project}"
   task :"clean_#{project}" do
       rm_rf "#{website_root}/#{project}", :verbose => true
   end

   desc "Fix permissions of #{project}'s website"
   task :"pub_#{project}" do
       sh "pub #{website_root}/#{project}"
   end

   desc "Build #{project}'s index.html"
   task :"#{project}_index" do
       sh "eruby <#{project}/index.rhtml >#{website_root}/#{project}/index.html"
   end
end

desc "Build everything that can be built automatically (for testing)"
task :test_build => [:jrpg_package, :jrpg, :jrpg2, :rlisp]

desc "Clean everything"
task :clean => PROJECTS.map{|project| :"clean_#{project}"}

def package(glob, dir="packages")
   return glob.map{|g| package(g, dir)} if glob.is_a? Array
   Dir.glob("#{dir}/#{glob}").sort[-1]
end

def rake_remote(dir, *actions)
   Dir.chdir(dir) { sh "rake", *actions }
end

# JRPG
desc "Build jrpg website (doesn't build package automatically)"
task :jrpg => [:clean_jrpg, "#{website_root}/jrpg", :jrpg_index, :jrpg_files, :pub_jrpg]

desc "Copy jrpg image and package files to website"
task :jrpg_files do
   files = Dir["jrpg/jrpg_new_screenshot*.{jpg,png}"] +
           package(["jrpg-20*-*.tar.gz", "jrpg-20*-*.zip", "jrpg-windows-20*.zip"])
   cp files, "#{website_root}/jrpg"
end

# jrpg packages are not built automatically
# It is not possible, as Windows package needs to be build by hand
desc "Build jrpg packgae"
task :jrpg_package do
   rake_remote "../jrpg/", "package"
   mv package(["jrpg-*-*.tar.gz", "jrpg-*-*.zip"], "../jrpg"), "packages/"
end

# JRPG 2
desc "Build jrpg2 website and packgae"
task :jrpg2 => [:clean_jrpg2, "#{website_root}/jrpg2", :jrpg2_index, :jrpg2_files, :pub_jrpg2]

desc "Copy jrpg2 image and package files to website"
task :jrpg2_files do
   files = Dir["jrpg2/jrpg2_*.{jpg,png}"] + package(["jrpg2-*.tar.gz", "jrpg2-*.zip"])
   cp files, "#{website_root}/jrpg2/"
end

desc "Build jrpg2 package"
task :jrpg2_package do
   rake_remote "../jrpg/", "package2"
   mv package(["jrpg2-*-*.tar.gz", "jrpg2-*-*.zip"], "../jrpg"), "packages/"
end

# RLisp
desc "Build RLisp website (doesn't build package automatically)"
task :rlisp => [:clean_rlisp, "#{website_root}/rlisp", :rlisp_index, :rlisp_files, :pub_rlisp]

desc "Copy RLisp package files to website"
task :rlisp_files do
   cp package(["rlisp-*.tar.gz", "rlisp-*.zip"]), "#{website_root}/rlisp/"
end

desc "Build RLisp package (NOT TESTED YET)"
task :rlisp_package do
   rake_remote "../rlisp/", "package"
   mv package(["rlisp-*-*.tar.gz", "../rlisp/rlisp-*-*.zip"], "../rlisp"), "packages/"
end

Friday, January 12, 2007

Hello world of Chinese drawing


Non-computer art is fun. Unless someone's committed to spending rest of their life getting better at it, it's best just to accept that everything they make is going to suck big time. Have you accepted it already too ? Great, now we can have plenty of fun together.

A few days time ago, I got a 15 EUR special sale Chinese Drawing intro kit at Empik. It includes a solid ink bar, an inkstone, 3 small tubes of color paints (lemon yellow, cobalt blue, carmine), some rice paper, a CD with Chinese pop music, and a booklet with short tutorial and some pretty pictures.

Today I finally ripped the CD, and started drawing. Now, I actually tried something similar once or twice before, but back then my only idea was "Wow, this paper about converting 3D scenes into sumi-e-like paintings is so cool, I guess I'll just start drawing one without getting any more tutorials".

Other than that, this is my hello world. Like all hello worlds, it doesn't represent anything, I was just trying to get some idea how materials react. It's less trivial than I thought to handle ink and water right. From what I can tell, the bird-like thing and the moon-like thing suck most. The bamboo are kinda nice, especially since that's the first time I've ever drawn any.

Why the heck am I posting it to my blog instead of just trashing it ? In the future, it's going to be a great feeling to look back and see that I used to suck a lot more than I do now.

If you want to comment how bad it is, or anything like that, just go ahead. Getting bashed is a pretty good way of improving.

Friday, August 25, 2006

All your Pluto are belong to us

So cute by Gui, o gato from flickr (CC-NC-ND)Getting Things Done methodology is a great thing, especially the "Am I the right person to do it" part. What's the most amazing is how many things get done on their own if you follow it. One such thing happened yesterday. I had on my TODO list since like forever writing something on the Polish Wikipedia on Pluto's controversy as a planet. I mean - we can all see it's totally lame and it shouldn't be one.

So let's do some GTD on it:

  • Would it take less than 2 minutes ? Well, not really - documenting the controversy would take at least an hour or two.
  • Am I the right person to do it ? Oh yeah, why should I be doing it - wouldn't it be better to make IAU make Pluto not-a-planet instead, so I don't have to do any work ?
And it worked - I made IAU demote Pluto by sheer willpower, and I don't have to write anything about it now :-D

Now, let's delegate the "Free elections in Belarus" item ...

Tuesday, June 27, 2006

Robots


Last Saturday I've been on an MPI tour to Dagstuhl Castle. The main atraction were the robots.

Well, the robots were mostly playing football instead of more roboting activities like fighting aliens or killing all humans. The humanoid robots really sucked at it, the dogbots' (Microsoft Hellhounds) game was much more dynamic and interesting.

And there was a "robot girl" Lara. The point was to use some Nickel-Titanium memory metal instead of motors. That way it can be very light compared to traditional robots. And very energy-inefficient, so it's not like it's replacing traditional robots anytime soon. Because of energy problems Lara wasn't walking around too much, it just kicked a ball a few time, stuff like that.

Oh yeah, and there was a castle and some old ruins and some modern art gallery (including a few pieces of art made of vibrators), stuff like that.

Tuesday, June 13, 2006

A crash

I got hit by a car when I was cycling home from the university. The old bike is pretty much dead, with the frame and rear wheel requiring a replacement, so I got myself a new one.

I'm all right of course. It takes much more than a car to damage me :-D

Monday, May 29, 2006

Netherlands


I just got back from the Netherlands, visiting kim and the other guys there.

The answers to the most obvious questions, in order of the obviousness: yes, actually they do, no, no, yes, yes, yes, no, yes, plenty, yes, no, the latter, sometime soon I hope :-D

Of course you may have a different idea what's obvious and what's not, well especially the fourth question is kinda silly in my case. Oh, whatever :-D

PS. I would almost forgot about this one (probably due to the shock). The Dutch eat French fries with mayo. And it's usually plenty of mayo, some 5x more than the amount of ketchup people in other countries usually use. The funny thing - French fries with mayo are actually quite tasty.

Monday, May 15, 2006

Nighttime cycling season

The nighttime cycling season is now officially open.
Especially as the network is down again and I'm writing it as 3:45 am from the university ;-)

Here's a photo of a fountain at Dudo platz, near where I live.
It's rather lousy, but that's about how much one can get from a mobile phone camera. Maybe I'll get a real one if my application to Google Summer of Code gets accepted ;-)

For now, nighttime cyclists of all countries, unite ^_^

Thursday, May 04, 2006

I've seen the rings.


Today I went to the Romanian-Bulgarian night at the MPI.

The programme: some PowerPoint presentations, and traditional dances, both of which I found rather boring. Then some guy who played traditional Romanian instrument and was really cool. Then the food (pretty good) and a Romanian commedy Filantropica (imdb 8.7).

However the coolest thing was the telescope ^_^. There's one on the roof of the MPI building, and Andrei Lintu gave a short show, not really related to either Romania or Bulgaria. So I've seen the Saturn's rings, finally. They're really cool. ^_^

Wednesday, May 03, 2006

Hello, Kittens ^_^

This is going to be my new
blog. I suspect it will be full of long, boring, technical rants.

But that's not a good way to start a blog. I'm going to start with something nice and sweet, like ... kittens ^_^ (image from Cute Overload)

Oh, and here's a rant that convinced me to start this blog: Stevey's Why you should write blogs.