Scott Hanselman

Top 10 Raspberry Pi Myths and Truths

July 30, '12 Comments [64] Posted in Hardware | Open Source
Sponsored By

Two little boys on a Raspberry PIFirst, let me go on the record as saying I'm a huge Raspberry Pi fan. If you haven't heard already, a Raspberry Pi is a small but complete $35 computer (or $25 without Ethernet). It's a complete 700 MHz ARM CPU with a GPU and 256MB of RAM. It has two USB ports, Ethernet, Audio as well as video out over RCA (Composite) or HDMI at 1080p. It uses an SD Card for its hard drive and takes 5V at >700mA of power over a mini USB. You can order one from Farnell online and there is a waiting period.

All that said, I wanted to talk about some misconceptions one might have about these amazing little devices.

Raspberry Pi Myths (Debunked)

  • It runs Windows 8 - And that's OK. It's a 700MHz Broadcom BCM2835 ARM11. It's a little underpowered to run Windows (not to mentioned totally unsupported) but it can run a lot of different stripped down Linux distributions like Debian or Fedora. The current recommended distro is Raspian and you can download a Raspbian image directly from Raspberry PI and write the image to an SD Card using Win32DiskImager.
  • It's a great email and browsing appliance - It's too slow today for anything but the most basic of browsing. The current browser available is Midori but it slows down with any complex JavaScript or sufficiently complex HTML DOM. Honestly, it's not a laptop or living room PC and it's not trying to be.
  • It's a breeze to setup - Ok, it IS easy IF everything works. It's actually easy until it's totally not easy and then it's almost always a hardware or power problem. What do I mean by this? Well, the idea with the Raspberry PI is that it uses parts and equipment you likely already have. It doesn't even come with a power supply! They figure - rightly so, I think - that you already have a 5V micro-USB adapter laying around your house so why spend money on another one? Good thinking, except a Pi needs power at at LEAST a 5V and 700mA. The former is easy, but the latter is tricky. I had literally 10 USB adapters and only two could do over 500mA. One did 700mA and the other a full 1A. I am not saying panic, but I am saying that the forums are filled with questions and concerns over flaky behavior. I even had to hook up a multimeter and check the voltage over their two (thoughtfully located) voltage test points. I would say that if you have and know how to use a multimeter than you should totally get a Raspberry PI. But if you are a teacher who has the idea that you'll fill a classroom with fast, cheap, reliable and easy to manage PCs, the Pi isn't the answer. It's cheap and fun, but it's not quite plug and play yet. One other point of note, NONE of my wireless keyboards or mice worked, and this is being talked about on the forums as well. The PI can handle only 100mA of draw on each of the two USB ports (get it? ~500mA for the PI and 100mA each for the two USB ports) and some devices pull more than 100mA. Some keyboards have little USB hubs of their own, like the Apple Wired Keyboard and they can't be driven by the PI alone. Expect to need a USB hub for any external drives or devices. I tried 3 different hubs before I had success with the Belkin USB 2.0 7 Port Hub. I also ended up getting a cheap Mini USB wired keyboard and cheap USB wired mouse. The Pi may be $35 but you'll spend another $75 if your parts on-hand don't work. Moral of this story? check all your parts against the Raspberry Pi Verified Peripherals list.

