Multi-touch gestures with native touchpad drivers on Linux

Perhaps one of the biggest difficulties in setting up a Linux system for desktop/home use is the fragmentation of the ecosystem, with many different options claiming to get you from point a to somewhere in the vicinity of point b, each with their subtle differences (and at least a few “gotchas” along the way). An easy example: in 2020, you’d think there would be an easy answer to getting a trackpad/touchpad up and running with support for multi-touch gestures at least on par with the experience on Windows and macOS – after all, it’s been 12 years since Apple made multi-touch popular with 2008 MacBook Air.

Continue reading

How to import any Linux command into your Windows 10 environment

At NeoSmart Technologies, we’re huge fans of the new Windows Subsystem for Linux,1 and have spent a lot of time trying to make the transition between the native Win32 subsystem and the Linux/WSL subsystem as seamless as possible.

For those of you that haven’t already seen it, we recommend reading our previous article Meet $, your new best friend for WSL for an introduction to WSL and $, our nifty helper utility that lets you directly run Linux commands in your Windows workflow. In brief, we developed $ (also known – though less affectionately – as RunInBash) to make it possible to run Linux utilities directly from within a Windows workflow, complete with arguments, stdinstdout, and stderr redirection, and more.

Continue reading


  1. Yes, we refuse to call it by its ungodly “Bash on Ubuntu on Windows” moniker 

WaitForMultipleObjects and WIN32 events for Linux/OS X/*nix and Read-Write Locks for Windows

As every programmer worth his salt knows, synchronization primitives form the very building blocks of multithreaded programming. Without them, the world as we know it would cease to exist and chaos would reign free and unchecked.

All joking aside, synchronization objects such as mutexes and semaphores are essential to safe multithreading and are found on just about any platform under the sun. Mutexes and semaphores alike have one purpose: to keep different threads from messing around with bits and bytes at the same time another thread is, keeping your code free of segfaults and memory access violations alike. But that’s about where the similarities between the synchronization primitives on different platforms end.

POSIX-compliant operating systems with pthreads offer additional really neat synchronization primitives not found on Windows, such as condition variables and read-write locks (the latter is now available on Windows Vista+). And Windows programmers have at their disposal automatic and manual reset events, which make designing certain types of multithreaded software incredibly easy, abstracting away much of the hard-core synchronization logic that lies beneath the hood.

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

Does it GTK/QT/Win32 Really Matter for Chrome?

128px-GoogleChromeLogo.pngA recent article on OSNews highlights the changes expected to come in Google’s Chrome 2.0 for Windows and the progress being made on the Linux and OS X fronts for Google’s new browser.

In the article, Ben Goodger, lead Chrome UI developer, states

[Google avoids] cross platform UI toolkits because while they may offer what superficially appears to be a quick path to native looking UI on a variety of target platforms, once you go a bit deeper it turns out to be a bit more problematic.” [… Your applications end up] speaking with a foreign accent.

But there’s something we’re not getting here. Obviously given enough brilliant programmers and a good team lead to keep the different codebases in sync, going with native APIs is the better approach. But the reasons Goodger is offering aren’t very convincing.

Continue reading

Shipping Seven is a Fraud.

A blog titled Shipping Seven has gotten a lot of traffic recently for their article about Windows 7 and the MinWin kernel – namely, how they’re actually one and the same. The argument offered by “Soma” is that Windows Vista’s kernel (which is what Windows 7 will be built on) is MinWin ad that it’s already on every Vista desktop out there.

Whether or not MinWin is the very same kernel that went into Vista or not is officially unknown at the moment; but what we do know is that Shipping Seven is either one huge fake, or else that the Windows core programmers at Microsoft are so stupid that they don’t know the first thing about coding, kernels, operating systems and compilers.

The post at Shipping Seven is littered from beginning to end with fallacies, lies, and incorrect deductions that anyone with even the most basic coding skills would know better than to ever post, especially not when attempting to pass it off as the work of some of the more talented coders out there.

Continue reading

Asus: Linux, Whether You Need it Or Not

It looks like Asus is going to be shipping all its motherboards from here on out with Linux built right in, as part of their “Express Gate” initiative. Express Gate is a custom Linux distribution (Splashtop Linux) installed to a Flash ROM that’s a part of the motherboard. With Express Gate, Asus users have an option of booting from that built-in ROM chip to a Linux-based desktop, with an average boot time of around 5 seconds or so.

The problem with Express Gate isn’t that it’s Linux nor that it’s there – it’s the rather more-mysterious question of why it’s there in the first place. If ASUS had thought to make use of this Linux distribution to provide data recovery & diagnostics services, offer advanced BIOS configuration and updating options, or one of the infinite other creative ideas that one can manage with a light and fully-configurable OS that ships embedded with the motherboard, perhaps then we could see a use for it.

Continue reading

Avoid notebook sleep issues with a few easy steps

If you’re a notebook user, chances are you’ve encountered an issue with getting your computer to go to sleep peacefully. Something is either keeping it from drifting off to the land of 0’s and 1’s, or it can’t stay asleep, the hard drive just keeps tossing and turning and you open your bag to find a notebook so hot you could cook an egg on it.

What are the most common causes of notebook sleep issues?

  • A process running on the system does not allow the system to enter sleep mode.
  • A hardware interrupt, such as some peripheral devices for example.
  • An unstable driver which does not properly support sleep states or is just buggy.

I’ve owned several notebooks over the years, and almost every one of them have had an issue with sleep mode in one way or another, and over time I’ve learned a certain "practice" which ensures that sleep mode generally works when I close the lid of my computer…

Continue reading

Nobody cares what platform you use. Period.

One of the most common things you’ll see on any technology based internet forum (I could name many, but why bother, I’m sure you all have your dungeons, caves, hiding spots, and water coolers that you hang out at), is a mammoth an ugly behemoth-sized cult that’s following reality distortion field religion behind every platform on the face of the planet. Who really knows why?

Continue reading

Gutsy Gibbon and Really Slow Internet

Last month, Canonical Ltd. released the newest update to their extremely popular Ubuntu: Ubuntu Gutsy Gibbon (7.10)… But it hasn’t been all fun and games, as thousands of irate users will tell you… If you search the web, the blogosphere, usenet, and the Ubuntu Support Forums for slow internet problems, you’ll get more than you ever bargained for. Ubuntu 7.10’s networking stack is broken, make no mistake about it.

The symptoms include incredibly-slow internet access, inability to access certain domains, slow logon times, slow application launch times (under GNOME), and so on and so forth. There hasn’t been any official acknowledgement, but the consensus is that it’s a bug that’s re-surfaced from Ubuntu Edgy Eft (version 6.10).

In short, internet on Ubuntu is useless. There are multiple guides across the net with the solution along with an “explanation” we find to be inadequate and fundamentally flawed. The solution is to disable anything that even smells remotely of IPv6. Remove it from the network settings, remove the definitions from the hosts file, configure your favorite web browser to pretend it doesn’t exist, and you’ll get your internet back.

Continue reading