Yay, Windows 10 doesn’t suck anymore!

“There’s always something that pisses me off!”, was the most common thing I would say about GNU/Linux in the decade between 1998 and 2008. So in that time I used Windows 98, 2000, XP, and 7 as my primary operating systems, because to be honest, they “just worked”. I appreciate that about Windows, I truly do.

Windows 7 was fantastic, from beta all the way up until I finally deleted it the other day. It’s not that I resisted Windows 10 up until now, it’s that each time I put it onto my computer it presented deal breaking issues that made it annoying and problematic to use. Given that 7 still worked great, why then would I put up with the problems in 10?

I can’t remember now if it was 2016 or 2017 when I threw in the towel and went back to using Win7 instead of Win10 (for the few things I still did in Windows, which was primarily playing Windows games and developing game mods). But, it was earlier this year that I decided to give it a whirl again and, thankfully, a lot has changed for the better. Enough so that I’ve decided to flip back to using Windows as my primary operating system!

My time with Devuan (Debian 9 minus system d) was short, while my years with Linux Mint 17 were long and glorious. To make a long story short, everything other than DirectX games worked flawlessly for me in Mint 17 for years. It made my computer seem like a super computer and the only time it gave me trouble was when I deleted some package that almost everything else depended on (which was easy enough to fix with apt-get). Unfortunately my experience with Devuan was different. I encountered two deal breaking issues and several significant annoyances. The big issues were:

1. The mouse would randomly immediately left click after right clicking on items in Thunar, Filezilla, and other programs that make up the bulk of the user experience. This would cause random right click menu actions to fire – one of those actions is “delete forever”. Others have reported the issue as well and unfortunately none of us were able to solve it. This is a deal breaker, because I can’t live with being a right click away from accidentally deleting something important. Also, it was annoying as hell!

2. The video drivers still aren’t as good for my card as the now unsupported Catalyst drivers. I was happy to see that AMD was kind enough to finally add proprietary support again for my R9 270, but the truth is, it sucks. Some applications require disabling compositing in Xfce to avoid horrible screen tearing (to then only have somewhat annoying screen tearing), while others need it to be enabled to mostly fix screen tearing. Meanwhile in Mint 17 with the Catalyst drivers, all I needed to do to enjoy a perfect experience was open Catalyst Control Center and put a frickin check in the box beside “Tear Free Experience”…

Always something!

Look, I love the spirit of open source and I will forever be thankful to those who generously give their time to creating and maintaining open source projects, but the bottom line when it comes to my daily computing experience is that I’m going to use what doesn’t annoy me. And you know what, that’s fine.

As with anything, Windows 10 has its problems. For example, I still can’t use the audio inputs on my TV tuner card to record with Audacity in Windows, while they work just peachy keen in Linux. Kudos to open source driver developers! That particular issue I decided to resolve by keeping a dual boot of Mint 17.3 explicitly to use for those rare times I want to record something with my microphone. That said, the biggest issue I previously had with Win10 has thankfully been resolved – they finally allow people to disable their Bit Torrent uploading of Windows Update data, an anti-feature of Windows which would kill our “Wireless 5G” internet dead.

Previously Microsoft offered little to no control over the update features in Windows 10. This, combined with the laws of physics and our ISP’s throttling of Bit Torrent traffic, would cause our internet connection to become literally unusable while my computer was on. Not poor or even bad, but “I can’t even ping the DNS anymore” unusable. After a while I found some ways to mitigate the issue, but it wasn’t until one of the most recent patches where Microsoft finally allowed us to actually turn it the hell off. I can unequivocally state that before when their UI said it was off, it most certainly was still on, sucking back our (slow, data capped, and expensive) “rural broadband” internet like a kid who’s about to experience brain freeze for the first time as he sucks back a Slurpee on a sweltering summer’s day. Anyway, THAT (obviously) was a deal breaker for my use of Windows 10 in the past, so thank digital jebus it’s been fixed.

Why should I be thankful? Why couldn’t I just keep using Linux Mint 17 and Windows 7 forever? Why do I even need to think about other operating systems anyway? Because “computer security”, that’s why.

