Quantcast
Channel: Scott Hanselman's Blog
Viewing all 1148 articles
Browse latest View live

Why do my Font Awesome icons show up as blank squares?

$
0
0

So you've decide to use Font Awesome for some great scalable icons. You download them, maybe you use the Bootstrap CDN.

  • You're not an idiot, but you only get black squares.
  • You look at the F12 Developer Tools and you can see the fonts are getting downloaded.
  • You're super advanced, so you check that mime/types are correct on your web server and confirm them in the HTTP headers.
  • You've burned a half hour just pressing CTRL-F5 and clearing browser caches.
  • You're about to smack someone.
  • You're trying different browsers, checking the wire, reading the docs, googling with bing for crying out loud.

Sigh.

image

Then you realize that you need to have class="fa" as well as whatever the icon's class is.

So, not just

<i class="fa-pencil" title="Edit"></i>

But in fact, you need

<i class="fa fa-pencil" title="Edit"></i> 

Then...it works.

image

I hereby declare this the Foux du Fa Fa rule of Font Awesome and blog it so I don't forget.


Sponsor: Big thanks to Telerik Icenium for sponsoring the feed this week! Build and publish iOS & Android apps with Visual Studio using only HTML5 & JavaScript! Telerik Icenium now includes Visual Studio integration. Start a 30 day trial with support now!



© 2013 Scott Hanselman. All rights reserved.
     

Portable Class Libraries just got REALLY useful with new licensing changes

$
0
0
Flickr Photo by thienzieyung used under Creative Commons
 

It takes a little while to turn a large ship. I love the .NET community and I'm happy to have been a part of it from the beginning. I'm also happy that I'm helping (in a small way) turn the ship from the engine room along with a lot of like-minded individuals.

Sometimes what seems like a "can't you just" request requires days and weeks of legal this-and-that and meetings and "alignment" (that's a thing business people LOVE to say). But if you're patient and keep pushing, change happens.

You have have noticed on the .NET Blog this week that Portable Class Libraries are now enabled for Xamarin. You perhaps remember this post on Portable Class Libraries that I wrote, with this screenshot:

image

Today on 2013 with Xamarin installed, I see this after File | New Project.

image

Of course, there's still wasted space, but I hope you can see the change. ;) The more interesting,  perhaps, change is the legal licensing changes to make sure you're allowed to use useful Portable Libraries on other platforms, like Xamarin.

In my original post there were negative (and these discussions continued on Twitter and UserVoice) comments like:

Hi Scott, unfortunately that wasted space you refer to can't be used until MS changes the licensing on many of their Nuget components (e.g. HttpClient) as these stipulate that they have to be used on Windows systems... making them far from portable!
Are you aware of this, and do you know whether this situation will change in the near future?

Yes, it just changed. We've been lifting these as fast as we could, starting with ASP.NET Katana in July, getting PCLs everywhere, and finally changing licenses on ALL these libraries this week.

The lifting of this restriction also applies to some non-portable libraries like, ALL the Microsoft .NET NuGet Libraries, the Entity Framework and all of the Microsoft AspNet packages.

Go forth and be happy. Even  better, you can use these portable libraries as  dependences to new portable libraries that you create and share.

Ships may turn slowly, but they do turn, and ultimately, in significant ways.


Sponsor: Thanks to Red Gate for sponsoring the feed this week! Easy release management: Deploy your .NET apps, services and SQL Server databases in a single, repeatable process with Red Gate’s Deployment Manager. There’s a free Starter edition, so get started now!



© 2013 Scott Hanselman. All rights reserved.
     

Working Remotely Considered Dystopian

$
0
0

At the time of this writing, I work remotely from Portland, Oregon for Microsoft and have for over 5 years. While I haven't written any books on Remote Work, I think it's fair to say that I am well-versed in successfully working remotely and I am certainly a remote work enthusiast. I have written about the experience extensively on this blog.

Recently DHH, the creator of Ruby on Rails, co-wrote a book about remote work called Remote. Here's the digital "inside cover" from Amazon.

Today, the new paradigm is "move work to the workers, rather than workers to the workplace."

In Remote, inconoclastic (sic) authors Fried and Hansson will convince readers that letting all or part of work teams function remotely is a great idea--and they're going to show precisely how a remote work setup can be accomplished.

And from the Remote book site:

REMOTE, the new book by 37signals, shows both employers and employees how they can work together, remotely, from any desk, in any space, in any place, anytime, anywhere.

MicrosoftiPhoneAppsAwesome. Now we have tools that will move work to the workers like Google Apps, Office 365, and Base Camp. But it seems that workers are taking this too seriously and passing out in bed with their tablets on their faces.

DHH's most recent blog post is called Microsoft's dystopian pitch for remote work and it declares "For shame on Microsoft for cheerleading its [Remote Work's] most dystopian corruption." So, work anywhere, except where you apparently end up needing to work.

Two words that are guaranteed to get folks frothing: "Microsoft" and to a lesser extent, "Dystopian."

As a disclaimer, while I do work at Microsoft, I don't work on Office or know anyone over there. I don't work on any tools or apps that enable you to work remotely unless you count "The Internet." I am a remote worker. If my company disallows remote worker in the future, I will quit.

NOTE: As an related aside, if you want a another REALLY great book about working remotely, I highly recommend "The Year Without Pants" by Scott Berkun, a friendly acquaintance. It's a brilliant account of his time at WordPress.com, a company with only remote workers.

David's primary issue in his post is with this infographic, which is, at best, questionable. But David implies this is a celebration of bad behavior.

Microsoft is launching a new marketing campaign for Office 365 that celebrates working during your kid’s recitals, on vacation, and while enjoying the appetizer at a restaurant.

20% of parents said they have worked at a child's event or activity

Personally, don't really like this campaign either because it strikes at the behaviors that I sometimes do but I know are unhealthy in my heart. We need to ask, is this a behavior we want to enable? That's what's at issue here.

Have we uncovered a secret Microsoft plan to destroy work-life balance? No, but edgy ads like this make us uncomfortable because they catering to the fact that people do work remotely like this. Every time I go out to dinner I see couples sitting together in silence while they type away on their pocket supercomputers. No, it's not healthy nor should it be how remote work gets done.

But don't forget how the Microsoft ad opens.

Survey finds that more than half of U.S. office workers would be willing to work more hours — and one in five would even take a pay cut — to have more flexibility to get work done.

Again, you like that you can work remotely, but you don't like where people end up working remotely? Thing is, nearly every app and suite that enables to you work remotely has used the soccer game thing to the point that it's approaching trope status. Here's Google, with the same pitch.

Access your work from any device with a web browser – your computer, phone or tablet – and stay productive even when you’re away from the office. Need to attend a meeting from your kid’s soccer game? Edit a spreadsheet while at the airport waiting for a flight? Respond to an email from a hotel business center computer?

Need to attend a meeting from your kid’s soccer game?

Yes, it's bad (sub-optimal, whatever you want to call it) to work at your kids' soccer game. But it's sometimes necessary. Sometimes work-life balance means that work leaks into life and vice versa.

I think it's great if you can literally turn off all access to work at 5pm on Friday and turn it back on at 9am on Monday. Bravo and good for you. For me, it doesn't always work that neatly. I am happy that when needed I can chat someone at work, send a file, share a screen, or forward an email quickly without going into the office.

It's a odd ad campaign, I agree. It's inverted in its priorities. But, I like having the ability to put out a fire while I'm at a soccer game. It's clearly better than missing the soccer game completely. Having tools to get stuff done remotely means I am empowered. If I choose to use that power for evil, that's hardly Microsoft's fault (or iCloud or Google or Dropbox, etc) or the Internet for existing.

It's good that tools like this exist. But I agree with David that it's probably not a good idea to advertise or endorse admittedly unhealthy behavior.

DHH clearly doesn't like Microsoft, and that's fine. But rather than railing against the company that makes tools (and admittedly poor ads) about enabling remote work, why not direct that frustration at the companies with cultures that have workers up at 2am? Or even better, at the managers who demand this level of access?

For the record, when I'm not travelling I drop of my kids at school every day, pick them up at 3, go on fields trips (where I'm usually the only non-homemaker), and tuck them in every night after reading books.

Full Disclosure: I use Office 365 at work, Google Apps for Business at Home, access them all from my iPhone 5S and Surface 2 and store stuff in DropBox. I'm non-denominational.

I'll end with my unwavering agreement on what David said here:

It’s about spending the hours of work more productively, and then having more time free from its tentacles.

Sound off in the comments. How bright is the line between things work and things personal? Do you shut off and shut down, or are you working a little everywhere? How does this affect how you, and those around you feel about you and your work?


Sponsor: Thanks to Red Gate for sponsoring the feed this week! Easy release management: Deploy your .NET apps, services and SQL Server databases in a single, repeatable process with Red Gate’s Deployment Manager. There’s a free Starter edition, so get started now!


© 2013 Scott Hanselman. All rights reserved.
     

Run more apps and show more tiles on your Surface 2 or high-dpi Windows 8.1 Laptop

$
0
0
Show more tiles and run more apps on a Microsoft Surface 2

I did a blog post a little while ago about getting real work done on a Surface 2 (ARM & RT) and I've learned a few interesting things since then. The Surface 2 has a great screen. Having 1920x1080p resolution screen on 10.6" screen is really fantastic. In fact, the DPI on the Surface 2 is so nice that working on any other machine (like the 13" 1366x768 laptop I'm writing this on right now) is just unacceptable.

However, the default DPI settings for both Store Apps and Desktop Apps is set too high, which scales everything and in my opinion this limits you in a few ways. You see fewer tiles on the start screen and can't snap/see more than two Store Apps at a time. If you don't mind smaller on-screen elements, here's a few tricks that will take your high-resolution Surface 2 to the next level. It did mine.

Here's my Start Screen with the default settings as the Surface 2 shipped.

3 rows of Tiles by default

But, if you search for "size" in Settings... (hit the Windows Key+W and type "size")

Size the apps on the screen in Windows 8.1

From this Setting screen, change the Default setting to "Smaller."

Changing Store App sizes

Here's the Start Screen now with the size set to Smaller.

5 rows of tiles

But wait, there's more. Now, go to Settings (Windows Key+C) and click Tiles, then Show More Tiles.

Show more tiles

Now my Start Screen has smaller tiles, but lots more. It's nice to have options.

6 rows of Start Screen Tiles

Here's Mail and News snapped next to each other using the Default DPI setting on the Surface 2.

Mail and News

After changing the setting to Smaller, I can now pull a third application in and the others will get out the way. With 8.1 apps I can resize them to more sizes than 8.0 apps.

 Adding a fourth app and swapping out a third

I prefer the smaller Full Screen/Store DPI setting because I can now watch email, check web pages and watch a movie at the same time.

Mail, IE, and Video

I can also bring the Desktop in and run apps over there at the same time I have other Store Apps.

Here I'm running Excel on the Desktop, next to Mail, next to Hulu.

Excel, Mail, and Hulu

After changing Full Screen/Store DPI settings, don't forget you can also changed the DPI for Desktop apps as well. Right click on the Desktop and click Resolution, then "make text and other items larger or smaller." You can play with the settings and find what works. These desktop settings do not change your Store Apps.

Change the size of all items

I hope these tips help you push your own Surface (or any high-DPI laptop) harder.


Sponsor: Thanks to Red Gate for sponsoring the feed this week! Easy release management: Deploy your .NET apps, services and SQL Server databases in a single, repeatable process with Red Gate’s Deployment Manager. There’s a free Starter edition, so get started now!



© 2013 Scott Hanselman. All rights reserved.
     

Introducing node.js Tools for Visual Studio

$
0
0
node.js and Express running in VS

Just when you thought it couldn't be crazier in Redmond, today they are introducing node.js Tools for Visual Studio!

NTVS runs inside VS2012 or VS2013. Some node.js enthusiasts had forked PTVS and begun some spikes of node tools for VS. At the same time the PTVS team was also working on node.js integration, so they all joined forces and made NTVS a community project. NTVS was developed by the same team that brought you PTVS with help from friends like Bart Read from Red Gate (he did the npm GUI), and Dmitry Tretyakov from Clickberry for several debugger fixes & features.

NTVS is open source from the start, and has taken contributions from the very start. It supports Editing, Intellisense, Profiling, npm, Debugging both locally and remotely (while running the server on Windows/MacOS/Linux), as well publishing to Azure Web Sites and Cloud Service.

It's actually pretty freaking amazing how they did it, so I encourage you to download it and give it a try because some of the stuff (even given this is an alpha) is very very clever.

Blank Express Application

Node.js Tools for Visual Studio takes advantage of V8 Profiling API's as well Visual Studio's Reporting features to give you a sense of where your program is spending its time.

NOTE: See that File | New Project dialog up there? Visual Studio organizes things by language, so node.js is under JavaScript. But you've also got Python and Django, iOS and Android via C#, TypeScript, VB, F#, all in Visual Studio.

