Monday, October 30, 2006

Children making your life altering decisions

Would you let a five year old decide what medicine you should take? How about, what work needs to be done on your car's transmission? Would you pay him for your house insurance? Or trust your life savings to him? It sounds ridiculous doesn't it? A child doesn't have the necessary virtues to handle any of these tasks. He can't handle any important aspects of his own life, let alone entrusting another's.

What separates a child from a man? If there are any doctors in psychology or sociology reading this, sorry for invading on your turf. If I'm wrong for what I'm about to say, please be so kind to leave a comment. In my humble, unexperienced, unworthy, and almost illiterate opinion there is one specific difference: Knowledge. As a boy grows up he makes mistakes, observes events, witnesses joys and tragedies... This all adds up to one central repository. It better prepares him for the next day ahead. This accompanied by some reading and schooling will turn him into a collaborative entity in society. Now, a man, and one preferably with a skill set specific to the area in question, is an excellent candidate to ensure my health, my car, or my money to.

Ummm.... yeah... we knew that. Where is the big discovery? As with many of modern day issues society is facing, the problem lies in it's politicians (don't get me started on Bush's recent rampage). Politicians are making every day decisions about the way you and I will use information technology in our every day lives. The only problem is that the average politician knows as much about technology as a average five year old know about nuclear science. In essence it's just like handing over the steering wheels to children of an area in society that is ever increasing in importance and popularity.

Information technology every day becomes a more integral part of our every day lives. The mere fact that you are reading this text on a blog site or through an RSS feed is the very proof of my statement. It can be as simple as your phone or as complex as the world wide network that keeps track of all your traveling, economic transactions and judicial records. You'll find much better sources then myself which confirm all of this.

But then you'll find stumble upon former politicians admitting they had no idea what they were doing, CEOs of giant companies complaining that the public officials don't even have a fundamental scope of where information technology is today, police raiding an innocent person's home, based on very unreliable information, and my personal favorite a senator with absolutely no idea what he's talking about trying to convince his peers that a tiered Internet is necessary to preserve all of our interests. And this is just the stuff that finds me on a day to day basis. I will admit I don't have a strong interest in political news, even though it affects me directly. What could/would I find if I actually dug deeper? Just the thought is chilling.

I can give you lectures about how we should be choosing our representatives a bit more carefully, or how we should attempt to educate the people we currently have in office. Unlikely to happen. Almost all of them have a severe case of god complex. This phenomenon will continue until one of three things happen:
  • The current generation of politicians dies out, and get replaced by information technology aware counterparts. Not because we spontaneously agree on electing computer scientists as mayors, but because the this generation is growing up with information technology as an integral part of their every day lives.
  • They find leadership in one regional or global technology savvy leader who by some incredible and impossible means achieves an centric political and pubic role. If this happens, the catalyzer that will convince local officials to follow as always will have to be self gain, making the feat even trickier.
  • The MAFIAA and other giant corporations and organizations finally learn (the hard way) that it's not by attacking, but aiding your consumer base that you will find prosperity. On that enlightening day, their lobby will work for their benefit as usual. The only difference is that lobby will be pushing for ideals that masses, the corporations, and politicians can all gain positively from... nah! It sounds to good to be true.
Just try to remain in sync with the times, and try to steer your kids away from ignorance. Sadly it seems that everything else is out of our control.

Thursday, October 26, 2006

New blog:

I'll keep this one short. ;)

I have started a new blog: Basically the concept is to have a photo diary of the amazing things that are taken for granted on a day to day basis on the 2 square miles where I spend most of my time.

Foreigners will especially be awed by some of the things that happen here on a day to day basis.

There is a better description at the initial post at the blog itself. If any of my 3 readers have any cool photos that fit the criteria, send them to me and I'll be more than happy to post them.

Let me know what you think.

Monday, October 23, 2006

Windows Vista: Crappier than expected

