FreeCAD 0.18 Pre Release

FreeCAD-Pre.18-09-Title Mod.png

In my continued excitement to use FreeCAD at home, I downloaded the latest Pre Release of FreeCAD to test it out. For starters, I like the new look of the start page. It has a nice clean and even more welcoming feel to it. It shows little previews of recent CAD documents too which is a fantastic touch.

I had some real work to do with it in modifying a design and it worked very nicely. It is extremely easy to update a design with FreeCAD. I have a few criticisms but they might be based on what I am used to using as opposed to a problem with FreeCAD. What is important is that I was able to update the design and print the parts and put them to work.

Downloading and Running

To download the pre-release, visit their GitHub page, at the time of writing it was, FreeCAD_0.18.14796.glibc2.17-x86_64.AppImage.

I created a folder where I keep all my AppImage files. Using Dolphin, I made the .AppImage executable so that you can just double-click to execute the file and run FreeCAD.

FreeCAD-Pre.18-02-Executable

No special work is needed to run this AppImage, no installation or anything of that nature. It’s kind of nice but it also has its drawbacks. I generally prefer the openSUSE software management system to automatically take care of my software but I’ll make an exception in this case.

First Run

The new Start Page looks great. I really appreciate the tabs and how they have separated out the information into sections. The first tab shows you your recent documents and some example parts.

FreeCAD-Pre.18-05-Start Page.png

The Help Section is more than just a help getting started but gives you a great snapshot about your current FreeCAD Setup: General documentation, Workbench documentation, getting help from the community and available addons for FreeCAD.

FreeCAD-Pre.18-07-Help.png

You can click on the different available addons and read more about them and install them. It will even indicate what addons are installed from this screen.

The third tab shows the “Activity” of this FreeCAD project. I appreciate how much work is going into FreeCAD, to make it a better product.

FreeCAD-Pre.18-06-Activity.png

Modifying an Existing Part

I have a Home Education Command Center where I created some parts to hold the Geography Maps in place. After some time of using my first revision of parts, it became apparent that they were not meeting expectations. I took the previously design parts, modified the necessary dimensions based on the usability failures I experienced with the first design

FreeCAD-Pre.18-03-Reworking part

I had to not only make the whole part taller and wider with more overlap for the holder to map interface. When increasing the size of the base part, the child features adjusted as expected which is a great sign for the quality of the parametric modeling “intelligence” of this software. I have only one criticism with the sketch mode. I often have to redo lines because I am unable to make coincident constraints stick to where I want them to stick. It’s not bad but just mildly irritating at times.

FreeCAD-Pre.18-04-Reworking part.png

The resulting update was complete in short time and I was happy with how it looked. The rounds and chamfers calculated to look exactly as I expected.

Exporting for Printing

Since the whole purpose of creating this part was to print it and a mirrored version of it off, I needed to export the model as an STL.

As a note, when exporting the part to STL, you must select the last feature on the model tree then go to File > Export…

There is a drop down where STL file type is an option.

FreeCAD-Pre.18-01-Exporting

If you do not select the last feature, it will export up to the feature you select in the tree when it makes the calculations.

Assembly Module

I thought I’d give the Assembly module another shot as I was not able to get it to work under the official release. This time, the module loaded in without any issues. I became very excited at this point. Here is what I did to install it, instructions adapted from the Assembly2 Module GitHub page:

On other Linux distros you may try to install manually via Bash and git but I use openSUSE Tumbleweed as my daily driver and this is how I installed it:

In order for the Assembly Module to work, there are some more python software packages that are required. To install them, oen up a terminal and enter:

sudo zypper install git python-pyside python2-numpy

Next was to install the Assembly Module from GitHub. This is installed within the User home directory.

First will be to create the necessary directory for the modules. If the directory doesn’t already exist.

mkdir ~/.FreeCAD/Mod

Change to that directory

cd ~/.FreeCAD/Mod

Then perform the cloning operation from GitHub

git clone https://github.com/hamish2014/FreeCAD_assembly2.git

That’s all there is to it. Run FreeCAD and you should see the assembly module.

You may want to periodically update the Assembly Module. Since you have already performed the cloning, you will need to pull for updates to get the latest version:

cd ~/.FreeCAD/Mod/FreeCAD_assembly2
git pull
rm *.pyc

It’ll give you a nice little output of the updates and your done.

I will cover the Assembly Module at a later date as I need to learn how to use it properly. I am still working on an assembly and will subsequently work on the assembly drawings for another project.

What I like

There are MANY things that I like but most notably as a comparison of Official v.17 to Pre-.18 are the incremental improvements happening within FreeCAD. Even though this is a Pre-Release, there are already many improvements over the official .17 release. Most notably, the start page and the reintroduction of the Navigation Cube.

FreeCAD-Pre.18-08-Navigation CubeThe navigation Cube is a fantastic way to see what your orientation is around the part. I know that there are other CAD packages that use a similar tool but my regular proprietary package I use professionally does NOT have this feature.

The part design module seems to have become more intuitive and it’s ability to automatically adjust dependent features seems to have improved dramatically.

What I wish it would do

Thankfully, FreeCAD is under active development so it is only a matter of time that these little paper-cut issues will all be resolved. One issue I have, from a usability standpoint, the select to recompute function doesn’t always recompute recursively through the tree. I might also suggest that selecting the base node to have it all recomputed or have the recompute option default to top level if nothing specific is selected.

Some of the geometric constraints don’t seem to work as expected so I do have to delete and redraw some of the lines in order to complete the sketch. When doing this, it often makes child features, like fillets and rounds fail and it can be a challenge to figure out which one has failed.

Final Thoughts

As I continue to use FreeCAD, I am becoming a bigger and bigger fan of the project. They are really doing a fantastic job of making a professional level parametric modeler, among other CAD functions, that can really enable the regular folk to do some real CAD work. I will continue to follow this project and use it whenever possible to perform the various problem solving activities I do. I can only hope that there will be continued momentum behind this such as other large open source projects.

