Scott Hanselman

Continuous Integration Screencast - Jay Flowers and I on DNRTV

April 29, '07 Comments [7] Posted in Nant | NUnit | Podcast | Programming | Screencasts
Sponsored By

Last week during lunch Jay Flowers and I recorded an episode of "DotNetRocks TV." We are Episode 64 of DNRTV. 

"In this episode of dnrTV, Carl has two guests (Jay Flowers and Scott Hanselman). Essentially Jay Flowers is an expert in Continuous Integration (CI), and the author of CI Factory, a helper application for setting up CI systems. Scott complements Jay as a user of CI Factory, and one who has had to set up CI without it! In this show Jay shows Scott and Carl how to set up a complete CI system with Subversion as the source control system. Jay uses SubText, a popular blog software package, as a demo source project that gets run through the CI system."

Play Flash Version in the Browser
Download zipped video
Download Torrent to Zip
Subscribe with PwopCatcher (read more below)

You remember Jay Flowers, maker of the free CI Factory, a Continuous Integration accelerator, from Hanselminutes show #54. We also talked about CI in February of 2006 on Show #4. Jay and I had said on the show that we really needed to do a visual show to help folks understand Continuous Integration and CI Factory, and this is it.

In this show, we (actually Jay) takes SubText, the popular ASP.NET/SQL Blogging Engine led by Phil Haack, and sets it up for Continuous Integration from a totally fresh machine. He walks us through the process step by step. Even though SubText already has a CI Build setup, we chose it as an example since most folks who want to do Continuous Integration likely have an existing project in mind. We wanted to show how even a fairly complex project like SubText that includes Unit Tests and many projects can be setup for CI in less than an hour. Setting up a build server (without asking your boss) can be a good way to sneak Continuous Integration processes into your company.

Jay worked very hard on preparation for this episode, on his own time, and I want to personally thank him for his work. I hope you enjoy the show.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Hanselminutes Podcast 61 - Inside the Mind of Chris Sells and The Last 15 Years of Programming - Part 1 of 2

April 29, '07 Comments [9] Posted in Podcast | Programming
Sponsored By

My sixty-first podcast is up. In this shocking episode, I visit the home of Chris Sells and we make up a topic for the show! I suggested we talk about what programming will look like in 15 years, and Chris countered with the suggestion that we chat about the LAST 15 years first, then the next 15. We have a blast when we chat, so this show went long, almost 50 minutes, so we cut it in half so as not to waste the listeners time. Chris had a bit of an allergy to me and coughed a few times and we weren't able to fix the sound, so forgive me (and Chris) ahead of time.

Part Two will be posted tomorrow so you don't have to wait a week.

Next week I'll be at Mix, and I'll have an interview with ScottGu about Silverlight as well as some other surprises.

ACTION: Please vote for us on Podcast Alley! Digg us at Digg Podcasts!

Links from the Show

 Chris Sells Blog

Subscribe: Feed-icon-16x16 Subscribe to my Podcast in iTunes

Do also remember the complete archives are always up and they have PDF Transcripts, a little known feature that show up a few weeks after each show.

Telerik is our sponsor for this show.

Telerik is a new sponsor. Check out their UI Suite of controls for ASP.NET. It's very hardcore stuff. One of the things I appreciate about Telerik is their commitment to completeness. For example, they have a page about their Right-to-Left support while some vendors have zero support, or don't bother testing. They also are committed to XHTML compliance and publish their roadmap. It's nice when your controls vendor is very transparent.

