Sunday, October 18, 2009

Windows Speech Recognition

I've been mainly enjoying Source-games now and returned to posting on the Steam forums. I have to say there were times when the Source Coding-section was far more active.

Anyways, I wanted to play a Multiplayer-game and gone through the settings to discover that my microphone is too quiet. I've searched for the settings in Window (well, and found them quickly) but stumbled upon the "Microsoft Speech Recognition", which I had to try out immediatly.
I probably wouldn't use it in my daily live, but I thought it might be fun.

The tutorial was very easy and promising, but after it was finished it was a hell working with it. When I gone through the tutorial you are supposed to say a bunch of things and it shows you how it should react then. I wanted to quit it half-way through as I thought that I'd know enough to navigate now, but then it said that the Speech Recognition will adapt the longer I work with it and it already is adapting as I train in this tutorial, so I continued since my spoken English is probably only half as good as my written one - which also is not perfect - as I train it less; I mean I write and read English all over the internet and usually play games & films in English, but I rarely have the opportunity to actually speak it.
Dictating works okay, until I wanted it to write C++, which it interpreted as "c plus plus" and I simply couldn't correct it. It also understood "eat it" when I said delete and when I said "select ..." it wrote the whole thing, instead of selecting all the words. It's probably there for selecting only one word - but why?
And it also had problems with my way of saying "Google" when I wanted to switch to Google Chrome - which I finally selected with my mouse and was quite unable to click any links!

I also wanted to say that I had the 3 posts "I'm back online" to "My right foot" prepared while I had no internets. There shouldn't be one mega-post again, so I separated them and to not make a 'virtual mega-post' I also waited 5 days between each post.
I actually had a forth post prepared for that, but I'm too lazy to plug the old drives back in and copy them (I have too little energy-cables on my PSU (=Power Supplying Unit) to power more than 2 :/).

Wednesday, October 14, 2009


I'm back on Windows. I'm making this very post in Windows 7 on my current machine.

To not waste CDs (yes I know there are RWs.. still) I made up my mind about using a VM. So I booted up my Sidux Live-CD, installed virtualbox and mounted the Ubuntu-image as a CD-drive.

Why? Because I can :P
And after booting up Ubuntu, updating and installing some essentials I installed Windows 7 through Virtualbox.
Why? Because I f-ing can, that's why! :P
And you can do stuffs while it's loading :)
Well, now it's on updating, installing drivers, downloading Steam-games and getting back in touch with friends.

Also, 3 posts today.

New Linux

Well so I decided to get Ubuntu.
The Frugalware-site is still down and although reading through the Arch Linux Beginners' Guide, from which I noticed that it's not really hard, as long as you can work through a cli, I decided to be lazy. Arch Linux takes a minimal approach and I think I can allow a few extra megabytes as opposed to some work.

I also said that I wanted to try and compile GLib myself. Well, there doesn't seem to be a official mirror of that library, nor its source-code.
Is it just some open specification with no available standard implementation?

Ubuntu should be a good trade between Debian stable and testing. I mean I've already used it and the only annoying thing was the loads of pre-installed applications. Although that was Kubuntu I don't think that Ubuntu is that different.

New harddrives + Sidux

2x500GB shipped four days ago. And yesterday I build them into my system.

Before that I downloaded the newest Sidux-CD and burned it. After plugging them in, I installed it.
Sidux is a Linux-OS based on Debian Sid. It's basically just a Live CD version of it with some few additional features.

I was quite happy with it. Not much different from Debian Lenny for a normal user like me. Except I could already see that the software was more up-to-date :P

There's a downfall though: Old libraries don't seem to be supported. Well, Debian Sid warned that it is an unstable system, but I thought I'd be fine with it. I don't know if that is permament of or if simply still has to be ported. Two examples being Gtk1.2 and GLib1.2 (part of Gtk basically).
I noticed when I tried to compile some program using Gtk. Using apt-get I downloaded the version 2.0 to see few moments later that it needs version 1.2 and I was a bit surprised not seeing it in the package-list.

After a bit of googling I found out that it's simply not available for Debian Sid, testing or Sidux. I tried downloading the source and compiling it myself, but it depends on GLib1.2. I didn't try downloading and compiling that, but I guess it'll result in another bunch of errors. Maybe I'll try today after having gotten some sleep.

So well, it's either waiting for the support of these old libraries (unlikely), trying to compile it myself (I'll see about that.. and might still switch (see next point)) or getting another distro. As I havn't really done much yet I can still easily change.
I was thinking about some Ubuntu (either that or Xubuntu). Definetly not Debian stable again, as it's just not for people needing up-to-date software but rather for servers or administrators.

I've gone through the list of Debian derviates and found one interesting called Kanotix; but their last update was Janurary last year?!
I guess what I mainly liked about Debian is the Package-manager. Pac-man seems to do about the same job, so I looked up Arch Linux, but I heard from several sources that it's a distro for advanced Linux-users.

Then I found Frugalware. Their website seems down atm, but maybe they're updating their servers or something. I read about it in Wikipedia (here).

Well, so long. Also, I included quite some links in this post, LOL!

Thursday, October 8, 2009

My right foot