We've already heard the stories about Vista and how it will be released lacking many promised features. Also how it will be released more than two years after the expected date. It gets better. Trust me.

I am a fan of podcasts. In particular, I listen to some of the podcasts from Leo Laport's network. FLOSS Weekly is one of these podcasts. With Chris DiBona at his side, Leo interviews people who have had a significant impact on the open source community in one form or another. Last week they had a very good episode. It can be found here. In this podcasts, a couple of the people who work on SAMBA were interviewed. At about 40 minutes into the episode, they started talking about SMB2 in Vista.

Let's side step this subject for just a couple of paragraphs. Not to assume that you are tech illiterate, but just in case: SMB is the protocol used in windows for sharing files, folders, printers and other related tasks. SAMBA is an open source implementation which allows a non windows machines to talk to windows networks. Windows Vista sports a fresh implementation of their protocol with a very innovative name: SMB2. This is hyped to be one of the big innovations for Vista within the networking context Here is a quick quote which should serve as a reference (you can find the whole entry here):

We have listened to our customers on the limitations that were present with the original SMB protocol and have removed the restrictive constants in the protocol so we never need to worry about the protocol itself being the limiting factor for scalability. This includes increasing the number of concurrent open file handles on the server, the number of shares that a server can share out amongst other key enhancements which include:

  • SMB2 will have transaction support, i.e. full two-phase commit transactional semantics are available over the new SMB protocol. This takes advantage of the new Transactional File System (TxF) feature in NTFS in Longhorn Server
  • Client Side Encryption. This allows over the wire encryption of data, i.e. a file is encrypted on the client and sent out to the server where previously the file would have been sent in the clear over the wire and encrypted on the server
  • Support for symbolic links over the new protocol
  • Supports an arbitrary extensible way of compounding operations to reduce round trips. This is what will primarily enable less chattiness which has often been a major pain point
  • The new protocol supports larger buffer sizes than previously allowed

Cool, huh?

Back to the podcast. So they are geeking out, talking about all they have done in SAMBA, all the people they have reached, and how important their work is for the industry. SBM2 comes to the discussion. They start talking the techniques they use in order to implement the server/client that talks to Windows. I have to admit, that to this mere mortal, it sounds a lot like reverse engineering, but they insist it's not. In any case, part of the process is doing something on a windows machines, and analyzing the network to see what data is transmitted as a result. One of the machines shares some resource, while another does some operation to the resource shared.

In Windows XP (and previous) when attempting to delete a file, one packet is sent while another is sent back as confirmation. Till now everything sounds cool. Now let's try to do the same with our magical Vista beta. When attempting to delete a file through the console, 6 - 8 packets are sent. Right of the bat this sounded bad. Simply because it's a 600 - 800% increase in traffic. Having said that, 8 packets isn't a big deal for a local network. Depending on the size of a particular operation, it's possible to take that hit. Then they tried to do the same thing, but instead of using the console, they delete the file through a graphical window. After all this is the preferred interface of the average Windows user.

How many packets where sent in order to complete the operation? 20? 30? Come on, take a guess! [Insert drum roll, or other suspenseful effect here]... 1500 packets. Yes, 1500 packets. I'm not joking, and neither were they.

I will one more time reference my awesome (sarcasm) job. We have about hundreds of people on a windows network. As part of day to day work, we need to move files around the network. You don't need a CCNP certification to imagine what will happen to the bandwidth of our lovely network (sarcasm again) if something that takes 1 packet suddenly needs 1500 packets to complete an equivalent task. There goes my already limited bandwidth. Better yet, this could be a denial of service attack, sponsored by the operating system we already paid a lot of money for. What really cracks me up is that Microsoft is using the idea of "scalability" as one of it's main points for hyping the new protocol.

