Scott Hanselman

Our great big 15 year vow renewal

September 1, '15 Comments [9] Posted in Musings
Sponsored By

Mo at the first weddingYou may have noticed that I'm on vacation these last few weeks. It's the first vacation of any length I've had in a while. In fact, I do have trouble disconnecting sometimes.

I've mentioned before that my wife and I have gotten married a few times. As my wife is a Zimbabwean there was the matter of lobola and a judge wedding, a white wedding, a wedding in Zim, and on and on. We like weddings.

My friend said that my wife and I are the "most gettingmarriedest people" she knows. I think everyone should get married at least a few times, and even better if it's to the same person over and over. ;)

This vacation was our 15 year anniversary so we decided to get married again! We organized a 15 year vow renewal and invited a ton of people. Folks came from South Africa, Haiti, New York, LA, Washington, and all points in between. We had a blast, we ate, we danced, we talked for hours. We put together a retrospective photoshow and a Spotify Playlist (some songs aren't available or are local MP3s) that is representative of our diverse tastes and the last decade and a half.

Last one! Dances at our 15yr vow renewal? Cha Cha slide, Nae Nae, Whip, Cupid Shuffle, Azonto...

A photo posted by Scott Hanselman (@shanselman) on

Our 15 year vow renewal cake

A photo posted by Scott Hanselman (@shanselman) on

Our wedding party at our 15 year vow renewal!

A photo posted by Scott Hanselman (@shanselman) on

Podcasts

I'd also encourage you to check out the two episodes of The Hanselminutes Podcast where my wife joined me.

And yes, I know the book http://www.relationshiphacks.com is insanely late. It's paused, but it's in my mind. We have 6 chapters and have shopped it around and I just need to take another vacation and get the remaining chapters out of my head. Sorry.


Sponsor: Many thanks to Accusoft for sponsoring the feed this week. If you haven’t yet, check out their Prizm Content Connect, an HTML5 document viewer that allows you to view and edit documents directly in your browser.

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 ORCS Web

On Disconnecting

August 26, '15 Comments [58] Posted in Musings
Sponsored By

Yes, I'm writing a blog post about disconnecting from technology. No, the irony is not lost on me. ;)

Storm Trooper on Vacation by JD Hancock used under CC

 

Disconnecting can be hard for a number of reasons, in my experience. There's the usual obvious stuff like the fact that we're literally addicted to the serotonin rush of social media's faux urgency, but there's also aspects that aren't talked about as much. Like, will I have a job when I get back?

I know it's silly to say (or at least, I think it's silly to say) but I still think about the day to day stuff at work and wonder "well, if I leave, who will do it?" Now, hang back, this isn't about me, it's about irrational feelings, so bear with the post. I'm certainly not irreplaceable, none of us are, but I think it's common to feel a combination of feelings like:

  • Who will work on Project X without me?

This implies I'm either the only one, or the best suited. Then there's the opposite:

  • What happens if I'm gone so long that they realize they never needed me at all?

Sometimes on vacation I feel both of these things. They are irrational, but that doesn't make them any less real.

The hardest part about going on vacation isn't the disconnecting, for me, it's the realizing that I'm supposed to go on vacation.

What do YOU think about vacation, Dear Reader? Am I alone in my thoughts here?

* Photo "Stormtrooper on Vacation by JD Hancock used under CC


Sponsor: Big thanks to Infragistics for sponsoring this feed this week! Responsive web design on any browser, any platform and any device with Infragistics jQuery/HTML5 Controls.  Get super-charged performance with the world’s fastest HTML5 Grid - Download for free now!

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 ORCS Web

Windows 10 IoT Core controlling a Raspberry Pi 2 Robot

August 21, '15 Comments [6] Posted in
Sponsored By
Windows 10 IoT Core on a Raspberry Pi 2 controlling a robot

My 7 year old sat down and built a little robot from instructions listed at Microsoft's IoT Hackster site.

