The Writing Application Conundrum

While I’m actively procrastinating on my backup application and finishing my MacBook Pro review, I was pondering on what tool I should continue to use or start to use for writing my blog posts. I’ve tried a few things in the past, one of them being Markdown in Byword way back in the early stages of my blogging efforts, Libre Office and the ODT file format sometime after that and more recently Microsoft’s Word using its DOCX format. To generalize it a bit: 

  • Markdown using any capable editor.
  • A full featured Word processor.

Both tools have their pro’s and con’s, but none of them are the perfect solution and I’m finding myself doing a bit of this and a bit of that, but never being really satisfied.

Read More »

Using TagLib with pytaglib in Python

I tend to write a lot of background to paint a picture why I’m doing things, so I’ll try to keep it short for to move on to the code quickly.

I have a digital music collection that was sorted by the first letter of the artist (A, B, C etc.) and then the artist and underneath that the albums. While that is good to find things, it’s not optimal for listening in my car (via USB stick). Sometimes I find myself wanting to listen to all of Melodic Death Metal on shuffle play. My car doesn’t support this like iTunes, with its internal music library, which is why I wanted to group artists and albums by genre. Since I didn’t plan to do this all manually, I opted to write some scripts in Python.

The code is available on GitHub. If you have suggestions for improvements, please comment or create a pull request. I’m not a Python pro, so I’m sure there’s some room to make it better.

Read More »

Writing a Custom Backup Solution

If you are a user of any form of computer and care one bit about your sanity, then you probably have a backup strategy. Otherwise, if all hell breaks loose and your whole computer burns to ash or the hard drive melts to a heap of metal, turning it into an ugly door stop, you’ll likely be kinda angry, maybe slightly pissed, your pulse most definitely at 180, that you’ve lost all your data. I’d certainly be, especially about all my pictures of all the festivals and places I’ve been to. 

(And maybe some family 😅)

But, to be honest, I’ve been a bit lazy about backups for some time now. I do have copies of all my important files, but that’s not a backup. It’s a copy. A backup lets you go back in time and get an older version of a file or folder, not just the most recent one that has been synced.

So why is it, that I’m not as diligent as I should be? There are a few factors in that equation. It’s laziness for one, knowledge that I do have at least one copy, the fact that I haven’t had any data loss so far and stinginess. Why the latter? Up until now, being a Windows user (not any more though, on my main machine), I was relying on Acronis True Image, a commercial backup software. However, the version that I own – 2014, I think – stopped being reliable in one of the past Windows 10 versions. I simply don’t want to spend the money any more.

I’m not here to tell you that I have changed my mind on that. No. I’m, of course, coding my own solution. Why wouldn’t I? Everything is done multiple times in the Open Source community.

Read More »

Jules White Programming Cloud Services YouTube Video Series

In my search for information about what a web.xml exactly is and does, I ran across a video series on YouTube of Dr. Jules White who created over 70 videos explaining the basics and advanced topics of creating web services for mobile applications. The videos are roughly between 5 and 15 minutes long, so they are ideal for in-between watching, without sacrificing in content. You can binge them too, of course.

What I found most pleasing is that his presentation style is very informative and professional. There are no awkward pauses or anything else that would make me cringe. It’s very pleasant to watch and there’s a lot of good information in it, even for someone that already has a background in building web applications.

I created this list of links to all the individual videos because wanted to have more structure and information than a YouTube Playlist can provide in case I want to go back and watch something particular. Additionally, there’s a little sorting and numbering bug in the YouTube Playlist 😉

So, here you (or I) go.

Read More »

Using Groovy Spock in a Maven Java Project

Groovy Spock is a testing framework that can be used as an alternative to the venerable JUnit. In Java projects it’s probably very common (I don’t have any data, just an assumption based on how I think) to also use a Java based testing framework. The most widely known is JUnit, although not the only one of its kind (e.g. see this article on DZone). However, Java’s syntax can sometimes be rather cumbersome and verbose, and this is where a dynamic language like Groovy can help. It is often used to create nice and interesting DSLs, e.g. as the basis of the Gradle project or, as in the case of Spock, for testing.

Here’s how to integrate the Groovy Spock testing framework in a Maven based Java project.

One thing up front: I’m no fan of Groovy. I’ve worked with Grails projects for several years and using Groovy has more than once proven to be a problem. Especially in very large applications. However, I do see the benefits it can provide in certain situations and I have come to like the more expressive, although sometimes odd to read, Spock DSL in tests.

Read More »

Bad Coding Habit: Append Needless Words to Classes

This is a short opinion piece about a very good talk I’ve been watching recently. It was presented by Kevlin Henney and is about seven ineffective coding habits of many programmers. Not only is his style very engaging and entertaining, it also contains seven informational things a coder might want to think about. While I generally agree with all of it, there’s one instance where I can see why it is done – if that’s the actual reason is a question for another day. I’m talking about appending the word Exception to classes that are exceptions.Read More »

Windows Fluent Design – Rendering Bugs?

As an avid listener of Windows Weekly I often hear discussions between Paul Thurrott, Mary Joe Foley and Leo Laporte about Microsoft’s Fluent Design. Microsoft continues to evolve the visual language of Windows and thus it’s a regular topic on one of my favorite podcasts. I’ve been noticing it here and there myself, mainly in system dialogs, but I’ve never really paid any attention because none of the applications I use on a regular basis make use of it – and currently I’m rather happy about that fact. Just recently though, I was struck by one effect in particular and that was the spark that got this blog post going. To be honest, in most cases where I notice these Fluent Design elements I think of them as rendering bugs. Like sometimes in games, when the graphics driver is not yet optimized, or a badly programmed game engine draws odd pictures sometimes, flaws in an otherwise normal picture. I have a few examples to show to you.

Read More »

WorkTracker 1.4.0 Released

Yes, you read that right. I have released a feature update for my WorkTracker tool. There was one little annoyance that I worked around by using copy and paste and since it was just a few key strokes, I didn’t bother. But in my renewed motivation to do some coding, I thought that it’s about time this issue goes to hell. And now it’s being grilled by Lucifer.Read More »

Apple WWDC 2018 Announcements – A few thoughts

As I do every year, I watched the Apple WWDC 2018 keynote, for personal entertainment purposes as well as a genuine interest in what Apple is doing. The same is also true for both Google’s and Microsoft’s developer conferences. This is not a comprehensive summary as done by other Apple news sites and blogs, but rather  a few thoughts on what I’ve seen and how it may or may not affect me.

iOS Update Strategy

Every year, and with good reason, Apple mocks Google’s Android platform for lagging behind in the software update department. This year was no different, as was to be expected, but in addition to that they emphasized the support of devices dating back to 2013. Five-year-old iPhones and iPads! Take that Android.Read More »

Of tall phones, curved displays and notches

This is a rant about modern smartphone design. I’ve had a few ideas in my head for some time, since MWC 2018 in fact, but never bothered to write them down as it was only focused on this notch thing that keeps on spreading. However, recently my sister’s phone died – thanks for the boot loop issues LG (it was my Nexus 5X that I passed on to her) – and so I helped her searching for a suitable replacement.

Although there are plenty smartphone makers out there, our go-to list wasn’t very long. For one, we had ruled out LG from the start. It seems that the Nexus 5X wasn’t the only one with recurring hardware defects. The next ones that didn’t make it to the list were basically all Chinese manufacturers like Huawei, Honor, ZTE or Xiaomi. I understand that they make very good handsets, especially Huawei has upped their game, but I do have my doubts regarding software updates. The last time I had read about the Android update situation sometime last year, these companies didn’t have the best track record (I don’t have the link to the website anymore, sorry). In fact, just throwing it out there, some Android phone manufacturers even lie about the patch level of their firmware.

<Insert your preferred curse>

Read More »

I could really bite myself in the butt right now

Somehow, I managed to lose the Intel mounting bracket and standoffs for my Corsair H100i v2 liquid cooler. To be honest, I’m pretty sure I sold them together with the Intel motherboard when I switched to AMD Ryzen. Yes, you read that correctly.

Sold. With. Motherboard.

I can’t find that stuff anywhere in all the packaging that I always keep around until I throw away or sell the hardware. So that’s the only logical conclusion says Mr. Spock.Read More »

NVIDIA GTX 970 vs GTX 1080

As mentioned in the Overclocking the Core i5 post a while back, my graphics card was limiting higher performance outputs, especially since it had to render games in 2560×1440. I hinted at an additional post dedicated to overclocking the GPU and this is it in some ways. I did overclock the GPU, but shortly after I also replaced it with a Gigabyte G1 Gaming GTX 1080. Nevertheless, for comparison, I will include the overclocked results based on the custom graphics settings from the last post and also compare it to the 1080 using default game presets. This way you can easily compare with your own rig. I had hoped I could also include Ryzen tests, but unfortunately Corsair’s AM4 mounting kit for the watercooler is still travelling around the world. So, there’ll be another performance related article (hopefully) soon. That one will compare the overclocked i5 with the GTX 1080 to a Ryzen 1700X with the 1080. Not only in games, but also in encoding.Read More »