4 ms·
Ask HN: What's a proud hack of yours?
I'd expect many readers of HN to have a few that come to mind. I have a few, although my proudest are probably not interesting to others. A couple that might be:
- In the early 90s I had an Ensoniq sampler with a DB50 SCSI connector. I could not find an external hard drive for it so I bought an internal one. I used the power supply from an old computer case to power it, but connecting it to the sampler was a different story. I peeled each end of a ribbon cable by hand and soldered each used wire to the corresponding position of the DB50 connector. It took me a couple of hours, and it worked the first time.
- A few years ago I used the Twitter API to deduce some interesting non-public stats about Twitter's growth and user patterns: https://diegobasch.com/some-fresh-twitter-stats-as-of-july-2012
What are some of yours?
- MalcolmDiggs 11y agoA few years ago everyone in the office was sick of answering the phone just to buzz people into the building. So I rigged the downstairs call-box to call a Twilio number instead of ringing the office line. The Twilio bot would then prompt the user to enter a passcode, and would then buzz them into the building if the passcode they entered was correct. This allowed us to give guests temporary passcodes to get into the building, and allowed us to track who was coming and going (because we gave every employee a unique code to use as well). Worked pretty well, and total setup time was just a couple hours.
- mod 11y agoHow did the user interact with the Twilio number at the door? Did you have some kind of device the bot ran on?
- MalcolmDiggs 11y agoLet's see if I can explain in a way that makes sense... The person at the door has a keypad and an intercom (for talking or hearing prompts). The intercom box calls the Twilio number and patches it live to the user at the door. This way anything the user presses on the keypad is received by the Twilio number. Twilio, on their end, relays the input that they're receiving from the user by POSTing payloads to a bot running on one of our cloud servers (just a regular little AWS server). Our bot responds to Twilio's POSTSs with TwiML commands (Twilio's version of XML), which tells Twilio how to respond to the user at the door. Twilio gets our instructions, and responds accordingly. In order to buzz someone into the door, Twilio just needs to emit a certain DTMF tone, and the callbox would unlock the door automatically. Hope that all made sense.
- mod 11y agoVery cool! Thanks for the explanation.
- dawie 11y agoWe found a way to hack getting a meeting with people. We discovered a process to get people to want to meet with us: http://6figuremeetings.com http://6figuremeetings.com
- balazsdavid987 11y agoGive us a flowchart of that process then!
- gravypod 11y agoA 100k line text parser to add an api to a game so I could make plugins that wrap around debug messages
- csmattryder 11y agoProbably integrating the live-streaming api-less app Periscope into one of our products at Eventbeat. We had a large client asking whether they could load up a Periscope broadcast of a launch party in NYC (where all the big names were) and stream it to their press event London. My first act was just catching the stream - all JS were naturally minified, though some M3U8 files (a playlist of video URIs) were coming through and fortunately from an insecure HTTP source. This lead to warnings of mixed security in Chrome's console; we could essentially isolate the link and load it in VLC! Because this had to be actionable by a non-programmer during the event, I hacked in some temporary functionality into the Announcement feature of Eventbeat to listen for an announcement title "Periscope", and the message was expected to be the hash of the M3U8 video stream that I trained them to grab from the console. Turns out that on the night it worked really well, fortunately, though they ended up only using it for ~10 minutes. Fun little hack to get going though, not sure if they're serving the video over SSL now.
- AnimalMuppet 11y agoI had to detect which version of an external circuit board I was talking to. Version 1 had an 8-bit read/write register at location X; version 2 had a 16-bit register there. So I wrote out a 16-bit pattern, read it back, and... ... and the card with the 8-bit register remembered all 16 bits! Turns out that the unused 8 bits were still being driven onto the data bus, and setting a voltage there. Then, when I did the read (microseconds or nanoseconds later), the data bus still had the same voltage, and that voltage got sent to the CPU. So I wrote a 16-bit pattern to that register, wrote a different 16-bit pattern to a different register, and then read back the first register. Then I could reliably tell whether the board was version 1 or version 2. Just a very simple thing, but it amuses me still, nearly 20 years later. (Though maybe the problem amuses me more than the solution...)