Tuesday, September 16, 2008

SharePoint Server 2007

You may have caught my "scepticism" about Microsoft technology. To say the least, I am not "wildly enthusiastic" about anything that comes from the big M.
So, a couple of weeks ago I was asked by my company to try and make a specific web application in MOSS 2007. (Microsoft Office Sharepoint Server 2007). It was a fairly simple matter, so I agreed. It being the latest and greatest version of the particular software, I went into the project with an open mind and high expectations.
To my surprise, the install went pretty smoothly:
Windows Server 2003, Adding it to domain, MOSS 2007.
So I made a first draft of the application using nothing more than web-based editing tools of the MOSS. Great job. 
The first request by the users was to "translate" the pages into the local language, since people aren't exactly fluent in english.
A long and exhausting search over the microsoft website led me to believe that I needed to buy the language pack, but a short and painless google search led me directly to the file on the microsoft website.
Install it, then look for the option to change interface language.
Another long search later I find out that a Web Application language cannot be changed after it has been set up.
Luckily, there wasn't very much work put into it by that point, so I erased the whole thing and started again, this time selecting the correct language option when creating the site.

It was running in 3 days (total), but there was something odd going on with the server:
Every morning when I came in, the thing was freshly rebooted. Event logs showed me mysterious BSOD crashes. It took me over a week to determine the fault: CPU.
Yes, a bad CPU which worked fine under moderate loads but caved in under stress. So, my first question was: "How to move the entire MOSS + application to antoher PC?"
I quickly made backups (new ones) and uploaded them to a safe spot. Then I figured I would use the corporate Symantec Ghost, my company had purchased.
WRONG!
After booting into the new PC with old system, I discovered that the Domain was unaccessible, since the PC name didn't match the machine account in the ctive Directory. Well, remove PC from domain, change name, add PC to domain.
Sharepoint dies. The web application names are wrong, database server is wrong.
A few days of trying to find the settings and all, reinstalling MOSS, trying to restore from backups - to no avail.
Lacking other options, I wiped the machine clean and went about reinstalling the whole thing.
Windows 2003 Server, Domain, MOSS 2007.
Gues what? It doesn't work from a clean install!! (not even the basic pre-loaded sites)
A few reinstalls of MOSS 2007 somehow hacked it together (dunno why it started working all of a sudden).
So, restore the web application from backup? Nope.
The restore process fails at random points due to:
  • Cannot connect to DB server
  • Wrong permissions on Filesystem/DB server
  • Random .NET exceptions, which I didn't note
Plus the very annoying thing about backups and restores:
When you choose the settings for backup/restore, it inserts a "Timer job" into the scheduled tasks and tries to exec it about 30 seconds later. If it fails, you need to find the log of the timer job somewhere in the guts. So you correct the error and try to re-do the backup. The Job cannot be restarted, so you go into "Operations" and try to create a new backup/restore job.
WHOOPS... AFTER entering all the data, it tells you that _A_ backup/restore job already exists, and you need to delete the old one before creating a new one.
It is amazing how counter-intuitive that is. (I had to enter the restore details about 17 times with only about 12 restore attempts)

Finally, by a miracle it works.

Do you think that was the end of my problems?
Read on...

A couple of weeks into operation, I decide to upgrade the RAM on the machine, since it is working dreadfully slow.
I add 1Gb, unaware that one of the modules is bad (it was fine a week ago in another PC, tested with memtest86).
I get a BSOD while loading windows, I quickly shut it and remove the RAM for testing. Finally, having no more supply I decide to stick with 1Gb from before + 512 module that works.. better than just 1Gb.
After booting the machine up - MOSS site almost works. By almost I mean that some elements display OK, others show "" (in my local language - which is a great help in searching for the error). Some people had similar issues, but they were either a) not similar enough to apply to me, or b) Had no answer as to the solution.

A full day of hacking later, trying to make it work, I find the problem:
Sharepoint Server can't log on to SQL server, but ONLY for the Configuration Database, the rest seem to work ok. The user in question is NT AUTHORITY\NETWORK SERVICE, and after checking all the permissions and mapping and server roles, I am unable to make it work.
So here I am, reinstalling MOSS and hoping it will work, but I'm 90% sure that I will need to reinstall the entire thing from scratch again. In both cases I will need to do the backup restore hassle again, I think.

