HN user

rw

2,967 karma

https://github.com/rw

Posts80
Comments801
View on HN
rwinslow.com 7y ago

Tutorial: Use FlatBuffers in Rust

rw
2pts0
pando.com 8y ago

The untold story of systemic gender discrimination at UC Berkeley's IT Dept

rw
10pts0
www.ted.com 8y ago

We're building a dystopia just to make people click on ads

rw
2pts1
www.wsj.com 10y ago

What's Next for Artificial Intelligence

rw
1pts0
multithreaded.stitchfix.com 10y ago

Introducing our Hybrid lda2vec Algorithm

rw
6pts0
laughingsquid.com 10y ago

BlindTool: Phone App That Audibly Identifies Objects (with Neural Networks)

rw
4pts1
rwinslow.com 10y ago

Facebook uses FlatBuffers on one billion Android devices

rw
3pts0
rwinslow.com 10y ago

Facebook uses FlatBuffers on one billion Android devices

rw
7pts3
rwinslow.com 10y ago

Show HN: Use FlatBuffers in Go

rw
10pts0
rwinslow.com 10y ago

Use FlatBuffers in Go

rw
1pts0
www.kaggle.com 11y ago

Kaggle: Restaurant Revenue Prediction has a submission with zero error

rw
3pts2
google-opensource.blogspot.com 12y ago

FlatBuffers: a memory efficient serialization library

rw
126pts62
mollyrocket.com 12y ago

Semantic Compression [in Programming]

rw
11pts0
www.nber.org 12y ago

The Impact of Childhood Lead Exposure on Crime

rw
1pts0
www.hakkalabs.co 12y ago

Big, Small, Hot or Cold - Data Pipeline Examples at Stripe, Tapad, Etsy, Square

rw
12pts0
www.meetup.com 12y ago

Tonight at Square SF: Metamarkets presents Druid

rw
3pts0
encrypted.google.com 12y ago

Google interprets 'Linux' as 'Lenovo' in this query

rw
1pts2
techcrunch.com 14y ago

U.S. Sen. Schumer Asks Google And Apple About Their "Spy Planes"

rw
1pts0
thenextweb.com 14y ago

Show HN: Our new job hunting app, Huntsy, just passed 10k users

rw
5pts0
bleeoo.com 14y ago

Share HN: Bleeoo, a video site to record your impression of a dialup modem

rw
12pts3
twitter.com 14y ago

Jacob Appelbaum: attackers got certs for *.*.com and *.*.org

rw
8pts2
thenextweb.com 14y ago

New York City TechStars’ reality TV show to air this fall on Bloomberg

rw
1pts0
hackaday.com 15y ago

Ignored disabled man builds his own damn elevator

rw
109pts18
www.pixelbeat.org 15y ago

Buffering in UNIX Standard Streams

rw
3pts0
godheadv.blogspot.com 15y ago

The Limits of Pain - Irukandji Syndrome

rw
11pts0
www.youtube.com 15y ago

CMU Snake Robot Climbs Trees

rw
2pts0
www.icm2010.in 15y ago

2010 Fields Medal Awarded

rw
51pts31
www.overclock.net 16y ago

Detailed guide to mechanical keyboards (switch types, hysteresis graphs, etc)

rw
56pts17
www.symmetrymagazine.org 16y ago

LHC: Are We There Yet?

rw
1pts0
hackaday.com 16y ago

"Bionic Cat": cat with 4 bionic legs

rw
1pts0

Operational Transformation and Conflict-Free Replicated Datatypes are very different from each other.

As the author explains, OT relies on some ordering of system events, and CRDTs don't. That means CRDTs need to be commutative (and probably associative), and OT doesn't.

So, OT is less scalable but more powerful, and CRDTs are more scalable but less powerful (in theory).

It's sort of like comparing Paxos/Raft to Bittorrent.

(I am not an expert on OT.)

Stegasuras is convincing work and the quality looks excellent.

I wrote a steganographic tool in this same spirit back in 2011, called Plainsight.

Back then, we didn't have deep learning, and the "Imagenet moment for NLP" had yet to arrive.

My Python code, with examples, is here: https://github.com/rw/plainsight

