HNHacker News
TopNewBestAskShowJobs

StephenFalken

381 karma · joined June 27, 2011

submissionscomments
StephenFalken··on Public Key Pinning Extension for HTTP
Interesting that you mentioned a trend towards decentralization and peer trust. Does it share some ideas with the now historical paper "Building Trust in Decentralized Peer-to-Peer Electronic Communities" [1] ?

[1] http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.11.6...

StephenFalken··on Comcast Declares War on Tor?
It's interesting to read what BBC thinks about that [1].

[1] http://torrentfreak.com/bbc-isps-should-assume-heavy-vpn-use...

StephenFalken··on Random Solutions are Often Good Enough
Now that you mention Donald Knuth, I can't resist sharing a really interesting answer he gave recently to one question from a set of twenty, related to algorithm design and analysis [1]:

15. Robert Tarjan, Princeton: What do you see as the most promising directions for future work in algorithm design and analysis? What interesting and important open problems do you see?

Don Knuth: My current draft about satisfiability already mentions 25 research problems, most of which are not yet well known to the theory community. Hence many of them might well be answered before Volume 4B is ready. Open problems pop up everywhere and often. But your question is, of course, really intended to be much more general.

In general I'm looking for more focus on algorithms that work fast with respect to problems whose size, n, is feasible. Most of today's literature is devoted to algorithms that are asymptotically great, but they are helpful only when n exceeds the size of the universe.

In one sense such literature makes my life easier, because I don't have to discuss those methods in TAOCP. I'm emphatically not against pure research, which significantly sharpens our abilities to deal with practical problems and which is interesting in its own right. So I sometimes play asymptotic games. But I sure wouldn't mind seeing a lot more algorithms that I could also use.

For instance, I've been reading about algorithms that decide whether or not a given graph G belongs to a certain class. Is G, say, chordal? You and others discovered some great algorithms for the chordality and minimum fillin problems, early on, and an enormous number of extremely ingenious procedures have subsequently been developed for characterizing the graphs of other classes. But I've been surprised to discover that very few of these newer algorithms have actually been implemented. They exist only on paper, and often with details only sketched.

Two years ago I needed an algorithm to decide whether G is a so-called comparability graph, and was disappointed by what had been published. I believe that all of the supposedly "most efficient" algorithms for that problem are too complicated to be trustworthy, even if I had a year to implement one of them.

Thus I think the present state of research in algorithm design misunderstands the true nature of efficiency. The literature exhibits a dangerous trend in contemporary views of what deserves to be published.

Another issue, when we come down to earth, is the efficiency of algorithms on real computers. As part of the Stanford GraphBase project I implemented four algorithms to compute minimum spanning trees of graphs, one of which was the very pretty method that you developed with Cheriton and Karp. Although I was expecting your method to be the winner, because it examines much of the data only half as often as the others, it actually came out two to three times worse than Kruskal's venerable method. Part of the reason was poor cache interaction, but the main cause was a large constant factor hidden by O notation.

[1] http://www.informit.com/articles/article.aspx?p=2213858

StephenFalken··on Patoline: A modern digital typesetting system
There is this precious little gem on page 16, paragraph 31.:

last <-- first; { cf. Matthew 19:30 }

https://en.wikipedia.org/wiki/Donald_Knuth#Religious_beliefs...

http://www.webofstories.com/play/donald.knuth/1

StephenFalken··on Developer inequality and the technical debt crisis
The civilized platforms controlled by large companies who invested in developer tools are all gone, strangled by the Darwinian jungle of the web. It is hard for programmers who have only known the web to realize how incredibly awful it is compared to past platforms. The web is just an enormous stack of kluges upon hacks upon misbegotten designs.

This passage makes me remember that famous quote by Alan Kay:

The Internet was done so well that most people think of it as a natural resource like the Pacific Ocean, rather than something that was man-made. When was the last time a technology with a scale like that was so error-free? The Web, in comparison, is a joke. The Web was done by amateurs.

StephenFalken··on C++ design goals in the context of Rust (2010)
As a counterpoint, Alex Stepanov (the primary designer and implementer of the C++ Standard Template Library), had this crucial insight about the C programming language pervasiveness:

