It has been almost 3 years since I first reviewed AM2R. While Nintendo wasted no time hitting the developer with a cease and desist, the game was already out on the internet where it remains available to this day. Some very dedicated fans have managed to reverse engineer the game and add even more polish and features to AM2R.
Having recently beaten the game, it is every bit as fun as I remember the unofficial Metroid outting to be. I finished it just under 4 hours and with a 95% item completion. Depending on where you get the latest version, you can get it with the higher quality music or seperate as part of an extras package. The higher quality music is highly recommended as the better bass made the experience even better.
So what are the changes from version 1.1 (the last version from the original developer) and version 1.4.3?
Item Collection % is now displayed at the save selection screen (a highly requested feature)
New uninteractable background creatures
Some flying creatures have new sprites
Color options for different types of game controllers. Select the controller you have (such as Xbox or european SNES style) and in the menus it will show the appropriate button color
A New Game+ option has been added
For the more dedicated Metroid fan an item randomizer mode has been created
A layer of additional polish and some bug fixes & tweaks
A new flying creature has been added to many areas of the game. If I remember Metroid 2 correctly, they were in that game but weren’t originally added to AM2R.
For those wanting to try the updated version (or try AM2R out for the first time) the best place to look these days is at the AM2R subreddit. The most common downloads are for the Windows platform, but I had no problem playing it on Linux through wine.
Update: The flying creature I have a picture of is called a Septogg. I was right that they were creatures featured in Metroid 2 but did not appear in earlier versions of AM2R.
While yesterday may have been the “Big Game Day” for some, this weekend also held Genesis 6 - the first large scale tournament event for Nintendo’s fighting game Smash Bros Ultimate. Being the first for the game means that people would be watching closely to see which characters would be making it to the top of the tournament. I certainly didn’t see any surprises when it came to character choices. Ultimate may be a better balanced game than Brawl and Sm4sh, but there was no chance a Bowser, Sheik, or Bayo was going to make it into top 8.
Nextcloud is undoubtedly the biggest name in open source cloud software right now. The list of features is substantial. Sure, it has the standard file sharing options and android/iOS clients, but it goes further with:
end to end encryption
optional server side storage encryption
optional RSS feed reader
I haven’t tested out the video chat capabilities and I doubt the Raspberry Pi 3 I run Nextcloud on is up to the challenge anyways. I’m generally a big fan of compiled binaries (like from Go) but there’s no getting around the fact that PHP does give Nextcloud a lot of add-on potential. The add-on I’ve been using the most is the RSS feed reader. I hadn’t even planned on using it, but when KDE’s Personal Information Management system bugged out (again!) I thought I’d try something new. Desktop or smartphone, the RSS feed reader works great.
With an open source project as popular as Nextcloud it should come as no surprise that there are multiple ways to install it. Yes, there’s always manual installation, but docker and snap options exist. The method I’m using is called NextcloudPi. NextcloudPi is an all in one download that has everything needed to run Nextcloud and even auto updates itself. I put it on my Raspberry Pi 3 and it has worked really well. I’ve been surprised at how well it has run. It isn’t the speediest thing but it is more than enough to do what I ask of it.
I see why Nextcloud is thought of as the first choice for personal cloud software. Over the month that I’ve been using it, Nextcloud has been a consistently great experience. Anyone looking into getting control of their own personal data should give it a try.
One of the gems of the Linux ecosystem that can never get enough attention is KDE Connect.
Connect to android devices with WiFi - no cables!
Easily transfer files
Use your phone to control media players on your computer
My favorite feature of KDE Connect is having text messages (SMS) pop up on my computer. I make heavy use of 2 factor authentication whenever I can (banking, email, domain names) for better security and it is very convenient to have the login password appear for copying & pasting.
You’ll need to install the KDE Connect app on your android device. It is a free app that can be downloaded from F-Droid or the Google Play Store.
On the Linux side of things it is a bit less clear. If you are using the KDE Plasma desktop you probably already have everything you need installed. If you are using something else, you’ll need to use your specific Linux distro’s package manager to install KDE Connect. For those looking for something more closely integrated into Gnome 3 there’s also GSConnect. I have no experience with it, but Canonical seems interested in integrating GSConnect into future versions of Ubuntu.
I’ve been a big fan of the music from Two Steps From Hell for over a decade now and it is always a pleasant surprise to find out there’s been a new release. Okay, so a new release from Thomas Bergersen (who happens to be half of the Two Steps From Hell duo.) This music compilation is found on the Two Steps From Hell Youtube page so I’m considering this new Two Steps From Hell music.
Google Drive, Dropbox, Microsoft Onedrive, Nextcloud, Amazon Drive - there is no shortage of options to store (and often share) files over the internet. Almost all use a client-server model, where home computers/tablets/smart phones connect to a server that runs everything. With the large corporate services you get convenience at the expense of privacy, control of your data, and typically a subscription fee if you exceed a specified file size. Self hosted options like Nextcloud and Seafile give you back your privacy and data, but requires more setup and server maintenance.
Syncthing is interesting because it approaches things differently. Syncthing uses a peer to peer model which gives it some unique advantages and disadvantages. For the privacy minded that don’t already have their own server setup, Syncthing lowers the setup effort. Just install and run Syncthing on every computer or device that you want to have synchronized files. The downside is that if you have many computers/devices you want synchronized you are probably better off with the client-server model since the amount of work Syncthing needs to do is increased for every computer/device added.
The program does illustrate the power of the Go programming language quite nicely. It is a command line program that runs on many hardware platforms and operating systems and it automatically opens a web browser to the appropriate location on startup for configuration. There’s been a relative paucity of cross platform graphical user interfaces for a while now. Qt continues to be the gold standard for the few languages it supports. Gtk sticks out like a sore thumb anywhere except the Gnome 3 desktop environment, and while cross platform does exist, it is a complete after thought. And then there is Electron, the bloated “just ship a browser with your app” solution that makes no effort to integrate with your desktop, but seems to have taken the world by storm because it sadly is the path of least resistance. Applications like Syncthing that make use of the web browser that is already on your computer are a great compromise - a nice cross platform gui without needing to download an additional web browser (particularly one that will rarely, if ever, get security updates.)
While it is available on MacOS it is not available on iOS. I’ve also read complaints about android battery life issues. On my own small tests I did notice the battery level dropping faster than normal. It might be best to run Syncthing when you want to update your files instead of having the program run in the background. I should also point out that it does have options for updating only when charging and only when using WiFi.
An aspect of Syncthing I haven’t explored is sharing files in a group. Services like Google Docs have done a great job of making online collaboration practical when dealing with text documents and spreadsheets. I can see the advantages for a work/school group to all run Syncthing and have full access to the most up to date version of files (particularly files OTHER than text/spreadsheets that are already so well supported by existing services) but I can’t come up with any real world use cases.
I really don’t have much more I can say about this program. It is a slick and interesting program that solves problems that I personally don’t have. I have a cheap unmanaged virtual private server. I have my Raspberry Pis operating at home. I use SSH, KDE Connect, rsync, and git. My connectivity needs are more than covered. I find myself looking for a problem Syncthing could solve just to justify using it more.
I’ve been looking into ways to decrease the amount of Google in my life. I had been using the Chromium Web Browser (the open source version of Google Chrome) but lately I’ve been using Firefox again. The “recent-ish” update to Firefox really did bring a noticable improvement to performance. That very update did upset a lot of people that used many plugins because it brought an end to Firefox’s old plugin system. The old system was more powerful and allowed for more things to be possible but got in the way of performance improvements. Whether or not you think it was worth it likely depends on if you were using a plugin that needed the older and more capable plugin system to function. That Firefox plugins were capable of things that couldn’t be done in Google Chrome was one of the few advantages Firefox had going for it. Now the only reason I can see to favor Firefox is that it isn’t part of the seemingly omni-present Google Corporation. For some people that is enough, but I sure would like to see Firefox come out with more reasons. Browser usage stats for desktop put Chrome at over 60% and still rising. Purely mobile stats are even higher. Having one supremely dominant browser is never good for open standards. I still remember the dark days of 90% Internet Explorer.
When it comes to search, things haven’t gone nearly as well. I have wanted to like DuckDuckGo. A search engine that doesn’t track you is a wonderful thing. There’s no getting around the issue that the search results aren’t as good as Google. I’m not saying DuckDuckGo’s results are bad, just that they aren’t as good. My number one complaint about DuckDuckGo is that it lacks the ability to exclude search results that are older than one year. I’m sure most people aren’t even aware that searching within a given time frame is something search engines can do. Nevertheless, for so many of my searches, if it is older than a year it is probably out of date. DuckDuckGo has a day, week, and month option, so it does have the capability to exclude search results based on time.
“On a mountain of skulls, in the castle of pain, I sat on a throne of blood! What was will be! What is will be no more! Now is the season of EVIL!" - Vigo
Okay, so I’m a fan of OG Ghostbusters - even Ghostbusters II and I do like this Etsy Canvas Print - but I don’t like it enough to pay $160. At the time of writing this it shows there’s only 1 remaining so you may want to act fast if you do want it.
Sadly, this post isn’t actually about Vigo (the Ghostbusters antagonist) but about Vgo (Versioned Go modules.) A long standing weakness of the Go programming language has been managing dependencies. Using “go get” would grab the latest version of a library to import, which isn’t always what you would want. Libraries you used would introduce breaking changes (intentionally or otherwise) and suddenly your program wouldn’t work on other computers (or yours if you updated.) There were a few attempts to fix this like ‘dep’ and a far too late effort to get Go library writers to use git tags as a band aid solution. Ultimately, the answer sadly came down to making copies of all your dependencies in private code repository (like Google) or vendoring copies of dependencies in a folder with your own code.
With the upcoming release of Go 1.11 this problem might finally have a solution. Go 1.11 will feature an experimental versioning system called VGo. Version 1.11 isn’t out yet but you can download the Beta 2 version to help test it out.
So with Vgo in the news I decided to take a look at my Go-SDL2 code for the first time in probably a year. And much to my dismay, the code didn’t work. Even Go-SDL2, the wonderfully stable, boring, thin Go wrapper around SDL2, had code breaking changes. These weren’t even changes to fix bugs, they were mostly just name changes for the sake of style. What’s worse is reading the release page it seems even more code breaking for the sake of style are planned. When even Go-SDL2 is breaking code, VGo cannot arrive soon enough.
I’ve updated all the Go-SDL2 code on this site and Github to work with the current version of Go-SDL2. I’ve even used this to test out Hugo’s improved code syntax highlighter. Earlier versions of Hugo used Pygments to highlight code and it was SLOW. Even with the limited number of posts that had Go code, pygments slowed things down. Fortunately newer versions of Hugo use Chroma, which seems every bit as performance driven as Hugo.