• Shortcuts : 'n' next unread feed - 'p' previous unread feed • Styles : 1 2

» Publishers, Monetize your RSS feeds with FeedShow:  More infos  (Show/Hide Ads)


Date: Sunday, 19 Jul 2009 21:35

One of the major criticisms I’ve heard over the administration’s plan to regulate the financial industry is that it might “stifle innovation”. This puzzled me, as it seems excessive “innovation” is what got us into this recession in the first place. But if innovation in the financial industry is, in fact, a good thing – it seems logical that said industry should be run not by bankers, and not by government bureaucrats, but rather by an organization that has expertise in managing innovation. Following this logic one can’t help but wonder what the economy would be like if it were a Microsoft product….

Loans

There are no sub-prime loans in the Microsoft economy. Nothing sub-prime would ever be shipped. True, many customers would end up with version 1.0 loans that would occasionally run into problems – payments might mysteriously fail to get recorded or interest rates change without logical reason. But don’t worry – everyone could get their loan upgraded for a nominal cost when a new version comes out – refinancing would go smoothly for 99.5% of customers, only a small number would crash into spontaneous foreclosure.

Microsoft loans will come with legal agreements as long and incomprehensible as any we see today. And just like today, nobody would read them. Unlike today, it would never matter.

Derivatives and Credit Default Swaps

Microsoft has extensive experience creating incredibly complex products that almost nobody understands (COM, WCF, etc.), which makes it the ideal organization to take over the development and marketing of financial derivatives. However, unlike today’s financial products, Microsoft derivatives would undergo extensive testing both internally and through a massive pre-release beta and preview program to customers ranging from individuals to the largest banks.

With thousands of amateurs and experts able to download and examine every derivative and credit default swap before release, most potential problems will be discovered long before they are actually deployed. Sure, they will ship with some bugs, but the odds of bugs significant enough to crash the economy will be very small. Any such serious bugs discovered after release will be quickly patched using the Microsoft automatic update service for financial instruments, that will be included with every copy.

Executive Bonuses

Microsoft licenses products generally by machine or user. Microsoft doesn’t care if you are using Word to write a 3rd grade paper or a billion dollar contract, so it won’t care if a Microsoft fund has a thousand dollars or a trillion. From loans to hedge funds, once you’ve bought the product, there are no further charges (other than support or upgrade fees). Fees for financial products will be based on number of customers, but not the size of the product. Fees and costs will drop – and large bonuses and salaries will vanish. Of course Microsoft product managers will be paid a decent salary, and will have some company stock options that might become worth something someday. But the days of huge executive bonuses at institutions that are losing money will be over.

The overall economy

Our existing economy is a complex and bloated system with a long history of solid growth and productivity punctuated by booms and crashes. Microsoft Windows is also a complex and bloated system with a long history of solid growth and productivity punctuated by booms and crashes.

However, unlike the real economy, when the Windows run economy stutters, most of the time it can be fixed in short order with a quick reboot. Those rare crashes that occur are typically also solved by a reboot, and only occasionally need a complete reformat and restore.

Imagine an economy that can be rebooted in hours instead of years. One with extensive documentation and transparency as provided by MSFN (Microsoft Financial Network).

The mind boggles at the possibilities. The Bernie Madoff’s of the world would have no chance in an economy where dozens of vendors sell SAV (Securities anti-virus) software. Hundreds of thousands of developers will build financial products for the new economic system (run your own bank, publish your own credit card). And there would be no secrets – anything you ever wanted to know about the economy or any financial product or institution would be instantly available to view – on Google of course…

Author: "Dan" Tags: "Humor"
Comments Send by mail Print  Save  Delicious 
Date: Monday, 08 Jun 2009 03:49

You’d think getting rid of an old computer would be easy.

Now, if it’s not a very old computer – say, a year or three, it’s easy: just restore the computer from its restore partition or backup DVDs, run a program like Eraser to overwrite the unused space with random data to make sure no personal information is left, and give it to a friend or donate it to a local organization.

But what if it’s a really old computer – say 10 years or so? In that case you have a much bigger problem. Disposing of the hardware itself won’t be hard – your local electronics recycler will be glad to take it off your hands. But that’s the easy part.

I know what you’re thinking. What am I doing with a 10 year old computer? Well, as you know, I run a software company. And we still occasionally get support calls on very old legacy software, which means we need to maintain the ability to debug or build some pretty ancient code. So when a new machine comes in, the previous machine remains frozen in time.

