shahine.com/omar/

homepage | Send mail to the author(s) contact

yet another Microsoft blogger

# Thursday, January 27, 2005

My New Etymotic Headphones

I have owned the Bose Noise QuietComfort I and II for a while now. A few weeks ago (at Macworld) I purchased the Etymotic ER 6 isolator earphones for $99. I seriously love these headphones. I did not get the white ones (ER 6i) because they were designed to compensate for deficiencies in the iPod (from what I understand). These are also deficiencies common in other MP3 players although I don't know which ones.

"6i isolator earphones are designed specifically for use with the Apple iPod and other small portable players, offering 8 dB higher overall sensitivity and slightly more bass than the ER-6 isolator earphones." [link]

I was lucky enough that I could try both the black 6 and the white 6i. The both fit in your ear a bit differently, and I happened to like the black ones better because they use the 2 flange eartip rather than the white 3 flange eartip. Plus they were cheaper. I also tried out the Shure E3c, but liked the ER 6 much better. I also happen to have a great interaction with the people in the Etymotic booth at Macrworld... much better than my experience in the Shure booth. To top things off, the Etymotic people were selling their product in the booth for a nice big discount and they gave me a free Sumajin, which is a genius invention and a must have for all portable music player owners. I like companies that sell their stuff at Macworld... instant gratification + big discount is king

I have yet to get on a plane since purchasing them, but when I do I'll let you know how they fare against the Bose. Scoble says he is going to buy the white ones, but if he doesn't have an iPod I'm not sure why he would. Buzz first pointed to these a few months ago, and of course planted the seed in my head that I must buy them to replace my white Sony Earbud headphones.

Posted Thursday, January 27, 2005    Permalink    Comments [1]  View blog reactions

 

# Wednesday, January 26, 2005

Favorite FireFox feature

