HNHacker News
TopNewBestAskShowJobs

sdab

128 karma · joined June 2, 2014

submissionscomments
sdab··on Noisy neighbor detection with eBPF
We (co-author here) are using EEVDF already since its in the latest mainline kernels. We havent noticed any major differences using the default settings, but plan to get around to tuning it later.
sdab··on We use GitHub Actions to build GitHub
I don't know what github is doing here, but I've seen this antipattern quite a few times in production at some big name companies...
sdab··on Let's Build a 28-Core Raspberry Pi Cluster
I am partial to the iPXE boot idea, you may find https://netboot.xyz useful.

As for how to prepare the images, you need a ramfs image with the root filesystem as a cpio file and a kernel as a vmlinuz file. You then serve these in a basic HTTP file server that your iPXE config points to.

Generating the vmlinuz file is pretty easy given a kernel. The cpio file is trickier. netboot.xyz recommends just grabbing a standard distribution. Otherwise this reduces to the problem of creating your own.

sdab··on There's Now a Real Quantum Computer That Anyone Can Use Remotely
"That allows a single bit to potentially hold two values at once, or for two bits to hold four values at once. Keep scaling those numbers, and you quickly end up with a device that can process data exponentially faster than today’s computers."

Yet another quote for the misrepresentation of science in articles.

sdab··on How to do distributed locking
My question was about his claim in regards to the result in the paper. In practice, you are right but a consensus algorithm is still "partially correct" if it never decides on a value. It is only incorrect if different nodes decide on different values. For example, paxos does is not guaranteed to decide on a value. So timeouts are useful guessing tools, but I dont see how there is no consensus possible without them.
sdab··on How to do distributed locking
You mean the OP's comment or mine? I agree with you if you mean the OP's comment. Though your quote refers to synchronized clocks. I dont think OP is referring to synchronized clocks, though your point that Lynch et al does not rely on timeouts is what Im getting at.
sdab··on How to do distributed locking
"When used as a failure detector, timeouts are just a guess that something is wrong. (If they could, distributed algorithms would do without clocks entirely, but then consensus becomes impossible [10]."

Having just re-read Lynch's paper, can you explain what you mean here? I didn't see anything explicitly relying on time. It could be there is some implicit usage I didnt see. Additionally, the paper's impossibility result is about "perfectly correct consensus" which applies with and without clocks and then has a positive result for "partially correct consensus" (i.e. not deciding a value is a correct result). Im not sure which you mean when you say "consensus becomes impossible" as it is either already impossible (the perfectly correct protocol) with one faulty process or (to my understanding) not dependent on time (the partially correct protocol).

p.s. great article!

sdab··on A Tiny Startup Racing Google to Build a Quantum Computing Chip
My understanding is that it is not enough to just be a "qbit based computer" to be able to solve QBP (i.e. perform shors algorithm to break RSA).

These computers are quantum adiabatic computers which are indeed quantum in that they use qbits, but it is not clear that they can perform some operations required for QBP problems. See scott aaronson's blog for more info [1].

1. http://www.scottaaronson.com/blog/?p=1400

sdab··on First New U.S. Nuclear Reactor in Two Decades to Begin Fueling in Tennessee
The article refers to 1180 MW of _power_. MW is joules/s and the unit of power is the watt (j/s). Your math talks about MegaWatt-Hours.

These are often confused in articles, do you happen to know if that was the case in this article? Did they mean 1180 MWH or 1180 MW as stated? Otherwise your yearly production calculation is very off. 1180 MW (j/s) would produce 10^7 MHW per hour.

sdab··on The fixed_point C++ Class Template
I figured performance came into it also. It would be nice to see some performance numbers though.
sdab··on The fixed_point C++ Class Template
I was having trouble understanding why fixed-point arithmetic was particularly useful in game development. In fact, I was curious why fixed point representation was more useful than floating point at all...

Two links deep, I found [1]. The salient being "...floating point representation gives you extra precision for numbers near zero, this extra precision comes at the expense of precision for numbers further out"

1. http://www.pathengine.com/Contents/Overview/FundamentalConce...

sdab··on How We Tested Our Food Blog’s Expected CPM with Premium Images
If a user realized that the "cost" of viewing the image was free, wouldn't the user disregard the cost on future instances of the experiment?

Did the experiment limit a user's participation to one time? Otherwise, the results might be skewed and the benefits exaggerated.

sdab··on C++ Internals: STL Vector, Part 3
The author (gahcep) and Stephan (STL, stl maintainer for microsoft) are on r/cpp.

https://www.reddit.com/r/cpp/comments/3gd29t/c_internals_stl...

sdab··on A threading riddle
Ah, yep I see the race. Here is a fix: https://gist.github.com/sdab/d7ba036b2b7f4b5626cd

Thanks for the puzzle, its hard to find good concurrency problems.

Edit: Looked through your solution. You are right, we thought of similar things. I started out by wanting a multi condition variable, but didnt want to implement it :). I ended up getting something similar in a roundabout way.

sdab··on A threading riddle
My c++ solution: https://gist.github.com/anonymous/7e6cc8f58e9cde1b6fda

I believe it follows all of the requirements. There is one glaring flaw which is that it uses a condition variable per 'wait_until_equal' call, though it uses only N mutexes. So this doesn't fall under the N^2 primitives (in the case of many waits), though its unclear to me if thats an official rule.

