The world's fastest human-powered vehicle tops 85 mph - <AUTHOR> http://www.engadget.com/2015/09/18/aerovelo-fastest-human-powered-vehicle/ <comment><USER2> I'm a little surprised nobody has mentioned the opaque fairing, visibility, or the camera.

At first I thought it might be to keep the weight down, as there are plenty of composite materials that are lighter than (even thin) plexiglass. But then there's the weight/complexity of the camera, display, and battery.

Then I thought, well, the rider in in such an odd position, maybe he wouldn't be able to see very much even if there was a window.

But apparently the actual reason is that the rider produces so much heat that a window would fog up, and it would be too difficult/unsafe for the rider to wipe it. Given the white coloring, I suspect they're also trying to avoid cooking their human power source.

Here's part of a Q&A where they discuss visibility:

[https://youtu.be/mscVAb1VZJw?t=271](https://youtu.be/mscVAb1VZJw?t=271)

</comment><comment><USER3> I'm guessing something can't get much more aerodynamically shaped? I wonder if they used a power meter to measure the driver/rider's power output and whether the driver was an accomplished cyclist. It seems that at this point, it would simply be a matter of getting a stronger cyclist, say someone like Brad Wiggins who can push 430 watts for an hour over an amateur, but still respectable rider, who puts out something more like 250 watts for an hour.

The article states that riders have 5 miles to speed up before they cross the speed trap that measures. Assuming the average speed of the whole endeavor is, say, 60mph, you would want a pro time trialist who excels at hard 5-minute efforts. This chart[1] states that a world class cyclist should be able to put out 7.5 watts/kg for 5 minute efforts. Brad Wiggins weighs 77kg, so I guess theoretically he should be able to put out 577 watts, versus a "good" with the same weight who might "only" put out 350 watts in the same 5-minute period.

I would be very interested to see what would happen if you simply replaced the 85mph rider in the submission with Brad Wiggins.

[1] [http://d4nuk0dd6nrma.cloudfront.net/wp- content/uploads/2009/...](http://d4nuk0dd6nrma.cloudfront.net/wp- content/uploads/2009/07/powerprofiling.jpg)

<comment><AUTHOR> Todd is actually a world-class rider (based on the chart you provided, as well).

From the article before they won the Sikorsky prize:

"Reichert, a national-level speed skater, can pedal at 1.2 horsepower for a full minute"

[http://m.thestar.com/#/article/news/gta/2012/08/26/humanpowe...](http://m.thestar.com/#/article/news/gta/2012/08/26/humanpowered_helicopter_toronto_engineers_aiming_to_win_elusive_sikorsky_flight_prize.html)

<comment><USER3> EDIT: Made a mistake with the numbers!

This is interesting; 1.2hp is about 895 watts. Assuming he's probably 65kg (total guess from the looks of him). That means he can do about 13.7 Watts/KG for 1-minute. According to the chart I posted above, looking at 1 minute power, that puts him as a Far to Moderate level cyclist. Even giving the benefit of the doubt and assuming 55kg, making the ratio a better 16.2 Watts/KG, that just moves him up to the "Good" category.

So perhaps a lot of improvement could be had moving to a professional cyclist.

<comment><AUTHOR> You are looking at maximal power output for 5 seconds (the left most column) while you should be looking at maximal power output for 1 minute (the 2nd column from left) :)

<comment><USER3> Wow you're absolutely right, my mistake! Todd must be a very, very fantastic cyclist!

<comment><USER4> Hence setting the speed record!

</comment></comment></comment></comment></comment></comment><comment><USER5> So my question is now: In terms of aerodynamics, what aren't they doing?

Some commentators have noted that the shape of this bike is just about as good as it can get. The rider/engine is also not going to see any vast improvements. So rather than this become a pure athletic event, where can engineers look for improvements? Will they have to start dealing with boundary layer issues? Will the next generation of bike be covered in golfball-like holes to reduce turbulence?

<comment><USER6> Does it have to be a bike? What about a rowing rig, where you can leverage the powerful muscles in your back and upper body?

<comment><USER7> Contrary to what it might look like, rowing is almost entirely dependent on your legs, your arms/back merely keep the momentum going at the back of the stroke. Also, the muscles in your back are nowhere near as strong/large as the muscles in your legs, there's nearly a magnitude of difference. Though if you added power from your arms in addition to fully utilizing your legs (it would be much harder to concentrate) then there would be a benefit. But then you run into how to engineer such a thing, especially with respect to aerodynamics.

</comment></comment></comment><comment><USER8> I wonder why for fastest human-powered they don't use more than one cyclist. I assume with eight humans like in rowing you could get up to a ridiculous speed. Might be a little dangerous though.

<comment><USER9> This isn't horribly safe, either. Wiping out at 85 MPH would _suck_.

I'm curious what multi-cyclist vehicles could do, now that you suggest it. With the lightness of these vehicles, at what point would you have to add spoilers?

<comment><USER3> While I know it would suck to wipe out, I'm hoping with this thing it may be more of a "slide for 1000ft and off the flat road" type of suck than a "life altering injury" type of suck.

<comment><USER10> The video shows a wipeout around 4:30, just a long slide. The bike wasn't near 85mph though.

Sadly, the video is pretty cheesy and content-free. It's hard to recommend.

</comment></comment></comment></comment><comment><USER11> > _The WHPSC is basically where cyclists put their knees where their mouth is, > and attempt to beat the record for pedal-powered speed._

This is truly an epic pun, I'm duly impressed.

<comment><USER12> Could have done better using "feet" :P

<comment><USER11> No, that's the beauty it. When you tuck for aerodynamic efficiency your knees come very close to your mouth.

</comment></comment></comment><comment><USER13> The video ends with a brief second where the cyclist explains what prevented even higher speed. I make out: "too much vibration...", "knees rubbing...", "unable to continue increasing power output". Would love to hear more about this.

<comment><USER14> Note the video was from last year when they failed to set the record. This year they've done it. They probably will release a video of this year's efforts eventually.

</comment></comment><comment><USER15> For those lazy to convert that's 137.94 km/h . That's just above most of the world's road speed limit.

<comment><USER16> That's interesting. Any source? I live in the northeastern part of the United States and it's rare for me to see a speed limit above 65 mph.

<comment><USER17> 120km/h looks like the typical global speed limit, but I haven't calculated it. It includes China, India, Brazil, several countries in the middle east and Africa.

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

</comment></comment></comment><comment><USER18> They just posted the video where they actually beat the record: [https://www.youtube.com/watch?v=33clAZoaLWs](https://www.youtube.com/watch?v=33clAZoaLWs)

</comment><comment><USER14> I wonder how much impact a professional track cyclist would have. Im sure the current pilot is a strong rider, but if you got a world record sprinter into the world record bike, how fast could they go?

<comment><USER19> A professional track cyclist would be quite inferior to these riders. These aren't some average Joe riding here: they're they best high-performance cyclists in the world. For example, this particular record was long held by Sam Whittingham: I invite you to see his Wikipedia entry. [https://en.wikipedia.org/wiki/Sam_Whittingham](https://en.wikipedia.org/wiki/Sam_Whittingham)

<comment><USER14> He's obviously very very strong. I'm sure the riders all the teams select are amazingly strong riders. They aren't, however, gold medal caliber track cyclists. The men with the strongest legs in the world. There is much more prestige and money in winning a track cycling medal than setting a record in human powered vehicles.

Im simply wondering, what happens if they get the best of the best. With proper time to adapt to the vehicle, its probably worth a few mph. Not too significant, but enough to reset the record.

<comment><USER19> > They aren't, however, gold medal caliber track cyclists.

Correspondingly, gold medal track cyclists aren't world record setting performance cyclists.

These tasks demand somewhat different skill sets, and at this level, "somewhat" is a big deal. There's a _reason_ why the "top" track cyclists don't hold any of these records.

<comment><USER14> What I'm saying is that that reason most likely isn't lack of physical ability, but lack of ever trying. Why would they when they are chasing olympic medals and making way more money than would earn setting these obscure records?

</comment></comment></comment></comment></comment><comment><USER19> It's interesting to note that this record was once again set along a very specific stretch of highway in Battle Mountain, Nevada which is prized for its near perfect flatness and is often used for human-powered vehicle record attempts.

<comment><USER20> The course is not perfectly flat, but it is perfect for the contest.

The rules for this event stipulate that the track cannot be slopped downhill by more than 0.66%. Conveniently this track averages 0.64% downhill over the entire 5 mile duration. [1]

The story about how Raymond Gauge (what an aptronym!) happened to find this particular stretch of road makes for it's own fascinating big data tale. Months of mining away on USGS tables with Celeron processors to get 10 suitable tracks. A documentary made a few years back went into the specifics with plenty of dramatic shots of him driving the lonely stretches of Nevada, New Mexico, Kansas, etc whittling down his choice candidates until he settled on Battle Mountain.

The biggest limitation in these events is air resistance. Plenty of other folks have gone significantly faster on bicycles not facing a headwind[2]. Altitude helps.

[1] [http://www.recumbents.com/wisil/whpsc2015/whpsc_site.htm](http://www.recumbents.com/wisil/whpsc2015/whpsc_site.htm)

[2] 207.9 mph - [https://en.wikipedia.org/wiki/Cycling_records#Speed_record_o...](https://en.wikipedia.org/wiki/Cycling_records#Speed_record_on_a_bicycle)

<comment><USER21> Interesting that for land speed records you generally need to do two passes of a course one in each direction and your speed is an average of the two passes in order to prevent these types of shenanigans ;-)

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

</comment></comment></comment><comment><USER22> While watching this, a thought occurred in my head: for these types of challenges, are the participants tested for PEDs and such?

</comment><comment><USER23> I'm guessing that the rules prohibit using some of the pedal power to charge a battery during the initial part of the run, and then using that stored energy to provide an additional speed boost :D

<comment><USER5> I don't see why not. The initial run is essentially the storing up of momentum. From that, running up a flywheel inside the bike is just storing the same energy in a different place.

<comment><USER24> It stretches the concept of "human powered". Why not just pedal while stationary to charge a battery (take as long as you like), and then ride the course with no additional expenditure of effort.

<comment><USER23> Because then you would be bringing additional stored energy into the competition (beyond what's in your body)?

<comment><USER25> Well, the course is a 5mile run up to a 200m speed trap. So if you allow batteries/motors, you could just sit stationary somewhere in that 5 miles pedalling for a while, and then use electrical acceleration to get up to speed for the trap. You're not bringing any additional energy, but its clearly not in the spirit of the challenge.

</comment></comment></comment></comment></comment><comment><USER26> This is probably the few projects in life where you can say you've challenged your mind just as much as you've done your body. And one can see the impact of both of these in these young and beautiful "geeks". What a project it must be to work at - beautiful minds and beautiful bodies. And the happiness shows. :-)

</comment><comment><USER27> Picture on top has new Google logo on it, video at 3:49 shows old Google logo on the vehicle.

<comment><USER28> That video is from last year's attempt.

</comment></comment><comment><USER29> I've met with some of the guys from Aerovelo and done a little bit of collaboration with them. They're top notch, and an all-around awesome team of engineers. And Todd is a beast (watch the Atlas human-powered helicopter video).

<comment><USER30> Video [https://www.youtube.com/watch?v=syJq10EQkog](https://www.youtube.com/watch?v=syJq10EQkog)

</comment></comment><comment><USER31> What software solutions are there that could be used to simulate mechanics and physics (including gravity, friction, ...) in order to prototype, say, a human powered heli_thing? :) No, I'm serious.

</comment><comment><USER32> I was gonna say this makes me realized just how aerodynamically inefficient a regular bike is, but then I found out that the world record of cycling on flat surface is actually 83.13 mph [0], which is actually pretty close to this. Assuming the rider is also top notch, I guess the benefit from optimizations done on aero isn't much larger than the weight added.

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

<comment><USER33> wikiepedia doesn't check it's own references.

The speed is for a human powered vehicle (fully fared). Edit: All the flat records in the section you're referencing are for hpvs, not tradition bicycles, as a look at the pages of the riders will show.

See: [https://en.wikipedia.org/wiki/Sebastiaan_Bowier](https://en.wikipedia.org/wiki/Sebastiaan_Bowier) [https://en.wikipedia.org/wiki/Barbara_Buatois](https://en.wikipedia.org/wiki/Barbara_Buatois)

<comment><USER32> Thanks for pointing that out!

</comment></comment></comment><comment><USER34> So let me get this straight, WeChat and other major companies are downloading pirated Xcode software which has malware?

<comment><USER35> A swing and a miss.

You might try again, on a different story. This doesn't seem to fit here.

<comment><USER36> I'm curious as to how that comment even ended up here :S

</comment></comment></comment><comment><USER37> Seems like they could get an extra 10% by simply going to a higher track. Mexico City is popular at 2250m of altitude..

<comment><USER38> Also less oxygen for the cyclist.

<comment><USER37> The body will naturally produce more red blood cells at altitude so while there is a performance hit, it is mitigated. Also, the crucial power here is anaerobically produced anyway.

If must be, I think the rules don't forbid an oxygen tank.

</comment></comment></comment><comment><USER39> last night they broke their own new record,

"On Friday evening, Sept 18th, Todd set another record at 86.50 mph"[1]

[1] [http://www.ihpva.org/home/?view=plink&id=21](http://www.ihpva.org/home/?view=plink&id=21) (the site of the competition that engadget links to)

</comment><comment><USER40> This reminds me of the Flintstones :)

</comment><comment><USER5> Typical Canadians. Their country's flag is smaller than the GMC logo. I hope someone from UofT alumni relations gives them a call.

If you are going for a speed record, you need something more like this: [http://cdn.rsvlts.com/wp-content/uploads/2014/02/olympics- sk...](http://cdn.rsvlts.com/wp-content/uploads/2014/02/olympics-skeleton- helmet-pic-2-642x396.jpg)

<comment><USER41> I am a proud Canadian who lives in the USA and have a little Canadian sticker on my car. It's my little shout out to other Canadians on the road. I guess we're quietly showing our pride to others. Being loud about it is not in our nature. But I do like that luge helmet :)

<comment><USER5> It's not luge. When the idiot goes head-first they call it skeleton.

<comment><USER41> Thanks - I never noticed the difference.

</comment></comment></comment></comment><comment><USER42> The d&d fan in me thiks falling is a free action. A human powered plane doing a dive would go faster I'd bet. Not prepared to rules lawyer that case though.

<comment><USER43> If you're willing to allow that, then just wear a single shoe (to be the 'vehicle') and do a BASE jump.

<comment><USER44> You might want to bring a parachute too.</comment></comment></comment>


Ask HN: Best Wireless Router for a Hacker Home? - <AUTHOR>

Long time lurker.  I need to buy a new wireless router for my new apartment.
We have Meraki's at my office and they are pretty awesome.  But, to my knowledge, they don't have one at a low enough price to make it worth it for home use.
Is there a cool wireless router for home use that I should know about?
Thanks! <comment><USER2> I've been using the Buffalo HighPower N600 Gigabit Dual Band with DD-WRT, but with 802.11ac on the horizon you'll want to assess whether you want to buy an 802.11n device or a draft 802.11ac device.

Two thing to watch out for when you buy consumer grade 802.11n routers:

\- what frequency bands they support (stay away from anything that's 2.4GHz- only; you want dual-band 2.4GHz + 5GHz)

\- the speed of the wired switching framework (should be Gigabit ethernet; if your router only switches at 100 mbps then you won't get the full performance out of the wireless network)

<comment><AUTHOR> Thanks!</comment></comment>


Show HN: Beautiful Python List Prompts Package - <AUTHOR> https://github.com/Mckinsey666/bullet <comment><USER2> FYI, not exactly the same, but Dialog is an excellent tool for creating ncurses based GUIs for shell scripts...

[http://www.unixcl.com/2009/12/linux-dialog-utility-short- tut...](http://www.unixcl.com/2009/12/linux-dialog-utility-short- tutorial.html)

<comment><AUTHOR> Gee, this is legit. Gave me some insights. Thanks a lot :)!

<comment><USER3> if you want to use python together with dialog to build cli menus, i recommend using [http://pythondialog.sourceforge.net/doc/](http://pythondialog.sourceforge.net/doc/). i've been using it for a project at work and it's very nice!

<comment><USER4> seems like this isn't maintained?

</comment></comment></comment></comment><comment><USER5> This is really nice. I'm working on a similar project right now, trying to hook together a few console UI pieces like this into a coherent annotation tool:

[https://github.com/larsyencken/questioner/](https://github.com/larsyencken/questioner/)

It's not as pretty as bullet, but it's trying to fit in an annotation loop. It would be super cool to extend bullet to choose-many questions too.

<comment><AUTHOR> Thanks for the feedback! Will definitely add more features to this package. Wrapping up several prompts together is a great idea too, thanks for the insight.

</comment></comment><comment><USER6> First thoughts were that this was handled by Prompt Toolkit, but it's actually a slightly different case to the auto complete which that one offers:

[https://python-prompt-toolkit.readthedocs.io/en/stable](https://python- prompt-toolkit.readthedocs.io/en/stable)

Might be useful to handle deactivated choices (ie greyed out).

It looks like it handles multi choice (with the check feature), but can it do validation upon a check being selected or does it need to wait until the user has made their choice? Am thinking for catching invalid combinations.

</comment><comment><AUTHOR> Hey HN I've added some new features including a prompt wrapper object to wrap the UI components together. Please check it out:

[https://github.com/Mckinsey666/bullet/blob/master/DOCUMENTAT...](https://github.com/Mckinsey666/bullet/blob/master/DOCUMENTATION.md)

<comment><AUTHOR> btw thanks to lars512 for the advice.

</comment></comment><comment><USER7> Looks cool. I'd like to see more widgets though, like a checkbox or simple form widget.

One package just for a radio list is too much like the npm way of doing things.

<comment><AUTHOR> Thanks for the feedback. I will add more features to this package asap.

</comment></comment><comment><USER8> I want this from Python Click. I remember I asked him on Twitter long back don't know it's ported to Click.

[https://github.com/mitsuhiko/dialoguer](https://github.com/mitsuhiko/dialoguer)

[https://twitter.com/rajasimon/status/902894641770618880](https://twitter.com/rajasimon/status/902894641770618880)

<comment><USER9> Well there is Gooey, FWIW: [https://pypi.org/project/Gooey/](https://pypi.org/project/Gooey/)

<comment><USER4> do you know of an other package that does this? just yesterday and this morning I was looking for something like this but I could've sworn there's a more modern package. I just can't seem to find the right Google keywords to land on it.

edit: and in particular for click. i didn't realize gooey was for arg parse

<comment><USER10> Possibly [https://github.com/szsdk/quick](https://github.com/szsdk/quick) ?

</comment></comment></comment></comment><comment><USER11> There is similar project [https://github.com/Kamik423/cutie](https://github.com/Kamik423/cutie) for someone who is interested in cli dialogs.

</comment><comment><USER12> I've previously built a similar package, much simpler: [https://github.com/wong2/pick](https://github.com/wong2/pick)

</comment><comment><USER13> I like this a lot. Will definitely try it out at some point.

</comment><comment><USER14> termios issue. I installed this via pip in python 3.7 under windows 10 and got an error about the termios package not being available. But trying to install termios via pip reports that the package is not available. Any suggestions?

<comment><USER15> The readme only claims to support Linux.

termios is a built-in package, but not for Windows. [https://docs.python.org/3/library/termios.html](https://docs.python.org/3/library/termios.html)

</comment></comment><comment><USER16> This is awesome, I've been using Pick, but this looks a lot nicer!

</comment><comment> black-tea If there's one trend I can't stand it's developers claiming that their own projects are "beautiful".

<comment><USER17> Ah, natural languages and their lack of grouping operators.

It's _(Beautiful Python List Prompts) Package_ , not _Beautiful (Python List Prompts Package)_.

<comment> black-tea Oh, so the former is not _actually_ making any claims about being beautiful? Please...

Just tell me what it does. I'll decide if it's beautiful.

</comment></comment></comment><comment><USER18> What are the use cases? This looks like a fun project without any real applications. A react component makes sense because it hooks into an existing ecosystem but how would something like this get used in an existing cli?

Edit: React has an ecosystem for things like this. Cocoa/Obj-C has an ecosystem for things like this. Tiny single purpose UI elements. Python does not have this because there is no UI framework for doing console applications that doesn't already provide this capability as part of a batteries included tool.

<comment><USER19> I can think of a lot of simple scripts that I could easily plug this into. When I'm writing a little script to do something for me, the last thing I want to do is write any sort of UI

<comment><USER20> Oh god the amount of scripts I have that do something like:

      while True:
        for i, item in enumerate(list):
          print(i, item, sep=" - ")

        choice = input()

        if valid(choice):
          break

This would make those _so_ much easier to write and give a much nicer UI at the same time.

<comment><USER18> Can't tell if you're being sarcastic or not. Your above sample code is perfectly simple and straightforward. I would choose it over an over engineered ui library/dependency in a heartbeat.</comment></comment></comment></comment>


A pointer is just a number - <AUTHOR> http://bytbox.net/blog/2012/10/pointer-is-just-number.html

<comment><USER2> He's wrong. A pointer, at least in C, is not a number, and saying that it is just causes confusion.

Pointers have _some_ of the same properties as numbers (specifically integers). In particular, you can do arithmetic on them -- but only in a very restricted way. You can add or subtract an integer to a pointer, yielding a pointer, and you can subtract a pointer from a pointer, yielding an integer.

Most current architectures have a single monolithic addressing space, and pointers can be treated as indices into that address space, treated as a very large array. But the C standard is carefully written to permit other memory models.

For example, pointers to distinct objects cannot meaningfully be subtracted or compared, except for equality or inequality.

Sure, a pointer is represented as a sequence of bits, and that sequence of bits can be treated as an integer -- but the mapping is unspecified. Similarly, a floating-point representation can be mapped onto an integer representation; that doesn't mean that the integer value 1069547520 will help you understand the floating-point number 1.5.

A pointer is a pointer. If you want to understand how pointers work, learn about pointers.

See also sections 4 and 6 of the comp.lang.c FAQ at <http://www.c-faq.com/>.

</comment><comment><USER3> A function is a type, is a set, is a number. And that, frankly, is difficult to get around. Coming from the C / Java world, it is hard to understand that "types" are really sets (in a mathematical sense) which in turn, are numbers (i.e. the set of natural integers), and a function (in terms of the value it returns) is a number as well and can be considered as being an "operation" upon a set, i.e., put set A into set B and one has set C. Function == Type == Set == Number, or, perhaps, a Number is simply an instance of a Set which in turn is another way of saying Type, so, basically, Function == Set. What makes it conceptually difficult is that the word "function" entails "operation", which entails "time", when, really, one could think of "function" as sort of being "those steps one has to go through in order to define a set of type S".

A set is a theorem, so now we have, Theorum == Type == Set == Number. A function is simply the way of defining or proving the Theorum, e.g. if set A == B, and B == C, then A == C is a function, which itself is a Set, conjoining A and C.

The "type" of an object (integer, char, whatever) is really a Set, and the way to construct that set (also being itself a set) is a function, which is what one might call a "program".

These things are different ways of looking at the same thing. A "type" (set) is the Theorum, its proof is the function (program which constructs the Theorum or Set).

The only difference between function/program and Set/Theorum is the former "constructs" the later, the former being "temporal" the latter being "eternal" or put it another way, the former being the "building blocks" the latter being the "finished product".

So yes pointers are numbers, which though are Sets, constructed by functions and these sets construct the Theorums. The type is the Theorum, the function is the construction of that Theorum, done vis-a-vis Sets and that is what (IMHO) that thing which we call "computer science" is all about. :-)

<comment><USER4> >the word "function" entails "operation", which entails "time"

Pure functions do not. Pure functions are relations from a domain to a codomain, implying a "mapping", but not an "operation", which I believe implies change. This mapping (from the domain to the codomain) can be presented as a subset of the cartesian product of the domain by the codomain (which you allude to.) This is devoid of any notion of "time".

<comment><USER3> "A touch, a touch I do confess." (Hamlet) LOL. Yes, "mapping" is a better term than "operation" for reasons you put forward. :-)

</comment></comment></comment><comment><USER5> A good thought, but C's syntax makes it a bit hairy to explicate that you're using an integral value _as_ a pointer:

        #include <stdint.h>
        #include <stdio.h>

        struct big_data { int i; };

        void f(intptr_t p) {
            printf("%d\n", ((struct big_data*)p)->i);
        }

        int main(int argc, char** argv) {
            struct big_data data = { 42 };
            intptr_t p = &data;
            f(p);
            return 0;
        }

So there's no real pedagogical gain. If someone understands what "a pointer is just an integer" _means_ , then they probably understand pointers already.

<comment><USER4> also, you need to be careful about your assumptions about the sizeof a pointer and the sizeof an integer.

</comment></comment><comment><USER6> I've always found it helpful to explain a pointer as exactly that - a pointer, ie. a person standing there pointing at something.

If you need to keep track of something and know that no matter where you put him he's always going to be pointing at the same thing, sometimes it's going to be easier to move him around than, say, the 72-story building he's pointing at.

If you need to explain it more technically then the simple truth of them tracking the memory address of something has always seemed the best approach - then start learning what that actually means if need be. Anyone hoping to end up using C for much and not be shooting yourself in the foot constantly should be learning at least the basics of such things anyway.

</comment><comment><USER7> Coming from Java, I didn't understand the point of pointers (no pun intended) until I was re-reading through chapter 1 of K&R C.

At one point, they mention how when you pass a variable into a function, it only passes the value really, "copying" the variable, in a way. Then they go on to say that changing the original variable is talked about in chapter 5, which covers pointers. Then it just clicked. If you want to change the original value, pass a pointer to said variable. If you want to just use the value of a variable, pass the variable through the function.

It's so much easier than what I was doing before, assigning the variable to the return value of a function.

<comment><USER8> I'd stick with avoiding passing pointers unless you really need to change more than one parameter within the function or unless you have a "large" data structure or unless you're using C++ and passing objects around, then you want to avoid the copy constructor and destructor. (Java passes all objects by pointer-value.) I'd also recommend getting in the "const pointer" habit, because then anyone (or compiler) reading your code can be guaranteed you aren't going to change things passed to your function.

</comment></comment><comment><USER9> Er... yes? But I suppose every piece of data on a computer could be considered a number as well.

<comment><USER10> Not "considered"... _is_. It's not just an interesting trivia tidbit, it's a fundamental part of the machine ceasing to be simply magic and becoming comprehensible. _Everything_ is just numbers flying around.

Furthermore, if that's a revelation of some sort, or if you'd forgotten it, I'd commend to you a reading of any assembly language specification. Probably something simpler like MIPS or something, since in the end they are all the same w.r.t. the point I'm making here. I suggest this because it's important to see that at the very, very bottom of the machine, the very, very few things that the CPU can be truly said to be capable of, it's damn near "add, subtract, multiply, jump to some other instruction depending on the results of said", some instructions to fiddle with loading numbers from various places and a bit for receiving messages or interrupts when certain numbers arrive in certain places, and _little else_. There's no "display text" or "paint monster" instructions down there.

It's actually very important to understand this. It's really easy when studying assembler to not only correctly notice what is there, but to notice what _isn't_.

<comment><USER9> >Furthermore, if that's a revelation of some sort... There's no "display text" or "paint monster" instructions down there.

Ouch. It wasn't. A little painful though after having studied computer engineering and even recently writing games in DCPU-16.

But anyway I will agree with most of what you said. The coolest part for me was always learning that there really was _no magic_ underlying computers.

>Not "considered"... is.

My point is that everything in the computer being a number (large pieces of data being a single number) is just one of many interpretations and not a necessarily typical or useful one.

At bottom, everything in the computer is actually some configuration of electrons. But it's not very useful to work conceptually at the level either.

<comment><USER10> Sorry, didn't mean that targeted at your directly. I meant in general, for the reader.

"At bottom, everything in the computer is actually some configuration of electrons. But it's not very useful to work conceptually at the level either."

And actually part of my point is that it is all of those things, at once. It's electrons and it's all just numbers and it's text, too. It's not really some of them but really not other things, it's all of them all at once.

<comment><USER4> risking getting too deep in the mud, saying things are all of them at once is not correct. You can treat most sections of memory as executable, numerical, textual or otherwise, but that does not make them so. For instance, control code points in ASCII are not text, they are an in-band control mechanism. NULL is not text; not in the way most people's working definitions of text would implicate. The fact that there are abstractions upon binary sequences are matters of convention and occasionally hardware implementation. Teaching that there are meaningful layers of abstraction is part of having a consistent (sound) understanding of the computer.

<comment><USER10> I did not mean everything is text; take it as everything is electrons, numbers, and text/pictures/video/emails/etc., and a other layers too. There's no "right" or "true" abstraction layer, they're all true. Not necessarily the same kind of true in absolutely every case, but there's no "true" true here, where one can dismiss some layer or other as not important. The forest and the trees are both true.</comment></comment></comment></comment></comment></comment>


What do I have to learn in order to build a cell phone app? - <AUTHOR>

I'm not a programmer or a hacker, but I'm interested in taking on a business project which involves building a cell phone application. I realize this won't be easy, but I was wondering if someone could point me in the right direction to get started?
My idea started like this: I was in Fort Lauderdale over spring break and me and my friends had a difficult time finding bars/clubs after we left the one we were at. When you're not from a specific area it's difficult to "bar hop." I thought how easy it would be if there was an app which outlined where I was and where the bars are located around me.
I'm envisioning a map that dictates where the user is, then pin points the surrounding bars/clubs. If possible, the user could click on a specific point (bar), read their hours, if its 18 or 21 and older, and possibly even what kind of drinks they offer or if there's a special.
I even think pin pointing fastfood/late night diners would be helpful in this app since people who are late night drinking are always hungry. I know my friends and I would spend a few bucks on something like this and I think alot of other people would too.
I hope I don't sound arrogant as a non-hacker and I don't want to come off as naive. I know as a non-programmer this will be difficult and I'll probably have to hire someone eventually. But I'm a very determined business student/entrepreneur. If anyone could point me in the right direction and outline what I have to learn I'd greatly appreciate it. Thank you <comment><USER2> blog of Google Maps mashups. Sometimes they don't need much programming <http://googlemapsmania.blogspot.com/>

dedicated apps: [http://www.appbrain.com/app/beer- map/net.chrislehmann.beerma...](http://www.appbrain.com/app/beer- map/net.chrislehmann.beermappro) <http://www.androidtapp.com/where/> <http://www.yelp.com/yelpmobile>

I second matomesc's point: learning Javascript will let you write your own mashup, which gives you more customization.

</comment><comment><USER3> You should start by learning HTML, CSS, javascript. Although not necessary, learning a server side scripting language like Python or Ruby will help. Good luck!

</comment><comment><USER4> <http://ruby.railstutorial.org/>

<http://railsforzombies.org/levels/1></comment>


Earth's Oceans Are Steadily Warming - <AUTHOR> https://www.theatlantic.com/science/archive/2017/01/make-no-mistake-earths-oceans-are-steadily-warming/512189/?single_page=true <comment><AUTHOR> Open Access Paper at [1]

[1] "Assessing recent warming using instrumentally homogeneous sea surface temperature records" [ [http://advances.sciencemag.org/content/3/1/e1601207](http://advances.sciencemag.org/content/3/1/e1601207) ]</comment>


TheFunded.com - review (and rant) anonymously about VCs - <AUTHOR> http://venturebeat.com/2007/05/03/thefunded-the-site-for-vc-hatchet-jobs/ <comment><USER2> Seems like the main kinds of people who would go to a VC review site are people who either a) tried to get funding and didn't, and want to rant about it, or b) people who don't know anyone, and therefore are not going to get personal introductions, and therefore are not going to get funding.

I don't know anything about it, I've only read blogs and YC News and Founders at Work, but that's my impression.</comment>


$2 Test Identified Bird Shit as Cocaine. Cops Keep Using It to Arrest People - <AUTHOR> https://www.vice.com/en_us/article/evj89n/this-dollar2-test-identified-bird-shit-as-cocaine-cops-keep-using-it-to-arrest-people <comment><USER3> There should be penalties for false arrests; mandatory payouts to victims for starters. If the state suddenly has to start paying out $150,000 a pop every time someone is falsely arrested, then they will fix these tests.

<comment><USER4> In America, there really isn't a concept of false arrests. There is a "not guilty" verdict but not an "innocent" verdict. If you're forcing states to pay out in the case of not guilty verdicts, then you're introducing a whole new host of bizarre incentives.

<comment><USER5> There are already incentives to arrest as many people as possible.

<comment><USER6> Exactly. Prisons are just like hotels: keep them constantly full and money will keep coming, no matter from where.

</comment></comment></comment></comment><comment><USER7> Law enforcement has incentives to arrest as they are then seen to be doing their job. There are incentives for false positives and no penalties for wrongful imprisonment. Also related:

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

</comment><comment><USER8> If the tests are so inconclusive wouldn't that mean police officers are depriving people of their constitutional rights to freedom of movement? There have to be counter suits and either this company or the police force are liable for false imprisonment.

<comment><USER9> Cops are, with rare exception, ever held liable for their abuses of power. Lawsuits are payed by the taxpayers, so they have zero incentive to behave legally.

<comment><USER10> Yup. A particularly egregious case:

[https://www.techdirt.com/articles/20190909/12232742945/ninth...](https://www.techdirt.com/articles/20190909/12232742945/ninth- circuit-upholds-previous-declaration-that-cops-stealing-your-stuff-doesnt- violate-constitution.shtml)

The Ninth Circuit:

"We recognize that the allegation of any theft by police officers - <USER2> certainly the theft of over $225,000 - is deeply disturbing. Whether that conduct violates the Fourth Amendment's prohibition on unreasonable searches and seizures, however, would not "be 'clear to a reasonable officer.'""

Note: Theft! Not asset forfeiture, but actual theft!

<comment><USER11> It gets worse than stealing:

[https://www.theguardian.com/us-news/2019/oct/06/witness- in-a...](https://www.theguardian.com/us-news/2019/oct/06/witness-in-amber- guyger-case-found-shot-dead-in-dallas)

"authorities have not identified a suspect or determined a motive."

Internal affairs clearly isn't a thing in the US. Or, if it is, it's a thing that doesn't work, coz when the witness of somebody getting murdered by a cop gets murdered in suspicious circumstances then it's _not all that hard_ to identify a motive.

</comment></comment></comment></comment><comment><USER12> Well, they let that one, _particular_ , suspect off when the test was caught failing in that very public fashion.

So, I mean, in they're view, they probably figure that they, well,

"Fixed the Glitch":

[https://www.youtube.com/watch?v=BUE0PPQI3is](https://www.youtube.com/watch?v=BUE0PPQI3is)

Other people's constitutional rights will likely be violated, but hey, "these things work themselves out" right?

/end sarcasm

How do people live with themselves when they _knowingly_ implement shoddy products and processes like these that literally ruin peoples' lives? It's crazy.

<comment><USER13> They might think, well, it's not as bad as a fake bomb detector.

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

<comment><USER14> It's not as bad as police dogs that 'find' things on-command, by the real police officer, to give him/her probable cause to search your car/etc...

</comment></comment></comment><comment><USER15> Not to defend policing in general, but shouldn't this community recognize the recursive set of tradeoffs here?

Tests can rarely be both sensitive and specific. This test might have more Type I errors so it doesn't commit Type II.

Likewise, a police officer is in the same dilemma. Are you really not going to arrest even though the test you were told to use came up positive?

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

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

<comment><USER16> You need to be arrested for birdshit or sugar doughnuts (that happened, too), and then we can talk again.

<comment><USER15> Or cat litter, or detergent or any other pretext, but wouldn't my experience bias me?

If a society is to accept false positives then it follows that the arrest process would be less difficult and stigmatizing than it is in most places. Unfortunately, "the law is an ass" as they say.

[https://en.wiktionary.org/wiki/the_law_is_an_ass](https://en.wiktionary.org/wiki/the_law_is_an_ass)

</comment></comment></comment><comment><USER17> Most forensic tests are quite broad including GSR and blood residue.

It's not about what else they trigger on but how likely that this would be the case in a set of controlled circumstances.

A cocaine test that triggers on bird poop is still completely acceptable unless carrying bags of powdered guano is the new rage these days.

Same thing with a GSR test that may be triggered with certain other chemicals, you only get reasonable doubt when there is a good explanation why would you've been exposed to those chemicals nominally.

BTW medical tests aren't that different, it's up to the doctors to make sure they exclude all other possible explanations besides what they are testing for and we don't really complain.

</comment><comment> oi-pilot Haven't seen much people with bird shit in their pockets.

<comment><USER18> Plenty of people drive around with bird shit on their car tho.

[https://www.washingtonpost.com/opinions/2019/08/09/young- bla...](https://www.washingtonpost.com/opinions/2019/08/09/young-black- football-player-was-arrested-after-claiming-cocaine-his-car-was-bird-poop-it- was-bird-poop/)

<comment><USER19> How this doesn't get these cops fired for trying to falsely arrest someone using a test they likely know is flawed is insane (who would ever look at a white spot on the top of a car and think "yep that's cocaine"??). If there was any sense and lack of lobbying by police unions in the US it would be an easy priority to draft better laws on actions of cops.

<comment><USER18> In this instance, it's hard not to question the intelligence of a police officer thinking a white spot on the outside of a car might be drugs.

But overall, in the War on Some Substances, anything goes. Blame needs to start at the top. It's not like the cop purchased these widely-discredited field tests on their own.

</comment></comment></comment></comment><comment><USER20> "They're often not admissible in court, which is why police have to order follow-up testing from a lab." \- whoa so you can be arrested based on evidence that is known to be inadmissible in the first place.

<comment><USER21> The test shows reasonable doubt of your innocence.

<comment><USER20> But there is reasonable doubt of the test. That logic could have you arrested for being the false positive from an algorithm.

<comment><USER10> There's a "beyond a reasonable doubt" requirement for conviction, not arrests.

</comment></comment></comment></comment><comment><USER22> To understand why cops get away with this crap look up the origin of the police AKA slave patrol.</comment>


Erlang/OTP R16A has been released - <AUTHOR> http://www.erlang.org/news/41 <comment><USER2> From the release announcement on the mailing list:

Some of the highlights are:

* Optimized handling of processes in the VM

* New internal process table allowing for parallel reads and writes

\- optimized run queue management

\- optimized process state changes

* "Non-blocking" code loading

* New internal port table, and rewrite of scheduling of port tasks.

* Dynamic allocation of port structures, allowing the default for maximum ports to be raised to 65536 (from 1024) Support for UTF-8 encoded Unicode characters in source files.

* Inets application: The http client now support HTTPS through a proxy

* Asn1 application: Major cleanup of back ends and optimizations of mainly decode for PER and UPER.

* The experimental features parameterized modules and packages are removed. An alternative compatible solution for parameterized modules is provided here <https://github.com/erlang/pmod_transform>.

* All built in functions BIF's (even if they are implemented in C as part of the VM) are now visible in the source code of the module they belong to, including their type specs.

* The Wx application now compiles and is usable with the unstable development branch of wxWidgets-2.9. This means that wx can now be built on 64 bit MacOsX as well.

You can find the README file with more detailed info at [http://www.erlang.org/download/otp_src_R16A_RELEASE_CANDIDAT...](http://www.erlang.org/download/otp_src_R16A_RELEASE_CANDIDATE.readme)

<comment><USER3> We also get a brand new man(7) section :)

</comment></comment><comment><USER4> For those new to Erlang conventions, the "A" in the release number is an indicator that this is a beta release. The stable releases are the "B" branches. So in this case, R16B will be the stable version.

</comment><comment><USER5> "Support for parameterized modules (but an alternative solution provides) and packages removed"

That is kind of huge, guess it is time to go catch up on the mailing list...

<comment><USER4> The pmod arguments have been a pretty ongoing war[1] on the mailing list, especially since it was announced R16 would be removing official support for them.

With ChicagoBoss being one of the highest profile projects to use pmods extensively, Evan Miller has been arguing for them pretty extensively.

At least support wasn't _completely_ dropped, since they are providing the parse_transform to re-enable the functionality:

<https://github.com/erlang/pmod_transform>

[1] A friendly war, anyway: [http://erlang.org/pipermail/erlang- questions/2013-January/07...](http://erlang.org/pipermail/erlang- questions/2013-January/071860.html)

<comment><USER6> The fact that people like Evan Miller aren't taken seriously and heeded is why I only tinker with Erlang and haven't bothered to use it for anything.

Once they start taking the little people (so to speak) seriously, I'll revisit the Erlang runtime for an actual project.

Until then: Clojure.

Clojure has a strong tinkerer culture.

<comment><AUTHOR> I wish I could upvote this 5x. I love Erlang the language but, paraphrasing tarcieri (& zedshaw), the community around it can sometimes be a ghetto.

<comment><USER7> I think the community is open to change of the language, given that the idea you propose is a good one.

The thing that led tarcieri to write the "Erlang is a Ghetto" post was that he proposed the addition of Ruby-style blocks to the Erlang language. And then Richard O'Keefe wrote back a post—not a very diplomatic one—which explains why Ruby-style blocks is a horrendously bad idea to add to _any_ language.

The main reason that Erlang sometimes comes along as smug is because there are some people in the community who are extremely capable in their fields of expertise. You need a good argument to convince a semanticist that your informally specified language extension is worth anything, unless you can supply meta-theorems which explains why. Or at least provide proper semantics. In other words, you need a really good design.

If you have working code for your design, it is even better. If you have an EEP (Erlang Enhancement Proposal) you may even have your idea implemented. There is, for instance, an EEP called "Named funs" which extends and generalizes tarcieris proposal. It did not go in in time for R16, but it is still being worked on.

Parameterized modules were an experiment. Like Tuple funs (now removed), packages (now removed), and mnemosyne (now removed). They still live on outside the Erlang distribution but retains enough inside to support them via parse transformations.

<comment><USER8> > Richard O'Keefe

Heh, interesting. That brings up this interaction, which I feel characterizes some of the problem:

[http://erlang.org/pipermail/erlang- questions/2013-January/07...](http://erlang.org/pipermail/erlang- questions/2013-January/072016.html)

Loïc's response to him is worth quoting:

" You are confronted with the problem of wasting a lot of time writing basement level code to access and update deep values. You think "Great! I can write DSL or combinators to solve this!". Now you got two problems, and you haven't come any closer to solving the first one. The DSL still maps to functions which needs to access and update these values, and that code is still painful to write. Your next step is to think "Great! Let's generate all that code then!". Now you got three problems, and you better hope to have not made any error when writing that code generator or you'll waste a lot more time. Speaking of time, by the time you get to that point the PHP developer has already long finished his bug-free implementation of the same code and is moving on to other tasks."

</comment></comment></comment></comment></comment></comment><comment><USER9> Is there a convenient list that I can read that shows what feature changes have been introduced to Erlang in the last 10 years?

<comment><USER4> As far as I know, there isn't.

This particular question highlights a shortcoming of long-form changelogs though. It would be nice if there was a way to have community-voted highlighting of a changelog pointing out the significance of each line-item of a changelog.

<http://sigma-star.com/blog/post/changelog-voting> (Blog post inspired by this question)</comment></comment>


AWS Services Updated to Address OpenSSL Vulnerability - <AUTHOR> https://aws.amazon.com/security/security-bulletins/aws-services-updated-to-address-openssl-vulnerability/

<comment><USER2> I have to give AWS credit for updating their systems so quickly. Despite a bit of public anger over their lack of transparency (1) they managed to update thousands, if not tens of thousands of OpenSSL installations in their datacenter. Truly impressive devops at scale.

(1) [https://forums.aws.amazon.com/thread.jspa?threadID=149690](https://forums.aws.amazon.com/thread.jspa?threadID=149690)

<comment><USER3> I wonder if AWS got an early heads-up from OpenSSL as at least one other major infrastructure provider (Akamai) did: [https://blogs.akamai.com/2014/04/heartbleed-faq-akamai- syste...](https://blogs.akamai.com/2014/04/heartbleed-faq-akamai-systems- patched.html)

</comment></comment><comment><USER4> Were AWS API services affected? Is it possible that someone may have stolen private credentials and is now able to hijack customers accounts?

<comment><USER5> Most API requests are signed (using HMAC) with the API secret key, and do not actually include it, so no, probably. But certainly many other things could have been read if they were vulnerable.</comment></comment>


Ask HN: What competitive advantage you have over others in your field of work? - <AUTHOR> E.g. Backend developer who knows K8S so they can work much more efficiently with DevOps, mobile developer with a great flair for marketing, etc. Looking for real-world examples!<p>In my particular case I am reasonably good at backend development, k8s, search + a bit of marketing and it allows me to roll-out non-trivial products on my own quickly. It has served me well so far. <comment><USER2> I can comfortably talk to senior management and present in meetings to complete strangers adjusting content to a level they care about.

Not remotely a technical skill but it's served me extremely well over the years.

It's definitely a skill I had to learn, by nature I was and still am an introvert but I worked in sales for a few years and by the end I could convincingly fake it in all settings.</comment>


Analog's Last Bastion - <AUTHOR> http://bhargreaves.com/2010/06/analogs-bastion/

<comment><USER2> You would need to be careful - in many states it is against the law to record other people without notifying them that you are recording.

</comment><comment><USER3> What would be some ways of going about building an extremely small, inconspicuous, and reliable personal recording system?

I would think you could almost use a phone with some extra hardware if you could find some ways of offloading or reducing battery consumption. Then it's just a matter of streaming it to the cloud.

</comment><comment><USER4> i think google voice does something like this(only for phone calls).

If google can take this and make it usefull and profitable , the distance to recording everything you say is not long.</comment>


Google App Engine now supports Git Push-To-Deploy - <AUTHOR> https://developers.google.com/appengine/docs/push-to-deploy

<comment><USER2> I guess this is not intended to be your "main" repository? Something about the idea of deploying on push to master seems off to me. I have been thinking about doing this myself, but it would either be a special release branch or a tag that would trigger the deployment. However, I'm still not convinced it's a good idea; I think it's the wrong tool for the job. My preference is to have a continuous integration server produce and archive builds, and a separate tool for promoting those builds through the development/qa/staging/production pipeline. Using your source control tool for deployment is like a badly structured class that tries to do multiple unrelated things and suffers from tight coupling. Source control, build systems, and deployment tools should be independent, with clean interfaces between them. The component responsible for deploying a build shouldn't care where it came from or how it was built.

<comment><USER3> Alternatively, deploy to a non-default serving version of the app. Then, when you push/deploy, you can go to the non-default version, check it's right, then promote it to default.

This flow isn't as smooth as it could be, certainly, but we're hoping it could be useful for small teams or new users. And we'd love to hear your ideas about how to make this even more useful, this is an area under very active development (thus the Preview label)

</comment></comment><comment><USER4> The problem with using Git push to deploy is that when you're first setting up your deployment, if you make a mistake in the settings, you can't amend the commit to fix it, because it's already been pushed - so the mistake stays there for all eternity. And if you try to fix it and your fix doesn't work, that's another bad commit.

I deployed my first project to Heroku a few weeks ago, and now my project history has a handful of permanently unremovable junk commits, which I made solely to force Heroku to rebuild my app.

<comment><USER5> Here is how I work on heroku, use a branch, rebase and force push to clean your commit logs:

        git checkout -b heroku-setup
        # make some commits
        git push -u heroku heroku-setup:master
        # oops, something was wrong
        # make some more commits
        git push
        # ok, everything is working
        git rebase -i origin/master
        # squash/remove commits
        git push -f
        # test one last time
        git checkout master
        git merge --no-ff heroku-setup
        git push

</comment></comment><comment><USER6> Python and PHP only. I guess this won't ever happen for Java and Go because of the need to compile.

<comment><USER7> This comment [https://groups.google.com/d/msg/google-appengine- go/iV5UkqD5...](https://groups.google.com/d/msg/google-appengine- go/iV5UkqD5iKM/RfW_rKtSQ9IJ) implies that it will happen for Go.

</comment></comment><comment><USER8> [http://gitolite.com/the-list-and-irc/deploy.html](http://gitolite.com/the- list-and-irc/deploy.html)

<comment><USER9> That post seems to talk about how to implement this functionality yourself - as in, what the server should do when someone pushes new changes to it.

In the case of App Engine, Heroku, Azure etc, that is all abstracted away from you - as is, in many cases, the concepts of binaries. You just package up and upload some code somehow, and their "mesh" decides where to deploy it and how to run it.

(I know Heroku gives you a little more control over this; with App Engine, you get a config file and a number of instances you can tweak, and that's about it in the general case.)

This is so far available for Python and PHP - not Java or Go.

<comment><USER3> Exactly. While the article makes _very_ good points about what you want from a general-purpose Git deployment script, deploying to App Engine is not quite the same, since there is no Git client on the server pulling changes directly, so you avoid the problems addressed by all four points.

App Engine creates new app instances when you deploy, so there's no need to care about deleted files, tracked/untracked files on the server, and so on.

</comment></comment></comment><comment><USER10> Almost a clone of the Windows Azure functionality, but not as good.

<comment><USER11> Can you elaborate a bit? I have not used either and would love to know what is different between the two and why you prefer one over the other.

Edit: I saw a few comments about original commenter being a MS employee. To be clear, I am a Google Employee (and ex-msft employee) :). But who our employers are is really besides the point. My question about pros and cons still remains.

<comment><USER12> comment history and a bit of googling would suggest he's an MS employee...

<comment><USER13> pure ad hominem. the "fact" he's an former/current MS employee doesn't make his personal claims any more valid or invalid, and thus is irrelevant for the discussion.

on a side note, people on hn are outraged by NSA spying on us here, but perfectly happy to search, collect, process, organize and publicly disclose "data" about other people here.

<comment><USER12> can you point out the part where I attempted to discredit his point because he's an MS employee, even discussed his point at all?

because I can't see it.

<comment><USER14> I would say because it was in response to a question about why he preferred one over the other.</comment></comment></comment></comment></comment></comment>


Ask HN: As an MP, how would you use the net to scale political participation? - <AUTHOR>

The pirate party is running for election 2013, chances are we gonna break the 5% barrier and get some seats in the national parliament of Germany. Whilst it is pretty easy to nominate yourself right now (login into a wiki, announce nomination), I haven´t seen much conceptwise. The pirates stand for a massive extension of political participation, exploiting the net to make decisions, develop position and so forth. Yet, the software we use is a UX nightmare and lacks formal power. Liquid feedback, our tool, is more therometer about the party´s current status, than an proper tool of political influence. Plus there is a big opposition against any virtual committee (mainly driven by security and fraud concerns). Nevertheless as a MP you are formally binded only to your conscience, and have much freedom to organize yourself, build platforms and so on. One idea would be to have the MP as proxy or megaphone, not making any political submissions him/herself, but only announcing the will of the virtual assemblies. So my questions is, if you would be a MP and your goal would be to allow a huge amount of people to influence political decision making via modern information technology, how would you do it? What problems to do see? Which processes need to be tackled and so forth. <comment><USER2> I'm working on a project with ideas expressed at YSenate.org

We are trying to tackle exactly this type of problem in an open source way.

The big problem with open politics is the entropy of 'too many people talking at the same time.' To reduce the entropy the approach is to break the group into pieces and then put them back together. The fundamental postulate of YSenate.org is derived from Huffman Coding with the additional criterion that each individual is given equal weight. This results in a binary tree political organization.

We are also looking to integrate Git for legislative drafting and primary color votes to address the "Curse of Dimensionality."

</comment><comment><USER3> The biggest problem I see is about engagement. If you use any form of issue based voting for the public, most citizens can't be bothered to engage. Thus you end up with a bunch of issue-driven interest groups, that will ultimately decide on that question.

In my opinion political engagement is very hard to sustain if the candidate is not on a clear cut "mission". The only candidate that seemed to be able to achieve an engagement that went beyond a single momentum is probably Ron Paul, but it is going to be interesting to see if his son is able to sustain this movement while having (relatively) more moderate views.

<comment><AUTHOR> Yes, maybe. But first of all, personally I find, it is ok, to not be interested in all political questions. The chance here is to at least borden political influence, so maybe there are just some people, groups involved, why is that not ok? At the same time I believe people will learn over time, that if they don´t take their chances, they will end up living under laws, they don´t agree with. And since the system I imagine allows constant iteration, there will be ways to change laws to the better, all the time.

<comment><USER3> The main issue is going to be, that when decisions are made based on popularity and only those the most engaged are participating, the decision is going to be decided by extremists. This somewhat sabotages democracy, as the representative democracy counterbalances those on the fringes with the lethargic majority.

Issue based politics is leading to a lot of problems, i.e. if you would put it to a popular vote, I am quite confident that the death penalty would be back at least in some European countries for child molesters, etc. Popular opinion seems very volatile and if you are able to time your issue driven vote with some incidents of public outrage, you can pretty much able to pass highly questionable ideas. Of cause there is the hope that bad decisions will "teach" voters to do better next time, but (at least in my opinion) there are not many signs that this learning effect takes place with the current party/election system.

<comment><AUTHOR> I think, you see it to theoretical. As a matter of fact, we don´t have valid data about a case just as this. Yes sure, there are examples for this, people being populistic, following the loudest speaker and so forth. But first of all, we are talking about one seat in the national parliament, one of 620, not about being the president of the US or the german chancellorship. The influencing towards the law making process will be pretty limited, if existent. At the same time, I see a chance to get some actual situations about how this works, and quite controlled conditions. I dunno, maybe I am underestimating the stress and such, but could be fun to play with thought around.</comment></comment></comment></comment>


12 Tips for Getting Your Startup Featured on Mashable - <AUTHOR> http://mashable.com/2008/04/10/get-your-startup-on-mashable/ <comment><USER2> Just send them an nice email, be a little unique and you'll probably get covered. Be prepared for a traffic spike, as well as all the people who re- blog mashable's content.

</comment><comment><USER3> I was on Mashable twice and even though he wasn't 100% complementary about my application it helped a lot. Being nice is they key, remember they're people too!</comment>


NSA Chief Stakes Out Pro-Encryption Position, in Contrast to FBI - <AUTHOR> https://theintercept.com/2016/01/21/nsa-chief-stakes-out-pro-encryption-position-in-contrast-to-fbi/ <comment><USER2> The NSA chief should be pro-encryption: the presence of backdoors in encryption (as demanded by some US law enforcement officials) creates a national security threat. Period.

If law enforcement needs access to encrypted data, they already have a few different ways. They can subpoena the data and throw the person who controls the key in jail until they release it, or they can just brute-force the encryption in cases of extreme national interest (it's too expensive to do for run-of-the-mill crime, but they have the capability if they really need it).

IMO the entire goal of encryption tech should be to make the government incur significant costs for every invasion of privacy they feel they have to perform. That way, they have the power to invade our privacy (and I don't think we as a populace can really stop them from having that power) but it's so expensive / cumbersome to use they really only use it in extreme cases. I'm fine with privacy being broken by the government on a case-by-case basis; the danger is when the government does a dragnet on everyone.

<comment><USER3> > They can subpoena the data and throw the person who controls the key in jail > until they release it

I think, a lot of the time, they want to read data from a device owned by someone who's not jailable any more—i.e., dead people.

Reading data off the phones of murder _victims_ —the activity you'd expect "digital forensics" to properly refer to—would be pretty useful, if it were possible. I imagine a lot of police work has gotten harder in the move from "little black books" and feature-phone contact lists to everything about a person's contacts/calendar/call history/etc. being on an FDE-ed smartphone. Manufacturer key escrow services seem _almost_ sensible in this light.

The other use is in reading data off devices of someone who's already dead because law enforcement just killed them. I can see both good and bad outcomes of that: if it were quick to do, it would help to map e.g. a hired hitman to their client, or a gang-member to the gang-leader. But it would also encourage/enable "shoot first, ask questions [to devices] later" tactics, which is just plain horrible.

<comment><USER4> You can subpoena google for the calendar and email, Apple for iMessage routing, and the phone company for phone calls and texts. You can even get emergency warrants for that kind of thing. Then you subpoena all those contacts.

This idea that the immediate access to all of an individual's information is necessary for law enforcement to do their work is a farce, especially considering the propagation of private and public security cameras. The same logic is used to justify torture, expand SWAT and procure urban assault vehicles. These things are almost always unnecessary, impractical, or unreliable.

Yes, people can be extremely careful to avoid police. That's not the average case, and we shouldn't optimize our law enforcement for it.

<comment><USER3> Aren't _active criminals_ generally extremely careful to avoid police (by, e.g., using burner phones?) And isn't law enforcement mostly _about_ catching criminals? I don't see why law enforcement would be about anything _other_ than figuring out how to catch people who are extremely careful to avoid police.

I don't disagree with your first two paragraphs. I just think the average criminal of this generation is well aware of the idea that they need to avoid putting incriminating data "in the cloud", to about the same degree that they're aware of the idea that you have to wear gloves to avoid leaving fingerprints.

<comment><USER5> No, most criminals aren't that smart.

<comment><USER6> You mean criminals that get caught.

<comment><USER7> We know basically nothing about the ones who don't get caught.

<comment><USER8> Though we do know some things about what people have done to evade (and continue to evade) capture. I link this story around and wish politicians knew of it: [https://web.archive.org/web/20130119025623/http://dee.su/upl...](https://web.archive.org/web/20130119025623/http://dee.su/uploads/baal.html)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> I would hope so. It's kind of their job. They've also published guides for strong encryption and best practices for operating systems for years. You dismiss their wealth of knowledge at your peril.

The FBI just wants to throw you in jail. What do they publish? Lists of people they want to throw in jail. Anything that stands in their way of throwing you in jail is bad, including your encrypted phone.

<comment><USER10> That is the problem with the FBI doing ordinary police work and secret squirrel stuff the two roles get in each others way.

<comment><USER11> Right. When I try and figure out how to compare the FBI to british law enforcement I end up with "MI5 smashed together with Special Branch plus SOCA plus a bunch of other specialist bits" ... and I'm pretty sure if we'd done that it'd've been an unmitigated disaster just the same.

It was notable that there was a very brief "scandal" that MI5 had found evidence of child molestation but ignored it because they'd only found it via their ability to ignore due process in the name of national security and therefore since the information wasn't a national security issue it was filed under "not usable".

Cooler heads pointed out repeatedly that that was how it had to work to preserve due process, and it didn't stay news for long; this was, to me, the correct outcome.

(of course GCHQ is a whole different kettle of fish)

<comment><USER12> And if you read the official history of MI5 the one time an ex police man was put in charge didn't go well - and that's the official history which is going to be circumspect.

The FBI should have been reorganised along with the secret service and BATF after hoover died into two organisations one doing MI5 s role and one as a federal police force.

<comment><USER13> I think the FBI should have been burned to the ground after what Hoover used it for.

</comment></comment></comment></comment></comment><comment><USER14> NSA chief can easily be pro encryption in public while breaking, subverting, and bypassing it in private as they always have. So, it's a smart position from a political standpoint. Action movie equivalent of being perceived as James Bond while pulling off super-villainy at the same time. Win win!

</comment><comment><USER15> If the number one security vulnerability is the human element, then shifting a system's security from autonomous unbiased code to the human element is necessarily decreasing security.

Advocates for such are either deliberately malicious or grossly negligent.

</comment><comment><USER16> A play for political power. The NSA probably doesn't care if data is encrypted ---they most likely already have a back-door to take data before its encrypted or after its decrypted. So if encryption is used, the FBI will be dependent on the NSA.

<comment><USER17> I disagree. While they try to build backdoors its not that simple. Even if you have backdoor to every laptop in the world, its not an easy thing to smuggle out lots of data without people noticing.

We know from Snowden that they do not have backdoors into everything.

Its about economics, if they can listen in on the exchange its essentially free. If they have to backdoor every end user device, its gone cost a literal shit ton of money.

<comment><USER18> [http://tech.slashdot.org/comments.pl?sid=8623643&cid=5131565...](http://tech.slashdot.org/comments.pl?sid=8623643&cid=51315653)

It's really pretty damn easy.

[http://tech.slashdot.org/comments.pl?sid=8623643&cid=5131356...](http://tech.slashdot.org/comments.pl?sid=8623643&cid=51313569)

Win 7, 8 and 10 are done. OSX has spotlight upload to microsoft in plain sight. What else does OSX have under the hood? Phones are pretty much a foregone conclusion in my estimation, with the exception of cyanogen mod or something.

</comment></comment></comment><comment><USER19> They are pro encryption because they can already crack the algorithms (or already have funding to bruteforce them). Of course they'd be Pro-encryption. It's their job. They are also a state-actor.

<comment><USER20> > They are pro encryption because they can already crack the algorithms

Got proof of that?

<comment><USER2> Nobody has any proof, but it's strongly suspected. The NSA wrote or had a hand in writing every widely-supported encryption algorithm, and they have a military-scale budget (seriously; the NSA's non-clandestine budget is larger than the entire military budget of every country except the US and China) to spend on hardware to brute-force encryption. Cyberwarfare is a top strategic priority of the US Military, and cyberwarfare is made much easier when you can break encryption.

They have the motive, the resources, and the knowledge to break encryption routinely. It's also standard tradecraft for a spy agency to hide any proof that they have a capability to create uncertainty among their enemies whether or not they do. So no, nobody has proof that the NSA can break encryption, but we do have proof that they have everything they would need to develop that capability.

<comment><USER20> So, no?

Brute forcing the strongest forms of modern crypto theoretically would take unfathomably amounts of energy and/or time. It's not a matter of bigger datacenters or faster hardware. Without discovering a flaw (which we have no evidence of) or inventing completely different computing paradigms (which don't exist) there's no reason to believe this is possible today.

Sure, some cryptography is weak and it's well documented. Others, well, we'd need a Dyson sphere to brute force...

<comment><USER21> > Others, well, we'd need a Dyson sphere to brute force...

Not that I'm disagreeing with you but the German High Command thought much the same about the Enigma.

The only rational response in the face of the Snowden leaks is to assume everything is compromised and either defend in depth or simply not commit it to a computer (under the assumption what you are keeping private is _that_ important).

If I was a high end cryptographer or someone in that sphere I'd also likely be (if they aren't already) be using an air gapped machine, the threat is that pernicious.

<comment><USER20> Snowden has stated that he doesn't think modern encryption algorithms have been compromised.

<comment><USER21> Which is reassuring but not absolute, if the NSA did have the ability to break that stuff the strategic advantage would be so high it might be classified at an entirely different level.

It is of course impossible to say without evidence.

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> I am glad to hear someone making sense. All this handwavy let's just outlaw encryption babble is getting old. There are serious consequences to outlawing encryption.

Oh, and if terrorists are hell bent on attacking, they will do so with or without encryption. And no amount of data collection is going to stop them if they plan well enough.

</comment><comment><USER23> Wasn't this the whole situation with Dual_EC_DRBG? As far as I understand (which may not be that far when it comes to cryptography, admittedly), the NSA has already been caught intentionally weakening cryptographic standards via its influence over the NIST and by paying RSA.

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

 _RSA makes Dual_EC_DRBG the default CSPRNG in BSAFE. In 2013, Reuters reports this is a result of a secret $10 million deal with NSA._

 _According to the New York Times story, the NSA spends $250 million per year to insert backdoors in software and hardware as part of the Bullrun program._

</comment><comment><USER24> I'm not sure this means much.

Several popular encryption schemes have been developed by or heavily influenced by the NSA (including algorithms mandated by FIPS and other government organizations), and there has been a lot of speculation that they added backdoors to AES and other algorithms.

So in reality they've had the ability to add backdoors all along, and it's in their best interest to keep it a secret whether they've added one, so it makes complete sense that their chief would say this.

</comment><comment><USER25> There are two main points in this debate. Number one, we cannot abide having encryption weakened with back doors. Modern society relies on strong encryption. Number two, no amount of "magical technology" is ever going to replace human intelligence. The front lines in the war on terror is made up of human infiltrators and turncoats, not ones and zeroes.

</comment><comment><USER17> He is most definitely not pro encryption. He is just against legal access by other agencies. He wants the NSA to have a backdoor into every possible crypto system and make them the organization every else has to come to for their data.

</comment><comment><USER26> Not particularly surprising, the government has ways to get around the encryption anyways, it just takes longer than if they had the backdoors to go through.

</comment><comment><USER27> Guess we know which agency has the working quantum computers ;P

<comment><USER28> that should be considered a backdoor, unless they make their findings about quantum computing public (the same goes for undisclosed "0-day" bugs that they discover).

<comment><USER29> In the house analogy, it's less of a backdoor and more like just walking through the wall.

<comment><USER28> I'm not sure about that, but if you are right, that would be even worst ...

</comment></comment></comment></comment><comment><USER30> wait so which department is the FBI under and which department is the NSA under again?

... ah nevermind, I'm sure that doesn't mean anything.

</comment><comment><USER31> Probably because NSa can break most encryption.

</comment><comment><USER32> maybe that's cause the NSA has secret algorithms to factor large numbers with quantum computers 0_0

:p

<comment><USER33> I would think so too.

But it should also be noted they have the mandate to protect thru encryption and system security the data and secrets of the US government.

On the other hand, the job of the FBI is to catch (some) criminals; they don't care much about anything else.</comment></comment>


Early Years of Computer Gaming: Steve Russell and Nolan Bushnell (2002) [video] - <AUTHOR> https://www.youtube.com/watch?v=FyHbzhtrP0w? <comment><USER2> > Bushnell later bought out Dabney, who was forced out after Nolan told him he > would transfer all the assets to another corporation and leave Ted with > nothing.

This is an interesting juxtaposition with 'Dirty tricks 6502 programmers used.'

</comment><comment><USER3> Nolan Bushnell has a fairly extensively documented history of sexual harassment and sexist behavior.

His achievements are definitely there, but it's important to also have the context that they likely came with impact to others.

I bring this up because until very recently I wasn't aware of it, and I think there's an interesting thread to follow from Nolan's behavior and company culture, through the development and marketing scene of games in the 90s, to today.

<comment><USER4> His "fairly extensively documented history of sexual harassment" stems almost exclusively from the words of a contemporary video game developer, Brianna Wu, who formed this perspective based on secondhand accounts. Interviews with the people who were at Atari at the time of the alleged sexist behavior disagreed with the categorization.

In my view this is not sufficient to warrant scrubbing people's names from our historical memory.

<comment><USER3> > In my view this is not sufficient to warrant scrubbing people's names from > our historical memory.

Did someone suggest doing that? I said it's important to contextualize his work, not to write him out. You are arguing against a position I don't hold.

> Interviews with the people who were at Atari at the time of the alleged > sexist behavior disagreed with the categorization

Nolan himself went on record in 2012 in Playboy describing a wild atmosphere and describing one of his employees as 'stacked', the 2001 book _The Ultimate History of Video Games_ describes his attitude, Nolan told the San Francisco Chronicle "Some ladies feel comfortable around me, some don't."</comment></comment></comment>


Ctrl-Alt-Del - <AUTHOR> http://www.pbs.org/cringely/pulpit/2008/pulpit_20081020_005499.html <comment><USER2> This article reminded me of the "product transition" that Apple forecast last quarter. Was it the new MacBooks? I tend to agree with Cringely that it was neither them nor the iPhone 3G. And now - they're disconinuing the Mac Mini.

Could it be that Apple is going to be entering the "nascent" netbook market - perhaps with a screenless MacBook or a touch-screen tablet display? Or a comination of the two</comment>


What can startups learn from Koch Industries? - <AUTHOR> https://erikbern.com/2019/12/19/what-can-startups-learn-from-koch-industries.html <comment><AUTHOR> Though I find the characterization of Charles Koch as merely ignorant of Climate Change science really off-base, the rest of the post is interesting.</comment>