Skip navigation.

exploreopera

| Help

Sign up | Help

There is no spoon

It is not the spoon that bends, it is only yourself

Posts tagged with "reflection"

A very heated market

, , , ...

Right now, I have the most profound hatred on the PC hardware industry. They are the most annoying people on the face of the earth. The only ones who are even more annoying are those who make the subscription models for mobile networks, but that's another story and deserves a post by itself.

My story is probably very common. I have a computer that works very well. Everything is tuned right and I can do most entertainment and office stuff with it. I can play games, maybe not with maximum details, but they work quite well. There's only one minor issue: it has only 512 Mb of RAM. And what's even more interesting is that I haven't felt the need to get more RAM until recently. This is probably a direct result of the fact that I'm mostly using Kubuntu and that I haven't even tried to work with Windows Vista.

For a number of reasons I need to get more RAM. At first glance, it didn't seem so expensive, until I found the catch: my mainboard only supports DDR RAM, because the AMD Athlon XP 64 bits Dual Core processor only has a memory controller for DDR, so it doesn't support DDR II. Ok, so I took a look at the prices for DDR memory and I was shocked; gold may be cheaper these days than 4 Gb of DDR. It's about 370 euros, while DDR2 costs half of this amount.

You would think at this moment that I should be able to buy DDR2 memory and use it on my DDR system. Nope, no chance. To quote from wikipedia:
DDR2 DIMMs are not designed to be backwards compatible with DDR DIMMs. The notch on DDR2 DIMMs is in a different position than DDR DIMMs, and the pin density is slightly higher than DDR DIMMs in desktops. DDR2 is a 240-pin module, DDR is a 184-pin module. Notebooks have 200-pin modules for DDR and DDR2.


Therefore my options are quite limited:
  1. Buy used DDR - if I can find at least 2 Gb somewhere
  2. Change the mainboard and the processor and buy DDR2 RAM, although I have a perfectly working computer - this may prove to be cheaper or close to the 4 Gigs of DDR


Excellent! The hardware manufacturers can be really happy with themselves.

But there's something more, besides my story: the PC model is based on flexibility. In theory, the consumer can choose to change any component inside a PC, can add or remove capabilities and so on. But, as my story shows, the PC model is fundamentally broken, because the hardware compatibility is a really complex issue nowadays. It's debatable whether this complexity is fundamental in the industry or if it is consciously fuelled by hardware manufacturers.

I am a professional software developer, but I don't know or care about all the difference between socket 949, socket 754 and socket AM2 (OK, I am curious about them, but I'm in consumer mode now). What I do care about is that I must pay an upgrade to my computer because of hardware compatibility issues.

What I would like to see on the market would be something like this:
  • Mainboards should support both Intel and AMD processors
  • New card types (memory, video, sound etc.) should be compatible with older card slots, at least for a number of generations; otherwise said, changes in the standard should only be made once every 4-5 years, when the technology limits are reached
  • Special slots for capability extensions should be available on the mainboard or on the cards themselves; for example instead of changing the video card just because there's a new one with OpenGl 5.0 support, you should be able to add an OpenGl 5.0 extension to the video card

Let's also note that we currently have home computers with too much computing power. Dual core, 64 bits Intel Core 2 Duo processors working at 4 GHz are used for writing emails, browsing the internet and watching movies. This happens because Moore's law dictates the computing power growth for economic reasons. The problem is that currently there's no market force to oppose Moore's law. This force can either come from market regulations or standards or from the consumer.

In the end, what I'm complaining about is the continuous push towards buying better and better hardware, while most consumers actually don't need it. This is the most annoying side of the PC market.

Plans for my 31st year

, , , ...

Today is my 31st birthday. I spent most of the time trying to learn more about the big world; I don't think I'll ever stop, because it's still very exciting and because new things come up all the time. I've worked for about 8 years in IT, and I still like it and learn about it. My experiences are varied: I've worked in 5 different countries and for more than 5 different industries. Last year I was lucky enough to get closer to the edge of the domain; continuous integration, domain specific languages a.s.o. are now part of the daily activities.

I am thus happy on a professional level because I have a lot more to learn and a lot to talk or write about. I will keep writing this blog, and I am planning a facelift for my website. I'm even considering starting a book about my view of the world.
The wikimagination project is another effort I believe in. It's still a mistery how will I manage my time between work, blog and the other stuff. I hope to find a way...

Those are my plans for this year. Let's see how it goes on, shall we?

A Criticism of Science Fiction OR My Personal Affair with SciFi

, , , ...

In a recent discussion with my friend Felix, he noticed that I'm not writing much about Science Fiction stuff. Of course, he's right. I'm not, but why?

