Happy New Year!
I've been a little lazy with my blog of late, but it's a new year. I'll make a bit of an effort this year.
I've been back to playing Minions of Mirth Undead Wars mostly; however I've also been doing some random surfing. I came across "The Deathrow OpenVMS Cluster" and played around a bit. I still remembered a little DCL which surprised me a bit. Unfortunately it does not appear to available of late.
I've also been playing with VirtualBox. Yesterday I installed SkyOS and Solaris 11.2 to Virtual Machines. Both were installed successfully; however I didn't get sound working on SkyOS. I've already got VMs set up for React OS, WMLive, Debian Wheezy, Plan 9 and MS Windows 2000. The Windows 2000 actually does get use occasionally since I work mostly from my Mac Mini. I might try to get familiar with Solaris using the VM.
I've also been entertaining myself with OSFirstTimer on Youtube.
Visited my sister for cards. Had a rather unpleasant trip over a curb. I hit my knee and my head. It was a little bloody.
Spent about six hours in the Frankford Aria Emergency Room. I had my knee x-rayed and a head MRI. I had 12 stitches in my forehead and got a tetanus booster. Spent the night at my sister's home. She actually managed to get all the blood of my clothes.
I had a relatively quiet day after I got home. Mostly just dozed. My knee actually hurts more than my head at this point.
I still have a moderately nasty headache and my knee still reminds me of what happened.
The good doctor indicated I should make the appointment to get the stitches removed on next Monday.
I've been playing around a little with Plan 9. The boot image boots without a problem in VirtualBox, but no joy with the network. I was curious about the pcc compiler. I had a small project and ended up putting it on a 20M FAT disk.
The compiler wasn't happy with my bad choices in variable names:
cat biorhythm.c | sed 's/\$/Z/' > bior.c
helped.
pcc bior.c cls.c help.c -o bior
Program compiles and mostly executes okay.
I'm not a fan of the shell, nor the editor. Without net access I probably won't spend much time playing with it.
I did some messing around with WindowMaker on Linux.
To set the background per workspace in WPrefs use:
wmsetbg -b SteelBlue4 -u -w `wsn` -e
Where:
cat /usr/bin/wsn #!/usr/bin/env bash xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}'
Method may require you to restart Windowmaker.
I've been spending more time playing "Dungeons & Dragons Online" than "Minions of Mirth" lately. I still don't have enough experience with it to add useful material to my site but expect that I will in time.
I updated my Perl script to let you select 2015 and 2016 on this blog. At some point I'll set it up to do that automatically.
My fileserver, sabertooth, finally died due to disk failure. I figured I'd try a new distro.
I installed Manjaro Linux last weekend. I was looking for a rolling distro and I hadn't used any Arch based distros before. I had a usable system up and running in a day.
It might take me a little bit to get used to pacman and yaourt, but it looks like it may be worth the effort.
I’ve been lazy lately and been watching dvds. I’m a fan of sci-fi/fantasy/horror.
I don’t really have much interest in reviews, but I was happy with seasons 4 and 5 of BBC’s Primeval.
I also found a collection from Echo Bridge, "Croc Godzilla of the Swamp" with five movies:
It was a total of 440 minutes on a single sided DVD. The quality of the video was poor. The effects on "Chupacabra Vs. the Alamo" and "Dire Wolf" were poor, but the latter wasn’t a bad movie.
The other three movies were great and are actually worth rewatching. I’d consider purchasing those three movies separately if they could be found with decent quality. I was surprised at the ending of "Grizzly Rage".
I started playing around with The Bard’s Tale a little. I spent about two weeks working on a character editor in FreeDos using MIX’s Power C.
I’d forgotten much about editing text in a DOS environment. VIM was broken, and E did not have undo. I ended up relying on a few editors in Windows 3.1 for a small amount of the editting.
Power C’s Project files leave something to be desired, so I downloaded some BSD tools for DOS including make.
The program will probably compile with any ANSI C compiler; but, it was written for a 16 bit compiler. So, char is 1 byte, int is 2 bytes and long is 4 bytes.
I don't believe prototypes were standard yet when the compiler was released. It looked like the compiler did not warn if it thought a function returned an int value when your function returned a long value. Which leads to some really fun bug tracking. I found it by using 65535 as a test value and found it was returning (-1). Coding the function before it is called resolves the issue; otherwise it will silently cast the int to a long.
I learned to program using top down design, before GUIs were ubiquitous, and prefer to use stdin and stdout, so the end result isn't terribly pretty. However, it will accept an input stream. Since the menu system is simple, I added the ability for the editor to accept comments, instead of a command.
I wrote a few batch files for curing the team and traversing all the TPW files in a directory and ran into a few problems. Apparently the FOR construct is not supported in FreeeDOS, and either pipes are broken or MORE is broken and does not accept piped input.
My piping requirements were minimal and redirecting to a temporary file was adequate. I needed to use DRDOS to work around the missing FOR construct though. If you have DRDOS, MSDOS or IBMDOS you can avoid the call to the shell. (I was not running DRDOS as my shell.)
I got the information for the file format from The Adventurers’ Guild, which was largely adequate. The spell levels are stored beginning at byte 81: sorcerer, conjurer, magician, wizard.
The source code is available at http://mcsuper5.freeshell.org/dl/dos/btce/btce1_1.zip
Updated my main programming page to include a link for the Bard’s Tale Character Editor. I didn’t bother to list all the source files because of the number, but did provide links for the header files, TPW.H and CHAR.H.
In the DOS version of Bard’s Tale the TPW files are used for both parties and characters. The last byte of the 17 byte header indicates if the file is for a party or character.
Parties are simply 6 16 byte fields with null terminated strings for the names of the party members.
The character data is a little more complicated, and some of the skipped bytes might be used for something. I did some range checking, but don’t know the maximum values for all of the fields. I tried watching string input to avoid any buffer overruns. I might try to clean the code up in the future, but FreeDOS might be okay for games, but it not the greatest for setting up a development environment.
I was thinking about a file selector for the character editor, but think I may skip it.
In DOS apparently BardsTale will list all files ending in TPW; however, you can only select files of the format: "%d.TPW", where %d is in the range 0 to 32767.
The heuristic is simple enough, but wasn’t used in other versions.
I fixed a few bugs I had in BTCE version 1.2 and released 1.3.
I'm sad to say that it looks like Minions of Mirth is gone. The Facebook and Twitter feeds both indicate it is offline indefinately.
My assumption is that this means permanently.
I can't see making a defunct game the center-point of my website. However, I spent thousands of hours playing the game and weeks designing the pages relevant to the game, and have no desire to remove the pages. I decided to move it off the main menu.
I did a short obituary for the game and have moved all links to that page. On my navigational pane it can be found under: Miscellaneous->R.I.P. Minions of Mirth. I did not move any of the pages, so if anyone was linking to my site the URLs should still be fine.
It should be noted that while the game is no longer live - the game is still playable in single player mode.
I worked on magicSquare a bit. The text version will now indicate the number of moves. I also added some comments to the source, and added an uninstall target to the Makefile.
The text version will compile on Linux, Minix, NetBSD, OS X and Solaris. It should probably compile fine on any POSIX system.
Settled on my house.
I've gotten hooked on NetFlix and have been spending a lot less time on the computers.
My fileserver in the bedroom appears to be in process of dying, updating it actually forces it to power down. I haven't found the problem yet.
If I boot it back to Ubuntu it appears to work okay; however, I mostly just let the machine sleep.
Right now we're in the middle of a heat wave. The air conditioner works wonders in the living room and does okay in the bedrooms and dining room. The kitchen is excessively hot. My upstairs is around 100°F.
I've been messing around with emulators for the past few weeks.
I got frustrated with the Apple IIgs emulator, so, I went back to Commodore.
The C64 had some good books and was very well documented. But writing a program on it can be frustrating. The keyboard on an emulator is significantly different. You need to deal with emulated floppy disks and there aren't many options for text editors.
I've gotten used to being able to scroll through my source code, and I dislike programming in BASIC.
I put together a version of magic square for the C64, but then I had to write documentation. None of the editors I tried used straight text well. I wrote some brief programs to read and write files after I refreshed my memory on some specifics.
If you care to see how I made out, here's the virtual disk:
Select the disk in you favorite emulator. I used VICE, available at http://vice-emu.sourceforge.net/.
For instructions type: LOAD"README",8:RUN
To play type: LOAD"MS",8:RUN
I spent a couple days updating my site.
See the pages roll and Magic Squares.
I also noticed across.cgi was hacked. I still don't play with cgi much, but took a couple of minutes to harden the code and clean the log. See across
I updated Dates and Mileage to allow you to select straight html or output into a textarea box. I removed the textarea only version from the nav pane.
I added a search box for Microsoft Bing to my site because access to Google is frequently unresponsive at work.
I fixed the bedroom fileserver and reinstalled Manjaro. I needed to replace the fan on the CPU.
I've been playing DDO more frequently, and still watching a fair amount of NetFlix. I just finished Season 8 of "The Walking Dead" and Season 12 of "Criminal Minds".
The partial Government Shutdown is entering its seventh day.
I spent a little bit of time updating my website, especially my page for Dungeons & Dragons Online.
I did a little playing around with Free Pascal. I uploaded factorial.pas and fibonacci.pas to my site. Fibonacci includes options for timing information. Both include basic manpages and are available at http://mcsuper5.freeshell.org/programs.html
I have been working on updating my Bard's Tale Character Editor to compile under GCC. It is a lot more complicated than I thought.
I had to change int to INT16, long to INT32. Enum is type int, under GCC, INT16 is short. So, enums are problematic.
I have dumps working correctly; however, edit segfaults.
I spent a little more time on my Bard's Tale Character Editor. I added options to reset the Shoppe's inventory, or allow you to purchase anything. It no longer segfaults when I select Edit on the OS X version. Released Chappell's Bard's Tale Character Editor version 1.5.
Updated the page to include additional notes, support links, and screen shots.
I updated the CGI for my page, Dates and Mileage, for dummies like me who are too lazy to read instructions.
The instructions clearly indicate to use two digits for the year, but it doesn't complain if you enter four. It only uses the first two digits of the year. If you asked it for the difference between 1/1/2017 and 1/2/2018 it would indicate 1 day, since it read the dates as 1/1/20 and 1/2/20, even though it would show the four digit year when printing the dates.
I just added a quick check of the third to last character in the date string. If it isn't a ‘/’, then assume we used four digits and insert a \0 after it. If it was a four digit year, the year will still be read the same way; however, the output will show only the first two digits.
It may not be what you want, but you'll be able to see why the result wasn't what you were expecting.
I spent more time on the CGI for my page, Dates and Mileage. I did away with the hack.
I now check for a two digit year, and if that does not end the string, I check for a four digit year. I output directly from the time structure, instead of the string. The program now clarifies the date that is used.
I also set the locale to en_US.UTF-8, so mileage now shows comma separated numbers.
I don't know where the time goes.
I have mostly been messing around with Minecraft, but I came across the 8-bit Guy on YouTube. I started searching for C-64s on E-bay and ended up buying a C-128.
The machine came with a Commodore 1571 drive, a couple of disks, a SD2IEC, a joystick and a Wimodem. I was pleasantly surprised to find that everything is in working order.
It appears the machine was modded with JiffyDOS and the seller included an Epyx Fastloader Reloaded cartridge
I signed up to a couple of BBSs over the weekend, but probably won't be playing around with it again until Saturday or Sunday.
Playing with the modem and the SD2IEC will probably have a bit of a learning curve. I'm also curious as to what software doesn't work correctly because of any mods. Unfortunately, I probably won't know if it is because the small incompatibilities of the C-128 or because of the mods done.
The machine came with a handmade cable for composite out, and I haven't had a CGA monitor in years, so I'll probably mostly play with C-64 mode for now.
Happy belated New Year!
I haven't been terribly ambitious of late. I have mostly been watching YouTube or playing Minecraft. Every once in while I'll get the urge to try to update this, that or the other. Time for an upgrade.
I looked at the cost and specs of the new machines. I don't want to pay more for my next Mac Mini to get less disk space. I've no desire to store files on the Cloud. If you want security you disconnect. This is difficult if all your files are online.
I've been running OS X El Capitan for a while now, and it has pretty much reached End of Life. I didn't think my Late 2014 Mac Mini could be upgraded to the latest version; however, a quick search indicated it would handle Catalina. So, I downloaded it, and let the fun begin.
I never had a problem with an upgrade before, so I neglected to do the most important thing. I didn't back up. Some of my files were on other machines, but not all, and some had been customized because of Apple's sense of humor. (I started using OS X because it was adopting some *NIX philosophy. The only reason I'm still using it is my iTunes library.)
Catalina crashed while installing. It informed me that I could not install over El Capitan. This left me with a mostly unbootable system. It would have been nice if it gave me a heads up before trying to install.
I happened to have a 2TB external drive around. Opened the box. Set it up and began Googling how to use recovery on OS X to complete the install on an external drive. The drive was nice enough. I had a choice of Firewire or USB 2.0. Unfortunately, this model Mac Mini didn't have a Firewire port.
I partitioned the drive and began the network install. The install went through. I booted the new install on the external drive and began backing up on the external drive. I mostly used Finder, but did try using cp. This was an exercise in watching paint dry.
I tried starting the install again from the external drive. It still complained that I was installing over an older version. I booted back into the external drive.
I started deleting everything I could from the internal disk that might tell it the OS version. My reinstall experience came from MS Windows back in the late 90s and early 2000s and I figured I'd rename some directories to attempt to keep them safe. I managed to rename Applications and Users.
I reinstalled again. Success! Mostly anyway.
I went looking for my renamed directories and they weren't there in the / directory. Well, it was a good thing I backed up. I started bringing things over and began running out of room. Trimming a little fat is a nuisance, but okay. It wouldn't let me copy my Virtual Machines. Okay, why am I out of room?
The directories that copied successfully are all the same size; however, I'm well over 100G past where I should be. Then I notice my ~/.bash_profile is missing along with the rest of my dotfiles.
I really don't understand APFS volumes, but I figured I'd check if there are back up partitions. Mount gave me more information than I understood. But a close look showed me that "Macintosh HD - Data" was mounted at /System/Volumes/Data. Further exploration showed me my Applications~ and Users~ Folders were indeed intact.
This is great. But why didn't they show up under /? Based on the limited number of directories visible in / on the drive I assumed it was because Apple didn't want / to be a real mess. I figured I'd reboot to the external drive, navigate to the Data directory, rename Users to Users.old, and Users~ to Users. Not that easy!
Apple won't let you mess with certain directories including Applications and Users. The work around was:
$ sudo -s # cd /System/Volumes/Data # mv Users/mike Users/nike # mv Users~/mike Users/mike
My experience in installing the software has been a nightmare. You get prompted for permission and password when installing. You get prompted again when you run it for permission to read your Documents or Desktop. I already confirmed three times that I wanted it to install. I probably wanted it to do something.
It doesn't just let you open your mail. You need to set up an account. I had already setup Mail.app under a previous version and wanted to look at old emails. I picked AOL for Verizon and it decided I wanted IMAP. Where's my old email? Back to Google.
It turns out you can import it from ~/Library/Mail/V7/Mailboxes. Not exactly user friendly.
The experience reminds me way too much of Vista. I still haven't tried Syncing my iPod yet. Overall, if you don't need to upgrade, don't do it.
I installed MS Edge, I'm curious how the updater behaves. So, I now have Firefox, SeaMonkey, Safari, MS Edge,Google Chrome and Opera.
On a lark I tried some of the bookmarks imported from Chrome and saw the tabs from Minions of Mirth.
The Prairie Games site still has a link to www.minionsofmirth.com, but I get redirected using a regular browser.
I didn't install lynx or Links yet, so I tried telnet. Found it was not installed. Installed it with homebrew.
I forgot the correct way to use telnet to access a website. Rather than Google it, I saw a video on YouTube.com recently that mentioned Emacs had a browser, and gave it a whirl.
http://www.minionsofmirth.com/mac_download.html
is the URL for the download, which does not redirect. The download works fine and the installer runs; however, you can't actually run the app because the OS complains it needs to be updated. I believe this means it is a 32 bit app.I also found that I can't run the launcher for Dungeons & Dragons Online anymore. I was able to install nethack and rogue. So, programs from 1980 and 1987 have been updated successfully to run in 2020, but not a couple of games from 2005 and 2006.
In all fairness, as I pick up on some of the quirks, essentially moving the / directory to /System/Volumes/Data/ for example, the OS appears to be fairly stable. I really hate when companies give up on backward compatibility though. Some of the software that is in use will never be updated because the author has lost interest or otherwise moved on. Fortunately at least some of it is open source. Hopefully, DDO will update for Mac OS, but there seems to be a lot of movement towards browser based games too. We'll see.
Now to decide to play Minecraft, descend into the Dungeons of Doom, or watch the 20 hours of video from the last two weeks haven't watched yet.
Spent most of the day playing around with fortune and decided to add a page to my website.
I added fortune.pl and included links on Programs and on my homepage.
I also updated cgi-bin.tar.bz2
Finally, I updated Magic Square to version 2.1. The minor update includes an updated Makefile, filenames in lowercase and a manpage.
I'm Currently reading "Learning GNU Emacs".
I pretty much finished with "Learning GNU Emacs". There is a lot of material covered. Hopefully I'll retain enough to be useful.
I updated Roll to version 0.3. I added a call to sranddev and a man page.
I used Emacs for most of the development. I did cheat and use multiple terminals to view the source for a man mage, and preview the new man page I was creating. I haven't quite got the hang of handling Emacs windows comfortably, but buffers are getting easier to use.
Well, I haven't cared about updating the blog much lately. I've been pretty much home since the end of March and had no major problems other than going stir crazy since the world went to hell in handbasket.
While I have had some time I updated Craps.
I started looking at replacements for my Mac and Mac Mini costs more for less. I like the larger disks, they were already fast enough that I at least wanted the option of standard over over-priced SSDs. I've no interest in storing all my data in the cloud. Soldering memory and SSDs into place to prevent the average user from upgrading after purchase for the last several years aggravates me. I've read the suggestions about how an external drive can be used and you can purchase an eGPU for games. You can get internal options on windows machines for the price of the Mini without buying all the extras. I got into OS X because it was Unix and the nuts and bolts were similar to Linux. OS X innovations have caused more issues than they solved for me and I really can't justify more money for less computer.
I updated my NFS server which was running Manjaro and systemd crashed. Trying to troubleshoot is a real PITA. I'd love to know who decided binary logs were a good idea, you can read text logs on any machine. I spent a day trying to debug it and said the hell with it. My home directory and my NFS share are on separate partitions, I backed up /etc and then I tried Fedora. Fedora's installer failed when I was trying to set the language. I downloaded the net install disk for Debian Stable and installed that. I prefer Debian Testing, but I was using it primarily for an NFS server. Hopefully it will remain stable for a while.
It's worth noting that my Mac Mini is a 2013 model and my server is an Acer Aspire M3100-U3401A which, ironically, came with Vista, which was quickly upgraded to Linux, probably a variation of Ubuntu at the time. I usually get at least 7 to 10 years out of machines. OS updates are a PITA, OS upgrades more than doubly so.
I finally said the hell with it and ordered a Dell which is expected in June :( I'll probably stick with my current Mac Mini for day to day. Before it dies, I'll transfer my ITunes Library and VirtualBox Virtual Machines to the Dell. I still have a lot of email that will need to be be converted for Thunderbird. Hopefully, WSL, will make using Windows bearable when I need to do so, and if I want to be productive I can use the Linux machine. At least there are choices.
I went back to work last week. I'm mostly working from home.
The TV seasons are winding down and I was bored with Minecraft, so, I fired up slrn and one of the groups had mentioned A.D.O.M. and unnethack.
I've downloaded the free version of A.D.O.M. for OS X, and so far I've found it to be enjoyable. After playing for a bit I might opt for the GOG or Steam version for my Windows machine when it gets here.
I did the lawn yesterday. When I came back in I saw my new computer had arrived. An $800 Dell sitting on the porch, no signature required. How times have changed.
Setting up a password, PIN and phone number and email. Royal PITA. A choice of Notepad or Word for taking notes. Edge was the only obvious browser (I didn't look for for Internet Explorer, though I did see it listed as a choice when I updated my browser choice to Firefox.
Adding a local user was also delightful. Apparently MS thought it was a good idea to use the first five letters of your email to create your home directory, instead of using your user name like anything else. Windows Home has no obvious way to change your home directory.
I downloaded Emacs and Libre Office. I tried to download Filezilla, but McAfee didn't like it.
I was annoyed when I couldn't find the Notes.txt file I saved with Emacs until I found it under Online\Documents.
I had to look up changing the computer name. I'm partial to classic view for control panel and miss it. Turning view file extensions on took me a minute to figure out.
I installed Sudoku from the link in Microsoft Solitaire and was getting confused as to whether I was logged on.
Seeing all the advertising makes me miss the days when you installed, you just had to uninstall AIM and MSN.
Researching installing OpenSSH and finding it was already enabled was one pleasant surprise. The other, was the Desktop also starts out with very few shortcuts as opposed to most others I've seen in the past.
I was trying to decide between DDO which I had been playing before installing Catalina, and LOTRO which appears to be preferred, and I decided to give Guild Wars 2 a shot for a while. The downloads on these games are crazy.
I need to find a decent monitor suite for temperature, load and net traffic and install WSL and see if the system is usable for something besides gaming. My Mac Mini will be my main machine for a while yet I'm afraid.
While I'm having trouble with ssh under WSL, using ssh from Powershell works fine. I have Emacs set as my default editor on the mac and open running my blog script remotely opens Emacs on my Mac desktop. I think that is a problem with the script I use to start Emacs. I'll troubleshoot it later.
I've been thinking about migrating my OS X shell scripts to Linux or Free-BSD and moving them to a virtual machine.
I'm still spending way to much time with YouTube, but have been playing Guild Wars 2. I've made it to level 21 so far and the little crafting I've done with bronze weapons convinces me that I prefer this to Dungeons and Dragons Online. I still don't follow how the chat works on DDO or GW2. I really miss Minions of Mirth.
If I've only got an hour to kill, I still like Ancient Domains of Mystery (ADOM) or Sudoku though.
I started my new position in work on October 13, 2020. Spent over five hours on the phone phone with the help desk. Not looking forward to doing it again in three weeks.
I am still adapting to teleworking a few days a week, but it is better than the daily forty mile round trip.
In my leisure I am still predominantly using my Mac Mini. I just finished updating my site to use proper includes for the CSS and Side Navigation Menu. Unfortunately the menu requires the use of JavaScript to show up. At least now, migrating shouldn't be such a major undertaking.
I've spent way too much time with YouTube in anticipation of the 2020 election. It will hopefully all be over soon, for better or worse.
I did manage to get Minions of Mirth installed on my Dell. I'm back to playing that more the Dungeons and Dragons Online or Guild Wars 2. I have a long delay when changing zones or when one of my party is killed. It appears to be related to disk access. I don't recall if this was a recent issue for Single Player on the last update or not, but while annoying, it is definitely still playable.
I spent some more time playing Minions of Mirth this weekend. In browsing I saw a post asking about immortal commands and few links. I updated my website to include Mirth Console Commands.
It was mostly ripped and heavily edited; however, I did add teleport destinations from the Undead Wars, the original post that was ripped may have predated the addition of the Haunted Hollow, the Temples of Linaar and the Wailing Catacombs. Unfortunately I don't recall the site where I found that particular information.
Please note that the programmers use experience to increase levels. It needs to run all the tests to see what new skills are available, recompute your stats, etc. My guess is this was to reuse code, and as far as I can tell works fine, but it will take a while to go from level 1 to level 100. Don't get too excited. I don't recall any crashes playing with leveling on my Mac Mini.
Keep in mind that skills are not increased with levels, just their caps. So, remember to update skills separately before you face face off against any higher level mobs.
I hope the page is useful.
Still playing Minions of Mirth Single Player. I didn't realize some of the NPCs for Minions of Darkness had factions. Went to get Grievous wound and Cruella nailed my team.
There are no obvious imm commands to adjust factions and I was about ready to delete my toons, so I figured I'd give an SQLlite editor a shot. Since my next step was deleting it, I had nothing to lose.
My best guess looking at the database is MoM adds a line to the database if it doesn't exist if it needs to adjust the factions. The relevant table appears to be character_faction. Points appears to be the relevant value. Faction_id can be found by reviewing the faction table, and character_id by reviewing the character table. I switched the points from negative to positive and the NPCs were no longer considered hostile.
The database was located at c:\Users\mcsup\AppData\Local\MinionsOfMirthUW\minions.of.mirth\data\worlds\singleplayer\Offline1\world.db for me. Adjust as necessary. If you plan on editing the database make a backup first. This is advisable even if this is your last ditch effort to fix something.
Keep in mind that while there are values in the database for almost everything, giving yourself levels is not advised. You may miss out on advancement points, new skills, etc by editing the database directly.
Happy New Year! I'm hoping 2021 gets off to a better start than 2020 did. We'll see what happens.
I needed to take a break from listening to politics; so, while I had off I was mostly playing Minions of Mirth (Single Player). The game is still enjoyable, but it is not the same as playing online.
I updated my blog to allow 2021 as a selection and added Polarhome.com to my Provider's list on my site.
I did decide to do a little bit of housekeeping and found my Micro VAX Mini Primer from college. Polarhome.com offers shell accounts for a small set up fee for various systems including OpenVMS/VAX; so after playing around in the guest account, I decided to set up an account.
The sign up requires you to print a form with your user information, sign it, and mail it in. You are allowed to email a scanned copy of the signed form. The fee for the US was $10.00. The only problem registering was the email that I provided had to be 18 characters or less. I have not been able to access my AOL email in years and was unable to recover it or reuse it, so I signed up for another one.
I contacted support about the email requirement and use of HTTP to sign up. The administrator set up the account and got back to me explaining the email limit was a requirement OpenVMS finger command.
Telnet and ssh access to the host are both available, though the port-mapping is a bit tedious. Fortunately Putty will allow you to save settings. (One of the rare occasions I was happy to be using Windows.)
I had requested support because I couldn't access VIM; nor could I figure how to upload files to the host. I got a reply back the next day explaining permissions were fixed for VIM and explaining what tools were available and the location of the COM file that should set up my environment. I still had a problem with Perl, but was able to copy the file and edit it to bypass the error. I now have VIM, WGET and LYNX in my toolbox. (Though DNS was down.)
It is sad to think I find VIM to be easier to use than the default editor; but it has been around 30 years since I used EDT and I don't have an appropriate keyboard for it. (No Gold or PF1 key.) (I also no longer remember SpeedScript or Word Perfect shortcuts. Use it or lose it.) I dug out my copy of Kapps and Stafford's, "VAX Assembly Language and Architecture", and have verified MACRO, PASCAL, FORTRAN (and CC) are all available. The few examples I've tried in MACRO have assembled correctly. The simple filter programs I wrote in C compiled without issues as well. While not my development environment of choice, the selection of compilers is nice. I'll see how much of the book I can get through.
Just being able to play around with this was well worth the set up fee. I'd definitely recommend Polarhome.com if you are looking for a shell account for educational use based on the support that I have received thus far.
Work has been kind of busy. Outside of work I've been reading a little more and continuing to mess around with computers. I finally went through the computers I have and found one that didn't work and one that appeared to die permanently after running a few hours.
I've been playing around a little with my Power Mac G3 and Mac OS 9. I really haven't gotten the hang of it yet. I had never used a Mac when I was younger; and most of my search results are for OS X. I'm still getting used to opening Applications or Games and launching programs from there.
Opening with assigned applications in some cases and in others by extension is a nuisance. Double clicking a DOC file that was ASCII text and waiting while MS Word for Mac opened, surprised me. I need to get used to manipulating things so drag and drop is useful.
I guess it is simply a matter of what you got used to using. I've played around with Windows 3.1 recently in DosBox and found File Manager (winfile.exe) was kind of limited as well. But aesthetically Windows 3.1 Program Manager (progman.exe) appears similar to Mac OS. I liked the way Windows 3.1 handled icons though. The icon handling in Windows 95 and later was a step back in my opinion when dealing with drag and drop.
Dealing with the Internet Archive for old school shareware is fun too. I've come across ISO and BIN/CUE files. Some of which can be examined on OS X, others can't. OS X doesn't appear to handle Hybird files well. I could usually still burn them from Catalina. I found at least one file that could not be burned from Catalina. I was able to burn it from Windows 7. The disk mounts fine on Mac OS 9. Ironically, Windows didn't appreciate mounting it because of the 16 bit software.
I found a hack online to use dd to burn an image from OS X. Apparently, so did Apple, because it no longer works under Catalina. dd is still around, but sudo no longer provides sufficient permission to write to /dev/disk2.
I'm currently reading Dan Gookin's Guide to Ncurses Programming. I'm thinking of porting some old DOS applications I had written to Unix. I had written a primitive library for dealing with menus and want to see if I can convert it to Ncurses.
I also ended up buying a couple of Commodore C64s. The C128 was permanently modded with JiffyDos. It looks like the ROM chips were replaced and the originals were probably sold. The first C64 I acquired on EBay worked fine; however, the case was destroyed in transit. When I mentioned it to the seller he provided a partial refund. The second one was advertised as is, no SID. The board looked horrible, the Power LED lit, but no display. The case had survived though. I was able to attach the entire keyboard with the case to the other base with the board. So it was a five minute job.
The power supply that came with the first C64 works fine; however, I had to replace at least one power supply when I was a teenager. I seem to recall that they were ridiculously expensive back then too. So, I'm waiting on a replacement power supply now.
I've long since lost all my original C64 floppies, but I still have hard copies of some of the programs I wrote. Maybe I'll check out some of the 6502 cross assemblers. I'd at least like to redo that Magic Square program I wrote in assembler. It is way too slow in Basic.
I've been playing around with VICE and trying a few different compilers that I used back in the day. I couldn't get Super C to compile successfully, I needed to change keyboard layout for Pascal 64. Neither very friendly options.
I found BASIC 64 online. It worked and I was able to optimize by magicsquare program for the C64. The speed is now tolerable.
While the early machines were comparatively easy to understand, they didn't offer the best programming environments. I decided to checkout cc65 which is from this century.
CC65 was easy to install on Windows using the Windows Snapshot, a few minutes skimming the instructions and adding a line to the environment, I was good to go.
I was able to be rather productive using Emacs with VICE and a couple of explorer windows (one for my program, the other to preview headers).
I kept the core of the program similar, but Basic 2.0 didn't have XOR, so I was able to simplify some of the logic. Because speed was no longer a factor, I added a visible counter for moves and added the ability to change the border, text and background colors.
There was already an array declared for COLOR_RAM, one for SCREEN_RAM would have been convenient, but the location can be remapped. It was easy enough to implement. I thought this was easier to read than extensive poke statements. I liked the macros for some of the PETSCII characters and colors too, since I'm a bit lazy on documenting my code.
Rather than display a full menu at start up, I opted to simply ask if you'd like to use the default colors, and then start or go to a menu.
My code is not optimized at all. I had intended to use a structure for the colors, but switched to an array in some of the functions because I thought reading and writing files would be easier. I thought I was having issues with pointers, my problem was a missing break in a switch statement between my load and default colors routines. Sometimes taking a break helps:)
The routines for the color menu are probably more extensive than the game itself. Some of it would be more readable broken down into separate functions. Some of the functions should probably be inline macros because function calls are expensive in both speed and stack space. I've also read that using global variables is faster; however, it is generally not good practice in C, especially in larger programs.
One major problem I had was working with files. There were no standards back in the eighties on 8-bit machines. CC65 is a cross development package for 65(C)02 machines. There were a lot of those machines. I had some trouble with cbm_open which was returning 0 on both success and failure. I'm not sure if this is a CC65 bug or a VICE bug yet.
I'm not convinced there is a safe way to test if a device is present or not on the C64. I added a line in the menu to change devices and another to initialize (hopefully) disks. I initialize device to 8 because that was usually the default floppy disk. If I recall correctly, you could daisy chain up to four disks. So, I added the option to use most devices from 1 to 11. I skipped the keyboard(0) and screen(3). I'd forgotten if other devices 2 to 7 could be repurposed for use as a drive. While I've no plans to test it, you should be able to save/load the colors to/from cassette(1).
I'll still need to test on an actual C64 and try my C128.
I wasn't feeling particularly ambitious over the weekend. I just got some light housekeeping done and played a little more Minions of Mirth.
I added an Experience section to minion-notes.html which I have some ideas to flush out. I included information on Advancements and Zones. The forums used to have a thread on classes and XP. I know level difference is a factor as well. Modded mobs and named mobs are worth more XP too. A lot of information was lost when the forums went down.
I've been in a bit of a retro mood and started playing around the PowerPC G4 I bought. Plenty of software is available as freeware, shareware or abandon-ware.
One thing I find irritating with the retro computing is the video. For my C64 I hooked it up to a VCR so I could use the coaxial out to force the TV to use letterbox(?) format.
I tried the same trick for a DVD recorded from a VHS tape made from old home movies to find that I only have one television that still accepts analog.
I caved and bought a monitor since the Mac's video card only supports 4:3 and 5:4 aspect ratios. I can let the Mac scale wallpapers, but software doesn't render correctly on a monitor with an 8:5 aspect ratio.
I have been using the Windows machine more, but got tired of the nag screens for MS Office 365. Outlook ticked me off this week, so I moved completely to Thunderbird.
I have a spreadsheet that I update daily. (Yes, it should be a database, but I never quite got database programming.) LibreOffice takes a year and a day to render a five tab spreadsheet. Quattro Pro from Corel WordPerfect Suite 8 renders the spreadsheet in about a second. Unfortunately it looks like I need to use Excel 97 format for the spreadsheets. I'll keep LibreOffice around in case I need it for compatibility with something recent.
It is nuts that a program from 1997 easily out performs a current office suite. Load time is nearly instantaneous. QPW uses about 4.5M in contrast to LibreOffice using about 164.5M. Unfortunately, MS didn't feel it was necessary to continue to support HLP files. Fortunately, my spreadsheets are comparatively simple. I only had one formula that didn't convert properly. It was finding an average if there was data and was easily rewritten to find the average if the sum was not zero.
I checked earlier this week to see if the union posted any guidance about the order for civil service to be vaccinated and didn't see anything.
I tried calling the doctor's office and the receptionist told me the doctor is recommending everyone get vaccinated after dealing with the virus himself (apparently sight unseen.) It is time to find a new doctor.
I finally caved in and got the shot yesterday. I had some mild naseau which might have been attributable to my eating when annoyed, and a mild fever today.
I would have liked to have seen more testing completed; however, I'm not interested in risking my job over this particular issue. It is more convenient to submit to a single shot in the arm, than to submit to testing several times a week. (It should be noted that convenient is not synonymous with prudent and wise. I would have liked an actual consult with someone familiar with my medical history. While I resent being coerced, they could have left us with required masks - I had a choice - it just sucked.)
I was extremely annoyed by the pharmacies that indicated you could not choose the vaccine you received. They could have at least framed it as subject to availability you may not be able to receive vaccine XYZ. I saw this at both CVS and RiteAid locally.
My local Giant Pharmacy actually still had a choice, so, I opted for the Johnson & Johnson vaccine. The pharmacist was forthcoming and indicated supply had been impacted by the brief pause to distribution. I may consider switching my business to them after this.
My temperature is still a half point higher than normal for me, but the fever is gone. My arm is still a little sore, but fifty fifty I'll live.
I'm still migrating away from OS X. While I should migrate to a Linux or BSD virtual machine for building my website and maintaining my blog, I will attempt to use MinGW32 for now. While PowerShell may be capable it is a little verbose for my taste and I'm perfectly happly with GNU or BSD utilities. Unfortunately, I didn't find WSL very good when working with remote hosts. So far, it looks like MinGW32 is just missing aspell - but I'll have to do more digging into my Makefile to see if other required commands are missing.
I spent a little bit of time updating my site.
Since MoM Reborn has been growing, I moved R.I.P. Minions of Mirth off of my Nav Pane and added a historical link on my main page for Minions of Mirth: Minions.html.
In "Research" I found that the link for currency converters was bad and removed it.
Under "Providers" I changed the link for Verizon to point to their main page. I removed the link to Apple since I only use the Mac for Delicious Library and Apple iTunes now.
I still still use the Linux machine for testing and checking things out but I'm usually running on the Dell with Windows 10. I'm not a big fan of Windows 10, but I still spend more free time gaming and watching YouTube than programming. I do almost all writing in Emacs, graphic editing in Gimp, and my site is updated using GNU Make.
I've more interest in learning AppleScript for my Mac G4 running OS 9 than in learning PowerShell. I have no real interest in rewriting the Makefile for my site and I appreciate having Bash around, so I installed MinGW-w64. I have used Cygwin in the past and might check that out.
Overall the switch wasn't a big deal. I just needed to add a decent GNU toolchain. If commercial games had decent support, I'd switch to FreeBSD over Windows, OS X or Linux though. I'm not of fan of "improving" things.
I ran into a problem with uploading to my site with MingW32, so I upgraded to MingW64. It was fairly painless. One day I'll stop being lazy and put it on a Linux or BSD machine.
I let Windows upgrade to Windows 11 last week. Main annoyances are no net traffic meter in the tray and it appears to auto-reboot periodically when coming back from sleep.
Corel Quattro Pro and MingW Terminal do not automatically reopen. Firefox appears to reopen with tabs. Fortunately I keep the spreadsheet saved.
I seem to have some issues with my Windows 2000 Virtual Machine, but otherwise the upgrade went much smoother than expected.
I think turning hypervisor support off in windows features resolved my issue with windows 2000.
I saw a kit for a calculator advertised, so I ordered it with a multiplexer kit to get some practice with soldering. I built the multiplexer the other day. My soldering still needs a lot of work but was adequate for that. I'll try the calculator sometime this month.
Been playing around with retro stuff a bit. I just got a Macintosh Plus about a week ago. I had ordered some system disks and a mouse. The machine booted fine but the floppy drive was bad and I had ordered the wrong mouse. I got the replacement mouse and floppy drive.
Installing the floppy drive wasn't too bad. I booted it up and the machine started ejecting the disk over and over. A quick search indicated that there were yellow and red cables and the wrong one can cause that behaviour. I swapped the cable and it booted up fine.
I tried a System 5.1 disk and a FullPaint disk. Everything appeared good. I plugged a System 6 disk in and rebooted to a black screen. Multiple reboots, powered down and tried again with the other disks that worked. I hear the chime and I can eject the disk from the keyboard, so it looks like the CRT died.
I ordered a replacement hoping that it will work or I can scavenge from one to save the other. I'm not sure I'm ready to play with high voltage though.
I found a copy of fredkin.c from back when I was playing with PowerC for DOS and updated it to work with gcc using ncurses on windows. I added the abilty to change the timing, load or save a file, etc. It's still a bit buggy, and I may still update the file format and add some options, but I'll post it in case anyone wants to play with it. It is woth mentioning that it crashes if TERM is set, so it should be launched from shortcut, explorer or cmd.
Happy New Year!
I updated fredkin.c to use delays measured in seconds and implemented rudimentary parsing for the data files. Data files expect actual data but will use defaults for live/empty cell characters, the delay and the generation if not provided.
I set a limit of 1 day to the delay (86,400 seconds). While arbitrary, this is run to watch the changes, I don't think anyone wants to stare at a static pattern for that long.
The man pages indicated nanosleep is POSIX compliant. usleep while largely supported is not POSIX compliant. I updated the code to use nanosleep. Rather than changing from microseconds to nanoseconds it made sense to just use seconds and let the computer do the math. Version 2.x stores the delay in save files as the number of microseconds. To use old save files in the new version, you can edit the save file and comment out the delay line by inserting a '#' at the beginning of the line, deleting the line, or changing the value to the number of seconds.
The previous save files were a fixed format header that expected a comment, delay and generation followed by data with a terminator. They should be compatible with this version although the delays are insane if you don't edit them as described above first and will appear to have hung the program on load. New save files are not compatible with earlier versions. Since the data files are now being parsed, hopefully that will not be a problem in the future.
The executable was compiled under Windows 11 and should work fine under Windows 10
I've been playing around with VirtualBox a bit and manager to get Haiku OS running again. I haven't been profiling it, but the performance is decent when it has enough memory.
I was able to get biorhythm and magicsquare to compile and install with some tweaking:
I also needed to install ncurses6-dev.
One thing I need to figure out is how to change the screen resolution. It's definitely worth playing with.
I came across some matrix problems showing Gauss Jordan Elimination on YouTube. I remembered essentially nothing of this and wanted some simple examples to do. So I slapped something together in C.
I guaranteed integer solutions by generating the system of equations from a randomly generated solution, so there is no logic to actually solve here. It shouldn't be too difficult to port to another language as long as multidimensional arrays are available.
The program is written top down and with limited interaction. It just shows the augmented matrix for a 3 variable system and will print the result after you hit "Enter".
The program should be run from the commandline. It was compiled on MSYS2 MinGW 64-bit and I have included a copy of the executable. It will accept an integer greater than 0 as an argument to set the maximum absolute value of the coefficient.
Download:
I updated my page: https://mcsuper5.freeshell.org/datesandmileage.html to reflect the updated mileage rates for the second half of 2022. While I was there I did a little reformating and removed most of the hard line breaks.
I wanted a copy of Rogue on High Sierra. RogueDarwin failed to compile. I made some minor updates to the Makefile and source. It now compiles on High Sierra with clang 10.0.0.
I added a few prototypes and changed some function definitions to return void since they used return without a value.
In the Makefile I turned off warnings and added .PHONY targets: install and clean.
/usr/local/bin is already in my $PATH, and /usr/local/share/man/man6 is searched on my system. Change the paths as appropriate in the Makefile.
I believe /var/games/rogue.scores was indicated in pathname.h, and it appears to be appropriate. You can change this by updating pathname.h. You should update this in the Makefile as well.
It looks like there is no shell interpretation on the path, that is, setting the pathname to ~/rogue.scores failed when run, so you may want to use the absolute path.
Download:
I did a little searchng on RogueBasin and found that RogueDarwin already had a fork mac-rogue that appears to have already updated to compile on a recent compiler.
It was still a learning experience and I prefer /var/games/rogue.scores to rogue.scores.
The source compiles on NetBSD 8.2 if you define UNIX.
The version is rogue-clone: Version III.
I got a copy of K&R's C Programming Language, 2nd Edition, last week.
The example in 1.2 gave me an idea. I've never gotten used to temperature conversions, so I decided to put together a utility. Temperature conversions using units is not intuitive.
I thought it would be a quick hack; however, temperature.c took on a life of its own after I decided to do some sanity and error checking. The source compiles on NetBSD 9.1 and on Linux. Finding appropriate headers for HUGE_VAL, DBL_MAX and DBL_MIN on both operating systems were problematic.
While it is pretty easy to get the number and the scale separately, it gets more complicated if the units are attached.
At least under float, I could get a result of -0.00 when the result should have been 0. I added a constant VARIANCE which hopefully brings us up to +0.00 when printed.
An alternative approach might be just to add the variance when the value was negative but within tolerance of zero.
I had started the project out using floats but switched to doubles after I saw how poor the precision was.
I did a minor update to the source for magicsquare-22.tar.bz2.
The update seeds srand() on Linux and NetBSD using clock() which should allow for a random board on startup if you are using Linux or NetBSD, and updates the version. Unfortunately, seeding using clock doesn't appear to be help on NetBSD.
I did a minor update to the source for magicsquare-23.tar.bz2.
The update seeds srandom() on using clock() which should allow for a random board on startup if you are using Linux. I'm assuming srandom() and clock() are available on most systems. I'm using getpid() for the seed on NetBSD which should be random enough for our purposes.
I also corrected the code to initialize the random number generator only once.
I've been playing around too much lately. I recently acquired an Atari 2600. I purchased the A/V mod but haven't installed it yet. I double checked my Magnavox Odyssey's and was able to get another one working as well.
On vacation this week and made some progress playing with Atari BASIC. I have a functional copy of Magic Square written for the Atari. I still want to add a getkey subroutine before I call it a day. Once I get that done I'll test it on actual hardware and if it works I'll add it to my page.
I learned to program initially on a TRS-80 and BASIC had commands like PRINT@ that allowed you to easily position the cursor. Being able to position the cursor in Atari BASIC is nice.
I honestly don't have a handle on color. I found it pretty simple on the C64. However, by ignoring color, I can get decent speed out of it. I think this version will be much faster than the C64 one.
At least for the time being I'm satisfied with my Atari 800 XL version of Magic Square. It appears to work on actual hardware. More information and the download is available on my page Magic Squares.
I just updated my Magic Square page with instructions on how to install under HAIKU.
"man man.conf" suggests the default for /boot/system/settings/man.conf would be:
These paths don't exist on HAIKU by default, and using this, "man man" fails.
It might be:
Writing /boot/system/settings/man.conf changes where the system searches for the manpages immediately.
I've been playing around with Haiku and I didn't see a port of Rogue.
I was able to modify the source from when I was playing around with OS X.
It expects ncurses to be available. On Haiku beta 4 that is currently "ncurses6" and "ncurses6-devel" if you'd like to compile.
You will probably want to add ROGUEOPTS="name=Blue Meanie" to your environment since Haiku simply uses "user".
Makefiles are included for both Haiku and OS X. I did not retest on OS X.
I haven't come across any problems playing from the start; however, I have encountered crashes if I've loaded from a save file and got attacked.
I thought about posting on FaceBook but figured I'm better off just blogging it. I like seeing my sister and nephews over the holidays. My sister and her youngest love the lights. Seeing them laugh and smile is always nice.
But Christmas hasn't been the same since Dad passed. I just wanted to say "I miss you, Dad. Happy Birthday."
Earlier this month I signed up for the tildeverse. I was experimenting with gopher on SDF and on tilde.institute.
My programs, Easter and Wrap, were developed remotely on their machine.
Easter will give you the date of Easter for any given year. Unfortunately, I don't recall where I found the algorithm.
Wrap was such a great idea that I spent a full day debugging my source, testing my environment and building a man page before I discovered the fold command.
Maybe I learned something.
Both programs are available for download from Programs on SDF, and are available on my Gopherhole at Programs.
Well my vacation is drawing to close. Back to work on Tuesday.
I spent a couple days replacing my hot water heater, so at least I got something accomplished.
I played around a little with "Command-Line Rust" and I'm not that crazy about it to be honest. Maybe it will grow on me, but it isn't really designed to be an introduction.
I leveled another toon up in "GuildWars 2," and played a bit of "Dungeons and Dragons Online." I even fired up the Mac G4 and played a little "Maelstrom" and "Solitaire."
I think I had the most fun playing around trying to get things to work on my system.
Windows calls "MS Edge" for help regularly in the UI and leaves itself running after you exit it. "MS Edge" is not my default browser; however, I didn't want to risk breaking my Windows 11 installation by attempting to remove "MS Edge."
I had been issuing "taskkill /f /im msedge.exe" from the command line, but considering how often I screw up and select "Help", I made a cmd file for it. I figured I'd create an icon for it to make it easy to launch.
Next problem. You can't pin a shortcut to a cmd file to "Start" or the "Taskbar."
The workaround I found was to create a shortcut to the cmd file, and edit the target to launch with
"C:\Windows\System32\cmd.exe /C killedge.cmd"
Next problem, it defaults to the terminal icon. While I like the icon, I already have the same icon for Window's Terminal and MSYS2 which I use for my blog and my website. I didn't need another copy of the same icon on my taskbar. I figured I'd go ahead and find an icon. So naturally I ended up needing to create one.
I copied and image of the "MS Edge" icon to the clipboad and trimmed it down to an appropriate size. I created a new image in "The Gimp" from the clipboard and added a new layer with transparency to edit.
I ended up needing to refresh my memory on how to draw a circle and a line using "the Gimp." After some research for the circle:
For the line:
After that was done, I had to flatten the image before I could export it as an ico file.
Finally, I could select my shortcut properties and change the icon, right click again and choose "Pin to taskbar."
I could have gotten things done quicker with "Paint," but then I wouldn't have learned anything about "The Gimp." It will also make modifying the icon easier in the future. I'm looking forward to going back to Linux full time once I'm tired dealing with Microsoft's improvents.
Last month, I finally splurged and bought a Linux laptop.
I settled on the System76 Darter Pro with 16.0GiB running Pop!_OS 22.04 LTS. I'm trying out Budgie for my Desktop Environment.
I'm slowly working on migrating towards using it for development.
I'm been using my System 76 Laptop as my primary machine for a few weeks now. It is definitely serviceable for the sake of programming. I'm not terrible happy with it's performance for games, but I wasn't expecting a laptop to be great for that.
I've mostly been using Budgie even though it still has deficiencies. The main thing I can't get around is it doesn't appear to handle dock apps well.
In other news:
I actually found an example of a complex root online while searching for a fortran issue and checked my roots program on my website and found a bug.
In my graphic I indicated I was using arcsine to get θ, I was actually using arccosine and failed to correct the sign of θ if b was negative.
I switched to using arcsine as indicated in my diagram and check the sign of a to determine if θ should be negated. Hopefully that fixes a 20+ year old bug.
This is for all ill-treated fellows Unborn and unbegot, For them to read when they're in trouble And I am not. -- A. E. Housman
This blog has been viewed 34 times.
Saturday 21 December 2024 Michael J. Chappell Contact me at: mcsuper5@freeshell.org