hacker news with inline top comments    .. more ..    13 Aug 2014 News
home   ask   best   5 years ago   
X to close
400 points by viclou  6 hours ago   115 comments top 36
pwg 5 minutes ago 0 replies      
Another old example.

WordStar: Used "X" to Exit to system in its main menu (https://www.flickr.com/photos/markgregory/6946218793/?rb=1) - I do not know the revision shown in the screen shot.

According to Wikipedia (http://en.wikipedia.org/wiki/WordStar) WordStar was released in 1978. Which moves the date back to at least 1978 to use X for exit.

However, there is possibly a very simple explanation that the blog posting overlooked. In text menu's, such as WordStar's, which were quite common for a lot of software from that era, using the word "Exit" to mean "leave this program/application" was also common. When one goes looking for a single character memonic for "Exit" to build in as a keystroke to activate the "Exit" command from the menu, one has four choices: [e] [x] [i] [t]

Since [x] is an uncommon letter, while e, i, t, are more common, and therefore more likely to be used for triggering other commands in the menu(s), choosing [x] to mean exit meant that the same character could likely be used as a universal "leave this menu" command key across all the menus.

Which would then lead to the common _F_ile->E_x_it command accelerators in drop down style menus (whether in a GUI or in a text menuing system). [x] was unlikely to have been used for the keyboard accelerator for other entries in the "file" menu, so picking e[x]it was a safe choice.

It is not a far reach from _F_ile->E_x_it using [x] as its accelerator key to labeling the title bar button that performs the same function with an X as well, to take advantage of whatever familiarity users might have with the drop down menu accelerators

bhauer 5 hours ago 2 replies      
As an Atari ST user from 1985 to roughly 1993, I wasn't expecting the author would actually mention GEM/TOS. I was pleasantly surprised when I scrolled down and, lo, there it is.

That said, since the "X" in this case is white on a black background, I always interpreted the icon as four arrows pointing inward to indicate a shrinking/disappearing motion. In fact, when you closed a window, GEM would play an (inelegant) animation akin to the Macintosh of the time, composed of a sequence of boxes first shrinking from the size of the window to a small box and then shuffling that off to the top left of the screen.

As bemmu points out, the maximize button (at the top right in a GEM/TOS window) is four arrows pointing outward. Incidentally, GEM did not have a notion of "minimize."

Put another way, although I find the Japanese inspiration argument interesting, I don't think there's a whole lot to it. I think it's a fun coincidence.

In any event, thank you for the trip down memory lane and for the fun screen grabs!

glurgh 6 hours ago 2 replies      

NextStep 0.8, '88 vintage.

kybernetikos 3 hours ago 1 reply      
The Acorn Arthur operating system, a precursor to Risc OS used a sort of fat X icon to close windows in 1987


sbw1 5 hours ago 3 replies      
Interesting, but the connection to symbols from Japan seems a bit dubious (or at least not very recent). The term "cross out", and hence the use of an "x" to indicate negating something, seems to have been in common use in English since at least the 1920s:https://books.google.com/ngrams/graph?content=cross+out
baq 18 minutes ago 0 replies      
lwh 40 minutes ago 0 replies      
The delete/rubout key on many old terminals had an X on it. Like this: http://www.cosam.org/images/vt220/keyboard.jpg
lunchbox 5 hours ago 1 reply      
It can also be thought of as a pun -- when you want to "exit" an application, you "X it".
itazula 3 hours ago 2 replies      
Wow, I had always thought the "X" was like an elevator close button. Sort of like a greater-than sign and a less-than sign put together: ><.
jzzskijj 3 hours ago 3 replies      
Too bad, that popular Windows applications like Skype and Spotify have gone against this and made "X to minimize". And their making of Alt+F4 also to minimize drives me nuts.
batiudrami 5 hours ago 1 reply      
I always found it interesting that Sony swapped the X and O buttons for the western Playstation market. In Japan X (batsu) does mean "back" or "no", whereas elsewhere it is reversed.
literalusername 5 hours ago 2 replies      
In this early demo (Codename: Chicago), the minimize and maximize buttons have been redesigned, but the close button remains the same, and to the left as before.

I wonder where the author got the idea that the [-] button at the top-left was a close icon. It was the "Control Box", a menu icon. AFAIK it's still there, just invisible -- hit alt+space to open it.

Disclaimer: I'm currently unable to test that.

spacesword 5 hours ago 7 replies      
They mention X and O on the PS controller but usually in games O is for no and X is for yes. Completely opposite of the batsu/maru, incorrent/correct they were discussing.
kentaromiura 1 hour ago 0 replies      
IIRC on windows 3.1 keyboard navigation X was always the key for exiting, as E was already used for other things.

I clearly remember that for closing windows one could do alt+f4 (which was itself a shortcut to Close) or open the file menu (Alt+F) and select eXit.

I can't check but I believe it was the same for Write and notepad as well and any other programs that had the Exit option.

So maybe that's where the windows 95 developer took inspiration for the X icon

kentosi 5 hours ago 0 replies      
I recall being mildly shocked when Windows 95 came out with the the [x] button. I don't know why, but I thought that it was somewhat dangerous to allow users to quickly exit an application like this.

Maybe it's because I was used to Windows 3.11, where you had to actually double-click the [-] button to exit an application.

bemmu 6 hours ago 1 reply      
In the Atari TOS screenshots, other icons such as arrows are black on white background.

If the icons in upper left and right are also like that, then the upper left icon is actually four little triangles pointing inwards and not an X. The one on the right is four little triangles pointing outwards.

(Or it could be an X)

iachimoe 4 hours ago 1 reply      
As the article shows, the close button on MacOS classic was basically an empty box, but on mousing down on that box, it transformed into something that looks a bit like an x. I'm basing this on what I can see from using [1], but from my possibly inaccurate recollection of using the real thing in the 80s and 90s, some versions of MacOS had an even more "x like" mouse down image on the close button.

[1] http://jamesfriend.com.au/pce-js/

nwp90 6 hours ago 3 replies      
No 'x' to close vi? Was that not always there? I've certainly been using it as long as I can remember; that's not to say it's always been there though - does anyone know when it was first available?

Edit: seems Wordstar used X too, probably starting in 1978.

BorisMelnik 5 hours ago 0 replies      
Windows 95 was the first time I remember using it, and I have been using PC's since TRS model 80. It makes sense, X means "stop" in most cases and stop essentially means close or terminate a process / app.
mambodog 3 hours ago 0 replies      
If you want to see the UI of GEM for yourself, here's an in browser emulator of an Atari ST with GEM:


pjmlp 2 hours ago 0 replies      
Windows versions prior to Windows 95 lacked an "X" button, but double clicking on the left menu icon would close the window.

A behavior still present in modern versions.

bluthru 5 hours ago 0 replies      
What about crossing out dates or tasks?


Or crossing-out an item to "delete" it on the page?

bane 5 hours ago 1 reply      
Wow great article. I don't agree with his conclusion that it came from Japan. But it's as good a reason as any I suppose.

One quick thing, IIR Windows 2.0 and 3.0, the '-' button in the upper left wasn't "close". It was a small menu that happened to have close as an option.

samdb 2 hours ago 0 replies      
Someone in our office insists on calling closing a window 'crossing it off'.
lotsofmangos 5 hours ago 1 reply      
RiscOS had the x as well in the late 1980s

edit - Here's Arthur, the precursor to RiscOS in ~ 1986 - http://www.rougol.jellybaby.net/meetings/2012/PaulFellows/10... - It has nice x icons.

crystaln 1 hour ago 0 replies      
If I recall, clicking on the X on old Macs added an X inside the square, so I think there's a step missing from this article.
colmmacc 5 hours ago 0 replies      
'X' always seemed fitting for another, more poetic, reason: The kiss of death (X also represents a kiss). I wonder if it was in the designers mind.
markmontymark 3 hours ago 1 reply      
"Vi, vim, emacs or edlin?

No [x] to close these 1980's text editors either. X was commonly used to delete characters in-line, but not to close the program."

Hmm... I've used :x to write+quit in Vim for years. And, :X is to encrypt+quit. Don't have a year when that was added though. Could be fun to try and dig that up.

brador 5 hours ago 1 reply      
When we have completed a todo task we "cross it" to mark it done. i would say the x to close is intended to represent a "crossing out" not the letter x. It is pressed to signify a task has been completed.
mschuster91 5 hours ago 0 replies      
Lots of banner ads make the close symbol e.g. the second from right (swap maximize and close) or swap the functions... thus exploiting muscle memory of people to open the ad :/
lukeh 6 hours ago 0 replies      
webkike 5 hours ago 0 replies      
Perhaps it's not an icon, and was meant to indicate eXit. I know must use 'q' for quit, but I've seen a few programs that use 'x'
EGreg 1 hour ago 0 replies      
I think I remember that hitting the "close" button on early, black-and-white macs would make a star appear in the square, signifying the press. Almost like the X...
mjcohenw 5 hours ago 2 replies      
I misinterpreted the title as "X Windows consortium to close."
msie 4 hours ago 0 replies      
For me, the pinnacle of Windows UI design has always been Windows 95.
minusSeven 3 hours ago 1 reply      
Mind telling us why this is so important !
Salmon Cannon Fires 40 Fish a Minute
93 points by jjp  4 hours ago   37 comments top 15
arethuza 1 hour ago 0 replies      
Transferring live fish by pipeline has been used in the fishing industry for a long time - large trawlers will store fish in salt water in tanks and when they get into port they are transferred by pipeline directly from the trawler to the fish processing plant so they are still alive when they hit the table where they are "processed".

[NB A fisherman explained this to me in Mallaig Scotland, none of the fishing boats I've been on were so high tech!]

tombrossman 2 hours ago 2 replies      
I wonder how this affects the fish's slime coating, which is important to preserve. It seems like this would be rubbed off on the material as the fish is propelled along the tube, no?
SinFulNard 3 hours ago 1 reply      
I feel like this was the highlight;http://gfycat.com/SophisticatedFarawayEthiopianwolf
ChuckMcM 3 hours ago 1 reply      
I do not want to be there when the bears learn implicitly that salmon spring from the end of the tube :-) But I love the concept.
hudibras 1 hour ago 1 reply      
This is Hyperloop's MVP.
morganm 1 hour ago 0 replies      
I recently watched DamNation [1] and was quite surprised at the shear number of dams located in the United States. The film claims that most have outlived their purpose. I can't recall the exact cost stated per fish to divert them around dams or raise them in a hatchery, but it was fairly high. The film's production quality was quite high and was fairly eye opening.

While doing a little googling, I found an article [2] claiming $7 million in fish ladder work after structural damage forced a reduction in water level. So perhaps this solution could be cost effective or quickly put in place in case damage occurs just before a run.

[1] http://damnationfilm.com/[2] http://www.columbian.com/news/2014/apr/12/crack-in-dam-force...

ASneakyFox 1 hour ago 1 reply      
This would be crazy if fish start to understand the cannon. Use it on their own and then continue on to find their destination (rather than be totally lost and confused)
anon4 3 hours ago 3 replies      
I've watched all the videos and I still can't understand how that thing can possibly work. They say it creates vacuum and transports things using atmospheric pressure, but both ends of the tube are open! What vacuum are they talking about? Is there a pump at one end sucking air? Am I looking at an elaborate prank?
lubos 3 hours ago 3 replies      
Could this be used for humans? Looks like fun way to commute.
ars 3 hours ago 0 replies      
Watch only the second video, the first is terrible.
ommunist 3 hours ago 1 reply      
This device in its usefulness reminds me the squid gun of the infamous Vector superhero from Despicable Me. Normal people build cascades around dams for salmon. Once built these require zero maintenance.
Fragment 1 hour ago 0 replies      
How long before this is a Minecraft mod?
dsirijus 2 hours ago 0 replies      
It's a good thing to get out of your comfort zone every once in a while.
nether 3 hours ago 0 replies      
into my mouth
praptak 2 hours ago 0 replies      
Here is a Cow Cannon, we can estimate its firing rate at 10 cows per second: https://www.youtube.com/watch?v=F8sMXp6zCl8#t=205
CD Baby, a Company for the Niche Musician
35 points by hudibras  2 hours ago   1 comment top
m_mueller 41 minutes ago 0 replies      
I like their founder's talks, Derek Sivers[1]. He's also got a good youtube channel[2].


Movie rental page on YouTube
49 points by anigbrowl  5 hours ago   33 comments top 15
nakedrobot2 3 hours ago 1 reply      
"This video is not available in your country.

Sorry about that."

No problem. The Pirate Bay is still available in my country.

kolev 4 minutes ago 0 replies      
This is some patchwork page (/user/movies) and authors being the movie studios (/user/sonypictureshomeent). As somebody mentioned earlier, this is precursor to the Play Movies page. I'm not sure why it's still around.
codemac 3 hours ago 1 reply      
Things seem to be more expensive than amazon, and then of course even more account fuckery from Google:

    > Purchases are not available    >    > Channels linked with a Google+ page, such as codemac, can't make purchases on YouTube.    >    > To watch this video, you'll need to switch to your codemac@gmail.com account.
I'm not even sure what that means.

tachion 3 hours ago 0 replies      
'This video is unavailable in your country'. As long as that happens, things like PopcornTime or any other human approachable piracy will continue to exist. Hopefully, the mentioned PopcornTime will 'disrupt the market' enough for the people to understand that the problem isnt in the fact wether I want to pay for the content or not, because I want to, for a long, long time now, but in the fact that I want it now, not tomorrow, not in a month, not when I am in the blessed land of this or another country...
adnam 2 hours ago 2 replies      
I would love to use this, but in Spain it only offers films overdubbed into Spanish and no subtitles.
psykovsky 1 hour ago 0 replies      
7,99 for a movie rental? right...
lsv1 3 hours ago 1 reply      
$20 to rent the Amazing Spiderman 2? Are you fucking daft? It's not worth $20 for the blu-ray or god forbid a DRM free download.

What a farce.

SG- 3 hours ago 0 replies      
I'm not sure how the US pricing compares, but CAD rental and purchase prices seem a bit higher than iTunes Store ($1 more per rental and $5 more for a sale).
yzzxy 3 hours ago 1 reply      
This feature is several years old, IIRC?

Some of these movies seem quite new. Snowpiercer is still in theaters I believe.

rohitarondekar 2 hours ago 1 reply      
Probably a precursor to Play Store Movies: https://play.google.com/store/movies
pan69 1 hour ago 0 replies      
Get a Chromecast and it'll make sense.
witty_username 3 hours ago 0 replies      
Isn't this from Google Play movies?
akurilin 2 hours ago 1 reply      
Haven't tried this yet, but I'm curious: will this work on stock Ubuntu Trusty Firefox or Chrome without having to go into ricer mode? Amazon rented movies don't work, Netflix doesn't work by default, have to resort to using the iPad. Yes yes pipelight, I know.
fred_durst 3 hours ago 3 replies      
Top Selling: Dead Poets Society

): Nothing sadder than profiting off death.

shmerl 3 hours ago 0 replies      
How do they implement the "rental" part, with some sort of DRM? Rental is a nonsensical practice for digital media really. Being bent on this idea leads these renting services to employ DRM. It's not only stupid, there is no real reason for applying the renting approach to begin with. Digital goods aren't limited like physical ones are, so there is no point in renting them out to get them back for reuse.

Simple pay / purchase approach works for digital goods the best, and that more naturally can remain DRM-free.

It has the "Buy" option there by the way. Is it DRM-free? Why can't they just make one option with lower price for "Buy"?

Awesome Screenshot URL tracking and niki-bot
19 points by jpoesen  2 hours ago   5 comments top 4
orf 26 minutes ago 0 replies      
I'm not fond of Chrome's app permissions at all. Too many apps just ask for permission to access everything, and there is little insight into what they exactly do.

I run the Ghostery extension and a year or so ago I noticed that when visiting YouTube ~15 analytic trackers were being blocked. Turns out a couple of extensions were injecting tens of trackers into popular sites (without my express permission), and I would have had no idea unless I had another extension to block and report this activity.

My girlfriends computer is worse - her extensions seem to inject actual adverts into lots of her pages. I asked her why there was an obnoxious "click the bottle to win 1000000$" flash advert on Facebook and she thought it was just how Facebook is. Same thing for YouTube and other popular sites.

roh26it 26 minutes ago 0 replies      
Free tools that provide value should hence be avoided. While evaluating a tool, I've always checked for if a company runs on 1.subscription money, 2. ads, 3. selling my data

Usually stay wary of signing up for anything which tilts towards 3.

walterbell 1 hour ago 0 replies      
> You can drop api28.webovernet.com and the other site into your browser to see where they lead, but well save you the suspense: they are actually redirects for the API for a company called Similar Web, which is one of many companies doing this kind of tracking, and selling the data so other companies can spy on what their competitors are doing.

Is that part of SimilarWeb Pro? It's not clear from the website how their service could be used to monitor the web client traffic of specific companies. An independent reference on the quoted claim would be helpful.

splitbrain 1 hour ago 1 reply      
Can anyone recommend a similar extension as AwesomeScreenshot without this shady behaviour?
Implementations of various type systems in OCaml
43 points by mercurial  4 hours ago   discuss
Spin-It: Optimizing Moment of Inertia for Spinnable Objects
25 points by WestCoastJustin  3 hours ago   4 comments top 2
Pitarou 1 hour ago 0 replies      
If they can extend their work to forms that can be reproduced with injection-molding, the asymmetric yo-yos will make an attractive novelty.
alexchamberlain 1 hour ago 1 reply      
Ok, this is cool, but what is the use to Disney of this research?
Law Students Fend Off a Patent Troll
279 points by teachingaway  12 hours ago   52 comments top 20
TheMagicHorsey 4 hours ago 3 replies      
I'm surprised there isn't an EFF-like non-profit that provides pro-bono patent defense to start-ups, against patent trolls. I would donate to that organization.

I've seen a lot of horseshit patents asserted against start-ups. If there was an organization that followed the troll around and offered defense services against all of their defendants, it would make trolling a lot harder, and might reduce the numbers of these parasitic lawyers involved in this shameless trade.

I just read about a Fish & Richardson patent partner who started filing his own "inventions" with the patent office, based on slight modifications of the patents he was filing for clients, and then sold those patents to trolls for huge sums. Its actually really easy to write patents focused on sabotaging your clients, if you are a lawyer and become familiar with their future roadmaps.

I know a bunch of trivial claims I could write right now and they would be worth a few million in a couple years, because Google, Facebook, and others would have to move in that direction in a few years (related to Machine Learning and image recognition).

All you have to do is follow conferences, understand the papers, and then write some trivial, and obvious evolutions of those techniques. Obviousness is something defendant's find extremely difficult to prove for highly complex technology, because the juries are made of people that have no idea what programming is, much less Machine Learning, and the judge is probably some moron, that thinks he is really smart, and assumes that he patent office is full of diligent geniuses ... and so he will give a lot of weight to the plaintiff's "USPTO certified" claims.

All it takes is for a programmer to be involved in one patent litigation and you see the patent system for what it is. A colossal system of giant, continuous, expensive injustice implemented in the hope of preventing an extremely rare form of injustice (when a true original inventor is cheated by a shameless larger company).

Imagine we institute an expensive system of highly trained commandos to follow every nerd in America around in high schools across the country, to protect them from bullying and to be their friends. It would certainly stop all physical bullying. But would it be worth the giant overhead/expense?

That is what we have to start asking ourselves. Even if the patent system prevents some rare injustices, WTF, is this continuous, and overwhelming cloud of uncertainty for every start-up and company worth it?

I feel like China and India are doing quite alright without overburdensome strong patent protection. And Europe seems fine with a hamstrung software patent system. And even in the US, Microsoft, Oracle, Adobe, IBM, and Apple got their start before software became patentable ... and they all did, and are doing fine.

If you see someone arguing for patents, they are almost always some fucking lawyer, troll, or someone sitting on a giant portfolio. The people actually making software every day don't want this shit system. VCs that fund start-ups, don't want it ... even though you would expect they want it, to protect their investments.

emptywindow 10 hours ago 1 reply      

- Prof. Jonathan Askin - @jaskin - runs the clinic, and trusted us to try this experiment.

- Maegan Fuller - @mafuller21 - did the lion's share of research and writing. Brilliant and dedicated student. She just took the bar exam.

- Jorge Torres - @jorgemtorres - Guy who actually knows patent litigation. Too bad he dropped out of law to be a VC. Pitch him :-)