Let's consider now why C is a great language. It is commonly believed that C is a hack which was successful because Unix was written in it. I disagree. Over a long period of time computer architectures evolved, not because of some clever people figuring how to evolve architectures---as a matter of fact, clever people were pushing tagged architectures during that period of time---but because of the demands of different programmers to solve real problems. Computers that were able to deal just with numbers evolved into computers with byte-addressable memory, flat address spaces, and pointers. This was a natural evolution reflecting the growing set of problems that people were solving. C, reflecting the genius of Dennis Ritchie, provided a minimal model of the computer that had evolved over 30 years. C was not a quick hack. As computers evolved to handle all kinds of problems, C, being the minimal model of such a computer, became a very powerful language to solve all kinds of problems in different domains very effectively. This is the secret of C's portability: it is the best representation of an abstract computer that we have. Of course, the abstraction is done over the set of real computers, not some imaginary computational devices. Moreover, people could understand the machine model behind C. It is much easier for an average engineer to understand the machine model behind C than the machine model behind Ada or even Scheme. C succeeded because it was doing the right thing, not because of AT&T promoting it or Unix being written with it.

StephenFalken··on Gene ‘switch’ reverses cancer in common childhood leukaemia model
Unfortunately. I still hope to see in my lifetime the day computer systems are powerful enough so that you introduce the full human genome and the system fully simulates the human being from the first cell on. I know it's a long long shot. And quantum mechanics simulations are some of the most complex challenges we have. Still, it would be a truly amazing achievement.
StephenFalken··on One Bitcoin Group Now Controls 51% of Total Mining Power
Thanks for sharing that interesting link. He has a good point and ends with a wise standing:

However, this is a good time to re-iterate my standard disclaimers: Bitcoin is still a work in progress, and you should only risk time or money on it that you can afford to lose. Mining centralization is one of several potential risks; read Jim Harper’s excellent Risk Management Study for a clear-headed assessment of risks and consequences.

StephenFalken··on What, if anything, have we learned from C++? [video]
Very interesting interview where he also said:

> I would try out the language as it was being developed and make comments on it. It was part of the work atmosphere there. And you’d write something and then the next day it wouldn’t work because the language changed. It was very unstable for a very long period of time. At some point I said, no, no more."

> In an interview I said exactly that, that I didn’t use it just because it wouldn’t stay still for two days in a row. When Stroustrup read the interview he came screaming into my room about how I was undermining him and what I said mattered and I said it was a bad language. I never said it was a bad language. On and on and on. Since then I kind of avoid that kind of stuff."

StephenFalken··on Match Fixing Analysis Across Europe (2013/2014) [pdf]
It seems that FederBet will publish a detailed explanation about the meaning of that notation very soon on their website.
StephenFalken··on Match Fixing Analysis Across Europe (2013/2014) [pdf]
Here is a little bit more context to it [1]:

Match fixing analysis:

There are frequent concerns about the phenomenon. Match fixing threatens the credibility of the entire sports system. Attempts to rig games cause serious damage and above all affect consumers. Despite the fact that the topic has become public knowledge, match fixing is not decreasing. In fact, due to a strange effect, the more we talk about it the more the corruption spreads and it seems acceptable.

The police are the only hope, but because of obsolete legislation or attempted cover-up by the same sports federations, they move with limited powers and with little chance of eradicating a phenomenon that has now reached substantial proportions. From our analysis, we estimate that the number of disguised fixing now exceeds 1000 matches per years.

Attempts at match fixing, whether bland or full are really easy to discover. The pure and simple analysis of numbers always brings out the truth, this applied to sports betting leads to discover wired betting trends and possible fixing.

How does it work?

The betting market is like the stock market where instead of the shares, odds are traded. Like with the “shares”, odds are subject to movement, whether physical or dictated by other changes, and as long as these changes remain within a range defined as “acceptable” there is no suspicion. However, when the changes in prices lead to violent shocks and are not justifiable by the event in question, then without doubt we are witnessing an attempt at fixing. The checks on fixing are easily achievable via cooperation of bookmakers, whom by joining FederBet, have the right channel to interact and provide valuable match data (ex: matched bets).

We had experience with Italian team, Novara, which willingly decided to undergo the Federbet checks. In the end Novara, received an important reward in sports justice and it is now satisfied that any attempt at corruption attempted by its members will be reported promptly and putting the club in an advantageous position when it comes to liability…

