LeoCAD | Free Lego® CAD Software on openSUSE Linux

LeoCAD-00-Title.png

CAD is not only what I do for my profession, I also do it for fun. For personal projects, I have been having a great time with using FreeCAD, a very capable and feature-full parametric modeler. With a recent resurgence of Legos in my house and falling into some web-searching rabbit holes, I stumbled upon this Lego CAD software called LeoCAD. I am currently using the AppImage on openSUSE that works fantastically well. I’m sure it will work on any modern Linux Distribution. It is also available for those “other” platforms. It can be downloaded from here:

https://www.leocad.org/download.html

The nice thing about AppImages is that there is nothing to do to install it. 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 LeoCAD.

LeoCAD-01-Permissions.png

Um… Why?

Beyond the cool factor of creating Legos in virtual space or loading up those childhood models and modifying them in ways that you didn’t have the parts for as a child, there are lessons you can teach kids with this software.

LeoCAD-02-Invader.png

LeoCAD is not only an extremely enjoyable toy but it is a great tool for teaching my kids the principles of Assembly, Sub-Assembly and Master Assemblies and the some understandings of spacial relations. At the very basic level, using LeoCAD to create, you are putting pieces together to create a very basic “assembly” or model.

LeoCAD-03-Invader Cockpit Partial.png

To put together a model you create it, much like in real life, piece by piece. There is an extensive library of parts from which to choose. You can search through by category or use the part numbers to more rapidly locate what it is that you need. Those parts can be colored from what you see in the pallet which are, from my understanding, actual Lego colors. Here is a fun fact. On Legos that are made in the 1990s-ish or newer, will have a part number molded into each part on a “non visual” surface. If your eyes are older… you might need a magnifying glass.

Another very cool feature of LeoCAD is the ability to order steps on a model. If you have a desire to create your very own instruction booklet, that can be done with LeoCAD.

LeoCAD-04-Invader Cockpit.png

Once you have created a Sub-Assembly, or as LeoCAD calls them, “Submodel” you can bring each Assembly / model in together in a “Master Assembly”.

LeoCAD-05-Invader Ship.png

Any assemblies or Submodels can be treated like any other Lego part. Objects are objects whether they are individual pieces or Submodels.

For whatever Submodel Tab you have selected, you can view the parts used by selecting: Submodel > Properties… then select the “Parts Used” tab. This gives you a complete list of all the individual pieces you have used in your model. If you so choose, you can take this list and purchase the necessary pieces to build your creation.

LeoCAD-07-Parts List.png

Unfortunately, I was unable to find a way to export this list into a spreadsheet, so that does complicate matters somewhat.

If you want to download some Lego Sets to spin around LeoCAD, check out the Ldraw site. You will need to know the set number to look up to get the CAD files. If you would like to look at this the previously pictured Blacktron Invader, from 1987, see here.

Lego Project

After some playing with LeoCAD, my boy and I began talking about what we should build. We are both fans of Star Wars and he liked all these old 1980s themed Lego space sets so we decided to put two of them together and made a “Blacktron AT-ST”. It was a good way to go head-first in really learning and understanding this software and it’s quirks.

LeoCAD-10-Blackktron AT-ST.png

Just building the model in LeoCAD took about a week of work. That was a few hours here and there. Much of the time spent was learning how to effectively navigate the software and fine the proper parts in the library. The actual assembly process of the pieces is pretty intuitive. You do have to play with the snap points when doing less common assembly angles but it is in no way difficult. This was probably a bit too ambitious for a first project but it was completed. There are a total of 428 parts divided into 24 submodels one of which is the Master Assembly (submodel) that all the individual models assemble into.

We took the parts list and went through the Legos we had to determine what was on hand, then we put the rest into a “wishlist” on Bricklink.com where we were then able to order the parts necessary to build it. My boy used this an entry for a craft project for the local county fair. It was fun for the both of us. Maybe me more so than him but this application along with the resources through the Internet is essentially a childhood fantasy come reality.

Blacktron AT-ST-01
Blacktron AT-ST

