HNHacker News
TopNewBestAskShowJobs

nwjsmith

1,625 karma · joined February 9, 2009

submissionscomments
nwjsmith··on Static Allocation, Constant Work
It’s (mostly) not about performance, it’s about minimizing failure. Static memory allocation makes you OOM-proof.
nwjsmith··on Grammarly acquires Superhuman
Harper checks a lot of your boxes and is getting better all the time: https://writewithharper.com/
nwjsmith··on Deno Cron
Is the spikiness of cron schedules going to cause you operational problems? You're going to end up with a _lot_ of jobs scheduled at "0 0 * * *".
nwjsmith··on OpenSSL 3.0 released; relicensed to Apache-2.0
Google employ at least one OpenSSL committer and have their own simpler version of the library, BoringSSL.
nwjsmith··on Socat – A utility for data transfer between two addresses (2018)
Have you happened to blog about this? I'd love to be able to fix our setups with this trick!
nwjsmith··on Sequoia PGP 1.0 Released: The Seedling Is a Sapling
Is it possible to use Sequoia to sign Git commits?
nwjsmith··on A Case for Clojure and GraphQL: Replacing Django
That is not interesting. If you are making the point that the rate of Clojure job growth is declining, it could be a data point in support of that hypothesis.

What do you think Clojure's absence from zdnet's list indicates?

nwjsmith··on A Case for Clojure and GraphQL: Replacing Django
> I more often than not suggest moving from Clojure to anything else.

Rewrites are notoriously risky projects, I'm surprised you suggest this the majority of the time.

> you have to trust that the original programmers actually know the language enough to not create a massive disaster

This is my experience, but I've come across many coding disasters and none have been caused by misunderstanding the programming language. All have been due to poor software design or testing.

> Once this happens, you end up in a read-only code situation, and this is a problem because they leave the project with tons of bugs and downright stupid decisions.

Why have you pinned the blame on Clojure? What are the properties of Clojure that cause programs written in it to have so many bugs? Programming languages don't make decisions, let alone stupid ones.

> I joke that I know all 50 Clojure programmers in the US, and sadly, that's not much of an overstatement

This is a massive overstatement. Netflix, Apple, Soundcloud, and Walmart are all using Clojure. I work on a large team of Clojure developers, many of whom are located in the US. The Clojure community is large, healthy and growing. This is not an "esoteric" language.

> If you aren't located in SF, LA, or some other city that attracts talent

I work with Clojure developers all over the world, many in small towns in their respective country. My address hasn't been a factor for any tooling decision I've been a part of, it's a strange (overlooked?) criteria by which to judge technology.

nwjsmith··on Fourteen Months with Clojure
I couldn't be happier with vim-fireplace, vim-sexp, and vim-sexp-mappings-for-regular-people. What about vim-fireplace is frustrating for you?
nwjsmith··on The Personal Software Process (2000) [pdf]
I'm interested to know if anyone here has used this over an extended period of time. Does it work for you? Have you become better at estimating? Have you lowered your defect rate? Have you increased your pace?

I'm skeptical that something this prescriptive could be effective, but it'd be great if there was evidence (anecdotal or a study) that shows this is effective.

nwjsmith··on Rails 5.0.0.beta1: Action Cable, API Mode, Rails Command
That isn't the case for ActionCable, which will become a dependency of the 'rails' gem [1]. You'll have to unbundle the rails gem in your Gemfile, then require the frameworks you want one-by-one in application.rb

[1]: https://github.com/rails/rails/blob/master/rails.gemspec#L28

nwjsmith··on CAP Theorem Explained
You can't sacrifice partition tolerance: http://codahale.com/you-cant-sacrifice-partition-tolerance/
nwjsmith··on Strangeloop 2013 slides
This. I did not have high expectations of St. Louis, but it was excellent. City Museum is a real treasure
nwjsmith··on Clojure core.async Channels
Channels allow you to write code that "pulls" events off of a stream or enumerate-like structure. This can dramatically simplify event-heavy front end code.

Bacon.js is a library that exposes a similar technique (FRP), and their readme outlines the benefits in tangible terms