[1] http://federbet.com/match-fixing/

StephenFalken··on Running Colossal Cave Adventure on a PDP-11/34 [video]
The video of that rescued, repaired and running PDP-11/34 just created the coziest feeling inside my mind. There is something magical about those old Digital PDP machines that were so deeply related to the development of UNIX and C. It just makes you want to simulate every little bit of it and somehow make it last forever. It's too precious to be lost in time.
StephenFalken··on Goodbye, IPv4 IANA Starts Allocating Final Address Blocks
Steve Reeding, one of the creators of IPv6, shares his crucial insight on how some networks adapt, survive, and impose themselves [1]:

"I have a different take on that. Yes, a lot of people were dissing tunnels yesterday. I'm actually a big fan of tunnels. I think the way the IPv4 Internet was built originally was basically by tunneling over the phone system. Ignore, you know, getting leased lines, putting computers on the end, building a network with no cooperation at all from the phone company. In fact, I once saw a phone company memo that referred to the Internet as a 'hostile overlay'. You know, and we basically, you know, demolished their billing plans and everything, and built this network in spite of the desires of the carriers. And, as I see the IPv4 Internet getting more and more like the phone company, I thought one way to deploy IPv6 is basically tunnel over all that junk. Iterate the same thing again. And I gather, you know, some people, you know, who are concerned about this are looking at other ways of sort evolving the Internet, where you, you know, tunnel over HTTP or whatever you have to do to basically get over all that cruft and build a new network on top of it. So that, to me, was one possible way, you know, as the IPv4 Internet rotted the underneath. We would tunnel over it and then we would throw away the rotted bits and replace them with wires."

[1] "Internet as a 'Hostile Overlay'" -> http://www.youtube.com/watch?v=mwRVNwa6nJc#t=11m07s

StephenFalken··on Visually stunning math concepts which are easy to explain
Claudio Rocchini [1] has also made impressive contributions to the field of mathematical visualization.

[1] https://en.wikipedia.org/wiki/User:Rocchini

StephenFalken··on Russia approves use of military in Ukraine
It would be interesting to discuss how Ukraine got into this kind of situation ([1] [2]) and what are the "natural" consequences of it. Somehow it feels we are not dealing with a single country anymore.

[1] http://i.imgur.com/1iiXqHN.jpg

[2] http://i.imgur.com/eNo56LZ.jpg

StephenFalken··on x86 is Turing-complete with no registers
On the other extreme, there was the Unlimited Register Machine (URM) [1] specified on Nigel J. Cutland's book: Computability, An introduction to recursive function theory.

[1] http://faculty.oxy.edu/rnaimi/home/URMsim.htm

StephenFalken··on Tim Berners-Lee: We need to re-decentralise the web
"The Internet was done so well that most people think of it as a natural resource like the Pacific Ocean, rather than something that was man-made. When was the last time a technology with a scale like that was so error-free? The Web, in comparison, is a joke. The Web was done by amateurs." -- Alan Kay
StephenFalken··on Web standards killed the HTML star
This subject made me remember a famous quote by Alan Kay:

"The Internet was done so well that most people think of it as a natural resource like the Pacific Ocean, rather than something that was man-made. When was the last time a technology with a scale like that was so error-free? The Web, in comparison, is a joke. The Web was done by amateurs."

StephenFalken··on Future instruction set: AVX-512
This all time classic from MIPS is a good starting point: "MIPS R4000 Microprocessor User's Manual" [1]

[1] http://groups.csail.mit.edu/cag/raw/documents/R4400_Uman_boo...

StephenFalken··on Oldest Domain Names
It's curious to note that the very first domain registration on any gTLD came from NORDUnet [1], precisely at the first day after the public launching of the Domain Name System, back in Jan 1, 1985. [2]

[1] https://en.wikipedia.org/wiki/NORDUnet

[2] https://en.wikipedia.org/wiki/List_of_the_oldest_currently_r...

StephenFalken··on ARM64 and You
It is interesting to watch ARM finally adopting many of the great architectural solutions that MIPS used 22 years ago, back in 1991, when it launched the MIPS R4000 family of 64 bit processors. [1]

