HNHacker News
TopNewBestAskShowJobs

rw

2,967 karma · joined January 27, 2008

https://github.com/rw
submissionscomments
rw··on Crazily fast hashing with carry-less multiplications
How does it do under SMHasher (a library to test hash quality)?
rw··on Improving Facebook's Performance on Android with FlatBuffers
I liked this writeup. I'm curious how much this improved battery life for a typical user.

FWIW, I help maintain FlatBuffers for Go and Python. I'm happy to answer any questions I can.

rw··on Thoughts on Time-series Databases
What data structures does it use?
rw··on Linear-Log Bucketing: Fast, Versatile, Simple
Hyperinflation sequence for banknotes:

http://oeis.org/A051109

rw··on Machinery: An asynchronous task/job queue for Golang
Badly titled. This is not an official library.
rw··on Ask HN: Differences you've noticed between CS students and the self-taught?
The biggest difference is that self-teaching implies more variability in skill outcomes. Lower lows, higher highs.

Look for people who can learn the structure of a problem when there's no guidebook (or textbook) available. If they can do this, then they will likely succeed in tackling the unknown.

This 'autodidactic tenacity' can be learned inside or outside of school.

Knowing how to independently learn means you will invest in yourself for the rest of your life. Attending classes and doing homework do not, themselves, teach you how to do that.

rw··on SpamMimic: encode your message into something innocent-looking
Previously: https://news.ycombinator.com/item?id=6427525

Pardon the essay, but I've written a tool in this space before.

Back in 2011, I wrote a textual steganography library and command-line application, called Plainsight: https://github.com/rw/plainsight

Additionally, @workmajj and I wrote TweetFS using Plainsight. It lets you recursively pack up directories and post them as an encoded linked list of Tweets to Twitter: https://github.com/rw/tweetfs

Plainsight uses each byte of the input message to generate tokens. Bits are used to decide how to traverse the token tree, weighted by frequency. The drawbacks are 1) verbosity and 2) incorrect grammar.

One of the lessons of writing Plainsight 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.

-- Example 1 (regular text) Type your message to encode:

   echo 'Meet at Union Square at noon. The password is FuriousGreen.' > cleartext
Then, pipe it through Plainsight:

   cat cleartext | plainsight -m encipher -f sherlock.txt > ciphertext
The output will be Doyle-esque gibberish:

   cat ciphertext | fold -s
   which was the case, of a light. And, his hand. "BALLARAT." only applicant?" 
   decline be walking we do, the point of the little man in a strange, her 
   husband's hand, going said road, path but you do know what I have heard of you, 
   I found myself to get away from home and for the ventilator little cold night, 
   and I he had left my friend Sherlock of our visitor and he had an idea was not 
   to abuse step I of you, I knew what I was then the first signs it is the 
   daughter, at least a fellow-countryman. had come. as I have already explained, 
   the garden. what you can see a of importance. your hair. a picture upon of the 
   money which had brought a you have a little good deal in way: out to my wife 
   and hurry." made your hair. a charge me a series events, and excuse no sign his 
   note-book has come away and in my old Sherlock was already down to do with the 
   twisted
Now, decipher that ciphertext:

   cat ciphertext | plainsight -m decipher -f sherlock.txt > deciphered
   cat deciphered
   Meet at Union Square at noon. The password is FuriousGreen.
-- Example 2 (binary data)

   $ dd if=/dev/urandom of=/dev/stdout bs=1 count=10 | plainsight -m encipher -f 1984.txt
   10+0 records in
   10+0 records out
   10 bytes (10 B) copied, 9e-05 s, 111 kB/s
   Adding models:
   Model: 1984.txt added in 0.89s (context == 2)
   input is "<stdin>", output is "<stdout>"

   enciphering: 100%|#####################################################################################################################################################################|474.67  B/s | Time: 0:00:00
   
   which is a war is real, the proles used mind on the telescreen. He could see through all right to. You have read what said. 'Yes,' only in the Ministry
----

One serious use case is to seed the generator with a spam email corpus. This lets you generate messages that look like spam. Example:

   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
rw··on Ask HN: Sunday brunch question: Do you dream in code?
I used to dream in code, but now I dream in graphs that represent data structures. This happened when I began focusing on memory layout over syntax and API signatures.
rw··on Show HN: Send Secret Messages over Twitter as Public Tweets
One serious use case is to seed the generator with a spam email corpus. This lets you generate messages that look like spam. Example:

   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
rw··on Show HN: Send Secret Messages over Twitter as Public Tweets
TweetFS uses the SeqTweet library, which takes care of sequencing the tweets for you. Specifically, see the _list_to_twitter method: https://github.com/workmajj/seqtweet/blob/master/seqtweet/se...

One of the use cases of TweetFS is to use Twitter as a 'dead drop'. You'll generate a lot of tweets by doing that, but there's no harm done.

I don't think I hijacked your thread. The other comments also discuss textual steganography.