In my own words: Installing Windows 2003 Server & Sharepoint 2007 is like pushing a ball up the pyramit to the very tip.
Maintaining such a configuration is basically trying to keep the ball on the pyramid tip.
With the latest correction: It's not a pyramid, it's a freaking cone!

Give me Apache any day of the week.

Saturday, July 12, 2008

Support pages in need of support

As a hardware and software user I enjoy being up-to-date on all things. Staying updated in the hardware department is just a matter of money, so I will not write extensively about that. The primary concern right now is the software.

The source of new (and, in some cases, improved) software is usually the vendor's website. As a rule, I never install the drivers from the CD or DVD that arrived with my hardware. I also never keep "archives" of drivers which I can re-use when re-installing the OS. What is the point of keeping a CD around for two (or more) years just to install the outdated software on it, which usually causes problems with newer versions of OS, when there are perfectly good 100M and faster internet connections available to me?

And here come the problems.
To make sure you understand: I don't mind the pages changing, I don't care that the company was purchased by another company and I can also live with radical changes in the software itself.
The things that do annoy me are these:
  • Definately top: pages not working, files missing, wrong links, etc.
  • Companies forcing you to download a huge amount of irrelevant stuff, which you then have the option of not installing.
  • Drivers not being "signed" by Microsoft Certification after 6 years that the OS has been around.
Let me explain these in more detail.
A certain database vendor (a large name in the database business) offers a free version of their product with some limitations. Being a conscientious student, I wish to install this so I can study (yes, my college requires me to learn how to use commercial software instead of open alternatives - it stinks). Comes the first "catch": I need to be "registered" user, before I can even get a glimpse of their free product, which usually means giving them all sorts of information and then opting out of the many announcements, product updates, news and similar that would otherwise drown my mailbox.
Comes the next problem: Wanting to follow the link to register, I am asked for the username and password to access the site (which I do not, as of yet, have), after which I am told that "I am not authorized to view that page". Great fun.
Well, they did say that the pages are being re-constructed, so I might as well try at a later date.

The homework is due, so I really need that product by now. Figuring that the pages are now completed (and working), I try to do the same again - with similar results.