That’s right, possibly the biggest “non-subject” of them all is the very thing that dictates the context of my everyday computing experience itself. I loathe “computer security”, because not only is uninteresting, but the entire reason it exists is simply because some people can’t help but be assholes. All software is the fruit of the “completely arbitrary imagination tree” that humans planted years ago when they invented computer science. As such, it’s inherently flawed, so of course people will find problems with it. Sadly what that means in practical terms is, assholes will steal your credit card numbers and bork your life without a care in the world, so you can either keep your computer systems up to date or you can not connect those computer systems to the internet. Yay, how positively fantastic! 😐

Anyway, after considering the ways in which I have used my desktop over the years and the pros and cons of using a dual boot system, I determined that it was…

A. Mentally exhausting to run a dual boot system where I was doing more than just playing games in Windows (I did all my development of Legend of Hondo in a Linux VM and Windows-only tools in Windows 7).

B. Honestly, all the software I actually use in Linux runs just fine in Windows anyway. With the exception of that blasted TV tuner card! Lol…

Is Windows 10 perfect now? No, but is a lot better than it once was and being completely frank, it does “just work” where several “modern Linux distros” have failed me; various “little things”, like working perfectly when transferring files from my Galaxy S8 (as apposed to taking forever while also having to disable thumbnails for pictures and video in Linux MPT connections) and the simplicity of having all my files and programs immediately accessable.

Firing up a purpose built Linux virtual machine in VirtualBox from my Windows desktop gives me the best of both worlds. I can work on mods for a Star Wars Galaxies or World of Warcraft personal server while also running the client, a web browser, and listening to music, all at full speed and full functionality, with no pains in my ass at all. What’s not to like about that?

I’m sure the many “FOSS” purist of the Internet would be happy to troll me for using Windows at all, let alone for not using GNU/Linux or FreeBSD as my main operating system, but man people like them are nutcases! Seriously, some folks take things way too personally and a little too far… Me? I’m going carry on with my efforts to use open source software to create fun open source stuff too, because that’s what makes me happy. I’ll just be doing it from Windows 10, except when I need to use that microphone… 🙂

It’s Laptop Upgrade Time! HP Chromebook 14 G4 (2016) vs. Dell Inspiron 1501 (2006)

Back in 2007 my wife and I purchased a pair of Dell Inspiron 1501 laptops for $450 CAD each. They came with 1.8GHz single core AMD Sempron processors and 1GB of RAM, running Windows Vista Home Basic. Through the years I upgraded them to 1.8GHz dual core AMD Turion processors (for $13 total via ebay!) and 3GB RAM. At one point I had a 32GB solid state drive in mine, running Linux and it was really quite excellent for everything other than playing 3D games. However, as time passed by it became increasingly uncomfortable to deal with the two major downsides of this laptop:

  1. It had to be plugged into the power adapter all the time, because it could only get about 8 minutes of battery life.
  2. It ran hot as hell!

Honestly, other than that it still is an excellent machine for everyday computing (my daughter uses it with Linux Mint 17.3 at her desk), as it’s able to browse the web, play videos (Netflix, Youtube, etc), play basic games, and do some photo editing and document creation without any noticeable slow downs. The hardware requirements for basic computing haven’t really changed much in the last decade.

And that’s where Chromebooks and their low power Intel processors come in – they have all the computing power of a 2006 era dual core processor (and more) at a fraction of the power consumption. The end result is that today we can buy a small, light laptop that can plug away at basic computing tasks for 5+ hours on battery, while producing so little heat that it doesn’t even need a fan. In fact, if you exclude electrons, photons, and the hinge on the screen, my Chromebook doesn’t have any moving parts at all… And the Chromebooks are even inexpensive too, much like the Dell Inspiron series of laptops.