Now you may think you don’t have this problem, but let me ask you – how long have you had a computer? It may well be 10 years or longer. If so, you may have some old documents from back then that you’ve been carefully backing up or copying to your new machines each time you upgraded. But can you read them?

Yes, I know – the file can be read – but can you read or view the contents? When companies upgrade software they often upgrade the file formats. The updated applications can typically convert from previous versions of the file formats, but usually only a few versions back. Even Microsoft does this – For example: Office 2007 can’t open Word documents from 10 years back. And if you used an application that no longer exists, you could be out of luck.

Virtualization to the Rescue

So whether you are software developer, or just want to assure yourself of the ability to read old documents, it’s not enough to backup files from the old system. Fortunately, virtualization technology has reached a level where it is possible to create a virtual image of the original machine. Possible, but not trivial.

In my case, the box was a dual boot Windows 98 and NT4 box. Creating a working image took the following steps:

  • Create a Ghost image of the disk using Ghost 2003
  • Create a new virtual hard drive, then using an existing virtual machine, copy the image to the vhd.
  • Create a new virtual PC and drive, then attach the vhd containing the ghost images.
  • Restore the partitions to the new vhd, and create a new partition (you’ll see why soon)
  • Dig through MSDN to find a Windows 98
  • Boot into Windows 98 on the virtual pc. Go through numerous cycles of “found new hardware” until it finally boots.
  • Boot into Windows NT – watch it fail miserably in numerous ways (blue screen of death, reboots, freezes, etc. – NT4 does not handle hardware changes well).
  • Dig through MSDN to find an NT4 CD and an NT4 service pack CD
  • Boot back into Windows 98, and in a DOS window create a set of NT4 startup disks
  • Boot the NT4 startup disks and install a new NT4 on the empty partition.
  • Install the latest service pack.
  • Write down the video driver and network driver used by the clean install.
  • From the new NT4 OS, navigate to the system32 directory of the one you’re trying to bring up.
  • Backup the Drivers subdirectory and copy over the one from the current OS.
  • Backup the system32 directory files, then copy any files from the current system32 directory that are newer than those on the partition you’re trying to bring up (windiff can help identify the files).
  • Boot into the restored NT4. With luck it will now boot.
  • Install the display and network drivers based on the information you wrote down earlier.

It’s a lot of work – almost as much as bringing up a new machine. And if you’re fortunate enough to be converting a newer OS, things should be much easier. But though annoying, the investment offers valuable insurance for the future.

What, more backups?

That backs up the hard drives and operating environment, but remember, this is a very old machine. That means old hardware – including a tape drive and a Jazz drive (a removable hard drive device that uses 1GB cartridges). The Jazz drive still worked so I was able to back up all of the cartridges. The tape drive did its best, but whether it was the drive or the 10 year old tapes, there was little luck there. Fortunately, the tapes were just backups so did not contain anything important (I hope).

Back to the Hardware

The hard work done, now all that’s left is the final preparation for disposal. Removing the hard drives for erasing is a first step (though you can avoid this by using a recycler you trust to shred the drives). In my case I also had to pull and store the graphic card. Why? because this machine used an old Matrox Rainbow Runner card. This card enabled video editing, but used its own proprietary hardware video encoding (remember, machines back then weren’t fast enough to handle CPU video encoding and decoding). A few years back I converted a bunch of old videos on that machine to MPG, so I don’t think I’ll ever need that card again, but I’ve archived it just in case, and Matrox does have legacy drivers on their web site just in case.

All that’s left is erasing the old drives. I generally use the Eraser program (from sourceforge.net) to overwrite the drive with random data. If I can’t access the drive, I open it and physically damage the platters (along with running a strong permanent magnet over them). The old Jazz cartridges got the physical treatment, as did the now unusable tape cartridges.

So after (too many) hours, with data destroyed, the system is finally ready for the recycler. It’s seen loyal service, but I can let it go peacefully, as it’s spirit (in the form of a virtual image) will always be there if I need it.

Author: "Dan" Tags: "Technology"
Comments Send by mail Print  Save  Delicious 
Date: Monday, 01 Jun 2009 20:15

A few  months ago I wrote a column for Visual Studio Magazine titled “Where have all the developer’s gone” in which I pointed that interest in programming and computer science seems to be dropping – at least in the United States. And in fact, much of the interest in learning programming seems to be in countries like China, Pakistan, etc. I concluded with a somewhat cautionary note that if we want our kids to become the technologists of the future, it’s up to us to do something about it.

