09.22.16 · julia
So, I’ve been writing Git@Me continuously for about 3 years now. It’s cuckoo pants, right? Well, I fell behind the 8-ball this week and didn’t have time to get a full issue together.
Instead, I think you should read Matt Bauman’s writeup about how he used his cellphone, Julia, and a heap of computer vision to push for better traffic controls on the road between Carnegie Mellon and the University of Pittsburgh.
As a CMU grad who spent a lot of time at Pitt, this resonated with me, plus it’s exactly what civic and public advocacy hacking is all about!
09.15.16 · c# unity
This week’s project could be titled: Fun with Unity and it’s just plain cool. Masatatsu Nakamura implemented the Teddy algorithm in Unity. You freeform sketch a 2D shape, and the algo uses it to create a 3D object.
Play with the demo on your computer. It’s crazy satisfying, but will probably crash your phone.
The massive success of voice UIs like Siri, Google Now, Cortana, and Alexa, sometimes makes me nostalgic for the era when voice recognition was awful. One summer in the 90s, my dad tried (to no avail) to train Dragon Dictate to recognize his voice.
Fortunately, things have gotten better since 1997. Instead of pricey box software & fax machines with have free APIs and smart phones.
But, if you are feeling nostalgic for the Dragon Days, install Greg Sadetsky' Email Dictation Chrome extension and dictate your next email. Google’s WebSpeech API does all the heavy lifting, so it’s pretty accurate. Just remember the punctuation keywords: comma, period, and question mark.
While mostly a parlor trick, I think Email Dictation a great way to get your notes / first draft down while your thoughts are still fresh.
Give it a try, I think you’ll really like it!
09.01.16 · python
Web scraping is in the middle of an arms race. Last week, I read an article by Francis Kim about how scraping—every hacker’s favorite tool for getting around APIs, data-mining, and liberating data—has become harder, because sites are getting better at identifying scrapers and shutting them out.
Francis lays out a bunch of solutions (including an alarming anti-CAPTCHA service) for defeating anti-scraping measures. However I was surprised that neither he nor any commenters mentioned user agent strings.
PhantomJS, Selenium, and other automation tools usually allow you to spoof a particular UA, so why aren’t more people using this to make their scrapers appear to be real, random browsers?
A few days later, I came across Randall Degges' useragent-api which returns a random UA string every time you make a request. It’s not a panacea, but is an elegant solution for masking your scripts intentions & provenance.
Unlike the Cold War, I think the battle over scraping is going to get hot. Keep your eyes peeled.
I’ve used pretty much every instant message & team collaboration tool ever (AIM, ICQ, IRC, Sametime, HipChat, etc.) and these days it’s all about Slack.
It’s nice that you can edit Slack messages whenever you make a typo, but that means you have to mouse over, click edit, make your edit, click enter, etc. It’s a whole thing.
But what if you could just do this instead?
Pretty neat, hunh? Just type in your correction, like you would have on AIM and slack-typobot will update your original message. Bing. Bang. Boom!