rw··on Show HN: Send Secret Messages over Twitter as Public Tweets
I wrote a textual steganography library and CLI in 2011, called Plainsight: https://github.com/rw/plainsight

Additionally, @workmajj and I wrote TweetFS using Plainsight. It lets you recursively pack up directories and post them as an encoded linked list of Tweets to Twitter: https://github.com/rw/tweetfs

I presented Plainsight at Hack'n'Tell NYC in 2011 and a video was recorded: http://bit.ly/pecGgW

Plainsight uses each byte of the input message to generate tokens. Bits are used to decide how to traverse the token tree, weighted by frequency. The drawbacks are 1) verbosity and 2) incorrect grammar.

One of the lessons of writing Plainsight 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.

I also wrote a fuzzing tool, called Shag, to find edge cases, e.g. for single-byte inputs: https://github.com/rw/shag/blob/master/shag.rb

-- Example 1 (regular text)

Type your message to encode:

   echo 'Meet at Union Square at noon. The password is FuriousGreen.' > cleartext
Then, pipe it through Plainsight:

   cat cleartext | plainsight -m encipher -f sherlock.txt > ciphertext
The output will be Doyle-esque gibberish:

   cat ciphertext | fold -s

   which was the case, of a light. And, his hand. "BALLARAT." only applicant?" 
   decline be walking we do, the point of the little man in a strange, her 
   husband's hand, going said road, path but you do know what I have heard of you, 
   I found myself to get away from home and for the ventilator little cold night, 
   and I he had left my friend Sherlock of our visitor and he had an idea was not 
   to abuse step I of you, I knew what I was then the first signs it is the 
   daughter, at least a fellow-countryman. had come. as I have already explained, 
   the garden. what you can see a of importance. your hair. a picture upon of the 
   money which had brought a you have a little good deal in way: out to my wife 
   and hurry." made your hair. a charge me a series events, and excuse no sign his 
   note-book has come away and in my old Sherlock was already down to do with the 
   twisted
Now, decipher that ciphertext:

   cat ciphertext | plainsight -m decipher -f sherlock.txt > deciphered
   cat deciphered
   Meet at Union Square at noon. The password is FuriousGreen.

-- Example 2 (binary data)

   $ dd if=/dev/urandom of=/dev/stdout bs=1 count=10 | plainsight -m encipher -f 1984.txt
   10+0 records in
   10+0 records out
   10 bytes (10 B) copied, 9e-05 s, 111 kB/s
   Adding models:
   Model: 1984.txt added in 0.89s (context == 2)
   input is "<stdin>", output is "<stdout>"
   
   enciphering: 100%|#####################################################################################################################################################################|474.67  B/s | Time: 0:00:00
   
   which is a war is real, the proles used mind on the telescreen. He could see through all right to. You have read what said. 'Yes,' only in the Ministry
rw··on Ask HN: Who Is Hiring? (July 2012)
QLabs, New York, NY

Front-end developer

About us: QLabs is a tech incubator based in Noho, NY. We’re a small group of hackers who rapidly prototype new products every 10 weeks, then test them in the market for long-term potential. Our primary focus is the consumer web, though we experiment across a broad spectrum (e.g. hardware).

We have corporate backing, which means competitive salaries, corporate perks, and full benefits.

Our management structure is extremely flat: we succeed or fail as a team.

Our office is arguably the coolest place to work in New York: It's a 22,000 sq. exposed-brick loft, which we share with Codecademy, Turntable.fm and MoviePass.

We’re about to graduate our first product, Huntsy, and are proving an exciting new model for incubating startups.

----

About you: We are searching for a developer with front-end expertise to join our NYC team.

We are constantly vetting and integrating the latest technologies into our development stack, so you may be the person we’re looking for if:

  You love building interfaces that are sexy, sleek and simple;
  You have an opinion on backbone.js and/or ember.js*;
  You’re familiar with CSS3, HTML5 and OO Javascript;
  You're familiar with Ruby on Rails and/or have MVC experience. 
Send your resumé, your github and links to the project(s) you’ve built that you’re most proud of to jobs@qlabs.com

[*] Our current project uses ember.js for the entire frontend.

rw··on The Mechanics and Meaning of That Ol' Dial-Up Modem Sound
My team made Bleeoo, a way to capture the oral history of dial-up modem sounds.

My favorite is here: http://bleeoo.com/videos/31c92a10-c228-012e-7578-12313d09290...

The main site has many more.

rw··on I Was a Warehouse Wage Slave: Inside the online-shopping shipping machine
This reminds me of the novella "Manna":

> He looked at me for a long time, "A computer is telling you what to do on the job? What does the manager do?"

> "The computer is the manager. Manna, manager, get it?"

> "You mean that a computer is telling you what to do all day?", he asked.

> "Yeah."

http://bit.ly/xP6sLk

