Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
rbranson
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
41 ms
·
391.
▲
by
rbranson
15y ago
AWS seems really stable to me. Hundreds of days of uptime are the norm, if the instances even run that long. However, there IS a pretty huge gap that exists between managed colocation and EC2. There are dedicated servers that can be ready i
392.
▲
by
rbranson
15y ago
Reference counted memory management always involves some level of manual memory management. That's why garbage collection exists, because it's not really possible to get full coverage with ref-counting. Thanks for the education lesson thoug
393.
▲
by
rbranson
15y ago
Actually, I have used Delphi, wrote tens, maybe hundreds of thousands of lines of it early on in my programming days, many years ago. Yes, Delphi, the language, which uses a static, strongly typed language, reference counting for memory man
394.
▲
by
rbranson
15y ago
A story presenting objective truth through measured experimentation and empirical data.
395.
▲
by
rbranson
15y ago
"speed was also a major issue - we have a average write/very high read requirement, and it's really really fast." "We're mostly a windows shop" "we use Delphi"
396.
▲
by
rbranson
15y ago
The problem is: "a pending write lock acquisition will prevent further read lock acquisitions until fulfilled." Inserts aren't actually guaranteed to be in memory, as they're done in a file-backed memory region. A write and page fault can a
397.
▲
by
rbranson
15y ago
The global lock is something that will always exist with their architecture. It isn't a feature to implement, it's a total redesign and rethinking of the fundamentals. Their much-vaunted in-place, memory-mapped I/O architecture becomes usel
398.
▲
by
rbranson
15y ago
... and if that wasn't bad enough, then the global locks and mmap'd I/O haunts you later when you have any sort of concurrency or for data>RAM, or the first time you have to take the site down to perform a compaction. Can you tell I've
399.
▲
by
rbranson
15y ago
This is roughly what MVCC does under the covers. Of course, you don't have to implement it, the database just does it for you, and it's not eventually consistent.
400.
▲
by
rbranson
15y ago
Ease of first time developer installation should never be the deciding factor in these decisions. I realize it is pretty rampant, but it's not something we should be proud of.
401.
▲
by
rbranson
15y ago
For a trivial, synthetic write benchmark that I usually use to benchmark hardware and/or config changes, I'm seeing slight slowdowns for non-concurrent loads, and solid improvements for concurrent loads with. For 1-2 clients, I'm seeing ~8%
402.
▲
by
rbranson
15y ago
It's like unsuspecting developers are walking down Developer Lane and see a candy bar sitting there that says "FAST, ASYNCHRONOUS WRITES." So they pick it up, bite into it, and then the candy bar grows a giant mutant global lock head that e
403.
▲
by
rbranson
15y ago
Without it, SELECT * FROM table WHERE text_column LIKE '%word%' involves a full table scan. With KNN + pg_trgm, it's an index scan. That's huge.
404.
▲
by
rbranson
15y ago
The greatest delusion of our world is the idea that there is actually a job for everyone. I have an unsubstantiated, but very real gut feeling that the economic crisis was the tipping point in which humanity moves beyond anything resembling
405.
▲
by
rbranson
15y ago
"while we realize we might need to do the initial work of packaging HipHop, we don’t want to be the ones responsible for keeping the package up-to-date." Clearly the sentiment of someone who truly understands the spirit of open source softw
406.
▲
by
rbranson
15y ago
The "new" interface is actually entirely JavaScript and just exchanges JSON with an HTTP endpoint. This removes a big chunk of "slow" in Rails, which is view rendering. Of course, the actual services behind this endpoint could be based on S
407.
▲
Sharding the Neo4j Graph DB (2010)
(alexaverbuch.blogspot.com)
2 points
by
rbranson
15y ago
|
0 comments
408.
▲
Increased performance ten-fold by switching to a superior language
(github.com)
46 points
by
rbranson
15y ago
|
15 comments
409.
▲
by
rbranson
15y ago
They have a single customer and single source of revenue, Amazon.com. It's pretty ridiculous.
410.
▲
by
rbranson
15y ago
If performance isn't your absolute highest priority and you can easily fail IPs between hosts with ARP packets, I'd check out an RDBMS warm slave setup using Pacemaker and DRBD. Pacemaker+Heartbeat works stupid-well for MySQL & haproxy
411.
▲
by
rbranson
15y ago
Ok, so actually, you're not using it for "Dispatching work to crawlers" like the original post says?
412.
▲
by
rbranson
15y ago
Celery is best on RabbitMQ, but supports tons of backing stores, not that you necessarily should[1]. How is RabbitMQ a lot of machinery? Compared to Redis, AMQP and Rabbit have the complexity of a bologna sandwich. It's actually a quite sim
413.
▲
by
rbranson
15y ago
I'm talking about individual failure recovery, not full queues. What happens when a worker fails a job? What happens when a server dies? Is your code bug free? How do you recover? IMHO, you're making a pretty big assumption here anyway with
414.
▲
by
rbranson
15y ago
Developer aversion to learning new tools is astounding sometimes. Background workers and message queues have to be the most reinvented wheel of all time. 99% of the time, something free and great will already do what you want, and they've t
415.
▲
by
rbranson
15y ago
I just think the patterns for what makes a good library interface haven't completely coalesced yet. One can introduce horrifically complex interfaces in Ruby as well, but the best libraries expose a simple, consistent interface.
416.
▲
by
rbranson
15y ago
Sure, just as you'd understand a library or function to be "thread safe" it could be considered "transactional." I'm saying STM is to be used in as fine a grain as possible, even if it's composing "larger grains." Just as thread-safety does
417.
▲
by
rbranson
15y ago
I think you misunderstand STM. STM is used to group and apply a few micro-operations, within a single function, but not many or over multiple functions, certainly not over multiple modules. It is not really for rebounding from exceptions in
418.
▲
by
rbranson
15y ago
This appears to be a very low-level, primitive implementation, so there's still room for an STM layer on-top of this. It isn't going to replace fully-baked persistent data structures, but it could certainly be used to accelerate them. It's
419.
▲
by
rbranson
15y ago
Is this still using the EBS RAID that you guys mentioned in a blog post a while ago? If so, how do you avoid any slow I/O requests (which plague EBS) stalling all I/O to the volume?
420.
▲
by
rbranson
15y ago
How is this different than creating an OddNumber and EvenNumber type that check their input in the constructor at run-time? That is the point of a type system. Scala can make this really transparent and concise using an abstract class to im
More ›