If you’ve read my article about the Canadian bilingual keyboard, you will understand why I wanted to buy a $399 Acer Chromebook 14, but I ended up buying this $349 HP Chromebook 14 G4 instead. Quite simply, I was able to walk into our local Bestbuy and purchase the HP with the standard US keyboard (the only non-Apple laptop they had with a US keyboard by the way), where as the Acer wasn’t available locally and I couldn’t seem to get a straight answer from online retailers as to which keyboard it had. So for $50 less, no shipping charges, and the peace of mind that I won’t have to return it and start all over (due to having the wrong keyboard), I figured I could live with the lower end HP Chromebook 14. And, I can.

The Acer Chromebook 14 has a quad core processor, 4GB of RAM, 32GB storage, and a 1080p IPS screen in an all metal chassis where as the HP Chromebook 14 G4 has a dual core processor, 2GB of RAM, 16GB storage, and a 720p TN screen in a plastic chassis which has a metal keyboard area. Clearly, the Acer is a way better machine for only $50 more, but I just didn’t want the head ache of having to deal with returns due to the keyboard. If you’re in the USA or you’re in Canada and you don’t care about what keyboard you get, I recommend the Acer over the HP.

Comparing the HP Chromebook 14 running Google ChromeOS to the Dell Inspiron running Linux Mint 17.3 is interesting, because there are a number of things that Linux can do which ChromeOS cannot. If I had to choose between one of them to be my only computer, I would choose that old Dell in a heart beat, because point blank: It can do more and it can do it better. However, I am not stuck in that situation, because I have a full desktop Linux machine that I can rely on to accomplish things which ChromeOS can not. When you exclude an array of niche activities and focus on the day to day computing that most of us actually do, then it becomes a lot easier to compare a Chromebook to a Linux laptop.

Browsing the web, watching videos, writing, using Skype video or text chat, listening to music, sharing pictures and video, doing simple picture editing (crop, color, etc), email, making documents and spreadsheets, and playing simple games such as solitaire or web based games like Bejeweled, are what I consider “day to day computing”.

Both the old Dell and the new HP can do all those things, with the difference being that the HP can do them for roughly 8 hours on a single charge, while weighing less and producing an unnoticeable amount of heat.

That’s the big take away here. Sure there are many other things one could consider and absolutely, there are many things a normal Linux laptop can do that a Chromebook can’t, but most of those things aren’t really part of the use-case for a Chromebook anyway; You don’t buy a Chromebook to do 3D CAD work just as sure as you don’t buy a toaster to make coffee. The use-case for a Chromebook then is essentially same as any other low-end laptop, with the only real difference being some of the software you use.

When it comes to the differences in software, let’s have a look at word processing. In Windows, documents and spreadsheets are most often made using Microsoft Word and Microsoft Excel, but many people and organizations also use Open Office or Libre Office. In Linux, most people create documents using Libre Office or other open source software, such as Abiword and Gnumeric. In ChromeOS, one can use Google Docs for online and offline document and spreadsheet creation. Chromebooks can also use Microsoft’s online document tools as well as several offline document editors that can be found in the ChromeOS store (often for free and without ads). All of this software is more powerful and easier to use than the WordPerfect 5.1 that I grew up with and it’s all more than capable of meeting the average human being’s personal computing needs. You just have to take the time to learn and get used to the software for your platform. After that, it’s all productivity baby! Well, if you’ve managed not to wander off to Netflix that is…

Taking a look at the physical differences between the Dell 1501 and the HP 14 G4, it’s easy to see which is the more comfortable machine to use on one’s lap.

Left: HP Chromebook 14 G4. Right: Dell Inspiron 1501

Both machines are almost the same width, 13.5″ vs. 14″, which is the perfect size for feeling balanced across my legs without having to clench my butt cheeks or otherwise sit uncomfortably. The same cannot be said for an 11″ wide laptop! The depth of the keyboard area is roughly the same and doesn’t feel any different from a practical standpoint.

As you can see from the picture, the mouse configuration is very different, with the Chromebook lacking the physical mouse buttons and opting for a larger touch surface instead. Personally, I prefer the physical buttons of the 1501 and the edge scrolling of the 1501’s touchpad to the totally new paradigm of the Chromebook’s touchpad, but the difference isn’t a deal breaker. Normally, I hate the “tap to click” feature of touchpads (I hate touch screens in general for their lack of accuracy and their annoying habit of activating everything but what I am trying to activate…), however the touchpad on this Chromebook has consistent sensitivity and accurate multi-touch gesture recognition which have made my transition from real buttons to fake ones fairly painless. Technically, the whole of the Chromebook’s touchpad is one giant button, but it’s so stiff that it’s uncomfortable to press it down.

