HNHacker News
TopNewBestAskShowJobs

witten

521 karma · joined April 19, 2008

http://torsion.org/
submissionscomments
witten··on Pipfile for Python
Here's a setup.py that includes an interactive prompt, and thus breaks all ability to do automated installs! https://github.com/pypa/pip/issues/2732

Here's a setup.py that cannot even be imported unless another package (numpy) is already installed: https://github.com/scipy/scipy/blob/master/setup.py

I've seen setup.pys that read random files from the filesystem. I've seen setup.pys that shell out to random system commands that may or may not be installed. It's just a horrible format for what it's trying to accomplish.. because it's not a format! It's a programming language.

witten··on Pipfile for Python
To be clear, I totally get the benefits of formal support for an "actual versions last used". That is a topic near and dear to my heart, having been burnt by floating versions more than once. It's just that I don't want to swallow a too-flexible DSL in order to get that benefit, because I've also been burnt multiple times by using a DSL when a declarative data format will suffice.

And you don't need both. You can pip freeze a frozen_requirements.txt. You can ship around a whole virtual environment. And I can conceive of more requirements.txt 2.0 solutions that don't require over-wrought DSLs.

witten··on Pipfile for Python
I'm not sure age is a good indication of goodness in this regard. Python has been doing setup.py for much longer than 7 years. It's a similar format, and ripe for abuse because you have full access to a general purpose programming language in it. I've seen setup.pys call out to Inkscape. I don't want a general purpose programming language in my requirements.txt (or equivalent). I want a dumb declarative data file.

Also, I'm not sure how a lock file in source control will help me when someone who is not checking out source wants to pip install my project using said lock file.

witten··on Pipfile for Python
BTW, you can do that already with requirements.txt. See https://stackoverflow.com/questions/19559247/requirements-tx...
witten··on Pipfile for Python
How is the Pipfile.lock distributed? Is it intended to be checked into source control alongside the Pipfile? If so, how would that help someone pip install my Python project (say from pypi) using that Pipfile.lock and get the benefits of a deterministic build?
witten··on Pipfile for Python
This seems like a huge step backwards to me. Why would you want to go from a parse-able, machine-readable, data-driven syntax to something that can't easily be introspected, isn't machine-readable without firing up a full Python interpreter, is as flexible as actual code and is thus subject to all the abuse you can introduce with actual code, etc..

From the original prototype's comments: https://gist.github.com/dstufft/2904d2e663461f010bbf

"- If there's a corner case not thought of, file is still Python and allows people to easily extend"

... and ...

"- Using Python file might cause the same problems as setup.py"

Ugh.

Also, how is the "lock file" actually distributed? Unless you can pip install a wheel and have it include an embedded lock file, then you've still got to have some out-of-band mechanism for copying the lock file around like you would a requirements.txt or even a fully-fledged virtual environment.

witten··on The Real Cost of Seattle's Next Transport Bill Would Come from Not Passing It
Here's a plug for OneBusAway for Pebble: https://github.com/kmwoley/onebusaway-pebbletime

I didn't write this, but one of my co-workers did. (And not a dev!)

witten··on Jennifer Lawrence to Play Elizabeth Holmes in Movie about Theranos
And "Pinprick" as well: http://www.imdb.com/title/tt1210355/
witten··on Amazon search was down
Yes. One of my co-workers actually got fired from Amazon for causing downtime. And this was after following all procedures, documentation, etc.
witten··on What Happened at the Satoshi Roundtable
Depends how you want to reach consensus. For instance, if you're going for one-person-one-vote, then yeah, that's gonna be subject to Sybil attacks without identity. But if instead you settle for plutocracy, then you can just use something like proof of burn to tally votes.
witten··on What Happened at the Satoshi Roundtable
> It is difficult enough to get two people to agree. Three is harder, and four is even harder. Once a community gets to fifty or hundreds of people, getting everyone to agree is an irrational goal. But this is ok. Mechanisms exist to resolve disagreement amongst large groups of people (like voting). Waiting for everyone to agree is the same as saying that nothing will be done.

It's almost like we need some sort of mechanism or formal protocol for reaching consensus among a group of geographically distributed people. A kind of.. distributed consensus protocol.

