
Phil Haack quit Microsoft for GitHub - misterbwong
http://haacked.com/archive/2011/12/07/hello-github.aspx
======
phatboyslim
For anyone curious about any background on Phil Haack. Here are his notable
accomplishments.

\- MS Lead on ASP.net MVC framework vers. 1 through 3 (current)

\- Lead on the NuGet package manager framework for Visual Studio

\- This Developer's Life Podcast with Scott Hanselman

~~~
gospelwut
I think I owe this man some kind of expensive liquor for MVC--especially MVC3.
I truly loathed ASP.NET projects until MVC3. Some will argue that people use
it wrong and/or the traditional Web Forms have their advantages, but I can't
really think of many situations where I'd rather do it the old way.

~~~
WickyNilliams
I owe him more than that, MVC is epic, and has pretty much fuelled my love for
.NET. If it were scientifically possible (Arnie didn't _really_ father a child
in Junior, right?) I would have his baby. I'm nice like that.

But alas he sought pastures greener and I am happy for him. My dabbling in git
from my windows machine hasn't been smooth to say the least. Hopefully Haack's
new role will remedy that, and for that I will fund further research into male
pregnancy.

------
redstripe
When I went looking for a git win32 binaries a while ago the attitude was
basically "lolz get a mac/linux box". Which is why I use hg instead of git.

It's great to see an open source community, that isn't engulfed in the
sanfrancisco linux/mac mono culture bubble, reaching out to Win developers for
the benfit of everyone.

~~~
MartinCron
_Which is why I use hg instead of git._

I totally see where you're coming from, and I personally think hg is great. I
just don't want your comment to scare windows developers off. For the record:
running git on windows is great.

~~~
eropple
Disagree. It's gotten better, but the tooling is awkward, the commonly used UI
(TortoiseGit) is wonky, and not being a "native citizen" on the OS isn't
acceptable--MSYS is a mess to have around on a Windows machine and even the
"minimal subset" that you can install with Git is more than I consider
acceptable. (I realize that entirely too much of Git is UNIX-based plumbing,
but that's their problem.)

I gave Git another shot when Bitbucket started to support it (I won't use
GitHub, as it happens), but it didn't shake out for the above reasons. I like
being able to open stuff up on any of my machines and the lack of care I
perceive in Git on Windows drives me to stay with hg a lot more than it would
otherwise.

~~~
notatoad
git GUIs on windows are all pretty weak, but the git command line and git bash
work perfectly well.

my experience with git GUIs in general (regardless of the OS) is that you
should just give up and use the CLI.

~~~
axefrog
Powershell + msysgit work just fine. It puzzles me why people still keep
referring to ye olde command prompt as "the windows command line" when
Powershell has actually been around for years now and (while significantly
different to bash) is extremely capable. My only complaint really is the lack
of dynamic resizing without first consulting the options box.

~~~
bostonvaulter2
You might be able to use Console2 to get dynamic realizing. It works for me
with got bash at least.

------
jroseattle
Phil did a great job both before and after his MS career. He will do well at
GitHub as well. He's one of the good guys in the C# world, and both GitHub and
Microsoft will benefit from this.

~~~
kkowalczyk
Now I have to ask: who are the bad guys in C# world?

~~~
hkarthik
If the good guys are Haack, Hanselman, and Conery, then the bad guys are
nearly everyone else.

~~~
jongalloway2
I'm straight up evil.

~~~
hkarthik
You're not evil, Jon, you just profit from being evil.

~~~
jongalloway2
[citation needed]

------
jconley
Awesome to see a hugely popular and powerful development platform getting
noticed by Github. It's great technology that deserves more love and positive
mindshare in the open source world.

The last startup where I was CTO was largely based on the Microsoft .NET stack
and we loved almost every ounce of it as a technology. Until, of course, we
tried to hire startup and open-source minded engineers in the Microsoft-hate
land of Silicon Valley. That's practically impossible.

StackOverflow and (hopefully) now Github will ideally do a lot of good in the
next few years to break the stigma against C#.

It seems like the C# community at large contains Enterprise-oriented folks,
who only like to consume open source and not give back. They just want to get
their projects done and make a profit. I wish we could see more altruistic
entities and startups embrace the technology. @haacked - fix it! Github seems
like an ideal platform for change in this regard.

Oh, yeah, that startup was acquired and they threw away all our back end tech
for no other reason than it was Microsoft based. It's not all bad, though, I
do love my shiny Macbook Pro. ;)