I want to note that this is not in any way an original design. This is heavily based on an actual licensed model and essentially recolored to look like it could fit with the rest of the Blacktron theme. Now, it is just another Lego model toy on our Lego table.

What I like

Assembling Legos in the virtual space, although not as satisfying as the snap of the genuine article, is fun and can really allow you to flesh out some ideas somewhat rapidly. The benefit is, you can take that virtual model and turn it into a real model.

Another thing I like to do with LeoCAD is documenting changes I make to a design. If I come up with an idea, I like it, I can make it in the LeoCAD and date stamp it. This way, I have the freedom to make the changes to the real model and I have a point I can go back to as a reference.

LeoCAD is very fast and snappy using only the Intel GPU. I have run it on my AMD GPU as well as and I am sure it is performing better but not so much that I can tell the difference.

LeoCAD-11-ColorsIt is easy to change the colors of parts of the Legos and if you are doing a virtual prototype, it is much easier to swap out the colors of parts on LeoCAD than it it is with Actual Legos.

There are all kinds of 3D models to download, look at and modify to your hearts content from Ldraw.org. If you need to look up set numbers, use this resource: brickset.com.

What I don’t Like

There isn’t much to not like about this software. There are only two issues that I have with it. There is no way to export the Bill of Material / Parts list to any kind of file. Even a way to export to CSV would be fantastic. As it stands today, you can copy only one cell at a time. Hopefully there will be an export feature in the future.

There is no collision detection between parts and pieces. So, it is possible to bury parts within parts. Some kind of “align” and “orient” option would be great too when assembling components.

Lastly, and really, least important, the UI is too light. I would prefer a dark theme. Not a big deal but it would be nice.

Final Thoughts

LeoCAD is not only a great tool for teaching the concepts of Computer Aided Design but it is an incredibly fun toy with which to play. I didn’t realize what kind of fun-spiral I could fall into. LeoCAD is an incredibly useful tool to teach CAD and many CAD concepts.

If you have a passing interest in Legos or CAD or both, this is worth checking out. Opening up Lego models from your childhood, spinning them around and modifying them like you would have done so many years ago is a great way to spend a weekend where the weather isn’t cooperative. Being able to create, modify and document your ideas is fantastic but the best part about LeoCAD is, at no time will playing with these Legos pose any risk to your feet.

Further Reading

LeoCAD Site

LDraw.org, open standard for LEGO® CAD programs

LeoCAD on GitHub

BrickLink.com Lego® Marketplace

Brickset.com, Lego® Set Guide

Advertisements

Franz | Chat Messaging Unification Application on openSUSE

Franz on openSUSE.pngDuring one of my web-searching, rabbit-hole voyages, I stumbled upon this Franz application. I was immediately thrilled with the idea as I have a number of chat services I use on regular basis. It has almost grown out of control and my current solution for these services was less than stellar. I have a mixture of Electron applications and tabs open in a browser to keep connected to all these different circles of people and organizations. I consider it a rather untidy and disjointed solution of maintaining Facebook Messenger, Hangouts, Telegram, Discord and a few others. Most recently I added Slack to the mix and I thought for a moment, this is far from the good ‘ol days when I just used IRC and AOL instant messenger to talk to everybody.

Bottom Line Up Front, I like Franz. I do indeed recommend it as a solution to try to consolidate your chat services and remove the burden from the Web Browser or the spattering of Applications.

Installation

My first course of action is to see if the application is in the openSUSE Software center. I have more trust in ensuring an application is properly updated from that source than others (with some exceptions). Franz is available from here:

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

I am using a community maintained version so there is a risk that it might not continue to be maintained should the maintainer discontinue using it.

The other option is to use the AppImage. Also a fine choice for this application:

Franz AppImage Download

A word of caution, it may be up to you to ensure that you have the latest version of this application on your system. I only have one AppImage I use that does warn me of updates. The others do not.

Setup

I was just a bit surprised that the usage of this application requires a login. I completely understand having this for the paid, supported version but I am not sure exactly as to why the free version would require it.

Franz-01-Start Screen

I am undecided as to whether or not I am content with this requirement. I do understand the reasoning from the perspective of the developers to know how many users there are but I just don’t know about it.