To build the robot, you will need the following:

  1. Wooden Robot Frame in 7 pieces - Get the cutting plans from the Sumo Robot Jr. GitHub repo and submit them to http://ponoko.com. They cut them 4 to a sheet of P3 5.2 mm Veneer Core Birch
  2. 2x continuous rotation servos, like these
  3. A ball caster, like this for the front "wheel."
  4. A USB Xbox 360 Controller 
  5. A Digital switch, like this. You can actually skip this if you want to, it's not require just to move the robot.
  6. 6x 6" Male-to-Female Wires (2 red, 2 white and 2 black) like these
  7. 2x 6" Female-to-Female Wires (1 red and 1 black) like these
  8. Screws, Nuts, Bolts and standoffs like this. This was a little bit of a challenge for us, as the screws I got for the axels of the wheels weren't long enough. You may need to make a few short trips to your local hardware store.
  9. Raspberry Pi 2, a 2 Amp power supply, SD card, network Ethernet cable. I actually ended up using a portable battery that I use to charge my phone.
  10. Micro screwdrivers

Starting with a Raspberry Pi 2, walk through the setup instructions here. You do need to have a Windows 10 today to installing Windows 10 IoT Core but at least it's gotten a lot easier with the latest build for IOT. There's an app that does all the work and you don't need to go to the command line. Also get Visual Studio 2015 Community and the Windows IoT Core Project Templates. Basically just follow these step-by-step instructions.

Once you have the Raspberry Pi 2 loaded and you've got VS, the code for the robot is here on GitHub. The instructions don't include a photo with pinout information, so someone else who completed the project took pictures of the correct orientations for pins.

A few things about Windows 10 IoT Core on small devices like this. It's NOT "desktop Windows." It's not full Windows with a Store and Office. You CAN run Universal apps and they can have a UI. In fact, the robot app can run on your PC and control the robot remotely, OR it can run the same app on the Raspberry PI and control it from there.

Here in VS2015 you can see under Debug the name of my Raspberry PI ("minwinpc") and that I'm targeting it remotely and as an ARM device.

image

I was having so much fun working on assembling this that after the kids went to bed I did a 30 min Google Hangout/YouTube and demonstrated the whole thing. You can watch that here, below. Please also take a moment and subscribe to my YouTube Channel.

Check out http://microsoft.hackster.io and http://idevthis.azurewebsites.net/ for more projects, code, and inspiration. Have you built anything?

SOCIAL: Hey folks, please do follow me on Facebook https://fb.me/scott.hanselman or Twitter! https://twitter.com/shanselman

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 ORCS Web

Dealing with Software Religious Arguments and Architectural Zealotry

August 19, '15 Comments [54] Posted in Musings
Sponsored By
4302882942_9e2b92fdeb_b

Warning: Excessive use of Capitals for Emphasis ahead.

A friend of mine left his job to start a medical startup and has been in the middle of a Fight Over The Tech Stack. The current challenge is very bifurcated...very polarized. It's old vs. new, enterprise vs. startup, closed vs. open source, reliable vs. untested. There doesn't seem to be any middle ground.

Sometimes fights like these start with a Zealot.

Zealot: a person who is fanatical and uncompromising in pursuit of their religious, political, or other ideals.

Not all, don't get mad yet, but sometimes. Sometimes a Technical Religious Zealot is on your team - or runs your team - and they can't make objective decisions about a particular piece of technology.

"Don't use Microsoft, it killed my Pappy! Rails? Please, that won't scale. Node? Maybe if you're 17 that'll work! The only real way to write right software is with Technology X."

The language may not be this overt, but the essence is that Software can only be built This Way.

Here's the thing. Lean in. There's lots of ways to build software. Lots of successful ways. In fact, Success is a great metric.

But there's a lot of crappy Java apps, there's a lot of crappy C# apps, and there's lot of crappy Technology X apps.

Enthusiasm for a technology is understandable, especially if you've had previous success. I've worked in C++, Pascal, node.js, Java, and C#, myself. I've had great success with all of them, but I'm currently most excited about .NET and C#. I'm an enthusiast, to be clear. I've also told people who have hired me for projects that .NET wasn't the right tech for their problem.

Be excited about your technical religion, but also not only respect others' technical religion, celebrate their successes and learn from them as they may inform your own architectures. Every religious can learn from others, and the same is true in software.

Beware the Zealots. Software is a place for measurement, for experience, for research, and for thoughtful and enthusiastic discussion. You or the Zealot may ultimately disagree with the team decision but you should disagree and commit. A good Chief Architect can pull all these diverse architectural conversations and business requirements into a reasonable (and likely hybrid) stack that will serve the company for years to come.

Dear Reader, how do you deal with Technology Decisions that turn into Religious Arguments? Sound off in the comments.

SOCIAL: Hey folks, please do follow me on Facebook https://fb.me/scott.hanselman or Twitter! https://twitter.com/shanselman