witten··on BMW Australia Refusing to Comply with Terms of GNU Public License
That's not how the GPL works. If it would be inconvenient for BMW to incorporate GPL software and properly comply with the license by providing source, then their only alternative is not to incorporate the GPL software. Full stop. Harm or proprietary hardware has no bearing on the rights granted by the GPL.
witten··on Microsoft Is Acquiring London’s AI-Driven Swiftkey for $250M
This has a very protomolecule-in-Leviathan-Wakes feeling to it.
witten··on Pandora to Buy Rdio Assets for $75M, Rdio Files Ch.11, Will Shutter Service
As a dev, if you are tool-agnostic, then you're also productivity-agnostic.
witten··on San Francisco May Let Bicyclists Yield at Stop Signs
Bicycle registration has been tried, and it doesn't work from a practical or fiscal perspective: http://www.seattle.gov/cityarchives/exhibits-and-education/s...
witten··on San Francisco May Let Bicyclists Yield at Stop Signs
How late did you arrive at your destination? How much earlier would you have arrived had the bicyclist been driving a car instead?
witten··on S3QL: an S3 FS with encryption, de-dup, immutable trees and snapshotting
Having used both S3QL and Tarsnap.. In my experience, S3QL's use of remote mounted filesystems is fundamentally unsuited to unattended backups. On many occasions, S3QL's mounted filesystem would break mid-backup due to network issues, and stay mounted and unable to recover. Then, from that point forward, no backups would ever work again without manual intervention because the mount point was already open.

Additionally, S3QL would periodically issue new releases that didn't support old versions of the file format, or only supported them a set number of releases back. So if you didn't upgrade frequently enough, you'd find yourself with a release that refused to read your existing gigabytes of backup data. And then at that point, you have to do a binary search to find and recompile old releases in the vain attempt to resurrect your data and avoid having to do a full backup from scratch.

Bottom line: Stay far away from S3QL and instead use Attic, Borg, or Tarsnap.

Also, if you select Attic or Borg, check out Atticmatic: https://torsion.org/atticmatic/

witten··on S3QL: an S3 FS with encryption, de-dup, immutable trees and snapshotting
Try Borg, a fork of Attic with more active development: https://borgbackup.github.io/borgweb/

Also check out Atticmatic, a wrapper script for both Attic and Borg that makes them much nicer to configure and use: https://torsion.org/atticmatic/

witten··on The Global Bike-Share Boom: An Interactive History
Seattle actually has optional helmet rental alongside their bike share. You pay an extra $2 when you rent a bike, and you get a code to key in on a locker full of helmets. When you're done with the helmet later on, you drop the helmet off at the locker.

Having said all that, the only reason this helmet rental system exists is because of Seattle's mandatory bike helmet law, which should be repealed as it's a damper on all bike ridership.

witten··on What are red flags that signal you should walk away from a startup job?
So absolutely true. But I think the best programmers strive to minimize the portion of the program that resides in their heads, and maximize the ease with which it can be recreated in someone else's.
witten··on I quit working full-time years ago–here’s why I recommend it highly
Not disputing the hard work, but at key points in Microsoft's history, they've held and exercised tremendous monopoly power, generating large margin at the expense of their customers.. Just like Slim's companies in some respects.
witten··on Don’t make bicyclists more visible. Make drivers stop hitting them
It's actually a horrible idea, and is generally a money loser in terms of licensing and enforcement as well:

http://chi.streetsblog.org/2013/10/24/no-a-bike-license-fee-...

witten··on Best Linux server backup system?
To work around some of attic's more UI-level shortcomings, I made a wrapper script called atticmatic that adds a declarative config file, excludes file, etc:

http://torsion.org/atticmatic/

witten··on USB Killer
I once encountered a computer that was the opposite of this; plug any USB device into it, and the device would never work again, even in another computer.
witten··on Ask HN: Who is hiring? (March 2015)
EnergySavvy - Seattle, WA - Full-time

We're building software to help solve one of the world's biggest challenges: energy. EnergySavvy works with utilities across the country to improve energy efficiency and to help consumers and businesses cut waste.

Our software stack makes use of React, Python, Django, ElasticSearch, PostgreSQL, ansible, and nginx.

We're hiring both front-end and back-end software engineers. Check us out: http://energysavvy.com/careers

witten··on Bup – An efficient backup system based on the git packfile format
Allow me to plug atticmatic, a wrapper for attic that provides a config file, automatic backup pruning, etc:

https://torsion.org/atticmatic/

witten··on The rise of fake engine noise
What if real engine noise is recorded in one part of the car, and then played back in the cabin?
witten··on What happens to your bike after it’s stolen
Whether you consider a partial payout successful is up to you:

http://www.cyclechat.net/threads/claiming-monies-from-krypto...

witten··on Static Linux
> I wish Linux would replace dynamic libraries (especially ones referencing specific paths) with a system based on the library's hash.

This is how NixOS works: http://nixos.org/

witten··on What happens to your bike after it’s stolen
Honest question: Do you know anyone who has successfully redeemed the Kryptonite anti-theft protection?
← PreviousPage 3 of 7Next →