Links

FreeCAD Project Home

FreeCAD Pre Release .18 Download

FreeCAD Assembly Module GitHub Page

openSUSE Tumbleweed

Advertisements

Plasma Mobile installation on Nexus 5X

PlasmaMobile-00

I have been watching Plasma Mobile for a little while and have tested it in a virtual machine but haven’t made it a priority to get some real hardware to test it on until now. I recently broke my Samsung Galaxy 5S… again… but in many ways it was falling apart. I could not unlock the bootloader and every consecutive update from Samsung made the phone less usable. It would get hot and chew through the battery quickly but be incredibly slow. Looking at the battery usage it was always the Android System that was on top of the list. The last time it was used was when navigating to a destination, the phone became unresponsive, the screen went black and was incredibly hot.

Recently, it was announced that KDE Connect is available for Plasma Mobile which was the tipping point for me to say, it is time to test Plasma Mobile on something other than a virtual machine. So, I purchased Nexus 5X on ebay for $80, I figured, why not.

Nexus 5X-Android

Using this guide, Unlock for Beginners, as my base, I put this together as a distilled version of the guide that can be used on openSUSE but probably any other distribution of Linux as well.

Going through this, it took me a bit to really understand and take a course of action so to make this easier for someone of similar goals. I am running this on openSUSE Tumbleweed but the instructions for Leap should be the same. It really was a rather painless process so this doesn’t write-up doesn’t have much for trouble shooting.

Download the Tools

After some extensive reading and poking around, I chose the minimal method to perform this task. Instead of the full Android SDK, just the ADB Tools.

First step was to download the ADB/Fastboot (platform-tools)

I put it in my Projects folder.

~/Projects/adb/

In that folder, extracted the downloaded zip file, which is easy to do with KDE Plasma’s file manager, Dolphin. If you would like to do it in the terminal (your version may vary):

unzip platform-tools_r28.0.1-linux.zip -d platform-tools

Next, navigate to the folder, platform-tools and executed:

./adb version

which gave the output

Android Debug Bridge version 1.0.40
Version 4986621
Installed as /home/cubiclenate/Projects/adb/platform-tools/adb

Activate Developer Mode on the Nexus 5X

Navigate to: Settings > System > About phone

Scroll to the bottom of the list and tap Build Number 7 times. It will give you a countdown of how many more times you need to tap it after a few taps

Enable adb/USB Debugging

Navigate to: Settings > System > Developer options

There should be three toggles that are on:

A toggle at the top of the screen that should be On

Toggle OEM unlocking to On

Nexus 5X-Developer Options

Scroll down to the Debugging section and ensure that USB debugging is toggled On.

Prepare Desktop Linux

On my openSUSE machine, check to see if you have a plugdev group.

cut -d: -f1 /etc/group | sort | grep plugdev

If you don’t see plugdev returned, add it.

sudo groupadd plugdev

Then add your username to the plugdev group

sudo usermod -aG plugdev $LOGNAME

Logout and log back in for the group changes to take affect

Flash the Phone

Send the command to reboot into the Fastboot Mode

./adb reboot bootloader

The phone will reboot into this screen:

Nexus 5X-Fastboot

Note the PRODUCT NAME is bullhead. More on that later.

Just to verify, I checked that I could do the fastboot thing

./fastboot devices

And it gave me the output

00493e6b7693cba7        fastboot

I have no idea if I should leaving that number is a security risk or not but in this case, I’m not terrible worried.

Next step was to perform the oem unlock and make this phone do some complaining

./fastboot oem unlock

Nexus 5X-Unlock Bootloader

Select YES to Unlock the bootloader on the Mobile.

It should give you very encouraging output similar to this:

OKAY [301.881s]
Finished. Total time: 301.881s

Point of No Return

This process will erase the complete memory of the Nexus 5X. If that matters to you, be sure to back up everything that matters to you.

./fastboot format cache

Output should be similar to this:

Couldn’t parse erase-block-size ‘0x’.
Couldn’t parse logical-block-size ‘0x’.
Creating filesystem with parameters:
Size: 100663296
Block size: 4096
Blocks per group: 32768
Inodes per group: 6144
Inode size: 256
Journal blocks: 1024
Label:
Blocks: 24576
Block groups: 1
Reserved block group size: 7
Created filesystem with 11/6144 inodes and 1422/24576 blocks
target reported max download size of 536870912 bytes
erasing ‘cache’…
OKAY [  0.081s]
sending ‘cache’ (5688 KB)…
OKAY [  0.214s]
writing ‘cache’…
OKAY [  0.063s]
finished. total time: 0.357s

Then format the User Data:

./fastboot format userdata

With the output similar to this:

mke2fs 1.44.3 (10-July-2018)
Creating filesystem with 6661115 4k blocks and 1667904 inodes
Filesystem UUID: fea22557-b249-45e8-aca6-3230969b647b
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

Sending ‘userdata’ (4272 KB)                       OKAY [  0.181s]
Writing ‘userdata’                                 OKAY [  0.064s]
Finished. Total time: 0.388s

Now your phone is ready to flash Plasma Mobile. Though, it can also be noted that if you want to install custom firmware, that could be done as well.

Flashing Plasma Mobile

For this initial foray into Plasma Mobile, I used the the Neon Architecture reference.

In my ~/Projects folder I created a subdirectory PlasmaMobile

mkdir PlasmaMobile

Then pulled the latest Plasma Mobile flashing tool from GitHub

git clone https://github.com/plasma-phone-packaging/pm-flashtool.git

Changed directory to the location of flashtool

cd pm-flashtool

While still in fastboot mode, in terminal, Executed pm-flash

./pm-flash

This required a bit of interaction. It is important that you do not install the wrong image on the phone, something about bricking the device… which is bad.

