Labels

3G (1) 8600GT (1) AI (4) amazon (1) API (1) apple (3) apple mail (1) atlassian (1) audio (1) bambo (1) Bamboo (1) bloat (1) boost (1) bugbear (1) C++ (5) calling conventions (1) cdecl (1) chromecast (1) CI (1) compiler (1) continuous integration (1) coursera (1) custom domain (1) debugging (1) deltanine (1) diagnosis (1) diy (5) DLL (1) dns (1) don't be evil (1) ec2 (1) education (1) electronics (1) express checkout (1) fail (6) fink (1) firewire (1) free hosting (1) GAE (1) google (1) Google App Engine (4) H170 (1) hackerx (1) hackintosh (1) Haskell (3) homebrew (2) i1394 (1) icloud (2) iOS 9 (1) ipad2 (2) jobhunting (2) lag (1) letsencrypt (2) libjpeg (1) linux (1) mac (2) mbcs (1) mechanic (1) memory (1) MFC (3) Microsoft (1) migration (1) ML (1) mobile (1) movi (1) MSBuild (1) music (1) naked domain (1) NLP (2) o2 sensor (1) obd (1) Optiplex960 (1) osx (1) outlook express (1) payments (1) paypal (1) photos (2) PIL (1) Project Euler (1) projectmix (1) python (2) raspberrypi (3) recruitment (1) renwal (1) skylake (1) soundcloud (1) ssl (2) stdcall (1) stripe (1) subaru (2) supermemo (1) supermemo anki java (1) sync (2) Telstra (1) tests (1) thunderbird (1) udacity (1) unicode (1) Uniform Cost Search (1) university (1) upgrade (2) vodafail (1) vodafone (1) VS2010 (1) vs2013 (1) VS6.0 (1) weather (1) win (1) Win32 (1) Z170 (1)

Wednesday, 11 March 2026

I bought this Behringher 1602 MX 12 channel mixer nearly 30 years ago from (now defunct) venue music on bondi rd. I recorded my first and only album on it. It was the heart of my home studio for a long time. I recently pulled it out of storage only to find the left master fader was dodgy, you had to wiggle it to get a signal and every time you wiggled it, it got a bit harder to wiggle it exactly the right way to get a sound the next time.

 

So, I decided to fix it. I have a chequered history with fixing things. Sometimes all goes well and sometimes it ends up more broken then when I started. But this seemed easy enough, just replace the fader. What could go wrong?
Lots of screws to undo and not an op amp chip to be found! It is all discrete componentry. I then discovered I am not very good at unsoldering. I should have really watched the YouTube video before resorting to drilling out the solder filled holes. Only 10 pins to remove! Then, what to replace it with? I knew the dimensions and pin geometry, but what value?
Gemini AI came to the party suggesting 10kohm logarithmic linear pots. How the hell does AI know about servicing 30 year old mixing desks? this was a ripoff of a mackie mixer, which is how behringher started, so i found some mackie mixer pots on aliexpress. They were a perfect fit.
I replaced the left slider but because it was diffent to the original the L and R faders no longer physically aligned at the same volume level which offended my sensibilities so I replaced the right fader as well. I was still shit at unsoldering and when I flipped the board over I almost accidentally cut the pins of the fader I had just installer!
I cleaned all the knobs and buttons with my ultrasonic cleaner, as well as all the rusty metal washers and bolts on the input jacks. Gave the panel a good clean, put it back together , cleaned all the knobs and sliders with electronic contact cleaner so they were no longer scratchy.
Put it all back together whilst listening to my old iPod running through each input chanel. It was working perfectly, sounding great and looking brand new. I was so proud of myself putting the knobs and buttons back on. I love fixing things! When i was almost done i realized- I LOST a bloody knob!!!! Still a qualified success though! Or so I thought.... I put the metal back chassis on, hooked it up to my speakers and began plugging in devices to the input channels. Every time i plugged something in there was a loud pop, which of course i knew wasnt right but i kept going nonetheless.
I plugged in the third channel and there was the mother of almighty pops followed by a loud buzzing and then all the channel overload red leds came on. So much for my repair…
It turns out the three voltage regulators which are bolted to the side of the mixer to use the case as a heatsink need to have their legs bent 90 degrees to attach to the board but when i did so it was more of a curve which bought the legs dangerously close to the conductive metal rear chassis.
And they had shorted!!!
The question was had i destroyed the board or not? So i had to dissassemble it again , pop down to jaycar to buy a LM7815 LM7915 and a LM317. Good old jaycar still sells this stuff! I replaced them and the mixer worked good as new! They sure are robust. Anyway, I reassembled every again and its back in place in the studio again. Happy days!