Feature requests: \- CodePlex migration tool (I have a project there...) \-
Github client for Windows \- Github VS integration

~~~
lusr
Have you tried GitExtensions? It has a Github plugin. Together with the Git
Source Control Provider extension in VS, I've had no problems with Github
integration (that being said I'm leaving Github for Bitbucket since Github's
arbitrary limits on the number of private repositories pisses me off... for
$7/mo at Github I'm getting way less than I do with Bitbucket's free plan).

------
TomOfTTB
This is a good thing for Microsoft.

Microsoft needs to become more outwardly focused and influential softies
leaving the fold and pushing from the outside will do that. Right now the two
good things Microsoft has going for it is MVC and C#. Both of which were
inspired or heavily influenced by outside forces (MVC by Castle and C# 4 was
influenced heavily by Python).

Phil Haack moving to Github will hopefully push Microsoft to embrace open
collaboration systems a little better and because he's outside of Microsoft he
won't have to deal with "you might kill off VS Team Foundation" hindrances.

All this in turn MIGHT give Microsoft a chance at becoming relevant again in
the developer space (and please don't say "a lot of people use Microsoft"
because I'm one of those people and I know a lot of those people and they're
all looking at their future with worried eyes)

~~~
runjake
> All this in turn MIGHT give Microsoft a chance at becoming relevant again in
> the developer space (and please don't say "a lot of people use Microsoft"
> because I'm one of those people and I know a lot of those people and they're
> all looking at their future with worried eyes)

If you read the blog post of this very submission, it cites C# as #4 and
climbing on the TIOBE language index. I know and work with a bunch of .NET
developers, also, and I can't name one that's looking at the future with
worried eyes.

In what way are they irrelevant in the developer space?

In my particular case, I tend to shy away from Microsoft development because
the stack isn't really free, top to bottom and it seemed like MS was following
trends instead of leading them (MVC was an obvious response and I see a lot of
Railisms in it).

~~~
TomOfTTB
Well free stacks aren't really free either but we could argue that point until
we're blue in the face.

The issue with Microsoft right now is they seem to want to throw away
everything they've created over the last decade and embrace the web in a
desperate attempt to bring new developers in.

For example, if you watch the Build sessions you see a lot of focus on C++
where as Microsoft used to treat C# like it's preferred language. That's got a
lot of people thinking Microsoft's looking to sideline C# in the same way they
did VB 10 years ago.

Visual Basic was obviously more popular that C# at that time (being C# hadn't
existed before that). So the Tiobe index doesn't mean much (and honestly I'm
always dubious of Tiobe in that I don't think PHP is more popular than Ruby
and Python combined in modern development)

3 years ago Microsoft was telling developers to use ASP.NET Web Forms, WPF,
and Silverlight. Today all that is essentially looked on as bad practice. So
yes, there are people in the MS Developer community who are nervous.

~~~
runjake
I did watch many of the BUILD sessions, but never saw any indications that C#
was going away or even being de-emphasized. I think you may be
misunderstanding. Could you give examples of what you mean?

Microsoft isn't really "throwing everything away", they're shifting product
strategies in a rather confusing and convoluted way. However, the latest stuff
their pitching is C# and stuff from Silverlight (even though it's "dead") --
it's largely the same technologies. A Silverlight or WPF programmer will find
a relatively painless transition to WP7 (which _is_ essentially
WPF/Silverlight) or W8 Metro apps.