One of the things that's impressed me about the way they integrated node.js into Visual Studio was that they didn't try to recreate or re-do things that already worked well. It's node, it runs node.exe, it uses the V8 debugger, it uses the V8 profiler because that's what people use. Duh. But, for example, NTVS can take the output from the V8 profiler and display it using the Visual Studio Profiler Reporting Tools. No need to reinvent the wheel, just use the right tool for the job.

Hacking on the Ghost blogging engine with node.js for Visual Studio

Let's look at an example.

From within Visual Studio, go File New Project, click JavaScript, then "From Existing Node.js code."

From Existing node.js Code

Point NTVS to your Ghost folder.

Create from Existing Code

Then tell node.js for VS that the startup file is index.js, hit Next, save the project file and Finish.

Create New Project from Existing Code

At this point, you've got Ghost inside VS.

Random: that since I have Web Essentials I also get a nice split-screen markdown editor as well.

From here, just hit F5 to Debug, or Ctrl-F5 to start without Debugging. Also notice the properties of the Project in the lower right corner there showing the node path and port as well as the Startup File. You can change these, of course.

Ghost inside Visual Studio with NTVS

Here's me running Ghost locally. You can see the path to node, the ghost.js file and my browser.

Running Ghost in VS with node for VS

You'll get good intellisense for completions and help for method signatures.

Intellisense example

Debugging

Node.js Tools for Visual Studio includes complete support for debugging node apps. This includes support for Stepping, Breakpoints, "Break on exception", as well as Locals, Watch, Immediate and Call Stack tool windows.

You can manage Exceptions just like any other language service. See in the dialog below node.js exceptions are listed along with other exceptions in managed and unmanaged code.

Managing Exceptions in node.js for Visual Studio

The debugging still happens like it always has, with the node V8 debugger, except Visual Studio connects to the debugger over another socket (remember, you can even debug node.js remotely running on a Linux or Mac like this!) and translates how V8 thinks into how Visual Studio thinks about debugging. The experience is seamless.

See in this screenshot, you can see node.exe is being debugged, I'm running Ghost. You can see my Call Stack, and the Locals in the Watch Window. I can inspect variables, step around and do everything you'd want to do when debugging a Web App.

Debugging Session of Ghost in VS with Node Tools for Visual Studio

npmVisual Studio

The npm experience is pretty cool as well. Node.js for Visual Studio is always watching the file system so are more than welcome to run npm from the command line or from within the node immediate window and Visual Studio will see the changes.

You can also use the npm Package Management dialog and search the repository and install packages graphically. It's up to you.

npm package management within VS

Here's a package installing...

Installing a module

The physical node_modules and how modules are handled is pure node...VS doesn't touch it or care. However, the Solution Explorer in Visual Studio also presents a logical view on top of the physical view.

image

NOTE: I really like this. I think it has potential and I'd even like to see references in .NET treated like this. The physical and the logical, along with a dependency tree showing NuGet packages. It helped me understand the project much better.

There's lots more. There's an REPL interactive window, and you can just publish like any other web project using the same Publish Wizard that ASP.NET projects use. You can publish node.js apps directly to Azure as well, either with Git or with Visual Studio publishing.

You can also remotely debug node instances running on other machines by starting node with the included Remote Debugging Proxy.

image

node.exe RemoteDebug.js -machineport 5860 script.js

As mentioned, you can do remote debugging between Visual Studio and node running on any server OS.

Conclusion

I'm personally pretty happy with the way that Visual Studio is turning (in a short amount of time, seems to me) into quite the competent language and environment factory.

Node.js Tools for Visual Studio is entirely open source under the Apache license and they welcome contributions and bug reports. It's Alpha and it's early but it's awesome. Go get it. Big congrats to all involved!


Sponsor: Thanks to Red Gate for sponsoring the feed this week! Easy release management: Deploy your .NET apps, services and SQL Server databases in a single, repeatable process with Red Gate’s Deployment Manager. There’s a free Starter edition, so get started now!

Disclosure: FYI, Red Gate does advertise on this blog, but it was a total coincidence that a Red Gate employee helped with node.js Tools for VS. I just found that out today. They are very nice people.



© 2013 Scott Hanselman. All rights reserved.
     

Human Computer Interaction Diversity - 7 Devices that AREN'T a mouse and keyboard

$
0
0
Mix it up a little...try interacting with your computer with something OTHER than a Mouse and Keyboard
 

One of the most wonderful and least appreciated things about computers is diversity of devices. You're probably interacting with your computer with a keyboard and mouse. But in the last few years, you may have added touch and, to a limited extent, voice.

The photo above is of my desk. Yes, it's messy. On it are the things I use to work with my computer. I use these nearly every day and at least every week or they wouldn't last on my desk.

They are:

and not pictured

I think we all should consider our workflows and consider what devices that aren't a keyboard and mouse that might be better suited for the tasks we perform every day.

Leap Motion

I initially gave this product a 10 for concept and a 0 for execution. I'll give it a 3 now...but it's getting better. It's still not well suited for gross motions, but for browsing and scrolling it's at least becoming useful. I keep it on all the time and since I haven't got a touchscreen on my desktop machine (yet) I use it for scrolling while reading and leaning back. It has huge potential and I'm impressed with how often the software updates itself.

I'm using the Touchless for Windows app. The concept is so promising...wave your hands and your computer reacts. I still don't suggest that the Leap Motion is a consumer quality device, but I do use it weekly and turn to its promise often.

LeapMotion Visualizer

Wacom Tablet

Tablets are the gold standard for interacting with Adobe products like Illustrator and Photoshop. I learned Photoshop on a Tablet many years ago and I still prefer using one today. The Wacom Bamboo also has touch support which is a bonus, although I use my Logitech N650 Touchpad as a trackpad as it's more sensitive (to touch).

If you're trying to draw or paint without a stylus like a Wacom, you're truly missing out. They are surprisingly affordable, too.

Wacom Applet

ShuttlePRO v2

My buddy at Channel 9 Larry Larsen turned me on to the ShuttlePRO for video editing. I don't know what I did without it. It's got program-sensitive programmable keys. That means their function changes depending on what's running. I can mark a key as "Split" or "Play" but the ShuttlePro software will automatically use the right hotkey depending on if I'm using Audition or Premiere. Some nice gent even made settings for Camtasia Studio and the ShuttlePro v2. If you do screencasts or video editing like I do, a shuttle is a must.

ShuttlePro Config

Logitech TouchPad

You can get a Logitech T650 Touchpad for less then $35 if you look around. It's a large, gorgeous class touch area that's also wireless. If you have Logitech products already you can use the Unifying Receiver you may already have. I have as USB hub and it works just fine.

I use it to two-finger scroll, pinch to zoom, and all the things that MacBook touchpad folks take for granted. You can also use it with Windows 8 to "swipe in" and task switch. I move between my mouse and this touch pad to reduce repetition and wrist strain with the mouse, but also sometimes just because I'm in the mood. It's a great Trackpad/Touchpad that can ease the transition if you have trouble moving from a laptop and a desktop.

Logitech Touchpad

Great Webcam and Speaker Phone

I adore the Logitech BCC950 Conference Cam so much that I've written software to remotely control its motorized Pan-Tilt-Zoom functionality and use it as an Auto Answer Kiosk. Not only is it a great web cam that I use every day, but it's also a fantastic speaker phone for conferences. It shows up as just another audio device that you can set as the default for communication but not your default speaker. This means Lync and Skype calls come from this device, but your regular computer audio doesn't. Sound quality is killer, confirmed by everyone I've talked to with it.

image

Aside: There's so much untapped usefulness in just a webcam but most programs just don't use it. Have you seen the Windows 8 "Food and Drink" app? You likely already have this app. It has a Hands-Free mode for cooking. You know when you're using a tablet to show a recipe? It uses just the data from your webcam to see your hand wave to move to the next page. Very cool.

Kinect for Windows

The Kinect SDK was updated last year with support for "Near Mode" which is basically "sitting at your desk mode." This update made programming to the Kinect for Windows a LOT more useful for the desktop. Writing apps is fairly easy, like this example where you can control PowerPoint with your hands. With apps like KinEmote you can use the Kinect to control your XBMC media installation and lots more.

Another little known fact is that the Kinect on a PC has a very nice quality Array Microphone that can also be used for things like Windows Speech Recognition or Dragon Naturally Speaking.

Me on Kinect

There's such a huge diversity of ways to interact with computers and it's truly just starting. In my lifetime I'm sure computers will be able to detect (guess) if I'm sad or happy, notice my health status, great me when I walk up, and so much more.

What  devices do YOU have plugged into your computer right now?


Sponsor: Big thanks to Red Gate for sponsoring the blog this week! Easy release management - Deploy your .NET apps, services and SQL Server databases in a single, repeatable process with Red Gate’s Deployment Manager. There’s a free Starter edition, so get started now!

Disclaimer: My Amazon links are affiliate links and that the resulting few bucks buys me gadgets and tacos. Mostly tacos.



© 2013 Scott Hanselman. All rights reserved.
     

Three all new Windows 8.1 video tutorials - what's new in 8.1, keyboard shortcuts, and managing windows

$
0
0

I'm really happy with the response from my "Windows 8 moved my cheese" YouTube Tutorial. It's helped thousands of people lose their fear of the change that Windows 8 represents. I encourage you to check it out.

I decided to sit down today and create three more short tutorials that all address Windows 8.1. If you find them useful, please share them with your friends, family, and the people on Twitter and Facebook you call your friends. ;)

I've created a single link to a YouTube Playlist that you can share, or watch them below.

Here's the How to use Windows 8.1 YouTube Playlist.

What's new in Windows 8.1?

Using Windows 8 or 8.1 with a Keyboard

Effectively Managing Multiple Full Screen Windows Store Applicatons

The 25 min Windows 8 Missing Instruction Manual (VIDEO)


Sponsor: Big thanks to Red Gate for sponsoring the blog this week!Easy release management - Deploy your .NET apps, services and SQL Server databases in a single, repeatable process with Red Gate’s Deployment Manager. There’s a free Starter edition, so get started now!



© 2013 Scott Hanselman. All rights reserved.
     

Penny Pinching in the Cloud: Automating everything with the Windows Azure Management Libraries and .NET

$
0
0

Even though I work for the Azure and ASP.NET team, I still pay for my own Azure account. Frankly, if I did get free cloud time not only would I likely abuse it, but I also wouldn't be using the cloud in the way it's meant to be used! From my perspective, a good cloud is a cheap cloud. I use CDNs, caching, and focus on a balance of cheap resources and compute that work for me when I need them, and are asleep (and not costing me money) when I don't.

There's things like auto-scale for websites, for example, based on either CPU or a schedule, but the one thing that gets me into trouble (sometimes) is leaving big virtual machines on. I manage most of my Azure assets from the command line, so I can just "azure vm list" to see what's running and I'll see this:

C:\Users\scottha                                                                                      
λ azure vm list
info: Executing command vm list
+ Getting virtual machines
data: Name Status Location DNS Name
data: -------------------- ------------------ -------- -------------------------------
data: VSinTheSky StoppedDeallocated West US vsinthesky.cloudapp.net
data: hanselmandiscourse StoppedDeallocated West US discourse.cloudapp.net
data: hanselmansendy ReadyRole West US sendy.cloudapp.net
data: hanselmanlinuxfarm StoppedDeallocated West US linuxfarm.cloudapp.net
data: hanselmanlinuxfarm-2 StoppedDeallocated West US linuxfarm.cloudapp.net
data: hanselmanlinuxfarm-3 StoppedDeallocated West US linuxfarm.cloudapp.net
data: hanselmanmysql ReadyRole West US mysql.cloudapp.net
info: vm list command OK

If I want to shut one down I can use the command line, the Azure Portal, or even manage VMs within Visual Studio itself:

Managing Azure within Visual Studio

But sometimes I have custom apps to manage Azure resources, perhaps WinForms or WPF apps, MSBuild Tasks, or I want to add cloud management to an existing process. I'll want to not just turn off VMs, but also manage WebSites, create resources, upload things to storage and more.

I just learned from Brady Gaster that there's now Windows Azure Management Libraries for .NET as part of the Azure SDK. Basically this means that you can call the same backend REST APIs that the Azure Portal calls now, except now with a simple wrapper around them that makes it rather a bit easier in .NET.

Brady has a lot of info on his blog about this libraries. Here's some of the best highlights:

  • Supports Portable Class Libraries (PCL)
  • Ships as a set of focused NuGet packages with minimal dependencies to simplify versioning
  • Supports async/await-based task asynchrony (with easy synchronous overloads)
  • Has a shared infrastructure for common error handling, tracing, configuration, and HTTP pipeline manipulation
  • Is factored for easy testability and mocking
  • Is built on top of popular libraries such as HttpClient and Json.NET
  • Is all open source and on GitHub.

They are on NuGet as a group of packages but you can get them separately if you want to just manage VMs, for example. Here's the version I'm using from NuGet. Note it's prerelease as of the date of this writing. https://www.nuget.org/packages/Microsoft.WindowsAzure.Management.Libraries 