Thursday, 7 September 2017

Google App Engine... ready for prime time?

Google recently announced the availability of google cloud and google app engine in Australia. Since that's where my users are located I decided to migrate my Google App Engine application to the Australian availability zone.

Google don't make it particularly easy to do this, there is no button in the console to move your application, you must do the following manual steps:


  1. create a new application
  2. upload the code to the new application
  3. disable datastore writes on your existing application
  4. grant permissions to the bucket used to store your datastore backups so the new application can read them
  5. backup the data store of the existing application
  6. then restore the backups to the new application 
  7. then create a mapping of your custom domain to the new application
at this point, I tested my new application and I could see that google was serving the new application, so it looked like everything was working and I went to bed.

The next morning, my application was no longer working. It was configured to accept secure connections only, and when I remapped the custom domain, app engine decided to delete my certificate without telling me.

Well, that's not so bad, all I need to do is upload the ssl certificate to my new application, right?

Trouble is, app engine won't let me. Every time I try, it fails with an extremely unhelpful error message.


This seems to me to be some unexpected error in the backend, which is no surprise as the whole App Engine infrastructure is a little half baked. Turns out I had uploaded the wrong private key file, which I figured out by using a certificate checker site.



Sorry, there’s a problem. If you entered information, check it and try again. Otherwise, the problem might clear up on its own, so check back later.
Tracking Number: 6120870777002247692

Wednesday, 3 May 2017

Firewire i1394 and Skylake H170/Z170 incompatibilities

I have an old M-Audio projectmix IO audio interface - it's a nice unit with 8 inputs, 6 outputs, motorized faders and a firewire interface that's rock solid.

After upgrading my computer to a Skylake H170 chipset i7 6700 and expecting to have a screamingly fast digital audio workstation (DAW) I was extremely disappointed to discover my project mix was basically unusable - the audio was constantly crackling.

I had a cheap VIA firewire card, so I upgraded to to a new, quite expensive firewire card with a TI chipset, which are generally recommended for music apps.

But no joy, it still crackled. It turns out that TI no longer recommend the XIO2200A chip used in these cards for new applications.

After some google fu I found this thread confirming firewire issues with certain chipsets.


Anyway it turns out you need the TI chipset XIO2213B, or VIA 6315 or  LSI FW643.

I picked up a card with VIA 6315 chipset on ebay for $15 AUD shipped from china and it works perfectly with the lowest buffer size of 64 which means low latency audio.

Happy days!

Thursday, 2 March 2017

HackerX Sydney, 2nd March 2017.

If you haven't heard about it before, HackerX is an invite only networking event for software developers and companies seeking to hire.This event was held at Fishburners in Ultimo, which is a shared workspace/incubator for tech startups. It is structured like a speed dating event where each candidate gets 5 mins in front of a prospective employer.

Anyway, since my contract with my current employer is up in a few weeks, I thought I would head along and check it out, more out of curiosity than anything else.

They put on free beer, soft drinks and pizza so at the very least you get a free feed and a few drinks if not a new job. And it what other situation would it be acceptable to interview with a few beers under your belt?

After about 1/2 an hour, the event kicked off, with the company reps lined up in in two rows of tables, while the candidates queued up for their 5 minutes to shine in front of a prospective employer.

Now, 5 minutes isn't very long, so if you are serious you better have your pitch down pat and some copies of your resume to hand over. I happened to run into a friend and was having a chat and ended up on the end of the queue. I highly recommend you get yourself on the front of the queue.Why?

Well, it turns out that there wasn't enough time for every candidate who rsvped to get some face time with every company. As it turned out, the speed dating ended before about 10 of us got a chance to speak to any of the companies on the second row of tables.

 However, in spite of this I think it is quite a worthwhile event, in terms of being a really efficient way to get your resume into the hands of companies that are definitely hiring... much better than the broken method of using recruitment companies as intermediaries.

