Archives

Tags

Showing articles with tag general. Show all articles

Learn you a Parallax for Great Good

A few weeks ago I gave this simple little presentation for Web Directions South, here in Melbourne. I'm a tad rusty (well, very rusty!), but I did enjoy the night. See below for video:

TOXIC TRASH - Forgotten Czech black/thrash

I've had a bunch of people ask me to rip this since I started waffling on about it. I apologise for the delay, but I finally ripped with decent quality.

MP3: http://www.andrewbuntine.com/music/ToxicTrash_mp3.zip

Unfortunately, I've never seen another copy of this in all my searching, but here is what I have found out:

Style: Black/Thrash
Country: Bratislava, Slovakia (still Czech when released)
Year: 1991/1992
Label: None/Private
Sponsor: Pring (Required for distribution in those times)

If anyone else knows more about this LP, please tell me. Smile I wrestled mine from the grips of an Austrian guy who'd found it 11 years earlier in a second-hand store in Prague.

I think it really deserves a place amongst the other Czech classics.

Enjoy!! Track #2 is a real scorcher, in my opinion!!

Front cover

Front cover

Front cover

A typical day in the office

We work very hard to meet our deadlines, but from time-to-time we just have to let our inner Ninja out to play.

Witchhammer 2.0 - coming SOON

Update May 13th: V2 is completed and available for download: https://addons.mozilla.org/en-US/firefox/addon/witchhammer/

I knew the day would come when the guys behind Metal-Archives.com would decide to unveil thier new web site. I specifically wrote Witchhammer in a way that would limit my headaches if the web sites HTML changed some time in the future.

Of course, that day has come! The new Metal-Archives.com is totally different. It's been rewritten from the ground up (as far as I can tell). The new format actually makes Witchhammer a bit more intuitive, but there are still a couple of issues (the MA JSON pseudo-API doesn't seem to respond to it's input parameters!)

I've been working sporadically over the past few nights to get the Witchhammer working with the new site. I am about 90% of the way through and should be able to deploy the new version some time in the next 48 hours.

Thanks for the patience. :)

Secure Inception

ssh root@localhost '\
  ssh root@localhost '\
    ssh root@localhost '\
      ssh root@localhost '\
        ssh root@localhost 'killall -9 wife'''''

Czech metal I NEED

I've been collecting Czech heavy metal LPs for several years now. There are just a few titles that I am missing. Some of these are so rare that only a few people even know they exist. The Sax Pijak is not so rare, but I still haven't got it yet.

I've seen some of them in photos and others I have been told exist from Czech nationals. The only one I have never actually seen is the Merlin "Nevada" LP (edit: Found it!). If anything has one of these, please let me know!

  • Sifon - 100 høíchù LP (self, 1991) - FOUND 01/06/10
  • Ultra Metal III LP (Monitor, 1993) - FOUND 13/05/11
  • TÖRR - Kladivo na čarodějnice LP (Monitor, 1993)
  • Alkehol - Alkehol LP (Monitor, 1992)  - FOUND 20/05/10
  • Alkehol - S úsmìvem se pije líp LP (Monitor, 1993) - FOUND 13/08/10
  • Arakain - Schizofrenie EP (NOT LP) (Suprahpon, 1991) - FOUND 23/03/11
  • Alien - Kino noc a kino den/Cesta všech EP (Best I.A, 1992)
  • Distorze - Distorze / Zrcadlo (Best I.A, 1990)
  • Distorze - Fuck of War EP (Private, 1991) - FOUND 03/02/11
  • Toxic Trash - Same LP (Pring/Private, 1992) - FOUND 10/11/10
  • Tarantula - Peklo pro všechny LP (Tony records, 1992) - FOUND 31/08/10
  • Merlin - Nevada LP (Monitor, 1991) - FOUND 17/08/10
  • Sebastian - Sny o Marii LP (Monitor, 1991) - FOUND 05/07/10
  • Mac Beth - Mac Beth LP (Best I.A, 1992) - FOUND 02/09/10
  • Sax Piják - Válka nervù LP (Sacred records, 1992) - FOUND 01/08/10
  • Kabát - Děvky ty to znaj LP (Monitor, 1993) - FOUND 09/08/10
  • Pathologist - Putrefactive and Cadaverous Odes About Necroticism LP (M.A.B, 1993)
  • Apolon - TVÁR SEBCA / ČACHTICKÁ PANI EP (Zeras, 1992)
  • Skelet - DOUTNÁ ZLO / MOR HNĚDÝCH KOŠIL (Supraphon, 1987)
  • Citron - Radegast LP (ZYX Metal, 1989) - FOUND 24/09/10
  • Corona - Naivka/Muzu ti lhat EP (Private/P&R, 1993)
  • Calibos - Calibos LP (Globus Intl., 1992) - Does this exist??
  • Trezor - V srdci tvém/Pìsti EP (Best I.A, 1991)
  • Hematit - Slabý boxér / Dvojka zo správania EP (Private, 1987)
  • Triumf - Žádnej soucit/Chci to mít EP (Supraphon, 1989)
  • Triumf - Věčnej boj/Tisíc tváří EP (Supraphon, 1989) - FOUND 25/10/10
  • Sing Sing - Sex Attraction LP (Multisonic, 1990) - FOUND 15/01/11
  • Kern - Women Hunters LP (Supraphon, 1991)
  • Kern - ZTRÁTY A NÁŘEZY LP (Tommü, 1993) - FOUND 10/04/11
  • Caravela - Self EP (Private, 1994)

New firefox extension: Quick ROT-13/47

ROT13 (that is, ROTate by 13 places) is a very simply substitution cipher that is often used in online forums, games and chat rooms. The idea was invented by Julius Caesar over 2,000 years ago (it was ROT3), but has been popular on the WWW since the '80s.

It works by rotating each character in a string of text by thirteen alphabetical characters, wrapping over to the beginning if necessary. For example:

Hello --> Uryyb --> Hello

As demonstrated above, one of the cool things about this simple technique is that it is it's own inverse. That is, applying the same filter twice will yield exactly what you started with. This, of course, makes it totally useless as a production-level encryption algorithm, but very handy for non-critical uses such as games and puzzles.

A very-similar alternative is ROT47, which applies the same concept to a larger range of characters in the ASCII set (94 to be exact: 33 to 127). This allows us to include several additional characters such as exclamation marks, commas, etc.

I've written a Firefox add-on, which allows you to select some text on a webpage, right-click it, and then generate the ROT13 or ROT47 substitute. From here you can re-apply the cipher and/or copy the new value to your local clipboard.

Please check it out and let me know of any problems you run into. Thanks!

Official download: https://addons.mozilla.org/en-US/firefox/addon/125128/

Or view/modify the source code: http://github.com/buntine/Quick-ROT13/

An assembler for the Bolverk machine emulator

After I finished writing the Bolverk emulator (source, implementation) in early 2009, I instantly had ideas about designing an assembly language for it's native instruction set. It sounded like an interesting project.

After reading the first few hundred pages of Michael L. Scott's brilliant book "Programming Language Pragmatics" during February of this year, I felt that I had enough knowledge about writing simple compilers (most assemblers are not really considered compilers, but shhhh) in order to get started. In fact, the whole process turned out to be far more challenging and rewarding than I would ever have guessed before.

An assembler provides a level of abstraction above the native language of the machine at hand. Most basic assemblers provide a one-to-one mapping between named instructions and native commands (generally ones and zeroes). Many more modern assemblers also support more advanced features like macro expansion and control structures over basic JUMPing.
With an assembler, we can now express instructions to Bolverk in atleast slightly more memorable instructions. This is the reason the primitive procedures defined in an assembly language are often referred to as "mnemonics".

Another great advantage of an assembler is it's ability to define arbitrary abstractions that defy the architectural restrictions of it's target machine. In particular, the bolverk machine specifies that only 4-bits are used to identify an instruction. This leaves us with only sixteen (0..F) possible options. If chosen correctly, these sixteen natives will be more than enough to define useful abstractions by compounding and naming them. As an example, the PVDS mnemonic used in the example below will actally compile to 3 lines of machine code.

With the finished product, we can now write something like this:

-- Print the sum of two decimal numbers (-10 and 120)
-- followed by an exclamation mark.
VALL 1, -10
VALL 2, 120
PVDS 1, 2
PVCH '!'

Instead of the very-hard-to-remember machine code equivalent:

21f6
2278
2421
5123
33a0
34a1
d1a0
d0a1
c000

The assembly version required only four instructions opposed to the nine required in the machine code version. It was also presented in much more readable manner.

Once we know the following semantics:

  • VALL: Load into register X the value Y
  • PVDS: Print to STDOUT the value of the sum of register X and register Y
  • PVCH: Print to STDOUT, the value of X as though it's an ASCII character

The assembly version becomes very easy to understand.

The source code is openly available from my git repository here: http://github.com/buntine/Bolverk-Assembler. I will add a front-end for it into the web-based implementation of Bolverk (linked above) in the coming days. I've also published the grammar and a language specification in the same git repository.

I feel that my work on this set of projects could really be beneficial in teaching the ideas behind a Von Neumann machine to beginning computer science students. If found by the right person in the right position, I think they could do wonders with it. If you are that person - please give me an email or some feedback! I'd happily donate all of my work to your organisation if it can be put to good use.

Simply Scheme: SICP for the rest of us

If you're like me, you've probably read the first 150 pages of SICP (The Structure and Interpretation of Computer Programs) about three times. Personally, I find that it starts out extremely easy, but quickly becomes difficult. After a while I find that I am still reading, but not a whole lot is making sense to me. It's as though there is an underlying peice of knowledge that the authors assume I possess, which I don't.

I am of the school of "SICP should be read by all programmers". But I think my exact statement would be: "SICP should be read, and understood, by all programmers".

If we take a look on Amazon, we will see the strange mix of reviews SICP has received thus far (stars/reviews): 5/89, 4/8, 3/8, 2/3, 1/53

What?? So, I guess this implies that people either LOVE or HATE this book. If you go through the reviews in detail, you can see that a lot of the 1-star reviewers are upset with the text because it's simply too abstract and they do not leave with any confidence. I feel it is also worth mentioning that this text has received an elitist badge in our industry. If you read it, watch the lectures, and brainwash yourself into thinking you understood everything, you are now part of the genius club and can start quoting Paul Graham and Peter Norvig.

Enter Simply Scheme (Brain Harvey, Matthew Wright. 2nd ed, 1999, MIT press). A fundamental computer programming textbook for those of us who have trouble tackling SICP (and also for the people who, out of fear, pretend they could). According to the authors, SS was actually written as a pre-cursor to SICP. This textbook presents all the major concepts in a much more digestible way than SICP. This is good news!

As a word of warning, it's worth knowing that SS does use Scheme, but it teaches a slightly modified version of it. You will learn effective program design, but not the inner workings of Scheme itself. I already knew scheme when I started this book, and it annoyed me a little at the beginning, but I quickly got used to it.

The entire text is available free on the web. Take a look: http://www.eecs.berkeley.edu/~bh/ss-toc2.html.

I have also spent a lot of my freetime publishing my answers to all of the exercises at the end of each chapter. You can take a look at my solutions here: http://github.com/buntine/Simply-Scheme-Exercises (perhaps you can fork me and juxtapose your own solutions??). I hope this can help someone in their travels.

So, once you get through Simply Scheme, you may be much better suited to properly tackle SICP and finally become a master craftsman!

Travel update #1

I had planned to post these more often, but hey, I guess I've been busy with non-computery stuff for the first time in far too long.

At the moment I am in Thailand, in Krabi Town specifically, a small-ish city in the south. It's near Phuket (which I did not like, for the record).

I've been on the road for about a month now and have loved (nearly) every minute of it. The first few days were a little rough as it was at that point I truly realised I was alone in a very foreign place.

At this point, I've seen most of the country. There are still some spots in central Thailand that I'd like to check out, but that will have to happen another time. I think my favourite place so far has been Chiang Mai, the proverbial "capital of the North". It's an ancient city with a laid-back atmosphere. Tomorrow night I am catching the overnight train up to Bangkok, where I will spend a few more nights.

On the 29th of December, I am flying directly to Munich, Germany. From there I will try and see as much of Eastern Europe as possibly can in 20 days (without rushing too much, of course). My only guideline is that I will need to be in Amsterdam on the 18th of January. At this point I will be meeting my younger sister, Grace, with whom I will travel through some of Western Europe (The Netherlands, Belgium, France, Switzerland).

At this point, I am feeling glad that I decided to travel alone. This type of radical decision really helps you come out your shell. I've met a lot of really cool people from all over the world and experienced Thai culture in a way that a lot of package travellers would never get to see.

Until next time!

Pages: 1 2