My Thoughts on Sutter’s “C++ and Beyond 2011″

Around a month ago, Herb Sutter gave a talk on why C++ is once more gaining relevance in the world of programming, and how after a decade of neglect and abandonment, it is set to pave the way into the future. I downloaded it a while ago and finally had a chance to watch it last night; the talk itself is most-excellent and is around 40 minutes long, you can stream it online or download it in a higher-resolution format on Channel 9. Or click below to watch:

As someone that’s been using both C/C++ and .NET extensively over the past years, I found there was one very important point that Sutter glanced on, danced around, and did everything short of actually naming in his talk and it’s that if you’re doing anything remotely intricate or complicated, leaky abstractions in managed languages will bite you in the ass, and end up lowering your productivity, some times (and if what you’re working on is truly complicated, often times) to a point where you’d have been more productive using C or C++ in the first place.

The concept of leaky abstractions isn’t anything new and I’m hardly the first to point out how it can turn a knight in shining armor into a harbinger of doom and destruction. It’s the number one problem fundamentally present in almost any framework, but even more so in managed languages where the framework is all you have, and you’re not allowed to side-step it and build your own foundations to work with (p/invoke and interop aside). But lately it’s becoming more and more of a problem as the “push” for innovation that Sutter speaks of has become a fundamental requirement in just about all corners of the industry.

Continue reading

Microsoft plays the blame game fast and loose with Internet Explorer 10 and Windows 8

Yesterday, Microsoft made available the first public beta of Windows 8. The developer preview can be downloaded on the Microsoft website, and has received plenty of media coverage and has been the subject of much scrutiny and review. However, in our testing of Windows 8 for compatibility with NeoSmart software and products, we came across a rather, shall we say, interesting approach that Internet Explorer 10 now takes to its crashes. With Windows 8, as with previous versions, when an application hangs or crashes, an error reporting dialog is displayed prompting the user to select an action to take with the crashed program.

What’s different with Windows 8 and Internet Explorer 10 is that Microsoft chooses to deflect the blame from itself, and pin it instead on the unfortunate owners of the website that the user had last visited. In the following screenshot, Internet Explorer 10 has crashed after being unable to handle some of the web scripting on our website. Except instead of the error dialog you would expect (something to the effect of “Internet Explorer has stopped responding,” an error caption which we are all familiar with and of which the web is full), the error dialog instead reads:

neosmart.net is not responding.

Continue reading

Windows Recovery Discs Updated, Reinstated

Windows Logo

Almost four years ago, NeoSmart Technologies published a Windows Vista repair and recovery CD that could be used to treat common boot issues and recover from catastrophic system failure in case you didn’t have a Windows setup CD handy.

Over the years, we’ve added more recovery CDs to the collection, ending up with a complete portfolio of repair CDs for Windows Vista and Windows 7 in both 32- and 64-bit flavors. We’ve had the good fortune of being able to host these CDs on our site in one form or the other for free download to millions of users around the globe.

Three months ago, we were contacted by the legal department at Microsoft Corporation asking us to discontinue hosting these files. Until this point, we were not aware that Microsoft was displeased with our hosting of the CDs and in fact enjoyed a rather healthy relationship with the Microsoft support forums where victims of PC crashes would be directed to our site to download a copy of the repair CDs.

Since then, we have been in talks and negotiations with the Microsoft legal and licensing divisions, trying to work out a method whereby we could provide our users and visitors with access to these CDs once again. Today we’re excited to announce that these CDs are once more available for download!

Continue reading

Open Source, 100% Compatible ln for Windows (and Junction Point library)

We’ve been huge fans of symlinks for forever, and even posted about Windows Vista’s new mklink commandline utility with quite the passion back in 2006 when the ability to create soft-links from the commandline was first added to Windows.

However, there are a few things that have forever irked us about the ln lookalike called mklink.exe:

  • It’s called mklink and not ln. (I mean, you just get can’t get around that fact)
  • The arguments are switched around. `mklink something_doesnt_exist actual_file` is just…….. wrong!
  • By default, mklink will create softlinks and not hardlinks. ln requires the /h flag to create a hardlink.
  • mklink isn’t smart enough to distinguish between files and folders. You need explicitly tell it via the commandline.
  • Even then, mklink has two different switches depending on the type of directory link you want. /D for softlink’d directories, and /J for hardlink’d directories.
  • mklink can’t be used outside of cmd.exe (such as in PowerShell). (Hat tip: Jason)
  • And, of course,  mklink isn’t open source.

So we made our own.

Continue reading

Updating Flash Player Manually on Chrome for OS X

Recently (late November), Adobe finally got around to releasing an update to Flash Player for OS X that comes with the long-awaited hardware-based rendering of H.264-encoded videos. However, for those of us that use Chrome, there is no way to updated to the latest 10.2 beta of Flash; Chrome uses its own copy of Flash that comes built-in and cannot be externally updated. These steps below will guide you through the process of using Flash Player 10.2 with Google Chrome on OS X:

Continue reading

EasyLDR and EasyBCD 2.0′s New XP Support

