Monday, December 27, 2004

Challenges of maintaining an almost 9 year old piece of software

 Originally posted on:

This in a sense is just a rant, but also a serious post.

I've been working for this company (still the same one I wrote about before) for the last five years in changing roles, I always had some sort of connection to the web component, and in the past 2.5 years, I have been on the actual dev team of it.

To outline the past roadmap of this application, lets just say that it started as a demo. which is the worst mistake that was done here. Why? because when you develop something as a demo/poc/ just for a show, the code behind looks exactly like that.

At the beginning it was developed on Access database (?!?!?!) this was supposed to be software that sold to enterprises - and believe it or not, it was sold... The web application itself was created as the worst spaghetti code possible, with ASP, VBSCript, HTML, SQL, Javascript all mixed up on innocent .asp pages. As I said this was designed as a demo by people not very knowledgeable of Web development - and it looks it.

Lets continue along memory lane.

Then came the next version (this is more than two years after the beginning), support for running the database on SQL server was added (notice added - you could still work with Access). Of course since there were budget restrictions (I wasn't there yet, but I can guess) - they couldn't re-write data layer (remember it was all spagheti code) - and since everything needed to work, the database scheme on SQL server, was essentially the same as the one on Access. So no SPs, no Foreign Keys - nothing... Same badly designed tables and views.

Here comes the next version, I already worked in the company but not on the team. A huge effort to modernize the software (got its own major version). Here there was a newer team. the concept of COM for business and Data layers (the three tier model) finally was implemented, but again - only for the newer features. again because there was no time and not enough money. From then on development is done primarily in VB DLLS, but still some is implemented as spaghetti code in ASP, and of course no re-writes are being done on old code, unless a bug is being reported. Not to mention that no documentation of any kind is being kept or ever created - you have to go through the entire code to understand what is going on. At this stage the QA team leader actually knows better than the Dev team leader how the application will behave at certain scenarios.

By this time it is already quite a large amount of code, with different historical layers, that an archeologist would happily dig through to understand how men thought at prehistoric times, and I inherited it. Of course no one gives me the time to re-write even the most atrocious parts of it (unless there is a serious bug).

By now for each major object, there are at least three ways of creation, all supporting different parameters and sometimes different business logic. I'm always on the crusade to retire old sections and to re-write as much as possible.

As you can understand the main causes for this situation were:
1. a bad beginning
2. unwillingness by management to understand that beginning was bad - and therefore needs some fixing up

Result: code is a mess, adding new / modifying features is real hell - development is much slower, and the chances for mistakes and problems (bugs, backward compatibility, upgrades between versions, security) are greatly enhanced.

We are now planing to migrate the application to .NET - I foresee a nightmare.

Thursday, December 16, 2004

Why I'm currently staying with Google desktop

 Originally posted on:

I Installed MSN Toolbar suite a few days ago, and I just noticed today that I'm not using it, actually I spent more time to configure it (and there aren't that much configuration options), than the time I spent searching with it.

I continue to use Google desktop all the time. Why? well I can think of quite a few reasons.

1. For some reason the MSN Deskbar on my computer is flickering all the time (the buttons are blinking constantly) - which annoys me to the the point that I turn it off, therefore my only option is to search with the IE/Outlook toolbar
2. Outlook is constantly open on my desktop, however, I rarely actually look at it, what is almost always open is a browser (mostly IE), so the outlook integration doesn't help me and actually I haven't even used it once. I am a geek and I love testing things - but I do it in a context because I have it near me and the option is appealing, so I don't use outlook.
3. The default option in the MSN IE Toolbar is search web, this obviously sends me to the MSN search on the web - I don't like it at all. I like to search through Google. If I want to search my computer I have to select the option from the toolbar - Ouch!  I like to click “Enter“ instead of using buttons.
4. The Outlook email indexing of the MSN search is annoying, for example searching for my name, I expect it to bring only emails that contain my name (obviously most everything, but still not all of them). MS brings me each and every item, why? because my mail box is named after me, so that everything under that path is returned, Google brings much more relevant results, even on the desktop.
5. Web integration. when I search with Google I get all the results in one place and window - I like that. The fact that I can't directly do things like “send as attachment“ is uncomfortable, that was one of the main pluses of the MSN toolbar for me, but I miss viewing the web results in the same window...... Very much!
6. Last but not least, for me at least - Google is still a lot faster.