Raspberry Pi Truths

  • Raspberry PI in a LEGO CaseIt supports 1080p video - Yes, it's good a very nice little GPU on it, and hopefully future versions of the little Linux distros will take better use of it. For example, offloading some of the X-Windows work onto the GPU would make it feel a little snappier.
  • It's easy to overclock - It's modest, but it's overclockable. I took it from 700Mhz to 900Mhz just by running
    sudo nano /boot/config.txt
    and changing arm_freq=700 to arm_freq=900 as well as adding sdram_freq=500. If you mess it up, just edit the file on the SD Card on another computer. Be aware you can also "overvoltage" but you'll void the warranty immediately.
  • It's a complete Linux machine - It really is. You don't need to use it for anything they expect you to use it for. If you want to install Fedora Remix and make it a little NAS with an attached USB hard drive, feel free. You can make it a tiny web server or use it as a little VNC client while you VNC into your work at 1080p from your 42" HDTV.
  • It's a Media Center with AirPlay - You can run an XBMC fork called RaspBMC that puts together a Debian Linux distro with most of the power of the well-known and open source XMBC media center system. Most importantly, it has AirPLay support so a RaspBMC-running Raspberry PI can be the easiest and cheapest way to throw wireless video on your giant TV from your iPhone or iPad. It doesn't do MPEG2 but it does play MPEG4 and h.264.
  • It is great for learning to code - It not only runs Python but it will run anything that a tiny ARM machine can run, even Mono and .NET! The Raspian default distro of Linux includes Python 2 and Python 3 IDEs and is easy to script.
  • It's a fun educational PC for little kids - With the addition of the GCompris software suite you've got dozens of games and activities that cover everything from math to reading, science to geography.
  • It's a gaming machine - I can say it runs MAME and SCUMMVM pretty darn well and if you check out the forums you'llf find a very interested community with ambitious plans.

The Raspberry PI is a tiny little joy. The boys are having great fun with it and frankly I'm happy that it's hard. I don't want them using an Xbox or some "easy" technology. They are using espeak from the command line to get the computer to talk to them and are learning how to read. As they get older I hope we'll start trying out some of the hundreds of other uses for these tiny devices.

We spent all day today building a LEGO case then found a clever design online as well. The little Pi community is having such fun and I think it's because of the device's constraints. It's small, it's cheap, but it's got such potential. If you are aware of it's limitations and are armed with a little patience, you'll have a blast introducing your kids to the Raspberry PI.

Related Links

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 SherWeb

Free ASP.NET Training Videos from aspConf now available for download or streaming

July 26, '12 Comments [15] Posted in ASP.NET | ASP.NET Ajax | ASP.NET Dynamic Data | ASP.NET MVC | Open Source | Speaking
Sponsored By

There's lots of goodness happening in the .NET and ASP.NET community right now. If you're not plugged in, you can follow ASP.NET on Twitter or Like ASP.NET on Facebook and we'll keep you up to date with all the great goings-in. You can visit, bookmark and subscribe to the newly revamped and oft-updated ASP.NET website. The new site is lovely on various phones and pads and has loads of content, both textual and video as well as HOURS of free training videos from Pluralsight. There's also an excellent Daily Community Spotlight on the home page there you can also subscribe to in Google Reader that is curated by our very own Jon Galloway.

The ASP.NET Webstack is Open Source now as is the Entity Framework. There's goodness happening from the new MS Open Tech organization and there's also the burgeoning goodness from the newly-created "Monkey Square" non-profit, the same organization that runs the Monospace Conference (follow MonkeySquare on Twitter) started by Joseph Hill, David Nielsen, Dale Ragan, Louis Salin, Phil Haack, and myself, dedicated to open source on .NET. If you haven't registered for Monospace, consider it, as it's a high-signal, low-noise boutique open source .NET conference out of Boston this October. You could even speak!

Download or Stream all these ASP.NET Conference videos and training sessions for free.

But, enough of that, let's talk about videos and education. Just last week we held aspConf, a a free, virtual conference dedicated to ASP.NET organized by and for the community, and all free. It was the sequel to mvcConf and mvcConf 2 and was this year expanded to two full days of great content on the entire ASP.NET platform. There were over 60 presentations from amazing speakers both inside and outside of Microsoft. I was fortunate enough to present the teams' and my vision for "One ASP.NET" in this silly keynote that was presented from the comfort of my home office to over 1200 of you Dear Readers.

