HNHacker News
TopNewBestAskShowJobs

jaekwon

1,051 karma · joined July 1, 2009

submissionscomments
jaekwon··on India Orders 32 Websites Blocked, Including GitHub, Archive.Org, Pastebin
Like the threat of a nuclear bomb? Not just NK but Fat Man too.
jaekwon··on Consensus in Bitcoin: One system, many models
If you have anything more intelligent to say on the topic, I'd like to read it.
jaekwon··on Consensus in Bitcoin: One system, many models
I think that's the paper that Eyal & Sirer disprove with "selfish mining".

And here's a post that may provide a useful mental framework for thinking about cryptocurrency consensus protocols and game-theory:

http://tendermint.com/posts/security-of-cryptocurrency-proto...

And a proposed solution:

http://tendermint.com/docs/tendermint.pdf

Also, check out the email invite I sent you to the group! p.s. if anybody wants access, just email me.

jaekwon··on Sum Types in Go
Goistic?
jaekwon··on EFF in Court to Argue NSA Collection from Internet Backbone Is Unconstitutional
IANAL, but here's my interpretation. There are two concerns here:

(1) The right of the people to be secure in their persons, houses, papers, and effects, against unreasonable searches and seizures, shall not be violated

and (2) no Warrants shall issue, but upon probable cause, supported by Oath or affirmation, and particularly describing the place to be searched, and the persons or things to be seized.

(1) being the protection, and (2) mentioning the loophole of warrants and protections on that as well. Searching digital information without a warrant violates (1). The legal way to do it is via warrants, and limitations on warrants are prescribed in (2).

jaekwon··on The Itch Nobody Can Scratch
Yeah and that most of the commenters here have missed that point completely. It's an eerie feeling. Or maybe people just don't read articles in their entirety.
jaekwon··on The Itch Nobody Can Scratch
Did you read the whole thing?

It's an account of the author who writes honestly about his thought process, and in the end finds out that his prejudice was wrong on one count, and may have been wrong in others.

The whole article in entirety is more helpful than anything I've read about this kind of condition. I'm not sure, and I think the author isn't sure, whether it should be called a mental illness at all. I think that was the point of the article.

So in cases like this, isn't it good to write plainly of one's past prejudices?

jaekwon··on Why the Sony hack is unlikely to be the work of North Korea
Thanks, I didn't know about that bombing.
jaekwon··on Why the Sony hack is unlikely to be the work of North Korea
2 years after Fight Club's (soap and Meatloaf) story of crazed terrorists destroying towers to reset the economic system, some crazed terrorists did exactly that.

Imagine what would happen if a likable character who isn't a crazed terrorist assassinated a political figure on the big screen and became a hero. Good feels all around, nothing wrong with killing a totalitarian leader, right?

jaekwon··on Why the Sony hack is unlikely to be the work of North Korea
On a related note,

http://www.laweekly.com/publicspectacle/2014/12/17/pulling-t...

"The truth is, America's commitment to free speech is dwarfed by our commitment to capitalism. Seth Rogen can stand in his house and say anything he wants about Kim Jong-un – but Sony has the choice to fund him, and even if it agrees, AMC can still pull the plug. The corporation, not the individual, has always had the power to decide what movie is a thoughtcrime. We're just only now visibly seeing the suits flex their clout. Despite everything, Pascal at least had the courage to greenlight a comedy about a sitting dictator. Will she be the last studio boss who can make that claim?"

I wouldn't be surprised if it turns out that the hacks or threats weren't conducted by NK, or by NK alone. This movie is in fact a threat to a particular regime in NK, but it's also a blanket threat against all totalitarian regimes (and corporations), and there are plenty that would be upset about that.

I've been scouring Hollywood for movies that appeal to mass social, political, or economic change that don't portray the instigators as crazed violent goonies. There are none in recent memory. The ones that do strike a chord become wild blockbuster hits and their motifs enter our collective consciousness as light-sabres or guy fawkes masks, but they are the rare ones. You don't find much of them in Hollywood because Hollywood does not instigate change.

jaekwon··on California drought most severe in 1,200 years, study says
Yeah I was wondering if our storm-water sewage system is sucking the water out of our lands. But how much does this really matter? There would have to be some analysis of these systems vs land with no such system vs where they are to rain sources etc.
jaekwon··on How to Fight Corruption with Game Theory
Any thoughts on the counter-counter-PAC argument above?

Also, let's play a game of poker if you're in the Bay Area.

jaekwon··on How to Fight Corruption with Game Theory
It's really about informing the public, so a counter-counter-PAC may not have an equivalent response. Of course we're getting into information-wars territory.
jaekwon··on NASA's Van Allen Probes Spot an Impenetrable Barrier in Space
An electron is just a miniature plaque with Carl Sagan's signature on it.
jaekwon··on The Blockchain Application Stack
Tendermint has the strongest guarantees against double-spend attacks.