+ CACHEDIR=cache
+ echo ‘Waiting for device to be in the fastboot mode’
Waiting for device to be in the fastboot mode
+ fastboot getvar product
product: bullhead
finished. total time: 0.020s
++ fastboot getvar product
++ head -1
++ awk ‘-F: ‘ ‘{print $2}’
+ DEVICE_NAME=bullhead
+ confirm ‘Connected device is bullhead, is that correct? [y/N]’
+ read -r -p ‘Connected device is bullhead, is that correct? [y/N] ‘ response
Connected device is bullhead, is that correct? [y/N]

I input y then hit enter as this is a bullhead device which is verified on the Fastboot Mode.

Unfortunately, due to my lack of prep work, I ended up on a Google Splash screen. Thanks to the fine folks on the Plasma Mobile Telegram group I was instructed to run the Flash-Vendor application to put the correct driver blob that would be compatible with Plasma Mobile

./flash-vendor

As soon as it completed, the phone rebooted and very shortly thereafter, I was greeted with a snazzy looking Plasma Mobile desktop. My initial impressions are very positive. I like the look and feel. The application menu is a different take from what you would see on Android but perfectly functional.

Nexus 5X-PlasmaMoble-01.jpg

The settings tool is similar to what you would see on the Plasma Desktop with real customization options. The kind of options that bring an ear-to-ear smile to your face.

Instead of Google Play, the application manager is Discover. This manages your updates as well of which I was told I had 309 updates waiting for me…. but I learned that updating in this manner is not yet supported, so don’t do that.

The authentication dialog feels like it isn’t really meant for mobile but I can overlook that small bit.

The network manager is by far the best network manager I have ever seen on a Mobile. I will admit, I am quite biased about this bit as I think the Plasma Desktop Network Manager is the best I’ve seen yet.

PlasmaMobile-Network Manager.jpg

I have only one issue, at the time of this writing, that prevents me from using this full time. I cannot actually place any calls with it. I am sure that the fix is forthcoming or maybe the problem is entirely with me. Once I have that hammered out, I will update this accordingly.

Final Thoughts

I am just now exploring the fine offerings of Plasma Mobile what it can do and what it can not do. The scope of this blathering is just the installation of Plasma Mobile on the Nexus 5X. I will continue to noodle around with it in hopes of making it my full-time daily driver mobile device in the very near future.

If you have a compatible device and some time to experiment, I recommend this as a fine afternoon activity. Perhaps you can even help out with the project and further the cause of having a truly free and open platform on your mobile.

References

Plasma-Mobile Project Site

XRA Developers Forum, Nexus-5X How To For Beginners Guide

platform-tools-latest-linux.zip

Neon Architecture Reference

Nexus 5X specifications on GSM Arena

neofetch | Command-Line System Information Tool

My favorite system information tool is the KDE Plasma Information Center or kinfocenter. It tells me all the fun little bits about the computer. My second favorite tool is called neofetch. Neofetch is a command-line system information tool that displays an aesthetically pleasing output of information about your operating system, software and hardware. It shows the basic information about a system in Bash.

For information on the project, visit their GitHub Page.

Installation

Tumbleweed

This is available in the main openSUSE repository for Tumbleweed so installation is easy:

sudo zypper in neofetch

Leap 15 Install

sudo zypper ar http://download.opensuse.org/repositories/utilities/openSUSE_Leap_15.0/ Utilities

sudo zypper in neofetch

It takes very little time to install with three other dependencies required.

The application is pretty straight forward, just run it:

neofetch

It’ll give you your system information.

neofetch-01.png

The information, by default, is displays alongside the operating system’s logo in ASCII art. It can be configured differently, if you wish. I don’t know exactly how neofetch is fetching the this information but it is pretty cool display of information in the terminal. I particularly appreciate the ASCII Tumbleweed symbol.

It was a welcome surprise to see how many packages, rpm and snap, are installed in the system as well as the uptime. These are fun numbers and it would be fun to dig into the source code on this application.

There are some additional options you can play with, take a look at the man page:

man neofetch

Final Thoughts

That’s it, just a quick, fun system info tool to use in the terminal. It is practical and easy to use. If you are managing multiple machines and want to get a quick account of information remotely in the terminal, this would be a good choice. How often will you use it? Not sure, but it is still nice to have.

Resources

Neofetch on GitHub

More Fun Terminal Applications

Windows 7 Registry Cleanup

ICanFixIt

I don’t often do any tech support on Windows computers. In fact, I do my best to avoid it as much as possible but there are these seemingly unavoidable moments when I have to work on a Windows machine. In many ways, I think it’s good for me as it keeps me appreciative of the Linux technology of which I have become accustomed. It also helps me realize that those little nitnoid annoyances in Linux are nowhere near the annoyances of using Windows.

In my opinion, since its inception, the registry on a Windows computer has seemingly been the Achilles Heel or weak point, often prone to corruption. Since my days on Windows 98, I would have issues with the registry and I became a pro with using Norton tools to maintain my Windows system. It would also get me increasingly annoyed with the system which eventually brought me to using Linux.

Back to my Windows problem… When trying to install some software for testing on a particular Windows machine, it would just refuse to install. Not only would it refuse to install but it would also delete the installer file, so I wasn’t able to try it again until I transferred this rather large file back to the computer. I found this very bizarre. The “expert” I consulted was no help, there was no error report, at least, nothing that would be helpful. I could not find a way to get some sort of verbose output on the failed installation. My lack of expert help and impatience to do research coupled with my “fond memories” about my past experiences with Norton lead me to first try a registry cleanup.

Boy-howdy is there a lot of shady looking “fix-your-computer” free software out there. It seems like you are out swinging in the breeze, navigating through a sea of unknown to find something good and not make things worse from the myriad of utterly dangerous-to-install software. After some searching, I found a piece of software that didn’t look shady but rather really quite legit, called CCleaner

https://www.ccleaner.com/

