657 reputation
bio website musatcha.com
location Chicago, IL
visits member for 4 years, 5 months
seen yesterday

Shameless Plug: $10 Digital Ocean coupon (good cheap VPS, coupon covers 2 months of their small box)

AudioPump, Inc. Projects (internet radio)

Analytics Connector - Connects your SHOUTcast servers to your Google Analytics account, allowing you to monitor your website and streams in one place.

Stream Metadata API - Simple RESTful web service for accessing real-time metadata from internet radio streams.

Consulting - Contact me at brad@audiopump.co for vendor-neutral streaming media advice.

Other Projects

WiiMusic.net - An internet radio player for Nintendo's Wii that utilizes jQuery for the interface and Flash in the background for audio playback.

MindMaster MIDI/DMX - Software that interfaces with consumer EEG hardware to translate brainwave patterns into controls for MIDI and DMX to control synthesizers and intelligent lighting fixtures. Interfaces to USB HID hardware, as well as common MIDI devices and USB-serial controlled DMX interfaces.

Laptop Theft Prevention - Uses the accelerometer in IBM/Lenovo ThinkPad series laptops as an anti-theft alarm. Sends alerts over e-mail/SMS.

Color Filter - Enables people with scotopic sensitivity syndrome to use a computer for longer periods of time by placing a simple color overlay on top of applications. Can be calibrated to the user's specific color needs.

New Chrome Session - Launches a completely blank Google Chrome session with its own cookies, cache, and history. Enables one-click testing of login functions, as well as logging on to multiple accounts on services such as Gmail and Facebook.

Can You Ping Me Now? - Simple website for determining if your Internet connection is working properly. Utilizes Socket.IO... not actual ICMP ping packets.

comment websockets , loadbalancers and 64k ports
This post makes a ton of assumptions about how the application is built, and is basically inaccurate.
answered How to remove the path with an nginx proxy_pass
comment Windows 7 computer: “No internet access”, can browse internet, can remote into it, cannot activate office 2013, cannot join domain
Well, that doesn't make much sense. I suspect that in the course of reinstalling your drivers, something else was fixed. In any case, glad to hear you got it working.
asked Nginx directive for redis_connect_timeout doesn't work as expected
revised what does “low address bits are meaningless” mean?
Corrected formatting of code, fixed case and spelling
suggested approved edit on what does “low address bits are meaningless” mean?
awarded  Caucus
awarded  Nice Answer
comment Isolated development environment on Ubuntu
If this is just for development purposes, consider using Vagrant, which is a convenient way to control VM hosts such as VirtualBox or VMWare. It takes care of port forwarding, file synchronization, and some other stuff that is helpful during development.
comment Floppy power to PCI-E card in DL380 G5
@EvanAnderson If you're putting a PCI-E sound card in anything, especially a server, it's probably in a place where quality is important. Encoding servers for internet radio stations, for example.
comment Centos failing to upgrade bash
That solved the problem for me, thank you!
comment Nginx not sending auth headers when redirecting to a different domain
That's mostly true, but you can put the base64-decoded (and subsequently URL-encoded) value of the Authorization header in the URL for the Location response header used for redirection. http://user:pass@example.com I just can't find a good way to do this conditionally in an Nginx config file.
awarded  Popular Question
comment Nginx cache shared between multiple servers
@mVChr Interesting. Have you tried running rsync or similar continuously? In the end for my use, I eventually got Redis working but this doesn't allow for a very large cache since the entire Redis collection must be in memory. 16GB fills up fast on my application.
comment RAID-5: Two disks failed simultaneously?
Everyone's comments on here regarding drive failure are correct. Let me add another reason to consider the precariousness of the situation... power supplies fail all the time, and sometimes when they fail you end up frying things. I actually had a hard drive once that had a strange failure, dead shorting the +5v side of the power supply which caused (somehow) 2 other drives to go up in smoke.
revised Update Cache-Control max-age when srcache returns response from cache
Removed errant `pragma` header, since it is a bug elsewhere and not core to this question.
comment Update Cache-Control max-age when srcache returns response from cache
Wow... good catch on that Pragma header... I removed that long ago, but it looks like there is some other code I have that is adding it. I didn't even notice. Thanks for that! Regarding max-age, the issue is that I'm caching both server-side and client-side. I have a server-side cache which caches all of the response headers as well, as that's what srcache does. However when I return that result, the Expires header is naturally still correct since it specifies a specific time in the future. The max-age is not, since it specifies a number of seconds. Is there no way to update it?
awarded  Curious
accepted Load balancing in Nginx with redirect rather than proxy
asked Update Cache-Control max-age when srcache returns response from cache