Franz-02-Create Account.png

This is certainly not a deal breaker by any means, I just have to realize that there is some control that I am resigning by using it. Ultimately, no more than most of the other chat services running in a Browser Tab but I don’t have to log into the Falkon Browser to use GroupMe or Facebook Messenger… just a thought.

Memory Usage

I was interested in comparing using this new Franz application alone to using Falkon with just the tabs for each client combined with the native applications. It seemed like a reasonably fair method of comparison. First, I tested the existing method:

The existing method of Telegram, Discord and Skype using the stand-alone installed applications, one session of Chrome for the Hangouts, plus Falkon with only tabs of the rest of my messaging services used 2.6 GiB of RAM. Truly a shocking amount of resources for sending text messages and pictures.

The Franz alone method, running the same 11 Chat services for approximately the same amount of time consumed 1.8 GiB of RAM. This still seems just a bit on the high side just for sending messages but clearly better. When using the AppImage, I didn’t notice any signification memory usage differences.

Whether using the existing method or the Franz method, I did notice some memory usage creep from the beginning of each timed test to the end of the test. I didn’t let it play out for days to see if it became increasingly worse. I also didn’t have the tools or patience to determine the cause in either case but it seems reasonable to assume that there would be messages and pictures cached over time.

Application Usage Experience

I tested both the distribution managed RPM and AppImage versions of Franz and it is good to know that they both used the same configuration files which I have discovered to be here:

~/.config/Franz/

Franz-06-Operation.png

I was very appreciative of the System notifications for new messages on the different services. There were some that didn’t have any new messages over the testing period. When running these services in Firefox or Chrome, you can turn on notifications. In Falkon, my currently preferred browser, you cannot and do not get notifications. Clicking on a notification will bring up the Franz window and switch to the conversation to which that dialog belongs. This is very handy as that is not always the case when using the Hangouts or Telegram applications.

When using this, I have noticed that some of the services can fail and require being reloaded. This has happened when I have Suspended to RAM and moved locations. The solutions is easy. Either reload the failed service or all of Franz.

Franz-07-Reload Menu sm

What I don’t like

The application is themed with light colors. I frankly do not like anything with a light background. I make exceptions, such as working on a document that I know will be printed onto white paper. White paper makes sense to work with as that will be my intended final product but anything outside of that needs to be light text on a black background.

This program is essentially just wrapping the web content in a more native-feeling application. From what I can tell, it doesn’t actually use the APIs of any of the services for its own built in application. I can’t really put a finger on why I don’t like this as much as a native application so I will call this a nitpick dislike and perhaps rather unfair.

What I Wish It Would Do

Some sort of style sheet overrides to allow for a dark theme applied to everything. I use an addon with Firefox to force this and for the right sites it works very well. I do wish Franz somehow wrapped in the Linux client of Telegram. I do not like the web UI as compared to the native application almost enough that I might just not use the Telegram service in Franz.

Final Thoughts

I am now considering removing the native applications from my system but at the same time, I do like the idea of having them because I find the idea of native stand-alone applications pretty great as well. It brings a smile to my face to see that Telegram, Discord and even Skype have a specific Linux installation and I want to support that, even if they might just be Electron apps wrapping the Web content.

The amount of memory that browsers and even this Franz solution takes does seem a bit absurd. Under the best case, running these chat services still take up too much memory, in my opinion. Using Franz for all 11 services used 1.8 GiB which breaks down to 163 MiB per chat service. I can’t help but wonder, what is really going there?

Although this issue doesn’t apply to me, there is one immediate drawback to Franz, It appears as though you have to use the paid version in order to use self-hosted services like Mattermost. If you don’t mind paying, not a problem, but if that is not in the budget. You may have to find another solution.

Overall. I am quite pleased with Franz and I will continue to use it until I find something to challenge its “seat” as my multi-chat client of choice. I do like freeing up my Browser from chat services and the notification feature works just as you would expect. This is a great piece of software and worth checking out.

Related Links

Franz Main Site

Ubuntu Pit article on Franz

Franz from openSUSE Software

Telegram on Mobile and openSUSE

Falkon Web Browser on openSUSE

HP Touchpad with Plasma Mobile and openSUSE — Fall Time Blathering

HP_TouchPad_Title-2.png

After working with Plasma Mobile on the Nexus 5X and although it is not quite ready for prime time, it is nearly there. It is so close, I can taste it and I am very ready to see Plasma Mobile as all I see on my mobile. I am also continually seeing interest on the aging HP Touchpad. It too is a fine piece of hardware that is still very capable and now, I can’t help but wonder how much work it would be to port Plasma Mobile to that hardware. I see that there has already been work with the Halium Project for the HP Touchpad. Unfortunately, my understanding at what goes on at the base hardware level is EXTREMELY limited.

Plasma Mobile Experience

Nexus 5X-PlasmaMoble-01The look and feel of Plasma Mobile is pretty great. Like all things Plasma, it is highly customizable. What that means to me, I can make my Mobile experience exactly the way I want, not something dictated by a corporation as to how they intend for me to use my technology.

So then I thought, I know Plasma Mobile is still in early stages, many things are still being taken from Plasma Desktop but that really should only require some adjustments. Over time, Plasma Mobile, much like the Desktop Counterpart could very well end up being the nicest, cleanest and yet most customiziable interface ever.

The HP Touchpad

HP_TouchPad-12-LineageOS.pngThe Touchpad, by today’s standards is not spectacular, but it isn’t terrible either. Its CPU is a dual core Scorpion clocked at 1200 MHz. It has 1 GiB of RAM and either 16 or 32 GiB of storage. It is certainly adequate for many tasks. I can’t help but think how fantastic this Touchpad would be with proper Linux, access to the breadth of open source software.

HaliumThe good news is, the possibility of having a working Plasma Mobile interface on the HP Touchpad may be closer to reality than not. According to the Halium Project on GitHub, three have already been tests completed successfully. This is, unfortunately far outside my skill sets so there isn’t much I can offer here but I am watching the project with great interest.

How Useful Could It Be?

kontactI know multimedia is the thing… streaming Netflix, watching YouTube and GPU intensive games is the common usage for tablets but that is not what I am interested in doing with it. There are far more interesting and productive activities. Using the Touchpad as my window into my digital recipe collection, reference technical documents, access to Kontact, the KDE Personal Information Manager, or at least parts of it for time and task management.

HP Touchpad with Plasma Mobile and openSUSE

opensuse-logo2Then I did some more thinking. I have only begun dabbling in the fantastic Open Build Service, but what if that system could be used to build an openSUSE Tumbleweed distribution specific to the HP Touchpad, tested by the openSUSE openQA and released in a similar rolling snapshot to the regular openSUSE Tumbleweed. Even with a fraction of the stability, reliability of upgrades and the breadth of software, this would be a fantastic improvement as compared to what is available today. It would be a gigantic library of goodness with many the most useful tools readily available.

Now What?

Even though the HP Touchpad is far past its end of life, I continue to use it on a daily basis. I am very interested in seeing the HP Touchpad get a more genuine Linux upgrade and would like to toy with it now but I have to personally determine, do I want to take my HP Touchpad out of service? Would I even have the time test and experiment on it or do I continue to use it as it is? It is very usable today and works mostly well but a project like this might give it enough life for perhaps several more years and be more useful than it is now. For now, I will keep tabs on it but maybe in the very near future I will be able tip my toes in this arena.

Further Reading

Halium for HP Touchpad Project on GitHub

HP Touchpad Specifications

Open Build Service

Halium Project

open QA

openSUSE Tumbleweed Home

HP Touchpad in 2018

Plasma Mobile installation on Nexus 5X

KDE Kontact Personal Information Manager

Falkon Web Browser on openSUSE

Falkon on openSUSE.pngA web browser is a tool that is pretty much indispensable for day to day work and annoyingly, over the last few years they have become more and more memory hungry. My browser habits are as such that I am mostly using the web browser for research, gathering information and expanding my knowledge so very often, w3m is good enough for me most of the time but some sites just don’t read as well. My solution that has been working out for a few months now is the Falkon Web Browser, formerly known as QupZilla, it is a low memory and resource browser that is peppy and renders pages as expected. It uses the QtWebEngine which is based on Chromium but with any binary files and any auxiliary services that talk to Google platforms stripped out.

