16-04-2008


My BOFH side? Today, university lusers

I think I am really tolerant with users. This is the first time I use the word “luser”. I keep a little network with a server and some applications in a little company and work as an scholar in the development area of my university. And as understanding I am in the first situation, the second one really gets me mad sometimes. There is nothing worse than people that is studying computer engineering and is like they were studying agriculture!

I’m okay with the fact that, at least here, 90% of people that starts studying computer engineering don’t know what they’ll find and it is harsh to learn all the basic concepts so fast… But there are some things that deserve some butt kicking and a “Don’t come back”. Even if you try hard for people to learn even the most basic concepts, that’s not always possible.

Case 1: The lower-case course retaker

I was happily doing watch during the first-course first practical exam on software developing when a shy boy raised his hand to get help.

Lower-case course retaker: Excuse me, ¿what is this symbol? (Pointing a $ sign in the exam papers)
crimsomshadow: The dollar… ¬_¬
Lower-case course retaker: Ahhhh. Ok. And how do I write that?
crimsomshadow: ¬_¬! Shift + 4
Lower-case course retaker:
Lower-case course retaker:
Lower-case course retaker: Which key is that “Shift”?
crimsomshadow: ¬_¬!!!!!

Just in case it wasn’t sad enough, I tried to make things better saying the first year was harsh. He answered he was retaking first year. Oh, crap!

Case 2: Identification

To clarify this part to non-spanish readers, DNI is our identification card, and we usually use that word to refer to the number on it, that is unique for each citizen.

crimsomshadow: Please all listen! We are not still on exam time, so don’t start writing and listen. The application you have to develop must be contained in a single file in “D:\Student\ExProg1A” which name will be “yourdni.dpr”. You DNI, and the dpr extension. Remember, if the exam isn’t found in that path with that name, you’ll get an automatic failure. Questions?

The students look at us defiantly, with an “I’m no fool” stare. They had a couple of minutes to create the file where instructed. Practically a 20% of the students did it wrong, and even worse, 5% of the wrote literally “yourdni.dpr” o_O

Case 3: Files and directories

This one happened in the third practical exam, with supposedly three complete assignments done and two previous exams!

raingna: You must download form our Moodle server the following files and save them in “D:\Student\ExProg3A”, as always. I’ll write down the URL of the files on the intranet and the paths of where files should be saved in the projection screen.

Three URLs to our moodle server and three “D:\Student\ExProg3A\file1.ext” show up in the projection screen.

We wait some time for people to download the files and soon not just one or two hands, which would be problematic, but six hands raise for help. I went to help the first one thar raised her hand and she said:

Confused girl: I can’t write “\” in the filename
crimsomshadow: The problem is that the filename should be the part after “\”. The rest is the path to the file.
Confused girl: ???
crimsomshadow: Look, it’s like this (I fix her files)

I had a feeling about what was going to happen, so I stepped away from the girl and told everybody the same I previously told the girl. All hands went down at the same time, which made me feel stupid. Still they couldn’t tell the difference between a file and a directory…

Caso 4: Compile or execute, that’s the question

I had some fun when a boy in 4th year said his Java application wasn’t compiling because it had a NullPointerException in his code. Everything went better when he proved he didn’t even know how the “static” modifier worked and what creating an instance of an obejct was. I could find of those even in 5th year!

Written by crimsomshadow under Opinion | Comments... » (8) |
5-04-2008


Freedom to choose

Update: Since I wrote this, experience tought me that the vast majority of examples here work in great part because of inexperience, habit or lack of knowledge, but I keep the central point of this post ;-)

I still remember how some years ago I really despised radical free software activists. And well, I must confess it still annoys me somehow. But I don’t want to confuse no one here, I also fight for free software: My preferred O.S. is Debian, I prefer and use free alternatives when possible and the “not-so-many” things I develop are free…

But this isn’t always about how much you like free software and it’s philosophy. Sometimes one has an objective that must be developed, and typically there is no time to find alternatives or investigate. In those situations, the tool that gives out a fast and painless solution s the one that prevails. For example, should I need now to reencode some videos and can’t find a tool I can’t work with easily (Let’s clarify: I am a real noob in that scope), what I should choose is crystal clear. Of course, with time and the task done, searching for a similar free tool or learning to use the one I discarded is guaranteed.

There are even other situations in which, very exceptionally, there is propietary software that because one or more of it’s features gets the work done faster and easier. And I personally find dificult sometimes that when I want to do something, the software I use is a tool, and as tool it is all about how handy it is. Is that enough reason to point me with your fingers? Since when, in a environment in which freedom is defended no matter the cost, judging people that uses it’s freedom to choose is any good?

I understand and fight alongside the idea that we live in a world that even though the outstanding communication capacity (internet being the huge central pillar) there is, misinformation is everywhere. There is too much people that doesn’t choose because they don’t know about the alternatives o the information they has been manipulated and is false. But there is no excuse for going from one extreme to the other. Everyone has the right to choose, and the real need right now is to try and inform people so they can decide by themselves and choose. Imposing ideas, even if they were the best, still is an imposition and therefore, a deprivation of freedom.

For example, why lie? I like .NET technology, but I despise Microsoft politics. Should I because of that not develop in C# anymore, probably using the “for-me-worst” Java API? Now that Mono Project is advancing so much this question is easier to answer. But even though, is that important whether I used Java or .NET? A lot of people will think about philosophy and sacrifice, but a I see it, we should not throw trash onto something beacuse of it’s origin. I think there is a “not-so-thin” line between following the free software philosophy and imposing that everything must be free.

I don want a world in which free software establishes itself by activism and social pressure. I prefer it to establish itself because people has chosen it with judgment: because it is a better built piece of software, beacuse it’s reliability, because it’s flexibility and because with the truth in one hand, because it really is better. Let’s develop better software instead of use politics. Let’s give free software what it deserves making it stronger and stronger!

Written by crimsomshadow under Free software, Opinion | Comments... » (4) |
2-04-2008


Hello world!

public class DivideByZero
{
  public static void main()
  {
    InterestLevel blogInterestLevel;
    ActivityLevel activityLevel;
 
    System.Console.WriteLine("Hello world!");
 
    try
    {
      blogInterestLevel = InterestLevel.High;
      activityLevel = ActivityLevel.High;
      int index = Math.PI * 2 / 0;
    }
    catch(CannotReachInterestLevelException ex)
    {
      System.Console.WriteLine("Exception: The Operating System
                        will keep trying to provide interesting
                        contents to this blog. Thanks for being
                        patient and for your time.");
    }
    catch(NoEnoughActivityException ex)
    {
      System.Console.WriteLine("Exception: The task stack is
                           full and the dispatcher can´t get
                           everything done that fast. Please
                           be patient while the Operating
                           System solves this problem. Thanks
                           for being patient and for your time.");
    }
    finally
    {
      System.Console.WriteLine("Welcome to Divide By Zero. I hope you enjoy!");
    }
  }
}

Written by crimsomshadow under General | Comments... » (5) |