Unlike the OP, my Plainsight algorithm is 100% invertible by construction, and accepts binary input. (I verified the inversion process with "roundtrip fuzzing", a technique I still use today.)

Plainsight uses each bit of the input message to generate tokens. Bits are used to decide how to traverse a Huffman-style n-gram tree, weighted by frequency. This tree of n-grams is the model used in both the encoding and decoding steps. The drawbacks to my method are that the output 1) can be verbose and 2) does not convince a human that it's plausible, except for short messages.

Stegasuras has orders-of-magnitude better output, and seems to solve the problems I couldn't solve eight years ago. I would venture that their new result has as much to do with advances in language modeling, as it does with the particulars of their encoding and decoding algorithms.

I'll also note that I'm glad these researchers were able to use grant money to do this work. As a non-academic, I applied for an AI Grant to support me in upgrading Plainsight to use deep learning, but I was turned away at the time.

Finally, one of the ideas I picked up back then is that spam can be used to contain secret messages. Send enough gibberish to enough people, with your intended recipient included, and you'll look like a spammer--not a spy:

   $ wget https://spamassassin.apache.org/publiccorpus/20030228_spam.tar.bz2
   $ tar -jxvf 20030228_spam.tar.bz2
   $ cat spam/0* > spam-corpus.txt

   $ echo "The Magic Words are Squeamish Ossifrage" | plainsight -m encipher -f spam-corpus.txt > spam_ciphertext
   
   $ cat spam_ciphertext
   (8.11.6/8.11.6) 3 (Normal) Internet can send e-mails until to transfer 26 10 [127.0.0.1]
   also include address from the most logical, mail business for your Car have a many our
   portals ESMTP Thu, 29 1.0 this letter on internet, <a style=3D"color: 0px; text/plain;
   cellspacing=3D"0" how quoted-printable about receiving you would like width=3D"15%"
   width=3D"15%" border="0" width="511" Date: Tue, 27 Thu, 19 26 because
   zzzz@localhost.spamassassin.taint.org for
   
   $ cat spam_ciphertext | plainsight -m decipher -f spam-corpus.txt
   Adding models:
   Model: spam-corpus.txt added in 2.57s (context == 2)
   input is "<stdin>", output is "<stdout>"   
   deciphering: 100% | 543.84  B/s | Time: 0:00:00
   
   The Magic Words are Squeamish Ossifrage

The TimescaleDB benchmark code is a fork of code I wrote, as an independent consultant, for InfluxData in 2016 and 2017. The purpose of my project was to rigorously compare InfluxDB and InfluxDB Enterprise to Cassandra, Elasticsearch, MongoDB, and OpenTSDB. It's called influxdb-comparisons and is an actively-maintained project on Github at [0]. I am no longer affiliated with InfluxData, and these are my own opinions.

I designed and built the influxdb-comparisons benchmark suite to be easy to understand for customers. From a technical perspective, it is simulation-based, verifiable, fast, fair, and extensible. In particular, I created the "use-case approach" so that, no matter how technical our benchmark reports got, customers could say to themselves: "I understand this!". For example, in the devops use-case, we generate data and queries from a realistic simulation of telemetry collected from a server fleet. Doing it this way creates benchmarking stories that appeal to a wide variety of both technical and nontechnical customers.

This user-first design of a benchmarking suite was a novel innovation, and was a large factor in the success of the project.

Another aspect of the project is that we tried to do right by the competition. That means that we spoke with experts (sometimes, the creators of the databases themselves) on how to best achieve our goals. In particular, I worked hard to make the Cassandra, Elasticsearch MongoDB, and OpenTSDB benchmarks show their respective databases in the best light possible. Concretely, each database was configured in a way that is 1) featureful, like InfluxDB, 2) fast at writes, 3) fast at reads, and 4) efficient with disk space.