This brought forth a great deal of comment, one of the most interesting questioning why anyone would encourage their kids to go into the software business in the first place. Why would you go into an industry where it’s increasingly difficult to keep up, where jobs are increasingly being outsourced, and where there is rarely long term career viability? Doctors can continue treating patients into their 60’s and 70’s, Lawyers continue lawyering, bankers banking and politicians politicking until they drop dead (and sometimes longer in the case of politicians). But past 40 or so, software developers who aren’t fortunate enough to have solid management gig are likely as not to find themselves unemployed or in some other career.

I’ve been particularly fortunate in this regard. Through a combination of being self-employed, honestly passionate about technology, and a bit of talent, I’ve had the opportunity to continue coding. What’s more, I’ve had the freedom to diversify into all sorts of new technologies beyond my core expertise. But keeping up is an effort. I often compare the life of a software developer to that of Alice in “Through the Looking Glass” – where Alice is told by the Red Queen that she has to run as fast as she can just to stay in place, and to make progress she has to run even faster

Why would anyone wish this on their kids?

It seems that our interests as a nation are radically different from our interests as individuals. There is no doubt that we need a lot of skilled engineers and programmers going forward. Not only do we need to maintain our existing technological base, there’s going to be increasing demand for power engineers and some incredibly sophisticated software to handle the future smart grid (or EnergyNet” as Juval Lowy calls it). Where are those developers going to come from?

I suppose we can continue to import them. But will the United States continue to be a desirable place for migrant technologists? To some degree it is likely, but as their local economies develop, they may find better opportunities at home. And many engineers consider foreign workers to be part of the problem – competition that makes it even less desirable to enter the business. But let’s assume for the moment that for the foreseeable future foreign nationals will continue to provide needed support our technological society, and that it is in our national interest for them to do so – thus making home-grown talent less essential.

What do you encourage your kids to study if not technology?

Medicine is good – the Baby Boom generation is getting older and there will be demand for more health care. Lawyers? It’s hard to argue that the U.S. needs more lawyers. Investment bankers? It seems unlikely that will soon return to being the path to instant riches it once was. Therapists? That’s not bad – there are going to be plenty of stressed-out unemployed people who will need treatment.

I suppose there’s always the option of flipping burgers or greeting folk at Walmart (not that there’s anything wrong with that).

It’s not enough to say that technology is a hard field – it is. But hard isn’t necessarily bad. And training in engineering sharpens one’s problem solving skills in a way that few other degrees can manage.

So here is my answer to those parents who wants the best for their kids: absolutely encourage them to get a technical degree. But don’t let them think they can rely on that alone to create a good future for themselves in a tumultuous world. Make sure they develop great communication skills, written and verbal. Teach them about money and accounting so they can use the relatively high income from the early part of their careers to establish a foundation for what comes next. Teach them to how to evaluate risks and opportunities so they can jump when the time is right and perhaps create their own businesses. And teach them to follow their passion, so that no matter what happens with their career, at least they’ll have some fun along the way.

Author: "Dan" Tags: "Software Development"
Comments Send by mail Print  Save  Delicious 
Date: Friday, 22 May 2009 19:10

About two years ago I wrote an entry titled “This Old Machine” in which I described my search for a travel laptop – something to use on casual trips when I didn’t need to lug around the full sized laptop I used for conferences. I had some specific requirements – it had to be small and light, and low stress – meaning that if it did get lost, broken or stolen, it wouldn’t be the end of the world. And while the goal was to use it primarily for Email, web access, and storage/editing of vacation photos, it had to have enough horsepower to handle serious applications in a pinch: Visual Studio, SQL Server Express, etc – the kinds of applications that a professional developer might need to use.

At the time, I ended up upgrading an old Thinkpad 240 – a machine that today would be called a Netbook, but that anticipated that class of machines by almost a decade. And it served tolerably well. It was slow enough to be annoying, and the battery life was worthless, but it was good enough.

This summer I wanted something better, and with all the talk about NetBooks I decided it was time to take a look and see if any of the new machines would serve my needs. After reviewing specifications and reviews, I ended up snagging an Asus Eee 1000HE PC.

Honestly, I did not have high hopes – laptops are almost by definition studies in compromise. But I ended up being blown away. This is a nice machine. You can read the full review in my gadget column. Suffice to say that with a 2GB memory upgrade, it has plenty of power for casual development work, is easily small enough to fit into a book bag or backpack, and at a hair over 3 pounds with over 7 hours of battery life is truly portable.

Oh yes, and I will never buy another laptop without a multi-touch touchpad.

Read my full review

