The internets agree: Visual Studio 2012 is a usability disaster

billy-madison-e1300752649964
“Don’t put it out with your boots, Ted!”

 

Visual Studio is the fundamental tool used to create a good majority of the software for Microsoft’s operating systems, and has been for, well, a very long time. New releases tend to be inexorably linked to new language features or versions. Also typically, each new release has brought new features, and improvements to performance and usability.

With every new release of Visual Studio I have been party to, the upgrade was an improvement. .NET (aka 2003), 2005, 2008, 2010… I upgraded and never looked back (with the exception of the loss of VB6 perhaps… but it really did need to go).

Until Visual Studio 2012.

Maybe Microsoft thought forcing developers to develop in a low-fi tool would encourage good low-fi app design. Maybe they thought we needed a break from being productive. I don’t know.

They have removed WIDELY used features (setup projects anyone?), and dramatically uglified the interface. They have reduced the number of things that get code highlighting, and reduced the number of colors used to highlight. HOW COULD THAT POSSIBLY BE CONSIDERED A GOOD THING?

Go ahead, try searching Google for “Visual Studio 2012 looks”… here is what you will find:

image
(FYI: I’m pretty sure BING is filtering such suggestions – I just checked)

Top suggestions:
“Visual Studio 2012 looks horrible”
“Visual Studio 2012 looks like crap”

Top results?
“Visual Studio 2012 is ugly as hell” (Funny, because it’s a “deferred” Microsoft connect bug
Visual Studio 2012 is so ugly, I actually cried.

 

Does anybody know who is to blame for this? Given the pervasiveness of ugly in all of Microsoft 2012 products (seriously Microsoft, a touch-centric interface on a server operating system? What were you thinking?), you would think there must be somebody high up that deserves a flaming bad of poop…

Let’s just hope he (or she) takes it better than Sasquatch

“History Spam” driving me nuts

Lately I’ve noticed that the back button on my browser seems to not work. I hit back, and nothing happens. So I check the history, and see something like this:

image

A whole bunch of instances of http://view.atdmt.com/ URLs. I’m not sure what advertising company this it, but it is strange that it got me while using YouTube.

I did a quick search, and I’m not the only one bothered by this: http://boards.straightdope.com/sdmb/showthread.php?t=655982

It seriously needs to stop. Advertisers don’t want people blocking ads, but then they do crap like this. I for one have no problem with non-intrusive, relevant ads. I will never click on a popup, or pop-under ad (and I would suggest you do the same)

Microsoft .NET Framework 4.5 final is available; avoid the RC

For some reason searching for .Net 4.5 on  Google brings up the link to the .NET 4.5 Release Candidate download, when the final is available.

You can grab it here: http://www.microsoft.com/en-us/download/details.aspx?id=30653

(I seem to recall this happening back when .NET 4 was released – you would think MS would put a big note that the Final is out, but instead I found it in the “What other’s are downloading” below.

While you’re at it, check out the new features: http://msdn.microsoft.com/en-us/library/ms171868.aspx

Probably my favorite new functionality is the async / await pattern for asynchronous coding. It is so ridiculously much better than the delegate / callback pattern you have NO idea. Seriously, we’re talking an order of magnitude reduction in code complexity.

Locking down a Virtual Machine with BitLocker

BitLocker is Microsoft’s volume encryption solution built into several versions of Windows since Windows Vista. (There is an excellent Open Source alternative in TrueCrypt, but it just has that 3rd party feel to it. That and this particular task is easier with TrueCrypt so you wouldn’t need my help)

Normally, BitLocker use the TPM (i.e. Trusted Platform Module – see Wikipedia) to use your physical hardware as a factor in the encryption key, and leverages the key-toting abilities of the TPM at boot time. So long as your hard drive remains inside your machine it can boot. Take it out, and it’s just a mess of encrypted junk (Although your backup key can still unlock it).

I’m guessing that if you landed here, you are keenly aware of Bitlocker and it’s uses. You may have already tried to use BitLocker on a Virtual Machine and failed. This article is for you. – read on!

Continue reading

Fixing the gigantic header on Twenty Eleven WordPress theme

Out of the box, the 2011 WordPress default theme is very visual… but it also requires a heavy bit of scrolling to reach the content.

Have a look at a sample:

image

That banner image is 1000 x 288 pixels.

The first step I took toward reigning in this space consumption was to use a shorter banner image – mine is 1000 x 170:

hd_header2
(It is a macro photo of the inside of an old 2gb SCSI hard drive)

This helps, but now the banner is about the same height as the white space above.

The first step toward fixing this comes from a blog post here: http://www.throwingabrick.com/wordpress/customizing-twenty-eleven-theme-banner.html

Essentially, you customize the css for the site (which can be done without creating a fullblown child template by clicking the “Edit CSS” link from the Manage Themes page. You then paste this in:

#site-title {
position: absolute;
left: 7.2%;
top: 0.125em;
}
#site-description {
position: absolute;
left: 7.6%;
top: 6.625em;
color:white;
}
#branding #searchform {
background-color:white;
}
}

Note: I modified Roy’s code a little to force the search box to have a white background, and the description text to be white.

You can change the Title text from the Themes Page –> Header.

 

With the applied changes, my header now looks like so:

image

Much shorter.

WinRT – A gift from the past…

Just came across this enlightening blog post while asking Google if Microsoft was going to abandon .NET : http://www.guardian.co.uk/technology/blog/2012/feb/17/winrt-windows-8-microsoft-programming

