Wednesday, July 27, 2005

I know… Google did it long ago, but this stuff isn’t bad for a bunch of interns…

MSN Blog Map:

If anyone doubts how quickly MSN can churn stuff out, check this out on Start.com.  Leveraging a new rich client framework and the Virtual Earth APIs, Scott Isaacs put together an MSN Blog Map in NO TIME flat.  Pretty darn pretty.  Now you know where we all sit...

Click below to read Scott's full post. 

Quote

MSN Frameworks and the new Start.com MSN Blog Map
 
To demonstrate how the MSN Frameworks will enable us to innovate quickly - I built and shipped (beta quality :-) a new MSN Blog Map component within start.com.  The MSN Blog Map maps bloggers from throughout MSN (expect the list to grow over the next few weeks). You can check it out at http://www.start.com/3.  After the page loads, add MSN Blog Map from Staff Favorites in the left column.
 
This component leverages MSN Virtual Earth to create a new component that integrates with Start.com.   Having our client framework enables quick experimentation, implementation, and ship of integrated scenarios. For the MSN Blog Map, I added custom logic on top of the Virtual Earth rendering component and integrated with the existing RSS rendering objects of start.com.
[Via Torres Talking]
posted on 7/27/2005 11:29:40 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  • Sweet. I can keep drinking coffee...
    March 1, 2005 — A team of Japanese dentists has invented a paste of synthetic enamel that seamlessly heals small cavities, according to a paper in the latest journal Nature.

    [Via Discovery Channel :: News :: Paste for Teeth Repairs Cavities]
    posted on 7/27/2005 11:25:54 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  • How to recover a corrupt master MSSQL database. :

    I am by no means a SQL expert but due to the life of a network engineer I get to see a little of everything. If anyone has any suggestions or comments on the steps I used feel free to make them. Recently we had an issue with a client that there master database was corrupt and MSSQL would not start. We had an old backup of the master database and the .mdf and .ldf of the client databases only. Below I have listed out the steps we took to recover the master database and the client databases.


    - We started sqlservr.exe as an application using the trace flag -T3608 and it gave the error:

    Error: 9003, Severity: 20, State: 1.

    Cannot recover the master database. Exiting.

    - We then proceeded with reinstallation of sql server for a named intance:NEW. and also applied sp3.

    - Started sqlservr.exe -c -m -snew

    - Restore database master from disk = 'D:\SQLDATAold\mssql\BACKUP\master_db_200503130200.BAK' with replace

    - Started sqlservr.exe -T3608

    - Checked the consistency of the Master database using: dbcc checkdb ('MASTER') - zero consistencies

    - Next detached the Model database :sp_detach_db 'model'

    - Renamed the new instance model db files

    - Attached the Model database using: sp_attach_db 'model','D:\sqldata\MSSQL$NEW\Data\model.mdf','D:\sqldata\MSSQL$NEW\Data\modellog.ldf'

    - Then took care of the Temp db by : Alter database tempdb modify file (name= 'tempdev', filename = 'D:\sqldata\MSSQL$NEW\Data\tempdb.mdf')

    Alter database tempdb modify file (name= 'templog', filename = 'D:\sqldata\MSSQL$NEW\Data\templog.ldf')

    - Detached the MSDB database: sp_detach_db 'msdb' and attached it back pointing to the right location:

    sp_attach_db 'msdb','D:\sqldata\MSSQL$NEW\Data\msdbdata.mdf', 'D:\sqldata\MSSQL$NEW\Data\msdblog.ldf'

    - Then changed the server name by executing the following commands

    - select @@servername

    - sp_dropserver 'BTLAPP'

    - sp_addserver 'BTLAPP\NEW', 'LOCAL'

    - Attached the DOCUWARE database and checked its consistencies: dbcc checkdb ('DOCUWARE') - zero consistencies


    This worked really well the only drawback is the new instance name of MSSQL. We had to change the ODBC on every client workstation to point to the new name.

    [Via Geekswithblogs.net]

    I had a similar problem last week, although it didn’t concern the master database. Emergency/Bypass mode is your friend. Posting here for reference. Thank Travis.

    posted on 7/27/2005 2:41:55 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [3]
  • Blog reactions
  • This is a toolkit that provides a simple HTML parser in order to allow the user to interact with web based forms. There are two parts to this toolkit.

    1. An extensible library that can perform simple HTML parsing as well as form extraction and submission. There is also an extensible object that forms an adapter with a DataSet and web based information. An implementation is given for inserting information in a simple table into a DataSet.

    2. A form extraction tool that implements the library. This tool allows the user to extract information from web based forms. This tool displays all the form tags, as well as all the the tags inside the form tags. Furthermore the submission method and URL of each form tag is displayed as well. The user can change the values and attributes of any of these tags and submit it to see what results.

    [Via The Code Project - Web Extraction and Submission toolkit (Library and tool) - .NET]

    Great article.
    posted on 7/27/2005 12:49:21 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Monday, July 25, 2005

    I saw this on Reuters and several other outlets. I think that the teachers must have “deferred success” on their drug test.

    LONDON (Reuters) - The word "fail" should be banned from use in British classrooms and replaced with the phrase "deferred success" to avoid demoralizing pupils, a group of teachers has proposed.
    [Via Reuters: Oddly Enough]
    posted on 7/25/2005 10:34:30 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  • I was answering a Google group post about removing duplicates from tables and wrote some sample scripts of ways to remove duplicates… IMHO the second example is the best, but I think it makes for an extremely large transaction on large tables… the first method (using a cursor) would keep the transaction small – I think.

    Both samples assume the following table with the following data:

    CREATE TABLE tblTest
    (
       [ID]  smallint
          IDENTITY(1,1)
          PRIMARY KEY CLUSTERED,
       FirstName    varchar(50)     NOT NULL,
       LastName varchar(50) NOT NULL,
       Email varchar(50) NOT NULL
    )

    DATA:

    insert into tblTest VALUES ('Hal','Lesesne','testemail@yahoo.com')
    insert into tblTest VALUES ('Hal','Lesesne','testemail@yahoo.com')
    insert into tblTest VALUES ('Hal','Lesesne','testemail@yahoo.com')
    insert into tblTest VALUES ('Hal1','Lesesne','testemail@yahoo.com')
    insert into tblTest VALUES ('Hal1','Lesesne','testemail@yahoo.com')
    insert into tblTest VALUES ('Hal1','Lesesne','testemail@yahoo.com')
    insert into tblTest VALUES ('Hal2','Lesesne','testemail@yahoo.com')
    insert into tblTest VALUES ('Hal2','Lesesne','testemail@yahoo.com')
    insert into tblTest VALUES ('Hal2','Lesesne','testemail@yahoo.com')
    insert into tblTest VALUES ('Hal3','Lesesne','testemail@yahoo.com')
    insert into tblTest VALUES ('Hal3','Lesesne','testemail@yahoo.com')
    insert into tblTest VALUES ('NonDup','Lesesne','testemail@yahoo.com')
    insert into tblTest VALUES ('AnotherNon', 'Dup', ‘whatever@yahoo.com’)

    The first method uses a cursor to build the MIN(ID) of the duplicates then iterates through each of those, deleting rows that match the dup fields but don’t have that id.

    DECLARE @id int, @FirstName varchar(50), @LastName varchar(50), @Email varchar(50)
    DECLARE GOODCUR CURSOR FOR
         select MIN(ID),FirstName,LastName,Email as GoodID from tblTest group by FirstName,LastName,Email having count(1) > 1
    OPEN GOODCUR
    FETCH NEXT FROM GOODCUR INTO @id, @FirstName,@LastName,@Email
    WHILE @@FETCH_STATUS=0
         BEGIN
              DELETE tblTest from tblTest where
                   (FirstName = @FirstName AND LastName = @LastName AND Email = @Email) AND NOT (ID = @ID)
              FETCH NEXT FROM GOODCUR INTO @id, @FirstName,@LastName,@Email
         END
    CLOSE GOODCUR
    DEALLOCATE GOODCUR

    The next method using a single delete statement and no cursor, but I think I remember it making for a huge transaction and lots of locking. This joins the table to itself based on the fields that you want to check for duplicates and deletes all but the lowest ID value for each.

    DELETE A
     FROM tblTest A
     INNER JOIN tblTest B
      ON A.Email = B.Email
       AND A.FirstName = B.FirstName
       AND A.LastName = B.LastName
       AND A.ID <> B.ID
     WHERE A.ID > B.ID

    I would appreciate any thoughts or comments on these statements. 

    posted on 7/25/2005 4:05:55 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  • :-)

    Vista definition: A distant view or prospect, especially one seen through an opening, as between rows of buildings or trees.

    I guess that they have seen the distant view. It's the view right behind them that gives them so much grief.
    Microsoft may be in trouble for naming its forthcoming operating system Vista after it transpired that the name has been registered by an American company for nearly six years.

    [Via Microsoft may have to alter Vista - vnunet.com]
    posted on 7/25/2005 11:42:36 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Sunday, July 24, 2005

    Phone company blocks access to telecoms union's website:

    Cory Doctorow: The Telecommunications Workers' Union of Canada is striking against has been locked out by Telus, a large phone company and ISP. Two of TWU's sites (including Voices for Change, a message board where union members can discuss issues such as being without a contract for 1666 days and last having received a general wage increase 2031 days ago).

    Telus is playing very dirty -- they're blocking access to the union's website so that their workers and the general public are cut off from legitimate debate about this action. This is inexcusable: imagine if this phone company chose to block all calls into union headquarters. From an email forwarded by Damien Fox:

    Telus Communications Inc, Canada's second largest telephone company, whose 13,500 unionized employees setup picket lines only sixteen hours before Telus implemented their non-negotiated contract offer Friday is now playing media censor.

    In an attempt to convince employees to cross picket lines and win public support during what may be a long labour dispute, Telus has blocked access to several pro-union websites from any Telus customer internet connections. This comes only one day after the Canadian Industrial Regulations Board (CIRB) found Telus guilty of bargaining in bad faith for the third time during the negotiation process that has left the Telecommunications Workers Union (TWU) without a contract for nearly five years.

    TWU members who rely on these websites and internet discussion forums for communications are now looking for alternative methods for retrieving information related to what is happening on picket lines across Alberta and BC. Union members who are able to get to the website are angered but not surprised by Telus' latest move.

    "What else should we expect from a company who has tried to implement a contract deemed a violation of Canadian Labour Code? Telus' disrespect for customers, employees, and Canadian labour law has all unions in Canada on the edge of their seat. If Telus successfully imposes their non-negotiated contracts, it sets precedence for all unionized companies across Canada when they sit down to bargain." one post reads. The CIRB has been reluctant to impose any penalties for Telus' violations of labour code as they are unsure what the direct impact has been on the bargaining process, and if the two parties would be any further along if Telus had followed labour law. Telus has been found guilty of several counts of bargaining in bad faith and interfering with the operations of a trade union by the CIRB.

    Known pro-union websites currently blocked to Telus customers are www.voices-for-change.com and www.telusscabs.ca . Visitors posting on the website are asking fellow union members, Telus customers, and the public to file a complaint with the CRTC and their MP for Telus violating their personal right to freedom of speech and freedom of the press under the Canadian Charter of Rights and Freedoms.

    For further union information and media inquiries, please contact Bruce Bell, TWU President at 604-341-2925 or Sid Shniad at the TWU Burnaby Office at 604-437-8601. Visit the TWU web site: www.twu-canada.ca

    For furher Telus information and media inquiries, please contact Nick Culo, National Communications, Telus Corporation at 780-493-7236, nick.culo@telus.com or visit www.Telus.com

    Link (Thanks, Damien!)

    Update: Abram sez, "This is the website through which you can make complaints to the CRTC about the business practices of Telus."

    [Via Boing Boing]

    posted on 7/24/2005 11:18:46 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  • Here is a handy little piece of code from one of the Geeks with Blogs .

    RunAs utility - this time with Code:

    Check this code out -

    System.Diagnostics.ProcessStartInfo myProcess =
       new System.Diagnostics.ProcessStartInfo("Notepad.exe");

    myProcess.UserName = "someusername"; //windows username
    System.Security.SecureString password = new System.Security.SecureString();
    // set value for password here.
    myProcess.Password = password;
    myProcess.UseShellExecute = false;
    System.Diagnostics.Process.Start(myProcess);

    What the above code does is, it runs the application notepad as the user "someusername".

    Now that's just like RunAs - except it's programmatic !! :-) (.NET 2.0 only)

    [Via Geekswithblogs.net]
    posted on 7/24/2005 11:03:45 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Thursday, July 21, 2005

    Explosions reported on London tube, bus -police:

    LONDON (Reuters) - Up to four explosions hit London's transport system on Thursday, exactly two weeks after more than 50 people were killed in blasts on underground railway trains and a bus.
    [Via Reuters: Top News]
    posted on 7/21/2005 10:31:02 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Wednesday, July 20, 2005

    Be sure to visit all the options undfer "Configuration" in the Admin Menu Bar above. There are 16 themes to choose from, and you can also create your own.

     

    posted on 7/20/2005 3:00:00 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Monday, July 18, 2005
    What in the world? I guess you would have define what “illegal” actually means… I would think that illegal immigrants really shouldn’t be in a US high school in the first place (let alone college).

    Speaking to the nations' largest Hispanic civil rights organization, Sen. Hillary Rodham Clinton, D-N.Y., received a standing ovation Monday when she vowed her support for legislation that would allow illegal immigrant high school students to attend college.

    [Via mcall.com - Clinton speaks before Hispanic civil rights conference]
    posted on 7/18/2005 10:03:15 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  • This is something to play around with if you have some time. Very nice applications written in an open source framework based on Javascript (Ruby on Rails Port).

    TrimPath: Wow!:

    By nat

    TrimPath is amazing! They have a bunch of Javascript projects. Check out the demo spreadsheet and TrimQuery, as well as JavaScript Templates and TrimBreakpoint (for debugging JavaScript, always my bane). The latest project is TrimJunction, a port of Ruby on Rails to JavaScript. It's a set of tools for building Rich Internet Apps in JavaScript, libraries to help with the J part of Ajax. Very cool stuff!

    [Via O'Reilly Radar]
    posted on 7/18/2005 9:03:19 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Sunday, July 17, 2005

    Mark Treadwell has this entertaining list of intra/inter office translations. Very Dilbertesque.

    Office Survival: What They Say Versus What They Mean:

    There are many situations where the following translations apply.  I am sure you can think of a few.

    Statement: A careful analysis and review are underway at this time.
    Meaning: We haven’t looked at this yet.

    Statement: This is an interim reply to assure you we are working diligently on the problem.
    Meaning: The new guy gets this project, but he doesn’t start until next week.

    Statement: Unfortunately, your request to attend could not be approved.
    Meaning: We’re going and there’s no room or funding to take you.

    Statement: Thank you for your interest in our program.
    Meaning: Thanks for generating a lot more work for us.  We’ll remember you fondly forever.

    Statement: Congratulations, your nomination has been approved.
    Meaning: So you’re the one they found at the last minute.

    Statement: The attached summary gives a list of last year’s/quarter’s progress.
    Meaning: This is all the good news we could come up with.

    Statement: Thank you for your invitation.  Unfortunately, I cannot attend due to other commitments.
    Meaning: I wouldn’t attend if you sent me first class.

    Statement: On behalf of my Boss, I’m responding to your inquiry dated ____.
    Meaning: He couldn’t care less, so I’m answering to get you off our backs.

    Statement: We have known for some time...
    Meaning: Surely someone has known.  We just have to find him/her.

    Statement: A definite trend is developing.
    Meaning: This information is meaningless, but we are charting it until the Boss loses interest.

    Statement: This is of significant theoretical and practical value.
    Meaning: Personally, I like it, but the Boss hasn’t seen it yet.

    Statement: While definite answers are not available at this time...
    Meaning: We are scrambling to find some kind of answer and this buys us some time.

    Statement: Some examples are provided.
    Meaning: These are the only ones we could find.

    Statement: The meeting will be of great importance.
    Meaning: The meeting is of no real importance, but some of the attendees need the exposure.

    Statement: Here are the results of the new program.
    Meaning: These are the only ones we had nerve enough to show.

    Statement: A complete summary will be provided upon completion of the review.
    Meaning: We’ll send something when we get the time.

    Statement: It is generally accepted that...
    Meaning: As far as I am concerned.

    Statement: Due to the complexity of the issue and the anticipated impact of this action, additional time is required to render a comprehensive response.
    Meaning: There is no way I’ll ever understand this project, so I’m scrambling to find someone who does.

    Statement: Your ideas are basically sound.
    Meaning: This guy isn’t even close.

    [Via Geekswithblogs.net]
    posted on 7/17/2005 10:12:00 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  • Robert Scoble is looking for some of the best bad names for the eminent Longhorn Vista :-) release.

    My entry is: Yawnhorn

    Let's get Longhorn's inadequacies out of our systems:

    Tom Servo: Obligatory Longhorn Article.

    "People have started calling it Windows ME2 already. That should give Microsoft a clue."

    OK, I want everyone to link here and call Longhorn all the bad names you can. Let's get it out of our systems.

    Here, let's go.

    Longhorn = Macintosh 2000.

    Longhorn is a trainwreck.

    Longhorn=longwait

    Longhorn=XPSP3.

    Longhorn=what a Tiger eats for lunch.

    OK, that should get you all started. Can you come up with more fun ones? I think I'll make some T-shirts for the PDC from the best ones.

    Here, let's watch Bloglines (who is linking here) and Technorati (who is linking here) for links to this post. Sorry, comments are temporarily down right now.

    [Via Scobleizer: Microsoft Geek Blogger]
    posted on 7/17/2005 10:00:12 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Friday, July 15, 2005

    Imagine a web service that you access over your Wifi network that 1) syncs digital audio/music/podcasts, 2) updates an application with the path traveled by the car during the day (assuming it is your 17 year old daughter’s car) and 3) reports the tire pressure, oil pressure and gas level to track and signal significant levels of each. Sweet.

    Microsoft debuts new version of Windows Automotive:

    microsoft car

    Microsoft has released Windows Automotive 5.0, a new version of the Windows CE-based OS for embedded car computers. According to the company, the latest rev includes new tools for developers, such as a new UI toolkit, as well as support for Bluetooth, WiFi UPnP, USB, XML, SOAP and other common standards. Companies like Clarion, Alpine and Pioneer are already working on products, such as audio gear and GPS systems, that will be built on the latest version of Windows Automotive. Microsoft built the new Win Auto with development teams in both Redmond and Tokyo, in order to suck up to leverage the expertise of Japanese automakers and car-audio companies. And, of course, we just can’t resist the opportunity to take a cheap shot and revive once more the classic joke about what would happen if Microsoft made cars.

    [Via Engadget]
    posted on 7/15/2005 10:23:58 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  • Now this deserves consideration for an A&E Biography – or at least an E! True Hollywood Story…

    Slim Goodbody still plying his trade:

    Slim Goodbody Ever wonder what happened to Slim Goodbody, the Captain Kangaroo regular who taught us all about how we work? Neither did I, until I ran across this story from the Associated Press. Goodbody, a.k.a. John Burstein, may have lost his ridiculous afro-mullet, but he’s still making appearances at schools and hospitals across the United States, having given up his dream of becoming a Shakespearean actor when his alter-ego became popular. Sure, he still says dorky things like ” Give yourself a hug. Say, ‘I love my body. I’m the best me in the world.” (Um, you’re the only you in the world, John. Are you trying to mess with my kid’s ontological comprehension?) But he also teaches kids the inner workings of the human body and the benefits of making healthy decisions in a way that doesn’t put them to sleep. And you know, if the fact that he weighs the same 155 lbs. he did 30 years ago didn’t make me burn with hot envy, I might just be able to love the guy.

    [Via Blogging Baby]

    posted on 7/15/2005 8:49:56 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Thursday, July 14, 2005

    Scott Hanselman pointed to this link in the following post:

    25 Rules of Management:

    I've been reading as much as I can on how to be an effective manager lately. For a number of reasons, mostly internal, but also because in a recent lunch Chris Sells said (something like):

    "If you're not getting slapped by your boss at least twice a year, you're not pushing the envelope enough."

    It was just the little nugget of quasi-wisdom I needed to get thinking about my style. My boss, Chris Brooks, also pointed me to Swanson's Rules. Number 3 looked familiar.

    Bill Swanson's '25 Unwritten Rules of Management'
    1. Learn to say, "I don't know." If used when appropriate, it will be often.
    2. It is easier to get into something than it is to get out of it.
    3. If you are not criticized, you may not be doing much.
    4. Look for what is missing. Many know how to improve what's there, but few can see what isn't there.
    5. Viewgraph rule: When something appears on a viewgraph (an overhead transparency[, or powerpoint]), assume the world knows about it, and deal with it accordingly.
    6. Work for a boss with whom you are comfortable telling it like it is. Remember that you can't pick your relatives, but you can pick your boss.
    7. Constantly review developments to make sure that the actual benefits are what they are supposed to be. Avoid Newton's Law.
    8. However menial and trivial your early assignments may appear, give them your best efforts.
    9. Persistence or tenacity is the disposition to persevere in spite of difficulties, discouragement, or indifference. Don't be known as a good starter but a poor finisher.
    10. In completing a project, don't wait for others; go after them, and make sure it gets done.
    11. Confirm your instructions and the commitments of others in writing. Don't assume it will get done!
    12. Don't be timid; speak up. Express yourself, and promote your ideas.
    13. Practice shows that those who speak the most knowingly and confidently often end up with the assignment to get it done.
    14. Strive for brevity and clarity in oral and written reports.
    15. Be extremely careful of the accuracy of your statements.
    16. Don't overlook the fact that you are working for a boss.
    * Keep him or her informed. Avoid surprises!
    * Whatever the boss wants takes top priority.
    17. Promises, schedules, and estimates are important instruments in a well-ordered business.
    * You must make promises. Don't lean on the often-used phrase, "I can't estimate it because it depends upon many uncertain factors."
    18. Never direct a complaint to the top. A serious offense is to "cc" a person's boss.
    19. When dealing with outsiders, remember that you represent the company. Be careful of your commitments.
    20. Cultivate the habit of "boiling matters down" to the simplest terms. An elevator speech is the best way.
    21. Don't get excited in engineering emergencies. Keep your feet on the ground.
    22. Cultivate the habit of making quick, clean-cut decisions.
    23. When making decisions, the pros are much easier to deal with than the cons. Your boss wants to see the cons also.
    24. Don't ever lose your sense of humor.
    25. Have fun at what you do. It will reflect in your work. No one likes a grump except another grump. 
     
    [from Swanson's Rules]

    [Via ComputerZen.com - Scott Hanselman's Weblog]
    posted on 7/14/2005 7:08:52 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions