Showing posts with label productivity. Show all posts
Showing posts with label productivity. Show all posts

Diagrams that Look Great

One of the thinks I dislike is people that stick with the first thing they get and do not take the time to see if there's anything better for them out there.

The usage of Visio is one example.
I never really liked the application, but 10 years ago it was one of the best we had for Windows.
Apple users really never suffered with this mainly because of OmniGraffle.

But one decade has passed and Visio still has the same not very good user experience interface and the same old boring graphics. Overall, the application transmits a look and feel of the nineties, even with that ribbon menu and the Aero look...

Fortunately there are others that feel the same, and when great UX pairs with great design, the result is (usually) a solution that rocks! We no longer have to stick with dull looking Visio diagrams, now there are things like gliffy.

The result of using gliffy, or similar solutions, is great looking diagrams that one can include in any document and it will produce a positive effect, because instead of turning your document dull, it will help making it look cool.

./M6

Anti-Virus or Anti-Productivity?

On the data migration project I'm currently involved, the desktops being used belong to the peoject sponsor and therefor I do not have administration privelidges. I'm a somewhat power user but I'm not abble to install everything nor I'm abble to configure Windows nor McAfee.

The anti-virus, McAfee, consumes over 150Mb, almost as much as Windows itself, of my 1GB RAM and takes control of the processor in such a way that it's a true anti-productivity tool! Every task performed takes too much time, to many times I can see the screen being, literally, drawn line by line.

The system administrators were kind enough to reconfigure the anti-virus rules in order to skip .jar files, since almost all work is performed in Java and in Java developed applications.
This helped a bit but did not solved the problem.

Why is that the worst thing than a virus is the anti-virus?
And why is that anti-virus are, currenlty, anti-productivity tools? Anti-virus should protect the system, they should not consume a considerable part of its resources.
And finally, why is that Windows system administrartors don't know how to correctly configure these tools? The anti-virus companies default configuration also sucks.

It doesn't make sense to scan files like .jar, .java, .class, .c, .cpp, .obj, .py, .h, .csv, .ini, .xml, .js, .html, .swf, .zip, etc..
Yes, I do know that there's dangerous stuff as .vbs scripts, but scanning a local .css file? What sence does that make?
By know, Windows system administrators are saying, "ah, thoes are all just small files, it takes a couple of seconds to scan"... Well, to those I ask, "how much time is a couple of seconds times over 700 .jar Eclipse files"?
And why is that .zip files are scanned twiced? Why scan the .zip file and not the files only when, and if, they are unzipped?

Some years ago I was working for a company that configured the anti-virus in such a stupid way that it scanned everything.
My system became so slow that I've actually measured the productivity lost for the company developers.
Each developer was loosing aproximately 4 hours per week, i.e. 2 working days per month, 24 days per year. At the end of the year, the company was loosing one entire month of work per developer! Hey, stop the anti-virus and give me that moth as extra hollidays, the company productivity would be the same!
The company had 6 developers at that time, which means 6 months of productivity loss. Half an year.

I would like to know how many company CEOs, CTOs, etc. and share holders out there know how much they're loosing because the entire organization is being affected by such anti-productivity tools.

./M6

How to do nothing and get payed for it

In February 2008 I was working as an IT consultant and my client was the Portuguese tax services area.
When I started there, about 15 months earlier, I was given a desktop with a dual core processor, 1 GB RAM, 70 GB HD and a lousy CRT.
The computer was not state of the art but it was OK for the job. Back then I had the usual software kit (MS Office, McAfee, Email, etc.) and developed J2EE applications, using Spring, Eclipse, BEA Weblogic and Oracle 9i running on Windows XP SP2 English version.
I had power user privileges on my computer and executed everything locally, except for the database, witch I accessed remotely.

I then needed to work with other stuff, like BEA NetUI, BEA Workshop Integrator and other stuff, so I got a 1GB memory upgrade. This allowed me to continue to be as productive as I was when I first started there.

But suddenly, in December, a "brilliant" mind from the system administration department executed of the most stupidest ideas I have seen in IT: change all the IT department desktops, which were somewhat like mine, by virtual machines.
So, I started January with a desktop, which is similar to my first computer, 2 GB RAM, dual core processor, 60GB HD, the same lousy CRT running Windows XP SP2, Portuguese version.
I login into the system, using domain, let's call it X, and I access a "fantastic"desktop, with a picture of the building where I work, plus:
  • Access to domain X but with no privileges what so ever on the system, I can't even save a bookmark on IE;
  • MS Office is installed, but I cannot keep files locally on the computer;
  • Access to a shared network drive;
  • MacAffee anti-virus running, with "paranoid" configuration which cannot be changed;
  • MS Outlook for email, which works fine but I must use the web interface due to a stupid policy;
  • MS Virtual PC with a Windows XP SP2, English version.