After some searching on forums (not the company's, since I cannot access them without registering), I learn that it is my browser that is the problem. Switching to IE makes the pages work flawlessly.

So, is it so much to ask of a multi-billion dollar company to try their pages on more than two browsers? (Firefox and IE are the ones that are usually tested) I am a fan of Opera (leightweight and blindingly fast) and I often have problems with websites not working on it. But I'd expect more from the "leading developers of DB and web applications for the past 200 years".

Moving on.
I have been complaining about this one for years, and the problem is only getting worse, it seems.
Wanting a driver for my new hardware (or old hardware, new OS), I go to the vendor's website and try to download it.
Whereupon I get a 150Mb+ exe file. This is not a nice thing.
Yes, I do have access to 100Mbit internet lines, but I rather use that capacity for stuff that I may actually need. Aside from the driver only being about 3-5 Mb in size, the installer package offers to install for me: Adobe Reader (newest), Firefox with the special company toolbar, TV application, Demos, Screen savers (shareware version), Antivirus (shareware version), etc...
Not only do I have to download all this, but I also have to watch the installation wizard quite closely so I dont accidentally install it. (See my post on Installing).

- Just a note: I'd like to express my joy at seing a large hardware vendor who offers me the choice of downloading the "bare minimum driver only" (16.7 Mb) or the entire package (43 Mb).
Thanks http://ati.amd.com!

Imagine here the "hypothetical" scenario:
Pop the OS install cd into a PC which you need to re-install (not your own).
While the thing does it's work (and it requires frequent user interaction, which I shall mention again in a later post), you have some free time in which to retrieve the drivers and software which is to be installed on the PC. Having a few tricks up my sleeve, I simply share the folder over my network, so that I can avoid USB drives or CD burning.
Once the base system is installed, I enable Remote Desktop on it (since my own workstation has two monitors), and I can continue working while the drivers and software are being installed. (This saves a lot of time, believe me).
So, what happens if you forget to copy the driver install files over the network and just run them from the share?
OUCH
Here is a reconstruction of what I believe happens:
The OS wishes to open the file \\workstation\shared\drivers\Driver.exe (200 Mb).
The antivirus needs to check the file for viruses, so the OS must fetch the file through the network, while the antivirus checks it and you are waiting with a blocked Explorer.
Rather than keeping the file in memory (or temporary space), it is entirely discarded.
In order to execute the file, it has to be read into the memory (or at least scanned to the end), which means that it is fetched again, while you are waiting with a blocked Explorer.
Finally, some action! The setup dialog opens, and begins to "check the file contents" (another fetch over the network), then "extract it" (yes, another fetch), whereupon it starts the "real" setup.exe from the extracted folder.
The AV needs to check that file as well, but fortunately it is usually small - the rest from here on goes smoothly.

If you have been counting, that is 4 downloads of the file over the network. Imagine having only a 10Mb non-switched network with an average transfer speed of 400Kb/s (due to activity).
Yes, it is faster to download the file from the internet again.

I leave it as an excercise for the reader to find out what is wrong with all that.

As for the third point...
I shall not elaborate on it, the point being (hopefully) self-apparent.

Tuesday, June 24, 2008

Whiners and flamers

It happens to all of us, even the greatest. There comes a thing we must do, and we do not yet know how to do it. (In actuality, it happens a lot more often than gurus admit, the thing is to hide your ignorance until you have replaced it with knowledge.)

A lot of the problems are in the form: "How do I make this bloody X work with/in/on/along that stupid Y?" or "Why doesn't Z work?"
In such cases, I use my favourite knowledgebase - Google!
And I come accross non-gurus, with similar problems, but who cannot find a solution to them, it seems. The first 20 odd pages of google results are forum posts about my topic, and with luck one of them has an answer as well - it just takes a bit of reading.
Here is where the "whiners" come in. They usually start with something like:
"Uh, hi, I have XYZ like so and so, and I tried to do W with it, but it doesn't work? Why, WTFOMFGLOL? I really think those hardware/software/misc companies {insert name here} should work harder for me, their consumer. They should already go and fix that problem I am having.
Incidentally, has anyone found a solution?"

To be admitted, there has to be at least _one_ such post, or the people with solutions won't be able to reply to it.

The next problem encountered is the "flamer response". It goes something like this:
"LOL ur such a noob, u don't know shitt, the companies wont do that and that just for u and some other jerks who dont wanna spend sum money 4 upgradez - get a job/life/girlfriend and stop wasting every1s time already sheesh u so stoopid"

The debate is joined by a few more people, some defending person #1 from the flame, others supporting the arguments made by person #2 in his/her flame.
And the debate very quickly sidetracks to something completely irrelevant, like politics.

Here are a few thoughts I had on this matter:
First. whiners:
- List your spects AS DETAILED AS YOU CAN, down to P/N, if you can find it.
- Append the lists at the END OF YOUR POST
- Write a summarized description of your problem.
This is wrong: "I have a problem," this is also wrong: "I went in to a store about a year ago and bought my first home PC... ... (...)"
This is right: "I have X and Y and they dont do Z."
- Don't complain about "someone up in the sky who should have seen this and fixed it so that it worked perfectly by the time I got to the same problem." The companies try (granted, not too hard sometimes), things get missed or unsupported or whatever, YOU ARE ALREADY LOOKING FOR A SOLUTION, SO STOP DEMANDING THAT IT SHOULD HAVE BEEN DELIVERED TO YOU ON A SILVER PLATE BEFORE YOU EVEN HAD THE PROBLEM.

And flamers:
- People dont want to throw nearly new stuff away just because it is "nearly" new, and spend a lot of money for "new" new stuff, like you do. Not everyone has rich parents.
- If you cannot help with the solution, DO NOT REPLY. All you are contributing to is PAGES UPON PAGES of useless spam for future readers with a similar problem, who will have to read through your spam and the replies to it and your counter-arguments, etc etc... - before they get to the end of posting and find no solution for the problem.
- If the problem has already been solved, do not spend more than _1_ page saying so and commenting on the mental state of the person asking. Include a link or copy the solution - that'd be infinitely more useful.
- Just because 2 out of 3 friends haven't encountered the problem, that doesn't mean it isn't widespread.


So, a bit more politeness and we may shorten the search for solutions down to 18, maybe even 16 pages of "real" spam.

Thank you already.

Saturday, May 24, 2008

Shutting down

What do people expect from their computers when they've clicked the "Shut down" button?
I have asked around, wanting to get a more complete idea than my own, rather limited thinking.
The answers were, amazingly, more or less unanimous, along the lines of:
"I want my computer to power off."
The more technical savy friends of mine explained to me that the "powered off" state means that, _allthough_ the computer still uses some electrical energy, it is not 'active'. The CPU and memory are using no power at all, the disks are silent and no fans should be turning. The bit of electrical juice is taken by the motherboard in order to be able to 'detect' when you wish to power it on.

I apologize for that rather detailed description, but it is necessary to provide contrast to some of the experiences mentioned below.
So, what do the operating systems (or maybe their designers) think of the phrase "to power down"?
In most of unix and BSD clones, as well as the venerable z/OS from IBM, the idea behind the button (or command, as the case may be), is to _safely_ discontinue everything that the computer is doing and then with the aid of hardware to achieve the above mentioned "off state". The reason for 'safely' is that, presumably, you would like the computer to work at those tasks again in the future and do not fancy an idea of re-installing everything or correcting mistakes in data that come from sudden power loses. The IT industry invests massive amounts of money into insuring that power is not suddenly lost to big important computers.

But here comes a 'different' system. Windows (specifically the XP version).
I admit that it has occasionally happened to me that after commanding my Linux computer to shut down, it has failed to do so and stopped in the middle of that process. That usually signifies a large problem in the inner workings of the system, which bears investigation, or a large problem in the computer hardware, which is also a serious matter.
On the other hand, if everything worked perfectly and no hardware failures occured, the PC successfully shut down _EVERY SINGLE TIME I WANTED IT TO_. (Note the emphasis.)

Whereas, it is, I understand, a quite common occurence in Windows XP computers to simply.. stop in the middle of shutting down. Most of us have seen those nice "End Task" dialoges, which pop up when a stubborn program refuses to die quietly when ordered to.
The idea behind theese is that the OS is kind enough to wait for the task for a bit, and if it still refuses to cooperate, it will end the task 'forcibly'.
Naturally, that is not to be desired, as such scenarios lead to the afore-mentioned 'corrupted data'.
What confuses me, though, is that after the time limit is up (as indicated by the nice progress bar), the Windows OS asks you to kill the task, or abort shutting down. And it waits there, quite patiently.

Imagine a scenario: You are downloading images from the digital camera just before rushing off to your vacation. You click the shut down button and run off, confident in the knowledge that Windows will do the rest. Two months later you return home and find that: a) the computer has been on all this time and used up a not-inconsiderate amount of electricity, b) The image of that friendly little dialog is burned into your monitor, which you now have to replace and c) when you click any of the buttns in the dialog (after replacing the monitor), Windows continues shutting down, after which you need to turn your computer back on before you can start using it again.

