"BC32400: Class 'CLSID_CorSymWriter' could not be created: Access is denied."
This is the error we get while trying to run our .NET application.
The application is a ASP.net/VB.net website running on MS SQL Server DB. It runs a host of windows services like MS Excel and MS Project.
This error has been occurring since yesterday evening 7 pm and so far a lot of diagnostics have gone into it,with us doing overtime late into night :)
As far as obtained from the internet, the .net framework requires reinstallation. Based on logs,we have been able to find the service which might have caused a registry corruption leading to this.
We have already run various tests and diagnostics to isolate and fix the issue without opting for tough solutions like re-formatting.
After spending many hours in front of our server in the closed and otherwise inaccessible server room, the decision has been taken to format the server. This is due to application's criticality to the day-to-day working of the organization.
But I have asked the team to record all logs and keep for further study. Hopefully we can make a learning out of it for future cases.
Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts
January 08, 2010
December 15, 2009
Brain v/s Technology
What I want to blog about today has its cause and roots at my Windows work environment(:D)
My idea of a software engineer is that of a person who uses software and technology to provide solutions to problems in businesses/industries.
The general conception of
Now,from the point of view of an engineer who is interested in developing products/solutions for solving a set of problems,lets observe the requirements of a tool he/she would want to acquire.
1)Ease of use
Intuitive UIs,complete and concise manuals
2)Features that aid reduction in production time
Methods to accelerate commonly used operations
3)Facilities to let developer focus on business logic
Abstraction of internal technological details(left to developer to choose)
We see these things implemented with varying degrees of effectiveness in the various tools,IDEs,frameworks and platforms that are popular in the market.
The whole idea is that the developer's brain,effort and time has to be devoted only to solving the given problem logically and not in fiddling with the tool/technology itself. Its for this reason that companies are ready to invest on costly development environment like the ones ###@#@$*** Microsoft sells. But .NET and its accompanying tools are so royally messed up that a developer ends up wasting almost half of his/her time circumventing some technical issues or hacking it(as it is called). And it has to be done so frequently and in inexplicable ways that if the software moves to a maintenance team,the developer will have to make sure not to come in contact with that team(if he values his life i.e).
If I start listing the stupid and frustrating bugs that come up with Visual Studio, I can fill pages(that too in this short period of exp).

Another fact that I would like to point out here is that,though bug circumventing and hacking of tools are needed in other platforms as well,a few well placed Google searches can place you at a good position in those cases. In case of M$, for most of the crazy problems, you can only see questions been posted by poor developers like yourself. No official solution or usually ANY solution at all are usually present. If something is present, it might be either someone saying "I too have this problem..Please Help!",or someone pointing to something that does not work at all or some troublesome suggestions like reinstall framework/IDE or even OS :D :P.

So now I am getting to know in First Person why M$ development environment is royally ****ed up. They should realize that developers are people with brains and should let them utilize that more to solve more and more problems with more efficiency. The current state of affairs only aid in frustrating the developer and stealing his valuable time and clarity of thought. They should seriously stop imposing the junk technology on smart people.
Maybe they are just afraid that once people use their brains more,they will migrate to other platforms :P :P
Adios....
My idea of a software engineer is that of a person who uses software and technology to provide solutions to problems in businesses/industries.
The general conception of
Software Engineering Equals Coding,Coding and more codingis absolute bullshit as far as I am concerned. An engineer must be involved in the design of a solution and implementation of the same using the right tools and technology.And, to aid the engineer in building his solutions quickly/easily/efficiently an industry itself thrives to provide tools,frameworks and platforms. A lot of big and small players are involved in this industry,with varying degrees of success and market penetration. Each player remains in market owing to some specialty they are able to provide to their customers which the others are not able to match.
Now,from the point of view of an engineer who is interested in developing products/solutions for solving a set of problems,lets observe the requirements of a tool he/she would want to acquire.
1)Ease of use
Intuitive UIs,complete and concise manuals
2)Features that aid reduction in production time
Methods to accelerate commonly used operations
3)Facilities to let developer focus on business logic
Abstraction of internal technological details(left to developer to choose)
We see these things implemented with varying degrees of effectiveness in the various tools,IDEs,frameworks and platforms that are popular in the market.
The whole idea is that the developer's brain,effort and time has to be devoted only to solving the given problem logically and not in fiddling with the tool/technology itself. Its for this reason that companies are ready to invest on costly development environment like the ones ###@#@$*** Microsoft sells. But .NET and its accompanying tools are so royally messed up that a developer ends up wasting almost half of his/her time circumventing some technical issues or hacking it(as it is called). And it has to be done so frequently and in inexplicable ways that if the software moves to a maintenance team,the developer will have to make sure not to come in contact with that team(if he values his life i.e).
If I start listing the stupid and frustrating bugs that come up with Visual Studio, I can fill pages(that too in this short period of exp).