Why do they need to transmit all that data just to simply delete a file? According to one of the people being interviewed, the good ol' folks at Microsoft felt a need to f**k with SAMBA. It's very possible. SAMBA is a very popular alternative, and it could argued that it was hurting their market share. On the other hand I try ('try' being the keyword) to be fair. Consider the source. The SAMBA guys are not going to publicize anything having to do with Microsoft loving them.

What's really depressing is that I'm not the first, nor the last person to say this. There is a list of complaints of why Vista sucks longer than they orthodox church's complaints on modern day life. In the end, we will buy it, install it, scream at out innocent monitors in frustration, reboot, rinse and repeat.

I for one have decided no more. XP is officially the last time I will ever use Windows. I have been using Linux for a while now. I still keep XP my PC on dual boot for the sake of other people in my household who cannot survive without a square button on the bottom left hand side of their monitor which reads "Start". I know what some of you are thinking. There are tons of alternative operating systems, window managers and transformation packs which offer you something that looks and works enough like windows so you can emulate the environment, but different enough to keep the makers from getting sued. It simply doesn't work. Users feel comfort when they know exactly what to expect. Even if you promise them it looks and feels the same, they will fear change.

I've sat through all the motivational speeches about how one person can make a difference. I'll insist on it anyway: I'm just one dude. There are other people who share my opinion, and maybe even a few who will take similar action. In any case, the collective will continue to support Microsoft and their crappy products.

Don't get me wrong, I don't hate the people at Microsoft. If they can make money and support their operation, great! More power to them. I just feel sorry of all the screaming at the innocent monitors who are not at fault. The banging at the poor keyboards and mice. It brings a tear to my eye every time I think about it.

Wednesday, October 18, 2006

Piracy as a business model

What?! What was the title? Is this a typo? Is this guy saying that we should advocate stealing of the hard work writers and producers? Calm down, it's not what you think.

I share a ritual with a close friend of mine. Every once in a while one of us takes his laptop to the other one's house. We copy all the interesting "crap" we can stumble upon the net. On the last iteration I gota video which had a very interesting title: "The future of bit torrent". I sat down, watched it, and was absolutely stunned by what I saw.

It's a video of an exposition at a film school in australia. You'll find a transcript and a link to download the video here. I recently discovered this is actually from last year, but I recently discovered it. Besides, the internet is a big enough place, so it may be news to you as well. While I did not find what I expected, I did find it a very interesting subject.

The speaker was describing what initiated the success of Battlestar Galactica, and other shows which have had a similar phenomenon. This show was leaked on bittorrent previous to it's release on TV. Instead of this causing a slump in the show's ratings, it did quite the opposite. The show is one of the biggest successes of the Sci-Fi channel. The explanation is simple. The social networks (be it on myspace or just dudes that hang out) spread the word, and everyone seemed to like it. This was pivotal to constructing the large fan base the show enjoys today.

This is all great, but if the show is distributed off bittorrent, how get any earnings? This is something else he mentioned. There is a long chain from the people that produce the content, to the people that actually consume it. With this medium of distribution you can cut the middle men, which, in turn will cut distrubition costs. Aside from this, we all know that bittorrent as a technology and distribution medium is marvelous at helping us reduce costs. Since I don't want anyone to be left out, wikipedia has an excelent description of the technology, if reference is necesary. You'll find it here.

Fine, the distribution problem is solved, that will save me money, but where will the money come in from? Bugs. No not, insects. No, not the software issues that haunt us. Have you ever watched a sporting event and have had a semi transparent logo of a commercial product or service stare at you for part or all the event? That's it. It's a way to brand the content with an advertiser, in a way that will help gain a direct relationship between producer and advertiser (keeping the producer happy), and will force consumers to actually watch the ad instead of flipping the channel or cutting then out, (making the advertiser happy). It can be customized be region or demgraphic. One thing I totally agree with the speaker on: The 15/30 second TV ad is dead. It just doesn't know it yet.

