Monday, May 4, 2020

Design

I am obsessing over design lately. I would love to design watches, furniture, architecture. Sad that my interest in it came 20+ years after art school. But I'm thinking about exploring it any way. My plan is to put together a site. Its objective is to get exposure for my designs. To do so I'll try networking by highlighting other peoples' work and designs I like.

Even if it does nothing for my design ambitions it will be a good place to showcase my various creative projects.

Due to the power of the platform I think I'll start out using WordPress. Later I want to move it over to something I've built from the ground up but for now WP will be fine.

Thursday, April 16, 2020

I've Done It

Well I've done it! I've created a relative path method that can walk up into another folder and back down until it finds the file! So it can generate relative paths even if the song files are not within a directory within the playlist. The task was easier than I expected. I use two strings one for walking up the path and another for walking back down to the specified sibling directory. Then I add the file name.

I've begun moving over my mp3s and setting their tags and adding them to playlists in my playlist manager. So far everything is working well.

I do have to rename my application. It manages playlists, not mp3s. We'll see how tough a change that will be.

Monday, April 13, 2020

The MP3 Problem

I have years of collected MP3s. They are arranged in directories, some by band name, others by genre, and still others by 'playlist' (New Years, Birthday, etc). The trouble is I have numerous duplicates of many of my song files. I want to have one single source of MP3s added to various playlists. However I need those playlists copied to different directories so I can copy them to my phone. There are a few apps out there that do this but so far I have not found a tool to meet my needs.

I decided to build a simple playlist manager with my specific scenario in mind. Then I would cleanup file names and get all the ID3 tags set on ALL my song files and copy them into one directory. A massive 'nosql database' of songs. No duplicates. Any duplication would occur in the playlists, not in mp3 files themselves. I would then create playlists for whatever I want. These would be used to export their songs to whatever directory I want for copying to my phone etc.

I set to work. Creating a console app with super basic 'file browse' methods etc. It kept everything in a database and would copy files out to wherever. However it wasn't very friendly to use (Even for a console app lol), it was time consuming and I kept see weird bugs and odd behavior.

So I gave up.

Then I thought of a different tack to take. I would build it as a GUI app that essentially creates standard .pls files. However, even though it is basically a text editor, it is used more like a playlist manager. You create, or open a playlist and add songs to it. You can delete songs just by highlighting the text and deleting it. When you save the file it goes through and fixes the relative paths and rebuilds the entries for each file present in the text editor.

Then you can export the currently open playlist's files to another directory. This is all working so far! However I really need to update the relative path code to be able to walk up and into sibling directories etc. It currently can only handle child directories.

In the future I may update it to a more logical control like a grid or list, but the text field works fine for now.
I am currently cleaning up all my song file names and setting their ID3 tags. This is going to take a LONG time.

Monday, April 6, 2020

RDP Fail

Remote Desktop in Linux remains elusive. I have tried time and again. I've tried a couple different servers, a couple different clients. I've tried tweaking the firewall rules, did chmod changes. And still nothing. The client prompts me for my login then it just gives up.

Now I'm unable to even smb to my tower. So I'll need to uninstall the firewall I installed per an RDB tutorial. This is all very frustrating. I understand security but this is all within my home network, surely it shouldn't be this difficult. I can SSH into the machine, not sure why I can't get RDP to work.

I'll post an update when I finally succeed.

Saturday, March 21, 2020

Slick Help

I have added more features to the markdown parser I wrote the other day. I added tables, and the ability to set column widths. So it isn't really a standard Markdown. The tables feature ended up working better than I thought it was going to.

I added the ability to link to other topics within the help system. This task was actually pretty tricky. Every time a help system is compiled the topics get new GUIDs, so I couldn't rely on those - and even if I could, how would the author know what the GUIDs are? I decided to add an alias property to the topics in the DB. This property can be used to link to other topics - and - display a 'back' link if a second alias is in the markdown. It worked smoothly.

Next I tackled images. I created two types of image definitions, one that uses a relative path to an Images directory, and the other a full URL. It is limited, but the idea of Markdown is to quickly define a readable document, formatting syntax should be fairly unobtrusive. I may allow for centered or text wrapped images though. It would be good to at least allow that much formatting.

I'm surprised at how fun and powerful this help engine is, now that I added markdown ability to the authoring of topics!

Monday, March 2, 2020

Neon Arches of Chaos

What a roller coaster ride. I decided to try an Arch Linux install again, in a VirtualBox instance. I got close, but it still wasn't booting correctly. I think my Grub installation wasn't done correctly. But this got me wanting to update my laptop OS. It has been a while. I decided to run Mint with a KDE desktop installed.

I installed it but wasn't able to get to the Grub menu so my laptop kept freezing. I needed to do the Nvidia fix and it wouldn't let me so I was stuck.

On MSI machines (Maybe all machines, I'm not sure) the Shift key, held down after the logo, brings up the Grub menu. This wasn't working on my machine - I don't know why. I was able to hit F11 to get to the boot device selection list. I hit enter to launch my Mint system and immediately hit 'E' a bunch of times. It worked! It brought up the Grub editor. I made my changes and all was copacetic.

Until it wasn't.

I couldn't get the KDE desktop to install, and really wanted a clean start. So I decided to rebuild and just get used to XFCE. But I couldn't get into the Grub editor, not even with my F11 trick.
I decided to edit it via the live image. This was educational! I learned you have to mount certain system drives etc, install Grub and edit the .cfg. However I was doing something wrong, it never worked.

I decided to try KaOS. I grabbed an image and 'dd'd it onto my USB. Nope. It failed to install. I later read that its installer is somewhat unstable.

I did some more searching and came upon KDE neon. I decided to give it a try. It apparently is more up to date than Kubuntu. I downloaded it and installed it. To my surprise it ran without any issues! No need to do the NVDIA fix. I think I have a new favorite distro! So far I've had ZERO issues with it.

Tuesday, February 4, 2020

Stitching

Happy 02022020 (Well at the time I started writing this)!
I have good news to report on the space mining rererewrite: It's going really well so far. I have changed the core class structure from previous rewrites.

This time I have spread out the tasks so that the GamePanel isn't doing all the work. Keypresses etc are handed off to the Level class, and it has specific level type classes under it - for space, surface, etc. And later I'll make these totally generic, so you can define any amount of sublevels, of any kind, via config files. The goal is to make the game totally moddable - so much so, the game actually becomes more of a game engine that builds randomly generated top down arcade games.

I have coded the seamless loading of level sectors and just need to code the reloading of the stored sector data. I have that piece done but need to restore the last saved position.

Introduction to WorldWeaver

A New Iteration  I've been working on the second manifestation of my Interactive Fiction engine - WorldWeaver - for about a year now. I ...