Skip to main content

Senior Web Engineer. Open web / music. Remote DJ. Tall Dutch guy. #3million

micro.blog/sander

svandragt

mixcloud.com/cloudseer

 

Carbon 0.3

It seems today is 0.3 day, as I'm also releasing Carbon 0.3, my hackable performant semi-static blogging system.

This release mainly deals with technical debt as I first started this project 6 years ago as a playground for figuring out how a CMS is written from the ground up. This means there are out of date requirements, references to a Windows platform with Powershell and other such bad examples.

That said the codebase isn't in a terrible state although it will have to change significantly before it's production ready. If you know a bit of PHP then after a short study it can be customised to your needs quite easily.

So, if you're interested you can use it and quickly whip together a documentation or simple blog using only markdown files. It will produce a feed and there's even a half baked cli application and static site generation that I have to review before I can recommend it in honest.

carbon 0.3 theme

Have fun hacking!

 

So you want to become a neckbeard?

Having wasted too much time installing Ubuntu on a laptop recently, I thought it would be helpful for the future self to document the issues.

Issues

I'm seeing one or more of the following issues with Ubuntu 18.04 LTS:
  • Missing text on the login screen
  • second monitor switching off
  • Hangs
  • Won't boot  directly into the OS
Install Ubuntu 16.04 LTS which is not a piece of garbage.
Migrate SSH keys from Putty to OpenSSH https://askubuntu.com/questions/818929/login-ssh-with-ppk-file-on-ubuntu-terminal/818932
What are the correct permissions for the .ssh folder? Typically you want the .ssh directory permissions to be 700 (drwx------) and the public key (.pub file) to be 644 (-rw-r--r--). Your private key (id_rsa) should be 600 (-rw-------). Lastly, your home directory should not be writeable by the group or others (at most 755 (drwxr-xr-x)).
How do I connect to our team networkshare automatically on startup?
sudo su
apt install cifs-utils
echo "//path/to/windows-share /mnt/team cifs credentials=/etc/samba/credentials,uid=1000 0 0" >> /etc/stab
cat > /etc/samba/credentials <<EOC
username=UserName
password=PassWord
EOC
chown root.root /etc/samba/credentials && chmod 400 /etc/samba/credentials
Change the username and password appropriately verify your userid is 1000 with id -u UserName
I skipped  creating a passphase for my encrypted home directory, how do I do it now?  run "ecryptfs-unwrap-passphrase" in the terminal
How to stop the mouse sticking to the edges of the display https://askubuntu.com/questions/119281/what-is-the-function-of-the-sticky-edges-on-off-setting-in-di...
Can't install vagrant plugins Download vagrant from vagrantup.com
nfsd is not installed sudo apt-get install nfs-kernel-server
vagrant booting vms reports a timetout delete (rm) the IdentityFile mentioned in vagrant ssh-config

This document will get updated as I stumble and fix other issues.

App Alternatives

Clipboard manager https://hluk.github.io/CopyQ/
Remote connection manager https://snapcraft.io/pac-vs
Google Drive https://www.howtogeek.com/196635/an-official-google-drive-for-linux-is-here-sort-of-maybe-this-is-al...
Phrase Expansion https://leehblue.com/ubuntu-text-expander/ https://github.com/leehblue/texpander
Screen Recorder Kazam (https://askubuntu.com/a/29954), installs well with apt. Alternatively Simple Screen Recorder.

 

Microsoft continous war on privacy

New controls are arguably an improvement, but data collection remains mandatory for most.

Source: Windows 10 Creators Update to rejig privacy settings in a move unlikely to please anyone | Ars Technica UK

 

Traktor streaming to SHOUTcast servers using LiquidSoap

I've been using Traktor for years now as my deejaying solution and broadcasting tool. The one missing feature on the broadcasting side is that it can only stream directly to Icecast servers, lacking the ability to stream to SHOUTcast based servers. Most servers use the SHOUTcast streaming protocol which grew popular through the MP3 movement back around the turn of the century. We will setup a transcoding link to enable streaming to SHOUTcast servers.

This guide will focus on OS X but on a general level is also applicable to Windows users.

This replaces my previous guide at https://sites.google.com/site/traktorshoutcast/

Overview

We will need the do the following things:

  1. Install Homebrew, a package manager to help set things up.(OS X)
  2. Install and setup Icecast, a streaming server that will accept the Traktor stream. (aka local streaming server)
  3. Install and setup LiquidSoap, a transcoder that will connect to the local stream, and broadcast it in SHOUTcast format.
  4. Configure Traktor's broadcasting settings to point to the local streaming server.

Also useful is to keep the SHOUTcast stream (remote stream) details to connect to at hand (host, port, password).

signal flow

1) Install Homebrew