Author: "Dan" Tags: "Technology"
Comments Send by mail Print  Save  Delicious 
Date: Friday, 27 Feb 2009 07:59

Yesterday I needed to do a simple Excel add-in.

No problem, right?

Being an experienced .NET developer, I figured this would be a good time to try the Visual Studio Office system – to create the add-in using VB .NET. I mean, how hard could it be?

Not hard at all as it turned out. The project template for the add-in worked well, and it took no time at all to find some simple examples online to build on. I had enough familiarity with the Excel object model to make short work of the task at hand, and the integration that allowed debugging of add-ins in Visual Studio worked brilliantly.

Then it came time to test deployment – as I needed to provide this add-in to a couple of clients.

What a fiasco.

The setup project that was created didn’t work. The instructions on MSDN and other sites for diagnosing problems were complex and unreliable. I found additional articles with suggestions for creating custom installation actions to handle the security issues that might have been the problem. There were clearly differences between versions of the Visual Studio office runtimes depending on framework version and versions of Excel to support, with no clear explanation of which to use and how to create a deployment that will work with both.

I spent as much time trying to figure out the deployment as I did creating the add-in when I decided I was wasting my time. The Visual Studio office support may be nice, but the deployment solution and documentation is abysmal. Microsoft should be ashamed to have released it. It is perhaps the most disappointing experience I’ve had with any Microsoft developer technology.

I ended up porting the code to VBA in an Excel workbook and creating a .xla Excel add-in. Though I missed the intellisence of Visual Studio, the building and debugging experience was fine. And deployment was trivial – save the workbook as an add-in. Deployment consisted of browsing to the add-in file and enabling it – and the add-in worked perfectly on Excel 2003 and 2007 the first time I tried it.

I’d come to think of .NET as current technology rather than the wave of the future. It’s clear to me that at least when it comes to Office, .NET is still future technology – costly, complex and unreliable. If I need to do any more Office add-ins, you can bet I’ll stick with VBA.

Author: "Dan" Tags: "Software Development"
Comments Send by mail Print  Save  Delicious 
Date: Saturday, 14 Feb 2009 06:28

The Author’s Guild has objected to the text-to-speech features of the new Kindle, suggesting that it somehow jeopardizes the rights of authors (See: will lawyers kill the Kindle). They are wrong on many counts.

First, it is not a copyright violation.

If you read a book out loud, is that different from reading it silently? If someone reads a book to you, does that mean you both have to buy a copy of the book? What if you hire someone to read to you? Of course not. So why would an automated reading device be any different? It is not.

Now a true audio book is different from a printed book. Why? Because it is a derivative work – a performance of a book. It is a new work that is derived from the original.

Some might argue that speech-to-text is also a performance of a work and subject to a new copyright – and it would be, if you tried to sell and market such a work. A similar situation exists with translations. If you wish to translate a book and sell the translation, you have to get permission from the copyright holder. But if a friend comes over to read a book in a foreign language and translates it for you as they read, that is perfectly fine. Text-to-speech is that high-tech friend.

But the copyright argument is not the biggest reason that the Author’s Guild is wrong about the Kindle. The real problem is that they are acting against the best interests of authors.

Here’s why.

Let’s consider audio books on CD in two categories. In general fiction Amazon.com shows 13867 results. In SF and fantasy, 1891 results.

Why would someone buy an audio book? Possibilities include:

  • Unable to read (visually impaired)
  • Too lazy to read
  • Wants to utilize commute time (while driving, on public transit).
  • Enjoys the performance.

Let’s assume that the first three of these represent 75% of the market, and that it can be replaced by text-to-speech. Let’s also assume that few people would buy both the print and audio book. Since audio books cost more than print books, text-to-speech technology should result in some drop of income to these authors as people choose to buy the print book instead of the audio book. If audio books represent 10% of a book’s total sales, and if we assume the audio book pays an author twice what a print book does, the author will lose 50% of 75% of 10% of their income – a drop in 3.75% of their income.

Of course, this would have a much greater impact on audio book publishers – but then why isn’t the audio book publisher’s guild complaining? Surely the Author’s Guild wouldn’t make such a fuss over a 3.75% drop of author’s income.

Especially when you consider the following:

Amazon lists 403,000 results just in general fiction, almost 90,000 books in SF and Fantasy. Or put another way, maybe 3% of printed books have audio books available. If there’s one thing we know about the market – when prices drop, people tend to buy more. Text-to-speech effectively reduces the cost of audio books which means people will buy more – and now they’ll be able to choose from any title, not just those with audio books available. Ultimately this will benefit far more authors as book sales increase overall.

