Pat David Avatar
ABOUT ARCHIVE
Theme
3 min read

Converting Ordinal (Julian) Dates in SQL

I was recently put in charge of some (Microsoft SQL) databases for monitoring meteorological (and hydrological) data down here in Mobile Bay. One of the fun things I’ve found is that it’s apparently common to identify this data based on its ordinal day in the year. That is, a sequential count of the number of days since the first of that year.

(Not to be confused with the Julian date which is the number of days since 01 January 4713 BC Greenwich noon. Yeah, fun.)

For example, the first of the year can be written as 2021-001 while today, 11 July 2021 can be written as 2021-192. All the way up to 365 (or 366 for leap years).

This may be great for astronomical data but it’s a bit cumbersome when looking at data that has expected range values for a given season. At least for what an investigator’s expectations may be.

For instance, if I told you it was 90° F (32.2° C, 305.37 K) on August 1st you might think it’s normal (well, normal for southern Alabama). If I said it was 90° F on day 304 you might have a harder time noticing that it seemed unusually warm (for a Halloween day).

So I needed to generate a report in something more easily consumed by non-date nerds. I also wanted to throw some of this data into something like Grafana for some nice visualizations, which is expecting a more familiar ISO-8601 datetime (YYYY-MM-DD HH:MM:SS) when graphing data.

Because I’m a glutton for punishment I decided I wanted this as part of my SQL queries.

Read more...

2 min read

Episode IV: A New Job

After spending the last 20 years (!) of my career in shipbuilding (and 15 at a shipbuilding software company doing R&D with the U.S. Navy) I was given an incredible opportunity to switch gears to something much more aligned with my personal convictions.

I am the Data Architect for the Dauphin Island Sea Lab!

Read more...

2 min read

Using Multiple GitLab Accounts

I got a new job (more on that later)!

One of the things I needed to setup is multiple GitLab accounts. I want to continue using my personal account but I also want to automatically be able to use a new work account as well.

My personal repos were in ~/personal/ and work was (gasp!) ~/work/.

I tried out a few different things I read online such as this article on Medium by Arnelle Balane that uses includeIf in .gitconfig to change the user configs based on the gitdir. It didn’t work for me, however.

Read more...

2 min read

You Go Hugo!

I finally got around to updating this site to use my static site geneator of choice these days, Hugo!

Read more...

4 min read

Libre Arts

Over a year ago my friend (and fellow GIMPer) Alexandre Prokoudine asked me if I’d be willing to help him build a new site for a transition of Libre Graphics World to something broader in scope that he was calling Libre Arts. Of course 2020 managed to get in the way and I didn’t really get a chance to work on it as much as I would have liked.

Fast forward to my December break and I finally had time, energy, and desire to get things finished up for him. Some furious part-time hacking over a couple of weeks et voilà!

Please welcome Libre Arts to the world!

Read more...

2 min read

On the Open Source Creative Podcast

Last weekend I was honored to be a guest on the Open Source Creative podcast with the one and only Jason van Gumster!

Before recording he made the mistake of telling me to feel free to go off on a tangent. I’m thinking I probably made him regret staying that. :)

Open Source Creative Podcast Logo
Read more...

8 min read

My Tools

I’ve been meaning to write up something more comprehensive about the Free Software tools I use daily to help me work remotely or with distributed teams. I have no idea if this will be interesting or helpful to anyone but my hope is it might in some small way…

In B.C. (Before Coronavirus) time I was already working towards being able to work from anywhere. One of my personal computing goals is to be as computer-agnostic as possible.

I think when computering, most people are focused on the software they’re using and not as much the underlying OS (if anything I’d bet the primary interface to the OS and filesystem for most would be a file manager). They want to use particular programs to get their work done and if the programs are cross-platform the OS just fades into the background. As I believe it should be—just get out of my way and let me get to work! :)

On that note, I wanted to talk about the programs that help me get work done!

(Note: all of these programs/projects are Free/Open Source Software, which is a primary requirement for me, as well as cross-platform.)

Read more...

42 min read

The Upper Berth

“We are not superstitious in our profession, sir,” replied the doctor, “but the sea makes people so."

The story this week moves the haunted house concept to sea! I started these stories with a haunted room in The Red Room so here is a haunted cabin on a ship.

Read more...

21 min read

The Monkey's Paw

This is a story whose fame precedes it, I believe. So much so that I think I’d be surprised to find someone that hasn’t heard of at least the basic premise of the story: someone is granted three wishes but finds that the wishes don’t quite work out the way they had intended.

This is not a new idea of course, but W.W. Jacobs manages to perfectly capture the horror of being granted these wishes and their unintended consequences. This theme shows up quite often in modern literature, movies, and television shows (to varying effect).

Read more...

9 min read

On the Brighton Road

This is a quite short story by Richard Middleton that I love for its simplicity and brevity. In talking about the story here, I drop a couple of spoilers. If you’ve never read it before scroll down now. Do come back when you’re done, though.

Read more...

← Older | Page 1