ccleaner-logo.pngIt was like a bastion of hope in a sea of dodgy, advertisement-riddled promises of making your computer 500% faster. CCleaner was very clear about what it did and how they made money. I didn’t need their premium product, just something to patch this system well enough to conduct the software tests.

Not a very big download, thankfully, and it installed without any issue and no enticement for anything other than its own offerings. Upon launching CCleaner, the controls are very straight forward, I just had to “Scan for Issues” than “Fix selected Issues…” It even gave me the option to save a backup registry, in case the whole thing blew up, but the reality was, this was my last ditch effort before wiping the whole system.

CCleaner-00-Registry

The cleaning process was MUCH quicker than I expected and once it was done, I thought I would give the machine a quick reboot, of which was successful. I once again transferred this software that I still needed to test and tried the installation once again.

Success!

I was able to test the software, take my notes and make the recommendations. Unfortunately, not long after the test, the Windows machine started acting up again and I had to wipe it and have Windows reinstalled anyway but CCleaner gave me the few extra days necessary to complete this necessary task.

Final Thoughts

Wow, am I glad I don’t pay for Windows! I am truly amazed people are okay with using it. I guess if you are okay with shelling out cash for software to maintain the machine or “experts” to administer it, it is fine but that is not acceptable arrangement for me. This experience reinforces why I really believe in owning your technology and your technology not keeping secrets and telling you what it is doing. This further bolsters my reasons for using Linux. I appreciate how it tells you what it is doing and makes it easy to get into the nuts and bolts of it when necessary.

After this experience, I am even more grateful for openSUSE Linux. If I could only install openSUSE on that rather beefy hardware… one can dream.

Resources

ccleaner.com

openSUSE.org

River City Ransom: Underground on openSUSE Linux

RCRU-Title Screen

Sometime in the early 1990s, when it was still a thing to rent Nintendo Entertainment System cartridges from a video store, a friend and I came upon this game, “River City Ransom” which, to our understanding was supposed to be similar to “Double Dragon II”. It was but FAR better. “River City Ransom” is referred to as an “RPG Beat ’em up”. The roll playing bit of it is to power up your character with new abilities and upgrade stats by making purchases using the money you “earn” from the antagonists you beat up.

NES River City Ransom Cartridge.pngI started to reassemble all of my vintage tech about a year ago and in that time, I introduced my oldest boy to the colorful, fun-packed wonders of the Nintendo Entertainment System and one of those games was “River City Ransom.” We both had loads of fun. In my idol searching around for information about “River City Ransom”, I learned of the sequels that weren’t released in the US and more importantly, the Sequel to this game on Steam by a Canadian company, Conatus Creative.

Steam

I was very excited to see there was a Linux version of this game on Steam and when I saw this promotional video of it, I jumping out of my seat in excitement.

If you notice, toward the end, you will see that delightfully, semi-pompous-looking penguin toward the end that made my heart skip a little with excitement. Up to this moment, there haven’t been any new games ported to Linux of which I was interested.

Installing Steam

opensuse-logo2I now had a real, true and burning reason to install Steam on openSUSE. I had to play this game, so it was time to get on the “Steam Wagon”. Installing it is as straightforward as most anything else on openSUSE. Either do the direct one-click install here:

https://software.opensuse.org/package/steam

Or install it through the terminal as it is available in the main repository:

sudo zypper in steam

Steam Logo.pngI think Steam has a very decent interface. There is no need to dig into any help sections to understand how to use it. I did the search, found the game and went through the purchase process.

After purchasing and downloading the game, I realized, I didn’t know anything about Steam gaming in Linux, or any form of gaming that didn’t use the keyboard or analog joystick. I didn’t know anything about “modern” controllers to use in Linux and so forth. That forced me into a mode of doing some research quite rapidly on what controllers would be compatible with Linux and I was impatient, unwilling to order and wait for their arrival. I decided to reduce my options and I went to a local store and looked up each model of controller and the challenges of using them on Linux. There is SO MUCH conflicting information out there… I settled on two wireless, PS3 Rock Candy controllers at about $15 each.

After plugging the wireless dongles in, they weren’t immediately usable and I couldn’t figure out why. They were recognized properly as an input. I could check that all the buttons and joysticks were working from the KDE Plasma System Setting for input devices window. They didn’t have any odd behavior so I went digging through the forums and the settings in hopes of finding the problem.

What it boiled down to was ensuring there was generic controller support in the Steam Settings.

Steam > Settings > Controller

Steam Controller Settings

Select, GENERAL CONTROLLER SETTINGS

Steam General Controller Settings.png

Just make sure that Generic Gamepad Configuration Support is selected.

After that, everything should work tip-top.

Wii U Pro ControllerIf you look above, you will see that Wii U – Generic Gamepad is the detected controller. After trying a few controllers, I ended up liking the and preferring the Wii U Pro Controller for gaming. It it quite literally the best feeling gamepad controller I have used to date. My fingers comfortably wrap around the controller and it fills my hands quite nicely. Also note, there are several controllers I haven’t yet tried.

Playing on Linux

Had this game not been released for Linux, I probably would not have purchased it but for some fantastic reason the fine developers at Conatus Creative chose to release it on Linux and for that, I am quite grateful.

Some tips on playing this game on Linux. I use KDE Plasma Desktop and I have noticed one little, teeny, tiny issue. If you use Xrender as the Rendering backend, even if you disable it for gameplay, does cause some frame-rate issues.  If I use OpenGL for the rendering backend, I have a better, smoother experience. Your results may vary.

Controls

I blame the fact that my gaming has basically stagnated and I don’t do much of it that I became unfamiliar with control schemes and much of what I had to do was dig around and piece information together and just become familiar with these newer controllers.

This is a reference for me, mostly as I will likely forget again.

River City Ransom: Underground Default Control Scheme

I had some issues really understanding, while playing, what all these buttons did so I  laid it out visually like this.

