Philip P. Ide

Author, programmer, science enthusiast, half-wit.
Life is sweet. Have you tasted it lately?

User Tools

Site Tools


I'm a novelist and have an interest in space science and physics. I've been a programmer for more than 30 years and I like reviewing new and up-and-coming authors.
If you want me to review your novel, please look at my Rules on Reviewing page.

Please consider registering (see top of page) to help support this site. Your personal data isn't shared with anyone, but it makes me feel good.

Donations are always welcome.  

Bluedo Multiplayer Game

The title says it all, Bluedo is a multiplayer game. Why am I writing a multiplayer game, and why am I telling the world about it before I've finished writing it? It's an open invitation! Step right up!

→

· 2024/06/06 15:15 · Phil Ide

Conky and MPD

Conky displaying an MPD panel Conky is a widget available on Linux, that allows the display of an enormous amount of data about system resources in real-time. Amongst those resources it can display is data available from MPD - Music Player Daemon. However, there are some bits of info that MPD outputs that conky doesn't collect, and some of that is particularly interesting.

It is possible to get that information though, although there are different techniques. For example, this extracts the current queue position and the length of the queue:

${execi 1 (mpc -h romeo status|grep 'playing.'|cut -f2 -d'#'|cut -f1 -d' ')}

As you can see, it requires a bit of shell arcanery, but actually it's pretty straightforward. For the elapsed time, I simply took the values of two conky variables (mpd_length and mpd_elapsed), which appear as 00:00 format time strings, converted them to seconds, subtracted one from the other and turned the result back into a formatted time string. In this case, I wrote a few functions in lua and added the lua script to conky.

For the length of the entire queue, I wrote an application in Rust (which compiles down to optimised machine code). This application fetches the entire playlist from MPD and then iterates through the list extracting the length of the track in seconds, and accumulating the results - then formats the final result as a 00:00:00 formatted time string. The source code is available on GitHub if you want to compile it for yourself.

Update: I have written another function in Rust, this collects a whole bunch of information from the MPD queue, and outputs a Conky parsable formatted string, so it can not only display all that information, but apply Conky positional instructions, such as $alignc, ${offset}, ${voffset}, change colours/font etc. This allows me to display the following queue information: length of the queue as a timestring, elapsed time, remaining time, percentage elapsed. This is available at mpd_queue_stats on GitHub.

You may notice there is a 'File:' marker just below the track title. This only displays if there is no title information available (think of it as a fallback). I found that having the filename displayed with the title makes for a confusing display, to I made them either/or options.

→

· 2024/05/24 23:55 · Phil Ide

Crew in Space

page last updated: 2024-06-15 06:08:02 (updates only occur when there are changes)

A list of crew (from all countries currently) not on Earth, a list of spacecraft currently docked with the ISS, and a list of global upcoming launches

  1. (C) denotes Commander
  2. Mission Time is in days
  3. Western spacefarers are known as Astronauts
  4. Russian spacefarers are known as Cosmonauts
  5. Chinese spacefarers are known as Taikonauts

→

· 2024/05/09 14:20 · Phil Ide


I have Volumio on a Raspberry Pi 4, which I think is fantastic software, but there are two gripes I have with it:

  1. Despite setting “Allow UI Statics Collection” to off, stats collection is still enabled
  2. In order to play music on the device I'm controlling it from (e.g. my phone), I have to pay

I can do without paying, I've paid enough and I'm on a tight budget but the stats collection gets up my nose. Whilst they may no longer collect UI stats data and send it to themselves, there are cookies from google analytics, google tag manager, facebook and Making me think my data is not being collected when it still is, is a bad thing, and the fact that these cookies can track a lot more than 'how I use the player' is horrendous.

Time for something new.

→

· 2024/05/04 21:09 · Phil Ide

Lunar Clock Published

The lunar clock has a new name: rtaps which stands for [R]PC [T]imestamp [A]djustment [P]rogram [S]erver. Yeah, I know, a bit contrived, but aren't all acronyms?

The code has now been published on GitHub at and can be cloned using git or downloaded as a compressed zip archive.

I have decided not to turn the program into an NTP server, since that is non-trivial task. If someone thinks that would be a great idea (I no longer think so), they can take existing NTP code and amend it.

→

· 2024/04/14 23:41 · Phil Ide

Older entries >>

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
start.txt · Last modified: 2019/06/07 04:19 by Phil Ide

Except where otherwise noted, content on this wiki is licensed under the following license: Copyright © Phil Ide
Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki