HNHacker News
TopNewBestAskShowJobs

dimfeld

292 karma · joined March 13, 2011

submissionscomments
dimfeld··on Facebook blocks links to B.S. Detector, fake news warning plugin
The gray zone expands even more with the lesser-known satire sites, which sometimes have a mix of articles that are obviously satire, and some that aren't.

For example, I've seen a few articles shared as truth from "World News Daily Report," which played it so straight that I would have considered it "fake news" if I hadn't seen the satire disclaimer tucked at the bottom of the page. Other articles on that same site are much more obviously satirical though. I tend to blame this on poor writing rather than malice, though you can probably make a decent counterargument.

Some sort of "possibly false" notice attached to links like these, rather than just a "block or not" decision, seems like it would strike a nice balance here.

dimfeld··on Facebook blocks links to B.S. Detector, fake news warning plugin
The FBPurity browser plugin might interest you. You can block all sorts of content based on post type and keyword. http://www.fbpurity.com
dimfeld··on How Google Is Challenging AWS
The closest it comes are the f1-micro and g1-small instance types, at $4 and $13 per month, respectively, with a full month's usage. These seem most comparable to AWS's t2.nano and t2.small types though it's not an exact comparison. And you still have to attach a network drive, which may go against your definition of "plain ole server."

GCE Pricing Page: https://cloud.google.com/compute/pricing

dimfeld··on Rust Actor Library: First Assorted Thoughts
Agreed, Awesome Rust is a great resource. Here's the link: https://github.com/kud1ing/awesome-rust

There are also some "Are we X yet?" sites that cover ecosystem maturity for specific topics. Here are all the Rust-specific sites linked from Mozilla's page (https://wiki.mozilla.org/Areweyet):

Web Programming - http://www.arewewebyet.org/

Concurrency - http://areweconcurrentyet.com/

IDE/Editor Support - https://areweideyet.com/

Machine Learning - http://www.arewelearningyet.com/

Game Development - http://arewegameyet.com/

dimfeld··on Network Update: Multihomed, Increased Transit, Peering
Agreed. Back when I was using Linode I had a crazy setup that used iptables on each server to accept traffic only from my other servers. With benefit of hindsight I might have maintained it differently, but needless to say, it was a bit fragile.
dimfeld··on No One Saw Tesla’s Solar Roof Coming
Musk recently posted to Twitter about using dedicated heating elements in the tiles for this purpose: https://twitter.com/elonmusk/status/792218248917811204
dimfeld··on How breakpoints are set
Usually the debugger just replaces the breakpoint instruction with the original byte, then resumes execution in a single-step mode that causes the CPU to just execute a single instruction before firing another interrupt. After that, the debugger sets the breakpoint again and resumes normal execution.
dimfeld··on Shenzhen I/O
Depending on the age and programming knowledge of your students, Human Resource Machine may also be worth a look. It's simpler and more removed from real assembly than Shehzhen and similar games, but still teaches the concepts needed to "think in assembly".
dimfeld··on RethinkDB is shutting down
Probably not. It's all open-source and they're trying to get a development community going around the project.
dimfeld··on New lower Azure pricing
Google's sustained use discounts for standard (non-preemptible) VMs are a huge win as well. No need to predict usage and reserve instance time in advance; the discount is simply applied progressively as you use a particular instance type more during a month.
dimfeld··on BRIN Indexes in Postgres 9.5
Block Range Index. Here's the official docs: https://www.postgresql.org/docs/9.5/static/brin-intro.html
dimfeld··on Why I turned down $500K and shut down my startup
Heap Analytics and Fullstory are two popular systems (among others) for this sort of thing. They record and instrument your user sessions much more comprehensively than GA does.
dimfeld··on PostgreSQL Scalability: Towards Millions TPS
The article says a few lines down, "The optimization #1 appears to give huge benefit on big Intel servers as well, while optimization #2 is Power-specific. After long rounds of optimization, cleaning and testing #1 was finally committed by Andres Freund."

Also, the chart indicates that the benchmarks shown were run on Xeon chips.

dimfeld··on Minuteman: A Distributed HA Load Balancer
More likely a reference to the minutemen of the US Revolutionary War, which the ICBM was also named after: https://en.wikipedia.org/wiki/Minutemen
dimfeld··on Apple recovered 2,204 pounds of gold from broken iPhones last year
Sounds right to me. If you look at Apple's report[1], all the numbers they list for material recovery are exactly divisible by 2204.

EDIT: Correction, all except for the number for recovered steel.

[1] http://images.apple.com/environment/pdf/Apple_Environmental_...

dimfeld··on You hear a voice in your head when you're reading, right?
My inner voice is much the same. I never realized until reading this article that some people do have an "audible" component to theirs. Very interesting.
dimfeld··on Webapp in Go? Consider using longpolling
Interesting article, thanks for posting. You may want to update the url posted here to https://cugablog.wordpress.com/2016/02/05/lets-talk-about-lo... so that it will continue to point to that article after you post the next one.
dimfeld··on Searching YouTube for “lets play” return an error
Yeah, I see the same. Interesting. Adding any third word to the query (e.g. lets play minecraft) works fine as well.
dimfeld··on Rust for Web
It's both faster and you have more control over it; the two are linked in this case. This system lets the compiler do the hard work to figure out when it's ok to deallocate some piece of memory, unlike a GC, which figures it out at runtime. One you've determined that some memory can be deallocated, the actual process is very quick, usually just updating a list of free blocks in the memory allocator and maybe some statistics.

Rust does also support reference counting when you want it, which can bring its own set of performance issues in certain circumstances. Think more about general slowness due to constantly incrementing and decrementing references in an atomic fashion when you pass RC-ed data between functions, rather than the pauses seen with garbage collection. But how bad that is depends greatly on how and where you're using reference counted variables, and the addition of the lifetime/borrow system makes it easier to avoid some of the more egregious cases here.

Additionally, some people are doing work on GCs that work with Rust. The two links below have some good descriptions of the progress and challenges related to that.

http://blog.pnkfx.org/blog/2015/10/27/gc-and-rust-part-0-how... http://manishearth.github.io/blog/2015/09/01/designing-a-gc-...

dimfeld··on Show HN: HNLive – Hacker News in Real Time
Seems like the points and comments numbers are often inaccurate. Sometimes they're right but other times way off. Any idea what's happening there?
dimfeld··on The Architecture of Schemaless, Uber Engineering’s Trip Datastore Using MySQL
Are they actually using multi-master replication? I gleaned from the article series that they have many small independent MySQL clusters, each with one master and two slaves, and that their worker layer handles requesting data from the correct cluster for whatever shard a request routes to. Writes to a cluster can only go the master. So this seems more like a single-master design, just replicated a bunch but without the masters communicating with each other.

That said, I haven't used MySQL much at all. Am I just missing something or misunderstanding what multi-master means in the context of MySQL?

dimfeld··on Why I'm joining the Dart Team
Presumably the post above was referring to HTTP-based services, which of course don't face issues of cross-language ABI compatibility. In this case Go is often much faster than Ruby, Python, JS, etc., while still allowing relatively quick development compared to even faster, yet lower level, languages such as C/C++.
dimfeld··on A domain move disaster
The old domain (saveyourself.ca) mentioned in the article does do this.
← PreviousPage 2 of 2