Jon Thysell

Father. Engineer. Retro games. Ukuleles. Nerd.

Month: February, 2014

Chordious 0.6.0 available, now with an integrated chord finder!

It’s been five months since I last released Chordious, my free app to generate beautiful chord diagrams for stringed instruments. Version 0.4.0 brought the first public iteration of the graphical chord designer, greatly simplifying your ability to create diagrams to meet your own style needs.

The problem was, you still needed to know what chords you wanted to make diagrams for. The biggest ask then was for an integrated chord finder.

It took me some time to bone-up on music theory, and then figure out exactly how to implement a chord finder in an efficient way. Other apps have done it before, but it’s a non-trivial problem to solve, and so I wanted as efficient, complete, and flexible solution as possible.

It took a few months to plumb the whole thing through, but Chordious 0.6.0 now features an integrated chord finder! Check out these lovely screenshots:

Now you can simply pick your instrument, tuning and search parameters and then search for chords! Right now you’re limited to the instruments, tunings, and chord types that I’ve entered- to start I just added some of the more popular banjo, guitar, and ukulele tunings. In the future I plan on making the list user editable. Same thing with the chord qualities- right now you’re limited to major, minor, augmented, diminished, 7th, 6th, and some of their variants.

Though the chord finder is the meat of the release, there are also plenty of other new features as well, including:

  • Export: Export images as PNG or JPG for easier use
  • Diagrams: Strings can be “muted” by setting them to -1 (and they show as x’s above the string)
  • Diagrams: Strings left open can optionally have an O at the top of the diagram
  • Diagrams: If Barre is set to -1, the diagram will make an “educated guess” where the barre should go
  • Diagrams: Barres can now be partial (only crossing the minimum number of marks) or cross the whole fret
  • Diagrams: If Baseline is set to 1, don’t show the 1 fret number (just remove the nut line, great for creating blank diagrams)
  • Bug fix: Fixed an issue where the app kept running in the background when you closed with an unsaved document open
  • Lots of other clean-up and code reduction

For download links, check out my Chordious page, or the Chordious project page at Launchpad. You’ll find links for both the binaries and the source. Be sure to download the right binaries for your system (Windows or Linux / Mac OS X), and follow the installation instructions carefully.

Happy strumming!

/jon

Note: Chordious is still beta software, so please be sure to backup any ChordDocuments and diagrams you create. If you run into issues, let me know! I’ve still got plenty of room on the road-map to version 1.0.

Update (02/16/2014): I finally fixed the StartChordious.cmd script to work on Windows XP, so I’ve updated the 0.6.0 windows binaries zip to include the fix.

Building the Picade Mini Part III, with a custom rear jack panel!!!

Time for another Picade Mini update! In Part I of this build, I put together the main parts of the cabinet. In Part II I got the screen’s faulty driver board replaced and the screen and control electronics tested.

Now, according to the instructions, my last construction steps are to install the rear door and mount my computer. Then I should be good to start setting up the software. But, you don’t own something until you’ve modify it, so let’s modify this cabinet.

Starting pieces for a jack panel

I wanted to have a cleaner rear interface than just a bunch of cables sticking out the pre-cut slots in the bottom of the rear door. My idea was to install some jacks, so my first step was to create a template of the jacks that I want- 2 USB, 1 power, 1 Ethernet, and a nice power switch.

Template board Port layout on the template

At first I saw two choices: cut individual ports directly into the rear door, or cut one large hole and make a separate jack panel to mount there. Either way I’d need a template, so I did just that with a thin sheet of wood with graph paper glued to it. Then I traced out and labeled the jacks where I wanted them on the graph paper.

Drilling the power jack with the drill press Filing out hoels for the jacks

I used a drill press to cut the hole for the power jack and for the screws of the other jacks. Then I used a jigsaw and file to make the holes for the jacks themselves.

The jacks successfully mounted to the template front The jacks successfully mounted to the template back

All in all, I was pretty happy with the template. It was a nice compact arrangement of everything I wanted. Next it was time to decide whether to start cutting holes in that rear door, or make a separate panel. Given the thickness of the rear door, I chose to make the separate panel.