So check it out if you get the chance.

Update:

I actually got a callback from one of the hiring companies who invited me to their own group recruiting event for further interviews, unfortunately I was on holiday in  Fiji and could not attend.

Monday, 29 August 2016

Google Chromecast Video does not work without an internet connection even for locally hosted video!

Google's motto is "Don't be evil". I guess they don't think that spying on every thing you do is evil.
That's the only reason I can see why your Chromecast video needs an internet connection to function, even if all you wan't to do is cast videos stored locally on your laptop to your TV.

I recently picked up a Chromecast Video in preparation for a a weeks snow holiday at Thredbo, thinking it would be handy so the kids could watch some of their own videos on the TV in the chalet. The chalet came with WiFi internet, but the cheapskate owner must have purchased the cheapest possible internet plan with the lowest quota, because even though all the right lights on the router were lit, there was no internet access.

This caused big problems trying to setup my new Chromecast, which needs to download some updates when it is first configured. I can understand why it would need internet access for that.

But once it is setup it refuses to work without an internet connection. The only reason I can see it might need an internet connection is so that it can spy on you and report your viewing habits back to google.

I managed to get it working by creating as hotspot on my iphone, having the chromecast use that hotspot for internet access and use my laptop to connect to the chromecasts WiFi to configure it.

But that's way more complicated than it needs to be. It really should be written on the box in big letters:

REQUIRES INTERNET ACCESS!


Tuesday, 26 July 2016

Letsencrypt certificate renewal process is awful!

So, my free 90 days letsencrypt certificate is about to expire.

I tried the auto-renew feature, but it does not work in manual mode. They intend it to be run automated and unattended, but I can't do that because I want to use the certificate on google app engine.

So basically, you have to re-issue the certicate , which means updating the challenge response on your website.

Well, I did all that, and generated a new certificate.

Unfortunately it expires the same time as the certificate I want to replace... WTF?

Anyway, I cleaned out /etc/letsencrypt and tried again from scratch:



sudo ./letsencrypt-auto certonly -a manual --rsa-key-size 2048 --email webmaster@mydomain.org.au -d shop.rhubarbfood.org.au

and this time it generated me a certificate with the correct expiry date. For future reference,

fullchain.pem is the public cert that appengine wants.

The private key needs to be fixed for google app engine:

openssl rsa -inform pem \
  -in /etc/letsencrypt/live/mydomain.org.au/privkey.pem \
  -outform pem 

the output of this command can be pasted straight into the text box in the appengine certificate page.

This time I documented it so I can rmember in 90 days time when I need to renew it again!

Monday, 2 May 2016

Let's Encrypt and Google App Engine... not a match in heaven

I recently got on the SSL bandwagon for a site I manage, and bought an SSL certificate from GoDaddy for less than $10 (I can't remember exactly), but it only lasted a year.

True to form, when time came up for renewal GoDaddy wanted to charge me $100.

Top Tip: Never, ever allow GoDaddy to autorenew anything you buy from them. Because they alway jack the price up when they autorenew by default.

Anyway, I heard about LetsEncrypt, the new CA which offers SSL certificates for free.

"This must be too good to be true", I thought. And once again, I was proved right.

After much yak-shaving, (installing the prerequisites on my mac, the letsencrypt software, and the appropriate challenge/responses to prove I owned the web servers) I actually managed to sucessfully generate my certificate...

...which expires in 90 days!?!

Now the people at letsencrypt think that 90 days is a really, really long time, and any longer would be a security risk. And they say, "Hey, you should automate all your certificate issuance/renewal/web hosting malarky".

The only problem is, THERE IS NO API TO AUTOMATE UPLOADING OF YOUR CERTIFICATE TO GOOGLE APP ENGINE!!!

So, every 90 days, you will have to do it manually.


And one more thing... when I tried to upload my 4096 bit key certificate, app engine complained with an extremely generic error message. Turns out it only supports a maximum of 2048 bit keys.

Way to be cutting edge Google!

EDIT: Google App Engine has finally automated SSL certifcates issuance and renewal!!!

https://cloudplatform.googleblog.com/2017/09/introducing-managed-SSL-for-Google-App-Engine.html