Homebrew is a terminal package manager to add / remove / update OS X software and compile it from source code for us, so we don't have to.

Homebrew installs the stuff you need that Apple didn’t.

To install, follow the directions on http://brew.sh. Currently (as of Feb 16) that says:

  1. Open a terminal window.
  2. Run /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Follow any instructions about the Xcode commandline tools.

After everything is setup you can run brew update to update your formulae, brew upgrade to upgrade to their latest versions, and brew doctor to diagnose any issues with your particular installation. Keep the terminal open for the next step.

2) Install and setup Icecast

Icecast is a streaming media server which [...] can be used to create an Internet radio station or a privately running jukebox and many things in between.

We will setup the local streaming server so that we can connect Traktor and the transcoder to it.

Install

In the terminal window you left open, run brew install icecast.

If I remember correctly, everything should go smoothly and before long you'll get a message saying it's successfully installed.

Configuration

To keep the configuration files we are about to create nicely together, create a broadcast folder somewhere (I used ~/Music/Broadcast).

I have prepared a very simple configuration file for you, download it from https://gist.github.com/svandragt/f7ecb720416a68f096a1 (right click the raw button and select Download Linked File As.. and save it as icecast.xml in the broadcast folder you just created).

You won't have to change the contents of this file, apart from the passwords.
This configuration creates a mount point on http://localhost:8000/traktor.ogg for Traktor and LiquidSoap to connect to.

Starting and Stopping the Local Streaming Server

In the terminal window, in your broadcast folder, run icecast -c icecast.xml. It should show a few warnings but no errors, and your local streaming server is now running. Stop it now by pressing ctrl+c.

3) Install and setup LiquidSoap

Our flagship is liquidsoap, a swiss-army knife for multimedia streaming, notably used for netradios and webtvs. Liquidsoap is a powerful and flexible language for describing your streams. It offers a rich collection of operators that you can combine at will, giving you more power than you need for creating or transforming streams. But liquidsoap is still very light and easy to use, in the Unix tradition of simple strong components working together.

We will install the program and setup a flow (configuration) to connect to the local streaming server, and broadcast it to the remote stream.

It should have been simple to install using brew, but unfortunately it was not. After several days of debugging here is a working set of instructions I produced.

Install

In the terminal window you left open, we will run the following commands:

  1. brew tap drfill/liquidsoap -- This enabled homebrew to install it.
  2. brew install --env=std liquidsoap --with-shout -- this installs LiquidSoap using the standard build environment with shoutcast support

Grab a drink. After a while hopefully all works fine. I noticed that LiquidSoap is now recommending OPAM to install it so you could try that if this doesn't work for you. (http://liquidsoap.fm/download.html) - I have not tried it.

Configuration

As before, I have created a very simple flow. You will need to setup one flow per destination stream so if you play at multiple radio stations / SecondLife clubs then you will need multiple flows.

Download it from https://gist.github.com/svandragt/af43c07d5842c9c429d5 (right click the raw button and select Download Linked File As.. and save it as example.liq in the broadcast folder).

This time you have to edit it, to add the remote stream details. Change the following lines to suit your purposes:

  • output_host = "example.com"
  • output_port = 8124
  • output_pass = "mypassword"

The configuration above is for broadcasting to a SHOUTcast server at http://example.com:8124 (using the password mypassword). Leave the rest of the file alone or make a copy and start experimenting LATER, see http://liquidsoap.fm/documentation.html. LiquidSoap is very powerful.

Starting and Stopping the Transcoder

In the terminal window, in your broadcast folder, run liquidsoap example.liq. It will start showing a lot of messages, and because you are not currently broadcasting also some errors. Stop it now by pressing ctrl+c.

Traktor

Start Traktor and open the Preferences menu item. Open the Broadcasting tab.

Use the following information to point to the local streaming server:

Server settings:

  • Address: localhost
  • Port: 8000
  • Mount path: traktor.ogg
  • Password: hackme (but you changed this, right)
  • Format: Ogg Vorbis, 44100 Hz, 192 kBit/s (highest quality, bottom option)

