627 reputation
422
bio website musatcha.com
location Chicago, IL
age
visits member for 3 years, 10 months
seen 20 hours ago

AudioPump

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.


1d
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?
Jun
10
comment Storing username in nginx logs
@nishant I haven't written anything with Django so I can't give you specific advice, but it looks like it supports middleware. I would write a middleware module that takes care of adding the extra header.
Jun
10
comment Storing username in nginx logs
@nishant That depends entirely on your code. You will have to write something or modify what you have to output the username in the response header.
May
22
comment How to make modification take affect without restart nginx?
USR2 is for upgrading the executable, not for simple config reloading.
May
7
comment Is the connection from PHP to a different MySQL server 100% secure?
This is correct. The wire protocol for MySQL is anything but secure... that isn't the intent of the protocol. You can see this by firing up Wireshark and running some queries. A tunnel is needed here. What I do on my own boxes is simply hook them up via a VPN. While this isn't the most efficient setup, it works well for links that don't require a ton of bandwidth or low latency, while enabling me to connect a bunch of cheap VPSes on various providers.
Apr
24
comment Vagrant synced folders aren't case sensitive
@JasonSuave The problem is actually with VirtualBox and what it uses for the mounts, not Vagrant. Vagrant is only controlling the VirtualBox mounts. You might have different experiences on VMWare... I haven't tried.
Mar
27
comment Nginx cache shared between multiple servers
@hangover I see no reason to re-invent the wheel. Nginx cache works well and fast. If we can avoid the overhead of running requests through the application at all, we can keep things nice and fast. Nginx responds to cached requests for us in under 5 milliseconds. Launching our PHP application, even for it to provide a cached response, will probably 10x slower than that. Nginx caching is working well for us now, we just need to distribute that cache among many servers.
Mar
6
comment Is there any reason to keep the “Server” response header in Apache
Removing file name extensions in URLs has nothing to do with security... it's more readable for humans. There are a thousand other ways your application platform is revealed.
Sep
16
comment How bad is setting MySQL's bind-address to 0.0.0.0?
For everyone thinking that the SSH tunnel idea is crazy, consider that the bulk of MySQL traffic is in the clear. If for some reason you have to connect across an untrusted network (i.e. the Internet), consider SSH or doing it over a VPN. Fire up Wireshark or some other packet sniffer if you want to see what I am talking about.
Sep
8
comment Fastest, surest way to erase a hard drive?
@dsljanus, My local electronics recycling place has one of those. They disassemble computers dropped off, locking hard drives in secure crates which are then promptly taken to this beast of a shredder.
Feb
14
comment HP access points sending out multicast packets from IPs that aren't their own
That would not work here. The problem intermittent, and seemingly caused by packets that were corrupt and not sent directly from any application. Even if they were, the APs should behave the way they did.
Nov
30
comment Choosing the right AWG for Server Power Cables?
Of course voltage matters. Your recommendation chart is working under the assumption of a specific voltage. The link that TheCleaner posted is for DC systems where wire resistance plays a much larger factor.
Nov
16
comment Set Apache response header for a specific response status code
Not a bad idea! I'll use this method if nobody knows of an Apache-only way.
Aug
10
comment Many clients on a wireless AP for UDP broadcast packets
@BrentPabst, Go ahead. I haven't bought APs in a few years, and cannot provide a recommendation for hardware.
Aug
10
comment Many clients on a wireless AP for UDP broadcast packets
@BrentPabst, Agreed.
Aug
10
comment Many clients on a wireless AP for UDP broadcast packets
Yes, give your APs the same SSID, and separate their channels. If you have 3 APs, use 1, 6, and 11. The clients will roughly balance themselves out.
Aug
10
comment Many clients on a wireless AP for UDP broadcast packets
Simply connect your APs to a switch. That will take care of sending data between the APs.
May
8
comment How widespread is double (or more) NAT/PAT?
@Sašo, Not true at all! It's very common for those 2Wire routers to provide 192.168.1.0/24, and then some other router to provide the same. This type of conflict happens all the time.
Apr
29
comment Site got hacked and it's sending more than 400 emails per day from my site
Search for eval. Also, 100 files should only take about 20 mins to skim through to see something you don't recognize. Usually this type of thing is obvious, and easy to spot at a glance.
Dec
5
comment How do I avoid public folder name from zend framework project URL?
You thought wrong. This has nothing to do with .htaccess or index.php.