Code Rad

Regarding SOPA/PIPA…

I had called my congressional representatives in Washington during the internet blackout protesting SOPA/PIPA. Sen. Johnson (or a lowly intern) graciously replied electronically, saying that he agrees with Congress in that we should take a step back and try to re-do this whole thing because we want to protect our American IP from the greedy clutches of the world. In kind, I responded to Sen. Johnson that we need to fight for freedom and let crime be the catalyst for technological innovation. Instead of fencing ourselves from the world, let us lead the world in open pride. Here’s the correspondence:

Ron’s e-mail

Dear Michel,

Thank you for taking the time to contact me regarding the Stop Online Piracy Act and the Protect IP Act.

These bills attempt to prevent foreign-based websites from pirating American intellectual property by allowing federal courts to issue orders against websites that are “dedicated to infringing activity.” The court order can then be served on search engines, payment providers, and other third parties, thereby enlisting them to prevent transactions with the infringing website.

I understand the positions of those on both sides of this issue. The internet has been an amazing vehicle for business creation and the dissemination of information because it has provided a free-market environment with minimal regulatory burdens. On the other hand, authors, artists, and inventors should have the ownership of their creations protected, especially in the international forum of the internet. In sum, we must jealously guard the freedom of the Internet while protecting copyright holders, keeping the internet both free and prosperous.

In view of these important competing interests, I totally support the Senate’s decision to take a step back from these two pieces of legislation and seek a proper balance. I do not believe that balance was struck by either piece of legislation as they are currently written. The best way to balance those interests may be to more actively enforce existing laws. Through targeted enforcement, we can shut down the worst actors using the authority of existing laws.

Thank you again for taking the time to share your thoughts. It is important for me to hear the views and concerns of the people I serve. Since taking office, I have received over 300,000 pieces of correspondence and have had over 150,000 people participate in live forums and telephone town hall meetings.

Please feel free to contact me in the future if I can further assist you or your family. It is an honor representing you and the good people of Wisconsin in the U.S. Senate.

Sincerely,

Ron Johnson United States Senator

My response

Dear Senator Johnson,

Thank you for taking time to listen to me as well as the thousands of other voices across the nation and internationally. These efforts are globally significant and it is of the utmost importance that we strive to carefully achieve the balance you talk about.

I do not believe that we can have a completely free system without risks of crime and scandal; that is the price one pays for freedom in a society of depraved people. I much prefer freedom to dictatorship, that is why I am proud of my country’s heritage and world-wide legacy.

Let’s strive to keep freedom at the forefront and let’s let the crime be a catalyst for innovation, pushing art, music and film to new degrees of excellence rather than new degrees of complaining and legislation. We are a country of innovators, inventors and problem-solvers; let’s keep the issue there and strive to lead the world rather than keep putting up fences.

Your grateful constituent,

Mike Caron


Visual Studio 2011

Some really interesting stuff coming with Studio 2011.

Code Clone Analysis looks especially interesting for legacy code improvement.

The Code-Clone Analysis tool in Visual Studio 11 examines your solution looking for logic that is duplicated, enabling you to factor this code out into one or more common methods. The tool does >this very intelligently; it does not just search for identical blocks of code, rather it searches for >semantically similar constructs using heuristics developed by Microsoft Research.

Integrated Code Reviews in TFS:

Visual Studio 11 facilities collaboration is by enabling developers to request and perform code reviews through using Team Explorer. This feature defines a workflow in Team Foundation Server that saves project state and routes review requests as work items to team members. These workflows are independent of any specific process or methodology, so you can incorporate code reviews at any convenient point in the project lifecycle.

The only thing here that I wish they would’ve done is use in-line comments instead of a comment pane. I find that the way GitHub implements code review is much more natural and provides a readable flow to the comment stream in code.

Looking forward to grabbing the preview today.


Open Letter to Tim Cook, CEO Apple, Inc. [UPDATED]

Hi Mr. Cook,

I believe there is an opportunity for Apple to rise above the competing electronic companies of the world with regard to responsible development and human rights. Recently, Phone Story was released to the App Store. It’s a tongue-in-cheek game about the manufacturing of smart phones from raw material to the device you’re playing the game on. It exposes the appalling human tragedy mining Coltan in East Congo, the eWaste generated by western consumerism, the manufacturing employee suicides.

Apple has certainly shown that it wants to be a responsible company. I remember when the Shenzhen suicides were first reported at Foxconn. Apple sent representives there to see what was going on and that’s respectable.

I believe that Apple can do more and I believe that by marketing its responsible actions, Apple can soar even further ahead of it’s competition.

A very easy first step that Apple can take would be to receive old Apple electronics for various use or recycling. Wait a minute… you already do that: http://apple.com/recycling. And what a program that is!

I see a future where Apple is even more responsible than it is today. I see an Apple that cares for humanity and let’s its customers know it and perhaps even participate in it through volunteer programs chartered by Apple through human rights organizations. I see an Apple that is both shiny and tastes good to the core.

Thanks for considering my thoughts and taking time to read this. I’m a big fan of Apple and I hope you can help me be an even bigger fan.

Kindest regards, Mike Caron


I’m really stricken by the “auto” keyword described in the "What’s New" section of the Visual C++ 2010 docs. I wonder if it would be possible for the compiler to imply “auto” if a type declaration is missing (like Python or some other modern scripting lang). That would reduce typing and perhaps make things a little more simple.


Scala comes to .NET →

"Miguel Garcia, part of the Scala group at EPFL, has been striving to make the Scala productivity available to .Net developers too. In a project funded by Microsoft, he has now reached a major milestone in delivering that capability. In this interview Miguel tells you how you can now use Scala on .Net and gives an insight into the way this challenging project has been achieved and the future direction.” (funding by MS is a GOOD sign)


Adventures in the Cloud

I cloned node.js and cloud9 today.

I really like the cloud9 project. I think it’s pretty cool to pick up a netbook and start hacking without installing any tools whatsoever, a great way to teach folks. I wanted to hack in support for Hg to cloud9 and I wanted to play around with adding support for various cloud based compilation services and run engines. Cool. Flex the fingers, get my hardcore forking action on.

Oh, cloud9 is a Node.js app. No problem. Clone node and try… uh… to build it? Only compiles on windows using the MinGW toolset (or Cygwin). That’s the really lame. Let’s clone that one too and try and build through Microsoft Visual Studio 2010. …Ah, here’s the adventure.

First todo: get node.js compiling on windows natively.

Second todo: hack in support of Hg to cloud9.

Third todo: have fun.


Instead of rewarding high performers with managerial responsibilities—which often drives people further away from the job they are actually good at—we reward with responsibilities closer to the work. We also throw in above-market salaries and generous benefits, including four-day workweeks in the summer, as much time off as they would like (within reason, of course), and plenty of freedom to make their own decisions about the projects they’re working on.

Jason Fried via "Why I Run a Flat Company", Inc.com


stable little vim

I absolutely love that vim has been coming out into the limelight and becoming trendy with folks these days. I’ve been using since 1995 and loving it all the way. I could never get used to the hand straddling vulcan grips of emacs short cuts… Go Vim! We <3 U!