I don't think this is a solution for everyone. There is a lot of content that will benefit from keeping it's rightful place in television. None the less, this opens the playing field for a whole new world of content. No longer do you need to compete for time slots, no longer only highest bidder gets a chance to show what they are made of. This is a medium where QUALITY determines who will be consumed. The community decides what's best, not an executive at a network television company.

In the end, all bittorrent is doing is fulfulling the consumers needs. We want the full triangle: good, cheap AND fast. We don't want to watch things monday night at 8:00 pm. We don't want to necessarily sit in front of a TV. It's a diverse world, with diverse people, who have diverse styles, activities and interests. You cannot paint them all with the same brush! This adoption is only natural.

Don't believe me? Fine. Believe Anne Sweeny, one of the top execs of Disney, stating that piracy is a business model they need to compete with. Or check out the deal that the bittorrent guys made with major studios to legally distribute content.

Bittorrent is here to stay. It doesn't matter what the MAFIIA says. It doesn't matter if the lobby convince Ted Stevens and his buddies that this is the product of conmunism and devil worship, all while clogging our precious tubes. It will stay because it is the will of the collective. Despite the great mass of power of a few, it will never match the power of the many.

Sunday, October 15, 2006

Software Factories

In my very humble, unfounded, inexperienced and immature opinion the creation of software as a discipline can be better described by being divided in the following manner: 25% science, 25% engineering and 50% art. Why this division? Well think about it...

The science of it all exists because of all the theory associated. I always hated most of it in college, so I will not be able to extensively describe it. Theoretical counterparts you will find associated with the practice: algorithms, language theory, state machines, and their buddies. It's part engineering because with any theoretical science that deserves any attention, an application of that science will be found not too far off. This is no exception. Quick examples: design patterns, predefined API's, standard procedures and practices commonly used.

Now comes the interesting part, which every half decent programmer will probably concur with, and what will take too much effort to convince users and/or managers. Despite that, this is actually a fundamental truth. Software is 50% art. The distribution may be further inclined in art's favor in some instances. Yes, we have the theory which has already been handed out to us. Yes, we have available many widely used implementations and reusable components which makes our jobs easier, prevents us from reinventing the triangle.... again, and gives us broad shoulders to stand on weather we feel like admitint it or not. What happens after this foundation has been laid out? If these were the only necessary components, software creation would have been totally automated by now (we will get there eventually, and yes it will suck, but that's another blog entry ;) ). You need a spark. You need light bulb going off on a dude's head. You need creativity in order to make this foundation work for the particular solution which is being implemented at the moment. I repeat this indefinitely but very few people pay attention to me (no one pays attention to the green theory). Creativity cannot be taught. We can help mature it, we can guide you in the right directions, we can give you enough tools that solutions to most problems will emerge easily. But teaching you to make the bulb turn on? That's like what Laurence Fishburn told Keanu Reeves in the first Matrix movie, “I can only show you the door, you have to walk through it". Let's leave this subject on the back burner for a second and jump to another topic.

As we all now, you are reading a blog after all, software use has been exploding in the recent years. Some pieces of software are even considered to be house hold appliances and/or brands. Yes, microsoft's products suck, but even my mom has heard the word Windows being said in the context of a computer. In order to achieve this widespread use, it has to have become a finely tuned, well oiled machine, that can keep up with the ever demanding consuming market that it holds a death lock on today. Here we find the best and worst thing that has happened to software in it's history. Because of this explosion software is now found everywhere. In many instances, casual users have no idea it's even there, but it's making there lives more convenient one bit at a time. Where does it go wrong?

Enter the software manufacturing corporation. As I mentioned in a previous post, I work for a big company. This company depends on software for most, if not all, of it's sources of income. In a corporate environment this process, just like any other, needs to be efficient as possible in order to get maximum output with minimum input. I have nothing against that, it's stupid to consider they will waste more resources than necessary in order to do business.