This has to be my favorite feature (I don't really use FireFox, but just started to play around with it). I am always looking for specific text in a web page, and I hate doing the Control-F, rinse, repeat mechanism to find something. FireFox has this nice feature where you can just start typing the text and it will automatically find it in the page.

I do this A LOT when clicking on results from a search query, and looking for the string I searched for in the page. Love it.

firefox_find.png

FireFox is pretty slick. It has lots of nice small usability and productivity enhancements.

Posted Wednesday, January 26, 2005    Permalink    Comments [1]  View blog reactions

 

# Monday, January 24, 2005

Office 2003 Primary Interop Assemblies Article

Everything you wanted to know about the Office 2003 Primary Interop Assemblies (ignore if you aren't writing a managed code for Office).

"Learn how to get and install the Office 2003 primary interop assemblies (PIAs), and how to reference and troubleshoot them."

Of course it won't address the issues Josh raised.

Posted Tuesday, January 25, 2005    Permalink    Comments [0]  View blog reactions

 

# Saturday, January 22, 2005

Unlimited Photo Backup/Gallery (SmugMug)

I can't believe I just found out about this! SmugMug is an online photo site like Shutterfly or Ofoto with some BIG differences. For $29.95 a year you can store unlimited photos! That's right, simply start your uploads, and they will store full resolution versions of your pics as long as they are around. For the standard account I believe they limit you two uploading 2 GB of data a month. Still that rocks.

I was just lamenting at work about how I'm pretty bad about archiving my pictures offsite (I do back them up to DVD and place them in a FireSafe). This totally solves the backup/sharing problem all in one place.

To top it all off, they have an XML-RPC based API for manipulating your stuff, creating albums, and uploading. Badass!

If you signup and feel like it use my email address, omar at shahine.com (replace at with @), or this coupon code (hDBXAc8lccGdQ) to get $5 off (I will get a $10 credit). Or click here to signup.

Here are the features you get:

  • Shoot a million photos — it's unlimited!
  • Upload 100s of photos with a click
  • Organize at light speed
  • Liberate yourself from spam and ads
  • Make it easy on your friends with 1-click sharing
  • View more pics with less clicks
  • Buy top-quality prints and gifts
  • Sleep well with backup CDs & DVDs
  • Retrieve your original, high-res photos
  • Post photos in blogs & forums
  • Upload from camera phones
  • Create your own vanity URL
  • Track visits and watch your popularity grow
  • Be notified of comments
  • Crop the bad parts
  • Enhance the good parts
  • Password-protect the embarrassing
  • Create private ShareGroups
  • Create a bio
  • Flaunt your friends and family
  • Program it!
  • Just $29.95/year

Posted Saturday, January 22, 2005    Permalink    Comments [2]  View blog reactions

 

Dear Linksys

Scott recently posted about his new WRT54G, and at the bottom of his post he stated:

  • Flakey: This is a flakey router. I have to reboot it once or twice a month. Also, when I flashed it this evening with the new Alchemy build (I was upgrading from Satori) I had to hold the reset button for like two minutes. Also, the power light wouldn't stop flashing (a bad thing) until I disconnected and reconnected the Internet cable (a weird thing) then everything started working again (a good thing.)
  • I was a very first customer of yours, and purchased your first router at Fry's. I loved this router. It was stable, never required reboots, and generally worked. Since then your products have gone down hill. For one thing, you never know what you are purchasing. You have devised a tricky scheme whereby you version your hardware, and your firmware. On your web site it never states what is what. When purchasing at Fry's it's a challenge to find a single box that was not returned, and different boxes state different version numbers such as v 1.1, v 2.1, v 3.2 for the same product line. To make matters worse, the firmware downloads on your web site never state which goes where. Finally, your firmware has a tendency to destabilize the product requiring numerous reboots.

    The last time I bought something from you was last year. It was a Wireless Access Point, and it required reboots every 2 days. Every firmware version released made matters worse, and finally you gave up releasing firmware so you could release new versions of the hardware (see above).

    To make matters worse, companies are charging $20 a year to send you firmware to replace your crap firmware. Can you believe this? That's right, people are making money on your deficiencies, and they are happy about it! I guess that is why you give away your source. You should consider getting them to do all your firmware development.

    I hoped that when Cisco purchased you their first priority would be to clean up this mess. Seems it will take longer than hoped since your brand new flagship 802.11g router causes Scott Hanselman grief. And if it causes him grief do you think I'm going to place such a product in my home, or my family's home? No thanks. Instead I use the Microsoft Broadband routers which were discontinued. I know people that still scour the Internet for this product because it's the only thing that doesn't require a reboot every few days.

    And finally, to illustrate my point. The only routers you should ever purchase are the ones on this page. This ensures that the router meets some decent level of quality. The Linksys WRT55AG that Scott has is listed there, but like this:

    Linksys WRT55AG Dual-Band Wireless A+G Broadband Router Ver. 2

    That's right, Ver. 2. How do you know if you are buying Ver. 2 when purchasing online? Beats the heck out of me. If you were at Fry's it's the one w/o any Return Stickers, and if you look closely, it will probably say on the side of the box.

    What do I do about all this? I have a stockpile of Microsoft routers (2 MN-700s, 1 MN-100), my parents and sister each have MN-500s as well as Apple AirportExtreme for wireless bridging.

    Posted Saturday, January 22, 2005    Permalink    Comments [3]  View blog reactions

     

    # Friday, January 21, 2005

    MovableType Blacklist for .NET

    As I promised, here is the code for the MovableType Blacklist that I wrote for dasBlog.

    There are three pieces to it:

    1. the IBlackList interface
    2. The MovableTypeBlacklist class
    3. The Factory Class that holds an instance of the MovableTypeBlacklist and the ReferralUrlBlacklist

    Feel free to use in your ASP.NET application.

    Posted Saturday, January 22, 2005    Permalink    Comments [0]  View blog reactions

     

    dasBlog 1.7 questions and answers

    First of all, the community reaction to dasBlog Community Edition 1.7 has been great! I’m delighted that people have been able to move with little trouble. However, a number of folks have asked some questions and I’d like to answer some of those.

    Question: What happened to the Attachment feature, and what is this new Enclosure feature?

    Answer: in previous versions of dasBlog there was a way to Attach files etc to a post. However, all this did was move the file from your desktop to your /binary folder and adds a link to the content of an entry. I never thought this was very useful. Furthermore, dasBlog never utilised the enclosure feature of RSS. I decided it was high time we actually make this feature useful, and support RSS enclosure. However, RSS enclosure only allows for a single enclosure per RSS item. My goal was to also allow the old functionality, and support a true n number of attachments but only expose a single one as the RSS enclosure, but I never finished this work. Expect it in the next version.

    Question: What happened to the image upload feature?

    Answer: Since FreeTextBox has a nice image upload feature via the Gallery I assumed this was good enough for folks and I removed the duplicate functionality in upload image. Well, a number of folks have expressed that they miss the old feature. Expect this to come back in the .2 version of 1.7, and in 1.8 expect a better image upload feature that allows you to store all the images/attachments per Entry in a guid based folder in the /binary folder. I’ve wanted this for a while as I have tons of stuff in my /binary folder that’s orphaned.

    Question: The directions for uploading are a bit confusing, can you clear this up?

    Answer: I reworked them a bit as I got plenty of feedback that it was confusing. I’ve placed them in the Release Notes.

    Question: How do these new anti-spam feature work, and how do I turn them on?

    Answer: dasBlog 1.7 has 4 major anti-spam features. They are all disabled by default, and you need to enable them in your Configuration. When enabled there is an additional option to send an HTTP 404 Status Code to blocked referrers, dropping the connection and not wasting any server resources on the referral.

    1. CAPTCHA for Comments

    This feature will force users to prove that they are human via a proof. The proof is that you mist enter a 6 character series of digits and numbers in the CommentView page before the Comment will be accepted. The aim of this is to prevent automation of comment entry.

    2. MovableType Blacklist Support

    dasBlog includes support for the MovableType Blacklist by Jay Allen. This will prevent referrals and comments from any domain that is listed in the blacklist.txt file. When enabled, dasBlog will attempt to download this file in the Application Start method, or when enabled from the Configuration page. At most the file is downloaded once per day, and will also be downloaded whenever your ISP sets your ASP.NET worker process to recycle.

    3. Content based Blacklist

    dasBlog will also filter out any domain from referrals or comments based on keywords that you can enter in the Configuration Page. You should place the entire domain, or any subset of that domain separated by a semi-colon. For example, “foo;bar;foo.com;bar.com”.

    4. IP Blacklist

    The IP Blacklist must be enabled from the Web.config section (httpModules) since it operates as an HttpModule. The list of the IP addresses to block is located in the blockedips.config file in your SiteConfig folder.

    Question: Will you add support for rel=nofollow?

    Answer: Yes, this is checked in and will be in .2. It will only be used for Referrals, not for Trackbacks or Pingbacks. If it becomes a problem for Trackbacks and Pingbacks I will add support for this as well. dasBlog does not render html tags from comments so there is nothing to do there.

    Question: I’ve found a bug or have a feature request, where do I send them?

    Answer: Please enter them into SourceForge

    Question: When will bug x be fixed?

    Answer: In about a month we will fix the highest priority bugs in a Service Release. This will be the .2 version of 1.7.

    Question: I have some code I would like to contribute, but I don’t want or know how to join the project.

    Answer: Just zip the code and send it to me. You can get the code from CVS Anonymously.

    Posted Saturday, January 22, 2005    Permalink    Comments [5]  View blog reactions

     

    # Thursday, January 20, 2005

    ClearContext to deal with E-mail

    I've been meaning to write this for a while, and reading John's post on Microsoft's Email Culture finally motivated me to do so. I'm particularly interested in talking about how I deal with "Ignore Incoming Email" since that can be a major distraction.

    It's been almost a year since I started using Getting Things Done. Overall I would say it's been a resounding success. I feel in control of my life, my work, my email, and my endless list of things that I want to do. However, I have had a few glitches along the way. Fundamentally, the "system" does not scale to the mail volume I receive. If I spent a minute per mail per day I would do nothing but email. Furthermore, for a few months I was spending 10 - 4 in meetings. That meant that my only time to take care of e-mail was from 8 - 10, or during meetings (which is useless), or at night. It wasn't a happy thing.

    Now, some of this was a bit ridiculous. You can't be in meetings all day and expect to do any work. And if you are burying your head in your laptop during the meeting, there is no point in being there. But, beyond that, GTD does not teach you how to deal with 200-400 pieces of mail a day. I believe that the system is really suited for some one who gets a low to modest amount of mail, which does not really exist at Microsoft.

    For a few months I used a system whereby Outlook would color messages where I was the only recipient in blue, if I was in the TO line in green, and if I was in the CC line in Brown. Based on color I could sort of figure out what to read first and what to leave for later. However, this was flawed for a few reasons. Out of the box, the two views that Outlook gives you that are most useful are:

    • Group by Conversation
    • Group by Date

    However, both of these "sort" orders do not give you the most important information at the top of the inbox. Group by Date assumes that the newest messages are those you should read. Group by Conversation assumes that the conversation with the most recent reply is on top. These messages "above the fold" basically have no intrinsic importance associated with them.

    The Inbox is really something I use for "triaging" messages. For any given messages I do the following:

    1. See if I can determine from the subject or From if I should read it immediately
    2. See if I can act on it in < 2 min and delete it
    3. See if I need to turn this into a Task ala GTD.

    Now for an example. Say I get an email sent to my entire division at Microsoft, or I unnecessarily get added to a thread that I really don't need to be on just because I'm a member of some team distribution list. Well no matter how much I delete, any one who replies gets that thread bubbled above the fold. Clearly this doesn't work. I could go on with numerous examples, but at the end of the day the problem still stands. Outlook has no way of organizing the inbox in such a manner that the important stuff is above the fold. Or does it?

    Over the holidays I got an email from Deva Hazarika, the CEO of ClearContext (blog), asking if I would check out his software. I was traveling at the time, but when I returned I decided to give it a go. I was very intrigued and found out that Deva actually lives around the corner from me, so we met for lunch and had a great 2 hour talk about his company, the software, and my problems with email! Since then I've been using ClearContext to see if it would work for me. As of now (1 month with the software) I cannot live without it.

    First and foremost, ClearContext is a well written Outlook Add-in. I have spent my fair share writing Add-ins for Outlook, and I can smell a rotten Add-in a mile away. ClearContext has a great installer, seamless integration, and worked without any hitches. One installed ClearContext will re-arrange your inbox so that the important items are at the top. I will explain a bit how this works, but the bottom line is that it has saved me countless hours in the past month and integrated wonderfully with my existing Getting Things Done system.

    ClearContext works by evaluating a number of aspects of an email to determine it's priority:

    • Who the message is from (you can rate specific contacts importance to you)
    • Which domain the message is from (for example, @microsoft.com can be higher than others)
    • Importance of the determined priority of the message
    • If you are a participant in a thread
    • The "directness" of the message

    Based on these factors it will assign a "score" to a message, and a thread. Based on these scores it will sort your messages. Additionally messages are colored with Red being most important, then Blue, Green, Black and Grey (in order of priority). You can also tweak the importance of the weight of these items. For example, I made Thread Participation most important since I usually want to keep on top of thread that I have replied to.

    ClearContext also has a notion of a "Topic". You can assign a Topic to a message, and then you can use a button to File that message automatically to a folder. Since I already had a folder hierarchy of Projects from GTD, I was able to point ClearContext at this folder hierarchy and it created all the Topics for me. Filing messages is a breeze now. Topic = Project in GTD.

    To illustrate how this can be useful, I'll use two examples.

    1) General News type message

    Every day I get a few emails about "Top News Stories". I don't need to read these when I get them and if I don't get them it's no big deal. I told ClearContext that these messages are the lowest priority. As such the messages never appear at the top of my inbox, but the very bottom. I can get to them when I have time, and if I don't I just bulk delete them.

    2) Threads I don't need or want

    Say I get a thread that I don't need to keep on top of. Well i just set the priority to Very Low. As new items come in, they automatically go to the bottom of the inbox, and I can quickly review or delete them and they never distract me.

    The basic value proposition that ClearContext offers me, also mentioned in John's post, is that as new messages enter my inbox, I do not see them at the top. If the message is not at the top, it's not important. At first I was nervous about this, but after a month I fully trust the system to do the right thing for me. It's incredibly valuable to keep my distractions to a minimum during the day, and ClearContext allows me to do that. I only focus on messages at the top of my inbox, and I never move down till I deal with those. It's instilled the rigour I need to follow the GTD Triage process.

    Now, I have a few small problems with ClearContext, and I've sent them the feedback.

    1. ClearContext doesn't work to well if you have two versions of Outlook 2003 Running simultaneously in cached mode. For most Microsoft employees this can be a problem. The solution though is to run ClearContext on one machine. You still get the views on the other machine, so you don't lose the benefit
    2. You can't view messages in the Group By view. That is, messages are sorted in a flat list like Outlook XP. This is because of how ClearContext sorts items. This isn't a huge loss, but I would like to be able to also Group By Date and Conversation after applying the ClearContext sort order.

    A final note. Software like this really shows the power of the Extensibility model in Outlook. I am amazed by how rich some of the add-ins for Outlook are, like Tablet Enhancements for Outlook, ClearContext, and Plaxo. Outlook truly is a platform, and one receiving a lot of attention from some really innovative developers.

    Posted Friday, January 21, 2005    Permalink    Comments [1]  View blog reactions

     

    Outlook Live

    What happens when you take the most utilized business communication tool and team it up with Hotmail as the mail backend and sell that as a subscription? Outlook Live.

    This is a pretty cool service! You can use Outlook and have all your mail, contacts, tasks, notes stored on Hotmail. Your data roams and you can access it anywhere. I've been using this for the past few months and love it. It makes Hotmail as my primary non work account really slick. Furtheremore, if you don't own a copy of Outlook 2003, it comes with the subscription.

    Posted Thursday, January 20, 2005    Permalink    Comments [4]  View blog reactions

     

    # Tuesday, January 18, 2005

    dasBlog 1.7 released

    Well, I'm a bit late to the party... but as Scott announced, dasBlog 1.7 is finished. There are numerous and substantial improvements in this version. Some of them were done months ago, and the most substantial came in the last 2 months as Scott and I feverishly whipped dasBlog into a fast asp.net app. We hope we've also given folks the tools to help combat referral and comment spam.

    Anyhoo, here is the 411:

    • dasBlog is no longer hosted on GotDotNet, and has new home at SourceForge.net. Using CVS as source control actually makes it a joy to check in code to dasBlog.
    • New Features
    • Release Notes
    • YOU MUST UPGRADE your content folder. This is *not* and XCOPY deployment. There were two major bugs fixed in the dasBlog runtime that require that the dasBlog files be rebuilt. Unfortunately there was no avoiding this. Read the instructions in the DasBlogUpgrader download. update: the instructions in the download aren't as clear as those I recently updated in the Release Notes
    • For most other details see the wiki

    Anyway, I learned a lot about asp.net, programming and dasBlog working on this release. It was really fun and I look forward to working on 1.8 :-).

    Some of my favorite 1.7 features

    • All the search bot referrals to your site are "pretty printed" in your logs
    • CAPTCHA for entering comments
    • MovableType Blacklist and Content based Blacklist for visitors to the site
    • <%ReferralListFiltered()%>Macro that will shrink the number of referrals displayed in the Permalink and expose the rest using javascript and css.
    • Performance
    • Lots of smart Caching
    • Trackbacks/Pingbacks work reliably.

    update: if you happen to use dasBlog to do any CrossPosting (post to another blog from dasBlog) DO NOT CrossPost in 1.7. I just found a bug that causes dupes. If you want a fix and can't wait for .2 (which will of course fix these types of things) leave a comment and I will send you an updated patch (one dll).

    Posted Wednesday, January 19, 2005    Permalink    Comments [10]  View blog reactions

     

    Picasa 2 supports RAW

    Finally, a *free* photo album tool that supports RAW images like those from my Nikon D70!

    http://www.picasa.com/

    update: it appears Picasa does not support auto rotation of images. That sort of bums me out. The data is there, not sure why they would not take advantage of it.

    Posted Tuesday, January 18, 2005    Permalink    Comments [2]  View blog reactions

     

    # Thursday, January 13, 2005

    Programming Teaches

    Sometimes I wonder if I was supposed to be a programmer. My job at Microsoft does not require that I write any code... that's not what Program Managers do. Instead I do all sorts of other stuff, but I enjoy it a great deal. However, sometimes all the context switching from multi tasking KILLS me. I mean if I am juggling 2-3 super high priority items at once I get really burned out.

    That is why I really enjoy programming so much in my spare time. I don't have to multi-task and I can focus on one problem at a time. I find that to be incredibly rewarding. The ability to create something from nothing, to take an idea and make it work all by myself. I sort of get to do that at Microsoft but the process is lengthy, I don't actually build the thing, and you often don't get that satisfaction till you "ship". Depending on where you work, that could be every 2 months to every 2-3 years, sometimes longer.

    The funny thing is, when I came to Microsoft I didn't really ever write code. I took two 4 months classes in college (C++ and Java). I hated C++ cause after 4 months all I could do was write a console app. Java was neat in that I could draw stuff, make games, silly and cool little apps in days. After that I pretty much never tried again. In May of 2003 I was frustrated at how difficult it was to add words to the Tablet PC Dictionary (which was supposed to improve recognition). I was on a mailing list where some one forwarded a word doc that described how to add words to the dictionary in VB.NET. I installed Visual Studio that day, and started to work on the application. I marveled at how cool the .NET Framework was. I read a few dozen books, not understanding most of the stuff, but learning little by little. I sent the application around to the Tablet Discussion List we have at Microsoft and a few days later I got an email from some folks on the tablet team asking me if I wanted to publish the application as a PowerToy.

    That was really thrilling for me. It demonstrated that I had the creative power to take my own idea and make something that people could download and use. Looking back at this application and the code, I can't help but laugh. I later rewrote the thing from scratch cause none of it made sense to me, and I had long since switched to using C#, so VB looked funny and confusing. Soon after that I discovered BlogX and started playing around with that. I was mostly interested in the Windows application for posting to BlogX but soon after I started to dive into ASP.NET which was a rather difficult thing to get my head wrapped around. My hunger for learning more, and doing more really accelerated. I wrote a bunch of little applications, utilities etc and finally got most of it out of my system ;-). But the ability to do things like extending Media Center, Outlook and add value where I wanted was like an addictive drug. I was empowered to make things the way I want. Such things were:

    • Making the Vacuum Fluorescent Display on my Media Center do something useful
    • plugin for Outlook that could create OneNote notes from Emails and other items
    • NewsGator plugin to post to dasBlog
    • An application to edit the DateTime of photos as well as automatically rotate pictures
    • A small program to zip and unzip files quickly
    • An application to clean all the cruft from a VS.NET project (bin, obj)
    • An application to download RSS and send that to OneNote
    • An Outlook toolbar to replace the GettingThingsDone toolbar out there (that I dislike)
    • A Pocket PC Phone Edition app to switch the device to Vibrate during meetings
    • A Smartphone app for calculating tips
    • An ASP.NET Mobile Forms app for Wine that I have tried.

    Some of these things I've shipped, and others I haven't cause I don't have the time to finish the last 10% to make them shareable. Finally, the product that I currently am having the most fun working on, dasBlog, is also one that I have learned the greatest from. Both Clemens and Scott Hanselman have taught me an immense amount about programming through their code, or through interactions with them. Scott actually spent a bunch of time the past few weeks chatting over IM, Skype and Phone explaining things to me, and is a really great teacher. Clemens wrote so much code in dasBlog that there are still parts of it that are teaching me new things, and some I don't quite fully understand. But each time I decide to tackle some area of the code base that I'm unfamiliar with, I learn a bunch load more. Fixing bugs forces you to understand and learn how things work, which is a great way to learn new stuff.

    The amazing thing about .NET is you can really take your skills and apply them to the Internet, Win32 apps, Mobile apps, Media Center plugins, Tablet PC, Office, COM, etc. Knowing the language is an incredibly powerful tool and can be used consistently across a large spectrum of devices and products. I'm not sure you can do that with anything else. Since I am such a gear head, and out of the box never satisfies me, I have currently touched almost every product we sell that can be extended using .NET for about 12 months of investment of time on my part. That's a pretty decent value proposition for the framework. From my Smartphone to my Media Center, and everything in between, I can change things, make things, and custom tailor software to my liking.

    What's my point? Well I'm getting to that. In the last 18 months I have learned a crap load about programming and .NET. When I was in the MacBU this had zero relevance to my job. However, now in Hotmail it has a lot of relevance, especially since my team is responsible for the Front Door Architecture and Infrastructure. This means that I often spend an enormous amount of time with our developers thinking about .NET, designing for scale, solving problems when things break etc. The interesting thing is that every time I learn something new about programming or ASP.NET it comes up a few days later at work. This past month it's happened at least twice. This means that I can actually play a part in the design or the solution for a problem, and help to actually influence direction and add value where I can. In many ways I feel like my job is a lot like being a student. I learn every day that I am here, in almost every meeting I am in, and from most of the people I interact with. I really find it rewarding to also learn from looking at other people's code and trying to influence my ideas into something that ships. That's really what makes working her addictive for me, and would really make it hard for me to do anything else at this point in my life.

    A lot of the time my wife looks at me staring at my computer screen and has no freaking idea what could be so interesting that I would glue myself to the same chair for hours typing away. Sometime I wonder myself, but often I hardly even notice. I've tried to explain it to her, but just like I can't understand what it's like to save some one's life, deliver their child, or help them create a baby when they cannot otherwise do so (things she does), it's hard for her to understand how this drives me. I consider myself pretty dammed lucky that my ability to do my job benefits from this kind of learning, and that as I learn more, I can contribute more. It's sort of win-win I guess.

    Posted Friday, January 14, 2005    Permalink    Comments [0]  View blog reactions

     

    # Monday, January 10, 2005

    Referral Spam and Movable Type Blacklist

    Well, just in time for a wave of referral spam that is hitting my blog (mostly from http://www.ownsthis.com) I spent part of today writing a class that can consume the Movable Type Blacklist. The class will allow you to download this file from the server periodically (no more than once a day). I have written it such that anyone can integrate this into their .Net blogging package, or any other .Net program. I just checked this into the dasBlog 1.7 tree. The nice thing about this is that the Blacklist is maintained in real time, and you won't have to rely just on content filtering (the stuff that Scott did) but you'll get a pretty long and decent blacklist of bad sites. So far, in the past few hours I've gotten 100% of the referral spam and no false positives...

    We are a few days away from releasing the final version of dasBlog 1.7. A very small number of folks have been running the bits over the weekend and as a result we've fixed a few bugs. A couple more days and we'll post the bits to SourceForge.

    When that happens I'll post the MovableTypeBlacklist class. I've also considered writing an HttpModule to send these guys 404s, but didn't really think that was appropriate. The list is basically loaded into a long string, delimited by "|" and passed into a Regex to match a url. Interestingly enough, when I tried to Compile the Regex, my little console app balooned to 150 MB and it never quite finished running. Using a static Regex with the long static string I was able to execute matches in 0 - 10 milliseconds.

    Here is a dump of the class:

    6p.org.uk : True
    Executed in : 20 milliseconds

    microsoft.com : False
    Executed in : 0 milliseconds

    shahine.com : False
    Executed in : 0 milliseconds

    flatbedshipping.com : True
    Executed in : 0 milliseconds

    apply-to-green-card.org : True
    Executed in : 0 milliseconds

    ownsthis.com : True
    Executed in : 10 milliseconds

    Posted Monday, January 10, 2005    Permalink    Comments [2]  View blog reactions

     

    # Sunday, January 09, 2005

    Adobe Premiere Elements 1.0

    A few days ago I was in CompUSA doing the usual... walking aisle by aisle as my wife did some shopping in Union Square, and was surprised to find that Adobe had created an "Elements" version of Premiere. Finally, a DVD creating, Video Editing, Movie Making piece of software that does not suck. One of the biggest things missing on my PC is a quality all in one Movie Editing and DVD creation package. Sure, Windows Movie Maker 2 is nice, but it can't burn to DVD. Photo Story 3 is a sweet application for creating movies of your pictures (with unparalleled Ken Burns affect and photo re-sampling as well as music creation) but also lacks the ability to take those .wmv files and then add things like DVD Chapters, DVD templates, and the most crucial step, burning to DVD.

    Well for you Mac folks, you have a sweet package with iMovie and iDVD. iMovie is no good for it's Ken Burns affect, and neither package will generate music for you like Photo Story 3 does (you can select a classical composer, like Mozart and the tempo/mood for your Photo Story and it will generate audio for you). However, iMovie and iDVD excel at Capture of DV video, Authoring of a DVD and have wonderful integration.

    I have tried Sonic, Roxio and Nero products for doing the above and all have fallen short of my expectations... heck I used a Mac for this stuff so I know where the bar is! But I have to say, THANK YOU ADOBE for giving us an affordable, quality, software package that finally puts Windows on par with the Mac for creating DVD's and Editing Videos. And of course, you can just drag and drop your Photo Story 3 movies directly into Premiere Elements making for a pretty seamless experience.

    I'm really diggin the Elements suite of products. I own Photoshop CS, but if I didn't I would buy Photoshop Elements 3 now this supports the Adobe RAW Plugin. Now if Adobe would just update Album to support RAW photos from my Nikon D70 I'd be psyched. You can purchase Photoshop Elements 3 and Premier 1 for $139 and save a bundle.

    Posted Sunday, January 09, 2005    Permalink    Comments [6]  View blog reactions

     

    Skype 1.1 Install Problems

    Jeff is having problems installing Skype 1.1. I am having the same problems. This is the first time I've ever used Skype, so this is not leaving a good impression.

    Anyway, booting into Safe Mode allowed me to install it. Not sure why.

    Posted Sunday, January 09, 2005    Permalink    Comments [1]  View blog reactions