Since I cannot work in this system, I must start the Virtual PC with the XP image provided by the system administration.
After the virtual system boots up, I must login into the system using domain X (yes, the same domain) but now I have administrator privileges. Here's what I get from the virtual system:
  • Access to domain X with power user privileges on the system, I can install, uninstall and kill applications;
  • MS Office is not installed and cannot be installed, due to a stupid policy, so I must copy-paste office files between the real and the virtual systems when I need to read a Word documento or to check an Excel file.
  • MacAffee antivirus running, with "paranoid" configuration which cannot be changed;
  • 1GB to 1.5GB of memory available, the computer has 2GB but it is not possible to use much more than 1500KB.
Here's my first conclusions:
  1. Yes, I do have completely different privileges on the same domain, depending if I'm working on the real or on the virtual system.
  2. Yes, I do have MS Office on the "wrong" system, I am forced to checkout files from the version control repository in the virtual system, copy the files into the real system, edit the files in the real system, copy the files back to the virtual system and the check in the files, also in the virtual system.
  3. Yes, I do have two anti-virus, that I cannot configure to be less intrusive, which sometimes scan the same files at the same time.
  4. Yes, I do have two operating systems running, but one is actually resting or doing nothing at all.
  5. Yes, I do have 2GB of memory but cannot use more than 1.5GB beacause the operating system that is doing nothing needs 0.5GB.
  6. Yes, I do have a standard hard disk but cannot use it since I cannot save files into it.

I though that was stupid enough and it couldn't possible get worse, I was completely wrong, the nightmare had not even started...

I had to reinstall everything on the virtual system, and that's when I really understood how bad this architecture is.
When I installed the first application, it took ages... It's not difficult to understand why, a simple explanation is: any disk or memory access must go through the virtual anti-virus, the virtual operating system, the virtual disk and then it must go through the real anti-virus, the virtual operating system and the virtual disk. I do know that not all access are this bad, but the overall outcome is bad enough.

I made some measurements and here's the conclusions: this new system architecture is 4 times slower! Here's an example, a tipical BEA Weblogic 8.1.5 installation takes about 5 minutes on a regular computer, it took 15 minutes. But the record was from BEA Weblogic Integration 9.2, it takes 15 minutes on a regular computer but it took 60 minutes to install on the virtual system.
For the skeptics, yes, I did used a chronometer for time measurement.

An installation procedure is done once in a while, so it was annoying but I could live with that.
But on a working daily bases, I cannot live with such a slow system.
I continued my measurements and concluded that each consultant doing the same job as I do has seen a productivity decrease of 90 minutes per day. Yes, each consultant is one hour and thirty minutes slower than before, per day...
This makes 33 hours slower per month, on 40 hour labor week, it's almost one week of vacation per month... The client to which I'm working has over 40 people doing the same job and I do...
And we're not cheap...

When I showed these number to my superior I asked him if I could use my laptop and go home 1h30m early each day... He and I laughed. :)
When I asked him the killer question of "why" were our desktops migrated into such a stupid architecture, he could not tell and has also not received any answers from the client.
I can point a lot more reasons not to adopt such a stupid architecture, but have not found a single reason for doing so...

The client has shot its own foot: it should give us the best environment possible so that we can be high performers, but actually it is slowing us down and paying us for it...

So, if you want to do nothing and get payed for doing it, just find a client which is at least as stupid as this one. Find a killer combination like the one I have found: stupid system administrators and dumb organization that cannot even fight back, even when people from the organization complain...


This is definitely one of the stupidest ideas I've ever seen from system administration (and believe me I've seen a few)... But then again, it may be just me, after all, I do have bad temper...
But the story of the virtual machines continues...


I have complained about the 90 minutes performance decrease per day per developer to my manager and I also have reported it to the client in the monthly report.

One Thursday we had a meeting with the client and one of the topics was the virtual machines performance.
My client had been warned by the 90 minutes performance decrease, my manager has done his job right, and wanted to know what was going on.
She started by performing a simple calculation, multiplying the 90 minutes for all the resources she has that develop using the virtual machines times 22 working days and came up with 1600 hours.
1600 hours per month that she's paying us for doing nothing! She freaked out.
I've explained her that the system is running two operating systems, two anti-virus, we can only use 75% of the available RAM, the processor is never 100% available and any I/O disk operation is extremely slow.
The guy responsible for that 1600 hour loss had no words to justify why she was paying 1600 hours per month of inactivity.

After some discussion, the guy came up with the following solution: double the RAM of all the machines. This solution is totally lined up with the "brilliant" idea of the virtual machines implementation: it is totally stupid!
Instead of admitting that the virtual machines did not work and revert the process, he decided to buy more RAM for each machine. This will increase the client costs and even with 4GB RAM, he admitted that:

1. The developers will not be able to use the full capabilities of the machine.
2. The anti-virus will still be intrusive and will still decrease the developers performance, since nothing will change.

Lesson learned: if you made a mistake, do not fix it, just make slight variations of the mistake and eventually everybody will drop the subject...

./M6