How to Raise Racist Kids - <AUTHOR> http://www.wired.com/geekdad/2010/02/how-to-raise-racist-kids/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+wired%2Findex+%28Wired%3A+Index+3+%28Top+Stories+2%29%29&utm_content=Google+Reader <comment><USER2> _Only 8% of white American high-schoolers have a best friend of another race. (For blacks, it's about 15%.)_

Uhm, yeah and? If 99 out of a 100 people are white and 1 is black, which percentage of white people will have a black best friend, assuming random assignment of friends? 1%! And the black guy will have 100% of his friends of different race.

 _The more diverse a school is, the less likely it is that kids will form cross-race friendships._

Did they control for income level? Because low income coincides with violence and gang formation. Your child income level will not change if you talk to them about race before 3rd grade.

What looks like racism is likely just (poor understanding of) statistics.

<comment><USER3> > The more diverse a school is, the less likely it is that kids will form > cross-race friendships.

That doesn't make any sense to me at all except in cases where "diverse" means "has a large population of one other racial group than white". I grew up in a tremendously diverse area of the country, the local university is one of the top5 most diverse schools in the country. Almost none of my friends were of my race, and almost none of their friends were their race either. I would expect than in a classroom of 30 kids, 15-20 countries or nationalities could be easily represented. My little gang of school friends represented nearly every continent on the planet, one kid was from Japan, one kid was mixed Japanese/American, one kid was African (from Ghana if I remember), two brothers were Cypriot, another friend was Mexican and another one was Salvadorian. Most of the kids on my school bus didn't even speak each other's native tongue.

Diverse means "diverse" not "bi-polar". It's really easy to separate into like-racial social groups when you have two large groups of different races vs. lots of small groups of many races.

<comment><USER4> It makes sense to me. I went to both a high school and a college where there were sizable minority groups.

To be clear, I ended up making friends with a diverse group. But I would often get strange looks for not sitting with other members of my own race (asian) in my classes.

What I noticed was that, if the minority populations are large enough, there is no incentive to really inner mingle among races.

At my college, you would see fraternities where there were clear race lines, so there would be a white fraternity, an asian fraternity, hispanic, etc.

Conversely, there is a university in a nearby city where the minority groups are much smaller so minorities don't have the luxury of clustering together into separate groups. So I saw more people with more cross-race relationships.

<comment><USER5> My fraternity was predominantly white, but not by design. It just worked out that way.

I recall we once pledged a guy named Jose, a very cool guy who happened to be Hispanic. We were really happy to have him. But the local fraternity that specialized in Hispanics continually harassed him until he couldn't see any solution but to drop out of our pledge class.

</comment></comment></comment></comment><comment><USER5> Perhaps the problem is pretending that everyone is the same. The kids aren't stupid, they can see this isn't true, and they're bound to fill that vacuum with whatever else they can pick up.

I'd think that the better strategy would be to embrace the difference. Recognize that races and cultures really do have different qualities. But because the mixture is so complex, and the world that we apply those qualities within is also so chaotic, that it's quite impossible to say that, in the final reckoning, any one is superior to another.

[Edit: dropped "up" at end of 1st paragraph]

<comment><USER6> What different qualities do "races" have?

<comment><USER5> One of my favorite examples here is that a good portion of African-descended people have a resistance to malaria, which is certainly relevant to ones life in tropical climes. And on the other hand, those same people are susceptible to sickle-cell anemia.