aspConf 2012 is now a collection of videos for you to download or stream online in all the usual formats. There's dozens of them to check out and they are excellent. Some of my favorites are:

  • Next Generation Visual Studio Web Tools - Building websites has become more and more important for most businesses worldwide, and with the introduction of HTML 5 we now have more possibilities than ever. Join Mads on a journey through the features of the upcoming version of ASP.NET and Visual Studio to get a sneak peak on the new abilities ...
  • Introduction to the ASP.NET Web API What is REST? and a RESTful API? How does the ASP.NET Web API fit in? How does the ASP.NET Web API work? How can it be consumed by clients such as ASP.NET MVC, Win8/Metro, etc.? In this session, John discusses how to get up and running with the ASP.NET  Web API thorugh practical examples.
  • Async in ASP.NET Async is here and it's awesome, but how do you leverage for maximum affect in a server environment? When should you use async and what shouldn't you do to avoid headaches? Hear from the ASP.NET team about async support in ASP.NET, the features, the pitfalls and most importantly the use cases that ma...
  • Modern Web Development  In this talk, Shawn will walk the attendees through the new way that web applications are being built today using the latest in client-side development the best practices of how to carry that out with ASP.NET MVC.
  • Ask the Experts - Here's your chance to get answers to your deep technical questions about SignalR, MVC, Web API! With Damian Edwards, Brad Wilson and Marcin Dobosz.

Have fun!


Sponsor: My personal thanks to DevExpress for sponsoring this week's feed! Check out their new stuff, it's amazing! DXperience 12.1 helps you realize your creative vision. Beautiful design and rich user experiences are at the center of the modern development conversation. From iPads to mobile phones, focus on great design. Try 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 SherWeb

Is Daddy on a call? A BusyLight Presence indicator for Lync for my Home Office

July 19, '12 Comments [27] Posted in Lync | Remote Work
Sponsored By

Daddy is busyConsider this the first in a series of posts on using Lync effectively as a Remote Worker.

I've blogged about building and wiring my home office, working from home remotely, and even done a video with Chris Sells and Rory Blyth walking through the house ("Geek Developer Cribs"). Last week I put my Lync 2010 Super Simple Auto Answer Video Kiosk with Full Screen on GitHub. That software replaces the "Embodied Social Proxy" software I was running before. That solution was too complex.

I've got folks in Seattle who are interested in my "presence" and I've also got folks here at home who are interested. Specifically, it's a problem when my kids don't realize (or respect) that Daddy is on a conference call or that Daddy is recording a podcast. It's a problem even for my wife who has recently gotten in the habit of texting me from outside the door to see if I was busy.

I had an old radio On Air light that kind of worked but I never hooked it up to Lync, which is my primary source for presence and availability. Since Lync is also available on iPhone, iPad and Android, it really is the best way for anyone inside the company to know if I'm "available."

I'd consider building a system with LEDs and Netduino but the folks at BusyLight beat me to it. The BusyLight is a nice simple plug-it-in-and-forget-it light that integrates with Lync to provide a visual indicator of my presence. It installs itself as a USB HID (Human Interface Device) so it's likely possible to talk to it directly and make a presence system for other IM clients like GChat or Skype.

Lync availablity is broadcast to all clients

Any system I put in place needs to just work. I don't want to have to click anything more than I already do. I don't even bother to set Lync's status myself because it does a fine job of doing it on its own. It automatically marks me as busy when I'm in a meeting or presenting or on the phone. If I leave my computer for a while it turns yellow to indicate I'm away. When I do need to change it manually (for recording a podcast, for example) I can also just use my iPhone. Any change in my availability from my iPhone is automatically (and instantly...like 100ms instantly) broadcast to all my Lync devices including the BusyLight and my Polycom CX600 IP telephone.

I combined the USB BusyLight's already super-long USB cable with a 16-foot USB2 Active Repeater Cable in order to get all the way down the wall, over and up into the corner of my door. The BusyLight included a 3M adhesive and it's happily stuck up there and the door still closes easily.

The BusyLight changes color instantly as Lync presence changes Daddy is not busy

I will also be taking a BusyLight up to my remote office and hooking it up so that folks can see when I'm "in the office" or available for a call.

So far I'm thrilled with the results. I recorded a podcast today and I could hear the boys outside whispering to each other "ssh, it's red! Daddy's on the phone!" Ok, I could hear them, but at least they made an effort!

Related Links

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 SherWeb

Entity Framework Magic Unicorn (and much more!) is now open source with take backs

