Thursday, 27 August 2009

Computer magazines and new generations

I am holding a greek computer magazine (PC Master) in my hands which recently celebrated the twenty years since it's initial release. Except from the massive articles on the history of the magazine and the software and hardware technology evolution since 1989, a PDF of the first issue of the magazine is offered in it's DVD. Browsing it's pages brought back a feeling of astonishment and made me wonder how things have changed during the years and the magazines aren't what they used to be.

My astonishment is not on the technological changes but on the shift in contents of the greek (and I suppose foreign too) computer magazines since the beginning of home computing. The phenomenon that I will describe can also be seen in other greek publications like Pixel, User and others (I am just browsing some of them in a forum archive on retromaniax website).

First of all listings. I remember several big listings of programs written in basic for various 8bit computers in Pixel magazine. The only bad thing with these listing was that they were given without explanation and you just had to type them trying to be careful not making any typos or you would get Syntax Error messages (at least on my Amstrad CPC) and not being able to know what the mistake could be (because you wrote the code blindly). Not a good way to learn programming but maybe that's where I got use to type so fast and blindfolded on the keyboard. But the astonishing thing was that the magazine devoted something like 30% (if I am not mistaken) of it's pages on programming listings! Nowadays magazines might spend two pages on visual basic programming (if they bother to have a programming column at all) because they need all the rest for game reviews and what hardware to buy advices. I will get back to this (even if the reason is obvious).

The first issue of PC Master (and the following issues for several years) except from the main articles on news, hardware and game reviews (which didn't take the majority of the pages) had at least three programming articles with a good amount of explained code (at least as much as it possible in few pages) in Basic, Pascal or C and an article explaining some DOS commands among others. The quality of code was more advanced than what you can find today in the two pages visual basic article when a magazine bothers to include one.

What astonished me even more was the column with reader's letters. The vast majority of the readers were asking things about weird DOS commands, batch file making or programming questions. What astonished me was the quality of the readers. Many of them were people experimenting with their computer. Compare this with a common type of letters in the same magazine after twenty years: "Hello, I have just installed Crysis but it's too slow on my GF8600. Should I get a GTX?". If it's not about games then it's something stupid like "Hi dood, I liekd your H4CK TH3 PL4N3T column. Ona day I wanna be the best haxor in teh world! Greetinx, Cyberg0d!!1". Oh yes, I have just noticed that they have a new column called "Hack the Planet". But no columns trying to revive the old good programming curiosity..

What is the thing that changed? It's rather obvious. First of all remember that the people who had a computer and spent hours with it in the past were mostly geeks. Computers were not mainstream, it wasn't everyone's business. The majority of the readers were more than gamers. Many of them might have started from the early 80s when most of the 8bit home micros of the time were coming with basic at boot. It was inevitable that out of curiosity someone would try to code something in basic and there were even big chapters in the manuals that came with the machines, dedicated in basic programming, system calls and maybe even assembly. Later on the PC, the environment was a boring black screen and sometimes you even had to change your CONFIG.SYS manually to get that desired free memory for running a specific game. Still, an operating system not attractive to the majority of the people.

And when computer graphics became more attractive, the operating system more classy and internet was a commonality, that was the moment where what consisted a computer user changed. Actually nothing has changed from the side of the geeks and hobby programmers. They still exist, you can find even exceptions of younger people getting interested in real programming instead of just playing WOW. What has changed is the majority of the readers. Today, most of the people who have a PC and spend hours in front of it are playing games, watching movies or youtube videos, surfing the net, updating their facebook status, downloading MP3s or just composing a document in word. Most of the people who might install a compiler and write a programm for a while are doing it in their studies or job. And only very few of them are also doing it as a hobby. It's quite logical that in our modern days where the majority who is interested in computers prefer the mainstream and fun stuff instead of programming, that the magazines of the same era will prefer to cover the same subjects that will motivate most people to read them.

So, the shift of the subjects covered in the new magazines compared to the ones two decades ago, mirror the change in quality of the majority of the people that own a computer. Also, the very few true programming geeks (that are lost in the swarm) do not need to read a magazine for their needs since they can find everything on the internet. Hobbyist programmers that remind me of that good old feeling of the old times, do exist in underground communities like the demoscene, linux, homebrew console developers and other communities. I just felt for a while an awe reading that first issue of 1989 and then a disappointment. But it's to be expected..

p.s. Another subject that I would like to write next time is about programming and the youth. Is it harder for the new generations to get dragged into programming than in the past? Is it odd that whenever I have a conversation with students of informatics here in Thessaloniki, most of them confess that they dislike programming? (even those who have taken their diploma). Or that (as a friend told me) most males are bragging that they are great hackers while they know shit about programming? But this phenomenon is to be analyzed in another post..

Monday, 17 August 2009

Little drafts of coding

I had fallen in the deadliest coding inactivity ever. Since my last demo on Breakpoint (that was April or May I think?). But it was a bit of relief from the obsession of coding demos for a while. Although I wasn't in the mood for coding anything else. Though I was making some applications for university studies and other stuff that occupied my time anyways. Funny thing is that between my hobby activities, job and private java lessons to a student, the last one was surprisingly the best coding activity I had. Yep, my job is 70% about picking up phones and teaching or supporting users of our applications and only 30% about coding. Make that 5% because the rest 25% is spend from my side on slashdot, pouet, youtube and blogs.

I got a little inspiration lately. I opened Shader Designer and made a Plasma. LOL! It's always plasma for a start for me. To stretch my coding muscles and remember what I didn't touch for more than three months :). It's nice that with such programms as shader designer you can play with little shaders for fun and then be inspired to open the compiler and try something more serious.

