Tag all of your music with MusicBrainz Picard

For the last decade I’ve been half-heartedly trying to clean up and organize my collection of music.  This collection has duplicate, triplicate, quadricate? copies of songs.  Some songs are tagged with no name or artist while others have the completely wrong information associated with them.  In addition to this hole of chaos I could never figure out a good way to get updates made on my phone over to my computer without a huge hassle.  All that changed after I decided to pick up a new Micro SDHC for my phone that can more than handle my entire collection.

My saving grace turned out to be MusicBrainz Picard.  Not only is it free but it took my piece of chaos and fixed it.  The software has a great way to fix all of the ID3 tags in my MP3 and M4A files.  The application will tag songs based on the names of the files as well as lookup the fingerprint of the song.  Since the software is lets developers create their own plugins you can extend the application to incorporate information from Last.fm or try your own hand at writing a customing plugin.

After playing around with Picard over the weekend I was able to cleanup over 90% of the music on my machine.  In looking at the music that wasn’t fixed I’m seeing a trend of duplicate songs and some that appear to have been corrupted.  Most likely I’ll be deleting the untagged files once I’ve verified they aren’t worth saving.  As always, if you find this software useful consider donating some money towards its development at MetaBrainz.

Speed up an old laptop

I just realized the other day that my laptop was over four years old.  I bought it a few months before our first daughter was born with the hope that it would last for a long time since money would be getting tight.  When I was looking I stuck with a brand and model that I knew could take some spills and getting thrown around, Lenovo Thinkpad. Specifically I picked up the T520 model that came with a decent processor and enough memory to easily handle Windows 7.  Well fast forward four years and the laptop was starting to show some sluggishness when it came to developing apps in Android Studio or running Firefox with a bunch of tabs open.

The easy solution to fixing the problem would be to spend another $1,500 and pickup a new laptop.  But like I said, money can get tight when you have a kid or two running around.  So to hold me over for a few more years I decided to upgrade the hard disk from a traditional spinning drive to a new Solid State Drive (SSD).  I picked up a new Samsung 850 EVO  500GB for $149 which is an amazing price, great specs, and a worthwhile five year warranty.  The drive came with software that transferred everything from the main drive to the new one so that I could easily swap out the old drive and boot the machine right up.  One other item you’ll need is a way to attach the drive to your machine when copying all of the files and operating system over.  I used a drive enclosure similar to this Vantex NexStar.  Once you’ve installed the new SSD you can put your old drive into the enclosure and use it as a backup drive or to transfer files between computers.

After making the drive change the computer is noticeably faster.  Booting up took just a few seconds and starting up applications is quicker than before.  To help out even more I later upraded my machine to Windows 10 by doing a clean install of it from Microsoft which cleared out all of my old applications and basically gave me a new machine.  I’m loving it and hoping I can get another two or three years of development out of the machine.

Picked up a new phone

A few weeks ago I had a post about which phone I was considering given that my BlackBerry Z10 was showing its age after over two years of use.  I thought I’d stick with BlackBerry and pick up the Priv since I had grown accustomed to the virtual keyboard and Hub concept.  After finally getting my hands on one I realized that the phone was bigger than I wanted.  The size was equivalent to the iPhone 6+ which is in no way a one-handed use phone.  Instead the Samsung Galaxy S7 came out and blew me away with its specs.  12MP camera with a sensor capable of f/1.7, expandable storage, great screen, and an impressive battery.  Add to it the ability to get wet and not die and I was sold.

So I went and ordered the device on the 4th and had it in my hands by the 9th.  After just a few days of use I’m pretty happy with the decision.  To replace the Hub feature in BlackBerry I went with Microsoft Outlook and found the app to be a respectable replacement.  With it I can have all of my email accounts in one place with the ability to easily filter and search through emails.  The virtual keyboard on the S7 isn’t bad either.  I’ve grown accustomed to not having the suggested words above the letters.  I’m no where near as fast as before but it still works.  Haven’t had a chance to really use the camera so I can’t say much about it.  The sound quality for phone calls is excellent, and yeah, the phone can send and receive text messages 😉

I’ll try to post some more in a few months to let you know more about how the phone is holding up.  But as it stands now it is a great new phone.

Making phone easier to crack

I was walking around the office the other day thinking about the whole iPhone and FBI fiasco going on and a question crossed my mind.  If a phone is locked by a users fingerprint will there still be the same problem when it comes to unlocking the phone after a user passes away?  Could authorities not use the persons finger to unlock it or if they have a record of their fingerprint use a recreation of it on the sensor?  If this is true then wouldn’t having your phone protected by a pin code be better than the convenience of using the fingerprint sensor?  If anyone knows of any research articles about this let me know.

Starting a company when you have a family, part 2

It might sound strange but I didn’t create my company because I expected to make much money.  To make money you need to be able to dedicate a significant portion of your time to researching a potential product and developing a solution.  In working two jobs and starting a family time isn’t a readily available resource.  Instead I created the company as an organization to launch any home grown products under, use as a learning resource for future endeavors, and general legal protection should anything happen.

One of the hardest realities I’ve found is maintaining focus on a product and technology.  There are constantly ideas popping into my head on a new app or service that I could develop or framework I could use to make development quicker.  If you’ve done anything with JavaScript then you are all to familiar with this problem; a new day brings a new framework that makes all other frameworks inadequate.  Amazingly enough this is where have limitted time has really helped.

Instead of jumping into a new pool of ideas and technologies every month my limited time has forced me to focus on a small subset.  Now when I have an idea I jot it down and let it simmer for a few months or even years.  If the idea has real potential then I’ll revisit the idea and start to research it further.  If it doesn’t then it will eventually go the island of misfit ideas.  Technologies are handled the same way.

Because I started off developing for BlackBerry phones I had only a few options, HTML/JavaScript for BBOS and Playbook devices or Java for BBOS only.  Since I wanted the most visibility in the app store I went with HTML/JavaScript and developed a WebWorks application.  The first run at the app I wrote all of AJAX and DOM manipulation calls by hand in JavaScript, no frameworks were used.  I took this route so that I could get a better idea of how raw JavaScript worked and understand how much a framework really helped simplify coding.  For the next iteration I used the JQuery Framework and was amazed at how much code could get ripped out and replaced with cleaner looking JQuery.

I’m not going to say that I have since dedicated my life to JavaScript and rank myself as an elite JavaScript coder with my own framework on GitHub that is used by the latest startups because quite frankly that isn’t the case.  The biggest lesson I learned from that experience was that JavaScript was an imateur language that had a lot of growing up to do.  I continued to use it for various projects but never dove in head first into it.

Since that foray I’ve focused on C++ development for BlackBerry 10 devices and Java for Android.  Up until the middle of this month I’ve always carried around a BlackBerry Z10 so any development was geared around BlackBerry 10 platform.  But given the demise of their operating system I’ve changed focus and started diving into two pools.  Android Java development and Angular/Ionic cross-platform development.  I’ll go into those in a future post as I’m still working my way through two online courses that will hopefully get me back up to speed.