River City Ransom Underground Controller_defined-01

I would have died a lot less in the beginning had I done this from day one. Once you get used to it, as it is far different to the original Nintendo’s “River City Ransom”, it can become quite natural, even for those raised in the 1980s and 1990s era of gaming.

Game Play

The premise is simple and could almost be ancient in the ideas of video gaming since, arguably, 1987 when “Double Dragon” was introduced in the arcades and the following year on the Nintendo Entertainment System. You walk around and beat up the bad guys, pick up weapons and use them. In case this style of game play is completely foreign to you, no need to fret, as “River City Ransom Underground” starts off with a kind of tutorial. The Game starts off near the end of the original “River City Ransom”, right before entering River City High School.

RCRU-01-Tutorial

Once you complete this portion where you become acquainted with the updated game play, you will jump ahead some years with the option to select your character of choice. Each character has a different fighting style.

RCRU-03-Character Selection.jpg

What is also quite fun is that you can have four players at once. Admittedly, it can get a little crazy with so many characters on the screen at once, it is also incredibly fun and makes the cartoony violence very, very funny.

Throughout the game, you meet new friends of which you can change to those new found characters. It adds to the many layers of fun in this game.

RCRU-04-More friends

You also meet up with Alex and Ryan, the characters from the original game but 20 years or so older.

RCRU-05-Alex and Ryan.jpg

Game Progression

As you progress through the game, your character becomes more capable through eXperience Points (XP), gained from beating up the enemy and powering up by using the money you earn from your fallen opponents for purchases.

RCRU-06-Shopping

The map also helps with navigating and guiding you to your next “mission” in the game. Outside of a few confusing points in the game, perhaps intentionally, the map is a welcome addition over its progenitor.

RCRU-08-Map

This is much like an open world type game where you are free to explore as you wish. You can go to an objective to progress the story or work on building up your characters capabilities through XP, purchases from vendors in the malls and gaining new fighting abilities by visiting the dojos.

RCRU-09-Dojo.jpg In order to learn new moves, you have to have sufficient XP to be able to acquire it. Unlike the first “River City Ransom”, there are built in controls to limit how quick you can power up your character.

RCRU-10-Stats.png

The limits of your “max” on these stats is driven by your characters XP level. You can buy all the consumables to power up your character but you will hit those limits based on your characters XP level. This will force many hours of beating up rival gangs but it is really quite fun and not tedious at all.

In short, here are what the Stats mean:

ATK – Attack, How much damage you deal with special attacks, not the standard punch and kick but what is considered “special”.

WPN – Weapon, damage inflicted by a strike from a weapon.

THR – Throw, damage from throwing a weapon and presumably throwing an opponent.

AGI – Agility, Effects your character’s stun time (when knocked down, frozen by nerd grenades, etc). Also effects jump attack damage.

DEF – Defense, How much damage you can withstand blocking.

STR – Strength, How much damage you deal hand to hand, punching and kicking.

WLP – Willpower, this can be thought of as a stamina reserve, once you exhaust your stamina, you get a bit of a boost from willpower. This is a good stat to keep full.

STA – Stamina, like many other games, this is your life. Run out of this and you are “dead” which means you lose half of your money and return to the last visited hangout or story element end point.

ENG – Energy, this is not as clear as the other stats but this has to do with how much you can defend yourself before you are no longer able.

SPC – Special, this is another form of energy you have for doing special moves. Special moves are of a greater violence of action and generally do more damage than regular strikes. It is best to use Special moves in conjunction with standard attacks for maximum effectiveness

Visit this Steam Community site for a guide on all the shop items and their stat boosts and meanings of the stats.

What I like

RCRU-Glen-00This game is fun and quite funny. I spent several hours laughing at the absurdity of the 8-bit-like cartoony violence. The variety of characters from which to play is also a fine element that adds another depth of enjoyment. At first I wasn’t keen on the idea because, I didn’t have such variety in 1989 so why do I need it now? This game really does the original “River City Ransom” justice with nods to it all throughout the game. It pokes fun at itself and at the charming ridiculousness of the original. “River City Ransom Underground” is everything that the original game was with so many added elements.

I appreciate how this game starts out at near the end of the original game as a kind of tutorial and walks you through how to use the controls. They kind of rewrite the end of the story a bit to feed into this new adventure. As you start out with the game, there are on screen dialog boxes that will stop the game to give you hints about stamina, willpower and so forth. Many of the screen backdrops are similar enough to the original game that it has a very welcoming familiarity to it but yet adds some additional flare for enjoyment as well as showing neglect. The backdrops are also more interactive than the original. There are things you can break, cars driving, wrecking balls swinging… and much more. The over-world map and subway system is a welcome addition over the original too. I am very much a fan of the “level up” system and how to earn new abilities through the dojos.

The music in the game is also really great. It is similar enough to the sounds of gaming past yet different enough from the original with additional musical elements to not get tiresome to hear for long periods of time.

What I don’t like

Not much, there is not much I don’t like about this game but there are a few nitnoids. The number one is, if the wireless controllers fall asleep because you take a break they can be reassigned to different characters. Not really a big deal if you are playing by yourself but if you have a kid that is VERY particular about using HIS controller. This is enough cause to save and exit the game, come back and re-add players in the desired order. It would be nice if there was a way to associate controllers to player numbers, much like how the Wii U does it.

This game gets Nintendo Hard at times. This isn’t all bad and wouldn’t be as much of an issue if my hand-eye coordination hadn’t degraded over time coupled with the need to learn this new controller scheme. Certainly not the fault of the game.

When you couple the increasing difficulty of the game with some of the story elements that are a bit confusing, I had some frustrating moments. Thankfully there was the Steam forums where that could guide me through these roadblocks.

Final Thoughts

I am a huge fan of the original “River City Ransom” game on the Nintendo Entertainment System. Although I was excited to see this new game based on the original, I was a bit hesitant to buy a re-imagined sequel as I hold the original in such high esteem. I also have been out of “modern gaming” for some time.