Well it's still 2D. I am eager though to go on 3D. I have some inspiration to try and see how the old 2D software effects will look like on shaders and what kind of difficulties I will go through. I already tried plasma, polar plasma, radial blur and box filter, fractals, etc (those on my first shader demo).

I retried plasma and here I solved some mysteries I had about something. When I wrote the first shader demo it was very slow even in GeForce7 cards. And then I remember masterpieces like Lifeforce claim to be written on a GeForce5600 and running fine on my Radeon 9600 pro. I was wondering, if I write some plasma with only three sines per pixel added and it gets 30fps on my Radeon (when I did the quantum retrofuture demo I didn't had this old card, I had an HD3650 and so I didn't bump into much optimization issues). Which is ok but thinking about the heavy shaders use on demos like lifeforce I wondered how they could do shader demos on such old cards? I also tried something simple: Will the old techniques (sine precalculations, look up tables, etc) give an improvement here? I only had to generate the precalcs and load them in 1D textures. And they did. I got 300fps for the plasma and I got improvements in polar plasma effects too. Of course when running the same tests in modern hardware I notice that there is no difference there. 700fps for both realtime sine version and precalced sine version. So, I solved this mystery question I had, would lut and stuff from the past help to optimize 2d effect shaders for old accelerators? It was even fun to pass a big precalc lut for angles for the polar effect in one 8bit color channel of the texture and then see it's not enough (256 angles only for a big resolution, ugly angle steps) and then pass it as 16bit in two color channels and combined them in the shader for one angle value. Fun oldschool shader stuff :)

I also tried to do the 2d bump mapping and it works like charm but with things like fire effect (and hopefully soon the water effect) there are some strange errors (it doesn't just burn but the blur moves outwards the screen in perspective like a feedback effect and makes some ugly blurry rectangles) that I am not sure why they are happening just right now.

But after the 2d effects I am curious to final move in more serious shader coding on 3d objects, try the simple stuff first (envmap, phong, bump) and thing of more interesting shaders. Who knows, maybe I am working a new shader demo soon. For a little while I was into serious thoughts of cleaning up the code on my last demo framework, improving some things here and there and start working on a new demo. Even though my demo motivation is not very high right now.

Thursday, 13 August 2009

The hermit and the stars

I am sitting here outside my hotel room watching the stars. The view from the mountain is magnificent. I am one and a half kilometer away from the place where I have to work the next days. I came here by foot, following the road in the dark. Magnificent view of the stars where there are very few lights. Just one think I am wondering about. Where the hell is the milky way? I see a faint thing. I have read somewhere that it's very hard to see it clear in the modern civilization where the places are full of city lights. I have seen some photos (which I am not sure if they are illustrations or the real thing) where it looks magnificent. Where can I see it like this? How far away from the lights should I go?

Someone would say that I am far away from civilization. Someone else would joke that I am still not far away from it because I am just writting this in a laptop. Although there is no internet, nowhere here. The village has something like twelve buildings and maybe thirty people are living here. Some dreamy ethereal music is playing in my laptop while I am sitting outside alone, watching high for the stars as I am writting this (blind writting ftw :). As I am intentionally creating some kind of wannabe romanticism one thing comes in my mind.


p.s. I am wondering what has became of this blog and where is it leading. So far I like my posts. It's just that 90% of them have to do with my despise of the modern hacking culture. Which has totally something to do with the main inspiration that initially made me open this blog. My dislike of some mainstream aspects in the computer world accompanied by some kind of romantic feeling about the old times when things were just starting and were pure. The modern hacker seeks a target to attack just because it's trendy to deface websites and write a manifest or do anything stupid. Not many people understand the programming creativity of hobbyist communities and these same people speak of the best words about how they adore hackers who do stupid acts. Although I may be too obsessed with this anti-"hacking" thing (it shows) and I am thinking to shift to other subjects that still have to do with the good old things and how they have changed. And keep that romanticism (Don't take it seriously (I don't), just flow into it and dream :)