The last major visual difference is the HP’s 16:9 ratio 14″ 1366×768 screen vs. the Dell’s 3:2 15.6″ 1280×800 screen. Given the similarity in resolution and screen quality, the practical difference really comes down to which one is easier to look at. I think for reading, the 3:2 ratio 15.6″ screen wins for being just a little taller and allowing one’s eyes to focus on the top half of the screen without having to look down, where on the 16:9 screen one would be looking squarely at the top bezel. On the other hand, the 16:9 ratio screen is better suited for video and many websites. So for the screen, it’s a toss up as to which is better, because it really depends on what you’re doing and how you happen to be sitting while doing it.

Weight and comfort wise, the HP Chromebook 14 is hands down way, way nicer to use than the Dell Inspiron 1501, but that’s what a decade of technological progress does for ya! The HP’s battery is smaller, lighter, and cooler, especially when charging. Same goes for the CPU/GPU. The heat difference is such that the Dell can get really uncomfortable after a short time using it, where as the HP remains comfortable for hours, because it only gets a little warm on the bottom. The Dell weighs 7 pounds where as the HP weighs roughly half as much, at just 3.74 pounds – I can’t say enough how silly and fun the HP feels to carry compared to the Dell… I literally giggle a little when I pull the Chromebook out my old laptop carrying bag!

Finally, the typing experience on the two laptops is similar, but definitely not the same. I believe they both have scissor switches, but Dell has bouncy raised key caps where as the HP has flat, solid feeling key caps. I’ve typed a lot on the Dell over the years and I have always found it to be a pleasant experience… it just had a natural feel to it when the keys were pressed down. The HP Chromebook on the other hand has a definitive “hard” feeling to it, such that when you press a key it clicks down and stops moving abruptly. I wouldn’t say that the difference in feeling is bad nor do I think that typing frequently on the HP will be a lesser experience, I’m just saying that typing on the HP is indeed a different tactile experience than typing on the Dell.

So with all that said, I’m really happy with my new laptop and I expect I will be for another several years. If you’re out there still hanging on to an ancient laptop for your day to day computing like I was and you’re feeling it might be time to look for an affordable replacement, I recommend taking a look at some Chromebooks.

One more thing… 

On a related note, there are low priced Windows laptops to on the market that are worth consideration for every day computing. They use similar low-powered Intel and AMD processors and they also deliver long battery life in truly portable chassis. However, if you go the Windows route (and you don’t plan on formatting Windows to install Linux), make sure not to purchase anything with less than 64GB of storage space. Some of the Windows laptops only have 32GB, which will only leave you with 5-6GB of storage for your files and extra programs after Windows updates. Chrome OS running my Chromebook with only 16GB of storage has more than 8GB of free space, but such is the power of Linux (upon which ChromeOS is built). Most offline ChromeOS programs are less than 50MB, which is crazy tiny compared to many Windows programs too, so that limited storage space goes a lot farther on a Chromebook. Even a full installation of Linux Mint 17.3 XFCE edition, with a whack of optional programs installed, only uses about 10GB, so you can easily get by with only 32GB of storage on a Linux machine (16GB would probably be annoyingly small though).

Linux Can Look Like Anything!

My current PCLinuxOS desktop, looking sort of like Mac OS X.

My current PCLinuxOS desktop, looking sort of like Mac OS X.

One of the things I really love about using Linux is that I can customize every part of its appearance and interface functionality. One of the disappointing things about Windows 10 is that it’s ugly as hell, yet Microsoft didn’t even bother to add in the looks of previous Windows versions in the customization options. In Windows 10, people need to either buy third party UI themes or “hack” Windows to allow for homemade themes. By contrast, in Linux people can just download thousands of themes or make their own whenever they’d like.