You can enter whatever you like in the Metadata Settings.

tractor broadcasting settings

In Traktor, click the broadcast button (the little attenna). It will flash because the local streaming server isn't running and therefore Traktor cannot connect to it. Whenever Icecast is running but the button is still flashing, check that the password and other connection details match.

For now, click it again to stop broadcasting.

All together now

Before you start streaming:

  1. Start Icecast and keep it running.
  2. In Traktor, click the broadcast button and confirm its not flashing.
  3. Open another terminal window / tab in the broadcast folder for the next step.

When you start streaming:

  1. Start LiquidSoap with the flow of your remote stream. Keep it running.
  2. Start deejaying!

When you are finished

  1. Stop broadcasting with Traktor.
  2. Stop liquidSoap to let the next DJ on the stream.
  3. Stop Icecast because nothing is connected to it now.

Final thoughts

I hope this helps anyone having trouble deejaying online, I enjoy it very much and if you'd like to listen to deep house / electronica, please listen to my mixes.

 

Windows 10 Privacy Guide

Steve Gibson pointed me to a guide to setting your desired privacy level in Windows 10. This version of Microsoft's operating system follows the 'always socially connected' footsteps of smartphones and therefore makes privacy assumptions. Using this guide you can check if they match your expectations.

 

Windows 8 a catastrophe for Games?

Interesting article by Tom Phillips interviewing developers about Windows 8 and it's closed Windows Store, with this gem of a quote from Introversions' Chris Delay:

"I really don't want to see the PC becoming a closed platform. Microsoft is not a company that's able to benignly oversee that process. They will f*** it up. We'll all be doing Kinect support and 16 language versions, we'll all be supporting a Microsoft Office plug-in. It's my own worst nightmare.

[...] “The PC continues to be as relevant as it was ten years ago, despite consoles coming and going, because it is an open platform. If that changed it would be terrible.”

It's interesting times for the gaming industry, indeed.

 

PHP 5.5 drops support for Windows XP / Server 2003

PHP 5.5 will no longer support Windows XP and 2003. Those systems are around a decade old, so PHP is pulling the plug on them.

It was already mentioned on the PHP 5.4 release changelog. It makes sense, but I’m sure it will cause some issues with organisations who have not been paying attention. I would encourage all developers to sign up for the PHP Announcements mailinglist.

 

Fixing Samba network-share change notifications

Today a problem came up where the files on my Samba fileshare did not indicate to my Windows system that they were changed. Software that relies on this information such as TortoiseHG and SimpleLESS would not know that the file had changed. This was especially obvious with SimpleLESS which should take the .less file and process it, but wouldn’t.

It turns out that the cause of this is that on the linux system the system time was off by a large margin. Using Arbab Nazar’s article on setting up time synchronization fixed the issue and prevents it from reoccurring.

 

I Won The Windows Phone Challenge, But Lost 'Just Because'

This sounds like a situation where I hope some rep from Microsoft will intervene and offer the guy his reward.

via I Won The Windows Phone Challenge, But Lost “Just Because”

 

Combining multiple Subversion repositories

This post describes a step by step guide on how to combine multiple Subversion repositories whilst keeping individual history (and commit messages).

Dumping

Exporting from pagefeedbacktool repository the /trunk/public folder and integrating that into the services repository under /trunk/public/pagefeedback:

Dump the repository including only /trunk/public as follows:

E:\\Repositories\\pagefeedbacktool>svnadmin dump .| svndumpfilter include --drop-empty-revs --renumber-revs trunk/public > ..\\services\\filtered.dump

Loading

However as pathnames are stored as part of the dump (and replacing the path with a texteditor corrupts the dump), we have to include the full path under a different parent directory:

In VisualSVN create a /trunk/public/pagefeedback/trunk/public folder structure (try without the final public if import fails) then load the dump as follows:

E:\\Repositories\\services>svnadmin load . --parent-dir "trunk/public/pagefeedback" < filtered.dump

The dump is successful but at the wrong path:

currently: /trunk/public/pagefeedback/trunk/public
should be: /trunk/public/pagefeedback/

Post-correction

Open two Windows Explorer windows with both paths side by side, select all the files that should be moved, then RIGHT click drag them to the destination folder and choose SVN Move versioned files here...

Commit from the repository root.