EDIT I found another developer blog with similar concerns: http://realworldsa.blogspot.com/2011/09/today-microsoft-killed-net-good-bye-wcf.html

I realize I’ve been complaining off and on – sometimes rather dramatically – that Microsoft is making some really terrible decisions of late. The aforementioned article helps at least give an explanation to one of those decisions:

WinRT was developed by the people who write drivers and kernels. Those people are undoubtedly C++ developers who do not consider the .NET dialects “real languages.” Which is really unfortunate, because C++ is about the worst language (short of assembly) for writing maintainable, reliable, testable, or portable code. The only upside is that if you are good at it and spend orders of magnitude more time coding, your code will be more efficient.

Windows 8 Metro apps are meant to work on both desktop and tablet PCs (even though they must be compiled separately for each platform…) Tablet PC will have seriously limited horsepower, and clock cycles equate directly to battery life. So… we go back to using C++, and impose limitations worse than PocketPC to all hardware platforms. (Bad news – C++ is only more efficient if you are good at it) (Also, HTML5/JavaScript is a really bad place to invest significant development effort when literally every new release of web browsers has resulted in breaking changes)

What should have happened is optimization of .NET for efficiency. Not pushing business application developers to become experts in memory management, pointers, references and clock cycles.

 

WinRT seems to be what the developers of Win32 wish they had done back in 1998, rather than a proper evolution of development technologies.

 

(By the way, I’ve said it before but I feel the need to mention again – Metro (aka “Windows Store” aka “Windows-8-UI”) apps can not and will never replace desktop apps. And desktop apps are not and will never be “legacy” despite some people throwing around the term. Certain parties at Microsoft would love to get a 30% cut of all developer profits, so phasing out desktop apps is certainly a bullet point in their PowerPoint, but reality will hopefully keep this at bay)

The stats now: Microsoft is alienating it’s largest user base by forcing a tablet interface onto a PC. They are alienating manufacturers by developing their own hardware and licensing portions of the OS to “chosen” companies. They are alienating mobile users and developers by essentially abandoning Windows Phone 7 and providing no upgrade path. And finally they are alienating the vast majority of developers with massive restrictions and profit cuts.

No Google AdSense for me (UPDATED: and it was my fault)

UPDATE 9/3/2012

After looking things over I found out why I got rejected, and why it happened so quickly: My About and Privacy policy were the default “This is a WordPress page, you can customize etc…” AdSense uses bots to perform an initial analysis of your site looking for “low hanging fruit”. Things like non-updated about pages are a big red flag. I updated my About page, as well as throwing in a standard privacy policy, and viola! I passed the automatic scan within minutes!

Moral of the story: Make sure you have fully configured your blog before applying to AdSense.

 

As an amateur tech blogger (with ADD), I believe my content should be as information-dense as possible. My posts are largely examples, code snippets, links and the occasional rant. If it takes paragraphs to explain, I’m doing it wrong.
Likewise, if I am posting about something that can be easily be found on Google already, I’m not going to waste the time. More on this in a minute…

Like most people with bills to pay (even more so people with spouses), it is always nice to be reimbursed for the things I spend time on. So I decided what the heck – I’ll throw some unobtrusive targeted ads on my page and see if I can’t get a couple bucks a year for my efforts.

I submit my application to Google AdSense, and come morning I have the following in my inbox:

Hello,

Thank you for your interest in Google AdSense. Unfortunately, after
reviewing your application, we’re unable to accept you into AdSense at
this time.

We did not approve your application for the reasons listed below.

Issues:

Insufficient content

———————

Further detail:

Insufficient content: To be considered for AdSense, your site must contain
enough text content for our specialists to review and for our crawlers to
identify relevant ads to show on your pages. We recommend including more
complete sentences and paragraphs on your site. We require websites to be
fully launched and functioning, allowing users to navigate throughout your
site with a menu, sitemap, or appropriate links. Once the majority of your
site is complete and functional, we’ll be happy to reconsider your
application.

———————

Insufficient content. While I’m not the most prolific blogger on the internet, I try to make sure my posts are original, and provide some nugget of information that was otherwise difficult to find. Said nuggets often (if not usually) do not require paragraphs of disposition. In some cases, complete sentences might not be required.

The purpose of this blog is to make the internet less fail. I will of course continue to do so without Google’s support, but it is a bit disappointing to be told my years of effort isn’t relevant.

Free Syslog Server for Windows: tftpd32

I just tried to find a free syslog server for windows and it took far too long to find anything legitimately free, and / or Open Source, and / regularly updated.

Imaging my surprise to find that tftpd32 has a syslog server (that I have used before and completely forgot about…) and it is free and open source. Further imagine my disappointment that it was not the first result when searching for “free syslog server windows.” Hopefully this will help move it up in Google’s results…

You can get it here: http://tftpd32.jounin.net/

 

Despite the name, tftpd32 is available in 32 and 64 bit varieties, and includes (as you might imagine) a tftp server, dhcp, SNTP, Syslog and dns serving capabilities. And it requires no installation – just unzip and run!

 

By default the DHCP, TFTP and syslog servers are enabled (this is the configuration you would want if you were setting up devices like Cisco switches) – I would highly advise turning off the dhcp. Also make sure the correct interface is selected. Set your computer’s IP address as the syslog server, and watch the messages flow:

image