I am using the Mate Desktop Environment, which is based on Gnome 2 and quite similar to XFCE when it comes to visual themes. There are many other Desktop Environments and Window Managers for Linux, such as KDE, Gnome 3, Unity, Fluxbox, and Enlightenment.

My personal preference of navigation is to have a full toolbar on the top of the screen. I don’t really use the desktop icons and I am not into the Mac OS style bottom toolbar, though something functionally identical is available for Linux. Here is a list of what I am using:

OS: PCLinuxOS 64Bit
Desktop: Mate
Theme: MacOS-X Aqua, by DannyWu
Icons: OSX Icon Theme by N00b-un-2
Web Browser: Mozilla Firefox with Classic Theme Restorer, by Aris

Things on my toolbar, from left to right:

  • Menu Bar – Three menus of links to programs, files/folders, and “control panel” stuff.
  • Quick Icons – File Explorer, Terminal, Firefox.
  • Window List – Open windows, similar to the Taskbar in Windows.
  • System Tray – Notifications, volume, etc.
  • Window Pager – Choose desktops and drag/drop windows between desktops (I LOVE THIS TOOL!).
  • Clock – Complete with calendar when you click it.
  • Show Desktop – Quick toggle to close or open all windows on a desktop.

This is just a quick look at one of the many ways one can personalize their computer when using a GNU/Linux based operating system. Enjoy!

With Cairo-Dock, using a Mac-like theme. So many options and themes for this amazing piece of software!

With Cairo-Dock, using a Mac-like theme. So many options and themes for this amazing piece of software!

Dev Blog – Loop Dipole and the much better world design!

After taking a break from developing the game, I am back at it in Blender Game Engine 2.69 looping some dipoles and blasting some Chaoties! Alright, at this point the only thing to blast are some cylinders (spawned by pressing F5), but I have finally decided how to layout the game world in a fun way. That’s something.

“The good news is that the kids and I have a lot of fun just driving and flying around, even though that’s all there is to do at the moment!”

I have been batting the concept for this game around for five years or so and in 2015 I finally sat down and wrote a design document that covered all aspects of the game play. As with any project, actual testing leads to iteration and, most often, improvements upon the original design. One of the things that I quickly came to realize when building the game is that level design is an art form and making one that is fun to play on requires a lot of work to finish. Not only that, but having a large amount of physical space for the player to use doesn’t mean much if there’s not enough to actually DO in that space.

The gist of the “lore” behind Loop Dipole and the Chaoties is that the main character, Loop, is an energy being living on a cube of energy. He wants to balance the energy, by solving puzzles, and he has to fight/avoid the Chaoties along the way. Simple enough, but the devil is in the details.

The primary focus of the game is “Go fast and have getting there!”, so when it came to representing the 6 sides of Loop’s cube world, I was reluctant to use loading screens. I prototyped a rotating cube world, but it was nightmare to develop for and not worth it in the long run. So I then decided the player would use a nexus in the center of each map to travel between them and that was all fine and dandy until I discovered… maps are hard! More to the point, maps, just like race tracks in SuperTuxKart, need to offer unique visuals, locales, and game play in order to truly justify their existence. The more I tested, the more I thought about what’s important, the more I realized that not only are multiple maps outside of the scope of what I am trying to make, but they’re also a net detriment to the game play experience for the player.

Having to load into and then traverse a whole new map just to collect a certain type of energy seemed, to me, like a waste of… energy for both the player and myself as a developer.

When “going fast”, the player travels around a large open space collecting different types of energy. He uses the energy to manage his abilities and to solve the various puzzles. The puzzles are 2D games, where the player stops driving around and does “something else with his head for a bit”. I want the player to enjoy the large open area as well as the ability to fly and drive to higher levels, but I want this to be a fluid experience he does between puzzle sessions. Having to load into and then traverse a whole new map just to collect a certain type of energy seemed, to me, like a waste of… energy for both the player and myself as a developer. Not only would it break up the fluidity of driving, but it would mean that I would need to make every map either too confining (like the one I made in 2015) or so large that it would take me forever to fill it with awesome and likely drive most players to boredom. As such, I decided that Loop Dipole and the Chaoties will consist of one single, awesome level!