I think your idea that C# is being de-emphasized or going away is a very, very
incorrect statement contrary to reality.

------
untog
This is great news for .NET devs- the Windows GitHub client (and VS
integration) is not great.

This is awful news for .NET devs- ASP.NET MVC is the best thing that's
happened to ASP.NET since it began. Losing the lead guy on that project is
worrying.

~~~
InclinedPlane
It's a bit distressing that a lot of the most interesting .NET things (such as
mono[touch,droid] and asp.net MVC) are either black sheep or 3rd party
projects. .NET is a solid technology, but I fear it may end up having a
limited lifespan due to being so heavily tied to windows, especially as the
next generation of systems (tablets, non-traditional PCs, etc.) starts taking
over the market.

~~~
sofuture
I've been a staunch .Net defender for a long time, but have almost entirely
thrown in the towel at this point. MVC is awesome, C# is awesome, F# is
awesome...

but, unfortunately Mono just doesn't cut it (Boehm GC? Really? s-gen is a
nightmare too, before you counter with that) and Windows isn't a realistic
option for a lot of people.

~~~
lusr
Can you explain what your concerns are with Mono? I haven't used it but as
.NET developer hoping to deploy some apps on Mono to cut costs I'd like to
understand your criticism better. Are your concerns regarding performance, and
within which area? Is it poor memory management and what consequences do you
have in mind?

~~~
sofuture
We went guns-blazing from .Net on physical Windows servers to Linux/Mono/EC2.
Mono performance is okay -- we still run a lot of C# utility stuff on Linux
with it, no problem (build on windows, push to s3, servers self-deploy).

Forget about web stuff though. Mono fastcgi is not production ready (lots of
little things, the interplay of nginx and Mono's fastcgi server 'lost' some
routes, particularly scriptmethods).

Mod_mono is better... until you start getting OutOfMemoryExceptions. My
understanding of the problem is that the Boehm GC is non-compacting, and thus,
unless you (somehow) craft your application memory use patterns perfectly,
will run out of memory if you churn through enough allocations.

From the mono ASP.NET FAQ:

 _Why does the memory consumed by the Mono process keep growing?

Mono currently uses a conservative, non-moving, non-compacting garbage
collector. This means that the heap is not compacted when memory is released.
This means that applications can produce memory allocation patterns that will
effectively make the process grow, just like C, C++, Perl, Python applications
would.

It is hence important to not get into patterns that would create these holes,
for example such a hole could be created if you create a block of size SIZE,
release it, and then create two blocks of size SIZE/2+1.

ASP.NET in Mono is particularly vulnerable to this kind of memory problems
because it is easy for developers to define APIs that transfer large blobs of
data like entire image files, these would allocate a lot of memory that can
easily be fragmented.

A simple solution is to try to write your software in a way that large data
blocks are not allocated, but instead your application handles them in blocks
(like writing a "copy" command)._

So the new GC, S-Gen is available, but for us at least, ~6 months ago it was
really buggy. Some of our code would inexplicably cause mono crashes in the
allocator. We couldn't run our apps with it, at all.

So ultimately we were left with restarting our webserver process every 30
minutes or so, or we could switch back to Windows web servers. Mono was
decently performant, but going back to Windows we had a slight but noticable
performance increase.

Don't get me wrong, Mono is awesome for a lot of things, and it kicks fuckin'
ass to run my C# on Linux. But the ASP.NET side of things is just not mature
enough. It's possible I'm just a bad programmer and if I'd taken the time to
re-architect our allocation patterns to play nice with Boehm this story would
have a happier ending, but alas :)

P.S. None of this stuff is fresh in my mind right now, so shoot me an email
you have more questions or run into any specific situations or whatnot.

~~~
lusr
Very interesting, thanks.

