Loud

May 31, 2009 · Posted in Blog · Comment 

Yesterday was the second day of Neurotic Deathfest, a 2-day death metal festival in 013 here in Tilburg. I visited yesterday (didn’t go the first day though).

The tickets were not that cheap (~ 35 euros, not counting food and drinks), but considering the number of bands (16) and the duration of the whole thing (I was at 013 for about 8 hours, probably more) it’s good value for money. Even the merchanise – there was lots of that being sold – and the food were reasonably priced.

I mostly stayed near the main stage most of the time, where 6 bands played: Severe Torture, Aborted, Illdisposed, Brutal Truth, Entombed, and finally: Behemoth!

Except for Behemoth, I barely knew any of the bands that played so it was kind of a gamble for me there – but it turned out really well. I didn’t find Brutal Truth that great (their drummer was funny though, he sat there in his underwear and made really weird faces), other than that the stuff I didn’t know was at the very least enjoyable :)

But then came Behemoth – a band which I’ve been wanting to see live for a long time – and it fucking kicked ass.

The songs they played included Slaves Shall Serve, At the Left Hand ov God, Prometheon, Demigod, From the Pagan Vastlands, Chant for E schaton 2000, Christians to the Lions, Antichristian Phenomenon, Decade of Therion, Slaying the Prophets ov Isa, and probably some others I forgot to mention. In other words, it REALLY kicked ass :D

What’s more, in the end I was in reasonably good shape considering the circumstances: I could still hear pretty much normal, my head was still attached to my neck, and my voice was still where it’s supposed to be. Pretty good evening :)

I’ll see if I can get my hands on some pictures, and assuming I do, I’ll post the link here.

Unfortunately it doesn’t look like there’ll be a whole lot of stuff worth going to in 013 for a while… but two things I am considering to go to would be October 27th in Zwolle (Cannibal Corpse, Dying Fetus, Evocation, Obscura) and November 3rd in Enschede (Behemoth, Devildriver, Scar Symmetry, Arsis). But we shall see :)

Danger

May 15, 2009 · Posted in Tech & Server Management · Comment 

I’m playing around with the server configuration right now. If something appears to be broken/slow, don’t panic, it’ll (probably) be fixed soon :)

French

May 12, 2009 · Posted in Blog · Comment 

This tweakers.net article tells about the French government having passed a law allowing them to cut people who download copyrighted content off from the Internet. This just proves again that the French are just plain weird.

Especially the clause stating that even when cut off those people will still have to pay their monthly fees to the internet provider is just ridiculous. As is the idea that the person who pays for the connection is responsible for what is done over it. Very few connections are used by only one person nowadays, and many of them are on insecure wireless networks.

And no, I do not think that not doing anything about the problem can be justified (and neither can the ridiculous salaries some people from music labels (etcetera) receive). People worked hard to create something, they expect to be paid for that, and they should be. But a ridiculous approach like this is not the way to go :(

(For instance, just try making stuff less expensive… I have no objection against buying software and I regularly buy software if I think it is worth buying, but only so long as the price of the software is justified. Cost of development is no excuse, a lower price will lead to more sales and therefore provide at least as much income.)

A democratic government should represent the people. If it does, any decision the government makes can logically never be a controversial one, since the political ideas of the government and the people are the same. But that is clearly not what’s happening here. Apparantly the French government is no longer representing the people, and should step down right away because of that.

A similar issue I read about recently was a proposal to censor child porn websites. While in principle I have nothing against removing child porn from the Internet, it’s the censor – based on a non-disclosed list of blocked websites – that I don’t like. It is merely the first step towards blocking other content as well. The Internet is a free, open source of information and should always remain so :)

(And of course, the Chinese government could learn a lot from that… they say it’s to protect their citizens, but if everything on the internet is so damn bad for the Chinese, why don’t we just cut off all Internet connections with China? Then they no longer have any bad content to worry about, and the rest of the world won’t miss it either as most Chinese domains contain viruses/malware, or are written in a language that nobody outside China understands.)

Playing (part 3)

May 10, 2009 · Posted in Blog, Electronics · Comment 

Wheee! Things are starting to take shape on my little PIC project here :P

The code to control a character LCD is progressing nicely… it can now automatically align text on the screen and stuff like that. It’s also handling custom characters quite well. The nice thing with these screens is that you can display most ASCII characters on them, but also a number of customized characters (which are displayed by using the ASCII values that are normally non-printable characters, eg 0×00, 0×01, 0×02, etcetera).