Another fact that I would like to point out here is that,though bug circumventing and hacking of tools are needed in other platforms as well,a few well placed Google searches can place you at a good position in those cases. In case of M$, for most of the crazy problems, you can only see questions been posted by poor developers like yourself. No official solution or usually ANY solution at all are usually present. If something is present, it might be either someone saying "I too have this problem..Please Help!",or someone pointing to something that does not work at all or some troublesome suggestions like reinstall framework/IDE or even OS :D :P.

So now I am getting to know in First Person why M$ development environment is royally ****ed up. They should realize that developers are people with brains and should let them utilize that more to solve more and more problems with more efficiency. The current state of affairs only aid in frustrating the developer and stealing his valuable time and clarity of thought. They should seriously stop imposing the junk technology on smart people.
Maybe they are just afraid that once people use their brains more,they will migrate to other platforms :P :P
Adios....
August 10, 2008
another df modification
df -H|sed -n '/^\//{H;d};${x;p}'
Just another modification to view usage of all partitions in the way I want...
vivek@vivek-desktop:~$ df -H|sed -n '/^\//{H;d};${x;p}'
/dev/sda3 13G 6.6G 5.6G 55% /
/dev/sda6 38G 32G 5.9G 85% /media/6
/dev/sda7 65G 63G 2.0G 97% /media/7
/dev/sda8 43G 38G 5.7G 87% /media/8
/dev/sda9 33G 32G 1.2G 97% /media/9
/dev/sda1 17G 7.4G 8.8G 46% /media/1
/dev/sda5 43G 41G 2.0G 96% /media/5
Just another modification to view usage of all partitions in the way I want...
vivek@vivek-desktop:~$ df -H|sed -n '/^\//{H;d};${x;p}'
/dev/sda3 13G 6.6G 5.6G 55% /
/dev/sda6 38G 32G 5.9G 85% /media/6
/dev/sda7 65G 63G 2.0G 97% /media/7
/dev/sda8 43G 38G 5.7G 87% /media/8
/dev/sda9 33G 32G 1.2G 97% /media/9
/dev/sda1 17G 7.4G 8.8G 46% /media/1
/dev/sda5 43G 41G 2.0G 96% /media/5
June 11, 2008
Perl Script to Organize Scripts
This is a perl script for renaming and arranging your scripts(perl,bash,sed,awk and sh currently included) into corresponding folders.
You just run it in a folder where you store all your scripts.This script examines the she-bang(#!) line and determines which folder to move the program to and what extension to provide.
You just run it in a folder where you store all your scripts.This script examines the she-bang(#!) line and determines which folder to move the program to and what extension to provide.
#!/usr/bin/perl -w
%ftypes= qw (perl pl bash sh sed ed awk aw sh sh);
opendir dirhndl,"." or die "Cannot open directory:$!";
while ($file= readdir(dirhndl)) {
if(-f $file){
open fh,$file;
$line=;
if($line=~/^\#!.*?(\w+)\s+/) {
$dir= $1;
$ext= $ftypes{$dir}; #Identify and extract extension from hash
}
if($file=~/(\w+\.)\w*/) {$new=$1.$ext;}
else {$new=$file.".".$ext;}
mkdir $dir unless( -e $dir); #Make directory by type name
$newfile="./".$dir."/".$new;
rename "$file", "$newfile";
close(fh);
}
}
closedir(dirhndl);
April 30, 2008
Automated scripts
This is a simple and very simple script! Not even worth mentioning as it does nothing but utilizes another command.Still let it be here.
Its self explaining enough.
Sample output is:
Here is the content of my /etc/init.d/bootmisc.sh
I guess here I can add some scripts I need to run.
#/bin/bash
df -H|awk 'BEGIN{i=0;j=0} $1~/\/dev/ \
{if($4~/M$/){i=i+($4/1000)}else{i=i+$4};j=j+$2} \
END{print"Free space:"i" GB";print"Total Space:"j" GB";print"Percentage Free:"i/j*100"%"}'
Its self explaining enough.
Sample output is:
vivek@vivek-desktop:~$ space
Free space:31.6 GB
Total Space:252 GB
Percentage Free:12.5397%
vivek@vivek-desktop:~$
Here is the content of my /etc/init.d/bootmisc.sh
I guess here I can add some scripts I need to run.
#!/bin/sh
### BEGIN INIT INFO
# Provides: bootmisc
# Required-Start: $local_fs hostname $remote_fs
# Required-Stop: $local_fs
# Default-Start: S
# Default-Stop:
# Short-Description: Miscellaneous things to be done during bootup.
# Description:
### END INIT INFO
PATH=/usr/sbin:/usr/bin:/sbin:/bin
[ "$DELAYLOGIN" ] || DELAYLOGIN=yes
. /lib/init/vars.sh
do_start () {
#
# If login delaying is enabled then create the flag file
# which prevents logins before startup is complete
#
case "$DELAYLOGIN" in
Y*|y*)
echo "System bootup in progress - please wait" > /var/lib/initscripts/nologin
;;
esac
# Create /var/run/utmp so we can login.
: > /var/run/utmp
if grep -q ^utmp: /etc/group
then
chmod 664 /var/run/utmp
chgrp utmp /var/run/utmp
fi
# Set pseudo-terminal access permissions.
if [ ! -e /dev/.devfsd ] && [ -c /dev/ttyp0 ]
then
chmod -f 666 /dev/tty[p-za-e][0-9a-f]
chown -f root:tty /dev/tty[p-za-e][0-9a-f]
fi
# Update motd
uname -snrvm > /var/run/motd
[ -f /etc/motd.tail ] && cat /etc/motd.tail >> /var/run/motd
# Save kernel messages in /var/log/dmesg
if which dmesg >/dev/null 2>&1
then
savelog -q -p -c 5 /var/log/dmesg
dmesg -s 524288 > /var/log/dmesg
chgrp adm /var/log/dmesg || :
elif [ -c /dev/klog ]
then
savelog -q -p -c 5 /var/log/dmesg
dd if=/dev/klog of=/var/log/dmesg &
sleep 1
kill $!
[ -f /var/log/dmesg ] && { chgrp adm /var/log/dmesg || : ; }
fi
# Remove bootclean's flag files.
# Don't run bootclean again after this!
rm -f /tmp/.clean
}
case "$1" in
start|"")
do_start
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
exit 3
;;
stop)
# No-op
;;
*)
echo "Usage: bootmisc.sh [start|stop]" >&2
exit 3
;;
esac
:
April 12, 2008
My first perl program
#!/usr/bin/perl
# chess.plx
use warnings;
use strict;
my @chessboard;
my @back = qw(R N B Q K N B R);
for (0..7) {
$chessboard[0]->[$_] = "W" . $back[$_]; # White Back Row
$chessboard[1]->[$_] = "WP"; # White Pawns
$chessboard[6]->[$_] = "BP"; # Black Pawns
$chessboard[7]->[$_] = "B" . $back[$_]; # Black Back Row
}
while (1) {
# Print board
for my $i (reverse (0..7)) { # Row
for my $j (0..7) { # Column
if (defined $chessboard[$i]->[$j]) {
print $chessboard[$i]->[$j];
} elsif ( ($i %2) == ($j %2) ) {
print "..";
} else {
print " ";
}
print " "; # End of cell
}
print "\n"; # End of row
}
print "\nStarting square [x,y]: ";
my $move = <>;
last unless ($move =~ /^\s*([1-8]),([1-8])/);
my $startx = $1-1; my $starty = $2-1;
unless (defined $chessboard[$starty]->[$startx]) {
print "There's nothing on that square!\n";
next;
}
print "\nEnding square [x,y]: ";
$move = <>;
last unless ($move =~ /([1-8]),([1-8])/);
my $endx = $1-1; my $endy = $2-1;
# Put starting square on ending square.
$chessboard[$endy]->[$endx] = $chessboard[$starty]->[$startx];
# Remove from old square
undef $chessboard[$starty]->[$startx];
}
This is just a simple chess,where white player can move around anywhere doing anything.Not victory conditions set.Please do try it.
I remade it from an original chess program.
March 20, 2008
Tech tek tek
Well I cudn't think of any other title..so just put it in...
Got to tell abt the urge to pursue tech with pure interest of an engineer(for me an ideal engineer in my dreams would be the technician working late into night into his new machine with great enthusiasm).
Though i have been quite unable to emulate that enthusiasm always...i really am optimistic about it.
Perl seems so synonymous with a placement in Yahoo! that it doesn't strike a chord with me.
C on the other hand seems attractive as it seems to be able surprise me on a weekly basis due to its power and reach.
Today by chance I looked up the Google Summer of Code thing..wish I had put some effort into one of the many fields and got the unique chance for an engineer to get a project to live and die on...hehe
Surely such events are gonna boost the upcoming techies ....more nice projects,improvements await the industry.
Google as usual seems to be going far ahead in all terms...just check Google Code
OpenSocial and Android are two promising fields for development.
There are also tonnes of other APIs provided..what more can an enthusiastic young engineer ask for...but I(the glorified so called techie) dont find all this to be enuf...hehe...tats coz while reading the details of a project,sooner or later I wud come upon some roadblock,most probably a new language or concept..gosh i wish i knew them too....hm..i seem to be wishing for a lot of things..its a good sign....hope the best of the better dreams await me...
Got to tell abt the urge to pursue tech with pure interest of an engineer(for me an ideal engineer in my dreams would be the technician working late into night into his new machine with great enthusiasm).
Though i have been quite unable to emulate that enthusiasm always...i really am optimistic about it.
Perl seems so synonymous with a placement in Yahoo! that it doesn't strike a chord with me.
C on the other hand seems attractive as it seems to be able surprise me on a weekly basis due to its power and reach.
Today by chance I looked up the Google Summer of Code thing..wish I had put some effort into one of the many fields and got the unique chance for an engineer to get a project to live and die on...hehe
Surely such events are gonna boost the upcoming techies ....more nice projects,improvements await the industry.
Google as usual seems to be going far ahead in all terms...just check Google Code
OpenSocial and Android are two promising fields for development.
There are also tonnes of other APIs provided..what more can an enthusiastic young engineer ask for...but I(the glorified so called techie) dont find all this to be enuf...hehe...tats coz while reading the details of a project,sooner or later I wud come upon some roadblock,most probably a new language or concept..gosh i wish i knew them too....hm..i seem to be wishing for a lot of things..its a good sign....hope the best of the better dreams await me...
Subscribe to:
Posts (Atom)