For the most part, I could exclusively use this browser but there are just a few things keeping Firefox open as my secondary browser.

Installation

Falkon, like anything else, is easy to install from the openSUSE repositories. I checked this time to be sure and it is available for both Leap and Tumbleweed… sure enough, it is in the official release repositories of both.

For the one-click method of install visit the openSUSE Software Site or alternatively, you can do it the fun and exciting terminal method

sudo zypper install falkon

If by some chance you don’t run openSUSE, check with your distribution’s software center or download it direct from Falkon here. They offer Windows binaries and an AppImage.

What It Does Well

If you read nothing else, read this: The biggest and most important thing this browser does is general web browsing, many, many tabs with almost no appreciable hit to memory. Even after having multiple tabs open for days, the memory doesn’t creep either. Somehow, Falkon is managing each tab as such that it doesn’t go all crazy over time. Sure, if you are running a big, beefy rig with 32 GiB of RAM, this isn’t an issue but running lowered powered hardware, this is an issue.

Falkon Browser-01-Start Page

Falkon is very fast and renders pages without any noticeable artifacts. Much less an issue with today’s browsers but some time ago, this has been an issue with lesser known browsers. Also, when using Falkon to post comments or create blathering pages (like this one), it doesn’t bog down over time.

Falkon Browser-04-openSUSE

Falkon comes with a built in ad blocker that can be turned off for sites as you wish with a click of the mouse. I leave the ad blocker on but turn it off for sites I use that depend on advertising dollars. I would consider this the best ad blocker but it filters out much of the cruft.

Falkon Browser-02-Preferences 11.png

Falkon looks great with a KDE Dark Theme. It fits in well with my desktop theme and has a pleasantly minimal look about it with few buttons and just feels clean. Visually, this is exactly how I want my desktop and browser to be which is fantastic. There are some other options in the preferences if you want to make it look less good, if that is what you are most accustomed.

Falkon Browser-02-Preferences 2.png

Browser history and bookmark manager are also what you would expect from any modern browser. I particularly like the interface but it is nothing that Chrome or Firefox are lacking.

Falkon Browser-06-Library

What It Doesn’t Do Well

It doesn’t do Flash but that isn’t such a big deal today. That means I use Firefox or Chrome to watch Homestarrunner.com videos. Most of the flash media on the web has seemingly disappeared. I’m still a fan of Flash… I might be the only one…

I can’t watch Netflix with Falkon as it doesn’t have the DRM Extension capability and there isn’t an extension that you can load to add the functionality. This is another “entertainment” activity, of which I am not generally using Falkon for anyway.

KDE Plasma Browser Integration is not an option but maybe will be in the future. I did some searching and couldn’t find any discussion on it but admittedly, I didn’t search very hard. This would be a nice function to add and would basically make Falkon almost “feature complete”.

I can’t do one-click install from the openSUSE Software Site and Telegram invite links will also not work in Falkon. These are actually the largest of issues for me with Falkon. My work around is just to use Firefox but it would be pretty great if Falkon could do this.

There are a limited number of extensions but truthfully, that is not a big deal for me as I generally don’t run any extensions… unless it’s Chrome but that is another story.

Why I Use It

I have found on numerous occasions that Chrome and to a lesser extent Firefox will start to memory creep over time. Using Chrome for a full workday with 6 or 8 tabs open will take up about 6 GiB of RAM and that is only having Gmail, Drive, Calendar and a few Google Documents open. On my machine with 16 GiB of RAM, this isn’t so much of an issue but on a 4 GiB laptop that I often use as a kind of side kick machine, this is an issue. This is so bothersome on the 4 GiB machine, I don’t bother with Chrome at all. It isn’t even usable but Falkon will do all the GSuite activities with a fraction of the memory resources without the memory creep. I can run that all day and not have a second thought about system resources.

Falkon Browser-07-Gsuite.png