nkurz 12 hours ago 2 replies      
"The Supreme Court issued 6 patent helpful patent decisions while our case was pending. In particular, Alice v. CLS Bank invalidated patents on taking mundane tasks and doing them on a computer. The patent in our case was basically for sending notification calls from a computer. Probably invalid under Alice. A second Supreme Court case, Octane v. Icon encouraged judges to impose fee shifting penalties in appropriate patent cases."


"After reading it, and weighing the recent Supreme Court decisions, the troll simply dropped its case against CarShield. After months of dedicated work, the clinic students deserved a gavel-banging judicial decision in their favor. All they got was a quiet withdrawal. But I think we can still chalk it up in the win column. The case is dismissed (for now), the students learned real patent litigation skills."

Does the decision encouraging "fee shifting" require that the case go to trial? Does it require that the fees actually be paid by the defendant? Or might the law school students still be able to receive payment by the troll for their pro bono defense? It seems like the "new standard" would be much more effective if it also applied in cases like this.

dang 11 hours ago 0 replies      
This is why we started using law school clinics to do free legal defense. Its a win-win arrangement: students cut their teeth on real litigation, startups get free legal defense, and patent trolls get nothing.


dave1619 10 hours ago 2 replies      
I love this story and it's a great effort by this law school. I wonder if there could be some crowdsourced efforts to pool together key documents, resources, processes, etc so that defending against a patent troll could be more efficient. This would lower costs of defense and further discourage patent trolls.
monochromatic 6 hours ago 2 replies      
> The patent behind all these lawsuits is not particularly innovative. It claims something about sending notifications after an emergency phone call. Heres the gist from one of the figures . . . .