rw··on What future space combat would really look like
An example: Project Thor / "Rods from God": http://en.wikipedia.org/wiki/Kinetic_bombardment
rw··on The Bomb That Changed My Life
The poster did help, so the bystander spell should've been broken.
rw··on HTTP Cats
A gist to load all HTTP cats in your browser: http://bit.ly/vS19gp
rw··on Ask HN: Who is Hiring? (December 2011)
QLabs

FULLTIME NYC

Executive In Residence

QLabs is a recently formed incubator in New York City with funding from the VC arm of a publicly traded company. Our charter is to rapidly build innovative and revenue-generating businesses. Essentially, we prototype startups by building and launching an MVP every 6-8 weeks.

We are currently looking for an Executive In Residence. Your responsibilities will include (but are not limited to) creating and executing on: marketing, PR, BD and social media strategies. You'll be an equal member of the team, informing product-level discussions throughout project ideation and development (especially as pertains to market fit and revenue potential).

Major bonus points if you have hands-on experience at a startup, and know how to grow users and revenue from the ground up.

email rw@rwinslow.com to get in touch!

rw··on Clojure & Python, Side by Side
In 30 languages: http://rosettacode.org/wiki/Sudoku
rw··on The Manhattan Grid extended to every point on Earth
Your presentation was great, nice job.
rw··on Ask HN: Who is Hiring? (November 2011)
New York, NY (in NoHo on Broadway). Full time and internships.

QLabs

We're a new type of in-house incubator: we prototype startups by building and launching an MVP every 6-8 weeks. This is like startup boot-camp. Come hack with us on amazing projects, learn everything there is to know about building and launching products and starting companies, all without the painful early-startup salary.

We take an aggressive approach to learning and inspiration. Example: six weeks ago, our team spent the day at MIT's Media Lab, where we learned about biomechatronics, fluid interfaces, and more. Even though our primary tool is Rails, half of us just learned nodejs for a two-week 'sprint project'.

The lab started in February of this year, and now has five awesome developers (hailing from Columbia, Disney Imagineering, ITP, NYC Resistor, and more). We're looking to fill position #6.

Show us your projects: we love to see an entrepreneurial streak and a diversity of experience.

Email me at rw@rwinslow.com if this appeals to you!

rw··on Ask HN: Who is Hiring? (October 2011)
New York, NY (in NoHo on Broadway). Full time and internships.

QLabs

We're a new type of in-house incubator: we prototype startups by building and launching an MVP every 6-8 weeks. This is like startup boot-camp. Come hack with us on amazing projects, learn everything there is to know about building and launching products and starting companies, all without the painful early-startup salary.

We take an aggressive approach to learning and inspiration. Two weeks ago, our team spent an entire day visiting MIT's Media Lab, where we learned about biomechatronics, fluid interfaces, and more. Even though our primary tool is Rails, half of us just learned nodejs for a two-week 'sprint project'.

The lab started in February of this year, and now has five awesome developers (hailing from Columbia, ITP, NYC Resistor, and more). We're looking to fill position #6.

Show us your projects: we love to see an entrepreneurial streak and a diversity of experience.

Email me at rw@rwinslow.com if this appeals to you!

rw··on Force Multipliers and Japanese Programmers
I read that as: "he acts old--he isn't familiar with current programming technologies and shortcuts".
rw··on Facebook is scaring me
Thanks for the correction--I got so used to being treated adversarily by FB that I failed to look for a link like that :-)
rw··on Facebook is scaring me
No longer. Images are obfuscated (view the source of a gallery image to see what I mean).
rw··on Modern GPU: a collection of well-written GPGPU programming tutorials
Back in the old days...
rw··on Share HN: Bleeoo, a video site to record your impression of a dialup modem
This one is my favorite. The shape of his mouth is priceless: http://bleeoo.com/videos/787c08d0-bb04-012e-3c83-123139208ff...
rw··on Ask HN: Who is Hiring? (September 2011)
New York, NY (in NoHo on Broadway). Full time and internships.

QLabs

We're a new type of in-house incubator: we prototype startups by building and launching an MVP every 6-8 weeks.

This is like startup boot-camp. Come hack with us on amazing projects, learn everything there is to know about building and launching products and starting companies, all without the painful early-startup salary.

One of our upcoming field trips is an all-day visit to MIT's Media Lab.

The lab started in February of this year, and now has five awesome developers (hailing from Columbia, ITP, NYC Resistor, and more). We're looking to fill positions #6 and #7.

Show us your projects: we love to see an entrepreneurial streak and a diversity of experience.

Our one steadfast requirement is that we definitely need you to know Rails.

Email me at rw@rwinslow.com if this appeals to you!

rw··on Show HN: Test Post/Get endpoints easily from your browser
Nice--how does this compare to hurl.it?
rw··on Cryptographic stenography could thwart Internet censorship
Yes. Making your data look like the haystack.
← PreviousPage 2 of 27Next →