* Photo "Enthusiasm Rainbow Gel" by Raquel Baranow used under CC BY 2.0


Sponsor: Big thanks to Infragistics for sponsoring the feed this week! Responsive web design on any browser, any platform and any device with Infragistics jQuery/HTML5 Controls.  Get super-charged performance with the world’s fastest HTML5 Grid - Download for free now!

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 ORCS Web

The Evergreen Web

August 11, '15 Comments [46] Posted in Musings
Sponsored By
 Photo "Road Work" by Grempz used under CC BY 2.0

I visited a website on my company's Intranet today using Microsoft Edge (the new "evergreen" browser in Windows 10*) and got an interesting warning. "This website needs Internet Explorer." At first I was taken aback, but then I got to thinking about it and it made sense.

A warning from Microsoft Edge - This website needs Internet ExplorerLet me back up. I was talking with awesome Web Developer Catt Small today and she mentioned how sometimes Chrome will update silently and break some little piece of the web in order to move the larger web forward. This means that Catt would have to then update her website to support this new feature or tweak the way she uses a feature in order for Random Visitor to have a Good Experience. This is life on the Evergreen Web and we techies are generally cool with it.

In a world where we all write our websites with feature detection and (generally) gracefully degrade when features aren't around, things just work. But at the same time, it does make the Web itself a moving target.

Flash, Silverlight, and Java are on the way out and JavaScript is the web's assembly (it's true and happening, you can't deny it anymore) so we should always be able to emulate what we need with JavaScript's Virtual Machine, even arcade games amazingly frozen in amber by Jason Scott. As the web moves it WILL be important to have browsers that can render yesterday's web as well as tomorrow's.

However, a few important aspects need to be called out in my opinion.

With an Evergreen Web comes Great Responsibility

Firefox, Edge, Chrome are all Evergreen browsers now. They really need to make smart decisions - hopefully as a collective when appropriate - to not Break Everything.

We also need to realize that we will have to leave some folks behind. Some older operating systems won't be able to run the latest browser. Some browsers come with the operating system or phone and don't upgrade often.

If we're gonna do this, we all need to do it

Everyone needs to get on board (*cough*Safari) and move forward.

An Evergreen Web is a kind of privilege

This is an interesting one that Catt and I talked about (podcast coming soon!) Again, not every company has the money, resources, or patience to keep their sites Evergreen. Things will break. Not every non-technical relative will have an Evergreen browser. These may seem like edge cases, but they aren't.

My wife has been in university these last few years and I swear it's like browsing the web in 2003. She's got a collection of browsers, literally, and bookmarked the school's sites that work in specific browsers. I'll find her running IE, Edge, Chrome, and Firefox on her own, and when I ask what's up, I'm told that "this blackboard site only works in Firefox" or "this testing app only works in IE."

This kind of haves-and-have-nots split will continue for the foreseeable future while mission-critical (everything mission critical to someone) apps continue to be used.

Compatibility Modes (however they are implemented) will be important

While your startup or agile team can likely fix little issues that pop up on your websites, that super-old web-based Expense reporting system that your company use DOES WORK in the right browser. It works. It's OK that it works and it should be allowed to work. While I was shaken by the error message I saw above for a moment, I understood it and I was able to get my "nevergreen" copy of IE to open that old-but-functional website quite nicely. I've found myself wishing, on occasion, that my copy of Chrome 44 could just act like Chrome 38 for a site or two.

Additionally, there will be Enterprises that won't (for whatever reason) want to be as Evergreen as we'd like them to be. There concerns are usually around compatibility. For many giant companies, changing stuff means breaking stuff.

* Evergreen browsers are always fresh, always updated. Chrome and Edge are "evergreen" browsers that support the latest Web Technologies and most importantly you shouldn't have to think about version numbers. 

Do you welcome our Evergreen Overlords? Sound off in the comments.

Related Reading

SOCIAL: Hey folks, please do follow me on Facebook https://fb.me/scott.hanselman or Twitter! https://twitter.com/shanselman

* Photo "Road Work" by Grempz used under CC BY 2.0


Sponsor: Big thanks to Infragistics for sponsoring the feed this week! Responsive web design on any browser, any platform and any device with Infragistics jQuery/HTML5 Controls.  Get super-charged performance with the world’s fastest HTML5 Grid - Download for free now!

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 ORCS Web

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