I enjoy the new characters with their unique fighting styles, the more interactive environment as well as the “shopping” aspect of the game for powering up. The city map that shows your location as well as the location of your objectives and hideouts is extremely valuable. The subway and car traffic is also a great game play addition. The fact that there is a DeLorean driving by, really made my day too.

RCRU-11-DeLorean

I am very glad that Conatus Creative built this game to run in Linux. I run Steam within openSUSE Tumbleweed and I don’t have a real high end gaming machine but this game doesn’t tax my system at all. It will easily run using on an 4th generation Intel Graphics chipset proving that you don’t have to have amazing, high-end graphics to have fun with Video Games. My thanks to the developers for time and care of making this run so efficiently.

“River City Ransom Underground” is a great game that pays great respect to the original. The 8-bit-like graphics and music gives that vintage feel and bits of humor scattered about makes this a fun game for the whole family. The outlandish fighting leaves me belly laughing and just doesn’t get old. This is a GREAT game. I have no buyers remorse, whatsoever. I highly, highly recommend it.

I do hope that this game was lucrative enough that there will be either a sequel or an expansion pack for the game. I would imagine that the hard work is done, most of the elements are there, it’s just a matter of wrapping it around another story, some additional game elements and further refinements.

One can hope.

External Links

River City Ransom on Steam

Steam Install for openSUSE

Conatus Creative

All Shop Items and their Stat Boosts

River City Ransom on the NES

 

A Very Basic Reference for Zypper on openSUSE

terminal-iconZypper is a great package manager tool and easy to use. Although I don’t have as much need for my notes as I once did, I like to keep them as a reference for me and a place to point to others. I find as I became more and more used to using it in the terminal it becomes second nature but you have to start somewhere. The manual,

man zypper

is a great, well written and complete reference but can be a bit overwhelming for someone brand new to openSUSE. The openSUSE wiki is also a great reference but it is geared more toward those with more experience, as it should be. This is just a very basic reference written to my inner 8th grader or for those that want to dabble or give package management in the terminal a try. After all, the terminal is not something to be afraid of, it is something to embrace and use as often as possible.

Zypper | Basic Reference

…because the terminal is a great place to live.

TeamViewer 13 on openSUSE

openSUSE-TeamViewer 13-angle

I first started using TeamViewer version 12, last year and it has been a fantastic tool. I reviewed it very positively as it was a great tool for me to access my systems remotely. An often spoken criticism of TeamViewer was that it was a Wine application not a true native Linux application. Unless if you pointed it out or checked your system processes, you would really never know it. TeamViewer 12 was a fantastic application that ran extremely well on Linux.

What is TeamViewer?

TeamViewer allows you to remotely access and administer another machine and interact with it as almost as though you had physical access to it. This remote desktop application works very well even when the connection speed is poor. This is a commercial, closed-source application that runs on Windows, Mac, Linux, ChromeOS, Android and several others. It has a free for non-commercial version that I greatly encourage you to try out.

Installation

I started with getting the SUSE version from the TeamViewer downloads page. Since I most enjoy using the terminal to do the installation, I navigated to my Downloads folder and performed the install.

sudo zypper in ./teamviewer-suse_13.2.13582.x86_64.rpm

Your version number may vary.

A point of note, after the install, I recommend doing a repository refresh:

sudo zypper refresh

The installation of TeamViewer adds a repository and it will require you to either reject, trust temporarily, or trust always the GPG key for the repository. If you don’t do this the little update applet in the system tray will display annoying notifications periodically.

Changes Since Version 12

TeamViewer-13-2018-07-computers and contacts

A much unwarranted criticism of TeamViewer 12 was the usage of a Wine wrapper for the Linux version. TeamViewer 12 worked smashingly well, incredibly stable and performed well.

With TeamViwer 13, gone is the Wine Wrapper (and hopefully the sneering) as it is now a native Qt application. It admittedly has a more crisp and smoother appearance to it as compared to the previous version. The User Interface truly has a new level of polish. With this change, no features have been lost. It’s all still there.

Some of the Features

The tools are broken down into four sections: Actions, View, Communicate and Files & Extras.

The Actions Menu has options, just as you would expect. Some options are grayed out, presumably that they are premium features, but there is an option under End Session that will End the session and lock. It is nice to see that the Lock function works as you would expect on KDE Plasma.

TeamViewer-13-2018-06-Actions-cropped

The View section has options that seem very self-explanatory. Something to take note is the option to force an Optimize speed or Optimize quality of the remote session. If you have multiple monitors on the remote machine, switching between the monitors is easy and intuitive.

TeamViewer-13-2018-05-View-cropped

Under the Communicate section, there is the ability to chat with the remote user. Should you be doing tech help for a friend or family member, this can be very handy. I haven’t had a need to Switch sides with partner before but I can see where that would come in handy.

TeamViewer-13-2018-04-Switch Sides-cropped

Files & Extras has the option to do screen recording. A feature I can see very handy if you have to show someone how to do something and want them to have a record of it to refer back if needed. The Open file transfer tool is very valuable and super convenient when you have to send off a file as part of the tech help but I have used mostly to send a file to my home computer or the other way around when I am remote.

TeamViewer-13-2018-03-Files and Extras-cropped

Use Cases

My use cases haven’t changed much in the last year, outside of I don’t use it very often with mobile devices. I have found other ways to directly communicate with them using KDE Connect. Where I do use it most is to remote into my home system when I am remote. This is handy when I am working on a project and didn’t want to shut it down and take it with me or to check on a process. It is great to have the flexibility to remote into my home machine finish a project or continue plugging away at something when there is a some white-space in my day. The benefits of remote access to help out friends and family that, on the occasion, have tech questions is a fantastic time saver.

What I Like