The problem arrives at the moment you start treating software as any other manufacturing line. I have no experience as an industrial engineer, so when I start BS'ing, someone, please let me know. Imagine if you will, we have a jeans production line. Person A stamps, person B folds, person C puts the pants in a box. You have every person doing one particular job, and doing it well, which is much better than having three people doing three things. Where's the problem? A, B and C are doing the same thing all day every day! You have no room to grow, you have no room to experiment or to shake things up a bit. If you try, it will probably lead to trouble.

Now, let's translate this analogy to software manufacturing. You have one guy adding new features and doing maintenance (most companies are scared out of their minds to try on new applications and only do so when absolutely necessary), one guy doing manual testing, one guy doing load/performance testing, and another doing deployment and support. Again, it's much more efficient then having four guys doing the four activities independently. The problem is that each one is in a loop where the repeat the same process over and over again. This is especially true for the guys working on manual testing and the steps which follow. Having people do the same process over and over again, while making them skilled also have a very negative effect. It makes their brains dull. There is no need for creativity, there is no need for out of the box thinking. Just follow the outlined steps (in some cases, this is literal), and report when you are done. Rinse and repeat. While the corporation is thrilled about this, the people actually doing the job in the long run is just becoming zombies. The products which they are working will reflect this state of mind.

Am I aiming to change the world? Oh, no. Do I wish I could work in an environment where everyone could they as they pleased when they pleased? Oh heavens, no! Just keep this in mind, in the middle way you will find the truth. A guy, much more wise than I can ever hope to be once said:

“The loose string, which is like a life of indulgence, produces a poor sound when struck. The overly tight string, which is like a life of extreme asceticism, similarly produces a poor sound when struck and is moreover, likely to break at any moment. Only the middle string which is neither too loose nor too tight, and is like the Middle Path, produces a pleasant and harmonious sound when stuck.”

You simply cannot expect exceptional work from people that are groomed to work like robots. I got my money on the odds that you will probably wont get it. Ever wonder why all of the Web 2.0 innovative ideas that lead to popular applilcations are coming from startups with few people and even less money? Aaaaahhh... unagi! What do they all have in common? they are small groups, without a predefined production ine of software manufacturing. They just had a good idea and went with it, on their own terms.

Software is a creative process. It has to be applied, measured and reported upon in order to be considered efficient and practical. None the less, this does NOT justify it not being considered something other than a creative process. How many painters, writers or composers do you know of that work a strict nine to five shift?

Tuesday, October 10, 2006

Burocracy over productivity?

I know this has probably been discussed over 100 million times, especially in blogs, but i just have to get it out there before i die.

When will companies, especially big coorporations stop giving top priority to burocracy and start crediting a little, tiny, winny insy bit more importance to productivity?

I work for a contracting company that lends services to a fortune [insert small number here] company. At first I accepted the whole system, because i realized it is a huge operation and it needs to be organized in order to maintain a certain level of sanity.

My perspective on this has changed over time, and this has been especially accentuated over the last couple of months with events like the following:
  • I walk up to tech support, give him a good description of the problem and point to the computer with the issue. He instructs me to go back to my desk, write him an email with what i just said, go back to where I'm standing at the moment, and escort him to the computer with the issue. And whats most depressing about the problem is I could fix it in 10 minutes if I was allowed to. The problem hasn't been fixed yet, if you are curious.
  • Mountains upon mountains of required spreadsheets, documents, and presentations, which no one reads but any one of the manager on the CC line will bite you head off if he notices that you have not sent the appropriate reports.
  • People more worried about how a certain issue is going to affect 1) his personal image, 2) his team's image, 3) what his superiors will think of the incident, 4) his organizaitons image,.... 26) what was the problem again?
  • Spending hours (yes, hours) in a meeting discussing cosmetic details about reports.
  • Receving a phone call from someone, requesting I explain to them the status on a project. Only problem is that I send that status EVERY SINGLE DAY; it's required by the guy on the other side of the conversation. He just didn't bother to read the damn thing.
  • Being sent from person, to person, from team to team, around in circles because no one is responsible for whatever it is i'm working on.
  • Superiors handing me assignments where the effort taken in assigning the item to me is equal or higher than doing it themselves. Examples: Calling me to tell me to call someone. Sending me an email to asking me to send an email to someone else.
