396 karma · joined January 22, 2012
Location: Seattle, WA
Remote: Yes
Relocate: Willing to Discuss
Languages: PHP, Java, Kotlin, JS, most recently. Willing to pick up others.
Technologies: Linux/BSD servers, experience with AWS services, orchestration with Terraform and Ansible. SQL and NoSQL databases.
Availability: I'll have 20 hours/week of ongoing availability, starting in two weeks.
I've been working as a developer professionally since the late 1990s. I love supporting other developers by filling gaps in specialization, mentoring, or just picking up the slack. I'm also comfortable working solo on "special projects" so you can keep your full-time devs focused on product.
My CV embarrassingly out of date, but I'm happy to talk with anyone working on something interesting.
Email hn at timdev.com
I do agree that easy access to powerful opiates is a recipe for disaster for people at risk for suicide. And I concede that the danger of a negative feedback loop is obvious.
I was pretty intimately familiar with CVS by the time I graduated (very late in the 90s). But now that I think about it, it was probably introduced in an "Intro to C and Unix" which was a 1-credit class one of the faculty forced as a pre-req for certain higher-level courses like those on compilers. It was a crash-course on C (for students who had mainly used Pascal in their first year or two), Unix philosophy, and some associated tools (make, cvs, vi/emacs).
It only met the first third of the semester, so it could be taken concurrently with the class the required it. I wonder if other schools do something similar. It worked quite well, since by the the time you got up to speed, it was time to start building lexers in the compilers course.
So, surprised to see them in YC, but on second thought maybe I shouldn't be.
In contrast, GitHub was surprisingly disappointing. Maybe one or two worthwhile candidates, and a ton of junk. It appears that GitHub's jobs get scraped and posted elsewhere, and the bulk of responses to my ad were low-quality (and that's being generous) candidates responding to those reposted versions.
Many people argue that you've got it backwards. I've been told that some of the founders opposed the Bill of Rights precisely because they feared it would be treated as an exclusive list of limitations.
The rest of The Constitution, in stark contrast to the BoR, grants specific powers to the federal government. Some people argue that it's that body of text which should be considered an exhaustive enumeration. That is to say, any claimed power that can't be explicitly justified under those articles is not granted to the federal government.
The general idea is that the integrity of the criminal justice system is at least an order of magnitude more important than the outcome of any particular case.
> Isn't it the court's job to establish guilt?
No, that's the prosecutors' job.
The Court's job is ensure that the defendant receives due process.
It's arguably impossible to have a perfect justice system. So, you have to try to construct the best one you can.
While the exclusionary rule does allow guilty people to go free, that negative is arguably overwhelmingly outweighed by keeping innocent people out of prison, providing equal protection to all, and maintaining public faith in the criminal justice system.
One can argue that the system as implemented doesn't do such a good job of providing those three outcomes, but if we assume it does, wouldn't you agree maintaining such a system is more important than ensuring every last (actual) criminal who makes it to trial is convicted?
===========
Quick Intro
===========
I've been consulting for a great organization for several years, and they're looking to bring someone on full-time. I'll continue to be involved to support, advise, and even do some work.
Personally, I think this is a great opportunity for someone in the NYC area who's burned out on freelancing and wants a few years of solid pay + benefits, while helping others.
If you're interested email tim at substr($myUserName, -1).com with an intro, resume, and the usual assortment of relevant links.
====================================
The Bullet-Point-Ridden Long Version
====================================
A well-funded, NYC non-profit is seeking a full-time junior-to-mid-level full-stack web applications developer to support several web applications.
The ideal candidate has a solid skills and experience (>= 3 years) developing database-driven web applications, and is also capable on the client-side. Linux and AWS experience is a plus, but not required.
This is an on-site position in a midtown office near Grand Central. You’ll be working directly with senior staff to maintain and extend several web-based apps (some public-facing, some internal).
You will be the sole technical staff member, though you’ll collaborate with, and receive guidance and support from long-time external consultants who have been supporting this organization for several years (one of whom is responsible for this job posting).
You’ll primarily iterating on existing platforms, but with the prospect of doing some greenfield development as well.
This is an excellent opportunity to grow your skills in a supportive environment.
We currently use:
* Modern PHP
* MySQL
* Redis
* Memcached
* AWS (EC2, RDS, ELB, R53, S3)
* VPSes (debian)
* Ruby/Rails (old: 2.3) for an internal-facing app.
* Salt and Ansible (we'll be picking a winner soon)
Requirements: * 3+ years experience developing database-driven web applications.
* Significant experience with modern PHP.
* A strong understanding of SQL and relational databases.
* Competency with front-end technologies (HTML5, Javascript & CSS).
* Some experience managing linux-based servers from the command line (basic bash scripting, cron configuration, package management, etc).
* Strong written and verbal communication skills.
* Ability to collaborate with non-technical colleagues, in their language, manage their expectations, and provide working solutions.
Extra points for: * Experience with AWS services.
* Experience with configuration management tools like Ansible, Salt, Chef or Puppet
* Experience writing and consuming web services, RESTful and otherwise.On the other hand, major version releases are when you make such dramatic departures from what's come before. At least in ZF, they got a lot a lot of things more-right.
I moved a (pretty complex, line-of-business transactional-type) project from ZF1 -> ZF2, and I'm happy I did. Some things changed a lot (dispatch, routing, forms), while other things were very easy to translate (caching, logging, etc).
In that case, most of the business logic was built around Doctrine2, encapsulated nicely into service classes, and therefore fairly framework-agnostic.
Then a couple of years ago, I started playing with a DataMapper/Unit-of-Work ORM (Doctrine2, in PHP-land). My experience, writing a moderately sized warehouse-management application, has been very good.
In Doctrine, you don't write your schema/DDL. Doctrine does, based on your Entity and Association mapping. You write plain-old-PHP-objects, and then map their relations (in XML, annotations, or YAML). Doctrine reads and validates your data model, and generates DDL statements to create the schema. Big surprise: it creates pretty much exactly the same schema you'd expect. (And it will generate and manage migrations, too)
Unit of Work is a powerful pattern, too, especially for web apps. You just worry about updating entities in memory. The ORM then flushes them to the datastore in a single transaction at the end of the request (so, by default, you have a one-to-one mapping between http requests and transactions in the RDBMS).
Datamapper/UoW is probably overkill for CRUD stuff; that's where ActiveRecord shines. But it pays dividends when you're dealing with more complicated state-transitions on your underlying entities, and there are lots of cross-cutting concerns.
Words are relatively easy. Ethics are not reducible to lexicography.
That was my fantasy upon reading the headline: "Google acquires and renders harmless army of kill-bots"
Sadly, I'm afraid it was a dream.
Prefork - if you want to use mod_php, you're stuck with this. I think this is what you're referring to as "the process model"
Worker - Uses threads to handle connections. A big step up from prefork, but not as awesomesauce as nginx.
Evented - The new MPM which use epoll
It's been possible to run PHP(-fpm) under "worker" (via FastCGI) for years, and it performs adequately. I never benchmarked, but I was using this setup back when nginx was still too bleeding-edge for my tastes, and it certainly beat the pants of prefork/mod_php
Immediately followed by:
> Apache can work with PHP-FPM just like Nginx using the new evented worker mpm
seems contradictory. Can you clarify this bit?
People like servers and drivers have an opportunity to provide extra value beyond their purely mechanical function. A culture of tipping allows the consumer to reward that extra effort, at their option.
That said, I do agree that 15-20% as a tip for 'standard' service is just silly. If I owned a restaurant, I'd want to hear about it if a customer was unhappy. When the customer can just stiff the server on their tip and leave, it gets harder to identify which workers need retraining/replacement.
I don't really print much, but when I do, it's amazing that I can take something digital and put it on a piece of paper.
The reason that's awesome is that I can then hang it on my fridge. Or take it with me in my pocket, without having to worry about electricity. Or, you know, one of the other thousand use cases where a printed page is more usable, reliable, or feasible than something turing-equivalent.