Scott Hanselman

On Disconnecting

August 26, '15 Comments [52] 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 [53] 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

Microsoft Universal Foldable Keyboard - Dual Bluetooth Pairing and Three Operating Systems

August 9, '15 Comments [12] Posted in Hardware | Reviews
Sponsored By

Microsoft Universal Foldable KeyboardI have a Surface Pro 3, an iPad 2, and an iPhone 6+. I also have a few Android devices for development. Sometimes I'm on a plane and want to do email, or I'm playing a game on my iPad and I've got my iPhone off to the side. You know, various combinations like you do.

For a while I used the Microsoft Universal Mobile Keyboard. (To be clear, NOT the Foldable one...that will show up in a moment) It's universally well-reviewed and with discounts can be found as low as US$58. One of the big pros of the Universal Mobile Keyboard is that the cover separates via magnets from the keyboard and includes a notch to hold your tablet up at an angle.

However, for me it had a few nits. It's about 75% of full-size which is just a little "off" for larger hands. It's also quite large. You can't really put it in an inside jacket pocket, it's definitely a backpack item. It's great, but it's not perfect...so, I tried the:

Universal Foldable Keyboard

Fast forward a year and the Microsoft Universal Foldable Keyboard is out. I preordered it as soon as I saw it in April. I swear if I had a dozen of these in my backpack I could sell them in a day of just sitting in a cafe. Folks always ask about it. It's lighter than most mobile keyboards, the folding is cool, the battery life is months (they say...I've never charged it yet, but it charges with micro-USB so that's trivial), and it supports basically any device.

I was at OSCON using the keyboard and the two things I consistently heard were:

  • Why have I never heard of this?
  • This is from Microsoft and it supports any device?

Seriously, Microsoft needs to do more than just word-of-mouth to advertise cool stuff like this. I realize I'm gushing, but I like the keyboard.

Here's the details. It's about 6 inches by 5 inches. Pictured below next to my Arc Touch Bluetooth Mouse (which also rocks) for size comparison.

The Microsoft Universal Foldable Keyboard

It unfolds, of course, and it's deceptively thin. Here it is pictured next to my Surface Pro 3 keyboard. The material and keys are basically the same. Surprisingly the fold in the middle looks a lot more dramatic than it feels in practice. Notice that the T and N and G and H are wider than they should be? That subtle but significant change makes touch typing very easy, in fact.

The keys are advertised as "full-sized" but you can see in the pic they are likely about 90-95% of full size. So "darn near full-sized" would be a fair statement. They aren't significantly smaller than my Surface that they slowed me down, but it's worth pointing out.

Microsoft Universal Foldable Keyboard - Multiple Bluetooth Pairings Microsoft Universal Foldable Keyboard - OS Button

The killer feature - besides the folding - is that you can pair two devices to it at the same time and switch between them. See the [1] and [2] buttons there? You long-press to switch devices. You can be typing on your Surface or Tablet, then get a text message on your phone, then just long press to reply to it then long press to return to the main device. The keyboard also has an OS button in the upper right corner to manage keyboard mappings, and it remembers them for each paired device.

For example, the Escape Key on iOS is also Home, or a double-press is the iOS task switcher. The Home button is home or the Windows Key depending on your device. There's also a CMD key for Macs as well as the usual Alt/Option key.

Microsoft Universal Foldable Keyboard - Compared to Surface  Microsoft Universal Foldable Keyboard - Home Keys

A only real con of this keyboard is that it does need a flat surface to sit on. It won't work well on your lap. Also, I haven't figured out how to force the FN key to reverse the functionality so there is no easy way to do things like ALT-F4. The default functionality for the top row is for more "Consumer" things like muting the volume and such, not for coders and hotkeys. For many folks that will be a deal-breaker, but for blog posts, emails, and surfing around, it's fine for me. I'm not going to code for hours on it.

I also did an unboxing video the day I got it in the mail, filmed with a potato, so check it out and subscribe to my YouTube.

* My Amazon Affiliate Links buy me tacos and gadgets like these to review. Please use them!

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


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.