- Matthew Flaming (New Relic) on “Building a system that never stops” (2016): what challenges come with the scaling systems?
- Pual Lewis (Google) on “High performance web user interfaces” (2016): applying RAIL (Response-Animation-Idle-Load) principles in practice.
- Scott Jenson (Google) on “The Physical Web is a Speed Issue” (2015): there is no need to have a gazillion of apps installed on your smartphone in order to interact with things around you.
- Guy Podjarny (Snyk) & Assaf Hefet (Snyk) on “Tracking Vulnerabilities in Your Third Party Code” (2015): these guys built a tool that helps you track and fix vulnerabilities in your Node.js application dependencies.
- Yunong Xiao (Netflix) on “Debugging Node.js in Production” (2015): what Netflix uses in production to diagnose and fix performance issues, bugs and memory leaks in Node.js applications.
- Dan Abramov on “Live React: Hot Reloading with Time Travel” (2015): a story about Redux.
- “Google I/O 2011: The Secrets of Google Pac-Man: A Game Show” (2011): the entertaining story behind Google Pac-Man doodle.
- Ernie Miller on “How to Build a Skyscraper” (2015): what we can learn from skyscraper-building experience.
- Lee Byron (Facebook) on “Exploring GraphQL” (2015): a data fetching language that is widely used at Facebook.
- Interesting session on “Making Robots” at Fab11 conference: MIT, Harvard, DARPA, Boston Dynamics and Kiva Systems.
- Rachel Potvin (Google) on “Why Google Stores Billions of Lines of Code in a Single Repository” (2015): advantages and trade-offs of having a giant single monolithic source repository.
- Lea Verou on making CSS pie charts in “The Missing Slice” (2015).
You might have heard about Network locations in OS X. It allows you to have different network configurations and quickly switch between them. For instance, if you must to use a corporate proxy server at work and you don’t need it when you get back home, you might create a new location named “Work” (with any necessary network proxy settings) and keep the default “Automatic” location for home. But still, you will need to switch between those locations manually. How annoying!
Wouldn’t it be great if OS X could switch location automatically based on the name of Wi-Fi network that I’m connected to? Moreover, I would like to change automatically some Security Preferences, because I have to lock the computer immediately at work when I go away. But I found it annoying to have it at home.
So, how to change automatically OS X’s network location based on the name of Wi-Fi network or run arbitrary scrips when it happens? Pretty easy! We will be following a convention over configuration paradigm to reduce the overall complexity.
First of all, we have to name locations after Wi-Fi network names. For instance, if the name of your corporate wireless network is “Corp Wi-Fi”, you have to create a new location “Corp Wi-Fi”. If you connect to a wireless network that you don’t have a specific location for, then the default location “Automatic” will be used.
And of course we need a tool for doing that. The installation process is extremely easy:
$ curl -L https://github.com/eprev/locationchanger/raw/master/locationchanger.sh | bash
It will ask only for a root password to install
locationchanger. Now, every time you connect to
a wireless network it will change the location to either the corresponding or the default one.
That’s not all. We still want to change Security Preferences automatically when the location has been changed. Let’s create scripts that will be executed every time it happens. One is for “Corp Wi-Fi” location:
#!/usr/bin/env bash # Require password immediately after sleep or screen saver osascript -e 'tell application "System Events" to set require password to wake of security preferences to true'
Another is for the default location:
#!/usr/bin/env bash # Don’t require password after sleep or screen saver osascript -e 'tell application "System Events" to set require password to wake of security preferences to false'
Save them as ~/.locations/Corp Wi-Fi and ~/.locations/Automatic respectively. Voilà! You’re not limited by changing only the security preferences, you can do whatever you want to…
Let’s say, you’ve found a funny black-and-white picture on the Internet and you want it badly in hi-res or vector which is even better. Well, there is a command-line tool called Potrace.
It has precompiled distributions for OS X, Linux and Windows. Potrace is also available in major package managers, including Homebrew:
$ brew install potrace
The manual installation is super easy, however. For OS X do the following:
$ cd potrace-1.12.mac-i386 $ sudo cp mkbitmap.1 potrace.1 /usr/share/man/ $ sudp cp mkbitmap potrace /usr/local/bin
Potrace works with bitmaps (PBM, PGM, PPM, or BMP format). It means you have to convert the image you have to one of those formats. We will be using ImageMagick’s
convert program. If you don’t have it installed, you can use Homebrew to get it:
$ brew install imagemagick
Alright. Let’s say you’ve got this image (by Nation of Amanda) in PNG format with transparency: All you need to do is to run this:
$ convert -alpha remove party-never.png pgm: \ | mkbitmap -f 32 -t 0.4 - -o - \ | potrace --svg -o party-never.svg
It converts PNG file to PGM format, removes image transparency, outputs the result image to the standard input of
mkbitmap that transforms the input with highpass filtering and thresholding into a suitable for the
potrace program format, that finally generates SVG file. You can play around with highpass filtering (
-f) and thresholding (
-t) values until you have the final look that you want.
As a result you might have now: That’s it.