Also, there is another thing:
If you have ever used a Windows computer in a networked environment with a file server, you will know about the so-called "offline files". It can be turned off, I understand, but in my experience, it never _stayed_ turned off for long.
The idea is that some files that you use often are copied to your computer and used from there, in order to decrease the load on your network.
The problem with this arrangement is (aside from conflicts and such that can appear when more people are changing the same files at the same time, the details of which I shall not mention here), that the files have to be uploaded back onto the server at some point. In Windows XP that happens when you turn your computer off.
If, for some reason, the connection is no longer available, the "synchronization dialog" will stop in confusion and tell you that it can't be done, waiting patiently for your click.

And, here is the third problem:
If the Windows XP in question has downloaded automatic updates and hasn't had time to bother you about installing them, it will do so before it shuts down. The idea seems fine on paper, but all too often it has happened that the updates failed and the computer got 'stuck' on the "installing updates - do not turn off your computer" screen.

Here are just three eventualities that result in your Windows XP not shutting down on their own, _AFTER_ you clicked the 'shut down' button. I imagine there are more out there which I haven't (luckily) come accross yet.

So, remember: Before going away from the computer, _WAIT_ for it to shut down completely, because you apparently _CAN'T_ trust Windows XP to do so on it's own every time.

Wednesday, April 2, 2008