July 19, '12 Comments [25] Posted in Data | Open Source
Sponsored By

The Unicorn is fineAlmost exactly two years from the day we announced Entity Framework "Magic Unicorn Edition" and just a few months after open sourcing of ASP.NET MVC 4, ASP.NET Web API, and Razor we're happy to announce we will release the source code for the Entity Framework under an open source license as well!

This is cool for a number of reasons. The EF team is continuing to move forward with a commitment to transparency. The community will be able to not only watch the check-ins and monitor the progress of the project, but also get involved themselves, submit pull requests for bug fixes, use daily builds and give feedback much more efficiently.

Just like the open source ASP.NET components and open source Azure SDKs, Entity Framework will continue to have the same full-time Microsoft engineers working on the project and will remain a fully supported Microsoft product that will ship both standalone AND with Visual Studio.

The code being open sourced includes the Entity Framework Runtime and NuGet packages, Code First, the DbContext API, the Entity Framework Power Tools as well as pieces that shipped originally with the .NET Framework. The team is also working to open source the EF Designer surface in the future as well.

By open sourcing EF we open up the design and development process that started the EF 4.1 preview builds. People who are interested can get nightly builds, see the source code changes, and engage in discussion about the design and implementation. The EF team is committed to opening up the development and involving the community and are going to work hard to make that happen.

Entity Framework will live in a Git repository at http://entityframework.codeplex.com and you're welcome to follow, fork, discuss and file bugs against it as you see fit. You could fork it just to fix a bug quickly to unblock work that uses EF, or you could create a custom version of EF with different capabilities. Since the changes can also be contributed back this gives people a lot greater flexibility in how they develop with EF.

Again, we've previously open sourced the Azure SDKs, the ASP.NET Web Stack, and now Entity Framework. These products all have the same teams assigned (and in most cases have more resources than before), the same developers coding and the same support guarantees. They are open source projects but they are also supported and released Microsoft products suitable for use in any company. They'll continue to ship with Visual Studio as well as standalone as packages in NuGet. The investment in all these technologies has been significant in the past year and investments will continue going forward with new versions and even more cool features.

Async - My Favorite New Entity Framework feature

Just as an example, I wanted to show a new feature in the upcoming EF6 that the team is hard at work on for release next year. Visual Studio 2012 introduces the Aync and Await concepts that make asynchronous code much easier to write (and understand). Damian, Levi and I talked about async and the surrounding concepts in this week's Hanselminutes podcast.

EF6 will introduce support for the new task-based asynchronous pattern when querying and saving data. You can actually look in the open source code base today and find the first parts of this feature are already checked in! ;)

As an example, using EF5 you could define a helper method that will find the store closest to a given location. Any code that calls this method would need to wait while it executed.

public Store FindClosestStore(DbGeography location)
{
using (var context = new StoreContext())
{
return (from s in context.Stores
orderby s.Location.Distance(location)
select s).First();
}
}

But in EF6 it is easy to turn this into an asynchronous method that can be left to execute while the calling code continues on with other tasks.

public async Task<Store> FindClosestStore(DbGeography location)
{
using (var context = new StoreContext())
{
return await (from s in context.Stores
orderby s.Location.Distance(location)
select s).FirstAsync();
}
}

This is just one feature but it's my favorite. You'll also soon see mapping of Stored Procedures as well as support for custom conventions using the Code First API.

Be sure to follow the Entity Framework Repository and subscribe to the check-ins via RSS to stay up on the latest features and improvements to EF! Also, do go chat directly with the Entity Framework team on Jabbr (powered by SignalR and Azure) in their room: http://jabbr.net/#/rooms/EntityFramework

Related Links


Sponsor: My personal thanks to DevExpress for sponsoring this week's feed! Check out their new stuff, it's amazing! DXperience 12.1 helps you realize your creative vision. Beautiful design and rich user experiences are at the center of the modern development conversation. From iPads to mobile phones, focus on great design. Try 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 SherWeb

Google+ Plus offers a Sophie's Choice to early adopters of Google Apps via an incomplete Takeout Migration Tool

