HNHacker News
TopNewBestAskShowJobs

nsfmc

1,059 karma · joined January 5, 2010

http://nsfmc.tumblr.com and also http://generic.cx

[ my public key: https://keybase.io/nsfmc; my proof: https://keybase.io/nsfmc/sigs/e9YAe_1k0aJVxOOadbxGJm6s_cFKeMeuWay_ocZyl50 ]

Verifying my Blockstack ID is secured with the address 12yroXUpFaXP4bL9wxw3LARRX8Be8HYZui https://explorer.blockstack.org/address/12yroXUpFaXP4bL9wxw3LARRX8Be8HYZui

submissionscomments
nsfmc··on Outing the Inside: On Louise Bourgeois
Dave Hickey calls the phenomenon you're talking about a piece of art's "social value"[0]. this goes for lots of things though, not just art (modern or otherwise) because all things exist in some historical context and so you can read them (accurately or not) as a cultural reaction or as being part of some larger Scene. my take is that one of the things that makes some art particularly effective is its ability to provoke these reactions when placed in new historical contexts.

modern art is particularly complicated because something like Duchamp's Fountain or Readymades can become easily reduced to trope or gimmick "<groan>, another toilet-as-art piece." but software is like this too!! "great, another algebraically-typed fp language with poor unicode support and no stdlib." the thing that makes us keep paying attention is the culture that develops around these things and advocates for and argues for the thing's "social value" irrespective of the "social virtue" we may observe as outsiders.

[0]: http://nsfmc.tumblr.com/post/1671107720/since-there-is-no-ab...

nsfmc··on Show HN: EnvKey – securely manage API keys, credentials, and config
a tool which pairs well with parameter store is https://github.com/segmentio/chamber/ . it's a nice interface over the awscli commands that save you a lot of typing. definitely worth looking at as it also saves you the hassle of dealing with a secrets file stored in s3.
nsfmc··on How Cold Brew Changed the Coffee Business
you can pick up some medium/fine mesh sieves on amazon, i will do a two-pass filtering where i use the mesh sieve to filter out most of the grounds and then run it again through a regular coffee filter. this is basically the same as using a french press, but it's cheaper to reuse old quart containers you get from takeout/yogurt etc than buy a french press.

ideally, it would be easy to find a food-safe coffee filter with the permeability of a plain paper towel (which i have used before, it works fine, it is not ideal, it's almost certainly not "food safe" in that use but whatever).

nsfmc··on Show HN: Bloom Filter JS
i think you need to update the description for this or leave a comment explaining where to find your bloom filter library (i'm curious!)
nsfmc··on How I Became a Better Programmer
i don't see the contradiction. he's not asking for people to star his repo and it's not unreasonable to offer this advice if you perceive harmful cults of personality developing in a community. besides, lots of people just star things for lots of different reasons, bookmarking, giving props or ???.
nsfmc··on Interview with Patrick Collison – Co-Founder, Stripe [audio]
If you're craving more interview with him, there's a pretty interesting podcast with patrick hosted by vox's Ezra Klein. it was useful for giving lots of context to somebody whose tweets i had spent a fair amount of time reading but who i didn't really have a grasp on (other than knowing about stripe): https://soundcloud.com/panoply/eks045-patrick-collison-ads
nsfmc··on How a photographer landed an iconic shot of 1975 performance piece “Media Burn”
i'm impressed by his decision to trigger by sound rather than trusting his eyes: it gave him the chance to set up a more novel shot ahead of time.

incidentally, it's pretty much the same that doc edgerton used for many of his bullet photos: you start a picture in bulb mode in a dark room and use a sound trigger and time delay to trigger a strobe based on roughly how long you expect the delay between the sound of the bullet firing and it hitting the thing you care about.

Once you have a rough window, you can spend the rest of your time fine tuning the delay for whatever effect you're going for.

now putting on my dan meyer hat, it feels like a fun exercise to determine his reaction time based on the approximate speed of the car (possibly derivable if we know the shutter speed?) anyhow, cool article.

nsfmc··on The State of Babel
this is what babel enables, though, but it prevents you from thinking about it in your day to day life. babel specifically is a platform for treating javascript as a syntax tree and providing plugins that transform your code to target the minimum requirements you care about now, or in a year.

the alternative you propose is that everyone writes code that only targets well-supported javascript, but does that exclude polyfills or convenience functions? Does that mean that using a polyfill for Array.prototype.map is worse than using an implementation like _.map or a hand-written map function? At best, this choice results in a complex maintenance burden that is borne by developers during future refactors (rather than an infra-focused developer upgrading the babel distribution and its presets/plugins)

the current reality is that the browser ecosystem remains heterogenous (which is why there is still a valid market for things like jquery). A plugin like babel-preset-env for instance allows you to dynamically adjust the "minimum requirements" without needing to write new polyfills and gives the benefit of improving the transformed code with little to developer intervention. It's computers doing what they're good at, i struggle to see the harm in that.

nsfmc··on Gmail will now support CSS media queries
although this was announced on friday, it has yet to be enabled (at least on test emails i've been developing). I'm not sure why it was announced without the feature being generally available, but i guess whenever they flip the switch, old emails will be upgraded to use the style tags embedded in them?

Even without media queries, enabling <style> blocks in html emails is huge (google was the last holdout). For anyone developing html emails, this is a nice set of changes.

nsfmc··on Introducing OpenType Variable Fonts
most of the type-design world is moving towards a ufo-centric workflow. ufos are basically simple to grok xml files defining bezier curves. Adobe's AFDKO (Adobe Font Development Kit for Opentype) supports ufo and generates from them full-fledged otfs. Another great resource is the more recent fonttools fork on github at https://github.com/behdad/fonttools .

I used to like fontforge, it's a fine application, but the move to ufo has made it easier to apply older svg-based tools to editing splines and saving out as ufos. here's a free application, it looks promising! https://github.com/trufont/trufont .

finally it's worth looking at https://github.com/LettError/MutatorMath which has lots of the tools for interpolating masters. There are actually loads more resources and, if you are short on time or attention, my guess is that the tightest workflow will be coming to Robofont (which hovered around 500 euro for a while).

Still, it's all very accessible to you even outside of fontforge and all the libraries for modifying ufo-style paths are freely available. take a look, it seems very fractured, but i think it's a nice distributed workflow all things considered given the final output.

nsfmc··on StartCom operated solely in China: an analysis of the new StartCom website
ha, sorry, i swear i started composing this before 0x0's comment :(
nsfmc··on StartCom operated solely in China: an analysis of the new StartCom website
why wait? i made the switch from startcom to letsencrypt in a few hours spending most of the time updating my ssl configuration (using https://cipherli.st/ at the time). `./certbot renew` is easy to throw into a cron job, too, at least much easier than the classic startcom certificate generation/signing/etc process.
nsfmc··on Stockfighter's Jailbreak CTF trainer is live
one comment on the trainer: when you click on the Jailbreak link, it just drops you into the debugger, if you, like me got lost, run the `tour` and then click on the little person+ head and go to the documentation and go through the quickstart.

yay!

nsfmc··on Stockfighter's Jailbreak CTF trainer is live
I know this is a low-quality comment, but i just want to congratulate the whole stockfighter team for getting the jailbreak ctf out. it looks like it was a ton of work and looks fantastic. as somebody who was excited about it after trying my hand at microcorruption, i'm super excited to see this finally. hats off!
nsfmc··on Show HN: Apply HN Aggregator
i'm not sure if this is just my problem with whatever plugins i have, but i can only get the site to load in firefox, but it's a total no-go in chrome, safari or even the safari tech preview. in safari and chrome, the xhrs to search_by_date on algolia never resolve (the webfonts never load in any browser cors-related).

Also not totally sure why the xhrs are marked as synchronous, but that causes all the browsers to complain in any case. rock on.

nsfmc··on San Francisco Tech Firms See Workers Flee from $4,500 Rents
i have a similar anecdote, when i arrived in the bay area in 2011, i was paying the exact same rent in east palo alto, when i left in 2015, my rent had gone up to $2,750. As my lease neared expiration, my landlord decided against renewing it and instead the house was sold because they were looking for a good exit.

i don't blame them, everyone has their reasons, but i want to caution you that while it's possible to find a good rental that works out for some period of time, it's not a long term assurance and being forced to move can make it difficult to acquire a place as favorable as the one you have with the combination of commute or rent or other intangibles you've grown accustomed to in your neighborhood. Or you may find one at the price, but it may take a much longer time than you have allotted, especially in this market where qualified renters are plentiful and willing (often out of necessity) to pay high rents for substandard properties.

I also asked myself the same question you did, but the conclusion i reached eventually involved me moving out of state last year. ¯\_(ツ)_/¯

nsfmc··on The Enduring Mystery of 'Jawn', Philadelphia's All-Purpose Noun
jawn is that real joint https://www.youtube.com/watch?v=-p5IpX9T5eM
nsfmc··on Type hints – a mediocre programmer's reaction (2015)
i'm pretty sure js transpilers are a symptom of having to support many js environments and js versions but folks wanting to have access to current language features anyway. people have made this too for python and it's called `3to2`, which is a backwards version of the `2to3` language upgrade tool.

babeljs for example used to be called `6to5` so i don't think it's lockin that causes this desire, but it's certainly true that the options for clientside programming languages that are widely deployed are fairly slim. i don't think they're related though.

nsfmc··on Draft.js – Rich Text Editor Framework for React
hi marjin! thanks again for all your work on prosemirror. the docs are quite thorough (and have gotten moreso in the past few months!), but a specific thing which i ended up needing to dive into the code for was something like setting up a custom menubar[1] with a menugroup.

The docs back then (and even now) do this thing where they get rapidly tautological and have you hop around between type definitions but don't, for instance, show you what the default `menuBar`'s content value is, in terms of a MenuGroup so it's not readily obvious how to customize my own without reading the source.

So reading the docs, while i can certainly find out what things are and how they connect, i don't have a good sense of what decisions prosemirror made for me (or how it made them) so that i can intentionally customize or integrate in a non-backwards way. If the code weren't so legible, this would be a massive problem, but it's the sort of in-depth documentation that needs somebody working strictly on documentation in that way that kaplan-moss talks about[2]. I totally get that prosemirror is early days and integrating it has been a good experience, but that's the sort of documentation pain-point i was referring to. Thanks again!

[1]: http://prosemirror.net/ref.html#menu/menubar [2]: https://jacobian.org/writing/great-documentation/

nsfmc··on Draft.js – Rich Text Editor Framework for React
ProseMirror is great. A few months back i was looking for a rich text editor for use in an isomorphic js webapp that uses react. I probably spent more time researching and testing out other libraries than i did getting prosemirror working in our app (and even ended up even contributing back some code in the process). Highly recommended, i think for most cases, prosemirror strikes a good balance between sensible defaults and easy integration.

Where it falls down is mostly in documentation, which is 100% understandable, since it was crowdfunded(!), but the code is very legible and amenable to most kinds of webapps.

Where i suspect draft.js probably shines is having tighter client/data boundaries and code that natively expects to be rendered isomorphically, so calls to window/document are probably more tightly managed given that the whole view layer uses react and likely expects to be rendered on the server.

That said, ProseMirror has a 100% fantastic "give me the current ast rendered as markdown" which, in my case at least, was the thing i wanted the most and that ProseMirror supplied handily. Draft.js will have you roll your own[1], but at least the draft.js api is fairly friendly.

There's obviously more than enough room for both projects, but i think that for react based projects, draft.js will feel like a more natural fit even if it will take more effort in the short term until more functionality builds up around it.

[1]: https://github.com/facebook/draft-js/blob/06891490069d3ccfb8...

nsfmc··on Ask HN: Which open source projects have kind, supportive, talented teams?
i had a fantastic time contributing some code to the ghost.org blog platform. they are incredibly well managed, fantastically transparent, and provide a great deal of support for people contributing to the codebase. very much an a+++++++ would contribute again situation.

Probably the thing that sets any receptive project is its ability to identify areas where it needs help and setting aside well defined (and documented) projects in those areas. In many projects, there's lots of work needed to be done but the priorities aren't obvious and so lots of contributions get left on the floor because they're just not in any way priorities for the active maintainers. it takes lots of work and maturity for a project to advertise this sort of stuff which is why these situations seem few and far between.

Regardless, try to invest time in filling in the current needs of projects rather than unsolicited work. some unsolicited work (bugfixes) is easily accepted, but features are often hard to incorporate especially if they're not aligned with the short term goals of the project.

nsfmc··on Show HN: Monodraw, an ASCII Art Editor for Mac
i had that same feeling because i was going to buy it yesterday and then this morning saw it went 1.0 :p oh well.
nsfmc··on Say Good-Bye to Picasso’s Women of Algiers, Disappearing for $140M
you're touching on some interesting ideas about what art is. the economic half of your question can sort of be answered by the irrational behavior of the consumption of Veblen Goods[0]. the existential question has been addressed by a few artists, popularly by Richard Prince and less popularly (but more fascinatingly, imo) by folks like Elaine Sturtevant[1].

Contemporarily, artists like Clement Valla[2] are doing nifty things looking at the limits and our existing fascination with digital facsimile.

Here's an old essay http://en.wikipedia.org/wiki/The_Work_of_Art_in_the_Age_of_M... that asks some of these same questions (in particular the question of what would be missing). i think more interesting is the idea of what it means to own art and why we feel compelled to do it at all. Like they say: Everyone has their reasons.

this sort of question (which for me was triggered by Sturtevant) was hugely influential in getting me interested in fine art as a whole.

[0]: http://en.wikipedia.org/wiki/Veblen_good

[1]: http://en.wikipedia.org/wiki/Elaine_Sturtevant

[2]: http://clementvalla.com/work/wrapped-terracotta-neck-amphora...

nsfmc··on Mathematics for Computer Science
Hi there and congrats on working through this course. Most students coming into this class are learning all the formalized truth table/mappings/isomorphism/etc stuff for the first time. I took this class after having failed a course in Real Analysis and ended up appreciating it not so much as a math class but as a good intro to how to think about Theoretical Computer Science.

Looking back at the psets, i think it's actually worth looking at them in reverse order just to not get too discouraged: the class ends on some number theory and begins with the Relation/Axiom/Set/Sequence stuff you see in early high level math classes. Some of that number theory/counting stuff is incredibly accessible from the outset, so the class doesn't just get monotonically more obtuse.

That said, if you've worked through vellman and you finish up this class, you're more than ready to do a class in proper number theory, discrete math or even real or complex analysis. Somebody else said that this course was a prereq for clrs, it is sort of, but you could take them both concurrently if you had to, as clrs doesn't have such a strong focus on proofs (if you're interested, 6.045j is a good followup in automata/computability/etc, lots of regexes, state machines and turing machines)

anyhow, i just want to say that it's ok if you don't get it all at once. i think i ended up seeing lots of these ideas two or three times in a variety of classes. probably the first time i was just mechanically spitting out proofs without understanding them. by the third time i came across them, they actually clicked for me. But there was value (for me at least) to exposure early on because you do know the things that are hazy and it's easier to dive deeper on those the next time you encounter them.

have fun!

nsfmc··on Typing the Letters A-E-S Into Your Code (2009)
you can also take matasano's own practical crypto course http://cryptopals.com. If you're taking a vacation, for example, it can be fun to do some of the exercises, write stuff on a notepad, go back to doing exercises and so forth. highly recommended and lighthearted.
nsfmc··on Show HN: Qvotr – Like Pinterest, except for words
exciting! the creator of ffffound, Yugo Nakamura, a few years after launching that site released another one, inyo.jp, which was entirely a quote blog. I always thought the idea was compelling and surprised that it never had widespread appeal like ffffound did especially considering how popular sharing gifs of quotes is on twitter (which, btw, qvotr should totally have twitter cards).

One (or two) suggestions for qvotr: it would be nice if the front page had popular/hot quotes listed, so that others can take a sort of read of the 'quote landscape.' it's not clear from the outset what the 'tone' of the site is, is it inspirational quotes, insights, all of the above, etc.

Second suggestion is to let the quotes breathe a bit more. they're really cramped in there so the overall effect is sorta meat-market-like.

Neat project, excited to see where it goes!

nsfmc··on Hard-won lessons about money and investing
to some degree you're right, commutes are a good way to trade time for rent money. many people don't have that time luxury, sadly, especially if dealing with a 9-5 job, caltrain irregularities and school/daycare schedules. many people don't have an extra 3+ hours to spare each day and necessarily trade that for a rent increase or proximity to a daycare or school. as a current resident of epa, i can say that the rents are becoming comparable with regular palo alto, especially if you're not living alone, which is really when these budget issues become much more complex.
nsfmc··on Show HN: CoderScreen – Automated Technical Interviews
two comments here:

first congrats if this is your project, on demand virtual machines with focused tasks and recording terminal sessions to evaluate later is pretty interesting and seems like no easy feat and even, outside the context of an interview, seems like it has a fun puzzle

that said, as somebody that's been interviewing technical candidates for the past three years or so, this doesn't appeal to me at all, primarily because it only time-shifts the "i'm staring over your shoulder problem" that makes even competent developers make stupid mistakes.

and to be honest, i'm not sure that as an applicant, i would be overly thrilled to receive one of these screens, it makes me think that the company can't be bothered to look at my resume, or ask me in person, or do a reference check, or even look at some code that i've provided. arriving here signals to me as applicant "this company isn't even willing to put in a 15 minute screen to ask me fizzbuzz" which, to my mind, is a bad smell to give off.

but mostly coming from the side of "i talk to a fair number of candidates" i never find that code samples or projects or anything really gives me as much insight as talking to somebody about their work, about the things they valued in their sample projects, or the things that they're presently passionate about.

on the spot code interviews are already problematic, but looking at a realtime playback and scrutinizing it feels like a net loss over having a candidate walk me through their thought process for `fib(n)`, a process which is already stressful enough when you can explain yourself. it's great that these eventually run through a test suite, but

that said, i think there's truly something novel here for non-job situations it's like, you have ten minutes to write an ansible playbook to configure a machine with "git+nginx+memcached." that's a scenario where you're testing yourself against some unknown challenge in a domain you're probably strong in. but i don't think i find it an appropriate challenge 'experience' for applicants.

nsfmc··on Ask HN: Private Git repo hosting?
if you already have a tiny vps running somewhere, take a look at gitolite. it's free, it supports multiple users, allows for complex access control, but has a tiny bit of a learning curve attached to it.

on the upside, you learn a bunch about ssh in the process!

nsfmc··on The Surprising Path to a Faster NYTimes.com
for #1, it could be fast, but the problem they're running up against is that the data appears to be held up by a single bottleneck, similar to pre-sharded database setups. in this case, their filesystemdb is hitting the limits of too many connections saturating much of their disk's i/o.

a possible way of approaching that problem is a divide and conquer approach with a reverse proxy that assigned manageable chunks of their content across numerous machines each serving less than millions of pages. the nyt already has a /<yyyy>/<mm>/<dd>/<section>/<subsection>/<slug> url scheme which would make this less painful.

I'm not sure how inefficient this would be, though, certainly a time investment, but it ends up offloading your disk i/o/ issues by creating more and more s3 buckets (or what have you) and routing via a proxy. i'd be curious to see when s3+cloudfront-as-host becomes too slow simply because of disk i/o limitations, although s3 almost certainly has its own abstraction above the bucket i'm not aware of which mitigates that.

it still doesn't address the serious and complex frontend issues they were facing, which seemed much more onerous to be honest. their server rendering seems to be pretty lean though, it looks like dom processing and client rendering make up easily 80% of their 3.6s pageload time.

← PreviousPage 2 of 8Next →