Thursday, April 30, 2020

Last Post for April

So, with the whole COVID-19 stay-at-home stuff going on I have been kind of bored.

So, I spun up 3 new aquariums.  They are small aquariums, two 10 gallons and a 15 gallon tall.  It has been fun... and they are community aquariums, unlike the usual ones I set up where all the fish would just assume kill each other and bite you as well.

Two of the tanks are freshwater tropical.  The third, which does not yet have its inhabitants, is a freshwater native set up.  I am excited about this one because, well, there are a lot of interesting and attractive fish in the 48 contiguous states.  None of the ones I have purchased are particularly flashy, but that is alright.  Here are the fish for my native setup:

Qty      Descrip
3          Elassoma gilberti, Gulfcoast Pygmy Sunfish 2M 1F
7          Rosy Red Minnow
4          Lined Topminnow
2          Central Mudminnow

I had also considered Darters instead of mudminnows but...  for whatever reason I was a little concerned about them as far as maintaining them in an aquarium goes.  Thinking back, the Pygmy Sunfish are probably more difficult.

I have kept a native aquarium before, years ago.  I went back to the person who I ordered from previously because they have been good to me... Jonah's Aquarium.  Now, native fish are not inexpensive.  In fact they can be more expensive than tropical fish, partly because of the effort involved in either collecting or breeding them in small batches.

The pygmy sunfish are native to Florida, and have some interesting banding, blue speckles and in breeding season the males are quite handsome, very flashy.

I am sure people recognize that the "rosy red minnows" are basically... feeders.  Yes, you can go to pet stores and often find these in the "feeder fish" tanks.  But they are pretty hardy and a nice schooling fish so... why not?

The lined topminnows... they are something interesting!  Related to killifish, they are silver with black banding but... the most interesting part is this:  males have vertical black bands, females have horizontal black bands.  I don't know why but I find this fascinating and am really looking forward to these fish.

Finally we have the mudminnows.  They are actually a little scary because they can grow up to almost 4 inches long over time, and at that size they might pose a threat to the other fish... so I will have to monitor them closely.  They are bulky little things with a brownish base color and some banding and splotching.  They basically hide at the bottom of mucky areas and try to blend in with the mud, even partially burying themselves.  Unfortunately I do not have that kind of substrate for them, but I am hoping plant and rock cover will work for them.

Anyway, those fish are supposed to arrive tomorrow, looking forward to it!

Tuesday, April 21, 2020

Global Warming and the arctic ice sheet

Just read this:  https://www.msn.com/en-us/weather/topstories/eurasian-ice-sheet-collapse-raised-seas-eight-metres-study/ar-BB12VMB6?ocid=msedgdhp

So, I feel like there is a lot of FUD (fear, uncertainty, dread) being pushed out as global warming.  Do we really believe that the we are privileged to not suffer the slings and arrows of nature, even when exacerbated by our own actions?  Anyway, I will not deny that the global average temperature has gone up if the majority of climatologists say so... not my place.  I will deny its importance at this time.

First, why are we focusing on global warming and rising sea levels as our primary concern?  When chronic respiratory illness is skyrocketing, amphibians and other sensitive animals dying out, don't you think that focusing on POLLUTION would be a better use of our time?  Cleaning up our act, cleaning the air... it would save LIVES and have the potential bonus of mitigating climate change.

But do not be let astray... climate change is not something we completely control.  The vast majority of climate is decided by major sea and air currents that circle the world.  As plate tectonics shift the land masses and ocean floors around, these currents slowly but inexorably shift.  These shifts divert warm and cold water flows into different paths, and this in turn affects the air currents and moisture levels in the air.

55 Million years ago the average, global temperature was 16 degrees Celsius (28.8 degrees Fahrenheit) warmer than today's average.  In fact, a mere 10 million years ago the average temperature was significantly higher than today.  The crux of the matter is we are currently living in a cold cycle of cool and colder weather (growth and recession of glaciers).  The cooler weather also causes drying in many locations, and more water is locked up...