Im happy to listen to feedback or if someone sees an error.

sdab··on Hello, World
Yep, its a nice problem. Reformulating it such that there are two possibilites (the coins are either different or the same) rather than four (permutations of two coins) is the way to solve the problem.

I was going to post a hint rather than the solution, but you beat me to the punch.

sdab··on Tor Browser 4.5 is released
Interesting point about image search. In fact, when I perform a Google image search through disconnect and click on an image I see a record of it on google.com/history (while the search itself is not present).

I suppose its only to be expected once one thinks about your observation that the links are pointing at google.

sdab··on Ask HN: Which book are you reading these days?
I also recently read my first Pratchett book after reading some excerpts from around the time he died. Im 5 books in now including having read Mort. On Reaper Man now.
sdab··on I Quit: What really goes on at Apple
When I worked there, it was 12pm-8pm. My friends who work there now do the same.

We just get to make our own hours and being in my twenties, I like sleeping in.

sdab··on Writing a game without sleep, power or Internet at JFK
I have similar goals of coding on the go. I used to use the method of carrying an extra battery, but now I use a chromebook running linux for my portable coding. It has great battery life (~10 hours, though battery not replaceable) and is quite small (I use the HP Chromebook 14).

My issue tends to be the lack of internet. When I'm going on a trip and have a project in mind, I try to make sure my dev environment is ready and download all relevant code/framework references for offline viewing using wget.

sdab··on Cinder (YC W15) – Smart Countertop Grill
You guys mentioned having a test chef. Have you thought about reaching out to Kenji Alt? He writes a popular column for SeriousEats called FoodLab and evaluating a product like this would seem right up his alley.

Take a look at his Turkey brining experiment for a good example of applying his science background (an MIT guy) to food. http://www.seriouseats.com/2012/11/the-food-lab-the-truth-ab...

sdab··on Ask HN: What DB to use for huge time series?
I havent used Blueflood, so I couldnt say but it looks like an interesting project.
sdab··on Ask HN: What DB to use for huge time series?
In this case, I would still recommend Cassandra. It can easily handler the data sizes you mention as well as the write rates you imply further down the thread.

Cassandra has a nice and simple architecture (every node is identical, no zookeeper roles etc), high write performance and scalability [1], and is fairly robust. My main piece of advice is to get the tables correctly set up. You need to know exactly what queries you want to make and design a table around that query (Cassandra only allows performant queries to be made, unless you go out of your way to set a flag). Whether a query is possible or performant depends on the key of the rows for the table, which may be a composite key. Take a look at the cassandra documentation for more details.

1. http://techblog.netflix.com/2011/11/benchmarking-cassandra-s...

sdab··on Ask HN: What DB to use for huge time series?
It would be useful to know what "huge" means here. And how you want to look up the data.

That said, I've used Cassandra in the past for timeseries data as one of the useful queries that can be made is a range query (if the composite key is set up correctly)

sdab··on Show HN: Chan – pure C implementation of Go channels
I'm more of a c++ programmer, but I think i can chime in on the mutex/pcond being "part" of the struct. Essentially, OP means that why arent they on chan's stack? In the struct you have pointers to mutex and pcond which means you have to malloc them. OP is suggesting they not be pointers.
sdab··on Errata prompt Intel to disable TSX in Haswell, early Broadwell CPUs
Thanks for the links. Im aware of Andi's work and enjoy reading his posts on TSX. You're absolutely right about HLE vs HTM.

Mostly I wish there was a better fallback than locking when transactions fail, but I suppose this is more in line with thinking of them as optimistic locks (such as what I assume the speculative spin lock does).

sdab··on Errata prompt Intel to disable TSX in Haswell, early Broadwell CPUs
In theory yes, though thinking in terms of transactions is subtly different from thinking in terms of threading critical sections. Particularly, they differ in how they handle contention. Locks block while transactions abort/fail. Simply retry-ing a transaction is also not a good idea which is why it is currently suggested to fallback on locks [1]. So I assume the suggestion of using it for dbs is because it would be more straight-forward as dbs are already used to transactions.

1. https://software.intel.com/en-us/blogs/2013/06/23/tsx-fallba...

sdab··on Errata prompt Intel to disable TSX in Haswell, early Broadwell CPUs
As a systems guy who was intially very skeptical of Transactional Memory, I've been very excited about TSX for a while. Unfortunately, it seems that the initial implementation in the haswell processors wasnt very efficient[1]. Im looking forward to future hardware implementations by intel.

1. http://natsys-lab.blogspot.ru/2013/11/studying-intel-tsx-per...

sdab··on The Future of College
While I agree with your premise of wanting a revolutionary approach, I think your solution is in the wrong direction. I think continuous testing would lead more to "teaching to the test". If anything, I think the revolutionary approach would not involve standardized testing but rather a more qualitative approach, though Im not sure what that would look like.
sdab··on What was your best passive income in 2014?
You mention being easy to search, but I cant seem to find your site on google or duckduckgo (in case it was my historical disinterest for plants affecting google searches). I tried some combination of the keywords garden, nursery, seeds, plants but never saw doleaf on the first page of results. Am I using the wrong keywords?
Page 1 of 2Next →