First of all, let me define the context. I've read science fiction since almost forever, though I've only been subjected to the real thing after 1990s, because it was not viewed very well by the communist regime. After I came to Bucharest for college, I became a member of the Star Trek fan club (where I also met Felix). The story of the fan club was interesting and tormented, like everything in those days. (Felix wrote a short history here, if anyone's interested). Back then, we wrote science articles - certainly, adapted from external sources - and stories, and talked a lot about science, imagination and many many other things. We also had our share of parapsychology fans and conspiracy theorists; I guess you can't avoid that...

But then I stopped all my Science Fiction activities, in what I think was perceived as a very abrupt manner. It's interesting; this is the first time I give an explanation. Bear with me.

In that period, I started reading classical masterpieces of some of the writers I like most even now: Umberto Eco, Herman Hesse, Oscar Wilde etc. I then realized that many of their writings were a lot like Science Fiction, only better. Take for example "The Glass Bead Game", where the game is completely imaginary and the world portrayed in the book works in a different manner. "The portrait of Dorian Grey", or "The Foucault's pendulum" are other examples of books that take place in a subtly different society or with different laws. And there are many others.
What I like about those books is what I missed in the SF works: a compelling description of human nature when placed in strange circumstances. Oh, and the litterary style. There's no comparison between the dialogues from any of Oscar Wilde's works with the ones from any SF book I've read so far.

I then realized that most of SF is written by engineers, and engineers don't mix well with litterature. I still hold true to this belief today. The last SF book I've read was Joe Haldeman's "Camouflage", and I felt the engineer touch every step of the way (Note: he actually has a bachelor in science degree in astronomy, but that's the same thing from the litterature point of view).
The few compelling SF works that remain are written by people who actually had something to do with human sciences. Like Frank Herbert, whose masterpiece "Dune" is one of my favourite books both from the fantasy and from the litterary point of view. I can't say the same about Arthur C. Clarke's books though; his engineering is interesting, but his litterature is completely misplaced. Orson Scott Card is another interesting author, but he's too much into military stuff for my taste, and he doesn't seem to care enough of his characters in his latest works from the Ender series.

Therefore, I changed my view over Science Fiction. Though I still read books and see movies belonging to the genre, I don't expect much from them. Instead, I explore the world of fantasy. Certainly, Tolkien was not only accustomed with human science, he was an expert, and anyone can notice that.

That concludes my story. This is also why I am still involved with the wikimagination project. I still believe in fantasy, in imaginary worlds, in creativity, but I think that the expression should be much less engineer-esque.

Have a nice week-end!

Hobbies

, , , ...

I believe hobbies are very important for any human being, and I'm not excluding programmers from this category. I believe than any person should know what he/she likes to do besides work. This is the key to a balanced lifestyle, and, maybe even more important, to personal improvement.

Personally, I like to read, travel and cook. I visited most countries in the Western Europe during hollidays, and I'm ready for more. I fancy, for example, a trip to the Inca remnants from the Andes; it is a little bit problematic because it's expensive and because I need to get in shape, but I'm willing to make an effort. I have mixed feelings about the U.S.; I'd like to see the Grand Canyon, but I'm not sure if cities like New York or Los Angeles are worth visiting, since I'm not that much into modern architecture. Until then, I will certainly go to Tuscany and to Barcelona and surroundings. Honestly, I can barely wait.

I already discussed about my passion for reading. If interested, take a look at my Shelfari bookshelf.

I'm cooking quite often, usually Romanian food (Sour Soups, Polenta etc.) or common plates, like grills (always marinated), skewers and other types of meat plates. I'm also cooking breakfast in the week-ends, meaning omelettes and sometimes pancakes.
I like many things about cooking. First of all, it's a relaxing activity; I can listen to music, talk to my wife and even play while I prepare something. Second, it's a social activity, when we have "kitchen guests". It also allows me to explore the world without going too far; for example, today at lunch I cooked for the first time a Chinese recipe, Stir Fried Beef with Three Vegetables. On other occasions I've tried fried rice (Asian recipe) or Basmati rice with safran. More than that, I learned many words in English and French, in order to understand the recipes. True, I'm still unsure sometimes, but that's part of the adventure.

I feel fine at home, and forget about my work. I think that's a good thing, because every day I come back with batteries reloaded. My hobbies have a lot to do with this.

Do you have any hobbies?

A C# postcompiler

, , , ...

About six months ago I started watching a project named PostSharp, a postcompiler for C# that adds hooks for entering and exiting from methods. As far as I know, this is the most hardcore project for .NET I've heard about. It makes heavy use of reflection emit and provides this amazing (for .NET) functionality.

I had the chance to test it during the last few days, and I couldn't find a flaw until now. But the possibilities it opens are amazing.
The first big promise is testing. Imagine your program working and some code added at the entry of the method that changes randomly the values of parameters and logs the cases when the program fails. Or that replaces the return value of methods with random data. Or that replaces the implementation of the method to see if the unit tests are correct.
As Obi Wan Kenobe would say if he was a programmer, don't underestimate the power of (brute) force.

Then there's the logging of exception paths. It's quite typical in .NET applications to catch an exception and to wrap it into a business-related exception that is thrown again. It's very difficult in this case to find out the exact path of the exception when debugging. Well, this path can be easily logged by using PostSharp.

The beauty of it is that after the postcompilation, the custom code that is executed in the cases described is compiled into the resulting assemblies, so it's much faster than any implementation that uses run-time binding (reflection).

There's only one question that remains: is it production quality? Well, even if it isn't, it's a great tool for debugging and testing, which is more than enough already. Many thumbs up for the creators of this jewel.