I would want to deploy ASP.NET MVC3-based web applications so restarting the
web server sounds like it'd be my only option (I'm not going to waste my time
re-architecting things if it's eventually likely to run out of memory anyway).

Then again, I haven't tackled switching away from MSSQL (aside from learning
to use a new DBMS, I'm a fan of stored procs too so I'd have to learn a new
SQL dialect), either. Since my time is probably worth more than Windows
licenses, it looks like sticking to Windows is the logical choice for now.

Thanks for the offer to pick your brain... I may take you up on it some time
:)

~~~
untog
* I'm a fan of stored procs too so I'd have to learn a new SQL dialect*

FWIW, Postgres does stored procs, too. Different SQL though, of course.

------
sofuture
For the record, there are a lot of big .NET projects on Github already:

<https://github.com/mono> <https://github.com/nhibernate>
<https://github.com/ravendb>

Good to see more momentum in that direction, though of course!

~~~
nathanwdavis
...and <https://github.com/fsharp> (the compiler, core lib extensions, IDE
bindings, etc)

Also, MS contributions toward libuv (part of node.js project)

------
ttrashh
Big loss for Microsoft.

~~~
grhino
It could be a net gain for Microsoft if the Windows developer community begins
to embrace github. As long as the most talented in the community don't leave
the Windows platform, it could lead to a more vibrant and productive Windows
developer community.

~~~
mwgriffith
Unfortunately, its been my experience that the Windows developer community
rarely embraces anything outside of Microsoft. I hope your right though.

~~~
misterbwong
I've had similar experiences. Hopefully Phil Haack's move out of MS doesn't
affect its future moves in support of OSS.

~~~
haacked
There's a lot of good stuff coming in that respect. As long as ScottGu carries
the torch, things are good there. :)

~~~
apg
Wait... Isn't scottgu running/going to run the Azure Platform?

[http://www.zdnet.com/blog/microsoft/microsoft-reorg-scott-
gu...](http://www.zdnet.com/blog/microsoft/microsoft-reorg-scott-guthrie-to-
head-new-azure-application-platform-team/9324)

~~~
shanselman
We all moved with him. All of IIS and ASP.NET works for ScottGu. In fact, all
Angle Brackets are under ScottGu, myself included. Our org chart:
[http://www.hanselman.com/blog/content/binary/Windows-Live-
Wr...](http://www.hanselman.com/blog/content/binary/Windows-Live-
Writer/ASP.NET-Visual-Studi.5-Developer-
Preview_BB14/image_3c912355-6b35-4e9d-b8d5-a86dd5cf2de4.png)

------
daviding
Phil is smart, and MVC3 helped .NET enormously but I think people are getting
carried away that the guy is some sort of paid ambassador for Microsoft and
.NET at Github. I imagine that he'll do whatever it takes to make Github
better with the skill-set and experience he has, but that doesn't mean he has
to have some mandate from Microsoft on what to change. Maybe he's just a good
engineer and Github hires those? Let's give it a few months at least.

Perhaps he'll work on a whole bunch of non-Microsoft stacks now? Getting Open
Source within Microsoft and the Microsoft communities is probably more an
issue with culture rather than tooling - a hire won't 'fix' that. It would
take many counter-culture things (and years) to change I think. Phil working
at Github rather than wanting to work at Microsoft is the interesting aspect,
and I can't see why that would be 'good' for Microsoft.

Congrats to Phil and Github!

------
bradwestness
I really hope this leads to better Git tools for Windows developers. I've
attempted to host several C# projects on GitHub in the past, but I always end
up giving up and using either CodePlex or BitBucket because it's so much
easier to get up and running with HG and SVN.

Edit: Git tools, not GitHub tools.

~~~
scq
Try TortoiseGit. It's like TortoiseSVN, but for Git.