As I've said before this show comes to you with the audio expertise and stewardship of Carl Franklin. The name comes from Travis Illig, but the goal of the show is simple. Avoid wasting the listener's time. (and make the commute less boring)

  • The basic MP3 feed is here, and the iPod friendly one is here. There's a number of other ways you can get it (streaming, straight download, etc) that are all up on the site just below the fold. I use iTunes, myself, to listen to most podcasts, but I also use FeedDemon and it's built in support.
  • Note that for now, because of bandwidth constraints, the feeds always have just the current show. If you want to get an old show (and because many Podcasting Clients aren't smart enough to not download the file more than once) you can always find them at http://www.hanselminutes.com.
  • I have, and will, also include the enclosures to this feed you're reading, so if you're already subscribed to ComputerZen and you're not interested in cluttering your life with another feed, you have the choice to get the 'cast as well.
  • If there's a topic you'd like to hear, perhaps one that is better spoken than presented on a blog, or a great tool you can't live without, contact me and I'll get it in the queue!

Enjoy. Who knows what'll happen in the next show?

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Silverlight is Argentum in a Flash

April 27, '07 Comments [5] Posted in ASP.NET | Musings
Sponsored By

Doh! Silverlight! After the Silverlight podcast I kept asking myself, why are all the DLLs and Javascripts called things like aghost and agcore? Because Ag is the symbol for Silver. Silver in Latin is argentum. Thanks Alexey!

Download Silverlight for Windows here and Silverlight for Mac here. It's only a meg and is harmless.

Be sure to check out Alexy's blog post (via Mike Harsh where I stole the Silverlight Logo) with his WPF/e (Silverlight) 3D demo based on his Bubblemark 2D Benchmark that includes:

I got over under each demo. Things slowed down with 128 balls, but I greatly suspect that it's a JavaScript problem at that point, and not an animation engine problem.

ASIDE: On an unrelated note, if you ever wanted to get Windows Media working in FireFox, download the WMP Plugin for FireFox and you'll be on your merry way.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Removing Security from Downloaded PowerShell Scripts with Alternative Data Streams

April 25, '07 Comments [7] Posted in PowerShell
Sponsored By

I was trying to run a PowerShell script that I downloaded from the Internet today and got this security warning:

Security Warning
Run only scripts that you trust. While scripts from the Internet can be useful, this script can potentially harm your
computer. Do you want to run foo.ps1?
[D] Do not run [R] Run once [S] Suspend [?] Help (default is "D"):

I've written about Signing PowerShell Scripts before, but not about totally unsigned, totally un-trusted scripts. When a script is downloaded via Internet Explorer from the Internet or an Intranet, an NTFS Alternative Data Stream is added to the file with a Zone Identifier, indicating the file's origin.

You can use the free streams.exe from SysInternals to see the Alternate Data Stream for each file/script.

C:\>streams foo.ps1 

Streams v1.5 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2003 Mark Russinovich
Sysinternals - www.sysinternals.com

C:\foo.ps1:
:Zone.Identifier:$DATA 26

You can see clearly that there's a Zone.Identifier stream attached alongside this foo.ps1 script.

It can be easily opened in notepad like this:

notepad foo.ps1:Zone.Identifier

And see the hidden ini file with a Zone Identifier. There's six possible values

public enum SecurityZone
{
NoZone = -1,
MyComputer = 0,
Intranet = 1,
Trusted = 2,
Internet = 3,
Untrusted = 4,
}

Notepad is kind of a coarse, but effective, way to access these streams. The PowerShell Guy has created an extension method for System.IO.FileInfo called GetStreams that lets you get at these streams from PowerShell.

In Vista, you can use the new /R switch to DIR as in DIR /R.

Personally, I like to just use the built-in (have you see this?) support in Explorer's General Property Pages for the file. You can just select Properties and under Security click "Unblock." Clicking Unblock completely removes  the Zone.Identifier Alternative Data Stream and makes scripts (and other things) executable again.

To summarize, there's lots of ways to manipulate Alternative Data Streams:

SECURITY NOTE: Firefox doesn't appear to know about zones at all, so PowerShell scripts that are downloaded from the Internet with Firefox are not marked with this Alternative Data Stream, and are therefore immediately executable, so take care. Firefox on Windows could fix this by calling IAttachmentExecute (MSDN).

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Leaving Comcast for Verizon Fios - Upgrading the Home Network to Fiber Optic

April 21, '07 Comments [37] Posted in Reviews
Sponsored By

I've been increasingly disappointed with Comcast's Internet Service of late. Even though I pay a monthly premium on top of the regular rate for Internet Access, I'm rarely getting good throughput. This makes downloading big stuff like Orcas Beta 1 VMs more than a little irritating.

(Yes, I know American's are spoiled by good bandwidth at cheap prices. I realize this more than you might know. See my post on Bandwidth in the Bush.)

UPDATE: I forgot to mention that I'm paying US$50 a month for the 15/2 service.

I got fed up recently and decided to move over to Verizon Fios as I'd had it with Comcast and Verizon had already torn up my yard a few months back to get Fiber Optic Cable to my neighbor.

TIP: A Verizon Employee confirmed to me that the online database and an internal database of "Is FIOs available in my neighborhood" is NOT in sync. Be sure to call and ask them if it's available where you are. My house was not available when checking online, but WAS available when I called and talked to a human.

Installation

I called and made the appointment. The day came (today) and the guy showed up. He absolutely knew his stuff. He was careful not to bad-mouth Comcast, which was classy, but he was clear to express Fio's culture. His feeling was "massive bandwidth, reasonable price, do what you like." That's nice, because I didn't like hearing from Comcast when they think I'm using too much.

My neighbor had the fiber come to his house, then a box attached to the side of his house, then a battery backup in his garage. Then the Verizon guy installed Verizon's Wireless Router on the wall in his garage and put in a bunch of small PCI 802.11 cards. So his whole house is wireless. No hub, no closet. Great for him, not acceptable for me. There's a lot of traffic flowing on my network and I want both the throughput and comparative security of wires.

TIP: Plan your network layout before the installer arrives. I had, fortunately, three contingency plans.

Initially I was quite concerned, thinking that there'd be no way for the Verizon guy to get the Internet Service into my second floor where the wiring closet and punchdown block is. This is when he dropped this surprise on me. A few months back, he says, they got the OK and hardware to run their service over the last 100 or so feet inside your house using the existing Coax Cable you've likely already got strung. This was perfect for me, as I already went to the work of getting Cable into my computer room.

See the diagram below. Now the fiber comes in from the street, into the optical converter, then under my house and into my walls on 75Ohm Cable Coax then out of the wall in my computer area and into the Verizon Router. The router converts that one Coax Run into RJ-45 Ethernet, that I plug back into the the house, which in turn, lights the house up - exactly as it was - for Internet. I was VERY pleased with his installation and the process.

Router Software

When I heard that Verizon insists (you can change it when they leave, but they lower-case-i "insist") that you use their ActionTec MI424WR Router as your first level router, I was thinking "I'll be damned if I'm going to give up my DD-WRT LinkSys Router after all the work I put into the whole network topology, QoS, and what-not.

The installer dude was sympathetic, and we chained the two with the Verizon Router basically neutered and just forwarding traffic along. This allowed Verizon to do whatever diagnostic magic probing they want and I could keep my existing stuff exactly as it was.

However, after he left, I started poking around the Actiontec's Web Interface, and upgraded its firmware to 4.0.16.1.45.160. I must say, it's really quite powerful once you get into the deeper parts of the system, bypassing all the safety warnings.

TIP: Make a hard-copy report of all your networked devices and their MAC addresses. It'll be easier to figure out who got what address later if those devices don't have names.

I decided to copy (manually) all my DHCP lease settings, uPnP stuff, QoS rules, Port Forwarding (for Windows Home Server, etc) and some other things over to the new router. Not only was I able to get it all up and working in about 90 minutes, but it actually feels quite a bit snappier than the LinkSys. The LinkSys would get really sluggish when the network was working overtime. This ActionTek one works great. I was pleasantly surprised. Now I've got two LinkSys Wireless Routers that need a home.

Current Network Map

Here's how things look currently. I consolidated inside the wiring closet, and while there's two RJ-45 ports in each room in the house, for now I'm getting away with one 8-port hub into the closet, and the built-in 4-port hub on the ActionTek Router.

TIP: Just as it's useful to have a Family Backup Strategy and accompanying diagram, it's useful to have a Current Network Map for your spouse in case you get hit by a bus. If you've got knowledge that exists only in your head, write it down.

Conclusion

I'm off to cancel Comcast Internet next week. Personally, I'd completely given up on Verizon many years ago and had long left them for dead. I'm completely surprised with the smoothness of the whole experience. Hopefully the uptime for FIOs will turn out good as well. I may also switch away from Vonage, given the current lawsuit, and move over to Verizon using this same network.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.