Entries by mhoffesommer

Docspell stopped processing document queue

I'm using Docspell to manage all my mail and other documents, and it's been working great. However today as I was uploading a batch of documents the processing queue suddenly stopped working.

Looking into the logs of the joex component I noticed that it crashed with a Java OutOfMemory exception. "No biggie" - just add "-Xmx2G" to the startup command in my docker-compose.yml ... except the joex processing queue still hung.

I spent way too much time diagnosing this, but as it turns out that there were stale entries in the jobgroupuse table that led joex to believe that ...


Simple Kodi to Plex watched items conversion script

(Wow it's been 8 years since my last post.... really haven't done anything since then...)

Today I had to hack together a quick script for moving my wife's list of watched movies and TV shows from Kodi to Plex. I couldn't find anything like that on the web already, so I spent a few hours digging through Kodi's and Plex's database formats. 

No guarantees or warranties, even if this script kills your cat (I hope it doesn't). It's at https://github.com/mhoffesommer/kodi-to-plex for anybody who's interested.


cocos2d-x windows particleeditor translation and fixes

I've finally gotten around to translating the windows version of the cocos2d-x particle editor found here. This version also includes a bug fix; the version on google code uses the localized ToString() version for floats which really messes up the generated plist files when e.g. running with a non-US locale...

Windows particle editor v1.1.17+ (2.9 MB)

Temp fix for linux leap second freeze

Like a lot of other people some of the servers I run have been affected by the leap second freeze. There's an easy (temp) fix to get the system running again without restarting (assuming you still have access to the system in question):

service ntp restart 
date -s "`date`"

That did the trick for all the affected servers I had - notably only the ones that were running Java services actually had issues...


Security for your Linux SSH using iptables

A few months ago I one of the servers I was looking after got compromised. Basically some script kiddie with too much CPU power on his (her) hands succeeded in a brute-force attack logging into the ssh server. 

Of course now I'm using much longer, harder to crack passwords...

But the other new weapon in my arsenal is a very short script (basically just two lines) - to use this script save it as /etc/init.d/ssh-limit and then run 'update-rc.d -f ssh-limit defaults'. If your external interface is not eth0 then you'll have to adjust the ...


Robust subversion sync via cron

I usually deploy my projects using subversion. This means that on a given server I'll do an initial checkout, typically of the live branch. Then I'm setting up a cron job that on regular intervals polls the distribution server and checks if there are any new versions available. If they are then the scripts syncs to the new revision(s) and performs any additional optional operations (e.g. doing a 'touch' for WSGI reload etc).

One of the problems I ran into was then whenever I submitted a change on the dev branch the sync script would consider ...


'Very Sleepy' 0.7.2 - C++ profiler now with API

I've just posted a new release of the forked Very Sleepy code on github. Release 0.7.2 adds a first version of a DDE based API, allowing the profiled program to enable and disable capturing of profile frames. This can come in very handy for example if you want to capture only a certain section of code...

As always, the release can be downloaded here.


Convert 7 or 8 character string into excel date

Today my wife asked me to fix one of her spreadsheets. One column contained a date encoded in either 7 or 8 characters in the format DMMYYYY or DDMMYYYY, but she needed the data as actual dates.

Here's the quick formula for this (assuming Y2 contains the date string):

=IF(LEN(Y2)=7,
             DATE(MID(Y2,4,4),MID(Y2,1,1),MID(Y2,2,2)),
             DATE(MID(Y2,5,4),MID(Y2,1,2),MID(Y2,3,2)))

Unity asset dependency walker

For a current contracting project (yes, I am for hire Wink) I had to do a cleanup pass on some assets in Unity3D. Basically what had happened was that somebody copied an entire directory tree resulting in a lot of assets with the same name (but of course a different GUID). At this stage nobody knew which assets were current and used by the levels, and which ones were not...

I've whipped up a quick editor script that simply lists all the assets that are currently directly and indirectly used in the active level. Selecting one of the assets will ...


Enhancements to 'Very Sleepy' C++ CPU profiler

I've been using the excellent CPU sampling profiler Very Sleepy for quite a while now. The most recent version however had one serious problem for me: sporadic GetThreadContext failures that resulted in aborting the profiler.

Additionally there were some other improvements I was interested in, and since I couldn't find any public depot for the source I decided to create one at github.

The latest forked version can be downloaded here. It includes the following changes:

  • fixed the sporadic GetThreadContext-related profile abort
  • fixed symbol lookup issues if EXE is started from profiler
  • added option to pause/resume profiling ...

Page 1 of 2 1 2 »