Obviously, since I’m working in C the 0×00 one can be a bit of a problem at times, because in C it’s also the string termination character (but I can still send a 0×00 manually to the screen… so no big deal).

Also, in addition to powering the LCD, I also have a flashing LED once again! Only this time, it’s flashing at a pretty accurate 1 second interval, and is doing so using timers and interrupts. Once every 50 000 microseconds, an interrupt tells a variable to go up by one; once it reaches 25, we know that a second has passed :)

(If you’re wondering what the hell an interrupt is: when certain events happen, such as a timer reaching its maximum value or the state of a pin changing, that may generate an interrupt, at which point the processor jumps to a certain location in the program to handle it. Basically it’s calling the processor’s attention away from whatever it’s doing to handle something that is urgent and which probably should be handled right now. Afterwards it’ll get back to what it was doing before the interrupt happened. It’s like you’re walking in the grocery store and your phone rings: you stop to pick it up, and when you’re done you continue shopping. It’s the same principle really (you’re the processor, and your phone just generated an interrupt to get your attention to the fact that someone’s calling you). Your PC also does this, but you don’t notice it normally.)

That may seem a bit elaborate, and well, erm, it is elaborate, really. It takes a good amount of code, as well as a bunch of calculations to make sure that the timer runs properly. But I’m learning the PIC to tell what time it is, and I’m just using the flashing LED to make it indicate to me that a second has passed. For some reason that remains unexplained sprintf() doesn’t seem to be working (and it’s a bigass function too… you’ll probably never notice it on a PC, but on a PIC the size of it is significant), so it’s going to be difficult making it actually show the time. But I’ll find a way :)

Playing (part 2)

May 7, 2009 · Posted in Blog, Electronics · Comment 

As I mentioned in my post ‘Playing’, debugging PIC software is quite often not nearly as easy as debugging PC based software. My (current :P ) lack of experience with both PICs and C didn’t help a lot either. Though I have managed quite easily to pass the ‘hello world’ equivalent of blinking a LED on and off, the next step – actually displaying ‘Hello World!’ on an LCD – was less easy.

I had the basic code for writing instructions, and the actual instructions, to the LCD correct. It’s a standard 16×2 character LCD with a HD44780-compatible controller (you can control one of those using the parallel port on a PC actually). I have a great little simulation tool which has a module to simulate the display, but of course I couldn’t take the easy path for my actual hardware implementation.

My actual hardware implementation was a bit more tricky, because I wasn’t connecting the LCD directly to the PIC as the simulator assumes. I’m using a shift register for the data lines, which greatly reduces the number of pins needed on the PIC, which is good news because it doesn’t have a whole lot of I/O pins. I had a couple things wrong in sending data out of the shift register. (Basically, a shift register is a simple chip that accepts a serial input (2 lines) and translates that to a parallel output (8 lines).) It may have included sending the bits in the wrong order.

Obviously, because the instructions that did arrive at the LCD arrived in reverse order, they didn’t mean a whole lot and the most interesting thing I was able to do was blink the backlight on and off.

But a bunch of LEDs and some added delays allowed me to see exactly what was going on, and now finally, I have a display that shows ‘Hello World!’ :D

I’ll take a picture later.

(And, further debugging should be relatively easy, because I now have a way to let the PIC tell me what it’s doing :) ).

And another thing… There’s a new menu item on the top, ‘PIC programming’. I’m writing a load of PIC-related stuff which could possibly be interesting to someone. Partially because even at this point, where there isn’t much actual content in it, it’s already gotten me up at least 5 ranks on WhatPulse (I’m 803rd of the world as I type this ^^). For the moment it remains inaccessible to anyone but me, but some day… :)

Fucking terrible

May 3, 2009 · Posted in Blog · Comment 

I am NEVER touching anything from Western Digital again.

Well, except maybe for the purpose of destroying it.

I have two of their wretched pieces of shit that they dare to call a hard drive, both roughly a year old. One has completely failed about a month ago and the other one seems close to doing exactly the same. I managed to rescue nearly all data from the first disk, and I’m evacuating the second one right now (to whatever spare disk space I can find; those two disks made up the bulk of my storage space).

Using these pathetic excuses for a piece of hardware is utterly impossible without getting a very strong urge to throw them out a window from the top floor of the highest building you can find.

Die, WD. Die the most slow and painful death you could possibly imagine. Then come back from the grave and die the same death again. Repeat until the end of time.