The level will incorporate all the “sides” I previously had envisioned, but they will instead be different vertical levels. The lowest level, which is really just there to look cool, is the chaos, while the rest of the levels ascend from red to violet. The player starts on the red level, which is also the largest flat area (noobish to get around, but also great for the slow turning “bomber” shape), and can fluidly travel anywhere he’d like from there. If he falls down in the chaos below, he can fart around there if he likes or he can press R to get back up to the red level and, you know, do something productive. Most importantly though, the entire game world will be both useful AND fun to travel around, while also allowing me to focus my efforts such that I may actually finish this game before the heat death of the universe.

Will you add more levels later?

No. Come on, man, I just said I am going to build the whole game into a single level! 🙂

Seriously though, think of Loop Dipole and the Chaoties more like a… a mashup of Star Trek chess, the “bestest Hot Wheels track you ever seen!”, and Bejeweled and less like your standard 3D PC game. As for the Bejeweled reference there, for the record I don’t intend the puzzle games to be clones of existing games. The puzzles will definitely be like games we’ve all played before though, cause I ain’t no Tetris Wizard.

Here, have a look-see at some development screenshots:

And if you’d like to play around with what I’m working on, you can find the project on GitHub and you can download Blender version 2.69. Later version of Blender have some quirks/issues in the game engine, so don’t use’em with this game. Note that when I am finished the game, I will package it with Blender Player such that it will work like any other PC game for Linux or Windows (Mac too, if I had one to test with).

As always, please respect the General Public License attached to my work (and the work of others who have also contributed to this project) by providing credit for any part of my work that you use in your own stuff. Thanks! 🙂

Dev: Python + Blender GE is a Great Time!

This is what I wanted from game development! Honestly, as I have said before a few times, I couldn’t give a rat’s ass about where a computer puts its pointers or memory locations, etc. This isn’t the 1960s… computer’s these days can do that sort of… COMPUTING way more efficiently than we human beings, so why waste our time and head-space mucking with those things?

Learning the syntax for Python and the Blender Game Engine API have certainly been time consuming, but that time has also been extremely fruitful and satisfying. In just a few weeks from not knowing anything about either, I have become comfortable with Blender and implemented the following systems into my game:

  • A functional testing map (I had a more detailed one, but I restarted the file)
  • Character movement with the keyboard and mouse.
  • Gliding – jump into the air and fly with full yaw, pitch, roll controls.
  • Turbo – both on the ground and in the air.
  • 4 of Loop’s physical shapes, complete with unique movement stats / purposes.
  • Mech Jump, for the mech shape.
  • The framework for other shape keybindings and stats.
  • And more!

The best part is that at this point, all of those things work properly. All I have to do with the those systems is fix any minor bugs that I find with further testing. At this point I can basically move on from the gliding and driving mechanics to making the turret turning mechanic for the tank and the mech. And that right there is an important note thing to note: I am going to put in a tank with a turret and a two legged “mech” type vehicle, because *I CAN*! I totally would not have done those had I been using STK, as the amount of work to create their movement would have been far too much. Yet with BGE, I look at it as gaining the opportunity to learn how to animate models, because… heck, why not? That kind of stuff is fun!

If you’re looking to kill some time, feel free to download what I’ve completed so far and fly around on the massive empty map. Gliding around sure seems easy when there isn’t anything to slam into… 🙂

Check it out on Github: Loop Dipole and the Chaoties

It runs great with computer, which it really should as it’s an empty map… but still, in case it doesn’t for you, here are my basic specs:

AMD FX-8230 @ 4GHz
AMD R9-270
8GB DDR3 2133MHz RAM
Linux Mint 64Bit
Catalyst Driver 14.501.1003
XFCE Desktop
Blender 2.71

Ps. I would like to extend a giant thank you to the kind folks who created the documentation on blender.org, blenderartists.org, tutorialsforblender3d.com, and the many kind folks who have posted tutorials on Youtube. Seriously could not do any of this stuff without you amazing people to show me, “oh… THAT’S how that thing actually works!”.