png

Azure authentication and authorization is based on X509 Certificates, so you'll use those to initially talk to your Azure instance. You can download your certificates from an authenticated session here and your certificates and subscription id are inside.

I can list out, for example, all my running websites in all their locations (web spaces):

using (var client = new WebSiteManagementClient(creds)) {
var spaces = client.WebSpaces.List();
foreach (var space in spaces) {
Console.WriteLine("Space: {0}", space.Name);

var sites = client.WebSpaces.ListWebSites(space.Name, new WebSiteListParameters{ PropertiesToInclude = { "Name" }});
foreach (var site in sites) {
Console.WriteLine("" + site.Name);
}
}
}

This little app gives me this output:

Space: eastuswebspace
SmallestDotNet
Space: northcentraluswebspace
Hanselminutes
Space: northeuropewebspace
Space: westuswebspace
babysmash
nerddinnerofficial
ratchetandthegeek
speakinghacks
thisdeveloperslife
hanselmanlyncrelay
HanselmanGhost
anglebrackets
lostphonescreen
loggingtest
GetInvolved
keysleft

I can go and update sites, disable (stop) them, make web farms, scale them, create, configure and generally do everything I can from the command line. Very slick. Now I can manage Azure stuff from PowerShell, from .NET, from node and the cross platform command line, Visual Studio, and the Azure Portal.

Go read all about Windows Azure Management Libraries on Brady's blog, get them on NuGet, or read the code and enter issues on GitHub.

if you link your MSDN and Azure accounts and you can get up to $150 a month in Azure credits, so up to two free VMs running all day for a month.

I've done a few posts on "Penny Pinching in the Cloud" that you may enjoy.

Also, I encourage you to check out Azure Friday, a new show I'm doing at http://friday.azure.com. Azure Friday also on iTunes as a downloadable podcast in HD!


Sponsor: Thanks to Aspose for sponsoring the blog feed this week! Aspose.Total for .NET has all the APIs you need to create, manipulate and convert Microsoft Office documents and a host of other file formats in your applications. Curious? Start a free trial today!



© 2013 Scott Hanselman. All rights reserved.
     

Hanselman's Newsletter of Wonderful Things: October 14th, 2013

$
0
0

I have a "whenever I get around to doing it"Newsletter of Wonderful Things. Why a newsletter? I dunno. It seems more personal somehow. Fight me.

You can view all the previous newsletters here. You can sign up here to the Newsletter of Wonderful Things or just wait and get them some weeks later on the blog, which hopefully you have subscribed to. If you're signed up via email, you'll get all the goodness FIRST. I also encourage you to subscribe to my blog. You can also have all my blog posts delivered via email if you like.

Here's the last Newsletter from  October.


Hi Interfriends,

Thanks again for signing up for this experiment. Here's some interesting things I've come upon this week. If you forwarded this (or if it was forwarded to you) a reminder: You can sign up at http://hanselman.com/newsletter and the archive of all previous Newsletters is here.

Remember, you get the newsletter here first. This one will be posted to the blog as an archive in a few weeks.

Scott Hanselman


Sponsor: Thanks to Aspose for sponsoring the blog feed this week! Aspose.Total for .NET has all the APIs you need to create, manipulate and convert Microsoft Office documents and a host of other file formats in your applications. Curious? Start a free trial today!



© 2013 Scott Hanselman. All rights reserved.
     

Fix: External Mouse freezing on Lenovo Laptops with Synaptics TouchPad

$
0
0

I'm just blogging this to make sure I remember it, but also to help others who might need this fix.

I recently noticed that my external Microsoft Arc Touch Mouse would freeze every few minutes. I'd be moving it, then the mouse would just stop. It was extremely annoying. I recently upgraded to Windows 8.1 so my first reaction was to assume that something broke because "stuff is new."

However, I sat down and thought about the problem and noticed that if I moved the TouchPad on my laptop after the external mouse appeared frozen my external mouse would be responsive again. Something was disabling the mouse as I was moving around. I figured it was the Palm Check feature of the laptop's touchpad, meant to disable mice whilst typing fast. Turned out during a recent driver upgrade it was set to Maximum. I turned it down two notches and my mouse freezing problem was solved.

Hit the Windows button and from the Start Screen type "mouse." You want this one, not the "metro" or fullscreen mouse settings.

image

If you have the Lenovo or Synaptics drivers, select the UltraNav tab...

image

Then Settings...then  PalmCheck. Put it a few notches below Maximum.

image

I hope this helps. I'm starting to realize that most all of my frustrations with touchpads and mice on Windows are related to poor defaults and settings in the 3rd party drivers, and now I check those first when I have issues.


Sponsor: Thanks to Aspose for sponsoring the blog feed this week! Aspose.Total for .NET has all the APIs you need to create, manipulate and convert Microsoft Office documents and a host of other file formats in your applications. Curious? Start a free trial today!



© 2013 Scott Hanselman. All rights reserved.
     

Scott Hanselman's 2014 Ultimate Developer and Power Users Tool List for Windows

$
0
0

Everyone collects utilities, and most folks have a list of a few that they feel are indispensable.  Here's mine.  Each has a distinct purpose, and I probably touch each at least a few times a week.  For me, "util" means utilitarian and it means don't clutter my tray.  If it saves me time, and seamlessly integrates with my life, it's the bomb. Many/most are free some aren't. Those that aren't free are very likely worth your 30-day trial, and very likely worth your money.

This is the Updated for 2014 Version of my 2003, 2005, 2006, 2007, 2009 and 2011 List, and currently subsumes all my other lists. I’ve been doing this for a decade! 

These are all well loved and oft-used utilities.  I wouldn't recommend them if I didn't use them constantly. Things on this list are here because I dig them. No one paid money to be on this list and no money is accepted to be on this list.

Personal Plug: If this list is the first time you and I have met, you should subscribe to my blog, and check out my podcasts, and sign up for my newsletter of Wonderful Things.

Please Link to http://hanselman.com/tools when referencing the latest Hanselman Ultimate Tools List. Feel free to get involved here in the comments, post corrections, or suggestions for future submissions. I very likely made mistakes, and probably forgot a few utilities that I use often. New Entries to the 2014 Ultimate Tools are in red. There are dozens of additions and many updated and corrected entries and fixed links.

NOTE: Please don't reproduce this in its entirety, I'd rather you link to http://hanselman.com/tools. I appreciate your enthusiasm, but posts like this take a lot of work on my part and I'd appreciate that work staying where it is and linked to, rather than being copy/pasted around the 'net. If you're reading this content and you're not at http://hanselman.com, perhaps you'd like to join us at the original URL?

THE BIG TEN LIFE AND WORK-CHANGING UTILITIES

