Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
bascule
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
53 ms
·
451.
▲
by
bascule
14y ago
Nobody's forcing you to use Sprockets. You can use e.g. rake-pipeline instead
452.
▲
by
bascule
14y ago
None of this is true. Single-page apps need great JSON APIs. Rails is awesome at making great JSON APIs. With Ember Data on the front end and ActiveModel::Serializers on the backend, you can completely free yourself from writing JSON serial
453.
▲
by
bascule
14y ago
"Things like writing to an invalid memory address or heap corruption." So what you're trying to say is if the entire virtual machine crashes, you lose all running threads.
454.
▲
by
bascule
14y ago
"Cons: If a thread crashes, the entire process goes down." I wrote this thing called Celluloid and I can assure you this isn't true. Ruby has "abort_on_exception" for threads, but the default is most assuredly false. "Good luck debugging co
455.
▲
by
bascule
14y ago
Rack 1.x doesn't have end-to-end streaming, and certainly not with a socket-style API. The Rack specification mandates buffering and rewinding input, and while it's possible to write a rewindable input stream (I've actually seen it done) no
456.
▲
by
bascule
14y ago
Rails: reinventing Java one feature at a time (and that's not necessarily a bad thing)
457.
▲
by
bascule
14y ago
"There are so many ways to shoot yourself in the foot if you develop large realtime systems in Ruby (or any other language that includes a lot of blocking libraries)." As opposed to doing I/O flow control in an asynchronous, callback-driven
458.
▲
by
bascule
14y ago
No, I plan on employing the same system that Tahoe does: I will optionally incorporate a random convergence secret. This effectively disables the deduplication properties, but provides a defense against these two attacks. This convergence s
459.
▲
by
bascule
14y ago
The project has enough legitimate uses I don't see the need to hide my identity.
460.
▲
by
bascule
14y ago
Yes, this is known as the "confirmation of file attack" and there is no feasible way for the system to operate without it. The confirmation of file attack is actually the degenerate case of the "learn the remaining information attack", in w
461.
▲
by
bascule
14y ago
Padding is added automatically by OpenSSL unless explicitly disabled. Also I will be switching to Curve25519 (for DH-style key exchange) and ECDSA (for signatures) quite soon. There will be no other use of pubkey crypto, so actually that en
462.
▲
by
bascule
14y ago
You can confirm any given peer is holding a particular portion of a file (sometimes called the "confirmation of file attack") however you can't prove they published it. The peer "block chain" will only contain transfer metadata, not specifi
463.
▲
by
bascule
14y ago
There's another way to do this: just write to the goddamn socket.
464.
▲
by
bascule
14y ago
Responding to #each is neither a necessary or sufficient property of Ruby IO objects. You are mistaken and confused. Don't believe me? Let's undefine #each on the metaclass of an IO object and see what happens. Guess what: it still works!
465.
▲
by
bascule
14y ago
Also this is the second p2p system I've tried to develop: https://github.com/tarcieri/distribustream
466.
▲
by
bascule
14y ago
For what it's worth, most of my time has gone into working on Celluloid, which is the concurrent object framework I'm using to write the Cryptosphere, as well as taking the rather intensive http://crypto-class.org
467.
▲
by
bascule
14y ago
There are 115792089237316195423570985008687907853269984665640564039457584007913129639936 possible SHA256 hashes, which is a few orders of magnitude away from the number of atoms in the observable universe. The chances of an accidental hash
468.
▲
by
bascule
14y ago
I suspect there will be bad interactions with EventMachine as it doesn't have a flow control model for writes and will just accept an unbounded amount of data into its write buffer. This is a big problem if you have slow consumers.
469.
▲
by
bascule
14y ago
I'd say you're missing the point if you think each (i.e. Enumerable-like) behavior solves the problem. This still forces an inversion of control as far as who is in control of writes, i.e. the IO operation drives the generation of data to w
470.
▲
by
bascule
14y ago
It's more than that. Several processes with small, independently garbage collected heaps are not as efficient as a single process with a large heap, parallel threads, and a modern concurrent GC (e.g. the JVM's ConcurrentMarkSweep GC) In add
471.
▲
by
bascule
14y ago
Type checking at method dispatch is the only part of the equation (literally, in the case of Fortress) where the JVM would come into play. Everything else happens ahead of time in the compiler. With InDy, the JVM can do a one-time check, ve
472.
▲
by
bascule
14y ago
Given the extreme similarities, wouldn't it have been worthwhile to point out the similarities and differences to the Pivotal setup in the article, rather than adding them retroactively in the HN comments?
473.
▲
by
bascule
14y ago
Node.js: the next evented Tcl? Seriously though, given what you have to go through to even use Meteor, i.e. finding libs compatible with Node fibers, they are certainly not putting anything "on Rails"
474.
▲
by
bascule
14y ago
Then Craigslist should ban Google from indexing their pages
475.
▲
by
bascule
14y ago
With InvokeDynamic the JVM is pretty much the first to open up its full set of compiler optimizations to any language that implements its method dispatch semantics using InDy's set of tools. InDy allows language implementers to define their
476.
▲
by
bascule
14y ago
I'm curious if the impedance mismatch Guy Steele describes between Fortress's type system and the JVM could be remedied by InvokeDynamic. Unfortunately he didn't mention anything about it in his blog post.
477.
▲
by
bascule
14y ago
I hear they're adding dynamic typing to Haskell: http://www.infoq.com/news/2011/04/erlang-copied-jvm-and-scal...
478.
▲
by
bascule
14y ago
Classes can be changed after loading using HotSwap, it's just their method signature can't change: http://docs.oracle.com/javase/1.4.2/docs/guide/jpda/enhancem...
479.
▲
by
bascule
14y ago
He's just wrong about the JVM, specifically with statements like this: "the benefits of the JVM only apply to languages that map well onto Java concepts" With InvokeDynamic (InDy) this is no longer true at all. InDy lets you manage the enti
480.
▲
by
bascule
14y ago
Oh really? http://inagorillacostume.com/wp-content/uploads/2011/08/Amaz... http://pictures.mastermarf.com/blog/2009/090113-fedex-expres...
More ›