Windows Vista: The Game

What are the functions you expect from your operating system?

Let me list the bare minimum:
-Allows management and access to hard disk drives (and other storage devices)
-Manages hardware so that it works
-Allows me to run programs

Added to this are optional stuff like security, networking and an efficient user interface. It is also helpful if the system is responsive (fast) and looks nice.

Based on that, I rather use (and I _did_ for a long time) a rock-solid, text only system than a fancy "crash or not to crash when I touch it" 3d graphical OS.

It constantly surprises me how efficient a text system can be, if you know the key combinations.

Which brings us to Microsoft Vista - it puts the "ow" in "wow". The desktop looks spectacular, I will grant it that, but it fails miserably on most other accounts.

Let us, for the sake of argument, put functions of the Os into two categories: "bare-minimum" and "extras". Common sense dictates that a decent Os would need to fulfill the "bare-minimum" functions flawlessly and a great OS would need to fulfill "bare-minimum" functions flawlessly and the "extras" quite well.

So. let us distribute the functions:
1-storage of files -> BM ( bare - minimum)
2-hardware and drivers -> BM
3-running programs -> BM
4-secure networking -> nowadays BM
5-quick and efficient user interface -> E (extras)
6-nice looking -> E

Here are the flaunted features, straight from the Microsoft's site, and which category they tall into:
Accessibility - (5)
Ease of access - (5)
Quick access to common tools - (5)
Recommendations to settings - (5)
Explore settings by category - (5)
Magnifier - (5)
Narrator - (5)
On-screen keyboard - (5)
Speech Recognition - (5)
Mouse keys. sticky keys, filter keys - (5)
Aero - (6)
Flip 3d - (5)
Internet explorer 7 - (4)
Sidebar and gadgets - (5)
Backups center - (1)
Parental controls - (5)
Drive encryption - (1)
Media center - (5)
Find files quickly - (1)
Windows defender - (4)

Distribution:
1: 3 (15%)
2: 0 (0%)
3: 0 (0%)
4: 2 (10%)
5: 14 (70%)
6: 1 (5%)

Please note that these are only the features that Microsoft thought they were worth mentioning. Supposedly the reliability, performance, hardware support and similar were left out simply because they are se self-evident that they needn't be mentioned at all. Though I doubt it.

Which leaves us with a very unpleasant conclusion. It appears that the extra features were more focused upon than the absolutely necessary "bare-minimum" features that every OS needs.

I can confirm from personal experience that this is, indeed, true. But if you fail to believe me, please type into Google: " Windows vista problem" and read through the distressingly long list of results. There are already about 25% more hits than a similar query for windows XP, which is the closest comparison to Vista. All this despite the difference in OS age. Note the new Service Pack 1, which contains over 500 various fixes and patches (the published list has 500 entres, at least - who knows how many fixes weren't mentioned there).

In conclusion:
I feel like the latest from Microsoft is an attempt to sell a game as it's Premium Operating System. The features on the site give me "desperate" feel, as it they were searching hard to find good things to say about Vista. Or, as if their intended audience are people with disabilities. It is similar to the way people deliberately neglect to mention the bad engine of the used car and focus instead on the way the seat lining is perfectly preserved.

Thanks, but I need an OS that works, not a $200 (USA) or $700 (Europe) game.

PS: Excuse the possible typos, since Iam using the Tablet PC pen input and it gets odd ideas about my handwriting.