While the numbers I use are largely hypothetical, the principle is clear – text-to-speech is good for authors. It makes their existing books more accessible and opens them to markets (commuters, visually impaired) that were otherwise closed to them. Authors win. The consumer wins. A few authors might lose a small amount. And audio book publishers potentially lose – they will have to market their good purely based on the quality of their performers, not just on the fact that it is an audio book.

The Author’s Guild should live up to its name and acknowledge the fact that the Kindle’s new text-to-speech feature is neither a copyright violation, nor is it counter to the interests of authors.

Author: "Dan" Tags: "Society & Politics, Technology"
Comments Send by mail Print  Save  Delicious 
Date: Saturday, 07 Feb 2009 23:13

New article published on Visual Studio Magazine.

Author: "Dan" Tags: "General"
Comments Send by mail Print  Save  Delicious 
Tax time   New window
Date: Monday, 02 Feb 2009 22:26

As an active software developer, I know that technology advances rapidly. My nose is rubbed in that fact every day as I work to keep up, catch-up, and occasionally learn something new. It therefore leaves me somewhat bemused when I am surprised by huge changes in technology in areas that I don’t focus on daily. Intellectually I know they must be changing, but I’m too busy to pay attention to them, and when I do – I discover all sorts of surprises.

For many, many years tax preparation time was a routine – buy the latest edition of TurboTax, do my taxes and send them in. The only big change was switching to e-file from paper returns some years ago.

But this year that was shaken up. I was about to buy TurboTax when saw that for some reason this year’s version was getting one star rankings on Amazon.com. What could have happened? I wrote about this in my gadget column in “TurboTax takes a wrong turn- will TaxCut become the #1 tax software“.

Because that price increase (since reversed) would have doubled my costs, I started looking for other options for the first time in many years. One of the things I found was that there were numerous online options for doing taxes. What seems to have happened is that the IRS was planning its own free online filing system (it’s far less expensive and far more accurate for them to process an electronic return than a paper one). Tax preparation software companies got together to oppose this and created the “Free File Alliance” to try to protect their revenue. The way they do this is by using their free filing options to upsell other features -and to charge for filing state returns. Though officially this free filing is limited to incomes of $56,000, in fact many of the vendors don’t abide by this – neither TurboTax, TaxCut or TaxAct mention any income restrictions.

So, to my surprise, instead of reviewing the tax preparation software packages, I found myself first reviewing the free online services (See Free tax return software reviewed: TurboTax vs. TaxCut vs. TaxAct).

What really floored me was TaxAct. Their free edition could even handle my return (which is moderately complex). And the upgraded version is only $9.95. Now, I wouldn’t actually use it for my return – I find standalone software has other features that are important to me (something I’ll discuss when I review the software packages) – but it demonstrates that there has been some real progress in the area of tax return software that I had been completely oblivious to.

Makes me wonder what else I haven’t noticed recently….

Author: "Dan" Tags: "Technology, finance"
Comments Send by mail Print  Save  Delicious 
Date: Sunday, 04 Jan 2009 11:13

This one was just for fun to end the year.

See Top five fictional gadgets of 2008

Author: "Dan" Tags: "General"
Comments Send by mail Print  Save  Delicious 
Date: Friday, 05 Dec 2008 22:06

My latest article, title “Show Me The Money” about what it means to be a software developer in recessionary times, has been posted on VisualStudioMagazine.com.

With a loss of 538,000 jobs in November announced today, I really, really wish I hadn’t been quite so prescient when I submitted this a month or two ago….

Author: "Dan" Tags: "Software Development"
Comments Send by mail Print  Save  Delicious 
Date: Wednesday, 19 Nov 2008 18:42

This week, Wired posted two articles on device convergence: Five Gadgets That Were Killed by the Cellphone and Seven (More) Gadgets Killed by the Cellphone. I responded in my Examiner.com column first with Five Gadgets that were supposedly killed by the cellphone, but aren’t dead yet and today with Five gadgets that won’t get killed by the cellphone.

It wasn’t really until my second response that I really tuned in to the real philosophical difference between my approach and that of Wired. I get a sense, reading the Wired columns, that there is a fundamental approach that convergence is good and inevitable, and that ultimately cell phones will become good enough and powerful enough to effectively obsolete everything else.

Now, I’m enough of an Science Fiction fan to concede that someday this may be true – it’s quite possible that in a century or so we’ll all have cell phones embedded in our skulls providing full 3D sensory communication and gaming experiences, while shooting photos through our optically enhanced eyes and quietly irradiating our brains.