Again, I understand the need of big companies to stay organized. It would be chaotic if everyone just did as they pleased. I understand how maintaining a documented history of events is useful. I personally agree that many activities need to be documented.

Having said this things, it amazes me how burocracy outweighs goal of our company. Our purpose is to directly or indirectly is to offer a service or product to a client. We do this, because it makes his or her life better in some way or another. If it wouldn't he or she wouldn't bother to consume the product/service in the first place. It doesn't matter if you are the mail boy, you're role is important in the overall objective.

Is this going to change anything? Probably not. If a manager from one of those big companies reads this, will he change the way he controls his particular sub organization? I highly doubt it. In any case, now that I have your attention, just let me tell you, this is not the way. In my personal case (which may, or may not be the case of my coworkers, or any of the millions of people who have to spend 10 hours a day in a cube), what drives me, what motivates me is that idea that I am adding to the objective. I am making a difference. My work, as miniscule as can be is going to make somebody's day better, even if it's only for 5 minutes. That brings a smile to my face, and satisfaction to my craft, not pretty numbers on a spread sheet, a detailed document or a fancy presentation.

In the words of one of may favorite comedians, dennis miller: "That's just my opinion, I could be wrong".

Saturday, October 07, 2006

Theo is holding the line of defense

I have to admit I've always had mixed feeling about Theo. I compared him to Stallman in the sense that there was no way to convince to bend his philosphy, or look at things in another light. Maybe convince him that their might be a slight possibility that he does not hold the absolute truth about life, the universe and everything. After reviewing this last email, I have to say that he is actually standing up for all of the open source community.

On one side we have the big companies pushing their propietary products on us. Every day they include more back doors, more phoning home mechanisims, more data mining techniques, more ways to deprive us of our freedom. The irony of it all is that we are paying them. We as consumers want to have everything, bright and shiny, right now, and at the lowest price possible (or free if that's an options). Obviously these two frames of mind cannot coexist in the same world.

Because of this yuxtaposition of ideals, the line had to be drawn somewhere. Think of it as a tug of war. Every time the big companies inch towards their objective they will just push harder. If as consumers we loosen up, they will not take a break, they'll just keep pulling and pulling, until they've achived the other end of the rope (they will get there eventually, I just hope I'm not alive to see that).

In this particular scenario, big companies don't want to open their specifications. If they do, an NDA is a non-negociable prerrequisite to receiving them. This leads into two groups. The ones that are lucky and willing to sign the NDA, and those who will hack away and try to have "compatible" (generally considered infierior) drivers. What makes matters worse is that the group behind the this particular scenario are the One Laptop Per Child group, which all other things aside, will promote open source software as part of the objectives of the project. Not planning on taking about the sociological, economical and/or political implications of the project (or at least not now ;) ).

I know it's not everyone's favorite subject, but le'ts make a breif analogy with the current situation with the MAFIIA. They want to get to a point were we declare that bit torrent (and every other file sharing technology they can't have total control over) is illegal. Yes that's right, not that the media that is being shared "illegaly" is the problem, the technology is the problem. This is more absurd than the whole "the internet is a series of tubes" thing. And if we let it happen, do you think it will stop there? Do you know they are currently lobbying to make it impossible for anyone to own any media? They want it to make it so, that EVERY TIME you listen to a song or watch a movie, they will be entitled to collect. And if they do achieve that, I don't want to imagine what they will go after next.

Theo may be hard to deal with, and may have some ideals that from time are difficult to absorb. Having said that, he is making sure we have choice, and that my friends, is what freedom is all about.