This is a little disingenuous. You know the patent doesn't cover the "gist" or any particular figure. It covers the claims (which you don't mention at all, even in passing). And for some reason, you don't even tell us what the patent number is so we can look at it for ourselves!

From a little googling, I suspect that we're talking about Pat. No. 6,775,356. But why hide the ball and characterize the patent as "not particularly innovative" when you could just let people see it for themselves?


funkyy 6 hours ago 0 replies      
I love how Medium becomes my favourite "time waster". I remember about buzz in media about how pointless Medium was but since some time majority of articles I found on major suggesting websites from Medium are extremely interesting.

When reading articles from Medium I feel like I am not only not wasting time but acquiring knowledge in extremely fast pace.

josho 11 hours ago 2 replies      
I love this. But, am saddened that the troll hasn't lost. The troll is free to move on to the next mark, which likely won't have a free legal team behind them.

I wonder if invalidating patents, that trolls commonly use, a good use of a law student's time?

u124556 11 hours ago 2 replies      
>the troll simply dropped its case against CarShield

Yet the startup and the judicial system already lost time on this. There should be a fee for withdrawing cases like this.

thro1237 5 hours ago 0 replies      
I wonder if this model can work with the criminal justice system as well. Quite often, defendants feel it is better to accept a plea deal even when they have done nothing wrong because the economics of fighting a lawsuit (as well as the outcome in case of a botched up defense) makes it compelling to accept the accept the plea deal. The mechanism is analogous to the patent troll scenario. If law school students can take up these "troll equivalent" cases, they gain valuable experience and defendants get a fair shot.
darksim905 10 hours ago 3 replies      
It was dismissed without prejudice. This means nothing. If a patent troll wanted to do the same thing & file for the same lawsuit, they could easily do so. This isn't a "win" for the sutdents as much as it's "oh, let's just drop it."

I'm glad they didn't have to the pay the troll, but I also hate when the troll doesn't get what it deserves, either: losing.