But barring breakthrough of that magnitude, it seems to me that the Wired columns, like those of many authors, are far too focused on the technology and not nearly enough on the people who use it, and how they relate to it. For example: it’s easy to look at teens and young adults and how they have adopted and use certain technology and assume that is the future for everyone. But you can’t really extrapolate that way until you’ve seen what happens once they get older. The constant text messages and Facebook posts of the young 20-something professional might be replaced by something else once she’s a harried mother trying to maintain a career.

I invite you to visit my column at Examiner.com, where I’ll always try to remember that the people are more important than the gadgets. And I’ll continue to post here on my blog additional commentary that doesn’t quite fit in the column itself.

Author: "Dan" Tags: "Technology"
Comments Send by mail Print  Save  Delicious 
Date: Saturday, 15 Nov 2008 01:58

Over the past year or two I’ve kept an eye on the various online consulting sites - Elance, guru.com, RentACoder, oDesk. I’ve actually used RentACoder once (as a buyer on a very small project) and was satisfied with the results - though I suspect I spent more time writing the spec and managing the programmers than I would if I had done the work myself.

I do think we are likely moving into a recession the likes of which our parents and grandparents talked about (shhhh… let’s not use the D word). But I also think it is a very different world - and whatever ends up happening will not be like the 1930’s. One of the big differences is, of course, the Internet.

These online consultant sites (and more that I expect will appear) are part of the difference. I expect more people (not just software developers) will find themselves taking on project based jobs as compared to employment as things get worse.

Yesterday I wrote a column introducing these four online consulting sites - if you are not familiar with them you might want to check it out.

For those who are familiar with the concept, and perhaps with one or two of them, you might be interested in my follow-up column that compares key features of all four sites.

I’d be interested in hearing of experiences you may have had (good or bad) with any of them.

Author: "Dan" Tags: "Software Development"
Comments Send by mail Print  Save  Delicious 
Date: Thursday, 13 Nov 2008 07:50

Ok, I’m a geek. I love gadgets. But, I have a confession to make - I’m a flawed geek.

You see, a true gadget nut loves gadgets for their own sake. If it looks cool and has great features (the more the better), it’s great - that’s all that matters. Cost, value, reliability, technical support, practicality and usefulness - these tend to stay in the background; minor details to be excused or explained away.

I’m too much of a skeptic to be a true gadget freak. I think an intuitive and easy to use gadget with fewer features is far better than a fancy complex gadget with tons of features (most of which you’ll never use anyway). I’ll take six month old technology if it will save me 50% off the latest and greatest. And in today’s economy, I really want to make sure that every dollar I spend is worthwhile.

I’ve always wanted to write about gadgets, and I finally found the right opportunity. I’ve become the National Gadget Examiner at Examiner.com. It’s an interesting concept - a sort of virtual newspaper that seems to be succeeding at attracting competent people to write about their topics (I’m speaking of the other writers, called Examiners - you can judge my competence for yourself).

I’m certainly having fun at it so far - gadgets is a broad topic (at least as I interpret it), and I hope my skeptical (and cheap) attitude will strike a chord. I invite you to check it out at Examiner.com: Gadgets Examiner.

I’ve been cross-posting the articles to a new blog: TheThriftyGeek.com as well. I’ll also be using that for more in-depth articles that don’t fit on the Examiner site.

Author: "Dan" Tags: "General, Technology"
Comments Send by mail Print  Save  Delicious 
Date: Wednesday, 08 Oct 2008 00:07

I invite you to visit my new bimonthly Guest Opinion column in Visual Studio Magazine called “The Human Factor”.

ShareThis

Author: "Dan" Tags: "General"
Comments Send by mail Print  Save  Delicious 
Date: Wednesday, 16 Apr 2008 19:10

Ted Neward posted a great article today “Do you fall prey to technical folk etymology?” in which he suggests (correctly) that we based our technical decisions on emotional context.

Ted is a fine writer, and his points intelligently argued. I am perhaps a bit more direct (crass?) and less politically correct, so I thought I might elaborate a bit on his thoughts. It is not just that our technical decisions are influenced by emotional context. In fact, the Dilbert Principle applies - we are all sometimes idiots.

As technologists we delude ourselves into thinking that we make clear-headed decisions based on logic. Nothing can be further from the truth. Not only are we influenced by emotional factors, they are often the dominant factor in our technical choices.