https://github.com/raimohanska/bacon.js

nwjsmith··on Packer is a tool for creating identical machine images for multiple platforms
I doubt this is why Go was chosen over Ruby, it would be fast enough for this problem. It probably has more to do with distributing the software.

Distributing programs in written in Go is _much_ easier that distributing them in Ruby, i.e. cross compile and ship the binary, but distribution of Ruby programs is hard.

Too much time is wasted on 'omnibus' projects to distribute Ruby programs, just look at Chef or Sensu or Mitchell's own Vagrant installers project:

https://github.com/mitchellh/vagrant-installers

(I don't mean to say those projects were a waste of time, but that it seems like this should be a 'solved' problem).

nwjsmith··on A two minute tour of Airfoil: A/B tested landing pages built on Backlift
Just a heads up: Airfoil is a popular application for playing music on Airplay devices by indie dev Rogue Amoeba. Not sure if you/they were aware
nwjsmith··on What the NHL Lockout Reveals About Capital and Labor
Fortunately for everyone outside of Glendale, this is an 8 year (minimum) deal. Over that period the Coyotes won't make it, Columbus doesn't look like they'll make it, and the Panthers might not either. I think the _length_ of this CBA is the most transformative part. There's nothing Bettman can do now except move or shut down franchises.
nwjsmith··on The Future of Ruby
The largest issue seems to be that Ruby implementations other than MRI have to replicate its bugs in order to be considered a 'Ruby'. A language specification/design would help to solve that problem.

I for one would like to see a focus put on cleaning up the standard library (gem-ifying much of it?) rather than a design committee.

nwjsmith··on Jsmn, a minimalistic JSON parser in C
Looks good. For those of us shopping around, what advantages does Jsmn have over yajl?
nwjsmith··on Thinking This iPad Mini Thing Even Througher
Apple has used 'thinner' and 'lighter' as a differentiator across all of its production lines for years. This won't change because their customers use cases.
nwjsmith··on Haskell Live: A Live Coding Adventure
For that I think he's using Guard (https://github.com/guard/guard/)
nwjsmith··on Haskell Live: A Live Coding Adventure
Looks like tmux + vim, using the Solarized Dark theme.
nwjsmith··on Ctrl-P for Vim: Pure Vimscript Command-T
I didn't write it but I thought HNers would be interested.

Send praise to https://github.com/kien!

nwjsmith··on Ctrl-P for Vim: Pure Vimscript Command-T
I didn't make it, be sure to give props to https://github.com/kien!
nwjsmith··on Apple: We're responsible for 514,000 American jobs
It's not just that the labour is cheap. The manufacturing in China is far more integrated and nimble than it is in America. China is winning on more than just price.

See this article: http://www.nytimes.com/2012/01/22/business/apple-america-and...

Also, Apple isn't justifying its huge margins. Everyone who buys an Apple product is.

nwjsmith··on If Android is a "stolen product," then so was the iPhone
> That's blatantly false. Every smartphone I owned going back to 2003 resembled the iPhone.

Which phones?

nwjsmith··on LLInt: new JS interpreter in webkit with 2-2.5x speedup
Interesting that the offline assembler is written in Ruby. Does anyone know of any other Webkit work being done in the language?
nwjsmith··on Node.js - A giant step backwards?
Declaring node a 'giant' step backwards is a stretch. Callback spaghetti isn't the problem it set out to solve. It is meant to provide easy(-er?) concurrency. If you measure it against its goals, I think it's pretty good.
nwjsmith··on Apple Stores earned $481,000 per employee in 2010
It's totally, completely and utterly relevant as a measure of Apple's prowess in _retail_.
nwjsmith··on Project for bringing macros to Scala
I'm not that familiar with Scala, but the examples aren't very convincing. Why must `printf` be defined as a macro? Why not a plain old function? What are the benefits to the second example?

The other thing that bothers me is the empty 'Use cases' page. Scala macros might be a solution to a problem nobody has. A problem that people _do_ have is the breadth of Scala language, and macros will add to the conceptual dog pile.

Page 1 of 3Next →