Anyone that knows me knows that I have been a supporter and adopter of Microsoft technologies for decades. I prefer not to use the word “fan”, because I’m an active participant, not a passive onlooker. I’ve attended almost every Microsoft developer conference since 1993, back when it was called PDC. I’ve built small and large software on Microsoft technologies my entire career. I built a framework on top of Microsoft VBA. I started a company with a former Microsoft employee. I’ve contributed to Open Source Microsoft projects. I’ve built an e-commerce platform on .NET and IIS that has transacted over $1B and has endured the tests of time. My license plate used to be CEESHRP! My ties to Microsoft have been a big part of my career path. I understand how Microsoft works, and I understand what .NET is and what it’s not. I’ve heard from countless Microsoft naysayers, and defended Microsoft for decades. It’s been a tireless fight – and I’m not ready to give it up.
.NET is often misunderstood. It’s doesn’t only run with “expensive Windows licensing” and it is definitely not a big and slow monolith. It is a mature framework that runs on the big 3 (Windows, OS X, Linux) operating systems and is behind the fantastic cross-platform mobile app product, Xamarin. .NET has been cross-platorm for a while, and with the efforts of Mono, even runs on iOS and Android. .NET is indeed portable.
And recently, Microsoft did something really bold – they decided to open source .NET. From its mature and reliable lineage, .NET Core was born. Finally, the .NET Framework will be truly native, truly open source. The community can contribute to it and make it even better than it already is. This was a big move, a big announcement, and part of the “new Microsoft” that new CEO Satya Nadella has been building. The Microsoft developer community was buzzing with excitement over this. The rest of the developer community – a bit skeptical. After decades of closed source, these transitions take time. They don’t happen overnight. This was the beginning of something really, really right.
Flash forward from the announcement to today, about 18 months later. .NET Core is turning out to be AWESOME. I ported a few of my projects to RC2 easily, and one of the best parts about the experience was this very simple, project.json file that is at the root directory of every project. This file basically tells .NET Core which dependencies to include and how to output the result of a compile. It’s simple, it’s easy to read, and it’s aligned with the way many, many open source projects work. Open Source developers are used to this – a product, and a config file. Config, run, modify config, run again. Get it right, tweak, tune, rinse, test, push, deploy – REPEAT. This is the way we work.
Microsoft built this cool command line interface for the .NET Core Framework – the CLI. It’s what makes .NET Core as simple as:
$ dotnet new
$ dotnet restore
$ dotnet run
These commands use the project.json file and figure out what to do with code. What to do with all the C# and F# files that make up your project. Simple, elegant, and easy to understand and read. Everyone working with .NET Core has gotten used to it. It’s part of what makes .NET Core the “new Microsoft”. I was planning on blogging and extolling the virtues of .NET Core and how fun it was. But then something disappointing happened…
This week, I saw a tweet announcing a new blog post from the .NET Team, and was excited to see what’s new.
Changes to project.jsonhttps://t.co/Lytqwa7ID4
— .NET Team (@dotnet) May 23, 2016
I thought, “Uh, what’s this…?”. In reading this post, I had to consider for a second if this was April 1st and they were joking. I wish it was. So now, instead of doing a deep-dive on .NET Core goodness, I ask Microsoft…
This decision you announced this week will be perceived as going back to unreadable XML .csproj throws the simplicity out the proverbial window, and will ruin all that you have built with the tooling around .NET Core. It won’t kill it, but it will severely limit it. It will turn people off and they will miss out. Tooling matters – a lot. I imagine that you felt the need to do this because to support complicated projects, the project.json structure would handcuff you. Maybe that’s true, or maybe it’s not, but either way, I see 4 solutions:
Option 1: Keep project.json, work around the complex projects, and make it work. Simple, or complex, depending on the size of the project. One file.
Option 2: Support BOTH project.json and myproject.csproj, and if both exist for the same project, display warnings or errors, and/or have different output assembly root targets for each project type.
Option 3: Stick to this decision to abandon project.json, and watch .NET Core grow slowwwwwly, and watch new frameworks rise up and pass you.
Option 4: Get Forked. The community outside Microsoft decides that this issue is forkworthy, forks the CLI, and preserves what has been built so far for project.json while keeping up with the rest of the runtime changes.
Option 3 is the beginning of the end. You may not see it now, but it will hurt you long-term. It will absolutely fuel the flames of the bad stigma Microsoft has in the open source community.
Option 4 is a question of Why? Why have two factions with different goals? That didn’t work out for io.js and Node.js, and it won’t work here either. It will spark mistrust, resentment, and the product will suffer. I really hope this doesn’t happen.
I hope you decide to do the right thing and re-think this. Your long-term respect, adoption, and company growth are at stake. It may seem like a small decision now, but it’s these small decisions that have large impact. Look back on your own incredible history. Look within and you’ll find the answer right in front of you.
This tweet should not exist. I hope they make it right.
The Complete Golf Handicapper for Windows was developed as an independent study project at the University of Arizona in 1991. It was my last semester in Computer Science, and I needed 1 more unit to complete my degree.
At the time in an academic setting, Windows was a very unknown, mysterious, and dismissed Operating System. I knew that Microsoft was on to something with Windows, and I knew it would be popular, so I taught myself how to develop for Windows with Charles Petzold‘s seminal book Programming Windows as my bible.
I hard-pitched my Computer Science Professor, Robert Drabek the idea of a native Windows GUI program where you could enter in your actual per-hole golf scores, compare them to the course certified par, and it would compute your handicap for that round, and keep history for all your rounds. It took some convincing – he wanted me to do it in Unix/X11, but I eventually talked him into letting me write it for Windows 3.0.
The only language back then to write Windows programs in was C. I used Microsoft’s C 6.0 Compiler, which was like $600, so I “borrowed” a copy from a friend and coded away.
I found this 3.5″ floppy disk in my garage the other day and thought it would be fun to see it, so I ordered a USB Floppy Drive from Amazon, and much to my pleasant surprise – 24 years later, the disk was still readable, and the code all there.
It’s interesting to look at how low-level I had to write to get the simplest things done. Programming Languages and Application Frameworks have come a long way since 1991!
I’ve heard it’s never too late to learn a new language. For spoken languages I’m not sure I agree, but for programming languages – of course! The Go programming language started at Google in 2009, so I figured it’s about time I dug in with the Gopher. Go is “almost” systems level, but it does have garbage collection, so language purists may dismiss it as a systems level language just based on that. But with today’s processors, there’s a strong argument that Go can be a very successful all-purpose language. I guess I was feeling retrospective after meeting Charles Petzold recently and thinking about how much C programming I did in the 90s. His seminal, Programming Windows, was my daily bible study. So, I thought, well I’m not going back to C after over a decade with C#, but let’s give Go a try!
I checked out the documentation, took an online course, and I was go for Go. One of my colleagues, Darren Warner, had a recent devops task to connect to BitBucket’s API, iterate through the repos, and return status and information on any open Pull Requests. He wrote it Python – and it was a perfect porting candidate for diving into Go.
I broke out Visual Studio Code (AKA Visual Studio Ultralight), and coded away. My goal was for it to be as pure-native Go as possible, so I only used built-in Go standard library packages – no 3rd party add-ons. I found the HTTP package to be great, works as it should – light, nice and async. The JSON handling via maps are a bit verbose, and I’m sure I could re-factor some of that using any of the 3rd party JSON marshalling packages available, but again, I wanted to keep it as native and fast as possible. I used proper error handling and create new err on every possible fail condition.
To run, simply:
> go run pullrequests.go --ownername="bitbucket-repo-owner-username" --username="my-bitbucket-username" --password="my-bitbucket-password"
Money plays a very substantial role in our lives – duh. It is the fabric of almost everything we do and how we do it. Where we live, what we drive, where we work, how we travel, what we eat, what we do in our spare time – it all revolves around money in some way. We’re born knowing nothing about it – yet some are born into it. It certainly isn’t something we instinctively know – yet it’s easily understood. Every society and culture has some sort of currency as a means of exchange. Since the beginnings of civilization, humans have invented methods to represent value via currency. Whether it be sea shells, diamonds, gold, stocks, the number in a computer at your bank, or the paper dollars in your pocket. Why are diamonds “worth” more than a handful of sand? Because diamonds are more scarce. Money means something because we as a collective society have decided it does.
I’ve been quietly studying Bitcoin for years, and today is the first day I’ve ever discussed it publicly. Today is a milestone day in the history of Bitcoin, after the mysterious inventor of Bitcoin, Satoshi Nakamoto, was “apparently” finally found, hiding in plain sight, living just an hour away from me. Well, maybe not. It seems that maybe Newsweek was wrong. Either way, today is the day I’ve decided share my thoughts. I first discovered Bitcoin in November 2011, when I read the seminal The Rise and Fall of Bitcoin in Wired Magazine. I was fascinated by it, but like the title implies, I thought it was dead, and that Bitcoin was over. About 6 months later, I started seeing that Bitcoin was alive and kicking, and I began again with a renewed interest. I studied the code, I read and re-read Nakamoto’s paper, and I immersed myself reading pretty much everything there is to read about Bitcoin. I read books about money, the history of money, how money is physically manufactured, how inflation works, the role of the Fed, the history of the gold standard, and more. All in an effort to wrap my head around something so complicated, yet so simple. As some of my friends will tell you – it’s a common topic when hanging out with me – Bitcoin and of course, Tesla. It sparked something in me that I hadn’t felt since my good friend and colleague, Paul Melmon, showed me a Web Browser (Netscape), for the first time in 1994. I knew that Bitcoin was something incredible.
Bitcoin is quite simply, “The Internet of Money”. As Bitcoin expert Andreas Antonopoulos has said, “Bitcoin is an invention, and it cannot be uninvented“. Bitcoin is here and it’s here to stay. I often get asked, “Well, what if they shut it down?”. My answer is usually something like, by “they”, I’m assuming you’re talking about the United States Government, and yes, governments can make it difficult or illegal to transact in Bitcoin in their country’s jurisdictions, but they cannot shut it down across the globe. No one can. It’s out there. It’s on the Internet and it will live in some form forever and it cannot be shut down. Last December, Bitcoin got national media attention as the exchange rate against the US dollar rose to over $1100 / 1 BTC. I knew in that moment then that it was the end of Bitcoin’s quiet growth among techies – everyone will now hear of it. When it hit the mainstream, I imagined all the pump-and-dump Wolves of Wall street scheming on how to best profit from it. And profit they will.
The way I see it, as of this post, the Bitcoin market cap in USD is about $8 Billion. That is an absolutely small number when you think about the value of all the currencies combined in the world. It will only grow as Bitcoin becomes more popular and is adopted and accepted in more places both on-line and off-line. Since the Internet, borders matter less and less, and the world needs a global currency. A currency where its value is unregulated (aka un-mismanaged), anti-inflationary, and scarce. Bitcoin is that – a currency that is built on cryptography and math and cannot be manipulated or forged.
News around Bitcoin emerges daily – some good, some bad. Companies are being formed each week around Bitcoin and merchants are adding Bitcoin as a payment option at a fast clip. If you have questions about Bitcoin there are numerous resources that can explain it better than me. Here’s a few: bitcoin.org, bitcoin on reddit, bitcoin on Google, a top VCs thoughts – just look around, but look smartly. Bitcoin is still VERY misunderstood. Like news about Tesla, try and filter the real news, the real truth from the fear, uncertainty, and doubt the way news organizations present information. They’re often flat-out wrong. Validate what you hear and learn for yourself. Find the truth. Question everything.
I often get asked, “How do I get started?”. I usually send people to Coinbase if they’re ready to buy Bitcoin for USD. It’s pretty easy to sign up. I’ve challenged a few of my friends over IM with frantic instructions to “Quick. Go here: http://blockchain.info, paste the wallet address in the IM. Do it in < 3 minutes I will send you some Bitcoin. Ask no questions. GOOOOO”. NONE of them have failed.
To the skeptics of Bitcoin – we’ve heard you before. You’re the same people that thought the government should “ban” or “regulate” the Internet. You’re the same people that think Tesla Motors is a bad idea. You’re the Telcos that wish you could ban VOIP. We know who you are and we see through you. We see the politician, Joe Manchin, and we question your motives and the banks behind your corruptness. Bitcoin will succeed because it fills a need – and over time will clear the obstacles thrown at it. Those that fear it, don’t understand it.
Bitcoin is better than the Dollar. Bitcoin is better than your credit card and your bank account. But Bitcoin is a baby – a very small baby. It’s in its infancy, just like the Internet was before it exploded around 1994. It will take a few years, but it will happen. Bitcoin is your world currency. It’s your open source technology. Get used to it. Now go get some Bitcoin!
I’ve seen the future and it’s all around me in Santa Monica, California. I’m talking about Tesla, and the Tesla Model S. This future will soon be all around you – wherever you are in the world. I had the experience of driving a friend’s Model S last month and was completely blown away. I immediately got on the phone with my friend’s Tesla contact and placed an order for one. No hesitation, no regret, just a knowing that this is the beginning of something very, very special.
I was interested in fuel car alternates once before, in 2006, when I felt that it was important to at least try and be a little more environmentally sensitive and bought a Prius. In less than a year, I had enough and sold it. I completely cooked the front tires after 6 months and just couldn’t drive it anymore. Around corners it felt like it was tipping over, and at highway speeds, it felt like being in a noisy piece of cheap tin. My mind was in the right place on buying that car, but it was far from being the right car.
Fast forward to now. This time it’s much, much different. I have a feeling and an instinct that I haven’t felt since Steve Jobs first revealed the iPhone in January 2007. The Tesla Model S is going to change the way we travel forever. It is a completely different experience to driving a conventional internal combustion engine (ICE) car. It has pure, smooth, linear torque and acceleration. You press the accelerator, power is delivered, and the wheels spin. It’s that simple. There’s no pumping fuel from a tank, through a filter, into a complicated engine where sparks are fired, explosions are detonated, pistons ascend and descend, rods turn (and I’m sure I’m missing some more gross inefficiencies) as the power makes its way to the wheels. This all ends with the expulsion of carbon monoxide forced through the muffler, the exhaust, and then out in the atmosphere to damage mammal lungs, the environment, and lots other nasty effects.
To think we’ve gone this long without Tesla is shameful. Others have tried and failed. The film, Who Killed the Electric Car? shows just how corrupt, political, and greedy some people are. People, not corporations or government, thwarted progress and stopped the electric car from happening sooner. Individuals make up corporations – individuals make up government. Greed, and lack of vision of individuals were the enemy. The misguided need to coddle foreign governments, wage wars, kill innocents – all around the economy of oil is going to end. We as citizens of the United States and the rest of the planet are going to reduce the need for oil dramatically – very, very shortly. We will still need it for airplanes, rockets, large trucks and other specialty vehicles for some time, but for passenger vehicles, the electric car is now.
It’s here now thanks to one person. One individual decided that he was going to make this happen. Elon Musk did something where others failed to, and decided by his own sheer force and his determination that it was not acceptable to NOT have a viable electric car. His vision is now reality, and the second car from Tesla is one word: PHENOMENAL. It is an absolute brilliant piece of engineering, design, and utility. I’m completely convinced that ICE vehicles are done. It’s not IF, it’s WHEN. There is NO CHANCE they have a future. The only future ICE vehicles have is their soon-to-be place in museums as relics of history. They will be joining other obsolete objects such the dumb mobile phone, typewriters, vinyl records & 8-tracks, film, and DVDs – all objects that have been supplanted by better versions with NO DOWNSIDE.
This future is soon going to be everywhere. This future is growing, and there’s no stopping it. This future is obvious to anyone that thinks rationally. The other automakers KNOW IT. And they’re NOT competing well at all with Tesla. They’re failing to build a comparable product to the Model S. So for now, some of them, and the dealerships, have been using their substantial political muscle to try and make it difficult for Tesla to grow as the market allows them to. They’re trying to block sales of Tesla in certain states. These are dirty, nasty, and desperate tactics. And they won’t work this time. The world is too transparent now. We see through these tactics with great clarity. They may win a dirty fight or two against Tesla in the short term, but there’s no stopping the unstoppable market forces in a capitalistic society.
BMW, to their credit, has recently tried to build their own electric alternative. I’ve owned 7 BMWs over the years. BMW has always been a company that makes beautiful, quality products. But, I look at their first electric vehicle, the BMW i3, and it’s completely underwhelming. The range, the power, the styling, the price, are all pretty mediocre to put it nicely. That said, BMW and the rest of them WILL eventually come out with great cars. All of them will. They will all be copying Tesla, they will pay Tesla patent license fees, and they will be able to compete. The future will have EV versions of beautiful luxury, affordable compacts, SUVs, trucks, motorcycles – all of them. It will happen. But right now, at least for the next 3-5 years, Tesla is going to DOMINATE this market. Again, it reminds me of the iPhone. There was nothing like it for a few years after it launched in June 2007. Today, there are many comparable smart phones. But Apple sure did get a head start and their stock price and company growth exploded during those first few years of absolute dominance. The same thing is happening with Tesla.
It is a modern lesson and example to us all that one individual can make such a difference . When one individual’s vision is clear and backed by relentless determination, something wonderful can happen.
I take delivery of my Black Model S at the Tesla Factory in Fremont, California, USA later this month. The future of vehicles is here now, and in MY very near future, I see myself smoothly driving out of the Tesla factory – smiling ear to ear. I can’t wait…
UPDATE: To order your Tesla, be sure and click here for referral credit for both of us!
Dear Mr. Drabek,
I first met you during my sophomore year as a Computer Science student at the University of Arizona in 1988, where I had my first class with you. I’m writing you to let you know how much of a positive impact you had on me. I’ve taken what you’ve taught me and built a career on the lessons I learned from you.
You were very strict, very serious, and I respected your skill, your style, and your knowledge. I remember focusing on what you had to say more than any professor I had. I didn’t want to miss a word.
I remember anticipating your class more than any other, eagerly wanting to learn all the cool things you knew. I learned a lot from you and it’s stayed with me – always.
One way you influence me every day is simply – coding style. You were very careful about teaching the “right” way to code and pointing out the wrong way to code. Your style still influences every line of code I write. I now use a code analysis tool, ReSharper, to validate my work and every time I look up at the indicator in the editor and see what it needs to fix, I’m always happy when I see it’s only one or two improvements. I feel like you made my brain ReSharp code as I develop it.
I came to you my senior year with an Independent Study project to write a Golf Handicapping Program on Microsoft Windows 3.0. The first thing you said to me was – “Everyone here thinks Windows is a toy and will never go anywhere”. I replied back, “Well sir, it’s not, I think it’s going to grow really fast”. Too bad I didn’t have any money to buy Microsoft stock back then, but you agreed with me and you let me do it. I remember showing you an early version of my work and the code behind Windows events and you nodding how clever it was. I remember seeking your approval so much so I was so nervous delivering the final version of the software, and after taking you through it, I finally got a smile from you. Moments like that could have gone either way, and who knows where chaos theory would have taken me had you not believed in what I was doing.
My success in that project motivated me in such a way, that 2 years after I graduated, after I moved to Silicon Valley, I convinced my company to port all the software from Motif to Windows, and I led the way.
In 1998, I started my first company, ememories.com, a photo sharing web site co-founded with fellow UofA CS alum Carlos Blanco. Once I got the company funded, I bought us an awesome new 8U server from Dell, and when giving it a hostname, of course, I chose to name it after you: DRABEK. Throughout the company’s life, all server requests flowed through a machine with your moniker proudly labeled in our data center.
Thanks for the impression you made on me. Thank you for the teachings you gave me. I really appreciate it and will never forget it. You’re a great man, sir.
Brett Morrison, Class of 1991, University of Arizona
Back in September, I made the decision that I was done with iPhone – at least for a while. Last week, I was fortunate enough to start my new experience a little early, as Microsoft & Nokia gifted all developers attending Build 2012 a free Surface RT tablet and a free Nokia Lumia 920. My official #switchtolumia is complete.
When I opened the box back at the hotel Tuesday night, I was surprised to see how spartan the contents were. This was truly a “developer” addition. It came with a tool for opening the SIM door, a Micro USB cable, and that’s it. Fine with me though – I don’t need or want any of the other frills.
Because the phone I received is not linked to AT&T, I had to do some setup. The commercial versions of the phone purchased from the carrier will likely be locked and setup for that carrier. For me, it was slightly trickier. Once pulling the SIM out of my iPhone 4s and placing in the Lumia, I selected one of the AT&T profiles and I was making & receiving calls & texts. But, I wasn’t seeing 4G (LTE). The next day I visited the Nokia booth at Microsoft, where they suggested I try the AT&T Store at the Microsoft Commons. A quick walk over there, and a helpful rep provisioned my account for 4G, and after power cycling the phone, I was good to go with 4G. I ran some speed tests on it and saw after about 5 tests, 15-18mb downstream 7-10mb upstream – WOW!
I downloaded the Windows Phone for Mac software, configured my email accounts, and voila, I was in business.
But, all my contacts were in Apple iCloud, what to do? Well, Google now has CardDAV support in addition to CalDAV. So, I decided to move my Contacts and Calendars to Google. Now that they’re stored in my Google account, all my devices and software (OS X, Windows 8, iPad, Windows Phone 8) all point to one place and when I make a change on one, they all get synced – SMOOTH.
Podcasts, music, and photos all sync pretty effortlessly – actually MUCH faster than syncing an iOS device with iTunes.
My impression so far – Windows Phone 8 is GREAT. It’s fast, smooth, and feels very intuitive. Everyone I’ve talked to about it always asks me about apps. As of this writing, 46 of the top 50 mobile apps are available on Windows Phone 8, and there’s over 100K+ total apps. Of course iOS and Android have more apps, but I have yet to have a situation where I can’t do something I was previously able to do. You find a way. And most of the apps I use have mobile web sites that work fine in Internet Explorer 10.
The best feature of Windows Phone 8 is the Live Tiles. It’s something the other mobile platforms don’t have and it’s aesthetically designed so elegantly. The (formerly named Metro) design language is beautiful and inspiring – the true meaning of “less is more”.
The Lumia 920 is a large device. It definitely takes some time getting used to. It took me a few days to feel like I wasn’t going to drop it, holding it in one hand. It definitely feels heavy when holding to your ear. The voice quality is clear and crisp and the fidelity of the sound is loud and vibrant. I’m also pulling in a much better signal at my house than I was with the iPhone 4s and haven’t had any degradation in call quality. The glass and the display quality are better than iPhone and other Android devices I’ve tried. The speakers – loud. The camera – sharp.
My biggest complaint so far is the battery life. It seems unless I’m ABC (Always Be Charging), I run out of juice by late afternoon when using data on the phone. That’s a problem. It should last all day. I’ve turned the 4G off and set the phone to 3G and we’ll see if that helps. I can always enable 4G when I need it. There are other nuances not worth mentioning, not significantly annoying – maybe they’ll be fixed in future updates.
The switch is done and I’m happy about it.
11/16/2012 UPDATE: Battery life is actually GREAT. After a few charging cycles discharge / charge – repeat, I have a strong battery. Others have had similar success.
I have been using Apple iPhone since the first one launched in June, 2007. I’ve upgraded each time a new iPhone has been released. Five+ years later, I’m looking for a change. The iPhone is a fantastic, ground breaking, imaginative product, and has served me well, but it’s time to try something new. I liken the decision to a choice in automobiles. I’m on my 3rd consecutive BMW 7 series. A great car which I enjoy very much, but it’s time for a change there too for my next vehicle. Not because there’s anything I don’t like about the BMW – just because it’s good to change sometimes.
Loyalty should be reserved for family only – not corporations or brands. I’m not an Apple Fanboy. I’m not a Microsoft Fanboy. I’m just a Boy who likes toys.
I’m excited to write that I have chosen the Nokia Lumia 920 as my next phone. I really like what Microsoft is doing with Windows Phone 8. They’ve quietly innovated and are reaching a maturity level that puts it on par with Android and iOS. The Nokia hardware is as impressive if not more so than iPhone 5.
I’m also looking forward to prototyping / building using the Windows Phone 8 SDK. It’s great to be able to use my choice language, C#, and seeing where it goes.
I’m definitely going to hang on to my iPad – so I’ll always be able to use the iOS apps I need.
Maybe I’ll come back to iPhone in a year or two, or more. Maybe not.
I actually have a little history with Nokia. After watching the movie THE SAINT, in 1997, I was obsessed with getting my hands on one of the first ever smart phones, the Nokia 9000. So much so that I contacted Nokia and managed to forge a partnership with my company at the time, Scopus, so I could start integrating our CRM software with the device. They gave me one for free.
So when you see me break out a big yellow piece of polycarbonate and glass – now you’ll know why.
p.s. I also have plans on using Google Voice / Skype combination to free myself from carriers and contracts, but that’s an even more radical idea than this and requires further planning & testing…
As Chief Innovation Officer for my company, Onestop Internet, I’m part of a great team of bright people building really amazing and leading edge e-commerce software. And a large part of my role is still being very hands on with our production and development environments, both modifying infrastructure and yes (still, happily) writing code – mostly in C#. When we started the company over 9 years ago, I built our software from the first line of code. Our application stack started then, and still is today built on .NET and SQL Server (and recently, MVC). I’ve always had a Windows machine with 2 displays at my desk. Starting with a machine literally in my garage, then our first warehouse, and as we grew into our 2nd and 3rd warehouses and for the last 4 years, at our multi-building campus in Rancho Dominguez. We recently moved our Marketing and some of our R&D people to our beautiful new suite on the Santa Monica Promenade. After 9+ years of commuting 20+ miles each way on Los Angeles freeways, I’m now riding my bicycle to work along the beach.
I switched from an IBM Thinkpad to my first Apple PowerBook laptop in 2004 and haven’t looked back since. For email, web, photography, and music, I’ve always upgraded and used the latest and greatest Mac laptops as my preferred “always with me” computer. For development, always the best Windows machine with lots of speed and memory. My desk has been configured with plugs and connectors waiting for my Mac laptop to be “docked” next to my always-on Windows box and I switched between them throughout the day. When working remotely while home or traveling, I’ve always VPN’d in and connected to my Windows machine via RDP using Microsoft Remote Desktop Connection for Mac, and in the last few years, in a pinch, connected to the Windows machine from iPad, and once or twice, even from iPhone. This has been the way I’ve worked now every single day, for years.
That is, until last month, when I powered off my Windows machine for the last time.
I am now fully operational, doing everything I need to do in my job using my new MacBook Pro Retina and VMWare Fusion. I traded out my 30″ & 27″ Dell monitors for a single 27″ Thunderbolt display, with HDMI going out to my wall mounted LED display, which is great for meetings and collaborating. Instead of remoting into my PC at my office, I’m now running a local version of Windows using VMWare Fusion. With our new platform development, we’re using Mercurial and Tortoise HG, enabling completely de-centralized development.
After using this setup for a few weeks now, I can’t say enough about how impressed I am with the responsiveness of this setup. The performance I’m getting from this thin powerhouse is amazing. Check out the Windows Experience Index numbers. This is considerably better than what I was getting with my 2 year old, 2 physical processor PC with 32GB of RAM and an SSD boot drive. One word: PHENOMENAL.
My MBP Retina is configured with 16GB of RAM and a 512GB SSD. I allocated 4 CPU Cores and 8GB RAM to my VMWare Guest. That’s it. That’s all that’s needed to get this excellent performance. During normal use of file copying, compiling, running IIS locally, SQL queries locally – all the things you do during development, it’s very rare I see the MBP CPU spike and hear the fans kick in.
I usually run in windowed mode, but often if I’m doing some heavy PC work, I’ll toggle full screen mode. And if I need to display something on my wall mounted LED, I’ll enable the ‘Use All Displays in Full Screen’ mode. The ‘Unity’ mode is also extremely natural, allowing your Windows programs and Mac OS X programs to run along side each other, seamlessly. Although in my anecdotal experience, Unity seems to cause the CPU usage to increase. Copy/Paste is very natural, and I haven’t had any issues or weirdness copying & pasting between programs in either OS. I don’t need the Guest OS for video games, so I disabled the ‘Accelerate 3D Graphics’ option, and that seems to lower the CPU utilization a bit. USB devices such as the Plantronics Wireless Headset I use for Skyping / Lyncing with our off-site Engineers work well and I can connect and disconnect them to the Guest OS easily.
So that’s it. I’m down to one machine for all. It goes with me wherever I go, and I even used it to code a new distributed caching feature last weekend – poolside.
It’s extremely liberating to be able to truly work on a PC on Apple hardware without being tied to the speed of your Internet connection. Remote Desktop Connection served me well over the years, but those days are now officially over. I’m running locally only – and once again, never looking back.
Note: That PC I powered off found a home and has since been re-flashed and re-provisioned for a new Engineer at Onestop; May it serve him well!
I was one of those people that didn’t think much about what I was eating. For 40 years, I really didn’t think much about it at all. I would eat whatever was put in front of me, I would shop for food wherever it was convenient, and I would be happy just to not be hungry. All that changed when I met my fiancé Sima. She opened my eyes and my palette, and in the last 2+ years I’ve looked at food in a whole new way.
I’m now very aware of what I’m eating and where it comes from. Americans in particular really take a lot for granted. It’s amazing when we eat imported foods, we never think about the long journey it came from its origin to your plate.
We’re fortunate to live in a city that has access to real, healthy, raw foods, and we were so excited when the RAWESOME market opened right next to our new Whole Foods, on Rose Avenue in West Los Angeles. They have amazing food there, straight from local farms. They have delicious dairy and real, non-pasteurized milk. We’ve been enjoying our weekly visits and trying new foods: non-processed, the way nature intented.
Every time we would visit Rawesome, we’d feel a little tension in the staff. They were raided and shut-down briefly last summer. There was always that looming fear that it could all come crashing down again, which it did, permanently last week, as the LAPD raided and destroyed much of the inventory.
I’m all for safety and I don’t want to eat something that’s dangerous, but let’s learn from the other countries around the world, including our own country. Our nation has become a victim of itself. We were once a shining example for healthy food production. But we’ve pushed aside health for capitalism, and it has failed. Companies like Monsanto put profit first, quality second. If there’s a market, they sell to it. We’re now the most obese country in the world.
The problem is ignorance. It’s the ignorance that I grew up with. Organic should mean organic, but now because of abuse of the rules, we have “certified organic“. And labels and ingredients only work if you read and understand them.
Sima and I have built our own garden. No pesticides, no chemicals, no sprays. Just seeds, soil, plants, and water. It doesn’t get that much sun, and it’s not super hot in Santa Monica, so we’re making due with the few tomatoes and zucchini we see each week. But now I appreciate food so much more, and nothing tastes better than the tomatoes Sima makes in her delicious salad, with greens from our local farmer’s market.
I’ve learned a lot over the past few years, and have been inspired by my good friend Rich Roll and what he’s managed to do. Sima and I will often chat up the vendors at the farmers’ market, and just being around and thinking about food as much as we have has really helped me appreciate it.
The other way to go is “eat whatever, don’t care” – like most of my friends, like most of my family, like most Americans. And there are many people that live to be 90+, eating whatever they want.
I just know I feel better, stronger, and healthier now than I’ve ever felt. My skin looks great, I rarely get sick, my cholesterol is down, and I sleep better. I’ll stick with what I’m doin’.
Brett Morrison – Official Site
The official web site of Brett Morrison, Self-Made Technology Entrepreneur.
- Brett @ Facebook
- Brett @ Flickr
- Brett @ Github
- Brett @ IMDB
- Brett @ Keybase
- Brett @ LinkedIn
- Brett @ Twitter
- Brett via Google
- Onestop Internet
Really @Yahoo? Claim "state-sponsored" hack without revealing any evidence proving that? Deflecting your negligence to a mythical "enemy".
First comment! twitter.com/theinformation…