I remember noticing even as a kid how fads would come and go in our neighborhood. One week it would be spinning tops, another paper airplanes, another endless games of Monopoly (today’s equivalent would be video games and web sites - and I date myself intentionally for reasons that will soon become apparent). Technology fads operate in much the same way, though the time span is measured in months and a few years instead of weeks and months.

The C# vs. VB .NET debate has been raging for years, with the VB .NET folks claiming (correctly) that it’s a fine language and raging that Microsoft insiders refuse to give it the support and respect it deserves. Meanwhile the C# folks feign obliviousness (oh, we didn’t provide VB .NET support or samples for that new SDK? Oh… well… uh… we didn’t have the resources?).

This misses the point entirely. The C# vs. VB .NET dilemma is purely emotional. The VB .NET folk (of which I am one) will continue to use the language because, gosh, it really is a bit more productive than C#. Besides, any good VB .NET programmer can read C# examples or even code C# if necessary because we know it’s all about the framework, and any half competent VB .NET programmer can do C# in a matter of hours, if not days.

Meanwhile the C# developers within (and outside of) Microsoft will ignore, denigrate or avoid VB .NET because, let’s face it, it gives them something to feel superior about. When a C# developer says “VB .NET is the language of idiots”, by implication that developer is not an idiot. That’s a strong emotional statement - especially given that the rapid pace of technology change means that each and every one of us spends more and more time feeling like an idiot (which we are, in the sense that the percentage of available knowledge that we know continues to decrease because what there is to learn increases faster than anyone can possibly learn it - I’m just one of the relatively few people willing to admit it openly).

If a C# programmer, can gain some emotional comfort to offset this by labeling VB .NET developers idiots, who can blame him or her?

I’ve reached a point in my career where many working software developers are younger than I am (many of my contemporaries have become managers or architects, and while I do some of that, I still write lots of production code - mostly because coding is what I enjoy most). I’d always bought into the idea that software development was a “young person’s game” and wondered how long I’d be doing it - but I’m beginning to wonder if that too was an emotional belief unfounded in truth. I’ll write more on that later.

What I do know, that many younger programmers don’t, is that the amazing “new” technology that they are excited about that is sure to change software development forever is, more likely than not, just another fad. Moreover, I also know that most of the new technologies coming from major vendors (including Microsoft), though always labeled as “new technology that is going to change the way people develop software or use technology” is, more likely than not, just marketing hype that is trying to create another fad.
Ok, that’s phrased a bit cynically - because it makes it sound like they are being manipulative. They aren’t (mostly) - it’s just that they, like everyone else, are viewing the technology through an emotional lens. My emotional lens is scarred and cloudy, not because I’m a pillar of reason (I’m not), but because after you’ve lived through enough fads you get better at spotting them. Or put another way, once you’ve been burned often enough you start thinking twice about what part of the technology furnace you shove your hand into.

I don’t know that I’ve gotten better at making reasoned technological choices - but I’ve gotten a lot better at avoiding emotional and unreasonable technological choices - and in figuring out when it is ok to make a technology choice based on emotion.

Ted asks at the end of his post:

“In short, I actively seek to defeat technical folk etymology, if only in the small area I personally can affect.

Do you?”

You can’t defeat it - emotions will almost always trump reason. But sometimes you can co-opt it. Fads aren’t defeated by reason - they burn themselves out naturally only to be replaced by the next fad. Just remember that when you’re trying to prevent someone from making a terrible choice based on emotions, it’s not enough to use sound reasoning - you need to come up with an emotional argument as well if you hope to succeed.

ShareThis

Author: "Dan" Tags: "Software Development"
Comments Send by mail Print  Save  Delicious 
Date: Monday, 03 Mar 2008 07:09

Email obfuscation using Javascript is a popular way to hide Email addresses from spam-bots. One of the most popular of these was written by Jim Tucek at the Academy of Science at St. Louis. Unfortunately he hosted it on one of their student pages, and the other day (during a website move), all of those pages were taken down, leaving web developers unable to create new Email addresses for sites that use the script. After getting a panicked call from a friend (who has many clients on the script), I decided to step in and see what I could do to help. The result can be found on my new Email Encryptor page.