TeamViewer-13-2018-02-CroppedThe menu items are the same but everything has a better look about it. The fonts and widgets are smoother and the Toolbar has a pleasant fade to translucent when the mouse moves away from the menu. TeamViewer continues to be very reliable and the same consistent performance. If I were to ever make a business in the Information Systems space, this as a fine solution to do remote desktop support. There are complaints about the expense of it but considering all the features, stability and general polish, the business case is there to use it. The $49 / month offering for a business that has regular need for it seems justifiable. I don’t have that much need for it and thankfully, you can use it for free for non-commercial use.

What I Like Less

The only one, small, regression I have noticed with version 13 is the process of adding new computers to my list. There wasn’t a right-click option to “add this computer” to my computer list. Adding a remote computer is easy enough doing it the manual way entering the ID and password of the machine. This is the only a minor annoyance I have noticed.

Final Thoughts

TeamViewer 13 has a whole new level of polish, has moved away from Wine and is a native Qt application. I am very impressed by the lack of regressions in making this rather significant transition. The application does feel a more responsive but that could just be me getting distracted by all the nice new polish. I didn’t perform any before and after benchmarks to verify.

I continue to be very thankful and grateful that this company builds a version compatible with openSUSE and would allow me to use TeamViewer for non-commercial purposes. I have become very accustomed to this tool and hope for many more years of usage out of it.

Further Reading

TeamViewer 12 on openSUSE Leap

TeamViewer

openSUSE

Wine

KDE Plasma Desktop

KDE Connect

Qt Cross-platform software development

Porter-Cable 18v Drill Repair | Forward/Reverse Button

Porter-Cable Drill-02-Disassembled.jpg

I bought into the 18v Porter-Cable cordless tool system in 2009 with the 4-tool Combination kit. It came with a drill, reciprocating saw, circular saw and a rather nice flashlight. I got these tools to conduct some renovations on rental property and they all worked very well. At that time, I was a HUGE Porter-Cable fan as they enabled me to add to this system more very useful 18v tools. As more tools were being released, more were going to be available for this system and I had a project for every one.

Many Happy [Porter-Cable] Years Later

When renovating house in 2014, I broke the Forward/Reverse Button while drilling a 4 inch hole for the purpose of routing a vent for a bathroom. In my late-night cramming to complete the project, I was obviously not at my peek, exhausted and not ensuring my drill remained coaxial to the hole I was drilling. While cutting the hole, the drill jerked, my thumb hit the Forward/Reverse Button, something snapped and the button moved back and forth freely with a limp rattle. I planned to fix it after my family vacation but it ended up just sitting… for a long time.

I brought the drill to work with the intent of taking advantage of the tools in the model shop to conduct the repair. Like so many other good intentions, they start well and just end up sitting, and it did until a coworker made a comment. “Hey Porter-Cable! I love Porter-Cable! Why is it sitting there?”

I had some time at that moment, waiting on feedback from an engineer to some design of a some part or system so I decided to investigate the true failure of the drill as I explain how the drill ended up at my desk.

Porter-Cable Drill-03-DisassembledThe drill was held together with 8, easily accessible, screws but there was some significant resistance at separating the two halves of the drill. After applying what I would consider an unreasonable amount of force, the drill exploded in my hands.

Porter-Cable Drill-01-Broken pin.jpg

There really isn’t much to a drill. It is basically a handle with a trigger designed around a motor and gear box.

Upon examining the Forward/Reverse Button, it was very apparent what exactly had failed: a very small pin that protruded from the component simply sheered off. It was no longer able to move the selector mechanism at the bottom of the motor assembly. I wasn’t sure what the best solution was for fixing the switch so I took the part and its broken bit to the model shop to consult one of the many individuals, all of which are more adept and providing an effective solution.

Porter-Cable Drill-05-Fixed selector switch.jpg

The model maker I took it to, looked at the parts and said that the first course of action he would try would be to use an industrial strength version of Loctite with an accelerator. The two parts allowed me to layer and harden some more of the glue around the base for added strength. I was a bit skeptical but the model maker assured me that the rapid-prototypes that are made in sections are held together quite successfully with this adhesive. Worst case, it doesn’t hold up and I try something else so there was nothing to lose.

Reassembly

While reassembling the drill, I discovered what was causing the resistance to disassembly. A little RF theft prevention tag stuck on the inside of the base of the drill.

Porter-Cable Drill-04-RF ID Tag

I am fascinated by the placement of the RF theft prevention tag. I would like to see how they actually stuck that in that location on the assembly line. I imagine it was placed after the halves of the drill were fascinated together… but how?

The only real challenge to assembly of this drill was this black wire that seemed to be oddly short, compared to the other wires. It required some extra persuasion to get the wire in a place that would not pinch it when fastening the halves together. I couldn’t see how the wire was routed from the factory as the drill sort of spilled into pieces when I was forcing it apart.

Porter-Cable Drill-06-Reassembly.jpg

Assembled and Put To Work

I employed the drill this weekend and it works fantastically, once again. I am glad to have two functioning drills again among the rest of my 18v cordless, Porter-Cable tools. Even though this isn’t powered by one of those new, fancy brushless motors, it has the torque to do the job, every time.

Porter-Cable Drill-07-complete.jpg

Final Thoughts

Unfortunately, after purchasing every 18v Porter-Cable tool, they decided to abandon the 18v platform in favor of this new 20v MAX platform. It annoys me because “20v” is technically 18v so there is no additional power gained. My 18v tools are now an abandoned platform which is quite irritating after investing all that I did in the platform. My batteries are fading and I am not prepared to replace all these tools as that would be a poor economic decision. I also do not want two different battery systems. It is unfortunate that there isn’t an upgrade path to the 20v MAX line from the 18v tools, such as battery adapters or something to encourage me to start buying the newer line of tools. So now, I am at a decision point. I either need to buy some new or refurbished batteries or possibly replace the cells in my battery packs. I have projects that do require some new tools but do I go with Porter-Cable or do I abandon the brand just as they abandoned me with the 18v line?