ProfOak_ 7 hours ago 0 replies      
This article reads like one from 2600. You should consider publishing it on that magazine. I'm not sure about the process, but it might be really neat to do so.
otterley 9 hours ago 0 replies      
Alas, the case was dismissed without prejudice, which means the troll can just wait a little while and sue again later.
thinkcomp 5 hours ago 0 replies      
The reason why it's so expensive for startups to even consider defending themselves is because attorney fees are supra-competitive and corporations cannot represent themselves in court pro se according to Local Rules, such as Civil Local Rule 3-9(b) in the Northern District of California. Whether through (absurd) precedent or rules codifying that precedent, it's been that way for 200 years.

However, it shouldn't be that way anymore--not after Citizens United. I'm fighting a lawsuit about this issue right now, and if I win (however unlikely), corporations will be able to represent themselves against patent trolls.

Is it difficult, confusing and complex work? Yes. Is it any harder than programming, or anything else a serious startup would do? Not really. And it beats paying a law firm six or seven figures.

The case is:


aceperry 7 hours ago 0 replies      
I wouldn't be surprised if there was a lawschool that had students supporting patent trolls. There are some schools out there that are founded on ideological grounds.
zavi 7 hours ago 0 replies      
This is an efficient and sustainable model for higher education in general.
Confusion 1 hour ago 0 replies      
Isn't there a potential startup in here? The judicial process follows clear and distinct steps, with clear and distinct documents for every step. It seems like much of this can be automated as much as the trolls automate their process?

Question 1: has the lawsuit been filed in an odd/irrelevant place? Followed by some subquestions to be more precise. If so, fill out this form, include the addresses of .. and ... and we'll send a form letter to them for you, asking for a dismissal.

Question 2-5: keep stalling and asking for dismissals based on various reasons.

Question 6-10: try some other ways to get the troll to drop it, for instance by presenting an example of obvious prior art

Of course all letter include repeating references to relevant higher court decisions.

dang 12 hours ago 0 replies      
asloobq 9 hours ago 0 replies      
So much WIN!
peterJHS 11 hours ago 2 replies      
This article suggests that this is a win-win situation for the startups and law students, but, it's a pretty one-sided deal here. This doesn't work out at all in the long term without unfair exploitation of the unpaid labor of the students.

While helping out gives the students experience, it's not reasonable to consider this any sort of real option beyond an occasional situation in which a startup can solicit a law-student who takes on a single case as part of their curriculum.

What caused today's Internet hiccup
24 points by jvdh  2 hours ago   discuss
Evolving a language in and for the real world: C++ 1991-2006 (2007) [pdf]
28 points by otoolep  3 hours ago   15 comments top 6
pjmlp 2 hours ago 0 replies      
Another good read is the book "The Design and Evolution of C++".


It does provide a very clear rationale why C++ became the way it was (C++98), given the design goals and the constraint of being C compatible as much as possible, both in language and compiler toolchains.

72deluxe 1 hour ago 0 replies      
"It is more important to allow a useful feature than toprevent every misuse."

That's from his "Design Support Rules" section early on in the paper. I am still going through the paper, but this seems like a good rule and a reason why pointers are still allowed despite the protestations of people who hate C++. Sure, you can get into a pickle with them but that's not the language's fault.

Of course, there has been the rule "use references where you can, pointers where only absolutely necessary" but it's a difficult habit to break...

pbiggar 2 hours ago 1 reply      
This is a great paper! It was given at HOPL 3 (History of Programming Languages, a conference which runs every 15 years). I'd recommend all of the HOPL 3 papers to aspiring language nerds, but especially the ones on C++, Lua, Haskell and Self.
castell 2 hours ago 0 replies      
The chapters C/C++ Compatibility (7.6), Sun and Java (7.7), Microsoft and dotNet (7.8) and Retrospective (9) were very informative. It's a history lesson every programmer should read.
otoolep 3 hours ago 4 replies      
"Exceptions are typically and correctly seen as a control structure". So much for those who say using exceptions for flow control is bad.
otoolep 3 hours ago 0 replies      
Straight from the man himself, Bjarne Stroustrup. Really interesting for any C++ programmer.
Making of the FF Franziska font
64 points by adamnemecek  7 hours ago   14 comments top 8
keehun 4 hours ago 0 replies      
I have always viewed making of fonts as a art form with a tradition as long as written music. We take these fonts for granted, but it's amazing just how much consideration goes into these things. I have so much respect for talented designers like Jakob Runge. I think it's a rarity that someone has the design chops to know what he or she wants, execute the design on paper, be able to write hours of boring repetitive code in OpenType to get the kerning or ligatures just right, and then make sure that each cultural differences are properly accounted for...

As a musician, it's very inspiring when someone pours so much of their personality and time into crafting such masterpieces. Say what you will about the font, but it's coherent and shows you a complete aesthetic world of its own. Beethoven's symphonies may have taken longer to write, and it may have been more difficult, but the love I see from Runge into crafting something that at the end of the day can be replaced by Times New Roman, is amazing and frankly, comparable to Beethoven's.

So much respect.

Avitas 4 hours ago 1 reply      
This font, upon first review, appears to be of the very highest quality from a technical perspective. However, it doesn't initially appeal to me sylistically.

I would like to set a few projects with it to really get a feel for it and see if there are any issues.

george_srs 19 minutes ago 0 replies      
The attention to details presented in this article is amazing and inspiring. What really speaks to me is the timelapse of all the typeface versions in one .gif showing the progress. Now I want to make something similar for my products.
Tomte 5 hours ago 1 reply      
The serifs remind me a lot of Calluna by Jos Buivenga. They even use the same kind of drawings to defend this choice.
stangeek 2 hours ago 0 replies      
Great way to initiate people to the art of crafting a truly remarkable font. At this level, we're really talking about art... And I love the font - well done!

Unless I missed it in the article, I'd be curious to know how many hours / weeks / months it took from v1 to final version?

tux1968 4 hours ago 2 replies      
Wonderful attention to detail, and beautiful results. But i just can't use a font that has ragged numerals; they seem jarring and counterproductive. Much prefer fonts that have uniformity in the numeral glyphs. Most must disagree with me because oddly sized artistic numerals seems quite common in new fonts.
ommunist 3 hours ago 0 replies      
Upvoting this for the beautiful storytelling of the true craftsman. However, FF Franziska definitely lacks Cyrillic glyphs.
adamnemecek 7 hours ago 1 reply      
I changed the original title "Making of FF Franziska" since it's not very descriptive.
Saying Goodbye To Windows 8
7 points by samaysharma  1 hour ago   1 comment top
george_srs 16 minutes ago 0 replies      
The article currently mentions this in the "Update":

> Update: Your author is a moron. Microsoft did in fact promise this [running Metro apps in windowed-fashion] in the future. I had my wires crossed.

Marathon of the Mind: Competitive Computer Programming
17 points by lnguyen  3 hours ago   3 comments top 2
witty_username 48 minutes ago 1 reply      
I disagree that competitions like this test programming mettle. While they may be beneficial for programming, programming under time constraints is different from typical programming.
kevinwang 1 hour ago 0 replies      
That sounds insanely exciting. As a student entering college this fall, this is my new most anticipated activity for the year.
First Images of a Heart Injected with Liquid Metal
56 points by mwc  9 hours ago   9 comments top 6
graeham 58 minutes ago 0 replies      
Bioengineering researcher here, who works mostly on analysis of vascular imaging.

Imaging in general is a field in medicine of increasingly growing importance - and as the article suggests its increasingly limited by resolution of the images. I personally see patient-specific diagnostics from image processing to be one of the most promising medical advances to expect in the coming decades. Image resolution is a major thing holding this back, it probably needs to improve ~2-5X for many applications.

This kind of thing is exciting, but probably at least a decade from clinical use, if at all from this particular technique. Use in research is itself quite interesting in at, at least to my knowledge, microvessels can only be observed by micro-dissection, which disturbs the tissue.

Being able to better observe microvessels clinically could have pretty big implications for heart attacks, strokes, cancers, and kidney functions.

The experiment (from the paper) was done on a in vitro (removed) pig heart (and kidneys, reported in the paper but not Medium article). In vitro studies often give much better images than in vivo because there is less