The ability to digest lactose comes from a genetic mutation that's been traced down to northern Europe; most other people don't handle dairy well (sorry, don't have a handy reference). This may not be a big deal, except to the person having diarrhea because his friend assumed that everyone's digestion works the same.

Differing climate and lifestyles has led to physical characteristics differing in lung capacity, amount and distribution of musculature, etc.

[Edit: my characterization below of Chomsky's position is backwards, he _opposed_ this idea]

Noam Chomsky posited that, much like computer languages, the language that a person speaks influences the way he thinks, and more recent research tends to support this. As a result, some people are better equipped mentally for different tasks. For example, there's a group in New Zealand that has no "relative direction" words like "left" and "right"; instead, all of their directional communications are in absolutes ("North", "West", etc.). Somehow they are far better than others at maintaining a sense of direction, so for any task that requires such a sense, these may be the best candidates.

It's probably not mere chance nor prejudice that some groups are better or worse represented in professional sports. For whatever reason, there's a preponderance of Africans and paucity of Asians in American football. I find it hard to believe that football coaches are being racist when there are such huge amounts of money on the line.

People really aren't all the same. We have differences, and in many cases those differences are shared within demographic groups. Why do we want to pretend that this isn't true, rather than reveling in special opportunities that it affords all of us?

Addendum: I realized that I partly answered based on culture (language) rather than race, as you asked. This points to a bigger question: what is race? Are the peoples of southern Europe separate from the northeners? Archaologists generally believe that American Indians are descended from Asians crossing the Bering Straits; should we view these as the same race, or separate? I'm not trying to be provocative, I really don't know how to define this.

<comment><USER6> I sort of tackled the "what is race" question in another comment. [1] I kinda agree with you on culture is important, but I find that generalizations there fall flat, as subcultures within a culture tend to contradict each other. In all cases, the fundamental fallacy of bias comes from using attributes associated with some group to make decisions about an individual, who may or may not share those attributes. Our brains attempt to create heuristics for us, we have to actively work to supplant them with logic.

[1] <http://news.ycombinator.com/item?id=1129487>

<comment><USER5> I'll now proceed to go off on a tangent from something that's already just barely topical for HN...

 _Our brains attempt to create heuristics for us, we have to actively work to supplant them with logic._

I generally agree with this. The benefits of civilization make most of these heuristics unnecessary, and more of a liability. But I wish that people advocating this would see its application in further areas.

In his _The Fatal Conceit_ , Hayek talks about how our evolution within small tribes gave us the instinct to be compassionate with others, but that in today's wide world, that instinct just can't scale far enough. This is another area where we need to reject the emotional reactions that are pre-programmed into our brains, and think more rationally about whether what the little voice says really makes sense.

</comment></comment></comment></comment></comment><comment><USER7> Anybody interested by this, I strongly recommend reading Bronson's "NutureShock," the book on which this article draws.

The book is not a polemic about race. Rather, it examines a lot of interesting research regarding how children learn. Other chapters cover how to use praise effectively, the uses and abuses of intelligence tests, and how kids learn to lie.

By the way, here's Bronson's own synopsis of this work: <http://www.newsweek.com/id/214989/output/print>

</comment><comment><USER8> "Here are a few depressing facts:

"The more diverse a school is, the less likely it is that kids will form cross-race friendships."

That ought to prompt some reconsideration of social policy. The studies would refer mostly to compulsory attendance public schools, and maybe the first thing to do is to change school financing mechanisms so that more schools are open to all comers on a voluntary enrollment basis. This works for my son's online "school," which is both racially diverse and full of students who have friends from other races. (But it sets my teeth on edge to refer to people as belonging to one race or another, as my own family is multiracial, so every one of us surely has various friends of a "different" race whoever our friends are.)

Link to FAQs and discussion about how race plays out as an admission factor in United States colleges:

[http://talk.collegeconfidential.com/college- admissions/85867...](http://talk.collegeconfidential.com/college- admissions/858679-race-college-admission-faq-discussion-7-a.html)

<comment><USER6> I was about to post that the "fact" is at least an oversimplification. At the edge cases, it is logically false. A school where everyone is the same, there can be no cross-race friendships, and in a class where everyone is different, there can only be cross-race friendships.

Of course, the deeper lesson here is that race itself is a concept invented by racists. Race does not exist, except in the mind of the racists and those upon whom they exercise their beliefs. If you don't believe that, ask yourself whether you call people Asian, as if the huge proportion of people from the most populous continent on Earth share some fundamental attributes based on the geographic location of their ancestors that are worth distinguishing. Ask yourself if there is some proportion of ancestry that you use to distinguish one race from another- it's a very racist exercise to do this.

There's no simple category that defines the race of my own children. Everyone is miscellaneous.

<comment><USER8> _A school where everyone is the same, there can be no cross-race friendships_

I appreciate your reply. I did a forehead smack on myself when I realized I had missed the obvious exception to your edge case the first two times I read your reply. A school pupil can form friendships OUTSIDE OF SCHOOL, irrespective of where the pupil goes to school. And that happens. Sometimes it is easier to form friendships outside of school than inside school. (I lived in one place just more than one year, spanning parts of two school years, in my youth, and the best friends I had there were neighbors or friends from my Scout troop. I liked some of my classmates quite well, but I made friends more rapidly and more deeply in non-school settings. And this, by the way, is why I emphasized "voluntary enrollment" above, because young people make friends better in voluntary rather than compulsory activities, and is also why I was unafraid to homeschool my children. My children have always had friends--and friends from many "races" at that--but they have never attended school (except university-based classes for my oldest during his last few years of secondary education).

 _Race does not exist, except in the mind of the racists and those upon whom they exercise their beliefs._

Fully agreed with you here. When I see those annoying forms that ask my "race," I write in "human." I prefer the designation "human," but I can live with the designation "postracial" if need be.

</comment></comment></comment><comment><USER9> _It turns out that a lot of our assumptions about raising our kids to appreciate diversity are entirely wrong_

Our assumptions, which have no evidential basis but we adopted anyway on pure faith because they sound nice and make us feel good about ourselves, are wrong? Say it ain't so!

<comment><USER10> Yeah, and did you know that ignoring an issue will totally save it?

<comment><USER11> Well, to be fair, the ultimate goal is for everybody to ignore it, right? That is pretty much the definition of the end of racism. Stands to reason that ignoring it in front of your kids could teach them the same, but perhaps a more active approach turns out to be better.

<comment><USER5> That may be the goal of some. But as I mentioned elsewhere in this thread, I think that's wrong.

The fact is that we're all different, and pretending otherwise doesn't help anything.

The problem is when we assume that differences in a few attributes makes us _better or worse_ than others, or more or less deserving of [respect, entitlements, etc.].

We're all different. There are so many variables that interplay in so many ways, and they are realized in such chaotic circumstances that it's impossible to assess superiority (except maybe in the most pathological cases).</comment></comment></comment></comment>


Dart team posts an example of fast code with 22ms for a "Hello world" - <AUTHOR> https://twitter.com/Jonathan_Blow/status/1258424476116508672 <comment><USER2> Lots of bashing in this thread, but to clarify a bit:

The Dart VM is roughly based on V8's internals. Running dart alone would be similar to running node, which needs to initialize the VM, parse the code, and run it. This is obviously slower than a pre-compiled binary.

dart2native brings it half-way to native, by doing parsing and initialization, and saving a memory snapshot right before executing the main function. This greatly reduce startup time (and is the same technique that makes Flutter apps start fast), but still not as fast as a binary, since it is loading the snapshots and doing some initialization.

This is usually fast enough, because once the initialization is ran, the following code will run fast. This is a constant initialization loading time, and doesn't represent anything.

Saying 22ms doesn't mean anything, and feels like a misinformed statement.

Dart overall is a pleasant language, and it is somewhat unique that it provides multiple ways to run. You can run with dart, dart2native, dart2js, and I believe there's one for ARM (for Flutter). This allows you to choose the best for your target platform

<comment><AUTHOR> As people pointed out in the thread, in 22ms a game will have rendered a full 3D world with physics and audio multiple times.

22ms is... not fast. Unless you count modern world where "fast" is "anything that runs under 10 seconds".

<comment><USER3> That's an odd contrast (one frame of a game versus loading a language runtime). How long does a game engine take to load?

A reasonable comparison is whether Dart is able to render complex experiences at 60fps (i.e. 16ms / frame) on a low-end phone device, which is the primary use case.

<comment><USER4> Depends on the game engine. Jonathan Blow has written one for his upcoming Sokoban game and it completely compiles and launches the game from source in about a second and a half. No incremental compilation, no debug mode. That's not just the runtime engine, it's the tooling to make the game, as well. A second and a half, from source files on disk to a running binary showing a 3D viewport on screen.

Think about that.

There is no excuse for how slow software is today. None.

Many parts of Windows 95 were faster in wall clock time in 1995 on the hardware of 1995 than today's Windows 10 is on the hardware of today. Yes, today's software does more, but THAT MUCH more? Are you sure?

The hardware we have is very fast. Software developers have been relying on hardware upgrades for performance improvements for far too long, and now few software developers know how fast things can be, if they just try _just a tiny little bit_.

Also, OOP teaches developers how to think about software in ways that are exactly opposite to how computers actually do work efficiently. Object oriented programming is just inherently slower because it encourages developers to think of things one at a time. Computers like to do things in batches.

More people need to think about performance, because clock speeds aren't going up like they used to, and we still don't know how to write software that spreads across a lot of cores very well. The free ride that hardware upgrades provided us is quickly coming to an end.

tl:dr; everyone needs to learn about how processor caches work, especially the 24-year old JS devs who think they already know everything.

<comment><USER5> Studies have shown that user interface latency was at its all time best in the mid-80's, assuming the user was using a dumb terminal that talked to a mainframe.

Modern software sucks.

</comment></comment></comment></comment></comment><comment><USER6> [disclaimer: I work on the Dart team.]

As others have already noted, the intent here is to purely measure the one- time startup cost of the runtime in ahead-of-time compiled code - i.e., the amount of time necessary before we can starting executing any user code - i.e., the print in this case. It's assumed that the time to do the actual print is trivial here.

If you want to compare, you might compare with other garbage collected language/runtimes.

<comment><AUTHOR> The text on the page is "AOT-compile apps to native machine code for instant startup".

And now you're saying that the start up is actually not instant.

\- LuaJIT: 0.002ms [1]

\- Dash and perl take about 2ms. Python takes 12. [2]

\- Perl 0.008s [3]

\- Python 0.009s [4]

And that's before we talk about compilation speeds [5]

[1] [https://news.ycombinator.com/item?id=23109404](https://news.ycombinator.com/item?id=23109404)

[2] [https://news.ycombinator.com/item?id=23110092](https://news.ycombinator.com/item?id=23110092)

[3] [https://twitter.com/beeonbird/status/1258472898446180353](https://twitter.com/beeonbird/status/1258472898446180353)

[4] [https://twitter.com/f00zz_/status/1258427236891480067](https://twitter.com/f00zz_/status/1258427236891480067)

[5] [https://twitter.com/alexyanov/status/1258474918607544322](https://twitter.com/alexyanov/status/1258474918607544322)

<comment><USER6> "Instant" is a relative word (unless we're actually at 0 time :-)).

We're focus on client apps, where we're really focused on human perception. In that sense, I'd consider 22ms or 2ms as instant (for startup). I wouldn't consider 2s as instant.

I'm not saying Dart doesn't have room to get better, but there are diminishing returns at a certain point.

<comment><AUTHOR> 22ms here. 22ms there. "Focused on human perception" here, "Focused on human perception" there.

And suddenly we have what is basically a supercomputer unable to perform anything without lag.

</comment></comment></comment></comment><comment><USER7> Wait, that's like 4.4*10^7 clock cycles for my laptop!

Here's hello.sh (in bash) on a Raspberry Pi 3B+:

      #!/bin/bash
      echo "Hello World!"

      xxxxx@xxxxxxx:~ $ time ./hello.sh
      Hello World!

      real    0m0.010s
      user    0m0.001s
      sys     0m0.010s

Yay, I beat the high score!

</comment><comment><USER8> Both process startup and terminal can be very slow depending on OS.

I also have a rule, I don't bash novice developers for their lack of knowledge.

<comment><USER4> Do you really think novice devs work on Dart at Google?

<comment><USER8> Would that be really so surprising?

</comment></comment></comment><comment><USER9> It's a startup time of the runtime. More interested in results with two "hello,world"s. How much the next one going to cost.

Also C++ with cout, -O3 is 4ms and one in *.Zig is 1ms for some reason.

<comment><USER10> Probably want -Os (and strip afterwards) if you're interested in startup time. C is also 1ms. C++ has a big cxxrt that zig doesn't. FWIW c++ only takes 2ms on my (quite slow) machine.

<comment><USER11> would ios_base::sync_with_stdio(false); also help?

<comment><USER10> In my benchmark, the c++ version uses the c api (printf rather than cout), so it wouldn't make a difference.

</comment></comment></comment></comment><comment><USER12> How it compares with go, node and java?

<comment><USER3> Here are a few comparisons (13" MBP, YMMV).

      $ ./hyperfine './hello.gonative' --warmup 10
      Benchmark #1: ./hello.gonative
        Time (mean ± σ):       3.3 ms ±   0.9 ms   [User: 1.2 ms,
          System: 1.2 ms]
        Range (min … max):     2.4 ms …  14.2 ms   455 runs

      $ ./hyperfine './hello.dartnative' --warmup 10
      Benchmark #1: ./hello.dartnative
        Time (mean ± σ):       8.2 ms ±   0.4 ms   [User: 3.9 ms,
          System: 3.6 ms]
        Range (min … max):     7.5 ms …  10.2 ms   243 runs

      $ hyperfine 'java HelloWorld' --warmup 10
      Benchmark #1: java HelloWorld
        Time (mean ± σ):      90.7 ms ±   1.3 ms   [User: 83.2 ms,
          System: 23.9 ms]
        Range (min … max):    88.7 ms …  94.2 ms   31 runs

<comment><USER13> Which JDK? OpenJDK 14 on my machine:

        ~> Measure-Command { java Main }
        Milliseconds      : 59

<comment><USER14> I got:

OpenJDK 8: ~80-90 ms

OpenJDK 11: ~60 ms

OpenJDK 14: ~50-55 ms

The first runs were a bit slower, perhaps because the files needed by the JVM weren't in disk cache or something.

Other languages/runtimes:

Python 2.7: 20-25 ms

Python 3.8: 30-40 ms

Native binary compiled from C: 1-3 ms (so bordering on unmeasurable at millisecond resolution)

This was on Linux, and an entirely unrigorous experiment.

edit: formatting

<comment><USER13> Nice! I'm glad startup time is getting closer to python. FWIW GraalVM native image was 16ms for me on Windows.

</comment></comment></comment></comment></comment><comment><USER15> Expensive

</comment><comment><USER16> Holy shit, that's sad</comment>


The world map of social networks - <AUTHOR> http://valleywag.com/tech/data-junkie/the-world-map-of-social-networks-273201.php <comment><USER2> Much better map: <http://xkcd.com/c256.html>

</comment><comment><USER3> hmm... the lack of color in China is surely a opportunity.. PengYu'Ster anyone ??

<comment><USER4> There are plenty of social networking sites for China and Japan. I think their native languages make the research difficult.</comment></comment>


Airlander 10: Maiden flight at last for longest aircraft - <AUTHOR> http://www.bbc.co.uk/news/uk-england-beds-bucks-herts-37111527 <comment><USER3> This is a lot like the Lockheed hybrid airship, the P791 [1]. Looks like it. The Skunk Works built that prototype for DARPA in 2007. Works fine, but DoD didn't have a use case for it. Lockheed offers a version for sale.[2] Straightline Aviation bought $480 million worth, for delivery in 2018.

Lockheed's Skunk Works finally solved the landing problem. Landing large airships has been a huge problem as long as there have been airships. The P791's big "feet" work like hovercraft. They land the thing on a runway and taxi to the hangar. In windy conditions, they can run the fans in vacuum mode, suck the craft down to the runway, and keep it there.

With enough steerable fans and computer control, airship maneuverability today is reasonably good. The Zeppelin NT was the first airship to have this, and it could be landed without a ground crew hauling on lines. They just needed a big field and a heavy truck with a mooring tower. But it still had to be towed into the hangar.

[1] [https://www.youtube.com/watch?v=W3n5cUaG5fg](https://www.youtube.com/watch?v=W3n5cUaG5fg) [2] [http://www.lockheedmartin.com/us/products/HybridAirship.html](http://www.lockheedmartin.com/us/products/HybridAirship.html)

<comment><USER4> Oh damn the SPIDER is really cool. It checks the bag quality of the airship: [https://www.youtube.com/watch?v=86EAzvXrESg](https://www.youtube.com/watch?v=86EAzvXrESg) It's like a cross between a roomba and those magnetic scrubby brushes you use for fishtanks.

<comment><USER5> Oh man when it showed multiple spiders operating on the ship, it went from cool to _freaky_ and cool.

</comment></comment></comment><comment><USER6> For a little historical context, this craft is 92m (301ft) long, the Graff zeppelin was 236.53m (776ft) and maxed out at 128km/h with 60 people on board.

Obviously these very different beasts with different goals, but the sheer scale of the old zeppelins never fails to make me happy.

</comment><comment><USER7> Does anyone else here find the idea of using an airship for surveillance ridiculous?

It is very hard for me to countenance any military use for a giant, slow, fragile aircraft in the era of microsatellites and UAVs. The risk / reward for both engineering and personal seems way too high.

Personally, I'd love to use this to tour around the rocky mountains, but it seems more of a novelty.

<comment><USER8> I don't find it ridiculous, but recognize that the military chose a different direction (hence this became an orphan project).

Airships are very well suited for surveillance over uncontested and nominally "friendly" skies. Places like cities and towns at home. The DARPA (now unfortunately named) "ISIS" project was just that. Persistent long duration surveillance allows you to identify changes in a neighborhood or area which are nominally invisible without a history of the place. It works like this, you record the ingress and egress of people from a common place, over time you have people who are there again and again, and people who are "new". The longer you do that the more you can see which people are there for the first time and which people have been there before. Now when an "event" happens somewhere, you can identify the "new" people who aren't regular users of say, the train station, and focus your attention on them, perhaps quickly identifying fleeing perpetrators.

The overall scheme is called the "mosaic effect" according to someone in the intelligence community that attended a MacAfee hosted briefing I attended. By eliminating the periodic things that are always there, the outliers stand out.

[1] [http://www.darpa.mil/program/integrated-sensor-is- structure](http://www.darpa.mil/program/integrated-sensor-is-structure)

<comment><USER9> Most US military campaigns these days are against guerrilla insurgencies, so uncontested skies. I posted this article in response to the parent article, which describes the use of aerostats in Kabul and other parts of Afghanistan during the height of the US presence there:

[http://www.nytimes.com/2012/05/13/world/asia/in- afghanistan-...](http://www.nytimes.com/2012/05/13/world/asia/in-afghanistan- spy-balloons-now-part-of-landscape.html)

<comment><USER8> Syria continues to be an interesting case.

<comment><USER9> Well, particularly with aerostats (tethered to the ground) you really need to be on the ground, not just engaged in an aerial bombing campaign like in Syria. Though I am surprised the Syrian government doesn't use these - <USER2> suspect the electronics and software might be a limiting factor.

</comment></comment></comment></comment></comment><comment><USER10> Reminds me of: [https://en.wikipedia.org/wiki/CargoLifter](https://en.wikipedia.org/wiki/CargoLifter)

They went bankrupt witout a having built single aircraft but the huge hangar is a tropical theme park now.

</comment><comment><USER11> Looks interesting. Wikipedia says that its cruising speed is "148 km/h (92 mph; 80 kn)" \- certainly faster than a car when coupled with a straighter flight path.

I wonder what the relative costs of operation for this are? If it ever becomes viable for passenger use, I could maybe see it being used for short commuter flights.

<comment><USER12> "Its cost of operation is apparently between 10 and 20 percent of that for a helicopter, and it only loses 10 percent of its helium per year." [0]

Not bad, especially if you consider there's 100 paying customers on it.

[0] [http://www.theverge.com/2014/7/8/5880061/airlander-10-photo-...](http://www.theverge.com/2014/7/8/5880061/airlander-10-photo- essay)

<comment><USER3> Only losing 10% of the helium per year is a big improvement over the Zeppelin NT. Airship Ventures, which used to fly sightseeing trips from Moffett Field, had to quit when the price of helium doubled.

</comment></comment></comment><comment><USER13> longest currently existing aircraft maybe. 20th century zeppelins regularly reached nearly triple that length.

<comment><USER14> Indeed, it's not even the largest non-rigid. That goes to the US Navy's five ZPG-3W of the late 1950s, at 404 feet long and 1.5 million cubic feet volume.

In comparison the Airlander is 302 feet and 1.34 million.

</comment></comment><comment><USER15> Anybody intrieged by the idea of taking a train like overland voyage in one of these that wouldn't explode? The airship travel ideal has always facinated me.

</comment><comment><USER16> Wouldn't be wise to put lightweight solar panels on top of that? Seems like there is enough space to generate quite a good amount of electricity...

</comment><comment><USER17> Can we make a cruise airship out of it?

</comment><comment><USER18> what this is missing is a top deck, imagine people travelling from one inland city to another and sunbathing along the way there and then doing some shopping then coming back with the view of a sunset.

getting the benefits of a holiday while travelling.

<comment><USER19> Well, you have to take in account that exteral temperature decreases with altitude: [https://en.wikipedia.org/wiki/Lapse_rate](https://en.wikipedia.org/wiki/Lapse_rate)

</comment></comment><comment><USER20> What is the current envisioned use for this aircraft?

<comment><USER21> Imagine a group of trucks, that could cross seas and oceans, forests without roads, deserts of high dunes and rock, and reach anywhere in the world.

The price to operate and the capacity is similar to having a few trucks at hand. Except this can do 90mph in a straight line to anywhere on Earth.

</comment></comment><comment><USER22> > The company hopes to be building 10 Airlanders a year by 2021.

And I hope to wake up tomorrow morning as starting QB for the Dallas Cowboys.

<comment><USER23> Do you have millions of dollars already invested in your goal towards this, with a large number of people working towards it and a number of technological waypoints already met? Or are you all talk?</comment></comment>


Ask HN: Side project you're working on? - <AUTHOR> <comment><USER2> I've been working on some software called Etherate that let's you test (or "rate") an Ethernet connection: [https://github.com/jwbensley/Etherate](https://github.com/jwbensley/Etherate)

I use it for testing that devices parse frame headers correctly, that L2 VPNs, rate limiting, QoS etc. are all working correctly.

I sometimes find bugs in routers and switches when I find that they parse certain headers incorrectly.

I have also been working on a multi-threaded version which doesn't provide any header manipulation, it is a pure Ethernet load generator / sinker for testing higher bandwidths: [https://github.com/jwbensley/EtherateMT](https://github.com/jwbensley/EtherateMT)

<comment><AUTHOR> Looks impressive

<comment><USER2> That's the beauty of anticlimaxes ;)

</comment></comment></comment><comment><USER3> I have been working on creating a system that reads the stock market for patterns in order to buy valuable contract options, calls in bull markets and puts in bear markets.

The major issue I had was being away from the computer when a trade needed to be made. Now I get in automatically and sell with stops.

Been showing impressive returns for myself. Was not thinking of running it as a business.

[https://news.ycombinator.com/item?id=17270396](https://news.ycombinator.com/item?id=17270396)</comment>


Microsoft OneApp : Microsoft Introducing OneApp - <AUTHOR> http://blogs.msdn.com/oneapp/archive/2009/08/24/microsoft-introducing-oneapp.aspx <comment><USER2> The closest competitor to OneApp appears to be Opera Mini (<http://www.opera.com/mini/>) which is a full web browser for the same kind of small cheap cellphones which OneApp targets. Opera Mini is also client- server and pre-processes and compresses web pages on the server side, amongst other things, before the client sees them. The major difference would seem to be that Opera Mini provides access to the whole web, whereas OneApp is more of a walled garden, just running the 'apps' written for it's mini-platform.

</comment><comment><USER3> This is actually pretty cool. From what I can gather from the website, this is basically a 150 KB client that can run on the low-power, feature-thin phones common in emerging markets (the kind of phones that cost $10-50 to make and that Nokia among others excels at).

The client offloads almost all processing and storage to carrier hosted servers. Kind of like X, ironically.

</comment><comment><USER4> Brought to you by ... (drum roll) ...

Microsoft's Unlimited Potential group!

Yeah! Not the (dreaded) Limited Potential group. These are the Unlimited Group people.

<comment><USER5> They've certainly lived up to a very small percentage of their potential.

</comment></comment><comment><USER6> It would be nice to be able to look at it rather than just perusing the very well built website...

This whole idea of rolling it out through telcos is horrible. Just make the damn thing available for download. It can't be that hard...

</comment><comment><USER7> It is very interesting to see such a diligent focus on the low-end, small processor side of things. However, I don't think anyone got rich betting that technology wasn't constantly improving.

</comment><comment><USER8> The OneApp client is almost guaranteed to be a Java Mobile Edition application, because that's the only widespread software platform for feature phones.

It's fairly ironic that Microsoft's "Unlimited Potential" group develops Java software... But perhaps they've been tasked specifically to unleash their potential by overcoming the traditional Microsoft NIH / Embrace&Extend development paradigms.

</comment><comment><USER9> > OneApp's very minimal on-phone footprint of just 150 KB makes installing it > quick and easy. OneApp will launch only the parts of a mobile app that you > want to use; that cuts down on additional installation time

Can the OneApp developers please spend some time working on Microsoft Office? Please?

</comment><comment><USER10> It's interesting that they chose to write an app for Symbian. I wonder if other mobile OSes are to follow? Google already has a few things that run on Symbian, maps, search, etc. and a web page compressor that runs anywhere...

</comment><comment><USER11> If I go to <http://www.microsoft.com/oneapp/>

I get: The page cannot be displayed because an internal server error has occurred.

<comment><USER12> works for me

</comment></comment><comment><USER13> Top picture shows it running on a Nokia 6300, which is my day-to-day phone...

Come on North American carriers!

</comment><comment><USER14> So it's a Mozilla Prism clone for cellphones?

<comment><USER15> Not at all. Prism is basically just Firefox without a menu bar running in its own process. I don't know why it gets so much attention.

<comment><USER16> Because Mozilla employs a bunch of PR people, and has millions of active fanboys, but has very little to actually publicize.</comment></comment></comment>


Apex Software Platform Released – Modern Day Wordpress Replacement - <AUTHOR> Hi everyone,
After two years of hard work, Apex Software Platform is finally complete.  It's basically meant as a modern day replacement to Wordpress, built-in support for redis, horizontal scaling via RabbitMQ, redis, internal web socket server, is PSR compliant, and more.
Completely open source and free to the world.  Check it out at:
    https://apex-platform.org/
Quick Youtube video explaining myself at:
    https://youtu.be/B8SNUCHa_tA
Please check it out, and let me know what you think.  Any questions, don't hesitate to ask. <comment><USER2> If you're promoting a CMS you might want to fix your broken styles and images.

<comment><AUTHOR> Ohhh, you gotta be kidding me.

Life decided to play a funny joke on me 3 years ago, and make me blind. I hired a designer in Floida, and through he took care of that.

Can you give me some tips on what exactly is broken? e

</comment></comment><comment><USER3> What a load of SPAM!

<comment><AUTHOR> Not spam at all. This is 2 years of hard work, with 19 years of experience combined, and open source. I don't know, I'm an old man of 38 years, so maybe I'm a bit old school.

Check it out though. It's good software.</comment></comment>


Microsoft Teams, its new Slack rival, is launching today as part of Office 365 - <AUTHOR> https://techcrunch.com/2016/11/02/microsoft-teams-its-new-slack-rival-is-launching-today-as-part-of-office-365/ <comment><USER2> Let's hope my boss implements it, I'm tired of those endless email chains.

<comment><AUTHOR> send them this [https://www.youtube.com/watch?v=URpFH_7hV1g](https://www.youtube.com/watch?v=URpFH_7hV1g)

(it doesnt actually work yet.)

i've never seen an enterprise product with such a silly tutorial.</comment></comment>


Improving our homemade JavaScript obfuscator - <AUTHOR> https://antoinevastel.com/javascript/2019/09/09/improving-obfuscator.html <comment><USER2> Ugh. This whole blog post is giving me the heebie-jeebies. Replacing all static accesses with dynamic ones, and with endless function calls everywhere has to destroy performance. You're intentionally making it hard for the JIT compiler to do its work.

And for what? Obfuscating your code so that people don't steal it or whatever? This kind of obfuscation can be easily and programmatically reversed engineered if someone really wants to, so... why do it? Just to screw with people trying to look at the source code of a web page?

People complain about JavaScript minifiers and WebAssembly that they're making the web less open and hackable, but at least those things have a point to them. There's a performance upside! This is just "naah, lets make the web slower, more closed and less hackable, for... you know... reasons."

<comment><USER3> The title of his blog implies he is "working on browser fingerprinting" and is proud of his occupation. So obviously the work he does is for ad agencies that frankly never gave two fricks about performance.

Unless you are making a browser game and want to make life sad for cheaters, I don't really see a need or reason for obfuscating, and even then its not even ideal and a biproduct of a lazy solution (ie. not running simulation on a server)

<comment><USER4> He's a researcher, he might be working on browser fingerprinting so that browsers can avoid it. That's how I interpreted it, at least; the fact that he interned at Brave seems to confirm it.

<comment><USER3> Seems like most of his work on fingerprinting is centered around bot and headless browser detection.

</comment></comment></comment></comment><comment><USER5> If I were to be making a JavaScript obfuscator, I would simply start by rewriting the AST so that Exceptions would become the driver behind the code. That way, it would make it really hard to reverse the code without executing it.

Also sprinkle some parts of the code that check how much time it takes to execute it and then takes a different code path if it was interrupted.

What is done here is child's play, the author is clearly not familiar with old-school assembly obfuscation - this code is one script away from being de- obfuscated.

<comment><USER6> Do you have any references for the old-school assembly obfuscation?

<comment><USER5> I had once worked on an executable packed by Themida. It used:

      - 8 layers of decrypting the initial executable
      - one of them decrypted the import table from the executable
      - each of those layers employed several methods of detecting that you're running under debugger
      - each of those layers employed methods of causing exceptions in popular debugging software
      - every single memory page was also encrypted while running, and a breakpoint was set up whenever a jump was made to it. The protection mechanism would first decrypt the next page and then encrypt the previous page.

Even back then (15 years ago), the more complex option of Themida would generate a unique virtual machine with a unique bytecode for itself for a given executable, which would then execute itself.

[1] [https://reverseengineering.stackexchange.com/questions/16966...](https://reverseengineering.stackexchange.com/questions/16966/unpacking- a-themida-packed-x64-executable)

<comment><USER7> So does Themida represent the state of the art on obfuscation, or is that found in state sponsored malware, do you have any idea?

<comment><USER8> The current version of themida is good, and widely used, but not much of an obstacle to experienced people (although it depends on what you're trying to do).

Denuvo is widely used on AAA titles and seems like a pain in the ass to deal with (ie games seem to take a while to pirate when protected with it and it adds a stupid CPU burden at times), but it doesn't have the edge it once had in the battle.

[https://en.wikipedia.org/wiki/Denuvo](https://en.wikipedia.org/wiki/Denuvo)

</comment></comment></comment></comment></comment><comment><USER9> In my (extremely limited) experience with reversing JS, I'm pretty sure I've already seen these obfuscation techniques before, and common deobfuscators of the time had no problem reversing the transformation. It doesn't stop anyone except the most easily discouraged.

(The JS that's used to detect adblockers and/or coerce you into viewing ads is often obfuscated. Those of you who have played around with this stuff may recognise this keyword: DtsBlkVFQx.)

</comment><comment><USER10> The proposed scheme trashes the performance while providing a primitive protection that is statically observable (e.g. distinguishable) and thus easily reversible.

Looks insane, in a bad way.

</comment><comment><USER11> I would like to see the performance differences between the original and obfuscated. Most of the compiler optimizations are being made impossible by removing static access. Plus, a reverse-obfuscator is trivial for all those static-to-dynamic and base64 encoding.

<comment><USER12> The last paragraph discusses that this will be the topic of the next blog post.

</comment></comment><comment><USER13> Code obfuscation is idiotic and pointless no matter what form it takes, but this example is particularly egregious. This accomplishes little more than degrading performance across the board for the _very real_ end user (bye bye JIT optimizations) while requiring some _purely hypothetical_ reverse engineer to write one additional script before ( _gasp_ ) reading the code.

I'm genuinely curious how much time and money was wasted on this imbecilic venture.

<comment><USER10> Obfuscation may seem a weird topic nowadays but only because it is lagging behind conventional data encryption. Once it achieves more fundamental results the perception will likely change.

<comment><USER14> Obfuscation provides no concrete guarantees on being able to prevent reverse engineering, as encryption does.

</comment></comment></comment><comment><USER15> Aren't JS obfuscators futile? The code will still end up in the JS VM, and you can't really obfuscate the actual AST.

<comment><USER16> While you might have access to the AST, obfuscated JS is still harder for humans to parse, and reverse engineer what the original function is doing.

For example:

        var _0x11f8=['\x6c\x6f\x67'];(function(_0x417d16,_0x4a5f0f){var _0x2d056f=function(_0x25076e){while(--_0x25076e){_0x417d16['push'](_0x417d16['shift']());}};var _0x26edf0=function(){var _0x522f05={'data':{'key':'cookie','value':'timeout'},'setCookie':function(_0x3d387a,_0x44e067,_0xfea505,_0x41ff72){_0x41ff72=_0x41ff72||{};var _0x47c6cd=_0x44e067+'='+_0xfea505;var _0x39897e=0x0;for(var _0x39897e=0x0,_0x329917=_0x3d387a['length'];_0x39897e<_0x329917;_0x39897e++){var _0x1c67fb=_0x3d387a[_0x39897e];_0x47c6cd+=';\x20'+_0x1c67fb;var _0x4c67f9=_0x3d387a[_0x1c67fb];_0x3d387a['push'](_0x4c67f9);_0x329917=_0x3d387a['length'];if(_0x4c67f9!==!![]){_0x47c6cd+='='+_0x4c67f9;}}_0x41ff72['cookie']=_0x47c6cd;},'removeCookie':function(){return'dev';},'getCookie':function(_0xc34cfd,_0x2e2a50){_0xc34cfd=_0xc34cfd||function(_0x3fc227){return _0x3fc227;};var _0x316ad0=_0xc34cfd(new RegExp('(?:^|;\x20)'+_0x2e2a50['replace'](/([.$?*|{}()[]\/+^])/g,'$1')+'=([^;]*)'));var _0x67e8e8=function(_0x595d8b,_0x29390a){_0x595d8b(++_0x29390a);};_0x67e8e8(_0x2d056f,_0x4a5f0f);return _0x316ad0?decodeURIComponent(_0x316ad0[0x1]):undefined;}};var _0x4341d3=function(){var _0x10361d=new RegExp('\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*[\x27|\x22].+[\x27|\x22];?\x20*}');return _0x10361d['test'](_0x522f05['removeCookie']['toString']());};_0x522f05['updateCookie']=_0x4341d3;var _0x44df89='';var _0x4a0249=_0x522f05['updateCookie']();if(!_0x4a0249){_0x522f05['setCookie'](['*'],'counter',0x1);}else if(_0x4a0249){_0x44df89=_0x522f05['getCookie'](null,'counter');}else{_0x522f05['removeCookie']();}};_0x26edf0();}(_0x11f8,0x126));var _0x2135=function(_0x32c6fa,_0x552733){_0x32c6fa=_0x32c6fa-0x0;var _0x18e137=_0x11f8[_0x32c6fa];return _0x18e137;};function _0x33f554(_0x101bb5,_0x53fcac,..._0x27ef18){var _0x36160c=function(){var _0xddce83=!![];return function(_0x3f37b8,_0x278fb0){var _0x3f096b=_0xddce83?function(){if(_0x278fb0){var _0x701868=_0x278fb0['apply'](_0x3f37b8,arguments);_0x278fb0=null;return _0x701868;}}:function(){};_0xddce83=![];return _0x3f096b;};}();var _0x4810be=_0x36160c(this,function(){var _0x31f51a=function(){return'\x64\x65\x76';},_0x28b288=function(){return'\x77\x69\x6e\x64\x6f\x77';};var _0x5848fd=function(){var _0x59a244=new RegExp('\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d');return!_0x59a244['\x74\x65\x73\x74'](_0x31f51a['\x74\x6f\x53\x74\x72\x69\x6e\x67']());};var _0x46df82=function(){var _0x5b3a8d=new RegExp('\x28\x5c\x5c\x5b\x78\x7c\x75\x5d\x28\x5c\x77\x29\x7b\x32\x2c\x34\x7d\x29\x2b');return _0x5b3a8d['\x74\x65\x73\x74'](_0x28b288['\x74\x6f\x53\x74\x72\x69\x6e\x67']());};var _0x4b23f3=function(_0x5ac3b0){var _0x4153a0=~-0x1>>0x1+0xff%0x0;if(_0x5ac3b0['\x69\x6e\x64\x65\x78\x4f\x66']('\x69'===_0x4153a0)){_0x3d9fe5(_0x5ac3b0);}};var _0x3d9fe5=function(_0x467f75){var _0x4c33bb=~-0x4>>0x1+0xff%0x0;if(_0x467f75['\x69\x6e\x64\x65\x78\x4f\x66']((!![]+'')[0x3])!==_0x4c33bb){_0x4b23f3(_0x467f75);}};if(!_0x5848fd()){if(!_0x46df82()){_0x4b23f3('\x69\x6e\x64\u0435\x78\x4f\x66');}else{_0x4b23f3('\x69\x6e\x64\x65\x78\x4f\x66');}}else{_0x4b23f3('\x69\x6e\x64\u0435\x78\x4f\x66');}});_0x4810be();let _0xdbe94a=_0x101bb5/_0x53fcac;let _0x26ea56=_0x27ef18['\x72\x65\x64\x75\x63\x65']((_0xee94a6,_0x15b1b8)=>_0xee94a6*_0x15b1b8,_0xdbe94a);console[_0x2135('0x0')](_0x26ea56);}_0x33f554(0x1,0x2,0x3,0x4);

and

        function test(x, y, ...args) {
          let z = x / y;
          let ret = args.reduce((a, v) => (a * v), z);
          console.log(ret);
        }
        test(1, 2, 3, 4);

are functionally identical. (I used an off the shelf obfuscator)

No amount of obfuscation will stop a determined reverse engineer from pulling apart your code, but it can increase the cognitive load to the point where most people won't bother.

Also, just in case, nobody should ever run untrusted code, particularly not obfuscated untrusted code. Including the examples I posted above.

<comment><USER15> Absolutely correct. Yet the only point of obfuscating JavaScript I can see is to execute malign code, which implies that it's targeted at people who "won't bother" deobfuscating or even looking at it anyway, which makes obfuscation redundant. And obfuscation won't stop a determined engineer anyway. So, uh, ¯\\_(ツ)_/¯.

Thus, it only looks vaguely interesting from an academic point of view. But even then, it's just a matter of flattening and spamming the AST, but you can only get this far with JS.

<comment><USER16> I think you're quite correct. If you're investing in obfuscation, you're probably making the wrong investment. Malicious actors have to obfuscate to avoid detection for as long as possible, and benign actors would probably be better served focusing on their core tech. That said, obfuscation is very good at increasing the difficulty of interpreting and understanding the purpose of code.

</comment></comment></comment></comment><comment><USER17> When I reviewed different obfuscator products, it was based on the idea it was only a "speedbump," for our threat actors, and imposed the cost of someone having both the motive and means to reverse it.

If you would prefer that a summer student at an enterprise customer doesn't replace your product with an in-house work-alike, it's useful. Similar if it's cheaper to buy your product than spending several hours reversing it.

If your business model relies on the integrity of a secret (key, derivation component, method, etc), it probably has a single, catastrophic failure mode and obfuscation isn't your solution.</comment>


Is justin.tv trying to influence its alexa rank? - <AUTHOR> http://www.justin.tv/ <comment><USER2> I'm surprised more sites don't do something like this.

Apparently just adding the Alexa Site Stats Widget to your site can bump your alexa ranking by 10-20% or more for smaller sites.

It's really the fault of Text-Link-Ads, ReviewMe, bloggers, etc for placing such emphasis on Alexa rankings, giving sites an incentive to game the system.

</comment><comment><AUTHOR> Just saw a big yellow banner saying "Go download the Alexa toolbar. It rules!" on the top of their home page. I guess they're taking sides in the statsaholic/amazon fight.

</comment><comment><USER3> I saw the "Go download the Alexa toolbar. It rules!" banner an hour ago, but now it seems to have been removed.</comment>


Building an automatic, beatmatched, infinite radio stream with Python - <AUTHOR> http://petersobot.com/blog/introducing-forever-fm/

<comment><USER2> That's a really awesome hack! Thank you for the detailed explanation!

</comment><comment><USER3> Insanely cool and it actually WORKS. Amazing job!</comment>


The $50,000 Question: Can A Master's Hurt Your Job Prospects? - <AUTHOR> http://www.forbes.com/sites/chereenzaki/2012/07/24/the-50000-question-can-a-masters-hurt-your-job-prospects

<comment><USER2> I think, like many things, it is all about how you sell it. I have seen programmers with Masters be dismissed because of it, and another with a Ph.D. that he left off his resume trying to avoid the stigma.

No one wants to hire someone as a coder who is only in it for the money. Since most of us still working for someone else are at least partially in it for the money, we are often polite and lie and promise we're not gold diggers. I don't think that people with Master's degrees are even inherently less interested in the work; it is just harder for them to get away with the conventional, polite lie that we are utterly happy where we are.</comment>


Scrolling: it's really OK to have some white space at the bottom of the window - <AUTHOR> http://www.tbray.org/ongoing/When/201x/2011/11/26/Misscrolling

<comment><USER3> From the comments:

 _This problem has been around forever, but there is a new problem that makes scrolling even worse than before. Sites which have headers or footers that have a fixed position with respect to the browser viewport completely break scrolling because when you scroll, neither the red nor the green line are visible. The green line is under the navigation junk at the top of the page._

<comment><USER4> Maybe I'm just getting old but I find any fixed elements on a scrolling page distracting. My brain expects the whole page to move when scrolling yet my eyes are drawn to this bit that is stuck in place.

Also these fixed elements tend to be horizontal bars across the top or bottom of the page, reducing my reading area. That also sucks, especially since all laptop manufacturers decided we all should have super-widescreen displays.

EDIT: Apologies, I didn't see steve-howard's post which essentially says the same thing.

<comment><USER5> I bet you hated framesets on the web when they were around.

<comment><USER6> Weren't frames pretty universally hated?

<comment><USER5> Not directly on their own usability. It was more that they broke the web, since bookmarks, shared URLs, and search engines couldn't navigate them correctly to get the user back to the content that was supposed to display correctly.

The static positioned content we get with CSS and JS hacks I've seen to replicate it a start but not always correct on it's own.

<comment><USER7> You're also forgetting links to external sites that didn't properly have a target, so they opened _within_ one of the frames.

</comment></comment></comment></comment></comment></comment><comment><USER8> I agree it would be great in theory... but in practice there's a HUGE problem that the author doesn't seem to have considered: many webpages have footers.

I'm talking about normally-positioned footers, not fixed-position ones.

You're not supposed to scroll beyond a footer. It would look terrible. And you don't want to put extra space between the content and the footer either, or have that space vary. (How would you even know)

So while this works great in word-processors, code editors, etc., unfortunately there's just no way to do it in browsers. Literally no way to implement it, even if the browser-makers wanted to.

An aside: it _would_ be great if browsers somehow calculated fixed-position headers/footers and took them into account when calculating scroll distance for space-bar-scrolling...

<comment><USER9> > You're not supposed to scroll beyond a footer. It would look terrible.

Like this? <http://i.imgur.com/kFZSo.png>

<comment><USER10> I think he means like this: <http://i.imgur.com/lWzkl.png>

<comment><USER9> I was sort of making an implicit suggestion there—that maybe the over-scroll region, if implemented as Safari does it, doesn't look all _that_ bad at all.

<comment><USER11> It looks good! And the user won't mistakenly think that the web developer messed up on his footer design. The distinction between the website and what the browser is doing is clear by the relative depth positioning.

<comment><USER8> That's true. I was just imagining blank white space which would look terrible in many layouts... but with the depth and texture, that could be a solution.

Related problem: shift+scrolling _up_... are we going to go above the top of the page?

</comment></comment></comment></comment></comment></comment><comment><USER12> In the early years of the web I actually threw in a raft of <br> tags at the bottom of my webpages just to counteract this problem---I've been complaining about it for upwards of fifteen years. My current solution is to put a "padding-bottom: 5in" in my #footer element, which is marginally cleaner, but of course it's specific to websites that I control....

</comment><comment><USER13> I've had a similar gripe with scrolling, although I encountered with text editors instead of browsers. Having used Sublime Text for a while (which does what the article suggests and shows you as much white space as is needed to keep the display consistent), it is really jarring using many of the other editors which refuse to do this, especially as I often tend to write new code at the bottom of the page.

Being forced to consistently look at the bottom of my screen instead of the top or the middle is pretty annoying, maybe a change in browsers could trigger a change in text editors as well!

<comment><USER14> > _Having used Sublime Text for a while (which does what the article suggests > and shows you as much white space as is needed to keep the display > consistent)_

Really? Was there some sort of option you turned on?

I'm a happy ST2 user (bought my license a couple weeks ago), but that's been one issue I've had lately. I can't seem to scroll past the bottom of the page. For now I've just been typing with my cursor at the bottom of the screen, but I'd love to move it to the middle. (as in vim's zz).

<comment><USER15> Add "scroll_past_end": true to both your File settings and your User settings.

<comment><USER14> Ahhhh, works beautifully. Thanks so much!!!

</comment></comment></comment></comment><comment><USER16> One of the things I like about Readability is that space bar scrolling puts a blip on the side where my eyes can see where I should continue reading. I've never used the space bar to scroll elsewhere because the behaviour's too inconsistent.

</comment><comment><USER17> This seems like a piddling thing that belongs no where in the realm of the browser. This seems to be just about hitting page down. Which 99% of users don't do. They swipe, mouse wheel, my mom even clicks and drags the scroll bar. And for the 1% of you that this drives insane make a plugin that adds something like this to all your pages. As for anchor links you could easily add extra padding dynamically.

body{ padding-bottom:1200px; } /* rolls eyes */

<comment><USER18> This actually works really well... I'm thinking there must be a way for Javascript to add some dynamic padding onto the body element based on viewport size and the position of the footer element.

</comment></comment><comment><USER19> Couldn't you dynamically add padding to a footer element based on the view port size, resulting in sufficient "whitespace" under your content for the browser to render as you continue to scroll?

<comment><USER20> Sure, but then it makes the scroll bar position inaccurate. The whitespace needs to go beyond the end of the scroll bar.

<comment><USER21> Does it? If you can scroll further with the keyboard than the scrollbar can indicate, that would also make the scrollbar inaccurate. Perhaps instead we could add an indicator to the scrollbar (ala Chrome's text search indicators) that shows where the content actually ends.

<comment><USER22> Why not just make the scrollbar take the extra whitespace into account as if it's part of the webpage?

This is exactly what Scintilla (editing component) does if you enable that feature.

</comment></comment></comment></comment><comment><USER23> I definitely agree with this: I am annoyed by this behavior fairly consistently. I've used some programs which do this correctly--most notably Emacs--and find it to be a much more natural way of scrolling.

However, I was under the impression that I am one of the few people that uses the space bar to scroll, so browsers would not give changes like this a high priority.

How many other people scroll this way? Do you also find the current behavior annoying, or would you find his preferred change less convenient?

<comment><USER24> I never have this problem because I scroll continuously with the touchpad. Before I had access to a touchpad, I scrolled continuously with the mouse wheel.

<comment><USER25> I think it may be a mac thing, since I've never seen a mac with a scroll wheel (although I'm sure they exist).

<comment><USER26> Most people use third-party mice with their Mac; almost all third party mice have scroll wheels.

</comment></comment></comment></comment><comment><USER27> Chrome 15 solved / worked around this problem by smooth scrolling whenever you page up/down. Without the instant jump, the eye can easy tell where the page is compared to where it was before.

</comment><comment><USER28> Safari in iOS handles this nicely. You can scroll below the bottom of the page and the default grey background _behind_ the page becomes visible. Desktop browsers could also do this.

<comment><USER29> Then it snaps back though, right? Rendering it a bit useless.

<comment><USER30> No, it's not useless because it gives a visual indicator that hey, something different happened. And besides, both the scroll and especially the return is animated which will let your eye follow the line where you should keep reading.

</comment></comment></comment><comment><USER31> The big assumption here is that most people use the space bar to jump one page at a time while reading. For me, I typically scroll through the page a little at a time and follow along while I read. I'd be curious to know which approach is most common. I guess it wouldn't actually be that hard to collect.

</comment><comment><USER32> This is also a problem with intra-page links to named anchors - <USER2> browsers scroll the page so that the anchor is at the top of the window, but this does not happen if the anchor is near the bottom of the page. Very confusing.

<comment><USER29> That point was made in the article.

</comment></comment><comment><USER33> TIL I can scroll with a space bar.

</comment><comment><USER34> I always find it amazing how often we (Techies) think that problems we have are real problems. Is there some data, analytics from a well traveled site, that can tell us what percentage of users tend to use spacebar to scroll a web page... or use page up / down? My gut tells me it won't be a big number. If I'm right than this is only a problem for power users, who make up a small percentage of potential users / customers. Could effort be better spent, then, on something else that effects more customers?

<comment><USER35> Space-bar-scrolling is one thing but "links with anchors at the bottom of the page" is a problem (that I've encountered often enough) regardless.

(edit: I'm actually having that problem just right now in the Xcode documentation… which is pretty much a browser)</comment></comment>


Bradley Kuhn's Copyleft Keynote at FOSDEM - <AUTHOR> https://sfconservancy.org/news/2017/feb/13/bkuhn-fosdem-keynote/ <comment><AUTHOR> I saw this talk live. Bradley did an amazing job ! I would recommend anyone interested in Copyleft or Free Software licensing or the Software Freedom Conservancy to watch !

(Disclosure, I'm on the Conservancy Board of Directors).</comment>


Bufferbloat - <AUTHOR> http://www.bufferbloat.net/ <comment><USER2> This was discussed not so long ago:

[https://news.ycombinator.com/item?id=7826768](https://news.ycombinator.com/item?id=7826768)

CoDel is currently the best solution, its in the Linux kernel for people to play with.</comment>


Running a Tor Relay in a Docker Container - <AUTHOR> https://tor.stackexchange.com/questions/19949/how-do-i-set-up-a-tor-relay-as-a-docker-container/19950#19950 <comment><AUTHOR> I've been running a Tor relay for quite a bit of time now in a Docker container. When I wanted to do so initially I found a few guides for running Tor relays as containers, but they were either lacking in details, didn't work or attempted to be more user friendly than needed, complicating the configuration even more. All I wanted was a simple way to get started quickly. I ended up figuring out how it was done by stitching together a solution from here and there, and this StackExchange Q/A describes the steps I went through to configure the relay as a container.

From the community side of things I highly urge those who are able to, to run a Tor relay. We're strong in numbers, and at least now the learning curve of configuring a relay is not an excuse to not get started. ;)

Thank you for reading. Feedback is greatly appreciated!</comment>


How to Evaluate Machine Learning Models: Hyperparameter Tuning - <AUTHOR> http://blog.dato.com/how-to-evaluate-machine-learning-models-part-4-hyperparameter-tuning

<comment><USER2> It is sad that the post fails to acknowledge that hyperparameter tuning may also be a source of overfitting (and very often is) -- one should always treat is as a part of training and validate as such, for instance by using nested CV. And never ever report accuracy straight from tuning as a final result.

<comment><USER3> Don't be sad. I'm happy to update the blog post as needed. By overfitting, do you mean over-optimizing the results on the validation set? Based on what I understand about nested CV, it is only necessary if 1. the hold-out validation set is way too small and not representative of the overall data distribution, or 2. if the model training procedure itself is unstable and produces models with wildly varying results on the same dataset.

To prevent overfitting to the training data, one performs hold-out validation or cv or early stopping in the training process.

To prevent overfitting of hyperparameters to a _small_ validation dataset, or to mitigate the variance of the model training outcome, one can use nested cv.

Is that along the lines of you were looking for?

<comment><USER2> It is a common misconception and a huge source of disappointment with ML -- without proper validation of the whole model building procedure (method selection + parameter tuning + feature selection + fitting) no amount of data and magic tricks will make you sure that there is no overfitting. Even a single hold-out test is risky because gives you no idea about the expected accuracy variance.

<comment><USER3> Well, you can use the bootstrap to calculate the variance. It costs computation. But it works. Cosma Shalizi wrote a really nice introduction to it: [http://www.americanscientist.org/issues/pub/2010/3/the- boots...](http://www.americanscientist.org/issues/pub/2010/3/the-bootstrap/1)

</comment></comment></comment></comment><comment><USER4> A very easy simple improvement over random search is to use a low discrepancy sequence. They were designed almost for this purpose (avoiding the problems caused by irrelevant dimensions). I don't know why I never see it suggested... it's not as good as gaussian process modeling, but it's very easy to implement and it clearly dominates random search for this application.

<comment><USER3> Great idea. Will run some experiments to see how it performs. It sounds analogous to kmeans++ initialization. Sobol sequences ring a bell. Some of the Bayesian optimization software libraries may in fact use a Sobol sequence of initial evaluations. But it may not be well documented.

<comment><USER5> Spearmint, for example: [https://github.com/JasperSnoek/spearmint/blob/master/spearmi...](https://github.com/JasperSnoek/spearmint/blob/master/spearmint- lite/ExperimentGrid.py#L188)

</comment></comment></comment><comment><USER6> In a happy situation the sensitivity of the optimzation to hyperparameter changes is low. That's why the 'random' approach provides reasonable results. If the optimization quality were heavily dependent on the hyperparameter, for an exaggerated example, only providing good results for exactly one value of the hyperparameter, then guessing 60 times and getting within 5% of the best value of the hyperparameter would not guarantee a good model optimization.

The main difficulty with hyperparameters is that one often does not actually know a priori a reasonable range to search in. Suppose you have a regularisation constant C - without some calculation based on your data how can you pick that constant? By picking the range of the hyperparameter, the problem is just punted to a hyperhyperparameter.

More interesting than blindly guessing values, is measuring the sensitivity of recall, precision and cross validation performance to changes in the hyperparameters. Make sure that the sensitivity is low!

</comment><comment><USER7> There's research that shows that in practice, grid search / random search beat most of the alternatives. It's also easier to parallelize thankfully!

<comment><USER8> Check out whetstone labs. Their Bayesian grid search tech is awesome

<comment><USER5> I think you mean [https://www.whetlab.com/](https://www.whetlab.com/)</comment></comment></comment>


Meet Hacking Team, the company that helps the police hack you - <AUTHOR> http://www.theverge.com/2013/9/13/4723610/meet-hacking-team-the-company-that-helps-police-hack-into-computers

<comment><USER2> Here's my idea of a great NSA-related story: names specific names, presents plausible, basic facts, and presents a genuine revelation: the authors of Ettercap have a business selling sniffers to LEOs? I had no idea.</comment>


Handset Profit Share: 72% for Apple, 29 for Samsung, 0 for the Rest - <AUTHOR> http://daringfireball.net/linked/2013/02/07/apple-samsung-profits <comment><USER2> Anyone got a number for the percentage of Samsung phones that are smart phones? It makes a major difference to what these numbers mean.

edit: IDC say roughly half Samsung's phone sales in Q4 are smart phones, which makes these numbers twice as good as they seem but... if you compare IDCs market share numbers it seems clear that these figures are only for smart phones.

</comment><comment><USER3> Handset industry is making 101% profit? Impressive.

</comment><comment><USER4> -1 for the rest.</comment>


In China, Alibaba now lets you invest in TV and movie projects - <AUTHOR> http://thenextweb.com/asia/2014/03/26/in-china-alibaba-now-lets-you-invest-money-in-tv-and-movie-projects/

<comment><USER3> Plenty of action ongoing in the TV space in China, * ZTE and The9 are producing a TV Game smart box, * Baidu's Iqiyi has overtaken Youku (youtube of china) in active users * Xunlei and BesTV creating a set top box to tap into the internet TV sector * Alibaba also bought 60% of Chinavision for $805M * Xioami (the smartphone maker) invested $200M into Xunlei and created Xiaomi TV focused on film and video content.

The space in China is really hotting up.

<comment><USER4> I'm surprised Iqiyi has overtaken youku and tudou, or even letv. Original content in China still sucks being mostly costume dramas, patriotic stuff that no one under 50 watches, or poor imitations of Korean dramas (or better yet, just show the original Korean dramas with subtitles). I'm not sure if there is much to get excited about, yet.

<comment><USER5> What do you want to see from the Chinese then since you live in China? I assume you are fluent in Chinese in this case.

I am Chinese and I watch Chinese drama with my parents, almost every night. While Chinese drama plots tend to repeat over and over (there is always some love triangle involved), I don't find them boring.

First I enjoy watching drama with my family at the dinner table. Two I feel that there is an urge for me to finish the drama to confirm my "theory" of the plot. The same can be said about the Western drama. Recently Western drama seems to be around apocalypse and new human civilization. What makes a drama boring is the combination of either or both the quality of the actors and the pace of the story.

<comment><USER4> I'm only semi-fluent, my wife is fluent, but is, typical of her friends, mostly into western TV shows and Korean soaps.

</comment></comment></comment></comment><comment><USER6> China is to startups, what Australia is to evolution. They are both these amazing walled ecosystems that develop completely independent forms of life (digital or otherwise.)

What confuses me is that the Chinese do this in plain sight and yet the American startup ecosystem doesn't seem to give them much mention. I hardly even seen TechCrunch or Pando talking about Chinese startups, while at the same time they are willing to talk about London, Berlin and Tel Aviv startups. I've always wondered if this was because of some latent racism, or because of the foreigness of the Chinese characters.

Either way, it's interesting to think that parts of the forefront of innovation isn't being reported (this story aside), and that there's a whole world of technology culture that's developing independently in China in part because of the totalitarian political regime.

I, for one, think that digital currencies are going to explode in China - <USER2> Chinese love to gamble on things like this, and the Yuan is a joke. I believe that it might just be the most opaque currency in the world. (But I don't know much about all the other ones that are in the running. Nor do I know how much the other currencies are lying.)

<comment><USER4> Startups in China focus mainly on copying ideas, either from abroad, or from each other; its not a very healthy market to be in. I had a friend tell me what was behind Kaifu's Innovation Works, and how it wasn't economical right now to do anything but sure bets (i.e. copies) in the current investment environment.

If you are interested in clones, then China is a fabulous place to look at how everything is copied and adapted locally since Twitter, Facebook, Youtube, and so on, aren't even allowed to operate in the country.

The CCP won't tolerate digital currencies; they even just shutdown alipay this weekend.

<comment><USER7> Yes, as a country they are still catching up.

They need to copy the west for a while yet to become more equal then they can start thinking about innovation.

That said this is pretty far ahead of the west. I'd love to invest in directors I believe in, giving them full freedom and profiting from it if it succeeds.

</comment></comment></comment><comment><USER8> Could be huge - given that China had it's biggest year ever in box office last year ($3.6 billion)

</comment><comment><USER9> Interesting timing with the oculus rift purchase and pissed off kickstarter supporters.

<comment><USER4> Doubt many of those supporters were in china.</comment></comment>


The Guide to Implementing 2D Platformers - <AUTHOR> http://higherorderfun.com/blog/2012/05/20/the-guide-to-implementing-2d-platformers/

<comment><USER2> Very informative. The use of code examples is a nice touch. I imagine that a lot of novice game developers could benefit from this guide.

</comment><comment><USER3> Nice article.</comment>


Personal finance on a napkin - <AUTHOR> http://www.nytimes.com/interactive/your-money/carl-richards-gallery.html

<comment><USER3> "If you can't explain it simply, you don't understand it well enough" - <USER2> Einstein.

I hadn't come across these before, they're fantastic.</comment>


Tacitus' Perfect Man - <AUTHOR> http://www.historytoday.com/emma-southon/tacitus'-perfect-man <comment><USER2> This dragged me into quite a wonderful wikipedia sinkhole, which led me to

[https://en.wikipedia.org/wiki/Caesarion](https://en.wikipedia.org/wiki/Caesarion)

Everyone knows how amazing his father, Julius Caesar, was. But popular culture only remembers on the legendary beauty of his mother. Cleopatra was almost certainly a genius. She could speak 10 languages, and was the first Ptolemy ruler to speak Egyptian (she was actually Greek/Macedonian, the Ptolemy descended directly from Alexanders greatest general). She was educated in math, philosophy and astronomy, introduced Julius Caesar to the astronomer Sosigenes of Alexandria to help create the Julian calendar, and wrote a medical treatise.

Sad that the product of two of histories great geniuses had to be killed by Octavian to protect his claim to the empire. Though the child seldom matches their parents, seems like an irreplaceable genetic loss.

After Germanicus died, the Roman empire went from bad to worse in it's choice of emperors. Tiberius led to Caligula, then Claudius, then Nero, and his death lead to the tumultuous year of the Four emperors.

[https://en.wikipedia.org/wiki/Year_of_the_Four_Emperors](https://en.wikipedia.org/wiki/Year_of_the_Four_Emperors)

From that year comes interesting parallel to Germanicus, the story of Lucius Verginius Rufus.

[https://en.wikipedia.org/wiki/Lucius_Verginius_Rufus](https://en.wikipedia.org/wiki/Lucius_Verginius_Rufus)

He helped put down uprisings by governors intending to become Emperor and twice that year his armies offered to put him on the throne, and he refused both times. In an era where emperors regularly killed anyone who had the political means to be a threat to their throne, he was able to live to the age of 83, where he was again selected as Consul by Emperor Nero.

<comment><USER3> Something else to note here: Julius Caesar lived most of his life working toward great purpose. It almost seemed like he got bored being in the same place for too long. One of the only true times he took a break in his life was with Cleopatra after the Pompean-Caesarian Civil War turned in his favor. It was actually a bit of a disastrous hiatus for him, but I think it speaks to how absolutely engaging Cleopatra was (although many commentators might just say after 10 years of warfare, he just needed a break).

> Sad that the product of two of histories great geniuses had to be killed by > Octavian to protect his claim to the empire. Though the child seldom matches > their parents, seems like an irreplaceable genetic loss.

I think this statement jumps on the "nature" bandwagon, but I'd argue that at least Caesar wasn't born a political and military genius, but got there by:

1\. Good tolerance of failure. Great Roman military commanders like Pompey and Caesar were known to have an uncanny ability to learn from their defeats.

2\. Luck. Certain decision making like going to Britain twice and making the same mistake almost to his end played out well for Caesar. Also decisions to march to save his garrisoned legion during the greater Gallic rebellion during wintertime, while admirable (the safety of his soldiers was of supreme importance to him), worked out where they seemed like they shouldn't most of the time.

3\. Stupidity of his enemies. How many times did Caesar attack the Pompeans during the Civil War during winter? They never learned. It's remarkable really. One can also look at Caesar's merciful treatment of enemies during the civil war as evidence of his genius -- he won so many by being gentle, even though he had to fight Ahenobarbus like 4 times because he kept letting him go.

With that, Caesar turned into an absolute master by making reasonable calculated risks and surviving them. By the point he was clearing the last of the Pompeans in Africa at the end of the Civil War, he didn't even leave his tent to give commands -- so confident and expertised in warfare that he didn't even have to see the field of battle.

This is a bit of a ramble. I really admire Julius Caesar and think there's so much to learn by studying his life and habits.

<comment><USER4> "By the point he was clearing the last of the Pompeans in Africa at the end of the Civil War, he didn't even leave his tent to give commands"

Was this an indication of the experience and initiative of his commanders and non-coms? So Caesar might decide on the overall approach, make sure all his commanders knew what that was, and let them figure out how best to achieve that based on the situation.

<comment><USER3> > Was this an indication of the experience and initiative of his commanders > and non-coms? So Caesar might decide on the overall approach, make sure all > his commanders knew what that was, and let them figure out how best to > achieve that based on the situation.

This interestingly largely didn't seem to be the case. By Africa most of Caesar's experienced legions (who campaigned with him during the Gallic Wars and the first half of the Civil War) weren't with him (he campaigned mostly with Pompey's newly raised legions out of Greece). His commanders were either new or of questionable skill. In particular, his most capable commander during the Gallic Wars, Labienus, defected to the Pompey early in the Civil War, and was one of Caesar's chief opponents during his African campaign.

As an interesting note, it seems Labienus likely defected from Caesar for two reasons:

1\. At the beginning of the Civil War it looked extremely unlikely Caesar would win.

2\. Labienus felt as though Caesar took more credit than he ought to have in the Gallic Wars, depriving him of his "auctoritas" (sort of prestige) he felt he rightfully deserved.

Caesar's skilled defeat of Pompey and Labienus show his military skill outside of his use of good commanders.

<comment><USER5> I hope you see this after all this time. Do you have a trailhead to lend me so I can read about this instance of not having to leave his tent to give commands? I have never heard this before and it's very interesting to me.

</comment></comment></comment></comment></comment><comment><USER6> It's a symptom of postmodernism that nowhere in this text is it even suggested that Tacitus is maybe just, you know, relating the facts about Germancius as accurately as he can.

Instead we're sitting here quibbling over what literary fiction trope "Tacitus's Germanicus" fulfills in his "story"

<comment><USER7> Reading texts critically, thinking about the context that produced them, and debating the author's rhetorical strategies has a lot more to do with Renaissance humanism than with postmodernism. Simply reading all historical texts with the expectation that the author meant to tell the facts and nothing but leads to the acceptance of frauds like the Donation of Constantine:

[https://en.wikipedia.org/wiki/Donation_of_Constantine](https://en.wikipedia.org/wiki/Donation_of_Constantine)

<comment><USER6> Well, it's not like I wholly disagree with what you're saying, but I think the paragraph above is a straw man of what I'm saying.

First, here is the element of Postmodern discourse I'm talking about:

[https://en.m.wikipedia.org/wiki/Deconstruction](https://en.m.wikipedia.org/wiki/Deconstruction)

Second, my complaint is that it's not even considered as a possibility that Tacitus is telling the truth. In relation to The Annals (a public document concerning public affairs thousands of contemporaries would have had firsthand experiences of) do you really think it's a forgery? Or do you really think Tacitus is so biased he can't record history accurately? The idea that someone becomes so corrupted by their interests (especially race and class) that they cant be objective is a uniquely postmodern idea. The Enlightenment was premised on the idea that objective rationality was accessible to all.

Further, we can test your hypothesis about the Renaissance. The Renaissance writers read Tacitus, and when they mention him, they treat his works like a complete and unmitigated factual account. Also, Tacitus is not engaged in rhetoric. That's the point. He's writing history, not philosophy.

<comment><USER8> You're letting your modern biases color how you view Tacitus' writings. Most people educated in the last ~hundred years or so were taught "history" as you understand it - an impartial account of the facts of an actual event or person. This view of history is actually pretty recent, and it's widely understood that ancient historians did _not_ practice what we would consider the modern discipline of history. For example, Herodotus is considered the historian ne plus ultra of the ancient world, but he still wrote about lots of weird shit like zombies and races of headless people.

It's not so much that modern historians think Tacitus was too "biased" to "record history accurately"; they read his works critically because they know he wasn't really even trying to record history accurately in the way we think about doing that today.

EDIT: Another good example of ancient versus modern history is Pericles' Funeral Oration, as related to us by Thucydides: [https://en.wikipedia.org/wiki/Pericles%27_Funeral_Oration](https://en.wikipedia.org/wiki/Pericles%27_Funeral_Oration) Thucydides probably edited the speech heavily (even by adding or removing content), and may have even combined multiple different speeches to create what we know as _the_ speech. A modern historian would most likely blanch at the thought of doing this, but Thucydides was fine with it because he wasn't even trying to relay an impartial and 100% accurate account of the events of the Peloponnesian War (as a modern historian would).

<comment><USER6> Historical records did not begin 100 years ago, that much I don't think anyone can truly believe. We have detailed contemporary histories of the American Revolutionary War, for one, and they seem no more "biased" than histories of WWII.

There is a 500 year difference bt Herodotus and Tacitus. Even so, Herodotus did no more than accurately record what he was told, assiduously pointing out when he saw something first hand. Early ancient historians made up speeches, that much is known. But by Tacitus's day, the act of writing an objective history was not a novelty, and in fact he complains in the beginning of his text that he is undertaking the work because he thinks his peers, also ostensibly engaged in objective history, have not been objective enough out of fear or hatred when covering the reigns of Tiberius, Caligula, Claudius, and Nero. Once again, with no reason to doubt him, I ask: why not even consider taking one of the greatest historians whose works have been preserved for posterity at face value?

Is there anything in particular Tacitus says in any of his works that you doubt happened?</comment></comment></comment></comment></comment>


Ask HN: Is there anything like NewGrounds these days? - <AUTHOR> About 10 years ago, I remember NewGrounds being this amazing place to see fresh animation / game content.
I really enjoyed trying to hack together animations back then, even if most of them did get 'blammed'. Since then, I've focussed on programming, so am out-of-the-loop with where the cool kids and trendy game devs hang out and showcase their stuff.
I'm looking to get back into indie game development and was wondering if there is a 'new' NewGrounds — or if it is indeed still as revered and the place to check out new stuff.
Bonus points if anyone knows of the above, but more JS focussed! <comment><USER2> There are a few communities that have a slightly similar spirit in some of the aspects, but I don't know of anything like Newgrounds (except maybe Newgrounds itself)

soundcloud and codepen.io are the only things I can think of that come even remotely close.

Edit: There're pico-8 and [https://itch.io/](https://itch.io/) of course, these are coming a lot closer to Newgrounds. Neither have the same target audience as Newgrounds had though</comment>


'Driverless' Van in Virginia Is Driven by Man Dressed Like a Car Seat - <AUTHOR> http://www.nbcwashington.com/news/local/Driver-Dressed-Like-a-Seat-Spotted-Inside-Driverless-Van-439041863.html <comment><USER2> But _why_

<comment><USER3> As tha article said it was for a study on driverless cars.

<comment><USER4> Even if it wasn't, it's a great hack.

I am surprised they haven't gotten pulled over and charged with... something.</comment></comment></comment>


Show HN: Noodles. Cook better - <AUTHOR> http://getnoodles.github.io/

<comment><USER2> Hey everyone! I'm the other developer and co-founder of Noodles, a way to cook better. Hit us up with questions or feedback and we'll respond as quickly as we can.

Enjoy cooking!

</comment><comment><AUTHOR> Hey everyone! I'm the primary developer for Noodles, an app for all your recipes. If you have any feedback or questions, I'd love to hear them.</comment>


Joshua Topolsky reviews the BlackBerry PlayBook (before anyone else?) - <AUTHOR> http://thisismynextpodcast.com/2011/04/13/blackberry-playbook-review/

<comment><USER3> $499 for a 7" tablet is too much. $399 needs to be the starting price for a 7" tablet. That's max. $299-$349 seems more reasonable -- especially since I could've bought a 10" iPad refurb direct from Apple for $349.

</comment><comment><USER4> Engadget's review is also up: [http://www.engadget.com/2011/04/13/blackberry- playbook-revie...](http://www.engadget.com/2011/04/13/blackberry-playbook- review/). They liked it in general, but found the software immature, albeit improving.

</comment><comment><USER5> It seems to me that this is really the beginning of the end for RIM.

Based on this review and the video, it is clear that they're so behind with their tablet that they've already pretty much lost the game. The same can be said about Blackberries.

Their die hard user base is now starting to look at Android and iOS very seriously and their number of new subscribers per unit sold is constantly declining. If I owned $RIMM, I'd definitely pack up and leave.

A great article about the decline of RIM can be found here: [http://mobileopportunity.blogspot.com/2010/10/whats- really-w...](http://mobileopportunity.blogspot.com/2010/10/whats-really-wrong- with-blackberry-and.html)

</comment><comment><USER6> So once again the message seems to be: promising but it isn't done yet.

Logic would suggest that the positives of an early, not ready, release - <USER2> 100k sales would be totally outweighed by the negative: popular opinion saying "tablet X is rubbish" (no matter how much it improves the initial impression is the story that the media and popular opinion will stick with)

Why didn't they work on it for another 6 months and then release it because it sounds like it will be pretty nice when its finished.

</comment><comment><USER7> Anandtech's review here: Some of the stuff that Joshua said wasn't working (WiFi sync for example, more stuff on BB Bridge) is included. A slightly more positive review, but all and all the same. "Great hardware, good start, needs much more".

[http://www.anandtech.com/show/4266/blackberry-playbook- revie...](http://www.anandtech.com/show/4266/blackberry-playbook-review/1)

<comment><USER8> In that review I really have to wonder about using reddit.com ([http://www.anandtech.com/show/4266/blackberry-playbook- revie...](http://www.anandtech.com/show/4266/blackberry-playbook-review/7)) as a site to test browser loading. Not saying anything about the results (PlayBook does about the same as the ipad2) just feels like reddit seems to have the flakiest site that I currently visit so hard to believe you could get consistent results. Disclaimer: I work for rim on the webkit team.

</comment></comment><comment><USER9> Dell has 4, 5, and 7 inch tablets that are nicer than this, play flash, and are lower cost.</comment>


What is Apple thinking with iAds? - <AUTHOR> http://blog.funambol.com/2010/04/apple-iads-and-future-of-mobile.html <comment><AUTHOR> Another form of mobile Ads, will be coupons, based on how many times you check-in somewhere. It's not 100% ads, but it works great for coffee shop, clubs, restaurants and bar that wanna improve loyalty with their clients.

</comment><comment><USER2> He ignores Steve Jobs demonstrating _purchasing_ in the Target mock ad.</comment>


Obama Was Right: The Government Invented the Internet - <AUTHOR> http://www.slate.com/articles/technology/technology/2012/07/who_invented_the_internet_the_outrageous_conservative_claim_that_every_tech_innovation_came_from_private_enterprise_.single.html#pagebreak_anchor_2 <comment><USER2> _ACTUALLY_ , in 1961, Leonard Kleinrock of MIT invented the concept of wide area networks in his paper "Information Flow In Large Communication Nets" (1).

After that, in 1964, a RAND employee by the name of Paul Baran wrote a paper entitled "On Distributed Communications Networks"(2), furthering the concepts outlined by Kleinrock.

It wasn't until AFTER Lawrence Roberts, also of MIT, wrote "Towards a Cooperative Network of Time-Shared Computers", that ARPA funded research on the idea.

FINALLY, it was National Physical Laboratory in England that created the first wide-area packet switching network in 1967.

So, NO, the government didn't INVENT the Internet. They built a closed, packet switching network that the public could not access, based on principles and ideas generated at a smattering of schools and PRIVATE COMPANIES.

(1) <http://www.lk.cs.ucla.edu/LK/Bib/REPORT/PhD/> (2) <http://www.rand.org/about/history/baran.html></comment>


Get Paid to Learn Tech Policy -Aspen Institute Pays You $18k; 10wk Program in SF - <AUTHOR> https://www.aspentechpolicyhub.org/fellowship/ <comment><USER2> I'm part of the first cohort and the program is great. Highly recommended.

</comment><comment><USER3> Times are given as EST/PST, but we are on Daylight Time.

</comment><comment><AUTHOR> I am a part of the inaugural cohort, which is wrapping up now in San Francisco. Feel free to ask me questions.</comment>


Browse job listings from "Who is hiring" threads - <AUTHOR> http://jobsforhackers.com

<comment><USER2> How do you sort the jobs? Is there a special mark for the jobs extracted from HN?

Do you check the jobs submitted directly to your site? (What happens if I send a job offer for "Company:Microsoft/Title:CEO/applyto:email@example.com"?)

<comment><AUTHOR> Currently there is no sorting, all the jobs are in the same order they were posted on the WhoIsHiring thread.

Just some basic form validation when submitting new jobs.

</comment></comment><comment><USER3> This raises the interesting question of to whom the content posted here actually belongs and whether you can or should replicate it like this willy nilly without permission.

Perhaps one of the job posters will chime in.

<comment><USER4> This is like Padmapper vs Craigslist all over again.</comment></comment>


Learning to translate improves the rest of NLP - <AUTHOR> https://einstein.ai/research/learned-in-translation-contextualized-word-vectors <comment><AUTHOR> Paper (arxiv coming later today): [https://einstein.ai/static/images/layouts/research/cove/McCa...](https://einstein.ai/static/images/layouts/research/cove/McCann2017LearnedIT.pdf)

Code: [https://github.com/salesforce/cove](https://github.com/salesforce/cove)</comment>


UK Students: Win Tickets to the First Ever TechCrunch Disrupt Hack in London - <AUTHOR> http://disrupt.hackcampus.io

<comment><USER2> Press of this event always brings a smile to my face, mostly because I'm running the "D2B"[1][2] browser extension.

[1] [https://chrome.google.com/webstore/detail/disrupt-to- bullshi...](https://chrome.google.com/webstore/detail/disrupt-to- bullshit/mahaemfhlcjficbbkbpmkbhhenfnikcf) [2] [https://addons.mozilla.org/en- US/firefox/addon/disrupt-to-bu...](https://addons.mozilla.org/en- US/firefox/addon/disrupt-to-bullshit/)

<comment><USER3> Same here. It's been a pretty good heuristic for bullshit detection so far, to be honest.

[http://i.imgur.com/H7BkObO.png](http://i.imgur.com/H7BkObO.png)

</comment></comment><comment><USER4> > First Ever TechCrunch Disrupt Hack

I'm surprised they didn't include the word "Launch" in there somewhere, among the other buzzwords.

<comment><USER5> I can't help laughing whenever I read "TechCrunch Disrupt". Always so disruptive, those innovations.

</comment></comment><comment><USER6> Irrelevance: The favicon for hackcampus.io look remarkably similar to that of hike.io. Are circles the new squares?

<comment><AUTHOR> Haha, wow! Apparently they are...

<comment><USER7> what's the service you're using for [http://showcase.hackcampus.io/](http://showcase.hackcampus.io/) ?

<comment><AUTHOR> [http://telesc.pe](http://telesc.pe) \- it's great.

</comment></comment></comment></comment><comment><USER8> Great choice of background video.

<comment><AUTHOR> I couldn't resist...

</comment></comment><comment><USER9> Techcrunch follows where YC leads.</comment>


Off-the-shelf camera hacked to grab high-speed video - <AUTHOR> http://www.newscientist.com/article/dn18522-offtheshelf-camera-hacked-to-grab-highspeed-video.html

<comment><USER2> Huh, that idea seems so obvious, now that someone else thought of it and did it. Interlaced video in two dimensions rather than one, with the number of fields potentially adjustable on the fly. Trivial to select the number of fields (and thus the max framerate) as any perfect square. A little more work to select it as any number from 1 to the total pixel count. Though you'd need a monster aperture or a very bright subject to get anything but solid black from a one-pixel image sampled at 25MHz.

<comment><AUTHOR> It is still A1 cool idea. Check out the video. [http://brightcove.newscientist.com/services/player/bcpid1873...](http://brightcove.newscientist.com/services/player/bcpid1873822884?bctid=66305632001)</comment></comment>


Ask HN: What is the word? - <AUTHOR>

A coworker suggested that there is an engineering term that describes a decline in quality (in a product or process) to a point where there can never be a recovery to the initial state.  Anyone know what the term might be? <comment><USER3> I use "incident pit" for this.

This is a concept from SCUBA diving, imagine a slope that starts off shallow on the left hand side of a graph and becomes exponentially steeper as you go right. The horizontal axis is what has just gone wrong. The vertical axis is how much trouble you're in.

So over at the left hand side of the graph, something major can go wrong (moving you quite far to the right) but it doesn't move you very far vertically, so you're OK. The further to right you get, the smaller the movement to the right it takes to increase your trouble by the same amount. At the point where the graph gets asymptotic, a tiny movement to the right - <USER2> otherwise trivial thing going a tiny bit wrong - is enough to push you off the scale (i.e. you're dead).

The trap is that you can't see yourself falling into the pit, because it appears early on that problems aren't having a significant effect. This leads to overconfidence. Then once you're in the pit, it becomes harder and harder to get back out again (i.e. you need a huge vertical movement for a small horizontal movement back to the left). An experienced diver is hypersensitive and this is why you will see people abandon a dive for a seemingly trivial matter - they've felt themselves at the top of an incident pit.

</comment><comment><USER4> FUBAR is very casual (and probably inappropriate) acronym from the military that means what you are looking for.

</comment><comment><AUTHOR> LOL - have heard that one before... not a bad match. I was hoping for one that might qualify in buzzword bingo like "irrecoverable declination." It would be nice to be able to capture the idea to encourage ongoing vigilance in quality (rather than simply "fixing it later").

<comment><USER4> There is a pretty commonly used term in manufacturing for "ongoing vigilance in quality" which is the Japanese word kaizen. It means continual improvement (at least in American manufacturing companies, not sure about original Japanese).

</comment></comment><comment><USER5> My favourite is "you can't polish a turd" though I don't think it really qualifies as an engineering term!</comment>