I had some .flac files that needed to be converted for iTunes, but I couldn’t find a standalone app for OSX, so using my CLI-fu, I managed to do the job.
For reference, this is how I proceeded (you’ll need Homebrew for this).
Install the following packages:
- cuetools (to print the breakpoints from a cue or toc file)
- shntool (to split a single-file album image to a file-per-track album)
- flac (to read .flac file format)
- ffmpeg (to do the conversion)
- id3v2 (to read and write id3 tags)
- mmv (to change the name of files, see below)
mmv is not really needed, but this tool is invaluable, you should use it.
brew install cuetools shntool flac ffmpeg mmv id3v2
First, split the flac file in tracks:
cuebreakpoints album.cue | shnsplit -o flac album.flac
Add the tags to the tracks
cuetag.sh album.cue split-track*.flac
Rename the files (why? because!)
mmv 'split-track??.flac' "Track#1#2.flac"
Concert the .flac files to mp3 VBR
(for FILE in Track*.flac ; do ffmpeg -i "$FILE" -codec:a libmp3lame -qscale:a 1 "`basename "$FILE" .flac`.mp3" || break; done)
You can now import the *.mp3 files in iTunes.
I couldn’t find a way to convert the .flac files to .m4e AND keep the metadata so I used mp3. If anyone knows a way, let me know. I also read that the ffmpeg aac converter wasn’t as good as iTunes, so I don’t think it’s really worth it.
I wrote an app for a museum and it needs to run for a very long time without crashing. Unfortunately, it crashed after a week. (I had 3 days to write the app, and almost no time to test it. Yes, we developers always have an excuse!)
So I had a look to UIAutomation. What a revelation! I wrote a script to test my app and I was able to remove some leaks from my app, but I needed something more hard-core to test my app.
I searched the internets using DuckDuckGo, my favorite searching tool for the last year. I searched for “UIAutomation Monkey” because, being an old Macintosh developer, I remembered of the infamous “Monkey Lives” feature of the early Macs.
I quickly found “UI AutoMonkey” by Jonathan Penn.
Seeing this script clicking frantically is really fun, and helped me find some unexpected bugs.
I was able to let it run for around 6 hours, without crashing and memory usage stays constant. So far so good.
I will install the new app next week, we’ll see how it behaves.
- I couldn’t run the test for more than 6 hours, Instruments used 10G of memory and wasn’t showing me the memory usage of my app;
- ARC is cool, but I feel I lost control of my app;
- Writing an app that needs to run 24/24 without ever restarting is stressful.
On my Linode server (great company and service BTW), I had setup a VPN for me, but after upgrading to Ubuntu 14.04, I had no time to reinstall it.
So yesterday, I grabbed a free account on NoLimitVPN (because NSA and Google, you know) and I’ve been using it without any problems. (I’m no expert in security, but since NoLimitVPN is managed by a french company and their VPN is hosted on RamNode.com in the Netherlands, I expect a minimum of privacy).
The only problem I had was that the VPN doesn’t connect automatically when my Mac wakes up. DuckDuckGoing (what’s the official or usual verb ?) (because I don’t use Google anymore), I only found AppleScripts running in background and connecting the VPN. Since I don’t want something running in the background on my old and faithful iMac, I looked for alternatives.
This is the solution I’ve set up on my Mac:
To start the VPN (named “VPN”, duh), I use a terminal command
scutil --nc start VPN
Instead of this AppleScript (found on StackOverflow)
tell application "System Events"
tell current location of network preferences
set myConnection to the service "VPN"
if myConnection is not null then
if current configuration of myConnection is not connected then
To start the VPN when waking up, I use SleepWatcher (a tool I use to pause ArqBackup when my Mac wakes up) and I put this line in my ~/.wakeup file:
scutil --nc start VPN > /dev/null 2>&1
Voila, problem solved.
Here in Switzerland the major telco (Swisscom) has an option to let you see your last 20 answered and missed calls on your account webpage.
Not wanting to log in every time I want to check if I missed a call, I wrote some scripts and that fetches the content of my account web page and display them on an iOS app.
First, If you have a Lego MindStorms NXT 2.0 and you don’t use NXC (Not eXactly C) you’re missing something. If you’re a programmer, you surely feel limited by the official visual environment, and it’s a PITA to make it run on a Mac.
After the hacking attempt of Apple Dev websites, all of Apple dev related websites went offline.
This script will send you a notification as soon a new service is online.
After having tried all almost-free cloud-based (Bitcasa, Mozy, etc…) backup solutions, I tried Arq, and since August 2012, I use it without problems.
I backup 120G and it costs me $11 per month for the Amazon S3 storage. Not bad. Arq can also backup to Amazon Glacier, for a fraction of this cost.
Every time you add some user interface to your iOS app, Xcode will enable by default the Autolayout flag, which is a PITA because it’s not supported for 5.1 targets.
I found a StackOverflow answer that solves this problem, but it needs to be done every time Xcode is updated.
Just a reminder: I keep my list of Apple Push Notification Service Gateways up-to-date.
You can find it on my blog here.
If you use app.net (app.net, a paying alternative to twitter, without the ads, the sponsored tweets, etc…), these websites will provide functionalities or informations you may need.