I am sceptical of the ability to retrieve the injected gallium, although I am not terribly familiar with its properties. I believe it is a quite rare and expensive metal, and the volumes needed for this would be small but not insignificant (maybe 20mL/ organ imaged?). I could see retrieving it being an issue, and particularly in the heart or brain, blood flow would need to be restored within a few minutes.

Iodine contrast agent, which this technique is compared against, is pretty nasty stuff. It gets filtered out by the kidneys, and is toxic to them. If anything, there is a movement to get away from contrast-based CT imaging of vessels and towards MRI or ultrasound, where contrast isn't required.

gjmulhol 4 hours ago 1 reply      
I've worked a lot with liquid gallium (in semiconductors, not medicine) and it is pretty nasty stuff. It might not be very reactive, but it is extremely corrosive to other metals and can crystallize very quickly if given a seed.

A quick search for a gallium MSDS confirms that it isn't exactly regarded as medically safe right now: https://www.rotometals.com/v/vspfiles/downloadables/MSDS_GAL...

elwell 4 hours ago 1 reply      
On a related note, look at what gallium does to aluminium: http://youtu.be/9DEjE8jiwT8?t=1m7s
burke 5 hours ago 0 replies      
Somewhat higher resolution image on page 8 of http://arxiv.org/pdf/1311.6717v1.pdf
Cthulhu_ 2 hours ago 0 replies      
I'd be very reluctant to have gallium injected in me, but it's still a valuable technique to map out (and make casts of) hearts and vascular systems in animals or people that donate their body to science.
MichaelApproved 3 hours ago 0 replies      
And they say a small amount of the metal can be injected into the target vessels and sucked out afterwards without leaving a residue."

The most curious part of the story isn't there, how do you suck out the metal afterwards? What percentage are you able to reliably suck out?

Ubuntu Bug 255161: Openoffice cant print on Tuesdays
45 points by franze  1 hour ago   4 comments top 3
cbright 21 minutes ago 0 replies      
It's interesting to follow some of abrianb's comments by date:

"When I click print I get nothing." -Tuesday, August 5, 2008

"I downloaded those updates and Open Office Still prints." -Friday, August 8, 2008

"Open Office stopped printing today." -Tuesday, August 12, 2008

"I just updated and still print." -Monday, August 18, 2008

"I stand corrected, after a boot cycle Open Office failed to print." -Tuesday, August 19, 2008

spacefight 27 minutes ago 0 replies      
riquito 9 minutes ago 1 reply      
In the end the error was in the program "file", which erroneously was detecting the postscript file as an Erlang JAM file

