Save info   Get password
Home Submit your blog Edit Account Rules RSS-Archive Contact


Dark Side of Design Patterns
2007-06-01 15:10:00
Every now and then I overhear someone excitedly talking to someone else about Design Patterns . They're so excited about it, you can hear the capital D and capital P quite clearly. And they use that tone: you know, the one usually reserved for great sports achievements. And, invariably, I can't resist the temptation to get involved. Things usually go downhill from there.I can understand their chagrin. How would you like it if you just discovered something cool only to have some spoilsport tell you that roughly half of it is crap? Yet I just can't keep quiet; partly because I'm mean and love seeing their reactions, but mostly because I'm sick of the hype.Patternitis"The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts."Bertrand RussellDon't get me wrong, I think design patterns are a great idea. Hardly a new one, but great nevertheless. The problem is that every Great Idea attracts its share of fanatics
Read more: Dark Side , Design Patterns

Uneducational Crisis Pt. 3: Approach
2007-02-06 08:16:00
Most of the things I wrote in the previous two posts can be disputed with counter-examples: not every professor is a Prima Donna; not all things they teach you at the university are irrelevant; there are great places where smart and likable people teach you good stuff; everything else is just "bad luck" and you "have to take the good with the bad". Let me tell you what I think about that:I don't buy it.There's a big problem with education as a system in general, not just in the CS field. And that problem involves the relevance of what we learn, from kindergarten to university. How many things did you learn in the ground school that you have completely forgotten? Let's face it, as a society we are doing a shoddy work of teaching our kids.Why is education so bad? There is probably a variety of factors that enter the whole equation, but I think there are only two of major importance. One of them is the fact that teaching is not the number one motivation behind the existence of schools.
Read more: Crisis

Uneducational Crisis Pt. 2: Subject Matter
2007-01-19 06:41:00
When I think about these last four years, I don't usually think about the university. Much more important and interesting things have been happening in my life. I think that says something about the quality of education as a life experience: you only consider it important when you're forced to do it during the better part of your day.But when I do think about the university, the first thing that comes to mind are the professors. I've had a few excellent professors who were a pleasure to study with, but the rest ranged from merely disinterested to downright inept. In my previous post, I covered this topic in detail.The second thing that comes to mind is what I learned. Or rather, what I was supposed to learn. Now that the things are drawing to their unceremonious end, it's amazing to look back and see just how many things I've been told weremisleadingwrongobsoletestupidsome or all of the aboveWith a lot of real-life experience in software industry, you can afford to be told such th
Read more: Crisis

Uneducational Crisis Pt. 1: Human Factor
2007-01-16 11:37:00
If there's one thing worse than a bad programmer, it's a failed programmer turned professor. I don't know how common this is in United States, but here in Chile you see it a lot. And try as I might to pretend that I don't care, it's actually driving me nuts. Quite understandably, too: I could be doing interesting things instead of trying to guess what the latest in a row of brain-dead dilettantes wants me to write as a solution to his "ingenious" exam exercise.On the other hand, this way I get the first-hand insight into the problems with education in CS field. Some of these problems, I suppose, are local and owe their existence to a variety of economic, political and technological factors, but I'm convinced that some are universal. Nonetheless, I shall not discriminate: I'll go over them all and a plague on both their houses.This article, the first in the series, deals with the professors themselves.Two Roads Diverged in a Yellow Wood...Over the time, I learned to distinguish t
Read more: Crisis

Foreword
2007-01-16 06:01:00
Once I thought I wouldn't create a blog, ever. Then I started changing my mind, thanks to Joel Spolsky, Steve Yegge and Paul Graham. They had it all: interesting content, charismatic style and challenging opinions. But even so, my opinion of blogging went mostly along the lines that I had nothing substantial to say that these guys didn't already say or couldn't say it better. Which, of course, is quite irrelevant, true though it might be. As soon as that realization filtered through my thick skull, I decided to take the final step and inflict my thoughts on the rest of the world.The first thing my blog needed was a name. Coming up with one wasn't nearly as hard as I dreaded -- I only went through three iterations:Paradogma Shift. Not bad, but it doesn't really represent what I want to talk about. Besides, I'd like to save the word paradogma for other purposes.Overflow Dump. Closer to the topic. Also, the initials are a nice touch: whenever I "overdose" on things that are stupid,


