HNHacker News
TopNewBestAskShowJobs

prospero

1,953 karma · joined May 30, 2008

code @ http://github.com/ztellman words @ http://ideolalia.com

ztellman@gmail.com @ztellman

submissionscomments
prospero··on Elements of Clojure
Hi, I'm the author. I would be very happy to discuss this point (or any other) in more depth on the mailing list: https://groups.google.com/forum/#!forum/elements-of-clojure.
prospero··on Ask HN: What are some examples of beautiful software?
I wasn't aware of this talk, so I'm not sure how I could have stolen anything from it. Cool link, though, thanks.
prospero··on Clojure Survey 2015 Analysis
If this isn't just snark, I'm unaware of any such papers, and would be very interested to read them. Any links?
prospero··on Fed Ends Zero-Rate Era
The mode return for VC funds is, and will always be, a net loss.
prospero··on Jepsen: Distributed Systems Safety Analysis
It's still going, less a few people.
prospero··on Clojure: If Lisp is so great, why do we keep needing new variants?
My point was that treating a language as just a few implementation details atop its syntactic heritage is overly reductive (as you demonstrated).
prospero··on Clojure: If Lisp is so great, why do we keep needing new variants?
Clojure isn't a minor variation on earlier Lisps, it's something that uses s-expressions with a significantly different set of default data structures, core library functions, and platforms.

This is like asking why we needed C when we already had ALGOL.

prospero··on Simplicity Matters – Rich Hickey (2012) [video]
Immutability is a big part of it, as is the wide array of operators for maps and map-like data structures.
prospero··on Last Exit to Loyalty
Since the post doesn't mention it explicitly, it's probably worth noting that the title is an allusion to the excellent book Exit, Voice, and Loyalty [1], which is short and worth reading for anyone interested in the behavior of communities.

[1] http://en.wikipedia.org/wiki/Exit,_Voice,_and_Loyalty

prospero··on Responsible Vacation Policy
Sure, we do. They take advantage of the vacation policy just like the rest of us.
prospero··on Riffle: a high-performance write-once key/value storage engine for Clojure
Whose advice? Check out RocksDB's front page: http://rocksdb.org. Empirically what you're saying isn't true in my experience, rather mmap should be used when there's decent coherency w.r.t. the available memory. Without knowing what you're basing your belief on, I really can't address it.
prospero··on Riffle: a high-performance write-once key/value storage engine for Clojure
A caching layer for random reads where the dataset is 10x larger tham memory isn't hugely useful. If you get a hit, great, but you can't count on it.

For memory mapping to make sense you need to fetch a big chunk of data, whereas read() gets a page's worth. For the data size and read pattern described in the post, the latter is much more desirable.

prospero··on Riffle: a high-performance write-once key/value storage engine for Clojure
There are a lot of variants on this design out there, I had seen 'bam' but not the Spotify implementation. An additional constraint we had that I didn't allude to in the post was avoiding JNI, which adds some nasty failure modes for remote installations that can be very hard to debug. This meant any C implementation was off-limits for us.

It's unfortunate that using the JVM means that some wheels need to be reinvented, but those are the breaks, I guess.

prospero··on Open-Source Clojure Library for Geospatial Information
Can you expand on what the esoteric topic is and its application?
prospero··on Results of 2014 State of Clojure and ClojureScript Survey
Becase he's the proud, probably exhausted father of newborn twins.
prospero··on Z-Quads, a spatial coordinate system
Unlike the existing coordinate systems I could find described on the web, a z-quad doesn’t represent a point but a square with an area

http://en.m.wikipedia.org/wiki/Geohash

prospero··on Transducers are coming to Clojure
It means that reducers were some macro sugar atop the underlying mechanism described in the post. See https://github.com/clojure/clojure/blob/master/src/clj/cloju...
prospero··on Skream, online time-series Clojure library with sketches
see also: https://github.com/ztellman/narrator
prospero··on Functional programming explained in Clojure with a terminal-based game
All true (I gave a talk on this subject just recently [1]), but the easiest and most provable way to isolate mutation is to not use it at all.

I think most people coming from an imperative background are surprised by how infrequently mutation is actually required. It's worthwhile to explore how far pure functions will take you.

[1] https://www.youtube.com/watch?v=iQwQXVM6oiY

prospero··on That Pretty Much Wraps it Up for C
Sure, but that's bounded by the size of the buffer in Java. A bad boundary to the arraycopy in Java will throw an exception, not give you the contents of memory beside the buffer. These are not comparable failures.
prospero··on How Rare Are Anti-Gay-Marriage Donations in Silicon Valley?
The mob mentality leads to situations where we round up everyone who is Japanese, Jewish, Homophobic, etc. and get rid of them.

One of these things is not like the other.

Also, there doesn't seem to be any evidence of people "rounding up" donors to Prop 8. Eich was appointed to lead an organization whose values he didn't share, and represent them to the public. He was unapologetic about this. This isn't a situation your parents or pretty much anyone else would realistically find themselves in.

prospero··on Why functional programming?
Uh, hey, I'm Zach. Thanks for the shout out. I'm mildly uncomfortable with you using Aleph as an example of good, idiomatic Clojure, but I suppose I can live with it.

If you're looking through my code in the future and have questions, please feel free to get in touch.

prospero··on Clojure from the Ground Up, Part 2: Basic Types
I'm not one of the underrepresented groups, but I think it's irrefutable that these issues are central when introducing someone to a new technology and community.

I understand that these issues are usually discussed separately from purely technical matters, but that doesn't mean that they're separable, or can be considered in isolation. There seems to be a lot of people who are uncomfortable with this, judging by how this discussion has magically jumped from the previous article to this one.

Lastly, it's hugely offensive to suggest that Kyle did this to establish his liberal bonafides or for any other reason than to create a more open and welcoming community. This sort of cynicism is just as toxic to the community as open prejudice.

prospero··on Building Clojure Services at Scale
I think the point was that it's hard to make something failure-tolerant without being distributed. A locally persisted queue would avoid certain failure modes, though.
prospero··on Building Clojure Services at Scale
Hey Allen, at Factual we're working on something in that vein: https://github.com/factual/skuld. As you might expect, doing it right takes something a bit more ambitious than just a library.

If you're interested in collaborating, or just have thoughts on how it could be more useful for you, let me know.

prospero··on Things You Should Never Do, Part I (2000)
Nothing? Why all the fuss around hiring good developers, then?
prospero··on Why Are Google Employees So Disloyal?
The linked report seems to suggest that the median time was 1.1 years, not 4.
prospero··on LINQ Ruined My Favorite Interview Question
Wouldn't it be (O(n) + O(n) + ...) at the worst? And if it's on lazy sequences, which I thought it was, then composing a .Select and an .Aggregate should only involve a single pass through the sequence.
prospero··on LINQ Ruined My Favorite Interview Question
http://docs.oracle.com/javase/6/docs/api/java/lang/Object.ht...
prospero··on Introducing HipHip (Array): Fast and flexible numerical computation in Clojure
Without knowing anything about hdf5 specifically, Vertigo [1] will let you treat a memory-mapped file (or a piece of one) as a normal Clojure data structure, as long as the element types are fixed-layout.

[1] https://github.com/ztellman/vertigo

← PreviousPage 2 of 13Next →