(see https://bugs.launchpad.net/ubuntu/+source/file/+bug/248619)

2014 Fields Medals announced
251 points by johnb556677  15 hours ago   56 comments top 15
mhartl 11 hours ago 1 reply      
I was in the same Harvard class as Manjul Bhargava, one of this year's Fields Medal winners. I remember having lunch with him as a freshman and being amazed that he was already taking Math 134 (topology). I slowly realized he'd effectively taken a full undergraduate math curriculum in high school.

I had a friend who was Manjul's TA for a probability class our senior year. I still remember him exclaiming, "There's no way that series telescoped!" [1] when Manjul solved one problem in a particularly clever way.

The strange thing is that it was hard to tell at first if Manjul was particularly smart. Two of our other mathematically accomplished classmates, Lenny Ng and Kiran Kedlaya (both of whom I knew much better than Manjul), were obviously brilliant, but with Manjul it took a lot longer to figure out he was a genius.

I think now the secret is out.

[1]: http://en.wikipedia.org/wiki/Telescoping_series

netvarun 12 hours ago 0 replies      
Quanta Magazine, published by the Simons Fonundation, has an article on each of the four Fields Medallists and the Nevanlinna Prize winner, Subhash Khot.

Artur Avila - A Brazilian Wunderkind Who Calms Chaoshttp://www.simonsfoundation.org/quanta/20140812-a-brazilian-...

Manjul Bhargava - The Musical, Magical Number Theoristhttp://www.simonsfoundation.org/quanta/20140812-the-musical-...

Martin Hairer - In Noisy Equations, One Who Heard Musichttp://www.simonsfoundation.org/quanta/20140808-in-mathemati...

Maryam Mirzakhani - A Tenacious Explorer of Abstract Surfaceshttp://www.simonsfoundation.org/quanta/20140812-a-tenacious-...

Subhash Khot - A Grand Vision for the Impossiblehttp://www.simonsfoundation.org/quanta/20140812-a-grand-visi...

IvyMike 14 hours ago 4 replies      
Notably, Maryam Mirzakhani is the first woman to win a Fields medal.


comatose_kid 14 hours ago 1 reply      
Amazing group of people. Manjul is my wife's cousin so I have heard of a few examples of his brilliance (like the time he corrected his mom, a Math prof, during one of her lectures - he was a middle-schooler at the time).

Here's a nice piece NPR did on him:http://www.npr.org/templates/story/story.php?storyId=4111253

johnb556677 12 hours ago 0 replies      
The Nevanlinna Prize was also awarded. This is the award mathematicians give to theoretical computer scientists. This year the winner is Subhash Khot from NYU. His main result is the Unique Games Conjecture (UGC) and how it can be used to obtain hardness of approximation results for algorithmic problems. For example, it is used to show that MaxCut cannot be approximated better than a factor of 0.878.. unless UGC does not hold. Remarkably this exact approximation factor is achievable by the breakthrough SDP algorithm of Goemans and Williamson. It is not currently clear if UGC is true and the opinions of theoreticians are split.
ekm2 13 hours ago 0 replies      
'Manjul Bhargava completed all of his high school math and computer courses by age 14.[..] Princeton hired him at the rank of tenured full professor within only two years of finishing graduate school, which is considered a record in the Ivy League.'


Q6T46nT668w6i3m 13 hours ago 1 reply      
Martin Hairer is a OS X developer and the author of the fantastic Amadeus multi-track audio editor.


digital55 13 hours ago 0 replies      
In-depth profiles and videos about all 4 Fields medalists here: http://www.simonsfoundation.org/quanta/20140812-a-brazilian-...
alexyes 8 hours ago 1 reply      
A pity only very few people in the world can fully understand the beauty of the mathematical proofs these geniuses created
burkaman 11 hours ago 1 reply      
Is it just me, or are the winners not listed anywhere on this site? It says "The Prize Committees for ICM 2014 have begun their work." And "last updated: 2014-07-30" at the bottom. Was the page reverted to an older version for some reason?
javipas 12 hours ago 1 reply      
Strange to see this precisely today.

I can't help seeing this and remember once more Robin Williams (RIP) in 'Good Will Hunting', where I first knew about the Field Medal and the magic of Maths was a recurring theme in that fantastic movie.

WhitneyLand 14 hours ago 1 reply      
>>created an abstract theory of regularity structures for stochastic partial differential equations

Fairly obvious but whatever.


idlewords 13 hours ago 0 replies      
Some of this stuff is pretty abstruse. Can someone rephrase the winners' research programs in the form of Harry Potter fanfic?
nraynaud 13 hours ago 2 replies      
Haha, "But Khots Unique Games Conjecture has already amply proven its value, even should it ultimately be disproven. It has cast a bright light on previously dim areas of computational complexity and provided critical insight and, yes, Khot has also used it to prove major results, ones that stand regardless of its truth."

weak people conjecture and then get results "if my conjecture stands". This guy is a black belt, he makes a conjecture, gets a field medal for it, and then removes it from his proof ("just joking, it works wether it's true or not").

Still gets the medal for the now useless conjecture and not for the ultimate proof.

Hearing Music in Noise, Martin Hairer Wins the Fields Medal
44 points by digital55  6 hours ago   1 comment top
A New Editor by Slides News
31 points by rinesh  5 hours ago   7 comments top 3
robinhoodexe 29 minutes ago 0 replies      
Interesting, I'll check it out, although I'll probably end up sticking with LaTeX's Beamer class anyway.
samdroid 3 hours ago 1 reply      
I was surprised to see this today as I want to use slides!

I am actually a fan of the simple, anti-powerpoint editor - that is why I use slides.

I hope you keep the old edited as an option so there is still the easy way to make WOW slides!

hakim 3 hours ago 2 replies      
I'm the JS developer/designer who built this. Happy to answer questions if you have any.
Reverse engineering a fake Tor browser bundle
9 points by lelf  1 hour ago   discuss
Interactive Design and Optimization of Free-formed Free-flight Model Airplanes
37 points by tomkinstinch  8 hours ago   7 comments top 6
younata 5 hours ago 0 replies      
A very interesting paper [0]. I'm actually taking a similar approach (though, more generic in nature) for my CFD work (namely, using experimental data to help correct my numerically obtained answers for the same craft). After that, we take very different approaches in our work.

[0]: http://www-ui.is.s.u-tokyo.ac.jp/~ume/publication/2014_siggr...

wudf 4 hours ago 0 replies      
This is the coolest thing I've seen all day. Every kid should get the chance to play with this software in school and build their designs
riobard 4 hours ago 0 replies      
Does anyone feel the female narrating voice is artificially-generated from a script?
fit2rule 1 hour ago 0 replies      
These are more accurately described, I think, as paper darts - the lack of camber in particular, makes this more of a dart design tool. But! Its a step closer to having a real airplane design tool .. if they can layer the wings and produce camber using the same simple cutout techniques, then we have something even more useful for the budding junior pilots of tomorrow to use to learn how things fly.

(Disclaimer: I'm working on an airplane printer. You turn a handle, feed in raw materials, and get a flying product at the other end of the box. I'm focusing on Kline-Fogelmann wing style, since its a very easy and workable camber technique .. hope to have something to report to HN about the project soon..)

sanxiyn 3 hours ago 0 replies      
I want this in the next mobile game I play.
fezz 3 hours ago 1 reply      
Is the app available?
Errata prompt Intel to disable TSX in Haswell, early Broadwell CPUs
189 points by geoffgasior  17 hours ago   71 comments top 12
mrb 15 hours ago 4 replies      
For those wondering, the TSX instruction set is http://en.wikipedia.org/wiki/Transactional_Synchronization_E...

I first heard about transactional memory when Sun had plans to implement it for its UltraSPARC Rock processor. There is a decent overview of the concept at http://en.wikipedia.org/wiki/Transactional_memory

voidlogic 12 hours ago 3 replies      
>Software developers who wish to continue working with TSX will have to avoid updating their systems to newer firmware revisionsand in doing so, they'll retain the risk of TSX-related memory corruption or crashes.

Say I bought a TSX enabled CPU specifically for that feature, I wonder if Intel will give me my money back... (they can have their broken CPU of course too)

rayiner 15 hours ago 1 reply      
Unsurprising. I don't think the details of TSX have been revealed, but the implementation potentially has complex interactions with the cache subsystem: http://www.realworldtech.com/haswell-tm.

Given that TSX is one of the features that distinguishes some of the more expensive Haswell SKU's, is Intel going to issue a refund for affected customers?

filereaper 6 hours ago 0 replies      
Here's the current list of Errata's from June:http://www.intel.com/content/dam/www/public/us/en/documents/...

I see two about TSX:

  HSD87 X No Fix          Intel TSX Instructions May Cause Unpredictable System behavior  Problem: Under certain system conditions, Intel TSX (Transactional Synchronization Extensions) instructions may result in unpredictable system behavior.  Implication: Due to this erratum, use of Intel TSX may result in unpredictable behavior.  Workaround: It is possible for the BIOS to contain a workaround for this erratum.  Status: For the steppings affected, see the Summary Table of Changes  HSD114 X No Fix         Intel TSX Instructions May Cause Unpredictable System behavior  Problem: Under a complex set of internal timing conditions and system events, software using the Intel TSX (Transactional Synchronization Extensions) instructions may observe unpredictable system behavior.  Implication: This erratum may result in unpredictable system behavior. Intel has not observed this erratum with any commercially available system.  Workaround: It is possible for the BIOS to contain a workaround for this erratum.  Status: For the steppings affected, see the Summary Table of Changes
HSD114 above seems to be the bug from the techreport article.

DSingularity 14 hours ago 0 replies      
Yeah, this is exactly why high performance chips have a microarchitecture that lags client chips. Such bugs would devastate the value of those chips. This will affect haswell Xeon. I bet some serious discussions for delaying that chip are ongoing right now.
comex 12 hours ago 1 reply      
I think this is the latest specification update for at least some of the relevant processors:


It was last updated in June, so I guess it doesn't contain this latest erratum. Can't wait until it's updated... though I don't know if Intel is likely to disclose details.

sbahra 14 hours ago 1 reply      
So, what's the bug exactly?
0x0 14 hours ago 2 replies      
So.. will everyone simply accept the microcode update that disables those instructions? Or will there be some kind of compensation for newer laptops etc? Wonder how Apple will deal with this, for example.

Or is this such a non-issue that nobody cares?

kps 14 hours ago 2 replies      
Dang. I bought an i4770 rather than i4770K specifically because of TSX.
monocasa 14 hours ago 0 replies      
That's too bad, I was really looking forward to playing around with TSX on some side projects.
Firefishy 10 hours ago 1 reply      
Running a recent Ubuntu or Debian?

Install the microcode by running: sudo apt-get install intel-microcode

Alternatively install a BIOS update once available.

ksec 14 hours ago 0 replies      
Well they should consider themselves fortunate since Haswell Xeon isn't yet on the market.

Are there any scenario where Transactional Memory are useful in consumer environment?

STARTTLS Considered Harmful
9 points by vectorbunny  2 hours ago   2 comments top 2
hadoukenio 0 minutes ago 0 replies      
> a poorly-programmed client would fall back to using the protocol without TLS

That was the whole point of STARTTLS - to allow a way to start a tunnel but be backwards compatible to older clients.

The real problem was that they didn't account for MITM attacks.

leni536 2 hours ago 0 replies      
a poorly-programmed client would fall back to using the protocol without TLS

This is not a protocol vulnerability though. Poorly written programs cause problems with any protocol.

What happens if you write a TCP stack in Python?
363 points by jvns  20 hours ago   107 comments top 30
tptacek 20 hours ago 10 replies      
The idea that Python is so slow that it's confusing TCP sounds wrong to me. I think it's more likely that your packet capture scheme is slow. It looks like you're using scapy, which I assume is in turn using libpcap... which may be buffering (in high-performance network monitoring, the packet capture interface goes out of its way to buffer). Which is something you can turn off.

About 13 years ago, I wrote my own programming language expressly for the purpose of implementing network stacks, and had a complete TCP in it; I didn't have this problem. But I do have this problem all the time when I write direct network code and forget about buffering.

Similarly: "Python is so slow that Google reset the network connection" seems a bit unlikely too. Google, and TCP in general, deals with slower, less reliable senders than you. :)

What's the time between your SYN and their SYN+ACK?

