When Spotify launched in NZ, I skipped it as it required Facebook integration to work. I need more social media, messages and updates like I need more door to door sales people. So, when they dropped that requirement, I thought I’d give it a crack. At first it was good, added some playlists, then followed some playlists, discovered some new music and basically forgot about maintaining my MP3 collection and the playlists I’d crafted/cobbled over a decade.
However, it started to get annoying and hasn’t improved. Firstly the emails; I’m pretty sure I’ve unsubscribed from more emails than should be possible for a consumer facing service. I don’t want emails from you, I never have and I’ve unchecked every box that would remotely intimate I might want more emails in my inbox. Then there’s the “in app” notifications. Notifications, I think people will look back at notifications in a few years, if they’re not doing it already and go “what were we smoking”. In-app notifications cannot be turned of with Spotify, there is no preference setting. If they want to notify you, you’re going to get a popup and a sound no matter how deep in thought you are in your job or whatever you gets your bills paid. Your concentration is not of any importance to Spotify. Your relaxation is not of any importance to Spotify. Your sanity is not of any importance to Spotify. The inanity of it is that the notifications I received, I assume there are other types, were for the most assinine uselessness it beggars belief… someone added a song to a playlist I followed. Why on earth would I actually care about this? Why would anyone care about this? And why would any one care so much that they needed to be notified above all other things? It’s like someone ringing my doorbell to tell me that someone wrote an article in a newspaper column I read. If I read it I read it now get off my doorstep. Seeing as I couldn’t turn off the notifications I did the only logical thing and unfollowed that playlist. What a great music discovery tool.
I’ve just received another email now, telling me about some “local music” on the false assumption that I somehow care more for music made on the island I live on than what’s available elsewhere in the whole world. Somewhere, this is part of some marketing plan. Someone at Spotify in a slew of meeting dreamed up the idea that I care about when playlists change and what local music has been released lately. I don’t care, I told you last time I don’t care and since you’re so desperate to get me to care about what you think I should care about, the only logical conclusion is that Spotify and I are incompatible. One more email/notification and Rdio & I will try dating.
Spotify is like the worst things in a girlfriend and a hooker combined, you’re paying to get nagged.
Had an interesting item appear in the log files
http://example.com/ +++++++++++++++++++++++++++++++++++++++++++++++++++Result:+%F4%EE%F0%F3%EC+%ED%E5+%ED%E0%E9%E4%E5%ED+/+%ED%E5+%F3%E4%E0%EB%EE%F1%FC+%EE%EF%F0%E5%E4%E5%EB%E8%F2%FC+IP
The back end part of is windows 1251 encoding. I couldn’t find a useful online convertor, probably because it’s URL encoded as well. Broke the first few words down using the lookup chart on wikipedia,
+\xF4\xEE\xF0\xF3\xEC
форум
+\xED\xE5
не
+\xED\xE0\xE9\xE4\xE5\xED
найден
Added init.d script to auto start dashing in production mode on port 5000.
Followed these instructions to autostart Chrome in kiosk mode on the pi. What I did differently was to use Hexxeh’s Chrome instead of chromium-browser as chromium-browser hogged memory and would crash badly. I also made the custom-x-start script dependant on the dashing startup script to give dashing a chance to start before Chrome tried to load it. Dashing takes about 30 seconds to get started.
#!/bin/bash
### BEGIN INIT INFO
# Provides: dasher_start
# Required-Start: $network $syslog
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Starts up the dasher server
### END INIT INFO
set -e
# Feel free to change any of the following variables for your app:
TIMEOUT=${TIMEOUT-60}
APP_ROOT=/home/pi/dashboard/example_dashboard
PID=$APP_ROOT/tmp/pids/thin.5000.pid
CMD="cd $APP_ROOT; dashing start -s1 -d -p 5000 -e production -P $PID "
AS_USER=pi
set -u
OLD_PIN="$PID.oldbin"
sig () {
test -s "$PID" && kill -$1 `cat $PID`
}
oldsig () {
test -s $OLD_PIN && kill -$1 `cat $OLD_PIN`
}
run () {
if [ "$(id -un)" = "$AS_USER" ]; then
eval $1
else
su -c "$1" - $AS_USER
fi
}
case "$1" in
start)
sig 0 && echo >&2 "Already running" && exit 0
run "$CMD"
;;
stop)
sig QUIT && exit 0
echo >&2 "Not running"
;;
restart)
sig HUP && echo reloaded OK && exit 0
echo >&2 "Couldn't reload, starting '$CMD' instead"
run "$CMD"
;;
*) echo "usage: $0 start|stop|restart" >&2
exit 1
;;
esac
As the startx script is running as root, I needed to add “–user-data-dir=/home/pi/chromium” to the path call as suggested by the error Chrome returns when trying to run as root.
Chromium-browser barely worked but Hexxeh’s Chrome uses about 50-55% memory (as reported by top) and the CPU seems to bounce around from 1-75%. Dashing’s sample page is rather JS heavy and over time eats up all available memory. It’s took about 4 hours before Chrome would render the sad face of a closed tab. As such I added a JS refresh to the top of dashing’s layout page so it reloads every 30 minutes. It makes for an unsightly white screen for 5 seconds every 30 minutes but it keeps the page from crashing.
I bought some absolutely beautiful blueprints from Aviation Shoppe of a P-51 Mustang, F-4U Corsair, F-86 Sabre and a Rolls-Royce Merlin engine. They were very affordable and quickly posted. That’s where the problem started however, I had no idea on how to mount them or even where to hang them and so they’ve sat in their cardboard tube in my office for an embarrassing number of months now… (9 if we’re counting)
F-86 Blueprint as it arrived in July 2011
As I’d recently finished cladding the cinder block wall in my office I now had somewhere to hang my blueprints and so I decided to get somewhere to mount them. I did the obligatory google and found a few local art houses that would mount them. However I never really got any further as it became reasonably obvious I’d be paying more than I paid for the prints to get them mounted. What to do? Well go to the local hardware store of course. There I purchased some sheets of 6mm MDF ($11 per sheet) and some Ados Multipurpose spray adhesive ($17 a can).
I took a sheet of the MDF and clamped some straight pine as a router guide and routed the sheets down to the size of the cut marks (950mmx650mm) already on the blueprints (they have very generous over hangs for mounting).
Routed MDF ready for mounting
The reason I used the router is because it gives the smoothest edges. Since I planned on wrapping the edges of the print around I didn’t want a jagged finish which you’d get from a jigsaw or skilsaw. The rest of the mounting was relatively simple. I sprayed both surfaces (MDF & back of the blueprint) with the Ados in a hatch pattern (45 degrees and then back over perpendicular to the first run). I allowed a minute of tack and then started the alignment process. Now this is where if I was smart I would’ve waited for some assistance. I chose the Ados as it “remains positional for 2 mins”. Whilst this is true, it wasn’t easy with a large sheet of paper and contact adhesive. Fortunately I managed to salvage the job to a reasonable standard and then worked on smoothing the paper from the centre out. I’m not sure if the solvent of the glue activated some of the blueprint ink or if the ink is always going to come off if you rub it but I don’t recommend using a rag to press the paper down. I’d looked for a rubber roller at the hardware store, like the ones you used to use in art class, but couldn’t find anything suitable. The blueprint hasn’t smeared but enough colour transfered to the rag to make me feel uncomfortable.
Blueprint aligned on block and smoothed
I kept an eye on it for the next 20 mins or so which is the bonding time as stated on the can but was generally happy with the initial smoothing bond. I have to say I’m pretty impressed with this Ados spray adhesive. After a couple of hours (the can says 24 for full set) and rolled the blueprint over onto it’s front after putting some towels on the saw horses for protection. I then repeated the spray and press process to fold the over hangs on to the back to get the wrap around affect. Some judicious trimming with a sharp knife and I was very pleased with the result.
The final result, block mounted and wrapped Merlin blueprint
I’m totally happy with the finish although I’m not sure what to do about the protection of the surface (it’s still just paper after all) or exactly how to hang it. Currently I’m thinking of epoxy or polyurethane glue mounts on the back although a little mechanical assistance would be preferred. I think for the second attempt I might put some screws through the front into some glued blocks on the back. This will entail a little more work as I’d need to fill the holes in the front again so this is still something I’m pondering. In the mean time I’ll be appreciating the awesome blueprint adorning my mancave.
Went for a flight with my friend, and gliding instructor, Bruce Hoult. Had an epic time and spent some brief time on the controls. First time I’ve ‘flown’ a real plane of any sort in 17 years and it felt great. Trying hard not to start another hobby.
Bruce has provided a rough overview of the flight.
Rough overview of flight plan
We covered quite a range in our hour flight and hit speeds of 90 knots with ease whilst generally cruising at around 60-70. The landing was incredibly impressive. Approach at around 70 knots and able to just kill the speed with the airbrakes and be on the ground in less than 40 meters. Bruce tells me it can be done quicker too.
I bought myself a new soldering iron! And this purchase made my old one redundant. I’m somewhat of a hoarder but I’m trying to be better and as such, I want to give my trusty old soldering iron away to someone that needs it! Ideally I’d like it to be someone that can’t afford a better soldering iron and is trying to get into electronics. At first I thought I’d restrict it to ages 7-14 but then I thought why should I restrict it at all? If you have a need for it, you have a need for it. So I’m currently working on some ideas on how to get it to who needs/deserves it the most. I was thinking of a competition but I hate the fact that competitions have losers and hate it when people pour their guts out only to get denied something. So this idea is a work in progress.
My trusty Pace PPS-6E
I bought this venerable beast when I was studying electronics at Canterbury University. It needs a new tip but otherwise has never let me down. Adjustable temperature and weighs a tonne (which often means quality in electronics). It was made back in a time when the USA knew what manufacturing was and the fact it was built it Maryland is proudly displayed.
I’m involved with the burgeoning Wellington Maker Group, a collective of people that like to create something from nothing in their spare time. As part of this group I’ve taken a 1/20th shareholding in our very own Makerbot Thing-o-matic and since I was part of the core group that assembled it, I’ve been lucky to get some early build time on it. At first I got involved with the whole thing just because it’s totally cool. I had no idea what I wanted to build. In the end I needn’t have worried as mother necessity gave birth to my invention.
The Logitech G25 as it comes
Me, my brother, my brother-in-law and an old co-driver of mine all own the ubiquitous Logitech G25 to add realism to the online racing simulator we all play, rFactor. The G25 is a great wheel. It provides dynamic feedback which enhances game play well beyond any other controller on the market. The only downside, in the long run, is the wheel is a bit small. As such, I thought it’d be cool to get hold of a cheap aftermarket wheel and replace the original. Fortune had it I managed to pick up a used Momo racing wheel off of TradeMe for a mere $30 the same week the makerbot was built. Here was my project, to make it fit!
The size difference is noticeable!
The standard name for a steering wheel adaptor is a boss, so what I was wanting to make was a Momo to G25 boss. The first step was to grab the parts, my vernier and open up Sketchup. It didn’t take long to get the basics together. The important things to note are that you only get once chance in Sketchup to change the accuracy of circles. You can see in the model image that the resolution of the circle is very low. More accurately it’s a 24 sided polygon. Turns out Sketchup can’t do true circles, just very high resolution polygons, so when you create a circle that is going to be large enough to have the shape noticeable, up the number of sides, 100+ would do nicely for what I was building but 24 doesn’t bother me at all.
Resplendent in lime green, the finished model. Note the 24 side polygon
Once the sketch was complete, I needed to get it into STL format. For that there is a SketchUp Plugin. You want to choose MM and then STL. Additionally, you will need to do a ctrl-A to select all (or equivalent in Mac or Linux) to select all of your object before running the export. You will now have an STL file which you will need to import into ReplicatorG.
At first I couldn’t work out why nothing showed up when I used the import function in ReplicatorG. The reason was because I hadn’t built the model around the origin in SketchUp, I had it floating out in space. To fix this use the ReplicatorG menu option of Move>Put on platform which should center your object. If everything has gone well, your item should be rendered in all its glory in the 3D box provided. You have some more options to flip it around if you’re worried about over hangs etc but for me now, everything was perfect.
My lovely model all golden in the ReplicatG screen
The next step is to make some gcode. This is the machine language of CNC and what the makerbot thing-o-matic also speaks. Here is where, for me, some of the “magic” or mis-understood parts of the printing process come in. Bruce Hoult, another founding member of the WMG Makerbot group, had done the primary configuration of the bot, so I didn’t really have any problems with the print quality, as he had mostly sorted it. In fact he sent me a file that I needed to import that would enable all the correct options for the gcode rendering. Because each bot can be and will be configured differently, you need to render the gcode, or the bot instructions, specifically for your machine. You can think of the STL file as the common point of reference and the gcode as the specific instructions for your bot. With the appropriate settings I ran the gcode generation. It took a few minutes.
Here's the gCode after generation as found in the gCode tab. Note the com port error as the makerbot was not attached to my computer at the time of screen capture
At this point, you are now technically ready to print. It took me about 4 false starts to get a print started properly. Seems there is no pre-warm code in the gcode I generated so I had to manually warm the extruder nozzle up myself using the control panel available in the top tool bar in ReplicatG. Our bot is set to extrude coloured PLA at 195C. After hitting run, the machine centered itself and began the predicted 2hrs30 print job. I couldn’t let it run completely unattended as I was having snagging issues from the PLA spool Bruce had printed but other that I had no problems at all.
It really was quite amazing to hold, what only a few hours earlier had simply been a concept, in my hands and the scary thing is that the next generation will take this ability for granted. Every school will have a 3D printer by the end of this decade and no doubt many homes too. For such a seemingly crude device (stacking hot plastic?!) the boss was strong, rigid and accurate.
The final part with all fittings shown against my vernier for sizing
Assembly was simple, I embedded the nuts into the designed recesses after cleaning them slightly with a craft knife (overhangs are the weakness of the extruder design). I then placed it on the G25 hub and used the original screws to attach it. The heads disappeared beautifully into the countersunk holes. Next I attached the wheel with my inch long screws which grabbed the nuts perfectly. No overhang through the boss at all means the design is very clean. I’d even managed to get the horn button recess correct and this slipped straight into the centre to give what I feel is a remarkably professional finish.
Here's the G25 with the standard wheel removed
Here's the final mod including the horn button (not yet hooked up)
To top it off, the whole project was a success. The wheel feels great in the simulator and adds further realism to a great game. As with all successful projects they spur you on to the next so I’m hoping the sim will be getting some pedal and seat upgrades! But for now, I’m satisfied….
Quick lap of Monaco on the new rig. Filthy desk and offset monitor to be corrected
Whilst there potentially was some ability to make some money out of the project I decided since I’d had so much help in getting it up and running that I’d share the output. As such you can find my Momo to G25 boss on thingiverse and can print it out or play with the design to your heart’s content. Enjoy!
I’ve not had as much time as I would’ve liked but I’m still plugging away with my house modelling in SketchUp. The timber framing for the lower floor is almost complete. It’s interesting how many measurements I’ve managed to stuff up without realising it. It’s not until you start intersecting things that some of the mistakes become obvious. Additionally, because SketchUp makes it so easy to reference off of other points, a mistake can be quickly exaserbated.
Ground floor framing almost complete. It's not a prison, I just haven't broken the studs for windows yet
Things left to do to sort out the ground floor:
Break the window studs
Lower the brick fascade
Add the decking joists (they’ll fill in the gap of the first floor timbers)
Fill the joists with nogs
Get the beam height right for once! (the joists sit on it, not go through it)
You heard it right, a subsonic couch. As in inaudible. It shakes, rattles and rolls.
Two subsonic modules, a 2 x 50 Watt stereo amp and an active crossover make this couch anything but ordinary.
This a view of the bottom of the couch where you see the two subsonic actuators bolted to the frame. Subsonic actuators are effectively speakers with the cone replaced with a weight. They don’t need to drive air as the human ear can’t hear frequencies as low as what these operate at. They’re built to drive from about 5-200 Hz (guesstimate) and whilst having a voicecoil equivalent, they’re actually just moving a weight. These two actuators were sourced from Jaycar in NZ when they bought a shipment of Aura Interactors a decade or so back. They aren’t a stocked item anymore.
The amplifier is a Dick Smith Electronics kit and is overpowered for this operation in being 2 x 50W. I believe the original Aura Interactor amplifier packs were in the region of 5-15W. The large torodial transformer gives you an idea of the power that the amplifier is rated for. I purchased this kit back when DSE used to be an electronics company which it sadly no longer is. A rough equivalent would be 2 of these Jaycar kits.
The other box you can see is the Dick Smith Electronics active crossover kit (K5404?). It contains volume and frequency cut off options and allows me to adjust the couch in line with the volume output of the amp. Ideally you’re connecting this to a sub-woofer line output so that the amplifier adjustments are effected in the couch too. The active crossover ensures that we’re not trying to make the subsonic actuators do what they weren’t made to do ie move at frequencies above 200Hz.
In operation, the couch adds punch to your movies that even the best sub-woofers would struggle with without having to worry about the neighbours ringing noise control. Explosions in movies become an interactive experience!
Unfortunately this photo was taken as I was taking the set-up out of the couch. After I moved to Wellington the couch sat unloved in my sisters flat for a couple of years. Little did she or her family realise they were sitting on probably one of the only 100W subsonic couches in New Zealand. They just weren’t into movies in the same way I was… As I had no easy way of getting it down to Wellington and no substitute couch to put it in, it lay unutilised. On my latest trip up north I found out they were wanting to dispose of the couch so I’ve grabbed all of my handy work and it is now planned to be added to my forthcoming rFactor simulator. If you’ve ever sat in a real V8, you’ll know that most simulators can’t recreate the rumble as you start it up or floor it. With 100W of subsonic actuator bolted to a bucket seat. My simulator will…
I’ve been painting the shelves of the bookshelf unit I built a few months back. While the paint was drying it got me to thinking that it’d be a great practice model in SketchUp. Incredibly, 30 mins later this is what I had. I say incredibly because I only really started using SketchUp this week. I know a pro could do it in under 5 mins but this is the 3rd CAD product I’ve ever used and the only one I’ve ever got any output from.
I modelled this office bookshelf in less then 30 mins
Here is my actual office cabinet.
This one took me a lot longer to put together! Ignore the mess, it's spring cleaning weekend.
What an incredible tool. I’ve just looked up photo-renderers and they’re looking very affordable starting at around US$180 commercial.