My point is this:  climate is going to change with or without our help.  Let's focus on more important things.  Focus on the deadly toxins we hurl into the air, ground, water, etc.  If the Earth feels the need to correct itself by a little overheating, so be it.  We can survive that.  Life has survived FAR worse and we are the most clever of all life forms with a strong will to survive... so, let's focus on what we can to save our children's lungs and the sensitive animals like amphibians, which are an important part of our ecosystem.

You want to kill a couple birds with one stone?  Bring back train travel, use nuclear power instead of coal and oil, use solar power in states that have a ton of sunny days...  invest in that sort of thing.  Install scrubbers, ... do the same sort of things that activists would scream about for CO2 emissions, but do it for more compassionate reasons.

Sorry for the ramble.  It is late.  I should be asleep.

Sunday, April 19, 2020

The importance of Unit Tests... and failure.

A project I work on was implemented without considering organized unit testing.  Some of the packages (python) do have tests tacked onto the __main__ portion of the package but it is willy nilly.  So I am slowly creating an alternate code base with minor packaging improvements and unit tests for everything.

The beauty of unit tests is that as your code becomes more and more complex (and let's face it, code does not tend to trend in the other direction) any little change that might affect a consumer class, will be caught.  For example say I have a bunch of enums used by any number of classes but a NEW class wants a change to that enum.  You will find out very quickly if the change to the enum breaks all the other consumers of that class, right?  Might work for one, might break 10 others.  So anyway, it is a useful tool, albeit now when you write code or change code you are writing more unit tests as well.  I still think it greatly out weighs the additional time spent.

In a way it replaces the idea of test-driven development.  This isn't EXACTLY the same thing... it is creating tests around positive and negative test cases for a class (or code) you have created.  With test-driven development the concept is a little deeper, you spend a great deal of time up front designing success and failure cases... defining all possible inputs and outputs.  I think (and perhaps this shows ignorance on my part) that these days developers don't really think along those lines.  They create a service or a class and pass back values that they deem appropriate without a lot of deep thought put into PLANNING for failure.

This, by the way, is a reason I really appreciated Grady Booch.  His belief was that you PLAN errors.  Errors are something your code should consider.  If your code is solid, the only place an error can come from would be the inputs it receives for processing.  Outside of that (and in this day and age there are plenty) there are environmental issues that can affect code.  Those, of course, are more difficult to build into your code, instead you just blindly trap and throw for the most part.  I never really liked that but as long as whoever is consuming your code is able to trap and decision on errors... things should work out.

Even so, people sometimes do strange things in their code...


Sunday, April 12, 2020

Pot Roast

So for Easter dinner I am cooking a pot roast/stew.

Pretty simple...

Heat pot with a little olive oil and 2 tbsp of butter.
Cover meat in flower.
Drop it in and rotate it to sear the meat with flower.

Add some beef stock and stout to start the meat cooking.

Cook for awhile in the juice...

We will want to keep a good level of stock/stout and add some more flower later for gravy.  But then add veggies... in my case some cabbage, radish, carrots, potatoes and portabella mushroom caps cut up.

Cook and cook and cook.

Yum.

How I configure Gnome and linux in general

I like the default work flow of Gnome, but honestly, I prefer even more simplicity.  So GENERALLY the first thing I do with Gnome is to tweak the main desktop work flow to meet my preferences.

If you are familiar with Gnome, it has a sort of mix (I am saying it like this because many readers are familiar with Apple and Microsoft, more than Linux) of functionality between Windows and Mac OS X, but with its own twist.

It has one bar on top, that contains a button, the date/time, and indicators/log-in/log-out section.  The other two concepts it has is a full screen menu with a favorites bar, and a full screen activities display.  The menu is as you would expect, kind of like Windows 8 or Mac OS X icon-based applications that you can scroll through and select the application you want to run.  If you select activities it shows you the alternate screens and all your running apps that you can select, or move from desktop to desktop, etc.

It may sound confusing but it is actually very usable and despite the fact that it sounds like you have to take an extra step to see things, that really is not the case, I mean... how is it different from clicking the menu icon, scrolling around to find your pinned apps or whatever...?  It isn't.  In fact it is arguably faster.

That being the case, I still like to see my preferred apps and I actually don't mind using a menu to drill down.  To achieve that (somewhat microsofty) functionality I install several Gnome extensions (Gnome extensions are a way to extend Gnome in a pre-defined and Gnome-controlled manner).

1. Install Dash to Panel.
2. Install Arc Menu.

At this point, technically, I could call it DONE.  Installing Dash to Panel creates a bottom (well, you can move it to the top or sides if you want) panel that has the application button that comes with the Gnome favorites panel... that allows you to display apps instead of the activities when in full screen mode).  But, I want instant access to my applications so I install Arc Menu, and in Dash to Panel I disable the application button.  Arc Menu is a great little extension and it can mimic up to 10 or so different menu layouts... so go crazy with it.  I stick to the default as I like its features.