smutticus 5 hours ago 0 replies      
I'm the author of hexcap(http://www.hexcap.org), an ncurses libpcap file editor and packet generator. I've also written many Scapy applications like this one(https://github.com/smutt/mcastClients). I rewrote the DHCPv4 client in Scapy since the stock one is broken. Also as part of hexcap have made numerous fixes to dpkt. Needless to say, I've done a lot with Python and packets.

If you're interested in writing a TCP/IP stack in Python I would recommend you use Python raw sockets, or possibly dnet[1] or pcapy[2]. The Scapy level of abstraction is too high for your needs.

I agree with other posters who mention buffering in libpcap. Read the man page for pcap_dispatch to get a better idea of how buffering works in libpcap. Also try capturing packets with tcpdump with and without the '-l' switch. You'll see a big difference if your pkts/sec is low.

Don't do arp spoofing. If you're writing a TCP/IP stack then you need to also code up iparp. If you don't want to do that, then use raw sockets and query the kernel's arp cache.

On second thought you really need to use raw sockets if you want this to work. Using anything pcap based will still leave the kernel's TCP/IP stack involved, which is not what you want.

[1] http://libdnet.sourceforge.net/pydoc/private/dnet-module.htm...[2] http://corelabs.coresecurity.com/index.php?module=Wiki&actio...

sly010 19 hours ago 1 reply      
If an 8MHz microcontroller is fast enough to implement TCP, then Python should be fast enough too.

Here is my two cents on the expirement:

1. You don't really have to ack every packet, you have to order them, drop duplicates and ack the last one.

2. Google ignores the TCP flow control algorithm and sends the first few hundred packets very quickly without waiting for acks. They do this to beat the latency of the flow control algorithm. That's why you end up with so many packets on your side. You could just try anything but google, and you would probably see that you have a less insane packet storm.

kashif 18 hours ago 3 replies      
I have actually implemented a TCP stack in python, unfortunately I can't share it publicly just yet.

The authors problems are because she is not using RAW_IP_SOCKETS.

Making TCP packets using pythons struct module is a breeze. I can post specific examples in code if anyone is interested.

Finally you can write a proper TCP stack in python, there is no reason not to. Your user-space interpreted stack won't be as fast as a compiled kernel-space one - but it won't be feature short.

PS: I guess, Google is probably sending him a SSL/TLS handshake which he isn't handling.

Edit: Corrected author's gender as mentioned by kind poster.

jnbiche 18 hours ago 1 reply      
This is a fun write-up. If you enjoy this kind of playing around with networking in a dynamic language, and don't want to have to worry about ARP spoofing to do these kinds of experiments, you may want to take a look a Snabb Switch. It provides userland networking in Lua, connecting to the NIC directly (only a handful of popular NICs currently supported) [0].

I've not used it yet, but I've read over the documentation and am itching for an opportunity to do so.

0. https://github.com/SnabbCo/snabbswitch

mholt 20 hours ago 1 reply      
ARP spoofing... clever. This was an amusing read and really informative, too. There is definitely something to be said for explaining lower-level concepts (e.g. TCP handshakes) using the common tongue. IMO, not a bad way to begin learning. Someone could perform the same experiment now and use Wireshark to see the raw packets, then draw conclusions to what is happening.

Anyone know why the Python program is so slow? I'm looking at the code and my first guess would be this part[1] but I can't explain why, overall, it would be so slow that a remote host would close the connection.

[1] https://github.com/jvns/teeceepee/blob/7e93970e16fbb0c3d4bee...

blutoot 19 hours ago 0 replies      
This wins the Internet today for me... "my kernel: lol wtf I never asked for this! RST!my Python program: ... :("
malone 18 hours ago 0 replies      
I like your solution to prevent the kernel from interfering with your packets.

An alternative method I've used in the past is to add an iptables rule to silently drop the incoming packets. libpcap sees the packets before they are dropped, so you'll still be able to react to them, but the kernel will ignore them (and therefore won't attempt to RST them).

kalleboo 19 hours ago 0 replies      
It seems odd to me that Google would time out that quickly. You could never reach Google from a GPRS connection if that was the case. I'd investigate the ACKs you're sending. Are you missing packets or sending them in the wrong order?

In Uni we had a networking course where we got to build a network web server software stack from the bottom up, starting with Ethernet/MAC, TCP/IP, and then on the top HTTP, all being flashed onto a small network device (IIRC it was originally a CD-ROM server). It was an extremely enlightening exercise. I recommend you go deeper instead of just using a premade Python library for TCP!

kfnic 20 hours ago 2 replies      
Shouldn't the TCP handshake look like this:

---- SYN ---->

<-- SYN/ACK --

---- ACK ---->

rather than having the client send two SYNs to the server?

latiera 16 hours ago 0 replies      
It's not Python that's slow, but scapy, which is dog slow. In fact, it is so slow that it should comewith big WARNINGs that it's only really meant for interactive use. Do the dissection yourself or use something built for that purpose.

It's really surprising to me that lots of ppl are usingscapy for things that require performance but then againif you look at the scapy website or the docs, it's not immediately apparent that their tool is not meant for this.Which I guess says a lot about the scapy developers ratherthan the scapy users.

tl;dr Scapy is a joke, performance-wise.

Sami_Lehtinen 5 hours ago 0 replies      
There's no reason to ACK every packet. It's very common to deal with things selectively. SACK: http://packetlife.net/blog/2010/jun/17/tcp-selective-acknowl...
srean 11 hours ago 3 replies      
Too late to join the story, but I am really curious if datacenter nodes intended for heavy mapreduce use implement this layer in user space.

The bottleneck for such processes is typically network I/O and I can imagine that taking control of the network in the user space might offer some modest to significant wins. For Hadoop in particular network packets needs to traverse quite a few layers before it is accessible to the application.

Has anyone done this sort of a thing for mapreduce. Pointers to any writeup would be awesome.

In fact TCP itself might be an overkill for mapreduce. The reduce functions used are typically associative and commutative. So as long as the keys and values are contained entirely within a datapacket, proper sequencing is not even needed. Any sequence would suffice.

js2 16 hours ago 1 reply      
All three volumes of TCP/IP Illustrated may be found on the Internet in pdf form, but they are well worth buying.

Tangent: One of my favorite interview questions is to ask how traceroute works. The question works best when the candidate doesn't actually know. Then we can start to discuss bits and pieces of how TCP/IP works, until they can puzzle out the answer.

norswap 10 hours ago 0 replies      
If you're interested in the matter, here's more background info on userland TCP stacks:


beering 20 hours ago 3 replies      
I wonder if it would have a better success rate on a site other than Google's, since I've heard that Google's done extensive tuning of their TCP stack to send page data faster.

Somebody's oversubscribed $3/month shared PHP hosting might not ramp up the speed as quickly.

lukego 18 hours ago 0 replies      
Cool :).

I also learned a lot about networking by writing a TCP/IP stack in Common Lisp. http://lukego.livejournal.com/4993.html if you are interested.

beagle3 17 hours ago 0 replies      
While not immediately relevant, if you find this discussion interesting, have a look at sshuttle:

sshuttle[0] is a pure-python one-way TCP VPN solution that is very well behaved and quite efficient. The source is highly readable as well. +1 to everything Avery Pennarun has released (including wvdial, bup)

[0] https://github.com/apenwarr/sshuttle

lnkmails 17 hours ago 0 replies      
As someone who worked on writing protocol specs as code for simulation purposes, I can see how much fun this is. A pure python network simulator (ns2 is C++ and painfully hard to debug) would actually be nice and encourage a lot of theoreticians to get into real programming. I've spent a reasonable amount of time in the industry building distributed systems and I can say with confidence understanding low level protocols improves your thinking.
wslh 20 hours ago 1 reply      
And in Squeak (Smalltalk) ? take a look at: http://www.squeaksource.com/@Hl1Cdo4NwCmLqQl0/Im9cEg0J
philangist 20 hours ago 3 replies      
Fun read. Does anyone here know how to deal with the Python being slow at sending ACK packets problem? Or is it a built-in limitation that comes with dealing with high level languages?
fragmede 15 hours ago 0 replies      
Unfortunately, most people are going to read the headline, read the conclusion (that Python is too slow for TCP), and not realize that it's wrong.

Hopefully someone will blog a response post that gets popular on HN proving just how wrong it is.

c_plus_minus 20 hours ago 0 replies      
Ha! Nice read, perfect after lunch material with my coffee :) Good job
peterwwillis 17 hours ago 0 replies      
You don't need to spoof a different MAC or IP to implement your own stack on a raw socket, Python is not too slow to handle negotiating a connection, and your interpretation of how tcp/ip works is flawed. I highly recommend you read a good book about tcp/ip and learn how the kernel works with network applications of different types.