Falkon doesn’t have any of the Google binary blobs doing unknown things. My primary reason for this is, I want my computer working for me, not working for someone else. I don’t need my computer cycles and electricity working to service a company unnecessarily and without my consent and I have no proof of this but I am starting to think that all this memory creep that happens in Chrome is largely due to those binary blobs.

Ultimately, I miss the days of using Konqueror as my daily web browser and this feels like a return to those good ol days some 12 years ago. Clean, simple and basic web browser that I feel like I can trust.

What I Wish It Would Do

Flash is on it’s way out so I don’t see the development team adding support for that at anytime. The next thing on my list would be the KDE Plasma Browser Integration. I do listen to some podcasts from some sites and I am able to start and stop the music using my Bluetooth headphones when using Firefox but not so with Falkon. That lack of functionality is unfortunate.

Another lacking point is having Smart Card Security Device integration. Just as I can set up Firefox and Chrome / Chromium with the Smart Card system, it would be nice to do so in Falkon.

Falkon isn’t able to open the appropriate software management program when using the One-Click install from the openSUSE Software site nor is it able to access web link invites for Telegram. If there was some way to shim it with an easy, user-level script, that would be great. I haven’t yet discovered (though, I haven’t looked) a way to do that but I am hoping it will in time.

Final Thoughts

Falkon is not what I would consider a “feature incomplete” browser but it is almost exactly as I want it. Simple and feature reduced. I don’t want my browser doing very much. I want its tasks to be limited to basic browsing and not gobble up memory resources.

This is a fantastic productivity browser. I use it for keeping tabs on different sites and bits of information handy as I go down my rabbit holes. Having multiple tabs open is also not an issue as Falkon does a good job of memory management and doesn’t start memory creeping when left open. It is rock solid and has yet to crash on me.

I highly recommend giving Falkon a spin. See if it will work for you. You just might be glad you did.

References

Download Falkon Browser

Falkon Browser Project Page on GitHub

Plasma Browser Integration

W3M Browser

More about the QtWebEngine

Falkon from openSUSE Repositories

Smart Card Security Device Integration Instructions

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

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

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

Windows 95 on openSUSE Linux

As I was watching my oldest son play Minecraft, I was rather amused by the buttons and widgets for the interface, they were very Windows 95. Although I was more of an Amiga user at that time, we did have a Windows 95 machine in the house to do… Windowsy things like that whole Microsoft Office thing. Something my Dad needed for work or his community, local government involvement. Regardless, fond memories of the mid to late 90s and computers.

I told my boy, rather excitedly about Windows 95 and to my surprise, there is an electron app I can install into Linux, Windows or Mac OS.

Installation

I downloaded the RPM from here:

https://github.com/felixrieseberg/windows95

and installed it,

sudo zypper in ~/Downloads/rpms/windows95-linux-1.3.0.x86_64.rpm

Upon running it, I was greeted with a start screen. For the purposes of my level of usage, the big center button “Start Windows 95” is all I need, for now.

Win95-01

Once it is booted up… or rather the state is restored there is a nice message from the developer and a round of Solitaire ready to go.

Win95-03.png

For nostalgia sake, I played a game of FreeCell, and won.

Win95-04.png

As far as FreeCell games go, the Windows 95 version is still my favorite… for reasons I don’t exactly know. The version on the Amiga or KDE Plasma’s KPatience are absolutely better but something about this version always leaves me with a smile.

It is also somewhat noteworthy that the idea of the Control Panel is still in use on KDE Plasma. Not sure if we can thank Microsoft for this or not as I do recall a “Preferences Folder” on the Amiga Workbench.

Win95-05.png

After enthusiastically showing my boy a Windows 95 computer, he looked at it, paused and just said, “cool.” and went back to playing Minecraft.

Final Thoughts

He was right, it is cool and there is a lot you can do with this. At this time, I was not able to get network access to do any meaningful and with only 53 MB free on the C: Drive, there isn’t much I can install. BUT, if I rebuild the image… there are several old games I would like to see if I can get running in it, although, not the most efficient way to do so, it would be fun, just because.

References

Windows 95 on GitHub