As an example of my diligence in implementing this benchmark suite for InfluxData, I included a mechanism by which the benchmark query results can be verified for correctness across competing databases, to within floating point tolerances. This is important because, when building adapters for drastically different databases, it is easy to introduce bugs that could give a false advantage to one side or the other (e.g. by accidentally throwing data away, or by executing queries that don't range over the whole dataset).

I don't see that TimescaleDB is using the verification functionality I created. I encourage TimescaleDB to run query verification, and write up their benchmarking methods in detail, like I did here: [1].

I think it's great that TimescaleDB is taking these ideas and extending them. At InfluxData, we made the code open-source so that others could build and learn from our work. In that tradition, I hope that the ongoing discussion about how to do excellent benchmarking of time-series databases keeps evolving.

[0] https://github.com/influxdata/influxdb-comparisons (Note that others maintain this project now.)

[1] https://rwinslow.com/rwinslow-benchmark-tech-paper-influxdb-...

This only uses LDA on your starred repository descriptions, to find topic terms that describe your starred repositories. These topic terms are then used to query the GitHub search API to find matching repositories. The results are then sorted by star count.

That is a clever way to make use of a search API like GitHub's. The principled way to do this, though, is to run LDA over all descriptions on GitHub, then use that similarity index to find similar repositories. You could run LDA over code, too.

I'll note that there is a cold start problem with this implementation: using LDA on such a small set of short documents will often lead to uninformative topics with words that are too-specific. You need a big corpus to capture e.g. synonym relationships.

Why has this article been removed from the top 250 news results? It was #1 for a few minutes, then #5, and now it's gone. We've successfully discussed much more risqué topics here on HN...

Why did the comment by `TAForObvReasons calling out this apparent censorship get deleted?

A) How would you characterize the differences and similarities between AlphaGo and the best human players?

B) How has human play style changed since AlphaGo's introduction?

C) What is the answer to the question you most want to be asked?

You could have answered all of your questions with "finitely many", because, after all, we can each only perform a finite number of actions in the world.

In general, the infinite hierarchy of infinite sets "exists" because we can define it.

Interesting. Whether that approach is efficient depends entirely on the workload. That complicates the analysis. (And one of the major benefits of skiplists is that the analysis is supposed to be simple.)

I've read this page before, and again today, and I still don't understand how these unrolled lists are supposed to work in practice.

Based on the author's example at https://i.imgur.com/FYpPQPh.png, how do you take an unrolled skiplist that has a bottom row like this:

    [1,2,3] -> [4,5,_] -> [7,8,9]
And insert 2.5? An inevitable tree restructuring would have to occur, which vastly complicates the insertion logic.
Quick, Draw 10 years ago

This is pulling from a too-small data set.

I was able to get correct detections with too little data: In no world is a circle with a bar coming out of it a "dumbbell".

What part of tech are you in? Maybe you're burnt out on that niche's particular subculture, not tech in general. For example:

Tired of 10-person startups? Move to a bigger company.

Tired by the constant churn in front-end libraries? Move down the stack and work on server software.

GPUs are best under SIMD conditions: single instruction, multiple data. You're talking about running `eval` thousands of times. Each unit of execution is going to have different data, because each process is executing different code (especially when you consider different branches of a conditional statement).

So, it wouldn't work that well :-)

Fair comparison, but I didn't intend any monopoly on fear. All I'm saying is that the risk of GAI should be taken seriously, calibrated along with the other problems you mention. There's a lot of room between 'irrelevant' and 'the most important issue' :-)

I agree that the rate of progress in AI is unpredictable, which means we are probably not right on the cusp of superhuman AI. But what if we actually are on the precipice? How could you tell? You seem to be taking a bet on the following statement:

"Before superhuman AI is developed, the techniques that make it possible will look dangerous."

That's a risky proposition. There's so much to lose in this situation. Elon Musk, Stephen Hawking, and many other people are taking a different, more risk-averse bet:

"Superhuman AI is extremely dangerous, so we need to be pessimistic about how good we are at predicting when it will happen."

By that logic, general AI is to be feared and worried about right now, because our predictive abilities are imperfect. The AI trend is towards more danger, not less: there's a slight chance of a cataclysmic event happening today, and as time goes on, the likelihood of it happening will increase (due to ongoing R&D in AI).

(As an aside, if you want to learn how hard the "AI Control Problem" is, I recommend the book "Superintelligence" by Nick Bostrum.)