In terms of using Scapy for your packet crafting, here are some guides with examples that may help you work around your issues. (Hint: use the Scapy-defined sending and receiving routines and don't implement your own, or stop using Scapy and implement your own raw packet sockets) http://securitynik.blogspot.com/2014/05/building-your-own-tc... https://github.com/yomimono/client-fuzzball/blob/master/fuzz... https://www.sans.org/reading-room/whitepapers/detection/ip-f... http://www.lopisec.com/2011/12/learning-scapy-syn-stealth-po...

kernelwaste 20 hours ago 0 replies      
This is not an implementation of a TCP stack.
cookiemonster11 20 hours ago 1 reply      
This is not a TCP stack.
zzzeek 16 hours ago 0 replies      
My first thought was "it'll be slow as shit", then I clicked the article to confirm. Win!
prht 19 hours ago 0 replies      
I don't know what TCP stack is, but in case if you are interested in implementing TCP/IP stack http://git.savannah.gnu.org/cgit/lwip.git/tree/src
kesor 20 hours ago 2 replies      
And there is no mention of ScaPy? http://www.secdev.org/projects/scapy/
Something is amiss with the Interwebs: BGP is a flapping
143 points by btilly  15 hours ago   40 comments top 14
rwg 12 hours ago 2 replies      
The default partitioning of CAM space on Cisco gear is the obvious issue, but the root cause is the massive deaggregation of announced IPv4 routes on the Internet. You can see various statistics about this problem at http://www.cidr-report.org/, but the short of it is that if the top 30 networks (based on announced route savings) completely aggregated their announcements as much as possible, ~41,000 routes (~8% of the routing table) would be eliminated.

And that's just the top 30 networks if every network cleaned up their announcements, it would eliminate ~232,000 routes (~45% of the table).

Adding to the deaggregation problem is the inability to easily filter out route announcements based on RIR minimum allocations without having to add tons of exceptions for CDNs that operate as islands of connectivity and carve out IP space for each island from a single address space allocation. (There's no covering route for the islands of connectivity since these CDNs have no "backbone" connecting the islands, so if you filter out those smaller announcements, you lose connectivity to those islands.)

There are many people who think this problem will just magically go away as IPv6 adoption increases, but all increased IPv6 adoption will do is make limited CAM space even more limited as network engineers have to balance dividing precious CAM space between a ballooning-quickly IPv4 route table and a ballooning-slightly-less-quickly IPv6 route table.

(To be clear: I think ubiquitous, functioning, end-to-end native IPv6 connectivity needs to happen sooner than later, but it's not a magic bullet for the Internet's technical problems.)

namecast 13 hours ago 2 replies      
I dropped this into another HN thread, so I'll just put it here:


Takeaways: a) 512K routes isn't necessarily a hardware limitation, it's the default TCAM allocation for IPv4 and B) most people most of the time don't need their routers to take a full BGP feeds worth of routes - and I hope those that do aren't running 6500's in Q3 2014 ;)

oasisbob 12 hours ago 0 replies      
As discussed on NANOG from a few months ago:


I find the economics of the routing table to be fascinating. When someone announces a route, it makes use of a constrained (and often expensive, TCAM-based) resource on routers all over the world. More discussion:


disbelief 13 hours ago 3 replies      
Slate article on using BGP hijacking to redirect mined bitcoins from an hour ago. Relevant? http://www.slate.com/articles/technology/future_tense/2014/0...

edit: I'll take it by the downvotes without responses that's a "no"?

phkahler 12 hours ago 3 replies      
Wouldn't it be nice to allocate a small part of the IPv6 space to geographically encoded IP addresses? In other words, the address itself can be used to physically locate the destination and a route could be chosen partially according to geography. It seems like this should be less arbitrary than the routes you need to chose now. Or is it?
fivre 9 hours ago 0 replies      
Neat, I was up late last night and noticed several sites stop working at almost exactly the time of the spike on Cyrmu's graph that went away when I proxied through my Linode in the Dallas datacenter (normally I just go straight through Comcast), though I didn't really think much of it at the time.
serverascode 12 hours ago 0 replies      
I'm surprised this isn't getting more press. Shaw in Alberta has been having problems all day, not sure if it is because of this but I would hazard a guess that it is.
antihero 10 hours ago 0 replies      
Could this be anything to do with why my ping has been spiking to 20 seconds today? Or is it just Sky being useless?
DinooD 12 hours ago 1 reply      
Fun times today at work.
wnevets 13 hours ago 0 replies      
ruined my morning at work, ugh
nextweek2 13 hours ago 1 reply      
I love this. There is too much conservative behaviour at the expense of innovation. Things break, let's be prepared, let's upgrade, let's not worry about 100% up time and start actually building something bigger.
exabrial 12 hours ago 0 replies      
Standard response: Quick, deploy IPV6 and fix the problem!


Uber Now Has an Executive Advising the Pentagon
7 points by shankysingh  2 hours ago   discuss
Guide dogs and guns: America's blind gunmen
18 points by jjp  4 hours ago   10 comments top 2
rdl 2 hours ago 1 reply      
It was interesting how in the photo of him using the sonic scope, he had one eye open and the other closed, in the manner a sighted person would use a scope.

I'm really intrigued by the tech for this whole area - clearly these guys are absurd 0.001% outliers, but I wonder if you could make a (lethal or non-lethal) self defense device for reduced-vision or blind people which used image recognition. It's going to happen at physical-contact distances, but having some combination of camera, pepper spray or firearm, and safety interlock (like a nailgun, where you press it against the material to allow it to fire)?

Ideally something which requires even less physical strength, vision, or other ability than a firearm (handguns are actually hard to use in self defense for a variety of situations). An impaired mobility, impaired vision person totally deserves some kind of protection, and probably needs it more than someone who can see trouble coming from a distance, or run away.

marak830 3 hours ago 4 replies      
Insanity. Even the author thinks so, by the tid bits at the end of the piece.
Standing desk experiment and consequent knee injury
4 points by Gargol  1 hour ago   1 comment top
guilloche 3 minutes ago 0 replies      
It seems that I am not the only one gotten hurt by standing all day long.

In my case, the knees are fine, the joint between my right thigh and body got hurt baddly.

So, do not stand a lot, do not sit all day long either.

Do drink water regularly, (kidney stones for sitting programmers) too much water will cause kidney problems too.

BPA-Free Plastic Containers May Be Just as Hazardous
100 points by brianbreslin  12 hours ago   66 comments top 6
freshfey 21 minutes ago 0 replies      
So far I haven't found an alternative for freezing big chunks of meat or veggies (in portions that make sense for 1-2 people) in the freezer without using plastic bags or plastic containers - any alternatives?

As for water bottles, I'm a fan of the stainless steel klean kanteen with the bamboo cap

eitally 8 hours ago 3 replies      
For Americans: mason jars come in a plethora of shapes and sizes, and are dirt cheap. :) I use a quart size as my water glass and we bought Cuppow sippy lids in both diameters to make them easier/safer/neater to use in challenging situations (cars, kids).

Cuppow: http://www.amazon.com/s/ref=bl_sr_kitchen?ie=UTF8&field-bran...

mdellabitta 11 hours ago 4 replies      
This is why I went stainless.

Look out, many times aluminum bottles are lined with a BPA coating, too.

lsc 2 hours ago 0 replies      
I find the new fear about "estrogenic chemicals" to be kind of amusing. I mean, of course, we're surrounded by toxins, and sure, it's worth some effort to avoid some of those toxins, but the amusing part is that if someone really wants to scare you about a toxin, they don't tell you that it will make you stupid or give you cancer; they imply that it will make you less of a man.
brohoolio 10 hours ago 9 replies      
Ugh. I'm having a kid soon and now what's my best option? Glass? I'll gladly pay extra not to poison her.
rdl 6 hours ago 3 replies      
Unmotivated product placement, but I'm really into 316 stainless. I use HydroFlasks (http://www.hydroflask.com/), from Amazon. They're heavier by far than either plastic or aluminum-with-bpa-lining, or single-walled stainless, but incredibly durable, and being able to have a freezing or hot beverage inside the container for a day or two is pretty awesome.

An OXO bottle brush is pretty essential to cleaning; I then use boiling water, soap, and sometimes bleach to clean them out.

I wish I could get a run of them custom printed as promotional items, and ideally cerakoted, but that would be horrible overkill.

(they're also a good way to transport high quality alcohol into settings where alcohol may not be so permissible...)

17 points by kator  5 hours ago   3 comments top 3
kator 5 hours ago 0 replies      
I was reading the post today about traffic signal timing[1] and just happened to walk past a traffic controller box and found a box with various stuff that apparently an installer left behind when installing a new device in the local traffic light system. I looked up the site and it looks like a computer vision system for traffic control.

[1] https://news.ycombinator.com/item?id=8166678

kator 5 hours ago 0 replies      
plaguuuuuu 3 hours ago 0 replies      
the support site where you can download stuff to reprogram the CPUs is passwored protected but runs on wordpress.

i hope it's up to date!

       cached 13 August 2014 10:02:01 GMT