For educational reasons I've decided to create my own CA. Here is what I learned.
Lets get some context first.
-- 1. Place in ~/Library/Scripts and enable the Applescript menu via the Applescript Editor | |
-- (Or export to .app to run from spotlight.) | |
-- 2. Substitute "vpn.example.com" and "redacted" for your VPN server and password | |
-- 3. Open Security & Privacy System Preferences, go to Privacy, Accessibility | |
-- 4. Enable Applescript Editor and System UI Server (or for this .app if so exported) | |
-- 5. Trigger script from the menu (or run from spotlight) | |
-- 6. Enjoy being connected | |
-- 7. Run script again to close connection | |
set the clipboard to "" | |
set appname to "SecurID" | |
set thePin to RsaTokenPin() | |
activate application appname | |
do shell script "networksetup -setairportpower en0 on" | |
tell application appname | |
activate |
A useful list of programming jargon to solve your naming problems.
Adapter: a design pattern that translates one interface for a class into a compatible interface.
Admin: short for 'administrator'; very commonly used in speech or online to refer to the systems person in charge on a computer. Common constructions on this include sysadmin and site admin (emphasizing the administrator's role as a site contact for email and news).
Counter: a variable or user interface that counts occurrences or repetitions of some phenomena or event.
# taken from http://www.piware.de/2011/01/creating-an-https-server-in-python/ | |
# generate server.xml with the following command: | |
# openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes | |
# run as follows: | |
# python simple-https-server.py | |
# then in your browser, visit: | |
# https://localhost:4443 | |
import BaseHTTPServer, SimpleHTTPServer | |
import ssl |
If you use git on the command-line, you'll eventually find yourself wanting aliases for your most commonly-used commands. It's incredibly useful to be able to explore your repos with only a few keystrokes that eventually get hardcoded into muscle memory.
Some people don't add aliases because they don't want to have to adjust to not having them on a remote server. Personally, I find that having aliases doesn't mean I that forget the underlying commands, and aliases provide such a massive improvement to my workflow that it would be crazy not to have them.
The simplest way to add an alias for a specific git command is to use a standard bash alias.
# .bashrc
/** @jsx React.DOM */ | |
var MyComponent = React.createClass({ | |
render: function() { | |
// Defaults in case the props are undefined. We'll have a solution for this | |
// soon that is less awkward. | |
var perMinute = this.props.perMinute || '-'; | |
var perDay = this.props.perDay || '-'; | |
return ( | |
<div> | |
<h3>Clickouts</h3> |
package main | |
import ( | |
"fmt" | |
) | |
type Fetcher interface { | |
// Fetch returns the body of URL and | |
// a slice of URLs found on that page. | |
Fetch(url string) (body string, urls []string, err error) |
Eric Bidelman has documented some of the common workflows possible with headless Chrome over in https://developers.google.com/web/updates/2017/04/headless-chrome.
If you're looking at this in 2016 and beyond, I strongly recommend investigating real headless Chrome: https://chromium.googlesource.com/chromium/src/+/lkgr/headless/README.md
Windows and Mac users might find using Justin Ribeiro's Docker setup useful here while full support for these platforms is being worked out.
/* | |
* | |
* There is now an Angular directive, filter and provider! | |
* It can be found here: https://github.com/i18next/ng-i18next | |
* ng-i18next is now part of the i18next rganization! | |
* | |
*/ | |
/* | |
* AngularJS directive for using i18next (http://jamuhl.github.com/i18next) |