Last year - well about 14 or 15 month ago - I had ab accident with my left foot, which caused the ligament to be overbend.
This year I've got about the same thing on my right foot, only that they`re not just overbend, but torn.

That actually happened about 4 weeks ago and I forgot to blog about it (shitty network failing), but anyways, now you know.

I remember it hurting like a bitch and then sitting at the waiting room of the hospital for half an hour since all doctors were sleeping and they had to wake one up first to drive there.

After he looked at it, he wasn't quite sure what it is and gave me a bandage and crutches (lol, I just had to look up the word and the first thing that came into my mind was "crotches"), saying that I shall have a doctor looking at it again in two days.

So yeah, two days later, after shool, I visited a hospital again to let it being looked at. I waited for about half an hour - again :P - and the doctor said, that he'll need another X-ray (already gotten two 2 days ago, but he wanted another angle) as he's also not quite sure.
Waited a bit more, was x-rayed, waited some more, got the picture, waited a very long time (about 3h ffs) and the doctor couldn't tell by that, so he took the left foot, shoved the sole a bit forward, took the right foot, which popped a little at a point - hurt like hell for a second - and he said that my ligaments are torn.

But since my foot was swollen quite heavily I needed to wear a static bandage (I really have no idea how to call it) for a week and place my foot high when possible.

Well, now I have a splint in which I can walk. It was a real bitch getting up stairs without the help of my right foot (in school up to 3 etages at a time! 3.5 times a week! (this week 4 times :/)), but well, I made it. Getting down also wasn't too easy.
My left leg now probably has a better muscle than my right one :P Guess that'll get a bit more equal again at some point. You can't really see it anyways, but it bugs me to know it...

I can walk quite good now. Getting down stairs is still a litte weird, but that might just be that splint, which should prohibid me from moving the foot into certain angles anyways.
I'm looking forward to the 23th of this month, since the doctor said that I should be doing fine without that thing. Well, fine as in still not being able to do sports, but not too dangerous to tear them again relatively easy.

Saturday, October 3, 2009

How do people come up

with creative titles? Sometimes I just know one and use that, or I am simply stumped and write something stupid like just using it as the beginning of the first sentence.

Anyways, I've been watching the Matrix-trilogy while I had no internet. I had a few problems at first, since I could watch other DVDs, but not that movie. Turned out - using my fathers laptop - that movie-DVDs usually use an extra encryption called CSS.
Well, I downloaded the packed and then the problems were gone :D

I've noticed that I've gotten much more critical and demanding from movies.
While when watching them the first time I did spot a few weird things, but didn't care about that. But this time it just felt wrong; why didn't the machienes - as they knew that they'll wake up - put them in another Matrix in which they'd think to be in reality?
And another biggie: they can't reset the Matrix, lol.
Also, if the humans have enough energy to power Zion to have lights and warmth, to fly around with hovercrafts, power computers and these war machienery, why don't the machienes use it? And why don't they just built a floating powerstation to go above the artificial clouds?

But oh well, still a great idea and a neat-o movie.

And another thing I did to waste time while not having Internet is downloading the NCurses-library and a tutorial via my fathers laptop and working a little with it.
I planned on making a rogue-like at first, but I thought Tetris would be easier.

For some reason I don't quite remember I'm coding in standard C90 and so far only used one POSIX-function (nanosleep). Everything else is portable (I'm compiling with -pedandic-errors ffs - and -ansi for that matter (gcc)).
Well, the exception being NCurses ;)

And, well, I ran into a little design-issue concerning rotating pieces. At first I was having a 4x4 color-map inside a tetris-tile.
On creation it would simply take a 4x4-array of a form (I call them L, inverse L, T, S, Z, I and box), represented as 1s and 0s like
0, 1, 0, 0, /*I*/
0, 1, 0, 0,
0, 1, 0, 0,
0, 1, 0, 0
and multiply a random color with each element to store it in the tetris-tile color-array.

While rotating the I can be done with a bunch of xors and the T simply by moving each edge one further, the L and inverse L are more of a problem.
At first I even forgot about S and Z lol. Anyways, it was easy to add them, as - although being hacky to be quite efficient - it is modular.
It kinda bugged me that I'd need a variable indicating the rotation just for L, invL, S and Z and having dumb functions for them to rotate.

So then I though of another approach, which at least is the same for every piece (well... almost):
Having all formes in a const array, at first the non-rotating box, then the two-state I, S and Z and finally L, invL and T with 4 states.
A pointer to a function will take care of rotating correctly then.
Each tile has a color-variable and on rendering both, the color and the form, will be brought together.

My current solution is having a state variable and depending on that reading the array in another way, such as swapping the two indecies or reading from back to front and thus flipping the tile.
Not too sure it'll work correctly, because I didn't code the render-function yet, but I'll see.

If that doesn't work I'll use function-pointers so the tiles themselves decide how to render (these will be called on rendering, so that function renderes them, not the render-function itself).
...I'm not really too well educated about C concepts :S

Since I was working with bit-fields, which means that you decide how many bits to use per variable, it seems fitting to store two tiles in one struct to have 8 bits full.
That's pretty much perfect, since you have one tile you control and a preview to the next tile.

Hacky, therefore efficient. Not really proud about it being hacky, but at least it shows that I make up my mind :P

Also, inline-functions in headers are very wierd in C90 :S