July 16, '12 Comments [11] Posted in Musings
Sponsored By

You can only move your circles but no content.I'm a long time Google Apps for Your Domain (GAFYD) user. That means that hanselman.com email, calendars, etc is all handled by Google Apps. I've got dozens of other Hanselpeople (relatives and others @hanselman.com users) on this system and it works nicely.

When Google+ came out I signed up, but for the first several months the Google+ social network didn't allow Google Apps users to signed. Only Gmail.com users and folks with regular Google Profiles could sign up. So, most of us with Google Apps created temporary Google profiles or throwaway Gmail accounts in order to sign up. We were told that there'd be a migration tool "in a few weeks."

It's been almost exactly a YEAR from the first time this was announced. Last week they announced a migration tool via their "Google Takeout" system.

Fast forward several months and Google has announced the migration tool for Google+ users who want to migrate to another account. The tool is under the Google Takeout system which "Google Takeout allows you to download a copy of your data stored within Google products."

Unfortunately this new migration tool only supports downloading and migrating your Circles, but not your posts, comments or +1s. Compare this moving accounts or URLs under Facebook and Twitter, each of which allows you to change names without losing followers or posts/tweets/notes.

So, this means that while I can move my Google+ account and followers/encirclers over to a new account, all my posts will remain on a vestigial parallel-universe Scott Hanselman who will live forever. I've got a year of posts, great comments and thousands of +1s that are trapped in another social walled garden. I'm forever Scott Hanselman on Google+, except when I'm Scott Hanselman on Google+.

Even worse, my existing Google+/Google Profile account is already associated with all my blog's content on the Google Search Engine. This now makes one wonder if I move my existing authorship metadata to the new account will it work? Blog authors rely on rel="author" as a way to indicate their legitimate content is written by a human.

I've posted my dismay on my Google+ account. Google Developer Evangelist Chris Chabot kindly responded and said:

Posts and comments are not lost, they remain as they were - what is the case is that we don't rewrite history by changing the name above those comments. ie if you commented as "Scott Hanselman" then that name will remain above the comment / posts you did.

I imagine that otherwise it would get pretty confusing if we did try to rewrite history - for instance if someone responded to your comment and said "Hey Scott Hanselman thanks for the info!" but the comment now had "Bob" as a name on it, there's no correlation between your posts, comments and their replies anymore.

So - nothing is lost or removed, there's just the side note that we also don't go back and try to rewrite every post, every reply and +mention that was ever done.

However well-meaning, I think Chris is missing the point of the audience who needs this feature. No one is trying to "rewrite history." We're just trying to move an account from one login to another. Even better if we don't need to change ANY URLs. I don't want to change URLs, move my profile or anything. I just want to login with different credentials.

Here's my response to Chris and Google, reprinted here.

This is a permalink issue not a "rewriting history" issue. I'm Scott Hanselman on a throwaway gmail. That's me here. I want to move to my Hanselman.com account where ALL my social media is (until g+). That is your primary use case and primary reason a GAFYD user would move. I want to simple change my login, from my perspective. For you, it appear this is a data migration issue as you're making week-long data moves. We just want to change a profile login.

Secondarily, I've got rel=author working nicely in google today. If I move, I'll need to change my authorship and hope Googlebot notices it in a few weeks. This is a perfect example were a 301 redirect from my old profile to my new one would go a long way.

Does this help clarify my position? I'm absolutely convinced this is the primary way folks would use this migration and I can say that all my peers and folks I've talked to expected a cleaner migration.

I want to move from my throwaway to a paid GAFYD account and it's [not really] acceptable to have hundreds of posts laying around NOT attached to my legit and primary account.

There are also a number of unanswered questions. What if someone finds some G+ posts from the last year and encircles my OLD account? Are they redirected? Likely not. I have hundreds of links pointing to my profile on the web. Why not 301 redirect those? Or, better yet, don't change the URL!

I believe that Google+ really needs a better system for their early adopters like myself. I've got a year worth of content and almost 40k followers on Google+ and I just want to login with my primary Google Apps account - the account I use for everything.

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 SherWeb

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