HN user

peripetylabs

172 karma
Posts8
Comments97
View on HN

The Chinese authorities will hold him until they feel he has given them all he knows, then quickly extradite him to the US.

At that point he will probably try to get to Europe. If he makes it, his appeal to those governments on humanitarian grounds may be weakened by the fact the first country he picked practices capital punishment far more than the US (more than every other country in the world combined):

http://www.amnesty.org/en/death-penalty/death-sentences-and-...

He could have fled to Europe in the first place just as easily. For example, US citizens are exempt from visa requirements for short stays (90 days) in France -- la Patrie des droits de l'homme -- from where he would have had direct access to the ECtHR...

Although this wasn't news to most people here, keep in mind that the US has always denied doing economic espionage, against China or anyone else. The Snowden leak also revealed that the largest target of US espionage in Europe is Germany -- I can't think of any reason for that other than economic espionage. This certainly raises questions.

Learn C 13 years ago

There exist proof and verification tools for C, like ACSL and Frama-C, [1] or LCL and Splint. [2,3] Not to mention the myriad of static and dynamic analysis tools. You can prove that a piece of C code does or doesn't contain certain bugs -- this is not the case for higher-level languages (except perhaps Haskell and ML). That is why C is used for highly sensitive projects like avionics.

I would say: learn C and high-level languages.

[1] http://frama-c.com/acsl.html

[2] www.hpl.hp.com/techreports/Compaq-DEC/SRC-RR-74.pdf

[3] http://splint.org/

I'm glad I came across this article. I'm learning Python and was given that advice to use multiprocessing rather than threading, but hadn't researched why. Very informative, thanks for sharing.

Without going into the technical details described by other commenters here, this is my understanding of the problem (please correct me if I'm wrong): You receive the code that is run, from the same entity you should be protecting yourself from -- that being the Cryptocat server. This is a big contradiction.

One really should assume that if a service can be compelled to act against the interests of its users, that will eventually happen.

You can always put the idea on hold for a while, and find regular work until you decide to go back to it. The work you put into it so far isn't going anywhere.

To me, the next power of two after 4 is 8, not 4. If you prefer, you can add a line to simply return the input if it is already a power of two:

http://en.wikipedia.org/wiki/Power_of_two#Fast_algorithm_to_...

(Edit: You forgot to subtract one before setting the lower bits and incrementing. If you omit that step, both these algorithms give the same result.)

Actually this algorithm is faster for smaller numbers too, because it always performs less operations in the loop -- one shift as opposed to a shift and a bitwise or.

Iron Ring 13 years ago

A ring cut from a single crystal of silicon may be strong enough. Regardless, it would look very nice.

We were taught sine, cosine and tangent in the context of how they could be used to derive angles from other angles, not what they were and how they worked. They were presented as tools that could be used in particular ways that had to be memorized.

This has to be the worst things you could do to a student in a math class. In engineering they call it "plug and chug" -- students must plug numbers into a formula they've memorized and come up with an answer.

By the way, we learned trigonometry with the unit circle. If we forgot a formula, we'd just draw a little circle and derive it. I'm always grateful for that teacher.

I'm glad the subject is being studied, it's a very interesting problem. Proper solutions are much more sophisticated than it seems. You have to ensure that the checks you use in the checker functions don't themselves cause overflows. If you're interested, I'll write about an algorithm for your WillOverflow function which has been proved correct.

Your question is based on anecdotal evidence. You should instead ask why so few women and girls in your life are inquisitive about their world?

In my personal experience, women are just as inquisitive as men, if not more, as evidenced by the fact that more girls than guys went on to study science after high school. But I wouldn't claim my experience is universally true.

In the case of three people sharing one pizza:

Slice the pizza in four, and eat three of the quarters (the two people who aren't slicing picking first of course). Repeat with the remaining quarter until what's left is not worth being disappointed about.

I would never actually do this, but it's a good illustration of limits of geometric series.

I've always disliked the perception that poor people necessarily eat poorly. Rice, wheat, barley, oats, beans, and root vegetables are grown in abundance in developed countries and so are inexpensive; they do not spoil quickly; and are very healthy. Most vegetables will keep for weeks in a refrigerator and months in a freezer. Sardines (fresh) and eggs provide much better protein than meat.

I think the cost of "healthy food" is mostly rooted in ignorance and a taste for simple sugars:

"For a Brit, there can be no greater comfort food than a custard cream."

There's your problem.

I haven't used it myself, but Buildbot sounds like what you're looking for:

http://trac.buildbot.net

Alternatives include Mozilla Tinderbox and Atlassian Bamboo. If you have success with any of these, I'd love to read about it (I follow your blog) as I've been thinking about the same problem lately.

I should have mentioned this was done client-side, by a Python script:

http://code.google.com/p/fftresize/source/browse/fftresize.p...

Like so (edit: note that you'll have to edit the image first to make it grayscale, and even then this uses a lot of memory...):

    $ python fftresize.py suspect-number-2.JPG 2.0
I just uploaded the image to S3 to share. The script isn't great (grayscale only) because it was written for a blog post to demonstrate the interpolation method, but I might as well work on it this weekend.