Actually I think the real main reason (while all the above is true) is that I had Google Desktop for longer and I'm already attached. That's the biggest mistake MS did - releasing after Google.

MSN Desktop (MSN Toolbar suite) is nice, but for now I'm sticking with Google.

Google has a lot to work on: Firefox integration, context handling, allowing extension of indexing engine like IFilter, which is a great feature of MSN Toolbar, I don't want to hack to add search capabilities (GD+), Gmail integration (why do I need notifier if I have the GD already), full blogger integration (I love the blogThis button), and more... and I'm sure they will do most of it soon.

I'm proposing a software challenge. Develop a small IE adding that integrates with Google search results, and allows displaying windows context items. anybody up for this?

Monday, December 13, 2004

Lookout Google - MSN Toolbar behind you!

 Originally posted on:

Hot of the presses, MSN Toolbar is out there, still a beta, but what isn't these days.

Its almost 1:00 AM here in Israel so I'll wait till tomorrow to actually download and install it, I fell a need to be focused. This Toolbar promises a lot.
1. Popup blocking, autofill forms and more things you'd expect from an IE toolbar
2. Email search
3. Desktop search (indexes Office docs, pdf etc..)
4. Web Search
5. Integration to hotmail
6. Integration to the new MSN Spaces
7. Integration to Outlook

And probably a lot more that I'm missing, there are two available options, Full suite (including everything), and Toolbar only which is only the basic IE toolbar (doesn't even include autofill)

Mike Torres is raving about it... I'll see tomorrow how it fares against Google Desktop+

Truth is I saw it a week ago when Yosi was demoing for us at my company, he asked me to be quiet about it so I was... I didn't get that much of a look at it, but was very intrigued by it.

The Desktop search fight is getting VERY interesting, and no I didn't forget Copernic which is also reputed to be a very good and free engine.

Sunday, December 12, 2004

A new one from Google - Google Suggest

 Originally posted on:

If you already use Gmail, you know about the excellent Auto-Complete feature in the address book. Google just went one step ahead and implemented Auto-Complete in the google search engine itself, this is of course still beta, but is accessible through this link or through Google Labs.

Just type anything in the search bar, and google suggests searches, including how many results such a search would bring.

Via Scoble and Google Labs (which is a web site you should check periodically if you like those stuff).

Thursday, December 9, 2004

Thunderbirds' RSS

 Originally posted on:

I've been a Firefox + Thunderbird user for years now, been following each and every release. I like the combination of two different utilities. I never did like the Netscape suit (you remember Netscape Gold ?). Two lightweight utilities that supply most all of my needs. I completely abandoned Outlook Express once Thunderbird was stable, though I still use IE most of the time.

I was especially excited when looking at the release notes before downloading the latest version of Thunderbird (congrats on finally reaching version 1.0), hear that it supports RSS, to me reading RSS in the Mail reader is the most logical thing, I was going to purchase NewsGator, but after getting the feel of it on the trial version I decided it's not yet where it should be. Since then I've been using SauceReader (I've used SharpReader before that).

But the first look at the interface was disturbing, it wasn't quite clear how to start using RSS (you need to create a new folder with the type of “News & Blogs“), NO OPML importing - A big miss for mozilla! how am I going to import my current blog roll? one by one for some 300 blogs? not to mention no commenting or composing capabilities - Mozilla just wants us to have read only rights on blogs.

It seems like a rush to put in the functionality without filling some basic needs of users, just so that they could say “Hey, we did it! we have RSS!“, and really it's a shame because a slightly longer delay on the release would have enabled them to put out a more complete solution.

I won't be using Thunderbird to read my RSS anytime soon.

Monday, December 6, 2004

Starting the .NET path

 Originally posted on:

Today we had a meeting with several Microsoft Israel people, where we discussed how to best bring our current application into the .NET world.

This is after the long time that I have been pushing to do this and giving all the reasons, apparently hearing it directly from Microsoft has a different effect on management :-)