.NUTS: Enum Conundrum
2007-08-13 10:13:00
Welcome to .NUTSI've been avoiding .NET for quite a long time. It's not that I'm an anti-Microsoft zealot, it's just that I used to code in Java at work and I figured that one platform full of frustrating limitations was more than enough. Recently, however, I decided to learn XNA on my own free time and that means getting involved with .NET and C#. It turned out to be just as frustrating as I feared, but at least it provided me with some nice blog material. Thus is the .NUTS "column" born in my blog, to document all that is weird in the .NET world. Expect stuff that might make you giggle, goggle and groan.Enums RevisitedI first encountered the concept of enumerated types when I learned Pascal. Before that I owned a Commodore, so I dabbled in Simons' BASIC and 6502 assembler. Therefore, I didn't approach enums the way a C programmer might -- as a cleaner way of defining constants -- but as a way of defining a completely new type that accepts only those identifiers I define. The di
Read more: Conundrum

.NUTS: Cemented Collections
2007-09-19 18:34:00
Another month has passed. My intention was to write another post sooner -- especially because I already had material for it -- but time flies when one is immersed in work. Now that I have some free time, I can sit down and share another one of my .NET anecdotes. And so, without further ado, welcome back to my .NUTS column.Deja VuIf there's one thing that defines a modern language as much as its syntax, it's the way it handles collections. Therefore, it shouldn't be such a big surprise that most of my encounters with .NET quirks stem from the differences between its collection classes and those I've used in Java. Still, I hope this is won't turn out to be a tradition, otherwise I will have to rename this column to "Collection Corner".This particular tale, just like the last one, starts with the Dictionary generic class. Specifically, it starts with my need to be informed when someone manipulates its contents. The classes I was writing had a rather simple purpose: associate event h


.NUTS: Yield Not, Waste Not
2007-11-06 16:40:00
Everyone agrees that iterators are cool. They're so cool, they've got their own design pattern. Even cooler than that, they made the folks at Sun introduce some (gasp!) new syntax into Java. Not to be outdone, C# goes even further: not only can you use iterators easily, you can also roll your own generators using the yield keyword. How cool is that?To Litter or Not to LitterAs it turns out, it's not as cool as it sounds. If you care about memory allocation and garbage, then using yield is a bad idea. Before I go any further, let's explore this concern itself. Why would anyone care about memory allocation in a language with a garbage collector? Isn't the whole purpose of the garbage collector to abstract away memory allocation and help avoid all those nasty pointer-related bugs? If you find yourself nodding along to these questions, then I suggest that you read Joel's Law of Leaky Abstractions.The reasons to care about garbage are diverse. In my case, it's because I'm working wi
Read more: Yield

Back in Blog
2008-05-12 13:08:38
Well, I think I finally got the hang of this being-a-dad thing; at least enough to get back to blogging. Suuuure, blame it all on the baby, that's convenient. Heh.Anyway, things have been hectic in my life, but I'm back and I have stuff to rant about again. That said, I'm probably going to blog less code and include more variety. Oh and the posts are probably going to be shorter. Like this one. No


Assassin's Creed
2008-05-14 16:01:19
How can you know whether a game is good without playing it? You can't, really. It wouldn't be fun if you could, right? Fortunately, there are people out there who play games and then tell you about their experience. Some of them do it professionally, some of them just because they think the world really needs to know about those games. Assassin 's Creed is one of those games that are good enough to


Piracy is Here to Stay
2008-05-15 21:11:39
"With great power comes great responsibility." Wise words, Uncle Ben, but someone at BioWare wasn't listening. For those who hate following links, the short version of the story is that BioWare was going to implement draconian anti-piracy measures in Mass Effect and Spore for PC. In the end, they won't be doing it, but it wasn't for the lack of trying. Indeed, I tend to agree with Penny Arcade whe


Firefox 3: A Five Act Tragedy
2008-06-17 23:47:50
Act I: The HypeI first heard of the Firefox Download Day at the office, from a co-worker. It wasn't a dark and stormy night, however much we all wished it to be -- the A/C was on the blink yet again.Naturally, my curiosity was piqued. I've been using Firefox for years now and I've grown used to it and a bunch of add-ons for it. Sure, it had a couple of annoying bugs, but I could live with those. O
Read more: Tragedy

Page 1 of 1 « < 1 > »
eXTReMe Tracker