At NeoSmart Technologies, we’re not just about making cool software that makes your life easier – we also like to share the how and why behind our work, to make things all the more beneficial for one and all. While the EasyBCD documentation has been out of date for a while now (we’ve been too busy working on the code and support), we’re making a real effort to bring things up to date.

We’d previously finished the tutorials for dual-booting Windows 7 with Windows XP and with Ubuntu 10 (complete with picture-by-picture steps!), but now we’re getting started on the real meat: the technical details of just what exactly is going on behind the scenes. The normal OS boot process is one of the most complicated parts of an operating system with just one OS in the mix – with multiple operating systems, each that works in its own way, things get that much more complicated, and it’s always good to have a nice, illustrated guide to refer to.

Continue reading

EasyBCD 2.0.2 Released

It may have taken us over 2 years to go from 1.7.2 to 2.0, but now that we’re there we have no intention of letting EasyBCD languish. Those of you unfortunate enough to run into a fatal error in EasyBCD may have noticed the presence of a custom error reporting dialog that we now use to keep track of crashes and errors as they occur. As a result of error collection over the past 2 weeks, we’ve released a point update to EasyBCD.

The changes in EasyBCD 2.0.2 correlate to 21 issues in the bug tracker, and can be seen after the jump.

Download EasyBCD 2.0.2 (1343 KiB)

Continue reading

Welcome to EasyBCD 2.0!

Hello and welcome to EasyBCD 2.0!!

It’s rather hard to believe, but EasyBCD 1.7.2 has been out for over 2 years now, and we’ve been working on Version 2.0 ever since. In that time, a lot has happened. Windows 7 has shipped, ext4fs is the new cool kid on the Linux block, GRUB2 is finally seeing some adoption, VHDs are the new wow, and everyone and their grandmother want a dual-boot between Windows 7 and Windows XP.

Worry not, we haven’t been sitting on our (not-so-proverbial) behinds this whole time. In fact, the entire NeoSmart team – developers, supporters, testers, and all – have been working around the clock to make EasyBCD 2.0 the biggest, coolest, greatest, and awesomest thing ever since the invention of the MBR. And now, over a 150 beta builds later and 2 years in the making, we’re super-pleased to introduce you to EasyBCD 2.0. It’s so incredibly overhauled and improved, so stuffed-to-the-brim with features, so much of a true one-click dual-boot experince, so customizable, so powerful, and so EASY that it took a lot of self-restraint to keep from calling it EasyBCD 10.0!

What’s new, you ask? We’ll get to it. But let’s just first give you the download link, because we know you just can’t wait to get your grubby, geeky paws on it ASAP:

Download EasyBCD 2.0.1 (1337 KiB)

(Yes, it really is 1337 kibibytes in size. And, no, we didn’t do it on purpose. We’re just übercool that way!)

Continue reading

The Woes of Windows Vista/7 Mapped Network Drives

One of the biggest, bestest, and most-hyped features of Windows Vista (according to Microsoft, that is) was the brand spanking new TCP/IP networking stack. Ask us, it sucks. Network performance hasn’t improved any over the ancient stack used in XP (nor should it – it’s not like there’s anything new in IPv4) though it does add better IPv6 support out-of-the-box and ships with some even more functionality in Windows 7. But more importantly, Microsoft threw out decades of testing and quality assurance work on the existing Networking Stack and replaced it with something rather questionable.

We’ll be following up some more on this topic from a technical side later in another article, but for now, an example that most of you are sure to have come across if you’ve ever tried to map network drives before:

This popup is shown at system startup if you have any mapped network drives to UNC shares which are not protected with a username and password. If you map a network destination that does require authentication, Windows will map the drive OK. To further complicate matters: this message is shown only when you startup from a cold boot! If you restart your PC (vs shutdown and powerup), it won’t appear.

Resolving the issue is straight-forward enough: just double-click on the network drive in My Computer and it’ll automatically, instantly, and silently connect. Which makes one wonder why Windows couldn’t connect in the first place.

Good question.

Continue reading

Our List of Highly-Anticipated Upcoming Games for OS X (2010)

For too long, computer gaming has been a strictly Windows-only business. But that’s slowly but surely changing, as signified by the recent availability of the popular Steam platform for Mac, and soon, Linux. But what’s really exciting is that big game producers aren’t just porting old games to OS X *cough* Quake 4, Halo 1, etc. *cough*, nor is the world of OS X gaming going to be limited to indie publishers and lame (though very much appreciated) games with graphics on-par with those from the 90s on other platforms.

We’ve compiled a list of our top highly-anticipated games for OS X, most of which are actually geared for simultaneous release on Windows and Mac, making it clear that Mac gamers will take a backseat no more. Honestly, we’re not going to bother ranking them or making this a “Top 10 Games for OS X this year” kind of article. This is just a geeky gamers’ list of games to look out for, on a Mac, soon. We’re not including games that were previously available on other platforms, because that’s just sad.

And, without further ado, here’s NeoSmart Technologies’ exclusive list of upcoming Mac OS X games, sorted by expected release date from the ones you can soonest get your grubby paws on to those you’ll have to not-so-patiently wait and pray for:

Continue reading