These are the Kickstarter Engineering and Data role definitions for both teams.
func tellJoke(name: String, character: Character) { | |
let punchline = name.filter { $0 != character } | |
let n = name.count - punchline.count | |
let joke = """ | |
Q: Why does \(name) have \(n) \(character)'s in their name? | |
A: I don't know, why does \(name) have \(n) \(character)'s in their name? | |
Q: Because otherwise they'd be called \(punchline). | |
""" | |
print(joke) |
------------------------------------------------------------------------------------------------------------------------ | |
Search for 11_0 | |
------------------------------------------------------------------------------------------------------------------------ | |
Accounts/ACAccountType.h:12: ACCOUNTS_EXTERN NSString * const ACAccountTypeIdentifierTwitter NS_DEPRECATED(NA, 10_13, 5_0, 11_0, "Use Twitter SDK instead"); | |
Accounts/ACAccountType.h:13: ACCOUNTS_EXTERN NSString * const ACAccountTypeIdentifierFacebook NS_DEPRECATED(NA, 10_13, 6_0, 11_0, "Use Facebook SDK instead"); | |
Accounts/ACAccountType.h:14: ACCOUNTS_EXTERN NSString * const ACAccountTypeIdentifierSinaWeibo NS_DEPRECATED(NA, 10_13, 6_0, 11_0, "Use Sina Weibo SDK instead"); | |
Accounts/ACAccountType.h:15: ACCOUNTS_EXTERN NSString * const ACAccountTypeIdentifierTencentWeibo NS_DEPRECATED(NA, 10_13, 7_0, 11_0, "Use Tencent Weibo SDK instead"); | |
Accounts/ACAccountType.h:19: ACCOUNTS_EXTERN NSString * const ACFacebookAppIdKey NS_DEPRECATED(NA, 10_13, 6_0, 11_0, " |
Someone sent me an email asking me what advice I had for new developers. I get this question a bunch, so I wanted to put all my thoughts in one place, that I can update as I get more ideas!
I answered this a bunch on my AMA repo, so here's some initial general answers, before I get to some of the specific questions:
- how to find a project to work on: notwaldorf/ama#33
- how I learn: notwaldorf/ama#32
- what to learn: notwaldorf/ama#51
- advice for your first job: notwaldorf/ama#59
I screwed up using git ("git checkout --" on the wrong file) and managed to delete the code I had just written... but it was still running in a process in a docker container. Here's how I got it back, using https://pypi.python.org/pypi/pyrasite/ and https://pypi.python.org/pypi/uncompyle6
apt-get update && apt-get install gdb
enum HTTPStatusCodes: Int { | |
// 100 Informational | |
case Continue = 100 | |
case SwitchingProtocols | |
case Processing | |
// 200 Success | |
case OK = 200 | |
case Created | |
case Accepted | |
case NonAuthoritativeInformation |
""" | |
Django middleware for generating request flame graphs. | |
Requires the flamegraph.pl perl script: | |
https://github.com/brendangregg/FlameGraph/blob/master/flamegraph.pl | |
Installation: | |
1. Create a directory for flame graphs | |
2. Copy the flamegraph.pl script to it | |
3. Add the FLAMES_DIR django setting | |
4. Add the flames.FlamesMiddleware to MIDDLEWARE_CLASSES |
What I did to get Python 3.4.2 on Ubuntu 14.04. The stock version of Python 3 on Ubuntu is 3.4.0. Which is missing some of the best parts! (asyncio, etc). Luckily I discovered pyenv which solved my problem.
Pyenv (not to be confused with pyvenv) is the Python equivelant of rbenv. It lets you configure which Python environment/version is available per directory, user, or other session variables.
I followed the instructions here to install pyenv in my home directory. Verbatem, those instructions are:
sudo apt-get install git python-pip make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev
Vim provides built-in mechanisms to search through projects in the form of the grep
command.
However, on large projects, grep is known to be slow; and hence people have been switching to simpler searchers like ack, and faster, parallel (metal?) searchers like ag and pt.
Correspondingly, several plugins have been created that integrate these tools in vim: ack.vim, ag.vim, etc.
However, it's actually very easy to get the functionalities these plugins provide (faster search, results in quickfix-window, jumps, previews, and so on) in vanilla Vim itself; in fact, Vim already populates the grep-search results in a quickfix window. We just need to tell Vim to do the following things (use-case: ag):
- Use ag as the default grep program
- Open quickfix window by default
- Create mappin
Since 2008 or 2009 I work on Apple hardware and OS: back then I grew tired of Linux desktop (which is going to be MASSIVE NEXT YEAR, at least since 2001), and switched to something that Just Works. Six years later, it less and less Just Works, started turning into spyware and nagware, and doesn't need much less maintenance than Linux desktop — at least for my work, which is system administration and software development, probably it is better for the mythical End User person. Work needed to get software I need running is not less obscure than work I'd need to do on Linux or othe Unix-like system. I am finding myself turning away from GUI programs that I used to appreciate, and most of the time I use OSX to just run a terminal, Firefox, and Emacs. GUI that used to be nice and unintrusive, got annoying. Either I came full circle in the last 15 years of my computer usage, or the OSX experience degraded in last 5 years. Again, this is from a sysadmin/developer ki