Now I have a very Windows-like interface that suits ME (very subjective, many people would cringe at this).  If it was enabled, I also disable desktop icons.  I like a clean desktop.

All that is left at this point is to install my favorite applications (if they were not already pre-installed by the distribution).  In my current situation, I installed the bare-bones minimal Ubuntu which really comes with no applications, except for a few configuration utilities, so I had to install what I wanted. 

When I installed Ubuntu, I selected 3rd party installations.  What this does is save me the pain of installing non-free/non-open source software drivers.  Linux by default is open source and cannot tolerate (so to speak) proprietary software.  It goes against the philosophy.   That being said 99.9% of people who use and even develop linux realize that 3rd party drivers are SUPER DESIRABLE in many cases.  Ubuntu allows the user to have most of those drivers installed when configuring your new system.  That saves the pain of having to install Nvidia drivers, proprietary audio formats, motherboard drivers for sound or network devices, etc.

So that leaves me with the applications I like to use.  Here are some things I always install:

1. Python3
2. Visual Studio Code (microsoft)
3. .Net
4. Sublime Text 3 (syntax editor, I own a license)
5. Sometimes, but not always, BeyondCompare (I own a license for an older version)
6. LibreOffice (like microsoft office, but free, hence "libre")
7. Rhythmbox (for music)
8. MPV for videos
9. Firefox
10. Thunderbird (email)
11. Google Chrome (for sites that just don't work right with Firefox)

By the way, if the new Microsoft Edge ever comes to Linux, I will install that.  I already use it on my work Macbook Pro... it is quite nice.

12. OBS (an audio video capture tool)
13. One of several different audio/video editors like shotcut (to make my gaming videos)
14. WINE, WineTricks, PlayOnLinux, Steam and sometimes Lutris for gaming
15. Guake (a dropdown, quake-like console/terminal that is just cool)
16. Weather (adds weather to the date/time/notifications drop down)
17. Handbrake to burn DVDs
18. VLC... I think everyone installs Videolan...  will play videos that no other software can...
19. HTOP (a resource monitoring utility that is light on resources)
20. Disks (usually comes with distros but not always, allows me to configure disk mounting)
21. Gnome Tweak tool...  invaluable to change system fonts, and themes.

I also install other development languages as I feel the need.  Right now most of my work is in Python so ... that is where I spend most of my time.  I also install a database usually, like postgresql.

And that is it, that is my linux in a nutshell.  Oh, as needed I will install things like Skype or some chat utility like hexchat... stuff like that.  Odds and ends that I don't use NORMALLY but every once in awhile I find I need them... like Slack (ugh).  Anyway...  if you choose to try linux and have any questions I would be happy to help, or you can just check out stackoverflow... great site.

Gaming on Linux and stuff

One of the reasons I have not completely moved off of Microsoft Windows is that I have a huge game library (in steam and others).

Gaming on various Linux distributions has improved immensely.  And Steam has implemented their own version of "WINE" which works very well to play many of the non-native games on Linux.  (Btw, I capitalize linux as a sort of giant mass of linux-based operating systems).  Not only that I can get two of my favorite games running on Linux using WINE, WineTricks and PlayOnLinux without breaking a sweat.

There are, however, several other games I play that require additional third party apps, mods, etc. that are difficult to get working under WINE or Steam.  And for those  hold outs, which also happen  to be games I enjoy playing, I keep Windows around.  Some of the Civilization games, Skyrim, and a few others just do not work well under WINE or Steam on Linux.

It is torture everytime I need to boot into Windows.  While Windows continues to improve, the UI is still rough.  Sounds funny I know, I mean people have often complained in the past about Linux UIs, Linux font-rendering, etc.  But honestly Windows is a terrible mix of old and new and font rendering has regressed on Windows to a point where it hurts my eyes just to look at them, all scrappy and rough.  Linux font rendering is mesmerizingly good now.  I could just stare at these words I am typing all day long.  Truthfully I think Linux has surpassed both Windows and Mac OS X in that regard.

I am a Gnome fan.  I mean, I tweak it a lot but I prefer the GTK3, Gnome-based UI over KDE.  But even QT/KDE is amazing and is also very flexible.  That is actually why I prefer Gnome, it is a little less flexible in some ways, whereas KDE you can mess with to your hearts content.  I prefer the simplicity of Gnome (he says hypocritcally while installing extensions and changing the desktop look).  The irony is also this:  when I mess with Gnome I end up creating a very Windows 10-looking task bar with no desktop so to speak, while when I use KDE I tend to make it look identical to Mac OS X in layout and functionality!

So, while I give kudos to Microsoft and Apple for their work in the desktop UI, I prefer to see them implemented on Linux.  :D  Funny.

In addition, Microsoft has seen the advantages of Linux as well and have begun embracing it.  Two of the best products Microsoft has put out run perfectly fine on Linux:  .Net and Visual Studio Code.  That is a pretty bold move by Microsoft.  Also, Microsoft is working on the next generation of Windows which will finally remove Win32 dependencies and run Win32-dependent apps in a... virtual machine.  I imagine they will clean house and CMD.EXE will be completely replaced by PowerShell or some new implementation.  In fact they are moving there now with the new "Windows Terminal" which does not concern itself with the back end... it could be the old style CMD interface, powershell, or even bash.

In all honesty, I think Windows has a brighter future, at this point, than Mac OS X.  I feel like Microsoft really is (albeit very slowly) trying to move to something better than what they have, while Apple just rejiggers and modifies UI elements.  So kudos again to Microsoft.  I will probably continue to keep Windows simply because I am an OS enthusiast, plus I am fascinated in how Windows will evolve.  HOWEVER... Microsoft has said one thing and done another several times in the past, only to let down their expectant customer base.  Vista had great promise but in the end they removed several HUGE features.  The folding notebook hardware and OS/UI for that... they came out with it over a decade ago but never delivered (although now it looks like they just might in a year or so).  So while I am excited about all the talk regarding Windows...  I am only about 40% confident that they will actually do what they are saying.  :(

Meanwhile, if you are looking for an alternative that works, look at Linux.  It has software for musicians, film editors, office work, software development, realtime-embedded, etc.  It has EVERYTHING.  Seriously.  The only argument one might have against it is that it might not have Application X from Mac OS X, or Application Y from Windows, but it WILL have an alternative.  Whether or not you can use the alternative is up to you.

Anyway.  Have a happy Easter!

God bless you on this day (and every day)!

Today is the day we celebrate the resurrection of Jesus Christ!

His own disciples did not understand that he would resurrect, when he died on the cross they split up and went their own ways, rather dejectedly.  They had expected him to live forever, to raise up the Israelites and to overthrow the Roman (and other oppressors) rule.  God, on the other hand, had a different idea (all along).  His idea was that he wanted to save ALL PEOPLE.  Not just the Israelites, not just the "good people", but all people.

To do that, someone had to pay for that, and then God had showed the people that he would one day bring them ALL back to live with him (that is what the resurrection showed).

Anyway!  God loves you even if you do not believe in Him.  I don't know if you (as a non-believer) can take solace in that or not, but I hope you consider the implications...

HAPPY EASTER!

Saturday, April 11, 2020

COVID-19 Stuff

No one I know has it or had it.  At least not showing symptoms or had to be tested.  I've spent the past few weeks working from home, and it looks like that will probably extend out another month.  I get out to go grocery shopping or pet food shopping, that kind of thing.  But I am going a little stir crazy.

So to pass the time I play around with some development ideas I have (I am a software engineer) and read...  I bought a nice Python book that is laid out well and covers topics every python developer should consider or know (so far I have been pleased with myself since I already default to many of the things mentioned in the book, when I code).  I also bought and read all of the available "So I'm a spider, so what?" light novels.   It is fun to sit and read them all at once (actually I've read them twice now) and see how the author's style evolves and how the story evolves.  I pre-ordered the next novel due out in July... and we (son and I) are waiting for the anime which is supposed to be released in 2020, though they won't specify when.  Crunchyrole says it is coming so... here's to hoping.

Easter will be weird.  No church, no family get together.  Just our immediate family.  But I guess we need to be wary, since our uncle had/has lung cancer and corona virus could be very dangerous for him.

We bought two new aquariums and have spun one up, and the second one is in progress.  So in that sense, being home all the time is both nice, but costing me money.  :)

It has NOT affected my distro hopping, lol!  But honestly, I am thinking about sticking with Ubuntu 20.04 LTS for awhile, if I can control myself.

There have been a LOT of cranky/angry/scared people because of this pandemic who are behaving badly.  I pray for them, for some peace... they really need it.  But anyway... it has been a weird year so far!  That is something I think everyone can agree on, despite religious and political beliefs.  :)

Friday, April 10, 2020

Ubuntu 20.04 Screenshot






Just some eye candy.  It is not a bad looking distro.  I have used Pop!_OS for a fair amount of time, and I think this is not far off from that as far as looks go.

Too early to tell about bugs and performance, although so far I have not had a single hiccup (post ubuntu dash) or slow down.





Memory usage appears high in this shot, but I had browsers open, thunderbird open and of course the screenshot utility itself...  but CPU usage has been very low.  But everyone knows, Gnome takes more memory than most other desktops.  To be honest though, Gnome feels more polished to me than any other desktop.


You can see that the CPU usage has remained low and stable, the memory really does not fluctuate much.

All in all it seems pretty slick.

Ubuntu 20.04

Dissatisfied with OpenSUSE and not super thrilled with Solus 4.1 Gnome, I started poking around as I am wont to do.  I found on Distrowatch that then next LTS version of Ubuntu was in Beta, to be released in about 2 weeks.

I cut my teeth on linux with Slackware, but the moment the very first release of Ubuntu was announced, I downloaded and installed it.

It was amazing!  I was smitten by it.  I used it for several years along side my macs, my amiga and my BeOS machines.

I don't remember what happened... but at some point changes were made to Ubuntu that I did not like and found frustrating.  I stopped using Ubuntu at that point (had to be 10 or 15 years ago now).

So I saw the new release and thought I should at least look around and see what people had to say... I bopped around from youtube linux sites to Reddit to other places and found mostly favorable takes on 20.04 (alpha/beta).  One comment that caught my eye was "this is the best version of Ubuntu that I have seen since 16.04."   That tipped me over the edge, I downloaded 20.04, and installed it.

This isn't a review, per se, as I don't really DO reviews, just a commentary.  The installation was simple (no different, really, from any of the recent distros using a similar installed (ubiquity).  It installed alongside my windows installation, so that was good.

So, first impressions... I like the theme, it was not overwhelming in any way.  I switched it from normal to dark mode immediately.  I also uninstalled Ubuntu-Dash, and then installed Dash To Panel.  On top of that I installed Arc Menu and weather (I had installed the bare bones version of Ubuntu).

Once I got the desktop looking like I wanted, I installed some apps I frequently use, like libre office, Sublime Text, Microsoft VSCode, Rhythmbox, MPV, stuff like that.  I also made the fonts a little larger so I can see them on my 1440P monitor... but otherwise I kept the default fonts.  I also installed Thunderbird for email, tweaked my terminal, stuff like that.

I have to say it has been a pretty smooth experience and memory usage was on par with what I expected from a Gnome based desktop, so no surprises there.

It is attractive, seems to be well put together except for some minor hiccups with Ubuntu dash (forcing me to uninstall it) it has been a nice experience.  I am thinking as an experiment for MYSELF, I might try to keep this LTS version running for a year.  Or at least until DEC 31 of this year.  :)

I HAVE done that before, stuck with a particular brand of linux for a long time, but it has been awhile. 

I do have one fear:  when the actual 20.04 is released, will my update be smooth and NOT break all my tweaks... or will it destroy it?  We shall see...

Friday, April 3, 2020

More on OpenSUSE

Well, this has been the most successful openSUSE experiment I have had in awhile... still... I have run into configuration issues.  Most of them are around codecs and non-free software.  Whereas Fedora makes it SUPER simple to just clickety-click, add repo, install non-free software, openSUSE makes it clickety click, install and... FAIL.

I am not sure what is the difficulty here, but repos seem to be out of sync, requirements ancient, stuff like that.  It is a little disappointing that I cannot get VLC or Firefox running with the required libraries... or, when I DO add the libraries, I have to MANUALLY install various dependencies for the libraries themselves.  Super annoying.  And I still cannot get Firefox working properly with our local news website.

There IS an easy workaround:  Google Chrome.  Comes self packaged with all the goodies you will ever need.  I am aware it phones home and google can monitor my every thought wave but... they already do through my smart phone, and other ways.  (Paranoid much am I?)

Anyway, so I am still running openSUSE because it is working (with Chrome) and I can also play all of my games so far.  Not sure how long this experiment will last though.  I don't know what it is but openSUSE just does not feel good.

Wednesday, April 1, 2020

OpenSUSE?






I have never been a fan of openSUSE, simply because I always ran into some kind of problem during install or post install trying to configure and run my preferred applications.

But I am a hopper so I cycle around and from time to time I get back to those distros I could not previously use, and I try again.

I am also growing stir crazy from the whole corona virus mess... working at home for weeks.  So I actually took a day off for sanity and played with linux and am doing some programming as well.

First I attempted to install openSUSE using GeckoLinux, which is basically a bunch of openSuse "spins."  It failed miserably and I could be heard yelling "A HA! OPENSUSE NEVER WORKS!"  But instead I downloaded the official Tumbleweed distro and tried again.

It worked!  Flawlessly, at that.  I even got NVidia drivers installed and working first try.  It DID take a little research though.

Part of my "test" for every distro is to be able to install and play two of my favorite games:  Star Stable Online and Diablo 3.  Now, Steam is important too... but these two are "guages" to me.  If I can get them up and running in WINE on linux, I am golden.  SSO installed easily, and Diablo seems to have installed as well, just downloading all the data now.  I will try the games once Diablo load finishes.

Otherwise, I installed Thunderbird, some fonts, a couple of GTK themes, installed Dash To Panel, Arc Menu and a few other extensions.  All working.  Looking pretty good actually.

Gnome is a little behind, but I can live with that, especially since some of my preferred extensions are not working on the latest version of Gnome.  So, while performance might suffer a little, it evens out.

Performance-wise, SUSE seems to be a little memory hungry in the sense that it definitely does a lot of in memory caching.  That is not necessarily bad, just an observation that my cache bar in my memory monitor fills the graph.

So far so good!  First time I've ever been OK with openSUSE and because of that I think I will try to stick with it for at least a week or two.  It will be interesting to see how smoothly updating occurs.

Anyway, hope you are staying safe and sound!