Posts about hacking

Upgrading Nikola: some pitfalls and how I climbed out of them

After some hacking of my dotfiles and python settings, I lost my nikola virtual environment (I think it broke after a brew update or something. The hacking's only partly recorded in the issues on GitHub).

But that's no biggie, just make a new one and re-install, right? Well, not quite. The re-install gives you the latest Nikola (great!) and that means I have to review and update my conf.py (okay...) and figure out runtime errors like this:

[src:?][mjl@milo:~/hax/net/blog/milosophical.me]
[07:27](nikola)$ nikola version
Traceback (most recent call last):
  File "/Users/mjl/lib/nikola/bin/nikola", line 11, in <module>
    sys.exit(main())
  File "/Users/mjl/lib/nikola/lib/python3.6/site-packages/nikola/__main__.py", line 171, in main
    _ = DN.run(oargs)
  File "/Users/mjl/lib/nikola/lib/python3.6/site-packages/nikola/__main__.py", line 339, in run
    self.nikola.init_plugins()
  File "/Users/mjl/lib/nikola/lib/python3.6/site-packages/nikola/nikola.py", line 1077, in init_plugins
    self._activate_plugins_of_category("SignalHandler")
  File "/Users/mjl/lib/nikola/lib/python3.6/site-packages/nikola/nikola.py", line 1233, in _activate_plugins_of_category
    plugin_info.plugin_object.set_site(self)
  File "/Users/mjl/lib/nikola/lib/python3.6/site-packages/nikola/plugins/misc/taxonomies_classifier.py", line 328, in set_site
    self._register_path_handlers(taxonomy)
  File "/Users/mjl/lib/nikola/lib/python3.6/site-packages/nikola/plugins/misc/taxonomies_classifier.py", line 316, in _register_path_handlers
    doc = taxonomy.path_handler_docstrings[name]
KeyError: 'page_index_folder_index'

(well, pooh).

I decided a while back that I wasn't going to meta-blog (otherwise most of my posts would be about blogging!), but I think in this case, Rule 4 will come to the rescue. Anyway at least you know this story has a happy ending, or else I wouldn't be able to add this new_post!

Read more…

Hacking Minecraft with Python

I'm having a play with Minecraft and Python, using the mcpipy library, a Minecraft server called CannaryMod, and a plugin-in for that called RaspberryJuice.

You can do all this out-of-the-box with Raspbian on a RaspberryPi, but I wanted to set up my home computers also. Here's a quick run-down of the steps I followed.

Fixing Java CA Certificates on openSUSE

Recently switched back to openSUSE after a brief stint with Ubuntu. I guess you need to try other things out to know how good you have it, eh?  Anyway, I'm playing with Leiningen and Quil, but for some reason or other, I could not get Leiningen to self-install, because of an exception:

java.security.KeyStoreException: problem accessing trust storejava.io.IOException: Invalid keystore format

It turns out that the java keystore is somehow corrupt on OpenJDK / openSUSE 12.3. Not sure who's at fault, but here's how to fix it.

Read more…

Install Emacs24 Snapshot on Debian, Ubuntu and Windows 7

I just can't wait for Emacs24 to be released! (I know, it's in beta and it'll be officially released Real Soon Now, but my catalyst is Technomancy's ESK2 which is such an improvement over ESK1, and it needs Emacs 24).

In my last post I had steps to build emacs from source-code. This is worth following for hacker cred, but it soon gets tedious if you have a lot of systems to put emacs on. As pointed out by a few readers, there are some snapshot builds available for different platforms. This post lists steps for installing the pre-built snapshots, for the three operating systems that I use.

Read more…

Build and install Emacs24 on Debian squeeze

Hacking in Debian is so easy (one of the reasons I switched). Take, for instance, building Emacs. This is such a piece of cake compared to the weird hoops you have to go through to get all the build dependencies on other platforms. It's something I never tried before, simply because it was too daunting trying to figure out all the packages I need to install. But apt-get has this awesome --build-deps switch...

Read more…