The next question was what material to use? My first idea was to use a thin sheet of metal, or even to use another thin panel of wood. Instead my future father-in-law (whose workshop and tools I was using for this part of the project) suggested I try plastic, specifically a light switch blank. He thought it’d be easier for me to work with and look better than what I could make out of wood or metal.

Sizing up a light switch panel to the rear door Drilling ports into the panel

Home Depot carried them in black for $0.89, so we picked up two and I got to work. He was right; the panel was really easy to work with. I transfered the template design onto it like a stencil with an awl and cut away. I’ll have to keep light switch blanks in mind when I’m working on electronic enclosures in the future.

Sizing the completed panel to the rear door Drilled holes in the door to cut out with a jigsaw

After cutting out the holes and making sure everything fit, it was time to  figure out where I wanted to mount it on the rear door. I chose the center bottom as the place to give me the most room inside the cabinet.

A hole in the door!

It was time to cut a hole in that beautiful rear door. I drilled holes to mount the panel and drilled out the corners so I could take the jigsaw to it. I cut out the smallest square I needed, and then for the moment of truth…

Finished jack panel front Finished jack panel rear

Viola! My custom jack panel installed perfectly, and looks way better than I expected! I realize it’s a little dirty in the pic- it got some glue stuck to the panel and I was too excited to take a photo to clean it off first. Now all I have left for the physical part of this build is to wire everything up and get that rear door installed onto the cabinet.

Stay tuned for the next part when I do just that!

/jon

Update (03/05/14): Part IV is up!

Update (03/05/14): See the video: Picade Mini build running RetroPie.

The pain of maintaining spreadsheets

Of all the things I’ve made and put online, it’s by far my open source weight-tracking spreadsheet WTODS that’s gotten the largest and most enthusiastic response. Weight-tracking tools are a dime-a-dozen these days, but when I made WTODS back in 2007 I was in Zanzibar working off an ancient laptop with OpenOffice, no internet access, and no solution. So I made my own and shared it with the world.

I used WTODS to track my own weight for years, and as OpenOffice’s popularity grew, so did my spreadsheet. I got bugs from international users when I didn’t handle metric properly, when I hard-coded periods for decimals instead of using whatever the locale of the user specified. I got feedback and links and suggestions. It’s my most successful software project to date.

But other than adding new features, a lot of my development time has been spent just making the damn thing work with the latest versions of OpenOffice, and more recently, LibreOffice. It’s a compatibility problem first pointed out by the creator of the Hacker’s Diet itself, who ranted at Microsoft’s seemingly malicious record at breaking compatibility for his own Excel spreadsheets over the years. I thought, perhaps naively, that by creating a spreadsheet for the ODS standard, that I might be spared this nonsense.

No such luck. Sorry Mr. Walker, but it’s not just Excel – Calc’s just as annoying to keep up with. Maybe even worse- because most people don’t just jump on new versions of MS Office, whereas updates to LibreOffice are free and easy and why wouldn’t you update?

It’s been two years since I last updated WTODS, but for a while now I’ve gotten reports of it not working for various people, and I’ve finally narrowed down the source. At a core level, LibreOffice changed in version 4.1 how they handle various aspects of using Dates in code, which breaks part of the charting in WTODS. Someone was even nice enough to send me a potential fix, for which I’m very grateful, because it finally led me to understand what broke.

The problem is, if I fix it (so far I’ve been banging my head against my desk trying, as even the potential fix I was sent only kinda works) then the spreadsheet will stop working for people like me who aren’t on the latest LibreOffice. It means I need to “fix it” and abandon myself and people like me, or maintain two different versions of the sheet, or even worse, just cut out the relevant functionality and make the sheet less useful.

None of these options are appealing.

The bigger issue is that I myself don’t really use the spreadsheet that much these days, at least not on a daily basis like I used to. I use other, simpler, tools to track my weight, and I’m not as concerned with keeping a complete record for all time. I really don’t want to have to maintain this sheet forever, I mean, look, even my inspiration stopped at Excel 2003! I’ve got plenty of other projects in the works, and am finding it hard to make the time to go back and rescue WTODS.

So I’m stuck in a quandary, and I don’t know what I’m going to do next.

Still on LibreOffice 3.5.7.2,

/jon