What’s the Linux connection? There isn’t. This is just tech I use to get other, non Linux-y, things done.

References

Porter-Cable

Pro Tool Reviews 20v vs 18v

3D Printed 20v Battery to 18v Porter-Cable Tool Adapter

SCP | Secure Copy in the Terminal, Another Gift to Future Self

terminal-iconIn my journey to spend more time in the terminal and less on the fancy graphic user interfaces, I had to write this reference up for myself. This is not a complete usage of SCP, just the parts that I need that are most typical to what I need. I am also using this as a simple guide to lower that barrier of entry and encourage more people to communicate with the computer how the computer likes to communicate: In the Terminal.

SCP or Secure Copy, is quick and easy to use once you understand the syntax. I have used this in my last two projects and am going to make it a point to use it whenever it makes sense. Since I my ability to remember details can be shoddy, this reference will remind me as needed. Another note to my future self that will undoubtedly come in handy.

Secure Copy Reference Page

Future Self, you’ll thank me later, and you’re welcome.

openSUSE Tumbleweed on HP Pavilion 15

HP Pavilion-15-00-TW.pngI make no bones about the fact I am a Linux geek and try to make myself available to anyone with tech questions, but I typically will shy away from putting hands on to fix any Windows issues. I just don’t have the time or patience to mess with it. I was approached by a lady in my church with a brand new laptop telling me she wants me to install Linux on it. We talked about what software she uses and the only application I don’t have a solution for (outside of using a VM) is iTunes. Though, it looks like this may be a non-issue as she only uses it on her phone.

The computer is an HP Pavilion 15-cs0034cl with very nice specifications. Much nicer than most of the hardware I own.

Specifications

  • Intel Core i7-8550 @ 1.80GHz
  • 12 GiB of RAM
  • Intel UHD Graphics 630 (Kabylake GT2)
  • Nvidia GeForce MX130
  • Glossy 1920 x 1080 touch screen
  • 2x USB 3 Ports
  • 1 USB-C
  • HDMI
  • A REAL Ethernet port, Realtek RTL8111/8168/8411
  • Intel Corporation Wireless 7265
  • SD Card Reader
  • 1 TB Hard Drive (yes, spinning rust)

Install

I prepared the installation USB Flash Drive by downloading and imaging the drive.

To start out, it is necessary to Access the BIOS: F10

Upon entering the BIOS, was a bit underwhelmed by the interface. It has that early 2000s look to it; mostly blue and gray. It also doesn’t have the breadth of options you would see on a Dell Latitude series of machines. Even one from 10 plus years ago.

In order to access the boot options, arrow over to Boot System Configuration and press enter, then arrow down to Boot Options and press enter.

HP Pavilion-15-01-Bios.jpg

Ensure the following to get the system to boot from the USB Drive:

  • USB Boot is Enabled
  • Secure Boot is Enabled
  • UEFI Boot Order, moved USB Diskette on Key/USB Hard Drive to the top of the list

Save and Exit, and began the installation process.

The install was without issue. In order to make this work, I removed the largest partition and, formatted the EFI partition but left the Microsoft Reserved Partition and Diagnostic Partition intact.

Drive Layout

  • 260.00 MiB for /boot/efi
  • 12.00 GiB Swap
    • I left this at 12 GiB so that should the owner of this machine require suspending to disk, the space is available. Many distros do not ship with this feature turned on but openSUSE does and it seemingly works fine on this machine.
  • 25.00 GiB / (root)
  • 0.86 TiB /home

Nvidia Graphics

To install the Nvidia drivers, taking advantage of the hybrid Intel / Nvidia technolgy, I used the openSUSE Wiki as a reference. It is very nicely laid out, step-by-step.

The Nvidia drivers certainly are an exercise in frustration. Maybe other distributions have the hybrid setups more dialed in but it is installed and usable. Realistically, this machine is not ever going to have to use the Nvidia graphics but it’s nice to know it’s there.

 

Additional Software

I installed my Basic Application List of the multimedia codecs and the Google Chrome browser. I don’t have a lack of faith in Firefox but I know this particular user is more accustomed to Google Chrome.

I also transferred a simple script and .desktop file I put together to assist in keeping the system properly updated with little effort.

What I like

This is a nice solid system that feels quality. I think I like the touch screen but at the same time just seems like a novel feature. The system is fast, thin and light weight. The keyboard isn’t bad and quite possibly one of the HP keyboards I have ever used.

The screen has a unique pivot point that tilts the laptop just a bit when it is opened.

HP Pavilion-15-02-pivot.png

Conveniently, this machine has an Intel Wireless NIC so there wasn’t any effort needed to get it operational. Outside of the Nvidia GPU, there wasn’t any fiddling required on this machine to get everything working.

The screen is really sharp and crisp looking. Based on the screen and keyboard alone, I could certainly use this as a daily driver.

What Don’t Like

I would prefer to have an AMD GPU as it is easier to use for the hybrid function. AMD has also open sourced their drivers so there is nothing that has to be done to get the needed performance out of your system. I still like having an optical media drive, tho admittedly, I am not using one as often as I used to but I still prefer having one built in.

I also don’t like people touching my screen…

Final Thoughts

I wasn’t able to test the USB-C port as I don’t have anything that to plug into it. Everything for this machine works right out of the gate. I would recommend this machine for most people as it will do what most people need. I only tested Tux Racer on this machine and it ran smashingly well, without any screen tearing or glitching.

I will be likely supporting this machine for quite a while but I don’t mind helping others get off of the proprietary software wagon. I am a big believer in owning your own hardware, having something that is more secure on a platform you can trust.

Here is to hoping this conversion to Linux goes well!

References

Base Application List

openSUSE Wiki on NVIDIA Bumblebee

Simple Tumbleweed Distribution Upgrade Script