~~~
bradwestness
Yes, but you still have to install MSysGit or whatever, which is a
ridiculously huge download just to do version control requests. Plus, running
the commands to generate public and private keys and all that junk is super
counter-intuitive, and the default steps recommended on GitHub won't work on
my work machine, as Cygwin can't write to the location it wants to create the
key files, and once I got to that point, I just decided to use HG.

~~~
MatthewPhillips
msysgit is like 18mb download, you sure you didn't download the full source
tree?

You don't need to use SSH either, Github (and bitbucket) supports https.

------
kennethologist
This is great! Hopefully some good things will come out of this in regards to
integrating Github into VS.NET. Right now I use Mecurial but would be nice to
give Git a try.

All the best to Haack!

------
ijoyce
Step 1: Get respected member of MS community. Step 2: Use said community
connection to move people from codeplex to github. Step 3: Profit.

~~~
jbigelow76
Doesn't sound like a bad outcome to me, I'll take GitHub over Codeplex any day
(my own .NET code is on GH too)

~~~
jf
> (my own .NET code is on GH too)

Where?

~~~
jbigelow76
Sorry not an OSS project (at least not yet). I've got one work project on GH
and one "nights and weekends startup" project both in private repositories.
But I like the workflow of using git for my source control versus something
like TFS. Although I admit I initially picked it up just because I wanted to
learn something new, I used GH instead of a local git repository because my
side project has another collaborator.

EDIT: my beef with Codeplex is that I just don't find it very usable when I'm
researching something. Purely as a repository for things like NuGet packages
it's probably fine.

------
vyrotek
Well Phil, you'll be missed. I've been following MVC since the beginning years
ago and love the direction things are going with it. I only just recently had
the opportunity to jump into the world of Git.

I'm sure you'll do some much needed good out there as the "Windows Badass".

------
pasbesoin
He missed the obvious: "Gitterati" (double "t" as an homage to its
inspiration; feel free to reduce to "Giterati" ;-).

------
hello_moto
Let's see how long until Phil Haack enjoys the non-MS tools :)

The experience so far from ex-Softie seems to suggest that people will
eventually leave MS ecosystems once they're outside the company.

The evolution is as follow:

Cheering for MS -> Hired by MS -> Trying to change the culture -> work for a
while -> leave MS -> "Hello New Tech!"

PS: This isn't about good or bad.

~~~
ronnier
Formerly developed at all MS shops, now at Amazon mostly doing Java with a
Linux workstation. Oh words can't describe how I miss Visual Studio and
responsiveness of Windows 7.

~~~
hello_moto
I used VS.NET 2005 back in 2007 and been doing Java + Eclipse + Maven in both
Windows 7, OSX, and Linux (Ubuntu) since 2008 until today.

I also play with Ruby (and Rails as well) on my free time.

Somehow I like my current setup. Maven 2/3 is the biggest killer tool for me
(aside from CLI and Eclipse). Ruby tools like gems, capistrano, rake are all
awesome for me.

Eclipse has been awesome so far for me. Tons of plugins (I use checkstyle,
findbugs, m2clipse, subclipse). Eclipse also comes with JUnit runner (and Git
out of the box in the recent version) while VS.NET used to be lacking unless
you get the top of the line (even then, you'd have to learn a lot to know how
to use the VS.NET Test aspect I believe).

Everything I can do with VS.NET I can do with Eclipse. But then again I may
not be very well versed in VS.NET in the past.

I've always installed Console2, Vim, and Cygwin in all of my Windows machines.

I don't know how you use Java at Amazon and to be honest, sometime it depends
on the project and the culture as well. I tend to force my team to always
clean up our scripts/builds to make the overall development experience
enjoyable.

------
dmitriy_ko
I wish I had such a cool last name!

~~~
noblethrasher
His kid has an even cooler name:
[http://haacked.com/archive/2007/06/06/introducing-cody-
yokoy...](http://haacked.com/archive/2007/06/06/introducing-cody-yokoyama-
haack.aspx)

------
bigpun
Very cowardly move IMO