"Productivity is being able to do things that you were never able to do before." - Franz Kafka

  • Chocolatey– It’s a weird name, but it’s apt-get for Windows and once you start using it, you’ll be hooked. I tend to use it by default, even before Googling, to install stuff. For example, just today I went 'cinst filezilla' and 'cinst winscp' and was correct on both assumptions. Consider a "favoriteutils" batch file for building new machines and you'll be off and running in no time. Even better, use...
    • Boxstarter - Build on top of Chocolatey and NuGet and create complete Windows environments and push them to your machines with Gists from your friends or your own GitHub. Even deploy to remote machines or Hyper-V with 100% unattended installs.
  • TeraCopy - While I use the excellent built in copy features of Windows 8.1 the most, when I want to move a LOT of files as FAST as possible, nothing beats TeraCopy, an app that does just that - move stuff fast.
  • NimbleText - Regular Expressions are hard and I'm not very smart. NimbleText lets me do crazy stuff with large amounts of text without it hurting so much.
  • GOW Gnu on Windows - Sometimes Cygwin is just overkill. Gow is 130 useful *nix command line utilities recompiled as native Win32 binaries.
  • F.lux - I admit, I thought this was stupid when I started using it. It took a few days, but now, given that I have 3 large monitors, I can't live without it. It slowly, imperceptibly, changes the color temperature of your monitor's color as the sky itself changes. It prevents (for me) headaches and eyestrain from running bright blue and white monitors late at night. Love it. Try it.
  • AutoHotKey - This little gem is bananas. It's a tiny, amazingly fast free open-source utility for Windows. It lets you automate everything from keystrokes to mice. Programming for non-programmers. It's a complete automation system for Windows without the frustration of VBScript. This is the Windows equivalent of AppleScript for Windows. (That's a very good thing.)
    • Make sure you get the "AuftoCorrect for English" script on the Other Download page. It's got 4700 common English Misspellings. It gives you autocorrect everywhere in Windows. Every program, always. It's just the tip of theiceberg.
    • Note that Window Pad - a great util on its own - is actually written in AutoHotKey. Amazing!
  • Paint.NET- The Paint Program that Microsoft forgot, written in .NET. It's 80% of Photoshop and it's free. Paint.NET is also still actively being developed and version 4 is well on its way
  • 7-Zip - It's over and 7zip won. Time to get on board. The 7z format is fast becoming the compression format that choosey hardcore users choose. You'll typically get between 2% and 10% better compression than ZIP. This app integrates into Windows Explorer nicely and opens basically EVERYTHING you could ever want to open from TARs to ISOs, from RARs to CABs.
  • DropBox - There's so many great cloud storage systems today. SkyDrive, DropBox, Google Drive, and others. I keep coming back to DropBox though. It's on every platform I want it on. It works great with large stores (mine is over 60gigs) and also allows selective sync for small amounts of data in just certain folders. Ultimately, though, get yourself some cloud storage because when you stuff is just "there", life is better.
  • Windows Live Writer - If you've got a blog (and if not, why not?) then this is THE app. They've also got a great plugin community. It's the second app I install. It may be done, but it's not dead.

EXCELLENT WINDOWS 8 and 8.1 STUFF YOU HAVE BUT DIDN'T KNOW.

"If you don't pay appropriate attention to what has your attention, it will take more of your attention than it deserves. " - David Allen

Now that I've upgraded to Windows 8.1 on all my machines, I really like it. Take a few minutes and learn the hot keys and you'll be flying. I went and created a series of YouTube videos to train folks on how to use Windows 8 and 8.1 effectively. Check them out! Even if Windows 8 moved your cheese, you can find it again.

It's also worth pointing out that on Windows 8 and 8.1 that you don't actually NEED a lot of utilities anymore. There's an antivirus, a firewall, partition manager, ISO file mounter, a cleanup app, an app startup manager, multiple monitor taskbars, and even virtual machine creation, all built in.

Here's a list of the best stuff that you already have but maybe didn't realize.

  • Disk Cleanup - It's improved, built-in and  much easier to find free space in Windows
  • Reliability History - In the Windows 8 Start screen, type reliability, click Settings, and then select View Reliability History. You'll get a fantastic view into how your machine is running, what works and what doesn't. Often I'll find that it's a specific or driver that's causing my troubles, rather than Windows itself. This is a great unused tool for getting to the bottom of reliability issues.
  • Display Calibration - Another app I once had to install, now built-in. Type calibrate from Start, and get all your monitors' colors correct and clear. Crucial for those who work on the web or in PhotoShop.
  • Problem Steps Recorder - This gem was also in Windows 7. I often have my Mom use it to show me bugs or issues she runs into.
  • Hyper-V Virtual Machines - Windows 8 Pro includes Virtual Machines out of the box. Search for Features and Add "Hyper-V" to get a complete hypervisor that can run Ubuntu or older versions of Windows at near full-speed.
    • NOTE: Your processor needs SLAT to use Hyper-V
  • Task Scheduler - An oldie, to be sure, but one even I forget I have. If you have to do something often, scheduled it. From the Start screen type "Task."
  • Memory Diagnostic -  Concerned about bad RAM? Type "memory" as Windows now has a built-in diagnostic tool!
  • Resource Monitor - Type "Resource" from Start and get deep info into what Windows is doing, even beyond what Task Manager tells you. I use this to find rogue services.
  • File History - It's like Time Machine. I've got File History backing up my files hourly. More than once this has saved me when I needed a file off my desktop...that was deleted last month.
  • Storage Spaces makes a giant drive out of a bunch drives. I actually copy my File History to a number of drives added into a Storage Pool with Storage Spaces. All built in.
  • OblyTile - This quirky little app exists for one reason: to make prettier Tiles for your Windows 8 Start Screen to replace the ugly ones your regular desktop apps make. You can also pin Folders, commands like Shutdown, and generally make your Start Screen lovelier than it is now.

WINDOWS 8 STORE APPS

"If you spend too much time thinking about a thing, you’ll never get it done." - Bruce Lee

The store is growing and there's a number of store apps I use all the time.

  • OneNote- While not as good as the desktop app, I run them both as I have a touchscreen. It's even better if you have a stylus.
  • Google for Windows 8 - The Google apps is effectively a wrapper around Google's web properties, but its voice recognition technology is absolutely brilliant. It's worth installing just to ask questions like "How old is Oprah?"
  • Screen shot 1Bing Translator - The Bing Translator is deceptively deep. It supports dozens of languages and even supports offline translation! It'll also read the translation to you, allowing you and a guest to have a chat in two languages, switching back and forth. The most amazing part is the camera translation. Just point your webcam at some words and Bing will overlay the translation on the image itself.
  • Comixology - I am a HUGE fan of Digital Comics. Guided View is a great way to enjoy comics on your laptop or tablet, and I hope Comixology continues to develop this fantastic app.
  • Fresh Paint - Definitely a showcase/showoff app, but also incredibly deep and broad it its support for the tools artists need. The color mixing is amazing. You can paint with your mouse, finger, or stylus. Awesome for a pro, or just for the kids.
  • Movie Moments - A great little app for making 60 second movies with captions, effects, add music, etc.
  • TuneIn Radio - Lets you listen to the radio in the background while you work.
  • TimeManage.me- The best Pomodoro timer in the Windows 8 store. Simple and does it well.
  • Modern Delicious - I've long managed all my bookmarks in the cloud with the Delicious bookmarking services. This great Windows 8 app adds Delicious support to modern apps AND supports the Share Charm, so I can Share links directly to Delicious from modern IE...or any app!
  • Music Maker Jam - Really deep music creation app that lets you jam and export to MP3.
  • Mint Finance Manager - Takes everything that's great about the Mint finance service and adds a brilliant UX and a Live Tile. Love it.

A (.NET) DEVELOPER'S LIFE

"Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law." - Douglas Hofstadter

  • PowerShell - The full power of .NET, WMI and COM all from a command line. PowerShell has a steep learning curve, much like the tango, but oh, my, when you really start dancing...woof. I also use PowerShell Prompt Here. It's built into Windows 7, by the way.

    • I also recommend after installing PowerShell that you immediately go get PowerTab to enable amazing "ANSI-art" style command-line tab completion.
    • Next, go get thePowerShell Community Extensions to add dozens of useful commands to PowerShell.
    • Want a more advanced GUI for PowerShell? Get the free PowerGUI.
  • LINQPad- Interactively query your databases with LINQ with this tool from Joseph Albahari. A fantastic learning tool for those who are just getting into LINQ or for those who want a code snippet IDE to execute any C# or VB expression. Free and wonderful. There's a whole list of LINQ related tools on Jim Wooley's site as well.
  • MarkdownPad 2 - For the longest time there were only attempts at a good Markdown editor on Windows. Now there's an awesome one and it puts others to shame. Get MarkdownPad 2, it's lovely.
  • Microsoft Web Platform Installer - When I need to take a machine from fresh install to developer machine quickly, I start at http://www.microsoft.com/web/ and use the Platform Installer to get SQL Express, Visual Studio Express and several dozen other applications installed fast. It's also nice in that it'll setup PHP and ASP.NET open source applications easily. ;
  • webessentialsWeb Essentials for Visual Studio - So essential, in fact, that Web Essentials is our official/unofficial "ASP.NET Web Tools Labs" where Mads Kristensen and friends put all their crazy ideas for future version of Visual Studio. The best features graduate into the released product! And it's open source!
  • GitHub for Windows - Truly one of the best WPF apps out there, and it's not just for GitHub, it's a great Git client in its own right. Pro Tip: Press ~ while you're browsing within a repo to get a PowerShell console with PoshGit preconfigured! Awesome.
    • Also of note is SourceTree, it supports not only Git but also Mercurial and is very clean. Talks to any remote Git or HG service.
  • JetBrains dotPeek .NET decompiler - The original .NET Reflector is no longer free, but JetBrains dotPeek is. Dig into the internals of any .NET assembly from .NET 1.0 to .NET 4 and beyond.
    • Want a Reflector tool but want it to be Open Source? Check out ILSpyfrom the folks that brought you SharpDevelop.
  • TWO WAY TIE:Notepad2 and Sublime Text. The world of text editing has conflated to these two contenders. I use notepad2 for my better notepad, but Sublime fills that space between a full IDE (although it's very close!) and a text editor. Get them both! And make sure you add Sublime's Package Control.
  • CodeRush(and DxCore) - Apparently my enthusiasm for CodeRush has been noticed by a few. It just keeps getting better. However, the best kept secret about CodeRush isn't all the shiny stuff, it's the free Extensibility Engine called DxCore that brings VS.NET plugins to the masses.
    • CodeRush just added a cool new feature in 13.2 called Unit Test Builder that is truly amazing.
  • ReSharper - Whether you're working in large existing codebases or practicing TDD, ReSharper is one of the top Developer Productivity Tools on the market. Give it a try.
  • ZoomIt- You need to present? Make your stuff seen. ZoomIt is so elegant and so fast, it has taken over as my #1 screen magnifier. Do try it, and spend more time with happy audiences and less time dragging a magnified window around. Believe me, I've tried at least ten different magnifiers, and ZoomIt continues to be the best. Even though there's magnification built into Windows 7 via the "Window + Plus" key, I keep ZoomIt around so I can draw on the screen like John Madden.
  • Fiddler - The easy, clean, and powerful debugging proxy for checking out HTTP between here and there. It even supports sniffing SSL traffic.
  • Mite2 - A free desktop-based tool for testing and verification of mobile Web content. A must have for sites that need broad mobile coverage.
  • BrowserStack - Browser Stack is an amazing cloud of virtual machines running dozens of browsers on as many operating system. A fantastic cross-browser testing tool that has optional Visual Studio integration.
  • WinMerge or BeyondCompare - I'm a BeyondCompare person and have purchased it, but WinMerge is getting better and better. It's free, it's open source and it'll compare files and folders and help you merge your conflicted source code files like a champ.
  • Postman - Amazing HTTP and REST client that runs inside Google Chrome. It's TiVo for your Web Service.
  • NirSoft Utilities Collection - Nearly everything NirSoft does is worth looking at. My favorites areMyUninstaller, a replacement for Remove Programs, and WhoIsThisDomain.
    • Also check out ZipInstaller; it installs utilities that don't provide their own installer! It creates icons, puts them in the folder you want and adds an uninstaller.
    • You love to Ctrl-Scroll with your mouse to zoom the size of text, right? Why not use Volumouse to control your system's sound volume with the mouse wheel. Magical.
  • BugShooting - Funny how you don't know if you need an application until you need one. BugShooting is very specific - it takes screenshots, sure, but more importantly it sends them directly into your Bug Tracking system.
  • WinCheat - Not a tool to cheat Windows or in games, WinCheat is like Spy++ in that it lets you dig deep into the internals of the PE format and the Win32 Windowing subsystems. I'm consistently surprised how often I need an app like this.
  • Telerik Code Converter - Website that converts C# to VB and VB to C#.
  • Kaxaml - The original and still the most awesome notepad for XAML, a must for WPF or Silverlight developers.
  • NuGet- If you're using .NET you've gotta be using NuGet. It's Package Management for .NET and it's about time.
    • NuGet Package Explorer - This essential NuGet Explorer installs quickly as a Click Once application and lets you open NuGet Packages, search the NuGet website directly as well as author specs and publish NuGet packages directly from the GUI.
  • MSBuildShellExtension - Really ought to be built in. Right-click on any .NET project and build it directly from Explorer.
  • FireBug - It's a complete x-ray into your browser including HTML, CSS and JavaScript, all live on the page. A must have. It's on the list twice. Go get it.
  • WebDeveloper for FireFox - If you're the last developer to download FireFox, or you're holding off, WebDeveloper is a solid reason to switch to FireFox NOW. It's amazing and has to be used to be believed. It consolidates at least 2 dozens useful functions for those who sling ASP.NET or HTML. And if you're a CSS person, the realtime CSS editing is pretty hot.
  • CodePaste.NET - When you write code, you need to share it.
  • Jabbr- A fresh alternative to IRC.
  • NCrunch - Automated unit testing for .NET. Runs them in parallel and automatically, inserting the results inline inside Visual Studio. Familiar with Continuous Integration? Meet Continuous Testing.
  • Pixie - Simple, cute and portable. It's a color picker.
  • Siren of Shame - If you've got a continuous integration server setup, you really need a way to guilt people that break the build. You need a Siren of Shame.
  • NDepend - This amazing app does dependency analysis on your .NET application and presents the findings as a TreeMap.
  • NCover - The leader in .NET code coverage tools. Deep and broad. Free for students and educational users.
  • Query Express - Wow, a Query Analyzer look-alike that doesn't suck, doesn't need an install, is wicked fast, is free and is only 100k. Pinch me, I'm dreaming. It's 6 years old and I still like it. 
  • PostSharp - Take your code beyond code generation and stay DRY with aspect oriented programming. Inject repetitive code directly into your application with frameworks that cross cut concerns.
  • Help+Manual - There's few good options for creating Help Files on Windows but while Help+Manual does cost money, it's a pretty amazing and complete system.
    • HelpNDoc - Not sure how I missed this one. Free for personal use and greats PDFs, CHMs, and more.
  • TreeTrim or Jeff Atwood's CleanSourcesPlus - Jeff extends on Omar's idea of a quick Explorer utility that lets you right click on any folder with code in it and get your bin,obj,debug,release directories blown away. Jeff's includes configuration options for deleting things like Resharper folders and Source Control bindings. TreeTrim is a similar command-line tool for cleaning up, but on steroids, including a plugin model.
  • Visual Studio Gallery - All the world's extensions to Visual Studio in one place, and ranked by the public. Easy to search and sort.
  • SQL Complete - Adds Intellisense to SQL Server Management Studio and it's free. How can you not like that?
  • FileHelpers - This open source library is the easiest way I've found to get data out of fixed-length or delimited text files and into Sql or Excel.
  • MemProfiler - The amount of information this tool offers is obscene. We used this at my last job to track down a number of funky memory leak
  • HeidiSQL- Complete tiny MySQL and SqlServer management app. Supported by apps.
  • LogParser - Get to know it, as it's a free command-line tool from Microsoft that lets you run SQL queries against a variety of log files and other system data sources, and get the results out to an array of destinations, from SQL tables to CSV files. I dig it and use it to parse my own logs

VISUAL STUDIO ADD-INS

"This one goes to eleven..." - Nigel Tufnel

  • Productivity Power Tools- Two dozen cool new enhancements to Visual Studio. The best features get into the next version of VS. Check out PeekHelp, TimeStampMargin, RecentlyClosedTabs, and LOTS more.
  • Electric Plum iPhone Mobile Simulator - A nice little iOS browsing experience emulator. Saves me time when writing jQuery Mobile sites.
  • Web Essentials - Add Browser Link features, improved CSS editing, color preview, font preview and lots more to Visual Studio with this lightweight and actively developed "playground" extension. Yes, I mentioned it twice.
  • CodeMaid - Deep and powerful open source code cleanup tool that supports not just C# and VB, but also F#, XAML, CSS and much more!
  • OzCode - Formerly BugAid, OzCode takes the concept of a Debug Visualizer to the next level. Visualize forloops and their future, compare expressions, dig deep and compare arrays and much more. Free while in Beta.
  • NuGet Package Manager - NuGet integrates into the References node of the Solution Explorer, enables Package Management and brings PowerShell directy into to Visual Studio.
  • VsVim - Obsessed with the Vim editor but also like Visual Studio? Why not like them both? It's also open source.
  • StyleCop - StyleCop analyzes C# source code to enforce a set of style and consistency rules. It can be run from inside of Visual Studio or integrated into an MSBuild project. Totally useful by yourself or with a team.
    • Use StyleCop.MSBuild to integrate StyleCop into your system's build with NuGet!
  • Code Digger (based on Pex) - Amazing Visual Studio addin that finds edge cases in your code that ordinary unit testing never can.
  • WiX Toolset - Creating setup projects got harder with VS2013 as deployment projects were removed. Consider the Free and Open Source WiX Toolset, recently updated to support 2013! Extremely mature and trusted.
  • Atomineer - The last word in code documentation generation, this tool lets you take unruly code comments across 7 languages and lets you turn it into Qt, JavaDoc, Doxygen, and Documentation XML.

LAUNCHERS

Scott's Note: Personally, I'm all about Windows 8.1 now, so I'm not using a 3rd party launcher any more as I don't see the need. However, here are some stand-outs I've used in the past that you might want to check out.

"Oh, yes, little Bobby Tables, we call him." - http://xkcd.com/327

  • Slickrun - still the sexy favorite, this little floating magic bar keeps me moving fast, launching programs, macros and explorer with its shiny simplicity.
    Tell them I sent you.
    • Also available is an Open Source project called MagicWords (not updated since Feb 07) that looks similar to SlickRun.
  • Martin Plante has created SlimKeys and continues to innovate his a "universal hotkey manager" with a .NET plugin architecture. If you've got ideas or thoughts, visit the slimCODE Forums.
    Have you ever wanted to bind something to Shift-Ctrl-Alt-Window-Q but didn't know how to grab a global hotkey? This will launch programs, watch folders, and find files.
  • Promptu- A new entry into the lauching space, Promptu ups the ante with new features like syncing between computers.
  • Humanized Enso - Unquestionably the smoothest and most interesting user interface of the launchers, Enso pops up as the Caps-Lock key is held down, and performs the command when the key is released. It takes a minute to understand, but it's a very clean UI metaphor. They are now bringing Enso's metaphor to Firefox as "Ubiquity."
  • Colibri - The closest thing so far, IMHO, to Quicksilver on Windows, although this little gem has a slow startup time, it runs fast! It's being actively developed and promises integration with a dozen third party programs. It also formally supports "Portable Mode" for those of you who like to carry your apps around on a USB key.
  • Launchy - Another do it all application, Launchy binds to Alt-Space by default. This app also has the potential to be Quicksilver like if it start including support for stringing together verb-noun combos. It's pretty as hell and totally skinnable (there's TWO Quicksilver skins included!)

STUFF I JUST DIG

"Great googlely moogley!" - Johnny Carson

  • imageCarnac - This wonderful little open source utility shows the hotkey's you're pressing as you press them, showing up as little overlays in the corner. I use it during coding presentations.
  • µTorrent - I say "u-torrent" but I suppose "micro-torrent" is more correct. When you need a BitTorrent Client to download your Legal Torrents or my podcast torrent, there's no better, faster, cleaner or more powerful client out there. Love it.
  • xplorer2 - Norton Commander-like functionality for Windows. It's one better than Explorer. There's 32-bit and 64-bit versions and it supports Windows 7.
  • RescueTime - Are you productive? Are you spending time on what you need to be spending time on? RescueTime keeps track of what you are doing and tells you just that with fantastic reports. Very good stuff if you're trying to GTD and TCB. ;)
  • Total Commander - The original, classic, and still the king, Total Commander is a high-speed, low glitz complete two-pane file manager for Windows. Remember Norton Commander? It's like that.
  • SyncBack - How can you not like a company named 2BrightSparks? There's a Freeware SE version as well. Golden, with a clean crisp configuration UI, I use this tool internally for scheduled backups and syncs between machines within my family network.
  • Listary - A truly amazing and polished search utility that is somewhere between a launcher and a file manager, both but neither. Listary lives next to your major file management apps and makes managing their lists and finding files a breeze. Really something special and worth your download.
  • Tortoise source control for all!
    • TortoiseHG - a Windows shell extension for Mercurial source control.
    • TortoiseSVN - a Windows shell extension for Subversion source control
    • TortoiseGit - What's that? Oh, yes, a Windows shell extension for Git source control. When you just gotta have a GUI and you love tolerate Explorer.
  • Don't like to mix your source control and your Explorer? Then integrate your favorite SCC into Visual Studio!
    • VisualHG - Source Control Plugin for Visual Studio and Mercurial
    • AnkhSVN - Subversion + Visual Studio = Crazy Delicious
    • GitSCC - Git source control tools inside Visual Studio? Linus would be mad, but we're happy!
  • EtherPad is gone but they've put it up a fork at PiratePad - This web-based multi-person interactive notepad has quickly become my #1 tool for brainstorming online with my remote team.
  • TimeSnapper - Tivo for your desktop? Kind of. TimeSnapper can't give you files back, but it'll take a screenshot in the background at user-configurable intervals and let you answer the burning question - What was I doing all day at work? Free and only 80k. Another brilliant idea blatantly stolen off my list of things to do and executed by folks more clever than I. Kudos.
  • IcoFx - There is just no better icon editor for Windows out there. Any input, any output, it's super modern and just works. It does cost money, though.
  • Jing - Jing is a weird little app that is a screenshot app, a screencast app and a sharing app. It's incredibly easy to use and includes a free account at screencast.com for sharing your videos. It keeps pulling me back into it's strange gravity.
  • Chameleon Window Manager - Frankly all the Neosoft tools on this site are amazing, but Window Manager is particularly powerful. It lets you have total control over your windows, what goes where, how they move and resize.
  • WinSnap and Window Clippings - I'm torn between two of the finest screenshot utilities I've ever found. WinSnap has as many (or as few) options as you'd like. Also does wonders with rounded corners and transparency, as does Window Clippings. Both include a 32-bit and 64-bit version, as well as a portable no-install version and WinSnap offers Windows 7 taskbar features. However, Window Clippings also has no install, includes 32 and 64-bit, has a plugin model and is only $18. It's a tough one. I use Window Clippings at least daily, and I use WinSnap a few times a week. Both these apps are worth your download.
    • Shotty - Shotty is another great little screenshot utility with a nicely streamlined workflow. Most importantly, it also does transparent PNGs and respects Aero glass.
  • BabySmash! - OK, I snuck it in. So sue me. It's not a tool, or is it? If you've got an infant and you need to entertain them while you sneak in some coding, it's invaluable. ;)
  • GBridge - I used to use Hamachi as a private VPN system to log into multiple machines across my personal networks but I've recently started preferring GBridge. It gives you VPN, VNC, and file sharing security over Google's GTalk network. Ya, crazy, I know.
  • DarkRoom - When I just want everything to go away so I can think, I don't just want a clean desktop, I want a Dark Room to work in. I love this text editor for getting my thoughts straight. I also use it for more dramatic presentations.
  • Foxit Reader for Windows - Fast as hell. Version 3.1 is even better. This little PDF reader requires no installer and is tiny and fast. Did I mention fast? Good bye, Acrobat. Sorry.
  • StudioStyl.es - This online application will actually dynamically generate a new Visual Studio color theme file for you. Or you can download a hand-built one and make Visual Studio yours.
  • Virtual TI-89 [Emulator]- Sometimes CALC.EXE doesn't cut it, and I want a REAL scientific calculator for Windows, so I emulate the one I used in college. Nerdy? Yes.
  • Visual Studio Wallpapers- A site dedicated to making your desktop pretty with community-submitted Visual Studio wallpapers? What else could you want?
  • VLC Media Player - Screw all other media players. When you just want to watch video. Bam.
  • foobar2000 - Extremely efficient freeware audio player for Windows.
  • FAR File Manager- Norton Commander is back and still in text mode, it's still lightning speed and it's from the makers of RAR File Archiver. I'll race you. I get FAR, you get Explorer. Works great with ConEmu above.
  • Skype - Internet VOIP Calls with better sound than the POTS phone? Free? Conference calls as well? Sign me up.
  • DOSBox - When you're off floating in 64-bit super-Windows-7-Ultimate land, sometimes you forget that there ARE some old programs you can't run anymore now that DOS isn't really there. Enter DOSBox, an x86 DOS Emulator! Whew, now I can play Bard's Tale from 1988 on Windows 7 from 2009.
  • Cygwin - Remind yourself of your roots and give yourself a proper Unix prompt within Windows. However, it's less about the prompt as it is about the wealth of command-line tools you'll gain access to. It's a large system, perhaps too large, but it's very popular and very powerful.
  • SketchFlow or Balsamiq- All good designs started out as sketches, but rather than using paper and pencil, use a UX (User Experience) sketching tool to decide what your application should look like and how it should behave.
    • Others to check out are Pencil for UI prototyping and IxEdit for interaction design without JavaScript.
  • FinePrint - This virtual printer lets you save paper, print booklets, delete pages and graphics, and provides print preview for every application. I love these guys so much it's inappropriate.
  • Fraps - DirectX video capture! Exactly what you need when you want full screen video of a DirectX or OpenGL application.
  • Tor Anonymous Browsing - This tool lets your anonymous your web browsing and publishing. Use it when you're on the road, or staying in a hotel.

LOW-LEVEL UTILITIES

"If you know how to use Process Monitor competently, people of both sexes will immediately find you more attractive." - Scott Hanselman

  • The Ultimate Boot CD and the Ultimate Boot CD for Windows - I've downloaded and saved everything from BootDisk.com, including Win95 and Win98 boot disks and a DOS 6.22 disk. The boot CDs are life-savers and should be taken to all family gatherings where the relatives KNOW you're a computer person. They'll expect you to save their machines before the turkey is served.
    • Hiren's BootCD - More up to date and more hardcore, Hiren's BootCD is essential for saving machines from rootkits and other evil.
    • Darik's Boot and Nuke - When you just need to completely torch a machine and you don't want to use a hammer.
  • WinToBootic - It won't win any beauty contests, but it will make it WAY easier for you to create bootable Windows media!
  • BlueScreenView- Got a Windows crash dump from a blue screen and you really want to know whatreally happened? BlueScreenView almost always can tell you the culprit. SysInternals - I want to call out specifically ProcExp and AutoRuns, but anything Mark and Bryce do is pure gold. ProcExp is a great Taskman replacement and includes the invaluable "Find DLL" feature. It can also highlight any .NET processes. AutoRuns is an amazing aggregated view of any and all things that run at startup on your box.
  • SoX Sound eXchange - I do a lot with audio files and SoX is the swiss army knife of audio utilities.
  • GSpot - If you are Deeply Interested in know what codec that video is using, GSpot will likely be able to tell you more than you could possible care to.
  • Bart's Preinstalled Enviroment (BartPE) - Ever want to just boot quickly off a CD and get some data off an NTFS drive? What about network access? This is a bootdisk you'll keep in your bag all the time. Unfortunately, it's not been updated in a while, but I keep it around anyway.
  • DllFiles- You never know when you might need an old-ass dll.
  • PInvoke.NET - When you've got to call into a system DLL from managed code, at least do it with the help of this wiki that's FULL of the correct DllImport statements.
  • HandBrake - There's dozens of video converters out there but I keep coming back to HandBrake. Great way to make those 8 processor machines work hard.
  • cURL - Throw this in your PATH right away. You never know when you want to issue an HTTP request from the command line. Once you know you can, you'll do it all the time.
  • Snoop- This amazing WPF developer util helps you visually debug your applications at runtime. What's on top of what? Where's that panel? Snoop will help you find out.
  • InspectExe - Explore and diagnose problems with Win32 applications. Display all import and export functions of an executable file, shows function definition for decorated (mangled) function names. Sometimes you just gotta crack it open.
  • DVDDecrypter and other utils -  When you just need to make an archival backup copy of a DVD.
    • PSPVideo9 - Meant for the Playstation Portable, this utility is more useful that you think. It creates MP4 squished video you can use anywhere.
  • WireShark - Used to be called Ethereal, but it's Wireshark. Very free, and very good. Although, I've needed it less and less as I find myself using...
    • ...the Microsoft Network Monitor 3.3- Version 3.x was a fine upgrade to NetMon, overhauling the guts. This is a very full featured sniffer and I've never had a problem with it.
  • Bitvise Tunnelier SSH Client - Lots of folks use Putty to SSH into things, but frankly, it's hard. Bitvise Tunnelier will handle anything you can throw at it.
  • Top 125 Network Security Tools - Every useful network security tool there is in a fantastic list.
  • Process Explorer - The ultimate replacement for TaskManager. Includes the amazing Find DLL feature to find out what processes have your DLL in memory.

WEBSITES AND BOOKMARKLETS

"So why is “Shut down” on the Start menu? When we asked people to shut down their computers, they clicked the Start button. Because, after all, when you want to shut down, you have to start somewhere." - Raymond Chen

  • ExplainShell.com- Genius. Explains how a unix chained-together command works and what does what.
  • JSFiddle - Sometimes you just want to fiddle with JavaScript. Fire up a text editor, IDE or Firebug? Naw, man. Use JSFiddle, load your framework of choice and get to work. HTML, CSS and JavaScript plus your results. Then share with a friend!
  • CSSDeck - Three boxes and online! HTML, CSS, and JavaScript all combined into one of the most creative places on the internet. You'll learn more about CSS here than in any book. 
  • Responsinator - Get a quick idea of what your website would look like on a mobile device or tablet.
  • Bit.ly - All the goodness of TinyUrl with statistics, real-time tracking, accounts and much, much more. If you get a Bit.ly url, add a + to the end of it to see lots of statistics!
  • Markup.io - So smart. Got a webpage to markup? Don't download an app. Use this bookmarklet, mark it up directly in the browser, then share a marked up URL. Magic. Like this.
  • BrowserShots - What's your site look like in MSIE4.0? Opera 9.64? This site will show you.
  • Visibone HTML/JavaScript Reference- These guys make a great physical paper reference, but they also have a great .HTML file you can download for free that has ASCII charts and Color references.  It's a link I keep close by.
  • StackOverflow - Get your questions answered here! If you haven't heard, you better ask someone.
  • SQL Designer - A web-based DHTML/AJAX SQL Entity Relationship Designer that exports .SQL files. Seriously. Drink that in, then visit it.
  • BrowserStack.com - VNC remote into any OS with any browser, even super obscure ones, and test your web app.
  • ViewPure - Watch a YouTube video. Just the video and not the rest of the crap or ads or other videos around it. It's readability for YouTube.
  • Design - Overlay grids, rules, and crosshairs on your Web Site design, using only a bookmarklet.
  • Del.icio.us - A social distributed bookmarks manager. It took me a bit to get into it, but theirBookmarklets that you drag into your Links toolbar won me over. All my bookmarks are here now and I can always find what I need, wherever I am. Very RESTful. I have used this for YEARS.
  • Kuler - A wonderful color scheme chooser for when you aren't a designer but you wish you were.
  • Color Scheme Designer - I'm not a designer and I have no style, but I do know what I like. This site makes it easy to brainstorm, design and tweak a color scheme for your next big project.
  • smtp4dev - I often write apps that fire out emails and notifications. It's great to fire up a little SMTP mail server and have the emails delivered to a local folder. Great for testing and debugging anything that sends mail.
  • HTML5 Boilerplate- A good place to start when you're learning about HTML5 and are ready to create sites that look great and work great everywhere.
  • TypeTester - The very best way to compare up to three different web-typefaces.
    • What the Font? - This website will let you upload an image with a font and it'll guess (usually right) what font it is.
  • 32 Bookmarklets for Web Designers - I use these when I'm DEEP into some thing CSSy and it's tearing me apart.
  • http://www.downforeveryoneorjustme.com/ - Is that Website Down For Everyone Or Just Me? Enough said.
  • QuirksMode - Over 150 pages of details on CSS and JavaScript. When my brain is overflowing with the HTML of it all, I head here.
  • BuiltWith - What was that site BUILT WITH?
  • Google Maps + HousingMaps.com - Google Maps is cool, but Paul Rademacher'sHousingMaps.com is synergy. It was the first great Mashup of Web 2.0 and I keep it around to remind me of what's possible if you keep an idea fresh and simple.
  • ProxySwitcher - Always on the road and switching between client networks? Now switch your proxy servers as fast as you change pants.
  • YouGetSignal - Amazingly helpful collection of online networking tools.
  • XRay - This sleek little bookmarklet lets you quickly see all the CSS attributes attached to any HTML element.
  • The Morning Brew - The website I read every work day that helps me keep up on what's new in .NET.
  • PortableApps.com - Take all your favorite apps with you on a USB key without installing them! All your settings remain. Be sure to get PStart, the handy Portable Apps Launcher for the Tray.
  • JSLint - Just what is sounds like, it's a JavaScript "Lint" tool that will tidy up your JavaScript and also tell you why your code sucks.
    • There's also JSHint which is a prettier than JSLint.

TOOLS FOR BLOGGERS AND THOSE WHO READ BLOGS

"You can do anything, but not everything." - David Allen

  • Google Reader is dead. Some folks think RSS aggregators are slowly dying, but I think there's lots of alternatives.
    • Feedly - Feedly is the prettiest and most polished of the new feed readers. Great mobile apps and a fast web client.
    • NewsBlur - Fast and written by a one-man shop, but with support on lots of platforms and an actively developed web client. 
    • The Old Reader - This one is the most "Google Reader faithful" reader. If you just want Reader back, try The Old Reader.
  • Many folks still read with a Windows app like...
  • PNGGauntlet and PNGOut - If you've got PNGs, don't put them online without compressing them first! This is SO important to bloggers that care about their user's experiences.
  • InstaPaper - InstaPaper and it's "ReadLater" functionality is absolutely essential for dealing with the large amounts of information that bloggers come across. Read anything on the web on your time on anydevice. I use InstaPaper daily.
  • FeedValidator - If your RSS/Atom feed doesn't pass FeedValidator's tests, it's crap. Seriously. Crap.
  • IFTTT (IfThisThenThat) - A social workflow manager that lets you combine everything on the web with everything else. IFTTT is now an essential tool in everything I do on the social web.
  • OneNotewith cloud syncing and OneNote for iPhone - I recently switched off of EverNote and over to OneNote when the OneNote iPhone app came out. That means I can use all my Office apps with OneNote, sync them to the cloud and they are already on my iPhone. I can also edit my cloud notes athttp://docs.live.com on machines that don't have OneNote.
    • Evernote and RememberTheMilk - These two apps manage notes and todos and they do it in an elegant and cross platform way. Evernote works on the Mac, Windows, iPhone, Palm Pre, Windows Mobile and BlackBerry and your notes live in the cloud. Remember The Milk is your todos any way you like them, from Google Calendar, Twitter, BlackBerry and Bookmarklets.
  • Windows Live Writer - The ultimate offline Blog Post tool. It has an easy SDK. If you don't like it, change it.
  • CallBurner - If you blog, you may also podcast. CallBurner is a great way to record your Skype calls. Lots of options and creates both stereo MP3s as well as a WAV file for each side of the call. Their Video versionVodBurner will record video as well.

CHROME ADD-INS/EXTENSIONS

"Tomorrow is 11/11/11, not 11/11/11. Bloody Americans." - Laurentme0w

THINGS WINDOWS FORGOT

"I didn't know anything about this. So I called up some folks at Microsoft, and apparently we make a lot of different image editors." - Steve Balmer

  • Ditto - It's TiVo for your Windows Clipboard. Open source work well with any clipboard format.
    • ClipX - "ClipX is a tiny clipboard history manager. It is sweet, it is free, use it."
  • Cmderand ConEmu- I've long been on a quest for a prettier Windows Console. I think that the Cmder-modified distro that includes ConEmu is as close as Windows has got. Recommended.
    • Do note that Cmder includes ConEmu and the amazing Clink utility that brings Bash Readline style command-line editing to Windows' CMD.EXE.
  • ImgBurn - Well, yes and no. Windows 7 includes an ISO burning app, but ImgBurn has the right balance of clean interface and piles of technical information. I like to know exact what's happening when I burn a disk and Free ImgBurn is a joy to use. Don't let their website freak you out. It's THE burning app to get.
  • WiFi Manager command line - It's easy to connect to WiFi but often hard to delete those auto-connect open hotspot profiles in Windows. Now you can do it all from the command line.
  • VoidTools Everything Search Engine -  Sometimes you just want a text box, a 300k application and you want to Search Everything. This tiny utility makes it super easy to search your entire hard drive (all of them actually) instantly. You can Google the whole internet with Bing in a second, why shouldn't you be able to do the same with your hard drive. Best part is that it works on any version of Windows, even Windows 2000.
  • SoundSwitcher - If you've got a lot of sound profiles, headphones, bluetooth and more, you'll appreciate this little util that streamlines switching and toggling sound devices.
  • Recuva - This will save your butt the next time you delete a photo from a memory card. Nice undelete util.
  • PureText - Ever wish Ctrl-V didn't suck? And when I say "suck" I mean, wouldn't you rather spend less of your live in Edit|Paste Special? PureText pastes plain text, purely, plainly. Free and glorious. Thanks Steve Miller
  • Paint.NET- The Paint Program that Microsoft forgot, written in .NET. If you like to live on the edge, go get the Paint.NET 3.5 Alpha build with enhanced Windows 7 features.
  • DoPDF - Want to print to a virtual printer and have a PDF pop out? Bam.
  • Wim2VHD - This is REALLY advanced stuff and Windows didn't really "forget" it as it didn't include it out of the box. If you want to make a bootable and "sys-prepped" Windows 7 Virtual Machine from your Windows 7 DVD media, this is the script for you.
  • TrueCrypt- I love that this is free. Create a file or partition and encrypt the heck out of it. You can even encrypt a secret drive that'll have "decoy" documents that you can give the bad guys when they torture the password out of you. Prepare your getaway drive now.
  • BareGrep and BareTail - Really everything these guys do is worth your time. There's lots of ways to get this functionality, including the GNU Utils for Windows and BareTail. The point is, it should have been included! A "tail -f" for Windows.  Great if you work with programs that write to log files and you want to watch the log as it's being written.  Also has keyword highlighting so you can see things get visually flagged as they go by. Also, who doesn't want to Grep? These haven't changed since 2006 but they still work great.
  • LockHunter - Can't delete a file? Who has it open? Thanks Windows for NOT telling me. Unlock will, though.  
  • PassPack or KeePass- If you have a crapload of secrets and passwords and you'd like to keep them as such, take a look at these two utils. PassPack is largely online while KeePass is totally offline. KeePass is free and open source with a very clean and very powerful interface.
    • I've recently switched to 1Password for my primary password manager. It syncs great and runs anywhere.
  • TreeSize Free - This one may be the new app I use the most. It may be the best and clearest space finder today. The Pro version does even deeper analysis.
    • DiskView- The most powerful disk usage program I've found, DiskView integrates nicely with Explorer and includes SMART disk health statistics.
    • SequoiaView - A fast Treemap of your disk usage. The original.
    • WinDirStat - There's a lot of Disk Visualization Tools out there, but this one just seems to tell me exactly what I need to know and it can be run without installation.
    • OverDisk - This one's stuck at version 0.11b but it's still worth a download. It's a pie chart view of your disk space usage. It runs really slow - takes forever, really - however, it's worth the wait.
  • Prish Image Resizer - Yes, you heard me right, son. That means Right-Click an image in Explorer and freaking RESIZE IT BABY. Lovely. Reliable. Wife loves it. Works in 32-bit and 64-bit. Why is this not part of Windows 7?
    • NOTE: Try to get the Direct Download to Prish, and not the evil CNET Adware stuff.
  • Synergy - A virtual KVM. Share your mouse and keyboard between multiple computers on your desk, even if those computers run all different operating systems. Free and open source.
  • BgInfo from SysInternals - If you log into a lot of boxes remotely and always wonder, where the hell is this? This wallpaper tool creates custom wallpapers with all the information you'd need, like IP Address, Box Name, Disk Space, and it's totally configurable.
  • SmartFtp - Say what you like, but I've tried them all, and SmartFtp is flat-out the best FTP app out there for Windows. And they get a +1 charisma for having a 64-bit version. Also works nicely in Windows 8.1.
  • SharpKeys - Do you want your Right-CTRL key to map to the Windows Key? I do. Why can't I do it with Windows' Control Panel? Because Windows forgot. Thankfully Randy didn't. Remap any key in Windows.
  • PC De-Crapifier - So you just bought a Dell for $300 and it has a $4000 value worth of Crapware. Get ride of that poo with the De-Crapifier.
  • Magical Jelly Bean KeyFinder- Misplace your Windows and Office Product Keys?  Find them with this.
  • KatMouse - Wish you could scroll windows without changing focus to that Window? Katmouse lets you scroll just by moving the mouse over the window...no need to click before wheel-scrolling.
  • Bulk Rename Utility - A graphical and incredible versatile way to rename large numbers of files using a myriad of patterns. Invaluable.
  • PSTools from SysInternals- All the command-line tools that Windows forgot...kill, loggedon, remote exec, shutdown, getsid, etc.
  • Terminals- An Open Source multi-tabbed Remote Desktop client. Simple and useful. Freshly updated!
    • RoyalTS - If all you do all day long is remote into machines, then RoyalTS is the app you've always wanted. It's Outlook for Terminal Services. I'm not sure if that's a thing but it sounds impressive. RoyalTS is amazing.
  • TouchCursor - If you move the cursor a lot, but you don't like moving your hands, why not make I,J,K,L (where you right hand is already) move the cursor? I'm not sure it's worth $20, but it works exactly as advertised.
  • Synchronex - A file synchronizer, sure, but not just any file synchronizer, this one supports local, UNC, FTP, SFTP, WebDAV, ZIP and versioning. And only $20. Oy. I use it for backing up my blog on a schedule. An obtuse scripting format, more complex than SyncBack SE, but more detail oriented and powerful. Once you set it and forget it, IJW (It Just Works.) Brilliant and bananas.

Contents Copyright © 2003-2014 Scott Hanselman - Please link, don't copy and reblog this list...hyperlinks to are most welcome. Also follow me on Twitter.

TAX DEDUCTIBLE DONATIONS: If you enjoyed this post, or this blog, please make a secure tax-deductible donation directly to the American Diabetes Association. Please read my personal story about life as a diabetic and donate today. ALL PROCEEDS will go to Diabetes Research.



© 2013 Scott Hanselman. All rights reserved.
     

How to run old but awesome games from the 90s on your new computer with DOSBox

$
0
0
Star Trek: Judgment Rites
 

Star Trek: Judgment RitesI was over at my parents' house for the Christmas Holiday and my mom pulled out a bunch of old discs and software from 20+ years ago. One gaame was "Star Trek: Judgment Rites" from 1995. I had the CD-ROM Collector's edition with all the audio from the original actors, not just the floppy version with subtitles. It's a MASSIVE 23 megabytes of content!

You can run Star Trek: Judgment Rites on Windows XP, but on newer operating systems that don't include DOS in the original way. Windows is no longer layered on top of DOS, although it can run some DOS apps with a virtual DOS machine (NTVDM) games rarely work. Remember things like running a Sound Blaster on DMA 220 and IRQ5? Well, none of that exists anymore.

Enter DOSBox, a very complete x86 PC emulator that runs an amazing number of old games. It's likely that every old DOS game you have lying around will work great under DOSBox with a little tweaking. In fact, it'll be harder for you to get the games off floppy disks than it will to get them running.

I saw that Star Trek: Judgment Rites works great on DOSBox. There's just a few slightly non-obvious things to do to get it running (unless you read the manual. ;) )

After you install DOSBox, you'll note that there's a .conf ini file associated with your it. You can have a different .conf file for each game, then make a desktop shortcut like:

c:\dosbox\dosbox.exe "c:\games\youroldgame.exe" -conf c:\games\youroldgame.conf

Disk drives in DOSBox are virtual and you need to "mount" them, so if you want a C drive in your DOS box, you'll need to tell DOSBox which of your directories you want to be the C drive within the Box.

For example, I did this

mount C C:\dosgames

At the very bottom of the .conf file is a section called [autoexec] where you can add likes that will automatically run when DOSBox starts up, just like any autoexec.bat file. I added that mount line and then I always have a C drive within the box.

DOSBox

I can mount old CD-ROMs, like Star Trek, like this:

mount J K:\ -type cdrom

In this line, J is virtual and K: is my actual CD-ROM device with the physical Star Trek CD-ROM.

But messing with CD-ROMs is a hassle, so I used ISO Recorder for Windows, installed it, right-clicked on my drive and created a startrek.iso image file. Then, I changed my mount to

imgmount j c:\dosgames\startrek.iso -t iso

So now my startrek.conf has this at the bottom:

[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
mount c c:\dosbox
c:
imgmount j c:\dosbox\startrek.iso -t iso

After running DOSBox with these disks mounted, I installed it using the original installer off the CD-ROM.

Sound Blaster!

Now, I have a 30" monitor, and this little 320x240 game looks WAY too small. Also, it runs in a window, and I'd like it to run Full Screen and scale. I made these changes in my .conf file.

These are just the lines I changed to get the effect I wanted. The actual .conf is very large and has lots of options.

[sdl]
fullscreen=true
fullresolution=2560x1600
output=overlay

[render]
aspect=true
scaler=normal3x

[cpu]
core=auto
cputype=auto
cycles=fixed 12000

DOSBox is a great way to introduce your kids to older games that you have fond memories of. It's also a great way to get kids playing (what I believe to be) better and higher quality games that make you think and work at a different pace. If you haven't used it before, check it out at http://www.dosbox.com.



© 2013 Scott Hanselman. All rights reserved.
     

A Coder, a Programmer, a Hacker, a Developer, and a Computer Scientist walk into a Venn Diagram

$
0
0
Learning to code and shopping at Ikea

A friend recently said: "I want to learn how to code. How and where do I start?"

I want to learn how to code - Do I go to Ikea or grow my own tree?

It's like woodworking. You can START by growing a tree, then chopping it down and finishing it, sanding it, before you make a table. Or you can go to Ikea. More likely you'll try something in between.

Modifying a WordPress theme is going to Ikea. Writing you own web framework is growing a tree first because you don't like the existing trees. You have to decide where on the spectrum you want to be, from being a custom furniture maker from the Woodright's Shop or someone who assembles prefabricated pieces made by someone else.

Ok, where do I start?

Very cool. I'm always happy when folks want to learn to code. The Facebook thread continued with the usual suggestions:

Then the more interesting questions started to get to the root of the matter.

Coder Developer Hacker Programmer Venn

What's the difference between a Coder, a Hacker, a Programmer, a Developer, and a Computer Scientist?

These words might all mean the same thing to you. Perhaps you hear geek, nerd, and dweeb, but we all know these have very important differences. Knowing the differences also can give you a sense of how deep you want to go on your coding adventure.

  • Coders - Can pretty much figure out it. It'll work, but it won't be pretty.
  • Hackers - usually low level folks, skillful, with detailed understanding of some area deeply, often scarily deeply.
  • Programmer - Write code and understand algorithms. Often work alone and well.
  • Developer - Are the best generalists, can use lots of different systems and languages and get them to talk to each other. Are true and broad professionals, work with people, and communicate well.
  • Computer Scientist - Need to be able to prove how computers work, at a theoretical level. Are usually math people also.

If you are closer to one of these already you can get an idea of which direction to head.

Are we assuming web programming?

Everyone on the thread assumed some kind of web programming, which makes sense, since nearly everyone's on the web in 2013. However, just a few years ago we might have sat our friend down and made a Hello World app at the console, or perhaps loaded up Visual Basic, dragged a button, and MessageBox'ed Hello World.

Is Markup Code? Lots of people said "learn HTML and CSS," but I don't think that's coding in the classical sense. As a gateway to JavaScript and Web Services, I think it's a good place to start. The thing is, though, that while not every app is a web application that makes HTML in a browser, most applications are connected applications in some way. Apps consume data from services, send notifications, texts, emails and tweets. Nearly every application is distributed in some way, even if it's just a simple app that calls a web server for some data.

If you want to be a coder today, or, let me go further and say if you want to be an effective coder, you will want understand the web and what really happens when you type twitter.com in your web browser. Just like you should understand how trees grow if you want to be a carpenter, how engines work if you want to be a race car driver, or where the water comes from if you want to be a plumber. Heck, you should really understand all of these things if you want to be an effective human. ;)

What do we really mean by "I want to learn to code?"

What's the question under the question? Does she want to make websites? Design them? Does she want to make mobile applications and take them on the go? Does she want to create a gadget that will text her when she leaves the garage door open too long? These are all very different endpoints and there's lots of great ways to get started if we dig in a little.

You can totally jump in to the web, learn a little JavaScript and start making web apps, and you should.  But as with everything, if you've got deeper interest, there are a few different paths to going further. Do a little research into the breadth of possibilities available to you, and you just might try a slightly different path.

Related Links



© 2013 Scott Hanselman. All rights reserved.
     

The new Information Worker Resume or CV Template

$
0
0

Scott Hanselman, Information Worker

Objective

To find a position with a dynamic and progressive technology company that utilizes my leadership abilities and skills deleting email.

Experience

Line Engineer - Gmail - Google

  • Designed and implemented a system wherein two gmail accounts with autoresponders replied to each other in a loop until one achieved sentience.
  • {I have|I've} been {reading|skimming|pretending to read} e-mails {5 years|10 years|decades|please make it stop}, and yours is definitely one of the {best|most interesting|most thoughtfully written}. {It's|It is} brightened my day and compelled me to {schedule a follow-up meeting|create a recurring meeting|create a high priority rule just for you}. {By all means|Please|I humbly beg you}, don't hesitate to e-mail me again, perhaps expanding your to a wider list?

Product Manager - Microsoft Outlook - Microsoft

  • Formulated models to determine team synergies and core competencies based entirely on depth of e-mail threads. This information fed directly into stack ranking calculations at a large unnamed software corporation in the Pacific Northwest
  • Investigated "Predictive Email Deletion" in which a sender's e-mail would be remotely deleted before it was sent.

Junior Project Manager - Yahoo! Mail - Yahoo

  • Worked on the team that pioneered the technique of sending another email after an unsubscribe request.
  • Spearheaded a study group to determine if remote workers could be contacted via e-mail. Was eventually fired as the last remote worker.

Education

Masters Degree in Computer Science

Thesis work on "The Anatomy of a Large-Scale Email Deletion Engine." I set out to prove that one could dramatically increase throughput and productivity through the use of Ctrl-A and Delete in large scale information systems. I successfully proved that information worker productivity scales linearly with e-mail deletion, and as such those with the most email should be in charge.

Bachelors of Science in Software Engineering and Product Management

Explored the psychological efforts on team dynamics of having a project manager with "1000+" in every folder in Microsoft Outlook. Teams of up to 20 people experienced disintegration of cultural barriers and constructive synergies once the first direct manager lost control of their inbox. Cannibalism quickly followed.

Volunteerism

  • Quora For Kids - Board member of non-profit dedicated to teaching kids how to unsubscribe from Quora emails.
  • Community Committee for Email Compliance - Outreach 501c3 with the mission to increase visibility of the laws around having an email signature longer than the email itself.
    • Privileged/Confidential information may be contained in this resume and may be subject to legal privilege. Access to this resume by anyone other than the intended is unauthorized. If you are not the intended recipient (or responsible for delivery of the message to such person), you may not use, copy, distribute or deliver to anyone this resume (or any part of its contents ) or take any action in reliance on it. In such case, you should destroy this message, and notify us immediately. If you have received this resume in error, please notify us immediately by postcard, fax, telegram, courier, or telephone and delete the resume from any computer. If you or your employer does not consent to resumes of this kind, please notify us immediately. All reasonable precautions have been taken to ensure no viruses are present in this resume. As our company cannot accept responsibility for any loss or damage arising from the use of this resume or attachments we recommend that you subject these to your virus checking procedures prior to use. The views, opinions, conclusions and other information expressed in this CV are not given or endorsed by the company unless otherwise indicated by an authorized representative independent of this message.

References

Please send email for references.


Going to SXSW? Come see me at 5pm on March 10th talk about email, productivity, and how to truly stay sane.



© 2013 Scott Hanselman. All rights reserved.
     

Switch easily between VirtualBox and Hyper-V with a BCDEdit boot Entry in Windows 8.1

$
0
0

I've been using GenyMotion for a FAST Android Emulator when developing with Visual Studio and Xamarin. However, I also use Hyper-V when developing for Windows Phone. GenyMotion use VirtualBox, which has it's own Hypervisor and you can't have two.

Some sites say to use Add/Remove Features to turn the Hyper-V support off, but that seems like a big deal to do what should be a small thing.

Instead, from an administrative command prompt I made a copy of my boot menu with a "No Hyper-V" entry:

Note the first command gives you a GUID and you then copy it and use it with the second command.

C:\>bcdedit /copy {current} /d "No Hyper-V"
The entry was successfully copied to {ff-23-113-824e-5c5144ea}.

C:\>bcdedit /set {ff-23-113-824e-5c5144ea} hypervisorlaunchtype off
The operation completed successfully.

Now, this is important. In Windows 8.x, Windows is optimized to startup FAST. And it does. On my Lenovo it starts in about 3 seconds, faster than I can press any buttons to interrupt it. But when I want to dual boot, I need it to really shut down and give me an option to chose this new boot menu.

In order to access the new boot menu, I select Settings (Windows Key + C) then Power, and Restart but hold down shift on the keyboard while clicking Restart with the mouse.

HOLD SHIFT while pressing Restart

You will get this scary looking Blue Screen. Select "Other Operating Systems" and your "No Hyper-V" option is in there.

Windows 8.1 Boot Menu

Selecting No Hyper-V

Now, you can run Virtual Box nicely but still choose Hyper-V when you want. You can confirm VirtualBox works by noting that the Acceleration tab will not be grayed out under System Settings for your VMs. Reboot normally and Hyper-V will be back and ready to go. Here's Android running in VirtualBox via GenyMotion.

Android in an x86 VM in GenyMotion under Virtual Box - Used for Xamarin and Visual Studio Android Development in C#

There's touch support too! If you're not doing Android development like this with Visual Studio and Xamarin, frankly, you're missing out.



© 2013 Scott Hanselman. All rights reserved.
     

Finding a low-memory browser

$
0
0
Three Browsers and their memory usage

I'm testing a 4GB Lenovo Yoga Pro 2 this week and I'm finding I'm running right up against the 4 gigs of RAM in my daily work. I usually have Visual Studio open, a browser, and a few other apps. I have IE, Chrome, and Firefox pinned in my Taskbar and usually work in Chrome. I (this just happened to be) had these tabs open:

  • Outlook.com (work email), Gmail (home email), Twitter.com, TroyHunt.com, StackOverflow.com, ArsTechnica.com, Amazon.com

Here's my task manager showing the Chrome "Canary" processes:

image

And here's the internal Chrome task manager (which is great!) showing what's really happening:

image

Certainly the memory used by my growing collection of Chrome extensions adds up. Some tabs that are "apps" like Gmail and Outlook use a 100megs or more. Regular "pages" (things that aren't heavy JS users) like Troy's blog or ArsTechnical use maybe 10megs.

If I run a small PowerShell script to collect the chrome.exe's and sum their physical memory use:

$m = ps chrome  | measure PM -Sum ; ("Chrome  {0:N2}MB " -f ($m.sum / 1mb))

I get about 1.6 gigs! On a 4 gig machine. Ouch.

C:\> .\memory.ps1
Chrome 1,623.08MB

Virtual Memory is even worse, at 6.3gigs! I start to trim the extension-fat by going to Tools | Extensions and disabling extensions I don't need now. If I'm debugging JSON, for example, I'll turn JSONView back on as needed.

Modifying my script to measure both Virtual and Physical Memory and running again with ALL non-essential plugins turned off.

C:\> .\memory.ps1
Chrome PM 1,151.72MB
Chrome VM 4,056.56MB

Big changes. Clearly the plugin thing can get out of hand quickly and running too many on a low-memory machine is a killer. I got a half-gig of memory back disabling my extraneous extensions.

Let me try the same seven sites in IE11 with no add-ons (extensions) enabled either:

IE      PM 604.11MB
IE VM 1,801.23MB

Nice improvement, less than half the VM and just over 600 megs PM. Now I'll try Firefox "Aurora." Again, same sites, logged in and running in the same state:

Firefox PM 426.58MB
Firefox VM 824.02MB

Nice. Some excellent memory optimization work happening at Mozilla it seems.

Of course, this is just 7 random sites that I happened to be visiting. Here's my poorly written PowerShell script memory.ps1

$m = ps chrome  | measure PM -Sum ; ("Chrome PM {0:N2}MB " -f ($m.sum / 1mb))
$m = ps chrome | measure VM -Sum ; ("Chrome VM {0:N2}MB " -f ($m.sum / 1mb))

$m = ps firefox | measure PM -Sum ; ("Firefox PM {0:N2}MB " -f ($m.sum / 1mb))
$m = ps firefox | measure VM -Sum ; ("Firefox VM {0:N2}MB " -f ($m.sum / 1mb))

$m = ps iexplore| measure PM -Sum ; ("IE PM {0:N2}MB " -f ($m.sum / 1mb))
$m = ps iexplore| measure VM -Sum ; ("IE VM {0:N2}MB " -f ($m.sum / 1mb))

It may be that these browser builds aren't all optimize for memory usage. I don't know. They were/are the ones I have on my machine and the ones I use. Your system, your sites, your browser builds, and your video card will change these results. Measure for yourself.

For me, I need more RAM. 4gigs just isn't reasonable no matter what browser you're running.

UPDATE: A commenter below says my results are flawed as I'm not taking into consideration how shared memory works. I am not sure (yet) I agree. Here is Chrome's about:memory feature. Who can offer thoughts?

image



© 2013 Scott Hanselman. All rights reserved.
     

Living a High-DPI desktop lifestyle can be painful

$
0
0

I've been using this Lenovo Yoga 2 Pro for the last few weeks, and lemme tell you, it's lovely. It's the perfect size, it weighs nothing, touch screen, fast SSD, it's thinner than the X1 Carbon Touch that is my primary machine, and it just feels right.

It also has about the nicest screen I've ever seen on a Windows Laptop.

Except. This thing runs at 3200x1800. That's FOUR of my 1600x900 ThinkPad X1 Carbon Touch screens.

Yes, 3200x1800

To be clear, full screen apps (Windows Store apps) almost universally look great. The text is clear, there's nary a pixel in sight. The whole full-screen Windows Store ecosystem seems to work nicely with high-DPI displays. And that makes sense, as it appears they've put a LOT of thought into high-dpi with Windows 8.1. I've changed a few settings on my 1080p Surface 2 in order to take better advantage of High-DPI and run a more apps simultaneously, in fact.

Also, note the checkbox that lets you set different scaling levels for difference displays, so you can keep your laptop at high-res and an external monitor at another for example.

image

It's the Desktop where I get into trouble. First, let's look at the display at "small fonts."

NOTE: This is NOT the Default setting. The default is smart about the size of your screen and DPI and always tries to get the fonts looking the right size. I've changed the default to 100% to illustrate the massive number of pixels here.

3200x1800 is SO high res, that when you're running it at Small Fonts, well, a picture is worth a million pixels, right? Go ahead, click it, I'll wait. And you will also, it's 3 megs.

Holy Crap that's a lot of Pixels

Many, if not most apps work fine in the High-DPI desktop world. It's a little hard to get the point across in a blog post of screenshots because you, Dear Reader, are going to be reading this on a variety of displays. But I'll try.

Problems happen when applications either totally don't think about High-DPI displays, or more commonly, they kind of think about them.

You can say all this talk of High-DPI is a problem with Windows, but I think it's a problem with the app developers. The documentation is clear on High-DPI and developers need to test, include appropriate resources or don't claim to support high-dpi. I have a number of older Windows apps that look great on this display. They are simply scaled at 2x. Sure, they may be a little blurry (they have been scaled 2x) but they are all 100% useable.

NOTE: There's a very technical session on getting high-dpi to look good in Windows Desktop apps at BUILD. The Video is here.

Here's a few examples that have caused me pain in just the last week, as well as some Good Citizen apps that look great at High-DPI.

Examples of Poor High-DPI behavior

Let's start with Windows Live Writer, one of my favorite apps and the app I'm using to write this post. It almost looks great, presumably because it's a WPF application and WPF is pretty good about DPI things. However, note the pictures. They are exactly half the size of reality. Well, let me be more clear. They are exactly pixel-sized. They are the size they are, rather than scaled to 200%. This has caused me to upload either giant pics or too-small pics because WLW scales text at one size and images at another, within the same document!

image

Adobe everything. I am shocked at how bad Adobe stuff looks on a high-dpi display. Just flip a coin, chances are it's gonna be a mix of small and large. Here's Adobe Reader.

image

Here's the Flash installer.

Screenshot (16)

Here's a great example - Dropbox.

image

Dropbox gets worse the deeper you get into the menus.

image

SQL Server Management Studio is a bad example.

OYhVDR8

Here's an easy fix, just add high-res arrow resources, or draw them with a vector.

BG9hS2W

Examples of Good High-DPI behavior

Visual Studio 2013 looks great. Fonts are well-sized, and while the icons aren't high-res (retina) they still look ok. All the Dialog boxes and menus work as they should.

image

Word 2013 and all of Office look great at High-DPI. They've got great icons, great fonts and generally are awesome.

image

Paint.NET 4.0 Alpha also looks great. There's some scaled icons, but the app is smart and there's pixel perfect editing.

image

GitHub for Windows looks awesome at High-DPI.

image

Do you have any examples of high-DPI frustration on the Desktop? Upload them to ImgUr.com and link to them in the comments!



© 2013 Scott Hanselman. All rights reserved.
     

How to display a QR code in ASP.NET and WPF

$
0
0

qrcode.19303638I've half-jokingly said that there's never a good reason to use a QR Code. However, I'm working on an MVP (minimally viable product) for a small startup with Greg Shackles and we actually have a good reason to use one. We have a mobile device, a Web Site, and a Windows Application, and a QR Code is a pretty quick way to move data between the mobile device and the other applications without the mess of Bluetooth pairing.

As I mentioned, we display the QR code on an ASP.NET website, as well as within a Windows app that happens to be written in WPF. The iPhone app uses C# and Xamarin.

There's a great QR Code library called "ZXing" (Zebra Crossing) with ports in Java and also in C#. The C#/.NET one, ZXing.NET is a really fantastically well put together project with assemblies available for everything from .NET 2 to 4.5, Windows RT, Unity3D, Portable libraries and more. The site is filled with demo clients as well, although we didn't find one for ASP.NET or WPF. No matter, it's all just generating and showing PNGs.

I pulled in ZXing.NET from the NuGet package here, just install-package ZXing.Net.

How to display a QR code in ASP.NET

If you're generating a QR code with ASP.NET MVC, you'll have the page that the code lives on, but then you'll need to decide if you want to make an HTTP Handler that generates the graphic, like:

<img src="http://www.hanselman.com/path/to/httphandlerthatmakesQRcodepng">

or, you could take a different approach like we did, and embed the code in the HTML page itself.

Greg used an HTML Helper to output the entire image tag, including the inlined image, as in:

<img src="data:image/gif;base64,iVBORw0KG..." />            

Images in HTML directly as Data URIs are super fun and I think, often forgotten. If you show one to the average web dev they'll say "oh, ya...I knew about those, but never really used it." In fact, Data URIs have been around for a LONG time. Learn more about them at DataUrl.net.

Here's generating a QR Code within ASP.NET MVC from an HTML Helper:

public static class HtmlHelperExtensions
{
public static IHtmlString GenerateRelayQrCode(this HtmlHelper html, string groupName, int height = 250, int width = 250, int margin = 0)
{
var qrValue = "whatever data you want to put in here";
var barcodeWriter = new BarcodeWriter
{
Format = BarcodeFormat.QR_CODE,
Options = new EncodingOptions
{
Height = height,
Width = width,
Margin = margin
}
};

using (var bitmap = barcodeWriter.Write(qrValue))
using (var stream = new MemoryStream())
{
bitmap.Save(stream, ImageFormat.Gif);

var img = new TagBuilder("img");
img.MergeAttribute("alt", "your alt tag");
img.Attributes.Add("src", String.Format("data:image/gif;base64,{0}",
Convert.ToBase64String(stream.ToArray())));

return MvcHtmlString.Create(img.ToString(TagRenderMode.SelfClosing));
}
}
}

Nice and simple. The BarcodeWriter class within ZXing.NET does the hard work. We don't need to save our QR Code to disk, and because we're doing it inline from our HTML page via this helper, there's no need for a separate call to get the image. Also, the caching policy that we decide to use for the page applies to the image within, simplifying things vs. two calls.

How to display a QR code in WPF

Note: This code here may be wrong. I'm happy to hear your suggestion, Dear Reader, because I'm either missing something completely or there is no clear and clean way to get from a System.Drawing.Bitmap to a System.Windows.Media.imaging.BitmapImage. The little dance here with the saving to a MemoryStream, then moving into a BitmapImage (with the unintuitive but totally required setting of CacheOption as well) just sets off my Spideysense. It can't be right, although it works.

I'll update the post when/if a cleaner way is found.

First, the exact same BarcodeWriter usage from the ZXing.NET library.

var qrcode = new QRCodeWriter();
var qrValue = "your magic here";

var barcodeWriter = new BarcodeWriter
{
Format = BarcodeFormat.QR_CODE,
Options = new EncodingOptions
{
Height = 300,
Width = 300,
Margin = 1
}
};

using (var bitmap = barcodeWriter.Write(qrValue))
using (var stream = new MemoryStream())
{
bitmap.Save(stream, ImageFormat.Png);

BitmapImage bi = new BitmapImage();
bi.BeginInit();
stream.Seek(0, SeekOrigin.Begin);
bi.StreamSource = stream;
bi.CacheOption = BitmapCacheOption.OnLoad;
bi.EndInit();
QRCode.Source = bi; //A WPF Image control
}

Later, writing the Bitmap to a MemoryStream for manipulation, except in this case, we're putting the QR Code into the Source property of a WPF Image Control.


Sponsor: Big thanks to Combit for sponsoring the blog feed this week! Enjoy feature-rich report designing: Discover the reporting tool of choice for thousands of developers. List & Label is an award-winning component with a royalty-free report designer. Free trial!



© 2013 Scott Hanselman. All rights reserved.
     

Hanselman's Newsletter of Wonderful Things: December 17th, 2013

$
0
0

I have a "whenever I get around to doing it" Newsletter of Wonderful Things. Why a newsletter? I dunno. It seems more personal somehow. Fight me.

You can view all the previous newsletters here. You can sign up here to the Newsletter of Wonderful Thingsor just wait and get them some weeks later on the blog, which hopefully you have subscribed to. If you're signed up via email, you'll get all the goodness FIRST. I also encourage you to subscribe to my blog. You can also have all my blog posts delivered via email if you like.

Here's the last Newsletter from December. Subscribers get the new one first. ;)


Hi Interfriends,

Thanks again for signing up for this experiment. Here's some interesting things I've come upon this week. If you forwarded this (or if it was forwarded to you) a reminder: You can sign up at http://hanselman.com/newsletter and the archive of all previous Newsletters is here.

Remember, you get the newsletter here first. This one will be posted to the blog as an archive in a few weeks.

Scott Hanselman

(BTW, since you *love* email you can subscribe to my blog via email here: http://feeds.hanselman.com/ScottHanselman DO IT!)

P.P.S. You know you can forward this to your friends, right?


Sponsor: Big thanks to combitfor sponsoring the blog feed this week! Enjoy feature-rich report designing: Discover the reporting tool of choice for thousands of developers. List & Label is an award-winning component with a royalty-free report designer. Free trial!



© 2014 Scott Hanselman. All rights reserved.
     

Yak Shaving Defined - I'll get that done, as soon as I shave this yak.

$
0
0

Un Yak - by Ludovic Hirlimann, used under Creative Commons http://flic.kr/p/ab5d1NI've used the term Yak Shaving for years. You're probably shaving yaks at work all the time and don't realize it.

The term was coined by Carlin J. Vieri, a Ph.D. at MIT back in 2000.

Yak shaving is what you are doing when you're doing some stupid, fiddly little task that bears no obvious relationship to what you're supposed to be working on, but yet a chain of twelve causal relations links what you're doing to the original meta-task.

Phrased differently, yak shaving is all that stuff that you need to do to solve some problem.

Here's a task. "Hey, Scott, can you deploy that web site?

Ok, do I have access? No, gotta get it. Passwords? Deployment technique? Web Farm? Scaling how? Web framework not configured? Oh, what about the connection string?

"Hey, Scott, is that site deployed yet?"

"No, I'm still shaving this yak."

Yak photo by Ludovic Hirlimann used under Creative Commons


Sponsor: Big thanks to combitfor sponsoring the blog feed this week! Enjoy feature-rich report designing: Discover the reporting tool of choice for thousands of developers. List & Label is an award-winning component with a royalty-free report designer. Free trial!



© 2014 Scott Hanselman. All rights reserved.
     
Viewing all 1148 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>