The History of Unix, Rob Pike

Rob Pike talks about the history of Unix and his quite remarkable career.  And here’s my favorite quote from the video, referring to “The Unix Programming Environment” book:

It is amazing to me that the book that came out in the late 1983 is still technically relevant today.  It’s insane!

On submitting trivial patches

Hacker News points to this Linux kernel patch, done by a 4-year old.  With some assistance, of course, but still impressive.  And while the story is cute, the comments are even better.  In particular, a link to this email from Linus Torvalds, talking about the importance of the small and trivial contributions.

To me, the biggest thing with small patches is not necessarily the patch itself. I think that much more important than the patch is the fact that people get used to the notion that they can change the kernel – not just on an intellectual level (“I understand that the GPL means that I have the right to change my kernel”), but on a more practical level (“Hey, I did that small change”).

GraphIt – high-performance graph domain specific language

GraphIt is a high-performance graph domain specific language.  If you are involved with graph data structures (web, social networks, maps, and so on and so forth), check it out.  It’s sounds pretty cool.  Here’s a 20 minute video of a talk that does an overview of the language and some examples.

GraphIt is open sourced under MIT license.  Here’s the GitHub repository.

CurlMail – easy way to send emails with cUrl

I am a big fan of small and simple yet practically interesting ideas, like this one.  CurlMail is a super easy API service that allows one to send emails from the command line, using nothing but curl, or a similar HTTP client.

It’d be extra cool if it there was a GitHub link to it too.  But even if it’s not openly available, one could use the service for emails which are not sensitive and implement something similar from scratch in a few minutes for private use.

Amazon Rekognition enhanced capabilities

Amazon Machine Learning Blog announces some very significant improvements to the Amazon Rekognition – their service for image and video analysis.  These particular changes are improving the face recognition technology.

“Face detection” tries to answer the question: Is there a face in this picture? In real-world images, various aspects can have an impact on a system’s ability to detect faces with high accuracy. These aspects might include pose variations caused by head movement and/or camera movements, occlusion due to foreground or background objects (such as faces covered by hats, hair, or hands of another person in the foreground), illumination variations (such as low contrast and shadows), bright lighting that leads to washed out faces, low quality and resolution that leads to noisy and blurry faces, and distortion from cameras and lenses themselves. These issues manifest as missed detections (a face not detected) or false detections (an image region detected as a face even when there is no face). For example, on social media different poses, camera filters, lighting, and occlusions (such as a photo bomb) are common. For financial services customers, verification of customer identity as a part of multi-factor authentication and fraud prevention workflows involves matching a high resolution selfie (a face image) with a lower resolution, small, and often blurry image of face on a photo identity document (such as a passport or driving license). Also, many customers have to detect and recognize faces of low contrast from images where the camera is pointing at a bright light.

With the latest updates, Amazon Rekognition can now detect 40 percent more faces – that would have been previously missed – in images that have some of the most challenging conditions described earlier. At the same time, the rate of false detections is reduced by 50 percent. This means that customers such as social media apps can get consistent and reliable detections (fewer misses, fewer false detections) with higher confidence, allowing them to deliver better customer experiences in use cases like automated profile photo review. In addition, face recognition now returns 30 percent more correct ‘best’ matches (the most similar face) compared to our previous model when searching against a large collection of faces. This enables customers to obtain better search results in applications like fraud prevention. Face matches now also have more consistent similarity scores across varying lighting, pose, and appearance, allowing customers to use higher confidence thresholds, avoid false matches, and reduce human review in applications such as identity verification. As always, for use cases involving civil liberties or customer sentiments, where the veracity of the match is critical, we recommend that customers use best practices, higher confidence level (at least 99%), and always include human review.

Have a look at their blog post for some examples of what the machine can recognize as a face.  Some of these are difficult enough to treat many humans, I think.