This actually posed an interesting challenge. Jim used RSA encryption (about 10 bits) to encrypt the strings. I’m not sure why he chose an asymmetric algorithm instead of a symmetrical algorithm - as the primary result of this choice is to make it hard to create new Email addresses (in a symmetric algorithm you could use the decryption key to encrypt as well - so the loss of the original page would have had little impact. In an assymmetric algorithm having the decryption key offers no help). Fortunately, the algorithm itself is reasonably simple and widely published. Though I use cryptography a great deal, this was actually my first time doing the math, and translating some of the mathematical requirements into computer algorithms took a bit of thought. It was also the first time I’d really thought about modulus math. Finally, there was the Javascript coding itself. Though my primary expertise remains VB .NET and C#, I’ve gotten to do quite a bit of Javascript in the past couple of years (both in web projects and some Ajax work), so that part was relatively simple. By the way, I love the Visual Studio 2008 Javascript debugger - it doesn’t get much attention, but it’s very cool. As a side-effect I also got a nice prime number example to use next week at SD-West when I talk about the TPL, I mean “the Parallel Extension to the .NET Framework”.

So ultimately I was able to get it to work. It’s now live and hopefully will serve as a good resource to those left stranded when Jim’s page went down, and the rest of us in our never-ending battle to fight spam.

ShareThis

Author: "Dan" Tags: "General, Technology"
Comments Send by mail Print  Save  Delicious 
Date: Friday, 01 Feb 2008 19:02
Author: "Dan" Tags: "Humor"
Comments Send by mail Print  Save  Delicious 
Date: Friday, 02 Nov 2007 20:58

They say life is a balancing act. Certainly one I share with most of you is figuring out how to balance time between learning new technology and actually getting work done. This is particularly challenging for those of us who spend all or part of our time writing or teaching others - especially at times when another version of Visual Studio and the .NET framework is heading towards us with the inevitability of freight train with no brakes.

Lately things have been a bit quiet here. I haven’t posted much on my blog. I don’t speak at too many conferences (though I will be at devconnections next week and probably in Spring - it’s actually a very cool conference, so I do encourage you to consider it if you’re looking for one to attend). I’m not writing much.

Why?

Well, I know this may sound odd coming from someone who obviously (if you look around this site) has very diverse interests. But the truth is that despite the time spent writing, speaking, developing other sites (like searchdotnet.com), I’ve always been and continue to be primarily a coder.

Not a manager. Not a trainer. Not an architect. A coder.

Yes, I do all those other things. But first and foremost I write code. Why, I even ship code.

The other day I had one of those really great experiences that are, I think, the reason I still code. I thought I’d share it.

I do a small amount of consulting. Small projects. I particularly like tough problems. On this particular gig I’d worked with the client to come up with a very elegant solution to a problem - but one that I wasn’t sure would work. I dove in one afternoon and before I knew it, it was 4 am. I hadn’t intended to work that late, but the project was a seemingly never-ending series of obstacles and I kept coming up with just one more thing to try. In fact, I had my computer off at 3 and was about to go to sleep when sure enough - one more idea needed trying (which worked! - which is why I was able to fall asleep at all).

I slept for maybe 5 or 6 hours, then dove in again. By noon I not only had a proof of concept - I had completed that part of the job.

Aside from that sense of relief ; that my design was, in fact, viable - I think the greatest satisfaction came from knowing that I still have what it takes. I may not stay up with all of the latest technologies (there are just too many technologies to keep up with, so I increasingly have to pick and choose), but when it comes to solving a problem with code, I’m not only as good as I was, I’m better (because now I know that it’s not just about the code, it’s about the cost of the code - something I really didn’t get when I was starting out).

I know many coders who have moved on to other things. Management is common. Speaking and training is as well (though let me stress, I know some great speakers and trainers who write production code also). Some have gone into real-estate (oops!). If you’re one of those who have drifted away from coding, and you miss the coding, maybe it’s time to give it a try again. I’m not talking about VB or C# necessarily - the learning curve on .NET is probably too much for casual software development. Check out other languages.

For example: lately I’ve been spending a fair amount of time on Powershell. Don’t believe the marketing - that’s it’s a management and administration tool. Well, it is - but it’s actually a very cool .NET language. And despite it’s C like syntax (curly brackets), it’s incredible interactivity (it is a true interpreter) feels a lot like traditional BASIC. If you’re looking to “play” with .NET, and don’t mind spending time in a command line environment, check it out.

Well, that’s it for now. Remember to stop by searchdotnet.com - I recently added some more expert sites (thanks for the recommendations) and while it isn’t “code”, it’s still one of the recent things I’ve done that I think represents a real contribution.

ShareThis

Author: "Dan" Tags: "General, Software Development"
Comments Send by mail Print  Save  Delicious 
» You can also retrieve older items : Read
» © All content and copyrights belong to their respective authors.«
» © FeedShow - Online RSS Feeds Reader