It is now safe to remove the trunk/public folders under /trunk/public/pagefeedback/

Commit again.

 

Modified Files - Windows 7 Productivity Tip

To quickly access the files you've been working on today, create a new Favorites item for these files.

To do this, open Windows Explorer and select your Libraries link on the left. Then in the search box, enter modified:today and click the Save Search toolbar button.

Enter a name, such as Libraries Today, and press enter. You will now see the new item appear in your Favorites menu.

You can select this item whenever you need to access recently worked on files.

 

 

 

PuTTY updated after four years

When you press Win + left/right it will now correctly occupy half the screen, which was annoying me for a while. Essential app.

2011-07-12 PuTTY 0.61 is released

PuTTY 0.61 is out, after over four years (sorry!), with new features, bug fixes, and compatibility updates for Windows 7 and various SSH server software.

via PuTTY: a free telnet/ssh client.

 

Host Editor 7 - Hassle free host editing for Win7-XP

I was fedup with the poor experience of editing my host file, which is often needed when developing websites. So I quickly created an AutoHotkey script for the purpose.

15:03:50 - me: anyone knows a host editor app that works under windows 7
15:04:51 - me: fed up trying to first find the hosts file, then not being able to save because I again forgot to run notepad with admin privileges.

Download @ Host Editor 7 - Hassle free host editing for Win7-XP - DonationCoder.com.

 

WindowsPager

WindowsPager: One of the more accomplished virtual desktop solutions that work well with Windows 7

 

Smart Podcast Playlist

Create a smart playlist with all unplayed podcasts. By using this playlist you no longer have to find the next podcast on your iPhone whilst driving back home. Make sure that you include the smart playlist on the Podcast tab of your iPhone, iPad or iPod Touch.

Update:
Although this seemed a great solution in theory, there are some issues with this approach in practice. As diskspace on the iPhone is at a premium you will have to limit the amount of podcast data stored on your device. However, because there is not an option to keep 1 unplayed episode per podcast in the smart playlist editor you have to set the amount of diskspace used. When you have several podcasts and some are updated more frequently then others you will end up for some podcasts not being on your device and others that are continuously listened to. Therefore I opted for http://vemedio.com:80/products/instacast">InstaCast which caches 1 episode per podcast and comes with continuous playback in its latest update.

 

Bard 0.3.0.3 Released

Updated again (version 0.3.0.3) - I have fixed all known bugs.

Changes since 0.3.0.0:

  • instructions updated
  • Fixed problems remembering what directory we're working on.
  • Fix: now lists samples with mixed case or uppercase extensions
  • Removed tray icon
  • Menu item to AudioLibraryFolders now works correctly
  • Resizing now works as expected
  • Remember windows position and size between sessions

Download the latest version

 

How To Search for Asterisk in Excel

A while ago I had to normalize values in an Excel sheet where some of the values contained an asterisk (*) and some did not. However it's not immediately clear how to search for a asterisk. It turns out the escape character is a tilde so searching for ~* is the correct way to do this.

[caption id="attachment_247" align="alignleft" width="300"]Searching for ~* to search for an asterisk in excel Searching for ~* to search for an asterisk in excel[/caption]

 

iTunes App Updates Sync

Wouldn't it be useful if iTunes would (have at least the option to) sync app updates to your device automatically after downloading them? How often I have forgot to sync and find out later in the day that my apps are still out of date.

 

Hear no iPad, see no iPad

What's the Deal With These Windows PC Guys Saying Stupid Things in Australia About the iPad?

Microsoft cannot get a tablet out so it's best to marginalise the whole market.

Via Daring Fireball.

 

InstaPlay 1.0

As a hobbyist music producer, I have a lot of samples of sounds. As I have decided to start organising these, I needed a quick way to fire off samples in wav and mp3 format through Windows Explorer.

So I created InstaPlay. This is a simple sound player. To install it simply unzip it in a directory that's in the path, and then associate wav and mp3 files (and whatever else you want to use) with it.  It also has a few features:

  1. Just double click or run a soundfile to hear it play.
  2. Nice speaker icon in system tray while a sound is playing. Double click it to quit InstaPlay and stop playback.
  3. Run  another sound file to switch playback to that instead.

This program will help you categorize more efficiently as you can move the sound that's being played without pesky 'file in use' prompts.

Download Info
Download the latest version (v1.0 - updated 14/oct/2010)