There still is a long way to go, management which actually wants to go forward with this now, has to decide exactly what path to follow, somewhere between a full application re-design and no leaving the current situation as is - in the middle lie several options, out of which it appears that we will take the slow route - probably at first running ASP and ASP.NET side by side, and create some sort of data sharing between them (Session and Application), and from there creating new features in .NET. but this is just one of the options that was presented. So I'll just have to wait and see.

Anyway I enjoyed the meeting very much, even heard a few secrets :-) and saw a cool demo of master pages in ASP.NET 2.0 - excellent stuff. As a veteran of systems like Vignette I saw many familiar things there, and this are things that I was missing in standard ASP - combining Application Server into the language itself.

I think the message got across to the top level of our company that was attending.

In addition to this, I think everybody watching during the demo was more than a little impressed with Visual Studio 2005 Team System, my team leader was shocked. That's what you get when you are stuck to long using InterDev IDE (VB 6), and suddenly see how simple life can be.

Thanks Yosi and Leon and Doron for showing us the light :-).

Thursday, December 2, 2004

PDF Speedup - A must utility - Update!

 Originally posted on:

Just thought I'd pop and mention this excellent utility called PDF SpeedUP, it's freeware.
You can download it here or read about it here.

Thanks to and the Daily Grind - an excellent blog, with news you can use (at least if you are a software oriented geek :-))

I used it and it works as promised, speeds up acrobat speed by 10 fold. you only need to run it once, or if you want to restore a specific plugin then maybe once more... Who would've thought a one time use utility can be so useful.

Update: If you already installed GoogleDesktop and enjoy it, you will probably want to install this Addin/Replacement right now. It indexes a lot more file extensions (actually you can configure it to index whichever you want....)

Highly recommended, however, note that these are HACKED binaries so installation is at your own risk (make sure you follow the readme.txt file to the dot...).

This one from Scott Hanselman's blog

Monday, November 29, 2004

Designing generic systems/functions

 Originally posted on:

This is a constant issue here at the company, and I guess that it arises almost everywhere.

Let me first explain that we are a company that deals with software development, and mainly for our single product (which is in fact several, but it doesn't really matter).

Each time we develop a new feature, or update a previous one we are of course forced to deal with issues of backward compatibility, and others not only within our products but also with various third-party providers that integrate into our system. This is a known problem for everyone including even (and especially) large companies like Microsoft. Each deals with it in it's own fashion, from introducing a completely new set of APIs (.NET) or just adding new ones where there is no option within the existing API framework.

But I'm not here to discuss that, the problem I want to write about is quite different.

One of the concepts every programmer has heard about (even if some do not implement it) is code re-use. Writing good functions/objects/routines/components (or any other name you want to call them) so that in the future you can take that component by itself and use it to save time, money, and duplicate code. This is a challenge in its own way, and achieving such a level where you can create a project from neatly stacked components is very hard to reach. But the benefits to this approach are quite easy to see - especially in software companies. And this is why of course, managers in software companies push their programmers to achieve this.

This in itself of course is no problem, however, in most cases, there are additional requirements that filter down with each new version/feature that require different output/ more data/ less data etc... Question is, with all the good intention, how to design a component that will forever do whatever is required from it?

For example, we have a standard error format for our web services, and it is based on the internal error format which has been used for years. It is no problem for me to push in almost any data into that internal error object, however, the Output format for the web service is a simple (yet efficient) Code/Description model, where the user gets an error code, and with it a detailed description (that when relevant contains the specific problem in the field).

All of our web services, are managed through generic code, which parses the incoming data, validates it according to the business rules etc. The errors are converted from the internal error object, by another generic function that knows to convert the internal error object to the readable form.

Suddenly today, comes someone from the management and demands this special API (with which I can't argue, since it IS needed). However, because of special issues (it is a special API) some of its features including the input format and the error output are quite different than those of all the others. All generics are broken! this function need eventually to have some code duplications (since we don't want to hurt the behavior of the other APIs) and specific modifications for it.... This is driving me nuts.

Does anyone have a solution, or is this why we still have work (as programmers)?

Just venting here, I'm not REALLY angry....

Thursday, November 25, 2004

Books for professionals

 Originally posted on:   -Referenceware for Professionals  - Safari Bookshelf  - O'Reilly Safari Bookshelf (same as Above I think it is the original)</a>

Some online book libraries - should ask my boss to get us a subscription, seems like a stupid resource not to use considering the prices - that of reading text online (which I should get used to by now) in this library, compared with the price of actually buying a book, waiting for it to arrive and finding out that it isn't good enough (especially with the crazy prices charged for these books, especially in Israel)

.NET Deep dive (Microsoft Israel Dev Convention) Impressions

 Originally posted on:

I'm guessing that by now all the major speakers in this convention have written something about it (they sure did before :-))

Event details (in hebrew) are here (with downloads)

It was awesome interesting demos (some which actually worked :-), actually everything worked except for a crash or two - what more can you expect ). A lot of laughs. Excellent lectures.

I personally learned a lot, being as I am, with not that much real world .NET experience, I found out that I actually know quite a lot, and that everything explained made sense for me, with actual implementation I could think about for a lot of it.

Yosi Tagury talked about new things to be in the coming VS.NET 2005 Team system, with amazing demos. After being for years in the VB world “edit and continue” seems not so special, but the new IDE with all the additions (Automated code tests, Refactoring support, code snippets, custom object viewers - WOW etc)... I have to tell you I am impressed by the guys at MS - the level of thought that miust go in to such a product, puts anything I ever did to shame. If you want to know what I liked the most - and it is a trivial thing, really, is the fact that when you open a solution - you don't have to save it anywhere, if you don't want to... This to me shows that they really take the programmer into thought when they design. not only adding new interesting features, but also (at long last) understanding how programmers use the product in a day to day scenario. I mean how many times a day do you open a project just to test something out? something you would never keep in your ever growing code library... I know I do it a lot.

Roy Osherove talked about TDD, very interesting. Although I agree with the idea, and can see how it would create better code, and also more maintainable (and many other advantages that I can see). I find it hard to adjust to the frame of mind needed to actually implement this method of working. I can see how it works for simple functions and classes, maybe even moderately complex ones, but I have written quite a few functions in my short professional life, that would be really hard to build using this methodology. I realise that I need to learn more about how to do things under this methodology, and I hope that I get a chance to participate in one of the workshops he is running.

For most of the day I was with the #2 Track of the event, and there I heard the following