http://tendermint.com/docs/tendermint.pdf

jaekwon··on The Blockchain Application Stack
This inspired a post here, http://tendermint.com/posts/sidechains-without-pegging/

> Sidechains is more than one-way or two-way pegging, and beyond Bitcoin Maximalism.

jaekwon··on Launching in 2015: A Certificate Authority to Encrypt the Entire Web
You'd need a strong root key and subkeys that rotate underneath. To change the root key would require signing by the original root and a new message to appear for confirmation.

All this plus something like a notary system to double check all your trusted root keys, would be much better than the hierarchical CA system we have.

jaekwon··on Behind Closed Doors, Ford, UPS, and Visa Push for Net Neutrality
What worries me is, how do you define what the internet is? If I fork the IP stack and call it IP2, and it is different in some significant way, does that still fall under Title II?
jaekwon··on Is Quantum Entanglement Real?
I assume that photons act as waves and not particles. Though they have quantized energy (frequency), there's no reason for me to think that they have locality. If so...

The most plausible explanation I can think of is a Monty Hall paradox at the source of the emitter. Thousands of photon pairs? How are they generated? Is their emission dependent on the destination via say, pilot wave resonance? Either resonance or waves that travel backwards in time. Experiments of entanglement speed should point towards one or the other.

jaekwon··on Logs of compromised Tor site released
A Sybil attack is any attack that involves attacking by brute forcing the number of identities. The identity need not be based on cryptographic systems -- it could simply be the number of IP addresses.
jaekwon··on Rust and Go
> No user-defined objects, just structs.

The way structs are supported, it feels much more like objects than C structs. I prefer it much more than say, OOP classes. It's something you need to immerse yourself in to appreciate, IMO.

What about "user created objects" would you miss?

jaekwon··on Rust and Go
Nice. :)
jaekwon··on Rust and Go
Doh! I fell straight in :)

Overflows in general are tricky. How does Rust deal with it?

jaekwon··on Rust and Go
In Go:

  func isAnagramOfPalindrome(str string) bool {

    charCounts := map[rune]int{}
    for _, c := range str {
      charCounts[c]++
    }

    numOdd := 0
    for _, count := range charCounts {
      if count%2 == 1 {
        numOdd++
      }
    }
    return numOdd <= 1;
  }
In this case I think I do prefer the latter. I like how I can name the intermediate objects. :)

Also I don't like the practice of groupBy().map(=>_.size()), which hides the performance penalty of creating arrays. I'm sure a better compiler can do better, but I'd have to know the compiler to assume that.

jaekwon··on Rust and Go
Gotcha! So will Rust then auto-parallelize these "pure" closures?
jaekwon··on Rust and Go
All I did was take your for-loop code and translated into idiomatic Go code. My point is the for-loop in Go isn't as terrible as the loop example you wrote.
jaekwon··on Rust and Go
Ok, that's a good example. Your one-liner is pretty concise and the intent is clear.

I think on a higher level with complex code, you definitely want better abstractions to convey intent, rather than say just having one large function that does everything.

I think in many cases map/filter does in fact help with readability of intent, especially if you're not declaring the function body inline, and the functions are commonly available ones like parseInt. But generally this isn't the case, which diminishes the readability such that it's comparable to a for-loop anyways.

I spend most of my time trying to figure out exactly that -- the higher level abstractions that aren't easily conveyed by "map" or "filter", that having map/filter generic functions isn't high on priority. I just want a simple language that I can spew out thoughts onto uncompilable code... tweak the code often as I see fit, and work on fixing type errors later and once I'm done with that it will probably run fine with few bugs. The nice thing about for-loops is that it exposes more control points e.g. breaking out early, using the index, inserting log lines -- that the flexibility helps me mutate the code quickly.

So maybe it's more about coding style, rather than readability. Do you like to spec out your code completely before writing things down, or do you prefer to define the spec as you write and edit the code because it helps you get things done faster?

jaekwon··on Rust and Go
There's really nothing about a typical map operation that makes it any more parallelize-able than a for-loop, in the presence of closures.
jaekwon··on Rust and Go
Well this is how I'd write it in Go:

  descending_squares := []uint{}
  for x:=4; 0<=x; x-- {
    descending_squares = append(descending_squares, uint(x*x))
  }
jaekwon··on Rust and Go
I've written in both paradigms and I mostly agree with the Go team. That it blows your mind blows mine, and I suppose it's good that we have these choices so we don't have to agree.

Could you show me a code snippet of maps and filters used that you believe is more readable than for loops? Maybe I'll get a laugh out of that. :)

← PreviousPage 4 of 26Next →