[1] http://groups.csail.mit.edu/cag/raw/documents/R4400_Uman_boo...

StephenFalken··on Linus: bool is dangerous in C if you don't understand it
"variadic macros and bool are just adornment" in The future according to Dennis Ritchie (a 2000 interview) [1]

[1] http://www.itworld.com/lw-12-ritchie?page=0,1

StephenFalken··on The interspecies internet? An idea in progress [video]
AMS-IX IPv6 Traffic Statistics: https://www.ams-ix.net/technical/statistics/sflow-stats/ipv6...
StephenFalken··on Perl Startups: Lacuna Expanse
Just a side note: somehow the official Perl website is one of the fastest websites I've come across on the web. Is there a reason for this ?
StephenFalken··on The most incredible time-lapse video I’ve ever seen
Back in 1985, Ron Fricke, the same director of Baraka (1992) and Samsara (2011), created the most impressive time-lapse film ever made till then. It was called Chronos and it's available online [1]. It's very interesting to watch how the moving pictures match the soundtrack to capture the essence of Time [2].

[1] http://youtu.be/1K9N9flhOx4

[2] http://youtu.be/1K9N9flhOx4?t=25m24s

StephenFalken··on The danger of the trailing dot in the domain name
There are some interesting addresses that explore that property of Full Qualified Domain Names. For instance, try this on your browser:

http://dk./

It would be curious if ICANN would define "The Internet entry address" as the root address of DNS:

http://./

StephenFalken··on Microcode: the place where hardware and software meet
"RISC architecture eliminates microcode routines and turns low-level control of the machine over to software. The RISC approach is not new, but its application has become more prevalent in recent years, due to the increasing use of high-level languages, the development of compilers that are able to optimize at the microcode level, and dramatic advances in semiconductor memory and packaging. It is now feasible to replace relatively slow microcode ROM with faster RAM that is organized as an instruction cache. Machine control resides in this instruction cache that is, in effect, customized on-the-fly: the instruction stream generated by system- and compiler-generated code provides a precise fit between the requirements of high-level software and the low-level capabilities of the hardware."[1]

-- MIPS R4000 Microprocessor User’s Manual, Chapter 1, Page 2

[1] http://groups.csail.mit.edu/cag/raw/documents/R4400_Uman_boo...

StephenFalken··on Forth Warrior: A Programming Puzzle Game
This puzzle made me remember a pretty impressive game (unfortunately too ignored) called Core Wars, where programs fight each other inside the computer memory -> http://youtu.be/Du3DSs7hWRA and http://en.wikipedia.org/wiki/Core_War
StephenFalken··on Inside the ALU of the 8085 microprocessor
Check the MIPS R4000 Microprocessor User's Manual by Joe Heinrich to get a glimpse of a truly inspiring processor architecture and its implementation: http://groups.csail.mit.edu/cag/raw/documents/R4400_Uman_boo...
StephenFalken··on Follow up to "The Unreasonable Effectiveness of C"
I like the way Alexander Stepanov, primary designer and implementer of the C++ Standard Template Library (STL), decribed the C Programming Language in an interview:

"Let's consider now why C is a great language. It is commonly believed that C is a hack which was successful because Unix was written in it. I disagree. Over a long period of time computer architectures evolved, not because of some clever people figuring how to evolve architectures---as a matter of fact, clever people were pushing tagged architectures during that period of time---but because of the demands of different programmers to solve real problems. Computers that were able to deal just with numbers evolved into computers with byte-addressable memory, flat address spaces, and pointers. This was a natural evolution reflecting the growing set of problems that people were solving. C, reflecting the genius of Dennis Ritchie, provided a minimal model of the computer that had evolved over 30 years. C was not a quick hack. As computers evolved to handle all kinds of problems, C, being the minimal model of such a computer, became a very powerful language to solve all kinds of problems in different domains very effectively. This is the secret of C's portability: it is the best representation of an abstract computer that we have. Of course, the abstraction is done over the set of real computers, not some imaginary computational devices. Moreover, people could understand the machine model behind C. It is much easier for an average engineer to understand the machine model behind C than the machine model behind Ada or even Scheme. C succeeded because it was doing the right thing, not because of AT&T promoting it or Unix being written with it."

← PreviousPage 2 of 3Next →