Gadi Meir (I don't thing he has a blog) from talked about EnterpriseService class in the framework, this was the first time I heard about it, and I am ashamed. This is such a great thing for an enterprise programmer to have. Pooling, Transactioning, Security Policy all those got demos, and seeing the capabilities of this - I can't get why anyone is still writing this plumbing code himself. Thank you Microsoft!

Yair Shivek talked about WSE 2.0 - he discussed some of the the new enhancements focusing mainly on WS-Policy and WS-Security. This to me was interesting since I have been involved with Web Services for a long time, and was wondering when someone will make use of that header element... However, I was disappointed to hear that with all the time passed since the inception, serious Interop problems exist. This for means not to implement any of this yet, and although he gave quite a good argument (to which I agree) of why these extensions are better for SOAP then SSL (although they seem to have the same function) -  I will stick with SSL for now. why? because:
1. SOAP still works mostly over HTTP - the services I write are for a web site - then why not
2. SOAP for me is still a two way thing - whoever calls me needs the response in almost all cases
3. SOAP for me is still point to point and not end to end - meaning only server client relationship with no intermediaries - in this situation I think SSL is actually better, certainly a more mature solution, even in my opinion less mistake prone.

Memi Levi talked about enhancing development experience (not to mention time saving and blunder preventing) by using organization/team defined templates, and adding Design Time Attributes to custom controls. This was enlightening and made me start thinking of to use this when I start working in .NET . I was a little sad that Add-Ins weren't in the scope, in the VB6 IDE I use today, I have a couple of internal add-ins that help me so much, I couldn't live without them.

All in all a day full of knowledge and learning! a very good day. I'm sorry I can't be at two places at once which is why I missed the rest of the presentations that went on.

A funny thing that happened, I talked to Yosi at one of the breaks about the issue I mentioned in the last post, what I didn't write there is that I managed to finally convince the management at my company that we need to seriously plan the move to .NET - and that I wrote a requirement document, and they just informed yesterday that they got from MS Israel some experts to help on the issue and guide us along the best path. Once I explained the issue to Yosi, he took a look at the tag I wore which had the company name - and told me that he IS the expert that is coming over to us, he also said that he will try to bring Leon along. This made me even happier!

Tuesday, November 16, 2004

Moving to .NET (am I???)

 Originally posted on:

Hi, haven't written here for the longest time...

I'm still looking for a new job, since there are no really interesting offers flowing in (and I still have my old job), I'm still not making that move. Also there is a chance of salary rising at my current place of work - so I don't want to leave before that.

For the issue at hand, we are contemplating starting a move to .NET in our product. for those who haven't had the pleasure of knowing me yet, lets just say, I've been a programmet here for the last five years, and mostly wrote in VB, ASP using SQL Server for database. That's what the product I've been working on uses among others.

I've been pushing for the move to .NET for the last three years, after I got to do a project or two using it, and fell in love (some web services, and interop with Java). I mean it was hard to get into it (especially because of the interop issues) but once that was over - everything just went so smooth and easy. You just can't compare it with the old stuff. Not to mention the new IIS and http.sys.

Anyway to make a long story short, the company is now considering this finally. It usually takes them about three years to reach a decision when I'm offering the change - maybe I move to fast? I'm not sure. It took some people here threaten to quit the job, if a major change is not done (I don't know if you know, but looking at wanted ads in my type of profession, you see requirements for Java, .NET, C++ and non for VB - so the motivation is clear on my side).

However, no here can afford the budget of simply migrating the application to .NET at once (tens of thousands of lines of code). and the only option available is a slow process through releases where until completion the two platforms (VB and .NET) will be working side by side.

Now I've been looking around the internet, and searching for the main issues so we can prepare for them. there appear to be two main issues:

  1. Maintaining session state (ASPSession) between the two applications
  2. Using VB DLLs from the .NET assemblies and vice versa.

Can anyone point out some other issues they know of, or maybe recommend ways to deal with these issues? finding an easy solution for these will certainly speed our way in this.

Let me just mention some technical stuff: 

  • Our session holds objects as well as string data
  • We have many VB DLLs with dependencies (I don't know how this is relevant)
  • I need to understand how to deal with situations where DLL Compatibility is broken (mainly from the VB side.
  • Good DAL solutions (to convert the Data Layer from VB to .NET)
  • Any tips on using connection pooling (articles, solutions, anything)
  • We want to develop in C# mostly.

Sunday, October 24, 2004

Looking for a new job...

 Originally posted on:

No I wasn't fired after my week of management, nor have I received any feedback on my performance - which is very dis-appointing.

Following my previous post where I kind of made it clear that I don't want to keep working here, this past week strengthened my resolve. So I did some steps - some interviews are coming ahead with some interesting options.

Just for you who are looking for workers, I'm an Internet Developer mainly working with VB, ASP, SQL Server (and of course client side scripting Javascript, HTML, CSS etc)

I've had some experience with Oracle Database (PL/SQL) and .NET programming (ASP.NET, Web services in C#)

Also in the past I worked with TCL on VIGNETTE (CMS Software) the e-commerce site I developed was closed since ( I think somebody already bought the domain). I'll probably post my CV in the next few days here.

Another important note is that I'm an American citizen, and am willing to re-locate for a good position.

If this interests you, feel free to contact me through email or comments.

Monday, October 18, 2004

Manager for a week

 Originally posted on:

My team leader is gone for the week - for army reserve duty, and left me in-charge of the team in one of the most busy weeks.

I have 6 people on the team (including me), out of these two are outsourced directly from India, and one is outsourced from Israel, and the other three team members are the original team :)

During this week I have to manage about 4 releases - on different branches of the code, and believe me, this is not an easy task. Now I truly understand what a manager has to do - run around like a chicken without wings, hoping his team will be able to deliver ontime, and constantly monitoring them to see that it could never happen :(

This is definitely what I don't like to do, I like to work on my own project/mission and maybe even do some integration with some other team, but basically I like to code not to manage.

Wish me luck, the worst that can happen is that they fire me for incompetence, but that would actually be a good thing, I had enough of this place. But I doubt that they will fire me. seems like they like/need me too much.

Thursday, October 14, 2004

Will I never cease to be amazed by Google?

 Originally posted on:

After google, google toolbar, gmail and countless more exciting pieces of software... Google comes along with Google Desktop - Just plain amazing, and works seamlessly with all the other stuff they offer...

What can I say, I'm so waiting for GoogleOS! I will buy it the minute it is available. I have never seen such cool things. It searches in your Email, IM chats, Cached web pages, and documents. The only thing I would like is more configuration options (were to search, run index again) but I guess that to make it really dummy proof they had to do it this way.

Run and download!

Monday, September 27, 2004

Programmers without borders

 Originally posted on:

I realize my company is a bit late for the trend, but we too have been, in the past year or so, moving some work to outsourcing companies abroad (awaking markets).

As a general policy we only send out projects that are not deemed to be our core technology focus, meaning that the company does not want to deal with learning and maintaining software that is not directly involved with what we do.

So for example, we have a client who wants to integrate our product into his enterprise environment, we would send him to one of our partner companies, or if we want to develop some component to plugin to our product (say an IVR) we contract some outside help, since there is no logic in hiring new programmers to do this, and the existing ones, are way to busy to start learning new platforms.

The savings are said to be big (I'm not involved with the numbers), but this process causes some other problems with which we have to deal.

Language Barriers - although everyone speaks english, and pretty well. still, different cultures, and different customs (Corporate as well as country) - are causing mis-conceptions, and different understanding of what is being said.

Interests -

1. obviously, both companies want to succeed, however, the budget pie is small, and no one wants to be the one to pay the unplanned expenses, so there is always a battle here.

2. The outsourcing company, may have other, bigger projects, which will use resources that they can not then allocate to your project - this is especially true after a project is finished and is in it's support phase. Who will support the client. Remember - even if by contract they are committed to support, the bad image is still reflected mainly on the vendor (us).

3. Testing/QA - every company has different standards, working in a tight timeline (time IS money) forces you sometimes to a corner, which could have been resolved internally.

However, there are a lot of benefits as well.

1. Money - as I said the bigwigs claim it really saves a lot

2. Allows company programmers to be more focused on their product, not constantly being pulled of work to do side jobs for clients.

3. You get to meet a lot of people, and also get to share Ideas which would never have been available. You learn to work in a specific thought process, and someone from outside can show you sometimes different (and better) ways of thinking.


So am I all for outsourcing? well, seeing that it could put me someday out of my job - my team being thought of as non-core technology.... Then no. not really.  Do I know the benefits? Yes. So what do I really think - It depends on the circumstances :-)

Monday, September 20, 2004

Books I just finished reading (Why not to start reading Dan Brown)

 Originally posted on:


I'm back from the Jewish new year holiday, also known as Rosh-Hashana. During this long weekend (from wednesday until sunday) I did a lot of praying and eating, that what we do :-)

I also managed to read a few books in the meantime, more to the point, I read all four books by Dan Brown:
Angels And Demons
The Da-Vinci Code
Deception Point
Digital Fortress

Why? well my mother wanted me to buy the Da Vinci code, and I admittedly drawn by the hype, decided to buy them all, and now I regret it.

What can I say, Dan brown can write a fast paced novel, I think all four happen in the span of 24 hours (each) give or take a few hours. The books hold you, I had a lot of fun reading. However, Brown uses a lot of “facts“ in his books, and claims them to be non-fiction - this caused some issues for me.

Also the plot, after reading one book, is not surprising anymore - with the exception of Da Vinci, it is always quite clear who the villain is (I won't put spoilers here), and you know exactly when that fact will be revealed to the reader (about one chapter before the end, if not less)

Clearly Mr. Brown does not know his technology, he is wrong about many small and larger details, actually the book I enjoyed the most - Deception Point, seems to me like mostly pure fantasy, although Brown claims the technologies are real - I hope they are!

Digital Fortress is by far the worst book - just show me a single intelligence agency in the world that does not work 24/7 - it is just plain dumb.

In each novel a single man with great ambitions, manages to pull together an elaborate scam planned for months, and it is thwarted at the last minute by some hero/heroine by solving a puzzle - go figure.

Even while reading I caught some very problematic claims by Brown, He claims that he invested a lot in research, but it seems not be so (not to mention the ton of websites and books that attack almost every word he wrote as a lie). For example he uses Jehova (the name of GOD) to claim that it symbolises Yen-Yang (Jah for male, Hava for female), however, this is not the hebrew name at all, it is a translation into english, of a totally different name, which represents in hebrew the true name of GOD, and has nothing to do at all, with the meaning Brown is trying to give it. and by that trying to distort what the true belief of Judaism is, claiming it to be some paganic religion, that engages in sex rituals (where do I sign up :-).

I am not very fond of the Catholic Church, throughout history, it wasn't very nice to my people, and indeed was not nice to many others, also it is quite clear as with any organized religion - that the organization (i.e. the church) does many things on political grounds. But still Brown can't seem to decide if he wants to demonize or praise the church.

All in all, I guess these are fun books to read, if you make sure you don't take anything written there seriously, the problem is Brown does everything in his power to attempt to convince you that it is indeed real.

A pleasure for all you conspiracy lovers - I'm waiting to see what secret cult really planned and executed 9/11

Sunday, September 12, 2004

Anybody want's to buy me a birthday present???

 Originally posted on:

Back to geekiness :-)

Via Engadget

Logitech's Mobile Freedom Bluetooth Headset

Logitech Mobile Freedom Bluetooth Headset

Almost forgot to mention that Logitech rolled out a new Bluetooth cellphone headset yesterday. It’s usually hard to get all that jazzed up about yet another wireless headset, but the big deal about the Mobile Freedom Bluetooth Headset is that it uses a little something called Adaptive Frequency Hopping (we’re not entirely sure how this is different from Bluetooth’s integrated frequency hopping spread-spectrum—FHSS) to reduce any possible interference you might experience from WiFi or anything else that might be causing intereference around the 2.4GHz part of the spectrum that Bluetooth uses. It’s also got something Logitech calls WindStop, which supposedly reduces noise from wind hitting the mic; it weighs just an ounce and you should be able to get about seven hours of talk time on this baby.