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

Sunday, May 13, 2012

New jrpg packages available

I am sleepy... by black_eyes from flickr (CC-NC-ND)
jrpg is an awesome game, but it suffered from a bit of software rot - I didn't update it for years and libraries used by it worked less and less well with new graphics drivers etc.

I did some minor updates and repackaged Windows version for Python 2.7.3 and Pygame 1.9.1. You can now download fresh packages from jrpg's website.

Please test it and if you have any problems please report them.

py2exe replaced by pyInstaller

Unfortunately since the time I last updated jrpg, py2exe got pretty much abandoned - they still don't have Python 2.7 packages.

I searched for replacements, and the one that seemed most promising was pyInstaller - it even had an added bonus of working under both Windows and OSX (and even Linux, not that Linux users actually need that, or I'm going to bother packaging 20 different versions of jrpg for each distribution).

It just suffered from two problems:
  • It crashed on OSX
  • It crashed on Windows
Which made it sort of not as useful as it might otherwise be.

I finally managed to fix source of the Windows crash, so there are now new packages for you, but still no OSX version.

It was a fairly classic case of "Python people don't write unit tests", since any kind of unit testing, even "run program with no arguments, see that it doesn't crash" kind would find this bug. The biggest difference between Ruby and Python is not technology, it's Python's pathological culture of One True Way To Do Things Even When The One Way Is Fucking Wrong.

So happy about fixing the bug, I tried to submit the patch, and then:
  • pyInstaller's bug tracking server crashed on me (and I tried a few times)
  • pyInstaller's mailing list bounced emails saying it doesn't exist
The fuck is wrong with this program? It just doesn't want to be fixed. Hopefully email I sent to one of maintainers directly worked better.

OSX support

Since OSX doesn't have real packaging system, people have to use crap like FailPorts, and of course jrpg does not work with Python and PyGame installed with FailPorts. At least not for me. With FailPorts you never know, you might be more lucky.

If you want to use jrpg on OSX please download Python and PyGame packages from their respective websites, install them, extract jrpg's source package and run that (jrpg.py that is).

I'll give making one click OSX package another try sometime later, but with track record of Python packaging programs so far, I wouldn't be holding my breath.

Friday, May 11, 2012

Polish Dvorak keyboard layout for OSX

ctrl++elfie by djenvert from flickr (CC-NC-ND)
This is something I should have done like three years ago, but better late than never.

I created Polish Dvorak keyboard layout for OSX and I put it on github repository with installation instructions.

Unlike with Linux Polish Dvorak layout, where altgr-bindings exist only for Polish characters, in this layout pretty much all keys have altgr-bindings. They are mostly mathematical symbols I copied over from standard OSX Dvorak layout. I have no idea if they are actually useful, so if you have a good reason why they should be something else go ahead and message me.

There could also be bugs, so please report them. And since I have a nice repository going, feel free to send me any other custom keyboard layouts you've made.

The process wasn't that bad - it's XML file and there's even an usable third party editor application for them - Ukelele. I remember back when I used Windows and such things required hexediting binaries. These were the days...

Tuesday, May 08, 2012

How to setup Google Chrome

Just like operating systems, web browsers are close to useless out of the box. In fact web browsers are even worse since web comes with adware all over the place, and you need to take active steps to remove it, while operating systems only get adware if you accidentally forget to deselect some checkboxes while installing software.

By the way Steve Jobs wanted to change it - and have ads displayed by the operating system when computer starts - fortunately he got cancer and died before he could follow it through. There's justice in the world sometimes.

Get rid of ads

This step is more difficult in Chrome than in Firefox. First you need to go to Chrome settings: chrome://flags, select enable "Experimental Extensions APIs" and restart Chrome. That's the only restart you'll ever need - unlike with Firefox you won't be restarting after every single extension is added or removed. (oh by the way, Chrome doesn't like you clicking on chrome:// links from "untrusted" websites, so copy and paste them or something)

Now go get development build of Adblock Plus, click confirm a few times. You're still not done yet.

Now go to Extensions page (chrome://extensions), select options for Adblock Plus, and make sure "Disable inline text ads" is enabled as well.

And hurray, Chrome is finally usable!

Making websites less awful

Even without ads, many websites are ugly as hell, or awfully designed, or both (like Google everything after Google+ forced redesign). It's a good idea to go to what Chrome calls "chrome web store" and check if there are any extensions for websites you're frequently using.

Usually there will be more than one, but here's good news - you don't need to restart Chrome to test them, just install them all, open Extensions settings in a new tab, and selectively enable/disable them and try their options. Once you're happy with your choices, uninstall all you don't like completely. Oh, and as a service to others please review extensions you're using as well.

Here are a few recommendations:
  • Reddit Enhancement Suite. It's not on web store for some reason, and requires a bit of customization, but it's such a huge improvement over default reddit you'll never go back (unless you're quitting reddit to have time for everything else in life that is, yeah that's a good idea as well).
  • soup.io bookmarklet - pretty much a must-have if you want to post things on soup, nobody does it via website.
  • 4chan Plus - a lot of nice minor fixes.
  • Google Reader - old Google Reader was just fine, but they had to break it. This extension sets up neat minimalist design where you can focus on reading stuff, not on Bullshit+. (by the way once you install it right click on "gr" button in toolbar and select "Hide button" since it serves no useful function)
Now a very interesting extension is Stylebot. It lets you easily and conveniently do website-specific CSS fixes.

Now conspicuously missing from this list are other Google services. For Gmail there aren't any good extensions, but here's a guide how to make it a bit less awful from Gmail settings (works in any browser). For Google+ there is no hope. Some extensions tried to make it slightly less awful, but since Google CSS and HTML is auto-generated from some Java bullshit and not human or machine readable, it's really hard to write anything that makes it anything but atrocious. At least it's not Facebook.
SDC19275 by Mr Thinktank from flickr (CC-BY)

Everything else

One feature nobody knows they need but to which you'll get used really quickly is endless scrolling (like on soup) on every single website. (well, >95% of them) To get it install FastestChrome extension, then go to its options and disable everything except "Enable Endless Pages" (and perhaps "Linkify text urls" and "Add related articles to Wikipedia" if you wish).

If you do any kind of web development, you'll want Firebug Lite. It's nowhere near as good as one for Firefox, so even if you do most of your browsing in Chrome you'll probably keep using Firefox as your main development platform, but you'll have Chrome-specific issues to fix, and it's pretty much necessary for it.

If you use Gmail you'll probably want Gmail notifier - there's ton of them with extra features (and not one which handles Important email differently from other email without entirely ignoring non-Important email altogether, for fuck's sake, that's like the best feature of Gmail...).

This one seems to be pretty decent. But you need to go to options, Notifications panel, select "Disable notification sound" and deselect "Show desktop notifications". Number of unread emails is notification enough and you can click on the icon for email snippets. And while you're at it pick some better looking icons.

There's an interesting extension StayFocusd if you have trouble focusing because you spend way too much time on certain websites. It works until you figure out it takes 5 seconds to open extensions tab and disable it. At least that's one thing where Firefox is better - in Firefox you'd need to restart your browser.

The final thing you may want to try is Ghostery - it removes various tracking cookies to give you better (illusion of) privacy. I'm pretty sure Chinese Military Intelligence had my computer bugged so I don't really care all that much anymore, but you may feel different, and it's pretty easy.

Oh, and I'd almost forget. Go to DuckDuckGo so Chrome reads its search information, then go to Settings for Search Engines and give it a try as your default search engine. I'll write a post later explaining why it's a good idea. And if you don't like it, you can always switch back to Ask Jeeves or whatever you've been using before.

Coming soon

My guide to setting up Firefox stopped just before they switch to dick size version numbering. An updated guide to Firefox BiggerNumberThanOtherBrowsers.0 is coming soon.