How Did a Statistical Language Invented in NZ Become a Global Sensation? - <AUTHOR> http://blog.revolutionanalytics.com/2010/10/r-is-hot.html <comment><USER2> Isn't R an open source implementation of S? S was not invented in NZ.</comment>


HTTP Encrypted Information can be Stolen through TCP-windows [pdf] - <AUTHOR> https://tom.vg/papers/heist_blackhat2016.pdf <comment><USER2> Ars Technica summary: [http://arstechnica.com/security/2016/08/new-attack- steals-ss...](http://arstechnica.com/security/2016/08/new-attack-steals-ssns- e-mail-addresses-and-more-from-https-pages/) (A bit breathless.)</comment>


Criminals Pay Top Money for Hackable Nokia Phone - <AUTHOR> http://www.pcworld.com/businesscenter/article/163409/criminals_pay_top_money_for_hackable_nokia_phone.html

<comment><USER2> Yes, smells bs, thats what the comment says:

This article is a HOAX, the messenger, Frank Engelsman is a NON existing Dutch Private Investigator from a NON existing company called 'Ultrascan' in Amsterdam, this company is NOT registired at the Dutch Chamber of Commerce. Mr Engelsman uses the Internet for his investigations.

</comment><comment><USER3> This article is completely untrue.</comment>


Philips' new 100W-equivalent LED bulb runs on just 23W - <AUTHOR> http://www.extremetech.com/electronics/128669-philips-new-100w-equivalent-led-bulb-runs-on-just-23w <comment><USER2> I like these lights, but it is important to note the 'CRI' or (Color Rendering Index). This light has it at 80, that means that 80% of the colors you might expect to find in white light are in this light. Further you don't know which 20% are missing.

What _that_ means is that when you use these lights for general purpose lighting, that rug you picked out because it went well with the couch? Well it may suddenly look horrible. Sort of the 'your car color is horrible under a sodium light' effect.

Being aware of that will help you avoid an expensive mistake.

If someone enterprising soul out there wants to make a really cool iPhone App I suggest they use the camera to snap a picture of a color chart standard illuminated by one of these bulbs, and then let you take pictures of your room and have them try to figure out what it would look like with the new bulbs. (Note you need both, the CRI of the lights currently being used and the CRI of the LED bulb to completely figure this out)

<comment><USER3> That is physiologically impossible. There can be multiple distributions of light frequencies that produce perceptually identical colors (<http://en.wikipedia.org/wiki/Metamerism_(color)>).

That means that that LED may show a green on that color wheel, but not the perceptually identical green of another object.

Also, if the LED has 80% of the frequencies in daylight and those are reasonably distributed, I doubt that you have to worry about this, as few (if any) objects reflect only few wavelengths. If this were a problem, people would probably have noticed it with LED tv's.

Sodium lights, with their two yellowish spectral lines, are in a different league.

</comment></comment><comment><USER4> I've been using their older 60W-equivalent models for quite some time, and like them very much. The only drawback I (actually, my cats) have noticed is that my desk lamp doesn't produce a nice warm snooze spot on the desk any more.

Marco Arment didn't like the light color from Philips Enduraleds, but it looks great to me. YMMV -- it might be worth doing your own side-by-side comparison before investing in a bunch of these.</comment>


Hacking Starbucks to get unlimited coffee - <AUTHOR> http://sakurity.com/blog/2015/05/21/starbucks.html?2

<comment><USER2> Interesting! Similar sort of case happened to me at Apple App store in March 2011. I just bought my first macbook with eagerness to learn iOS programming. I had around $3 in a virtual debit card. That time you would have to buy Xcode for $5. After activating my iTunes account, and payment system verification with that card, I thought to give it a try by pressing buy button. And then it worked! The Xcode4 was downloaded from app store. I couldn't believe that! Just to find out if it was mistaken, I press "buy" on another two apps totaling around $10 in bill. And all those apps were working. So, I emailed apple support regarding that situation. After 4/5 emails back and forth, they understood what I was trying to say. A guy from the support thanked me and said that he would submit that complaint to the respective division.

None of the corporate IT systems is immune to vulnerability. And the best way to resolve issues is by leaving bureaucracy, accepting the fact "to err is human", and appreciating good intentions.

</comment><comment><USER3> Recently only, a guy hacked Ola Cabs Wallet ( A competitor to Uber in India) by exploiting their REST API [1].

A similar post on race condition of Facebook, Digital Ocean was discussed here in HN [2]

[1] [https://medium.com/@CodeTheDevil/busting-ola- wallet-1ceea617...](https://medium.com/@CodeTheDevil/busting-ola- wallet-1ceea6174b1f) [2] [https://news.ycombinator.com/item?id=9443867](https://news.ycombinator.com/item?id=9443867)</comment>


2016 hottest year ever recorded – and scientists say human activity to blame - <AUTHOR> https://www.theguardian.com/environment/2017/jan/18/2016-hottest-year-ever-recorded-and-scientists-say-human-activity-to-blame <comment><USER2> If "climate change" (really anthropogenic global warming) needs to be mitigated, a large scale rollout of nuclear power generation is needed. Natural gas is better than coal, but still results in plenty of CO2 entering the atmosphere.

Solar and wind are fine, but they are not a replacement for 24/7 reliable power. They also don't adequately address the requirement for more power over time, for instance to charge the larger numbers of electric cars projected.

Advanced nuclear provides an avenue to cheap, clean, plentiful power. It would also avoid penalizing developing nations that are still in the process of industrializing and would like to use coal - India for instance.

One company innovating in this area is Thorcon Power: [http://thorconpower.com](http://thorconpower.com)

</comment><comment><USER3> Live near work. Ride a bicycle or take public transport. Don't fly. Eat less meat.

Those _can_ make significant impacts [http://withouthotair.com/c2/page_22.shtml](http://withouthotair.com/c2/page_22.shtml)

Or we can just keep on keeping on.

</comment><comment><USER4> These types of articles are so depressing to read; I feel so powerless. I can take public transport, recycle, and some day buy an electric car/solar panels when I have enough money, but there's no way these behaviors can make a significant impact.

<comment><USER5> I believe others who have studied the problem more than I suggest that the bigger impacts include: 1\. Quit eating beef. 2\. Stay off of airplanes. 3\. Have as few children as you can get away with, preferably none.

Building that electric car and those solar panels seem to have a positive impact eventually, but you're still requesting that someone manufacture something. Driving the car you've already got until the wheels fall off is probably the better choice.

<comment><USER4> Thank you for the advice. Do you have a source for that or any further reading I can do?

<comment><USER6> Here is one: [http://sustainability.stackexchange.com/a/2736](http://sustainability.stackexchange.com/a/2736)

tl;dr: upgrading to a newer car with better efficiency saves about 10% in lifetime carbon footprint, vs 25% that is used pre-purchase. This is ICE, but I would guess the manufacture and disposal footprint of an electric is even higher.</comment></comment></comment></comment>


An interview with Scala's creator Martin Odersky - <AUTHOR> http://www.computerworld.com.au/article/315254/-z_programming_languages_scala?fp=4194304&fpid=1

<comment><USER2> I'd be very interested in a real-world comparison of Scala and OCaml, another language in the FP/OO crossover space. Obviously with Scala you get the JVM and its libraries, but then again OCaml-derived F# gives you the CLR and its libraries...</comment>


New study shows grim outlook for future of Air Force pilot shortage - <AUTHOR> https://federalnewsnetwork.com/dod-personnel-notebook/2019/04/new-study-shows-grim-outlook-for-future-of-air-force-pilot-shortage/ <comment><USER3> Seems like the Air Force is trapped in a vicious underhiring/overhiring cycle. When I was in college I did Air Force ROTC. A lot of my peers had pilot slots; I was poised as a 17D (Cyber Ops). After graduating, my training date was put on hold virtually indefinitely. Eventually I got an email that the Air Force had commissioned way too many officers and were looking for people to voluntarily leave with no commitment/obligation - seemed like a good deal, so I took it as did a lot of my non-pilot friends.

Later I found out a bunch of my pilot buddies were reassigned to other career fields because of overly stringent medical requirements (the real reason was likely a shortage in the other career fields?). For example one friend indicated he had pollen allergies on a form and was instantly disqualified (like you would ever be breathing pollen at altitude). Another wasn't even poised to be a pilot but a CSO - nope, disqualified because it turned out he had a tiny benign cataract in one eye (he has 20/20 vision otherwise).

The USAF brought this upon themselves

<comment><USER4> > looking for people to voluntarily leave with no commitment/obligation - > seemed like a good deal

How's that a good deal? Presumably you wanted to join and now that's something you'd never get to do?

<comment><USER5> The deal is that when you join ROTC, the military agrees to pay a certain amount of your your college costs (depending on scholarship, could be most of it), and in return, you agree to a certain number of years of service.

Even if OP did really want to be in the Air Force, having an obligation washed away like that with no penalty sounds like a pretty good deal.

</comment></comment></comment><comment><USER6> This is just as bad, if not worse, in other career fields too. I am an active duty EE. The Air Force paid for my undergrad then paid for my Masters. I am on my payback tour in a research lab, and I spend more then 80% of my time managing contractual requirements, finances, and other "inherently government functions" that they need a warm body to do (and that I have only gotten on the job training for). This is not even close to the unique story. Active Duty get tapped for all of the "odds and ends" duties because they can be tasked to, they either won't hire someone or taking the time to hire someone takes too much time/resources.

I had a friend of mine (also with a fully paid Undergrad and Grad in engineering) with the same experience get tapped to do Honor Guard Duty for six months. Seriously.

</comment><comment><USER7> This is probably part of the reason why the USAF is leaning so hard towards unmanned systems in the future, because it opens up a lot of doors here. Drone pilots can be put pretty much anywhere in the world so they don't need to be forward-deployed, which will probably help attract people. The physical standards can be strongly relaxed, no need to worry about eyesight or their ability to handle 8Gs, which increases the pool of possible pilots. You can to some degree "oversubscribe" and have fewer pilots than aircraft (alternatively, fewer pilots on shift, meaning pilots don't have to work as many hours), since not all of your planes will be in the air at once. Some of the more mundane tasks can be automated or distributed (maybe have air traffic controllers control taxiing, takeoff and landing directly?) like in-air refueling. It's not a panacea, and there are missions drones will not be able to do anytime soon, but I imagine it will help with the pilot shortfall.

<comment><USER8> > Drone pilots can be put pretty much anywhere in the world so they don't need > to be forward-deployed, which will probably help attract people.

Unfortunately the USAF likes to put all their drone pilots at Beale which from what I have heard isn't a very big difference in experience from Minot.

Also right now all drones are required to be full pilots and officers. This is a big factor in the shortages problem. No one wants to through the Academy and then sit at a desk flinging a joystick around. When I was in it was asked all the time why not have warrant officers or let enlisted fly drones? Brass always said no.

<comment><USER9> I guess that's changed since 2016?

[https://www.engadget.com/2015/12/28/us-air-force-allows- enli...](https://www.engadget.com/2015/12/28/us-air-force-allows-enlisted- ranks-to-fly-drones/)

<comment><USER8> Eh, the Global Hawk is more of a tell it where to go instead of flying by hand it kind of drone.

</comment></comment></comment></comment><comment><USER10> The Army also has a pilot shortage, but they've done a little better than the Air Force due to allowing warrant officers to fly. Many pilots just want to _fly_ , they don't want to deal with all the other management responsibilities and staff assignments that come with being a commissioned officer. When the Air Force split off from the Army they decided they only wanted commissioned officers as pilots and eliminated WO ranks.

<comment><USER11> It's interesting how the US military copied the British class-based system of management, officers v other ranks. It does stymie a lot of creativity and talent.

<comment><USER12> The way I see this is that the US Air Force does allow enlisted to fly. First, get a college degree, and go through the application process to become an officer. Prior enlisted with the smarts to do it are seen as better officers. Then once you've done that you can get a pilot slot. Why would I want someone who is not willing or able to get a college degree pilot my $150 million dollar jet?

<comment><USER13> Many of the best pilots in history had no university degrees. Chuck Yeager famously had none. Jacqueline Cochran had none. Amelia Earhart dropped out of Columbia. Charles Lindbergh dropped out of UW-Madison. Howard Hughes dropped out of Rice. Hanna Reitsch dropped out of medical school at Kiel.

If the idea is simply use willingness to pay for / put up with university as a proxy to test seriousness and dedication, why not ask prospective aviators to get full-face tattoos? Surely that stunt would prove more dedication than a college degree, and waste less of everybody's time.

<comment><USER14> One of the arguments for pilots to be officers is that they are the ones who ultimately make the final decision on dropping bombs. The U.S. Air Force took a heavy mental beating over the horror of indiscriminate bombings it conducted in the Vietnam War (that was not a war...), and has internalized it.

The thinking is that officers are personally responsible for the command decisions that they execute. If you are ordered to do something you think is illegal it is your responsibility as an officer to refuse. Enlisted are not expected to be held to this requirement. I understand the realities of things, but this is the theory.

The tie-in with a university degree is that that is supposed to have exposed you to enough other thinking that you are better (not to be confused with "well") prepared to make those sort of decisions.

<comment><USER13> The supposed connection between ethical behavior and university degrees is totally spurious. It's a post-hoc justification for blatant class discrimination, plain and simple. I recommend you dig into the life of Jacqueline Cochran in particular; she was far more than merely one of the best pilots to have ever lived.

</comment></comment></comment></comment></comment></comment><comment><USER15> Weirdly, the article says almost nothing about the impact of drones on career pilots, especially their will to reenlist. The focus was fighter jocks, but I doubt most will end up flying commercially -- the skills of flying passengers or freight don't overlap much with dogfights, missile tech, or flying invisible.

The article also says nothing about _which_ kinds of pilots are in shortest supply (fighter, heavy, rotary, carrier-based fighters, VTOLs, etc), or which service suffers most. It briefly mentions the cost of training fighers, but nothing on non-fighter pilots, which must make up the vast majority of onboard pilots, much less the cost of drone pilots. Nor does it mention the rate of departure for all of these MOSes.

IMO, this article went to press with far too little background research. That, or it was edited out later.

<comment><USER16> > The focus was fighter jocks, but I doubt most will end up flying > commercially -- the skills of flying passengers or freight don't overlap > much with dogfights, missile tech, or flying invisible.

My understanding is that the main "skill" commercial airlines are looking for is flight hours - lots and lots of flight hours. The combat-focused skills obviously don't transfer, but an experienced fighter pilot is still very prepared to transition to flying commercial flights if they want to.

</comment></comment><comment><USER17> This is interesting because the military pilots I know simply love to fly. It's an amazing opportunity to fly amazing kit, and to get tons and tons of airtime. The pay was never that great, and young people in their early 20's shouldn't mind deployments in the midwest or wherever.

Also, it's a very aspirational job: "Jet Fighter Pilot". They make video games of that. Every little boy, at some point, considered wanting to do it.

Something fishy in the system, maybe a broken pipeline, because I can't imagine anything easier to at least get people excited about.

<comment><USER18> "and young people in their early 20's shouldn't mind deployments in the midwest or wherever."

That to me sounds exactly like the kind of thing someone in their early twenties who is ready to head out and see the world would mind. Maybe I'm just projecting?

<comment><USER19> From my experience with pilots (family, NATO training base nearby), just the opportunity to flight high performance aircraft is a thrill. The name of the piece of land below you isn't as important as what aircraft you're in and what you're allowed to do with it.

<comment><USER20> And the spouses, naturally, are supposed to get along with the program.

<comment><USER21> I am guessing when you say "I do" you must have a pretty good idea of the person you are marrying.

<comment><USER22> Weren't we talking about people in their twenties? Do you people often get married at that age? I thought it was more common to delay marriage and kids to later in the career nowadays?

<comment><USER16> People in the military tend to marry early, at least partially because there are a bunch of benefits that the military provides to spouses. If you get re- assigned to a base across the country, the military will pay to move your spouse, but not your girlfriend/boyfriend. If you need to be picked up from the base after work, that's a lot easier for a spouse to do (they have an ID) than a girlfriend/boyfriend. You also get a bigger housing stipend, they get medical benefits, etc. If you're in a long-term relationship anyway, there's a big financial benefit to making it "official".

<comment><USER23> >they get medical benefits

Hence the evolution of the species known as "Tricareatops".

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER24> An Anecdotal "I quit" I read a couple of years ago about the (then impending) pilot shortage:

[https://www.jqpublicblog.com/punching-out-latest-dear- boss-l...](https://www.jqpublicblog.com/punching-out-latest-dear-boss-letter- decries-air-forces-lack-of-true-leadership/)

Dear Boss,

I've fucking had it. I'm finally giving up on my Air Force and I'm throwing in the towel. Flying fighter jets is no longer cool enough to outweigh the bullshit, and so I've broken the mach for the final time. You're going to believe that I'm leaving because I'm tired of deploying, that I'm sick of the queep, and that I seek the money bags and greener pastures of the Airlines. I've heard you on TV spouting those same lines over and over. Boss, I probably will join the airlines, but that's not why I'm leaving. I'm leaving because my wife (I love my wife) got tired of hearing me come home every night and bitch about how the leaders of my Air Force are running it into the ground. I'm leaving because you took the coolest job on the planet, you, the leaders of this job, and you ruined it. You took one of the few jobs left in the world that kids hang posters of on their walls, and you made it so damn miserable that thousands of guys like me are calling it quits. And the worst part is, you have no idea HOW you made it miserable, and even less of an idea how to fix it. You are focusing on the second and third order effects, but not the root cause.

Boss, you were a fighter pilot. You were trained for years in how to identify the root cause. I know you have the ability to dig past the airlines, ops tempo, queep, and other reasons you're currently focusing on, and find the DFP. I know that you know what it is, I just don't think you have the stones to call it out in public and do something about it, so I'm pulling the handles.

Yes, life in my Air Force has gotten tough. But the real reason I'm leaving boss, the heart of the issue is this. I'm a leader, I always have been. People follow me because I'm good in the Air, I have a strong act in the bar, and I give a shit about the people that work for me. And because I'm a true leader, I will never lead in this Air Force. Instead, the guys that are leading in my place, and in the place of all of the others like me, are boot-licking, risk- averse, yes men who have spent an entire career being faithful followers and couldn't lead a 2 ship to the end of the runway. They've been rewarded their entire careers for being non-confrontational, making only safe decisions, punishing downhill and protecting uphill, and most importantly, being loyal to the bad leaders above them.

That's the real problem here, boss…. loyalty has become the new CURRENCY of your Air Force. More than integrity. More than excellence. More than tactical ability. More than taking care of the people in your charge. Absolute loyalty to your superiors is what gets you promoted. And in return for that loyalty, you get protection. Protection by your bosses for every stupid, unethical, illegal, hair-brained, vindictive decision you make that degrades morale, drives people out, and makes good leaders like myself write this letter.

<comment><USER25> I'm a former Air Force pilot and was going to writeup a long post about my experience. But, this pretty much sums it up.

I loved the people, and LOVED the flying. Some of the best times of my life. But, the organizational bloat, bureaucratic BS, and constant deployments just became too much.

As you can imagine, it really wears on you to be gone 6 mo's every year risking your life for a counterproductive endless war that the American public barely knows is happening.

<comment><USER26> As a former Air Force air traffic controller, the sentiment is similar on the enlisted side. I remember a Chief called all controllers in for a meeting to discuss his new policies, then asking the NCOs what he thought of his them. Every NCO agreed and said they were needed Chief. I told him they were counterproductive and would cause more problems than solve. He kicked everyone out of the room, and we had a one-way conversation in which I was instructed to never disagree with him, ever, particularly in a group setting.

While ATC isn't fighter pilot cool, it was an amazing job to have when you're 18 at the beginning of the war (2003), but after 11 years of many similar experiences, as I illustrated above, I left. What struck me most, was when I told my Chief, Flight Commander, and SQ/CC I wasn't reenlisting, none of them tried to talk me into staying. I was dual rated - Tower and RAPCON (with ARTCC) - with 4 different facility ratings plus a deployment to Balad AB where we were pushing 1000+ aircraft a day. They could care less to keep their experienced NCOs in, their sole focus appeared to be on their next promotion and/or assignment. It solidified my choice while reassuring me I made the right decision.

<comment><USER27> IOW, not much different from corporate management.

</comment></comment></comment></comment><comment><USER28> I can't fathom how the answer to the pilot shortage couldn't simply be "pay them more". They are flying $100 million dollar planes, pilot salary must be a drop in the bucket.

<comment><USER29> But then you'd have pilots making more than Generals.

<comment><USER30> I'm not sure I understand. The reason you pay more for higher ranks is because you want to incentivize people to work to be promoted to those ranks, right? If you have enough generals but not enough pilots, it ought to flip.

<comment><USER29> > The reason you pay more for higher ranks is because you want to incentivize > people to work to be promoted to those ranks

Also to compensate for more responsibility and experience.

But we aren't logical beings, and pay is part of social status.

</comment></comment></comment></comment><comment><USER31> This story's title here on HN seems to contradict the actual news story. According to the HN title, there is no shortage of AF pilots. It says the outlook is grim for the shortage, not for the number of pilots, so it means that the shortage is probably going to go away.

</comment><comment><USER32> > A recent RAND study found the cost of training a basic qualified fighter > pilot ranges from $5.6 million for an F-16 pilot to $10.9 million for an > F-22 pilot.

Those numbers seem outrageous to me. Why does it cost so much? Are there frequent plane crashes?

<comment><USER33> Cost of flying F-22 for an hour is reported anywhere between $33k and $70k, with most estimates in the $60k range. Let's assume $50k/hour to be safe - <USER2> hours of flight time gets you to the $10 million figure on its own, with no other costs accounted for.

Pilot still ends up the cheap part of the equation, given ~$200mil+ per airplane cost.

Whee - are we having budgetary fun yet :-)

<comment><USER32> I hadn't thought about the cost of flight time. That makes sense.

To put what you said in another way, every hour an F-22 flys costs the same as hiring someone at a middle class wage for a year.

<comment><USER34> My guess is that a substantial part of those costs are probably to pay a few people a middle class wage.

<comment><USER35> "A few", as in 2500? That's roughly the number of working days in a year multiplied by the number of working hours in a military day. What are all those people doing, and is there a distinct set of people doing those things for every aircraft? There must be some other explanation...

</comment></comment></comment></comment></comment><comment><USER36> Especially pilots with biplane experience, I'm sure.

Why are we building manned warplanes?

<comment><USER37> We build manned warplanes because you want a human with decision making capability on the trigger, drone communications can be jammed, and AI is a myth.

</comment></comment><comment> BXLE_1-1-BitIs1 The AF needs to look at the software industry. Bring in hordes of newbies and keep the ones that don't kill themselves for 3-5 years, then repeat.

<comment><USER38> That was actually how air forces adapted to the jet era. Attrition was horrific, about 35% of USAF F-84s and F-86s being lost in crashes through the 1950s. Actual combat losses in Korea were insignificant compared to accidents.

The 1970s-designed F-16 has a loss rate of 3.4 per 100,000 flight hours. The two 1950s fighters were 52.6 and 44.2 respectively.

</comment></comment><comment><USER39> Do they really only get paid $35k?

<comment><USER40> That's the incentive bonus.

</comment></comment><comment><USER41> country doesn't need that many pilots if it doesn't wage endless wars, though.

<comment><USER42> how else would we go into deeper debt? the budget deficit and debt is not going to grow on it's own.

<comment><USER43> Entitlement programs dwarf military spending.

[https://www.quora.com/What-percentage-of-the-Federal-US- budg...](https://www.quora.com/What-percentage-of-the-Federal-US-budget-is- spent-on-welfare-spending-and-entitlement-programs)

<comment><USER44> They're called "entitlement" because people explicitly pay into them and then the government has to pay those benefits. That's not relevant if you're talking about the discretionary budget.

<comment><USER43> I'm kinda surprised that anyone still believes this, although politicians do say it all the time.

What actually happens is that people pay a tax. The tax goes towards covering people who are currently receiving payouts. The collected tax does not cover the payouts and has not for quite a while. In other words, you're not "paying in" to anything, other than that if you pay the tax for 3 years, you're eligible to receive benefits.

And the payouts are a really bad investment if you are a Gen Xer or younger. You're going to get a lot less out than you put in.

It was a really great deal for the WW2 gen, as they paid in hardly anything and got decades of payouts.

<comment><USER44> Sure, it's not the same dollars that I pay in that I'll be getting in the future. That doesn't change the fact that these these taxes have to go into the SS trust fund and is not part of the discretionary budget.

When people say things like "the government spends most of its money on entitlement programs" like it's a bad thing, they're completely misrepresenting the situation. If they _weren 't_ spending the tax that's explicitly supposed to fund social security on social security, that would be a bigger story because that would be fraud.</comment></comment></comment></comment></comment></comment>


Anger Management: Why the Genius Founders Turned to Couples Therapy - <AUTHOR> http://nytimes.com/2015/04/19/fashion/anger-management-why-the-genius-founders-turned-to-couples-therapy.html

<comment><USER2> I saw Tom be the awards emcee at Yale's hackathon and I don't really get why he acts the way he does. It's some persona that makes people hate startup founders even more than they already do. Add the Yale tag to that and boom you've got your classic Ivy privilege douchebag. I know people from Ivies (including my own) and it's really rare for people to act like this. Is he giving these groups a bad name? I don't know him personally, and he's probably a fine guy, but it seemed like by the end of the event people were sort of sick of his antics.

</comment><comment><USER3> I've been thinking about this article since the first time it came up and now I think I finally get it. These guys are angling for a reality show.

</comment><comment><USER4> Previous discussion: [https://news.ycombinator.com/item?id=9398237](https://news.ycombinator.com/item?id=9398237)</comment>


Ask HN: How do you evaluate web design firms? - <AUTHOR>

A friend who will be running for public office in a US state recently asked me for recommendations on web design firms.  I could not suggest any that are known for designing for political candidates, and am wondering: What do you look for in a web design firm? Are there any specific things to look for or avoid?<p>Thanks. <comment><USER2> Look at their portfolio to make sure they are capable of doing the functions you need. You'd be surprised how many of "web design" firms can only do very basic things.</comment>


Which countries DON'T yet have Covid-19? - <AUTHOR> https://travel.stackexchange.com/q/154995/101 <comment><USER2> The list of those countries make me wonder.

What is going to happen in poorer countries in terms of both the number of casualties and how more quickly will it or won't cases peak compared to more wealthy countries trying to slow the peak number of cases?</comment>


Ask HN: Equal treatment or robbing of feminity? - <AUTHOR> A sincere question to female engineers and not only.
I'm having issues finding a comfortable spot in communicating with my female colleague. I sense that she is a bit unhappy that we are robbing her off her feminity with our "equal" treatment. But she is a bit (IMO, of course) of an insecure person and hence I may be just misreading something.
Since this keeps bothering me, I'd like to hear opinions from female engineers and others who found/observed that balance. Where is the line? I don't want to have cold professional relationship, I want to actually connect with everyone on the team.
To avoid any sort of flame here, I beg you to avoid any frustration venting here. Just advice.
Edit: of course, if you have good reads to point to, please share.
Edit2: I'm based in Northern Europe, but the environment is very international. <comment><USER2> Female engineer here. What do you mean by "robbing her of her femininity"? And how would equal treatment do that?

Damn straight I want to be treated as an equal. A professional relationship on equal footing doesn't have to be a "cold" relationship. Why would it?

And yes, I'm highly tempted to vent here in large part because I really don't understand this question at all.

Can you please explain further what you're trying to get at?

<comment><AUTHOR> Thank you for your patience.

1) Many women dress nicely. Some for themselves, some to impress others as well, most to impress the opposite gender. I can't see myself complimenting my female colleagues on the outfit, while I would definitely complement non-work- related female acquaintances.

2) My colleague is a great engineer. Saying "You are a great engineer" is ok, saying "You are a proof that girls can kick ass in engineering" I feel is a no-no. In the first case I'm completely ignoring that she's a woman. And I understand that it is ok, that the "you are a woman" prism should be out of the optics.

I think that many women want to be seen as women at their workplaces, just without any advances, condescension (mostly tech thing), harassment etc. Firstly a professional, secondly a woman.

I hope this makes it clearer.. or am I just an unaware misogynist?

<comment><USER2> That you're asking rather than assuming is a good first step. I've been meaning to give this the more thorough response that it deserves, but this week has been crunch time. Just want to let you know that I do intend to respond when time allows.

</comment></comment></comment><comment><USER3> Why does treating someone as equal make the relationship cold? You have this with your male colleagues, right?

</comment><comment><USER4> What country are you? I find that sensitivity is highly cultural.

<comment><AUTHOR> I'm based in Northern Europe, but the environment is very international.</comment></comment>


Generating code from natural language is closer than you think - <AUTHOR> http://blog.stephenwolfram.com/2010/11/programming-with-natural-language-is-actually-going-to-work/ <comment><USER2> "Make it possible for programmers to write in English and you will find the programmers cannot write in English."

I teach computer science and have a particular fondness for introductory CS. The reason Stephen Wolfram is wrong, wrong, wrong about this is that people that have never been taught programming can't express themselves precisely enough in their native language, either; and even among those of us that have been programming for decades, when we express ourselves in natural language we _can_ be very precise but it takes a lot more work and becomes a lot more unwieldy than just writing out our instructions in [pseudo]code.

CS educators have been wishing for a long time that "intro to CS" didn't equate to "intro to programming". And it doesn't have to, not quite, but the reason it always seems to revert there is that the prerequisite for _every other thing in CS_ is, not programming itself, but a certain precision of thought that is easiest to teach just by teaching students to program. In a programming language. Because if you try to make them write out instructions in a natural language, and you notice that they aren't being precise and therefore deliberately misinterpret that instruction, they just think you're being a dick about it. They sometimes even think this if you honestly misinterpret them. (This is true even in a non-CS context.)

Saying that we will soon be "generating code from natural language" is, at best, misleading. It implies that people who couldn't learn a programming language will be able to program, which is quite untrue---I promise that with the possible rare exception of a few pathological edge cases, when people can't learn to program, the language is the least of their problems. And for those of us that _can_ and _do_ learn programming languages, all but the simplest sorts of programs will probably be easier to write in a programming language (which was designed for that sort of thing) than in a natural language (which was not).

(And holding up Mathematica as an exemplar is particularly egregious; it is so loaded with syntax that "just works" that you need to either have a deep familiarity with traditional mathematical notation or else a degree-level CS background in programming language theory if you want to have a good shot at learning the language in anything more than a pattern-matching fill-in-the- blank way.)

<comment><USER3> The problem with this analysis is that it discounts the possibility of interactivity. There are many who cannot think through the logical steps needed to complete a task, but can watch a system stepping through a task, stop it when it seems to go wrong, and provide an explanation as to what's wrong about it. There are a whole lot of problems for which this trial and error process would converge to a mostly working solution.

Hell, there are many _programmers_ who code things this way - try it, change it, repeat. Natural language would just allow non-programmers who aren't familiar with the syntax to join in on this process. Continued practice would likely improve the reasoning abilities of the user and make the process faster.

<comment><USER2> I have no problem with this idea of iterative refinement, and indeed I actively teach it. There are certainly students who pick up the syntax more _slowly_ , but this is largely a matter of degree. But the students I refer to above have trouble even identifying what's wrong about an intermediate value or where things went off the rails or what a correct answer would even look like. They're more common than you (as a hacker) would ever believe unless you teach intro CS. They _can_ be taught at least enough to pass CS1, but it's not easy and "natural language programming" will not help them with the things they need help on. (Might actively hurt, actually.)

</comment></comment></comment><comment><USER4> This is in the class of "demoware", projects that are easy to program fancy demos for but are very difficult to bring to production status. (See also: "fully visual programming".) It's only really interesting if they escape from that. We'll have to wait and see.

<comment><USER5> There is a difference between visual programming and natural language.

Natural languages already have tokens, syntax, and grammar whereas visual fields do not have them. All those elements must be imposed onto a visual language before it can be translated into the machine language (e.g. there is no obvious convention for visual commands or visual conditionals).

<comment><USER6> _there is no obvious convention for visual commands or visual conditionals_

I don't know about that. Within a particular domain, you can certainly come close to representing these things, or presenting the right controls for a user to represent commands and conditionals. For an example, check out QuickFuse <http://quickfuseapps.com>

Before we built this, we thought about common ways people "drew" voice apps, and commands and conditionals both have certain natural visual representations in the "voice app" space, e.g., blocks with branching arrows and writing text to indicate spoken words.

<comment><USER5> The convention is arbitrary (e.g. most people don't have receivers on their phones and hanging up is done by pressing down a button not by placing the receiver in a horizontal position).

If there were an obvious visual convention, the start button would not need to say "start" and the hang up button would not need to say "hang up."

That's not to say that arbitrary visual conventions can't have great utility (the alphabet being a case in point). But to illustrate the issues with graphic conventions, Quickfuse does not use the long established conventions for flowcharting. It uses natural language instead.

<comment><USER6> Why would you exclude text labels from visual programming? I think this is an artificial distinction. Sometimes they provide the best balance of space consumption vs. clarity. Labels on their own aren't natural language, they are at most terms put into context by the surrounding graphics; would your criteria be that visual programs use icons for every single concept?

Also, you'll find that that where we departed from conventions for flowcharting, we did it to save pixels, or make the UI more accessible. There is a tradeoff in visual programming between ease of editing and clutter-- compare with Max MSP, which has a stark UI, at the cost of having you memorize certain textual commands. If you draw a bare flowchart, it's not obvious how to manipulate it until you draw other GUI controls on top of it or make some modifications. However, it is the general paradigm we are tapping into.

<comment><USER5> > _"Why would you exclude text labels from visual programming?"_

The context of my initial context was in response to _"fully visual programming"_ in the ancestor comment and the implication that natural language programming faced similar challenges.

The expediency provided by labels is a result of the arbitrariness of graphic interpretation. I am not suggesting that the use of labels isn't helpful, only that the use of labels doesn't really differentiate "visual programming" as a subset of programming, i.e. in and of itself a text label is not significantly more visual than text on a terminal screen.

For example, the label is necessary because the visual convention for "start" is ambiguous. Left, right, top and bottom are all used as a starting position depending on the arbitrary conventions of the context. Likewise, a MaBell styled receiver, green flag, a vertical stroke or a hand with index finger extended as if to press a button may all be used to indicate start.

I used your departure from flowcharting conventions as an illustration of the unique problems with graphical communication conventions. I am not implying that deviating from flow charting convention is a bad idea.

My point is that your deviation from flowcharting conventions is arbitrary in the sense that it was driven by factors irrelevant to the process of flow charting (i.e. the limitations of the medium on which the flowchart is presented rather than concerns about the mapping of graphic symbols to processes).

</comment></comment></comment></comment></comment></comment><comment><USER7> I would be fascinated to see several hundred years down the road how natural languages and computer languages have comingled and evolved into something new. I'd be inclined to believe that bringing natural language to computers won't just be a one-way street.

You already see this in places like hacker news here where people often use constructs like "s/thing/other thing/" because it's more concise and useful than writing out the natural language version.

<comment><USER8> I upvoted you. But I am not sure that "/thing/other thing/" is more concise or useful than all alternatives.

"thing" → "other thing" is the same length, and while not natural language, it isn't a computer language.

I think using the sed-like (right?) language is more useful as a signaller. Check it out, yo, I grep shit _all the time_.

<comment><USER9> The whole s/X/Y/ thing is very Unix, and is a (sub)cultural signifier as much as anything. I'm not sure if it's originally from ed, sed, or what, but most people (self included) probably picked it up from vi (nvi/vim/etc.) or perl.

X->Y makes just as much sense, but the s (for "substitute") makes it mnemonic - I read it as "sub X for Y".

<comment><USER10> ed gave rise to sed and vi. ed -> em -> ex (VIsual mode). vim is Vi iMproved.

x->y suggests lambda to many people in our community.

Edit: I meant to provide some additional information to other readers, not to disagree in any way.

<comment><USER9> Well, right, but how many people here have actually used ed standalone? ( _lone hand_ ) It's overwhelmingly likely that most people picked it up from vi(m).

</comment></comment></comment></comment></comment><comment><USER11> While it would be neat to give the power of programming to everyone, I'm not convinced coding in a natural language would necessarily be better/easier than writing code in Ruby or Lisp or Python.

Sure, you eliminate the first big hurdle in programming, but learning the syntax of programming language is usually one of the easier parts of software development.

<comment><USER5> "Draw a red circle" is enough to get a red circle. Basic, C++, or Javascript just aren't that closely coupled with the way we think.

The advantage of natural language over a high level programming language would appear to be analogous to that which a high level programming language has over assembly.

I think you may be conflating programming with software development. People still develop software in assembly language, but few people use it in lieu of javascript on the web.

<comment><USER12> Where is the red circle drawn? How large is it? What shade of red? How are those arbitrary values chosen, and how do I choose others?

The inherent problem with NLP is that human languages are imprecise and ambiguous. For an example of the problems with NLP, try using Wolfram Alpha. While it returns useful results for many queries, as soon as you start off the beaten path it can become an exercise in frustration as you try to figure out exactly which format of words it will accept, especially as I know the mathematica command that would accomplish the desired goal (or can look it up quickly).

Obviously Alpha isn't the end-game of NLP and improvements can be made to accept more constructions. But ultimately, you're going to have to restrict yourself to a subset of your natural language's syntax, grammar and vocabulary, and I believe that learning what that subset is is far more difficult and frustrating than just learning a programming language.

Furthermore, merely knowing a NL programming language isn't enough to be a programmer--you still need to learn how to think logically and algorithmically, which seems to be the hard part for people new to programming.

<comment><USER13>
      Draw a circle.

      Color it red.

      Make it smaller.

      No, 5% bigger.

      Make the radius 5 units.

Refining specifications like that seems like the holy grail of movements like aspect-oriented programming, NLP or no. Separating concerns is a _really_ good thing.

<comment><USER14>
      circle = Circle(); // default origin, radius, color, etc.
      circle.set_visible(true)
      circle.color = RED
      circle.make_smaller()
      circle.set_radius(5)

// or whatever. just saying we can do approximately this already today, in most any modern language, as long as you're willing to express it in the prog language rather than the natural language. And I'm not sure having it expressed in a natural language is better in any significant way.

<comment><USER15> This only works if someone has added such an interface to every object in the programming language, the user is familiar with the dot-calls-method convention (and the state-is-modified convention), etc. I think to do actual programming it's probably best to use an actual programming language, as you do want all the details under control. To do what most people do with mathematica, however, (and the way most people use mathematica is more like the way they use an interpreter than the way they write in a source file, by trying out all sorts of combinations of some little pieces while they work out the actual problem they're trying to solve in their heads) it seems like a good idea, as you're just removing friction from the system (what if circle.make_smaller() was named circle.reduce_size()? Is this responsibility better offshored to an intellisense-like technology with heavy autocompletion? But in general I don't want to be told what to type, I want what I type to work)

</comment></comment></comment></comment></comment></comment><comment><USER16> Awesome, Stephen Wolfram has duplicated Terry Winograd's 1971 PhD thesis, which ran in 256K of memory on a PDP-6.

Winograd: <https://hci.stanford.edu/~winograd/shrdlu> Wolfram: [http://blog.stephenwolfram.com/data/uploads/2010/11/conesphe...](http://blog.stephenwolfram.com/data/uploads/2010/11/conesphere_11.jpg)

</comment><comment><USER17> A related thought experiment: if programmers were to work for free, would non- programmers think up of lots of clever things for them to build?

<comment><USER18> This is a great point.

After a few minutes of thought, the biggest benefactor of natural language coding would be what I'd call late-bloomers: people who always thought like coders, but never actually did programming.

</comment></comment><comment><USER19> Well, I since it isn't possible (natural language isn't precise enough to even communicate efficiently with other humans that share the same hardware as you, much less an unthinking autamoton such as a computer), that would put the time frame at around never. If it ever actually happens, that would by definition of 'never' be sooner than I think, so all he has to do is actually accomplish it instead of talking shit his entire life, and he'll have proved his statement correct.

Maybe he'll call it 'A New Kind of Programming Language'.

<comment><USER20> Programming languages are _specificational_ : you say everything up-front, then the computer interprets all your statements at once and executes them.

Natural language, however, is _conversational_. You say A, the person you're talking to interprets that as Z and asks for clarification, you explain the difference between A and Z, now the other person thinks M and asks more clarifying questions, etc.

Computers are fully capable of working conversationally, instead of specificationally; it just requires that instructions be stored in a form that's a bit more complicated than a linear tape (e.g. a database of constraints, like Prolog.)

<comment><USER9> In more conventional programming terms, some languages have REPLs* for a conversation, and support _declarative_ programming ("Here's what I want, figure it out"), but most are procedural ("Do this, than this, than this, then give me the result").

* Read/eval(uate)/print loops

Prolog (also Erlang and some others) is mixed; you reload a file of rules _read as a whole_ , but can easily prompt the system for easy testing, and reloading is very fast. It's very convenient with a Prolog shell terminal and a vi window, two buffers in Emacs, etc.

<comment><USER20> Prolog has a REPL, but only new _facts_ can be declared through it efficiently, not new _rules_. If you (re-)declare a rule (through `assert`), the entire constraint database is actually re-evaluated behind the scenes. The big problem in conversational declarative programming is how to start with general-purpose rules, and work downward with more and more special-case exceptions, without each new assertion taking longer to integrate into the database than the last.

Inform is an exapmple of a natural-language-ish, rule-based system (for programming text adventures), that _could_ efficiently re-declare rules in a REPL (if not for its basis in virtual machine image formats that expect to be compiled from complete specifications.) Inform guarantees efficiency by using a hub-and-spoke system of rules: rather than every rule having the possibility to interact with every other rule, rules can only interact with rules in their own "rulebook" (module), the core rulebooks (standard library), and the "meta" rulebook (monkeypatches to re-specify libraries.) Thus, integrating a new definition only takes O(k + n + e) time—where k, n, and e should all be small—rather than O(n^2). This works well for Inform, but I'm not sure whether it would be as effective in a general-purpose programming environment.

<comment><USER10> Do rules need to be global in scope?

<comment><USER9> Not necessarily. Some Prolog implementations have module/packaging systems, some don't. Prolog is a weird language - many details feel very antiquated* , yet on the whole it's _way_ ahead of its time (esp. constraint programming). I think it would fare _much_ better as an embedded library (like e.g. Lua or SQLite), rather than a freestanding language. Working on it, though I will likely finish other projects first.

* Case in point: Loading a file is "consult"; I assume this is historically because Prolog was originally a language for doing NLP in French. (See e.g. HoPL-2.)

</comment></comment></comment></comment></comment></comment><comment><USER21> Sure, right after physics is adequately expressed in natural language.

There's a reason physicists express their concepts in mathematics, and that's because math is the language humans devised to express those things, having found natural language inadequate.

Programming is similar in that regard.

</comment><comment><USER22> This is clearly demoware, good enough to impress the general public. But once you go from "Draw a red circle" to "Draw a red circle overlapped one third with a blue square with white dots over the lower left corner" that would be progress. And then I wonder if this will also work: "Paint a white-dotted blue square that intersects over a third of a red circle in the lower-left corner. Or will it give a "compile error"

Why not just create a DSL (e.g. in Scala) with a simple standardized NL-like syntax that can give meaningful "compile errors". There is no need to impress the general public.

</comment><comment><USER14> Two reactions to this piece.

1\. I'm not sure what problem so-called natural language programming is trying to solve.

2\. Though I admire this man's building of Mathematica and the company that sells it, I'm generally not a fan of what I perceive as his history of "discovering the obvious" and self-promotion. Or rather, rediscovering or making things sound like he invented them or came up with them for the first time. Cellular automata and it's implications in his book "A New Kind of Science", and now this piece sounds like more of the same. I give him a little slack because he's in business and so there's the self-promotion angle, but not much.

</comment><comment><USER23> First off, did he really have to plug ANKS? Honestly it seems like every piece of writing I come across from him he has to mention it.

Secondly, I think eventually programming will have to become more mainstream. And this will be done through some form of a natural language interface. Programming is best a tool to solve problems. It's way too limited now where only an elite group gets to control its use.

Eventually programming will have to become a tool as common as mathematics. The problems we face are only going to continue to grow in complexity where the only way to get a handle on them is through automated computation. The user will need the instant, iterative feedback that only a self-made program can provide. For this to happen, the interface to programming will need a radical change.

<comment><USER24> Most people are not able to use mathematics as a tool.

<comment><USER23> That's not true. Most people with jobs that aren't just manual labor use basic math to solve problems. As the problems get more complicated, the tools have to grow as well.

Furthermore, I'm not talking about your average office assistant. I'm talking about professionals in a science-related field. Being able to use programming as a tool is going to become invaluable.

</comment></comment></comment><comment><USER24> This will exactly end like Infocom adventures. They are mostly nice, but quite often you hunt for the exact phrase the parser understood (but to be fair, it happened more often in Magnetic Scrolls).

But would you call using a text adventure (put blue ball in red box) programming?

<comment><USER25> I was thinking the same thing. And it's no coincidence that Inform 7 -- the latest iteration of a popular text adventure game programming language -- is perhaps the most extreme example of a programming language pretending to be English.

Here's the actual source code of a game: <http://inform7.com/learn/eg/bronze/source.html>

Of course, it's really a precise programming language that happens to read like English; the same text might not work if it were rearranged into semantically equivalent English.

</comment></comment><comment><USER26> I think that the title should be: Generating code that can be described in a short phrase is closer than you think.

We can create a database with the different phrases that people use to suggest a command, for example:

Calculate the limit, find the limit ... all of this is Limit, and so on.

To sell a product, this kind of ability is well received. Is like telling to your telephone: Please call this number for me, the number of my friend Alfred. And the computer lookup Alfred in its database and connect with that number, that is not deep IA but is a useful trick for selling products.

</comment><comment><USER27> Sure, by the time you enter all the specifics of the Circle, you've got something more unwieldy than a succinct programmatic description.

But for most people unfamiliar with Mathematica syntax, typing, "draw a red circle" and having the computer choose sensible (or any) defaults yields a template of the exact code one would have needed to type. Which saves Googling or reading the manual for circles, and teaches the syntax in a very natural way.

<comment><USER28> That is correct...it is nice to be able to see the underlying Mathematica code that any natural language query generates. Here's your "draw a red circle" example:

<http://img502.imageshack.us/img502/4355/drawaredcircle.png>

</comment></comment><comment><USER29> Not the same thing, but similar?, from 1983:

"A natural language query system for a prolog database" (Hadley) <http://ir.lib.sfu.ca/handle/1892/7254>

Not general code generation I suppose, but there's been quite some work on natural language to database queries systems in AI research elsewhere.

</comment><comment><USER30> Natural language can lead to contradictions and ambiguities. Just look at that star trek episode where they supposedly brought down androids built by a very advanced ancient race just by saying stupid and self contradictory things.

Which by the way was a stupid premise but hey :)

</comment><comment><USER24> A programmer can code in English (though a programming language is easier, more concise, easier to understand) or in a programming language.

A non-programmer cannot write code, neither in English nor in programming language.

</comment><comment><USER31> On a tangent, has anyone seen/used Intentional Workbench? They claim to be changing the way we program, but haven't seen anything concrete.

</comment><comment><USER32> The "uncanny valley" might apply here.

<comment><USER33> Might be right, you, I think.

</comment></comment><comment><USER34> It's over-hyped as usual, but this looks like it could evolve into a handy way of generating snippets of working code that you can then modify. Think of it as an alternative to doing a Google search for a useful example to start from, or a better kind of Rails scaffolding.

</comment><comment><USER35> Closer than we think, maybe, but further than Stephen Wolfram thinks.

</comment><comment><USER36> I'm suspecious of the usefulness of such an approach.

What's easier, "5 + 10" or "five plus 10", or even worse "five added to ten"?

Dijkstra had an article about that, titled: On the foolishness of "natural language programming"[1].

[1]: [http://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EW...](http://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EWD667.html)

</comment><comment><USER8> These guys are _smart._

</comment><comment><USER37> To Wolfram Alpha: Hello, HAL. Do you read me, HAL?

Result: Affirmative, Dave. I read you.</comment>


Ask PG: Which are the oldest, still active user accounts on HN? - <AUTHOR>

<comment><USER2> Sama's[1] last submission was 13 days ago and the account seems to have been created on the same day as pg's[2].

[1] <http://news.ycombinator.com/user?id=sama>

[2] <http://news.ycombinator.com/user?id=pg>

</comment><comment><USER3> You can start here: <http://news.ycombinator.com/item?id=1>, and keep incrementing the ID and see who posted the first articles.

</comment><comment><USER4> <http://news.ycombinator.com/leaders>

Most seem to still be active.

<comment><USER5> Those are point totals, not ages. Granted, it's unlikely that someone will have a high total without having been here for a while, but he's asking about age.

I think I came here pretty soon after it was made public, but there was a 'trial period' where only PG and some of his friends were here, so beyond the "pg" account, you'd have to ask him about the invitees.</comment></comment>


What Hooks Mean for Vue - <AUTHOR> https://css-tricks.com/what-hooks-mean-for-vue/ <comment><USER2> _This led me to ranting drunkenly at Dan Abramov, and nobody wants that._

I wish I was at that party.. But seriously, do hooks allow for components to act more like state machines? I'm gathering that from this:

 _Hooks achieve what mixins do, but avoid two main problems that come with mixins:

        -They allows us to pass state from one to the other.
        -They make it explicit where logic is coming from.
    *

<comment><USER3> In my opinion, they are mixins that can be applied without subclassing a component. In the examples a new section, data.width, is added. This modifies the state schema of the component.</comment></comment>


Rewards for loyal spenders are 'a honey pot for hackers' - <AUTHOR> https://www.nytimes.com/2019/05/11/business/rewards-loyalty-program-fraud-security.html <comment><USER2> This doesn't surprise me. I spent a bit of time at one of the companies that do loyalty programs on behalf of retailers (I would say that most if not 90% of loyalty programs are outsourced). This one had some big-ticket clients including a well-known coffee shop chain. Some things to note:

* In terms of culture, it was primarily a marketing company, not a technology company. Marketroids made up much of upper management. During new-employee orientation, one of these marketroids would attempt to sell you on the company's mission by redefining the word "loyalty" in such a way that it doesn't involve trust, faithfulness, or any other human virtue.

* The office was aggressively open-plan. Engineers sat shoulder-to-shoulder at long benches, with about enough room for their MacBook and one or two monitors, and that's it. There were no "focus rooms" or other quiet places to get work done, only a few conference rooms (and of course offices for upper management). Engineering shared the same office space with sales, marketing, and the other divisions and the place was constantly loud. Even the receptionist's area was out in the open like this. It was like some of the worst boiler-room recruitment firms I'd seen, but scaled up, and you were supposed to get technical work done there.

* The pace was also aggressive. There was an expectation that new features would be implemented and go into production quickly, and this is also the sort of company where you "commit" to work for the next sprint, you do not "forecast". If what you pledged to do by end of sprint isn't done, you will be given the turd-burgling stink eye at best.

With rewards programs being implemented in that kind of environment, is it any surprise that proper care for things like security is not being done?

<comment><AUTHOR> Precisely why HN is like no other site: no matter what the subject or how arcane the field, SOMEONE reading any post is an expert. It's like one of those companies that finds you an expert for a price, except here it's free.

<comment><USER3> I am on the other end of those "find an expert for a price" (I'm the "expert") and I always expect to be asked touch questions that are hard to answer.

Once -- once! -- I was contacted by a domain expert looking for someone else to discuss some arcane tech issue (he was trying to decide if he should commit to a new display technology for their next gen design, or if it was too risky. I didn't make any decision for him or anything, just discussed the issues with him).

Typically the questions I get are from people who aren't really sure about the right question to even ask, typically in marketing or corporate strategy, and typically mid level (not new hires but not the VPs or senior directors either). They always have a particular question they want answered but don't even know enough to phrase it properly ("we're looking into strategic direction for our next level offering and our teams are recommending either writing it in C++ or using the blockchain" \-- not an actual question!)

This actually makes sense. If they understood a bit about they domain they would already have contacts, hopefully ones they trusted, to help them decide. The kinds of people who pay (well, get their company to pay) to "speak to an expert" are not idiots, merely domain-ignorant and smart enough to know so. So what I end up giving is a kind of off-the-cuff interactive survey white paper to someone who hopes I don't know who they actually are (well, where they work).

<comment><USER4> this might be tangential but how do they find you and perhaps more importantly( given they are smart but domain ignorant) how do they trust you ?

<comment><USER3> It's not tangential at all: they don't hire me, they contract with a company that has relationships with a ton of "experts" and that company makes the connection, handles billing etc. they also have expert witnesses (often the same folks) etc. I have no idea how those guys find me. Word of mouth I presume.

<comment><USER5> I am really curious about the company that you work through. Place I contract with right now really could use some of that expert advice(not software engineering issue)

</comment></comment></comment></comment></comment></comment><comment><USER6> Online reward programs are a "bonanza", "gold mine" for criminals, where they can have a "field day", "orgy", "spree", ... consisting of "binging" on personal information. Let's keep "honeypot" what it has come to be, though, in connection with computer security.

[https://en.wikipedia.org/wiki/Honeypot_(computing)](https://en.wikipedia.org/wiki/Honeypot_\(computing\))

A honeypot is a decoy used to attract malicious activity, keeping it from legitimate targets, and accurately identifying it.

Honeypots are deliberately promoted in such a way that legitimate users will not find them, but criminals will end up harvesting their addresses. For instance a honeypot e-mail address wouldn't be offered to legitimate users as a contact, but only buried in some content where only a spammer will harvest it. When the criminal uses the decoy identifier, their connection attempts are subject to time-wasting pauses (the honeypot is "sticky"!), and their IP address is put into a blacklist at the same time, so then the have a hard time accessing non-decoy resources.

<comment><USER7> "Honey pot" as a metaphor existed long before this. Just because in your life's context the security-related is more dominant doesn't mean the dozen other uses of "honey pot" need to be let go of.

What you're suggesting isn't "let's keep...", since at no point in time it exclusively meant that one thing.

<comment><USER8> I really get tired of non-security people entering a security discussion to redefine known security terms to fit some irrelevant personal emotional familiarity. Worse is when you point that out suddenly people are somehow greatly offended.

<comment><USER9> The way the term is used is correct in the article. Security people use based on the common definition, it's just in security it is assumed that it is with the intent of trapping the person going for the honey.

I agree that domain specific terminology, general language and another domain's language is confusing.

I'm sure a developer at a toy company and management could get confused by a conversation about models.

Doesn't mean either of them are right. Language is frequently ambiguous and we avoid it internally in our domains where possible.

</comment></comment></comment></comment><comment><USER4> i guess this is a silly question but a company that holds my Us Dollars in a electronic account is called a Bank.

A company that holds my stocks and shares (which easily convert into US dollars) in an account is called a Broker or a Bank

So why is a company that holds my loyalty points (which also convert to US dollars) not also called a Bank (and regulated as such?)

<comment><USER10> Because most loyalty points don't convert to US dollars...

They have a USD/EU value _equivalent_ because they need to for legal reasons but most companies will not honor requests to convert your points to dollars, and the fine print in their loyalty program T&C has language to that effect. They will only let you convert those points into their own goods or services.

(Credit card loyalty points are different, but they're also subject to regulation.)

</comment></comment><comment><USER11> Hmmm, from the title I thought this was going to be about how people exploited the weaknesses of these reward programmes to get more stuff for free.</comment>


Best interactive snowflake ever (WebGL) - <AUTHOR> http://oos.moxiecode.com/js_webgl/snowflake/

<comment><USER2> Very nice! I just wanted to visit the other snowflakes, but I could only rotate, not advance or move back. Are all the snowflakes equal? Is it possible to generate them randomly?

</comment><comment><USER3> Wow that interface is annoying.

Suggestion: add a dead zone in the center of the window where the view doesn't more.</comment>


The McCollough Effect - <AUTHOR> http://www.cheswick.com/ches/projects/me/ <comment><USER2> After gazing for a few minutes at both grids, I do see the effect but the green is much more prominent for me than the magenta (which I see, but much less pronounced) despite gazing back and forth at both for about the same time.

The page would be a bit better if it incorporated some basic image controls, IMO, to allow you to rotate the image, zoom it, etc.

I downloaded the image and did some of that locally and zooming in and out is pretty interesting because the effect becomes less pronounced (for me, anyway) as I zoom out away from 100%. It seems like the size of the "haze" around the bars remains constant as you zoom even as the size of the black bars changes, so as you zoom in the effect becomes less and less pronounced until eventually the black bars get so big that it seems to disappear altogether.

</comment><comment><USER3> When I first looked at the black and white lines just now, I already saw a faint green and magenta glow in them. I hadn't even looked at the colored images yet.

Then I remembered that several months ago I tried this. Could it have possibly lasted that long?

<comment><USER4> I also experienced this and saw the image a few months ago. That the effect lasts that long is sort of unsettling.

<comment><USER5> Yep, wikipedia cites a 1975 study "Extremely long-term persistence of the McCollough effect" in saying that the effect can last up to three months in some cases, after prolonged exposure.

</comment></comment></comment><comment><USER6> Citation needed on this: but from what I understand, the way your brain processes vision is that some of what you "see" is in fact the past. The visual cortex keeps recently seen things around and the incoming visual information is mixed with the past images to create the present (almost like compression in a video). Thus it would make sense that after staring at the green lines for awhile your brain is using past information when looking at new lines and hence the illusion.

<comment><USER2> This (what you described) is basically how most optical illusions of the type of "look at this thing then look at this other thing" work, but this one is a lot stranger than most in that the effects of it can reportedly last for up to 3 months.

I can't vouch for that directly, but I'm still seeing it an hour later and some other responses here have mentioned that they actually are still seeing it months later.

Other optical illusions that rely solely on the mechanism you're talking about fade in under a minute.

</comment></comment><comment><USER7> For anyone who's interested in full-screen colored grids, I threw them together in CSS.

Green (horizontal) – [http://codepen.io/ChristianBundy/full/iaAcq](http://codepen.io/ChristianBundy/full/iaAcq)

Purple (vertical) – [http://codepen.io/ChristianBundy/full/moshj/](http://codepen.io/ChristianBundy/full/moshj/)

<comment><USER8> Thanks, I much preferred your full screen version to the small ones on the post. However, you've swapped the pink and green round compared to the original.

</comment></comment><comment><USER9> I already have it without switching from the grids to the B&W images, just by concentrating on one and then the other I see fading aftereffects from the image I looked at before, takes a long time to fade to nothing.

Uncanny how reproducible that is. I need to look much longer at the coloured bars before that same effect starts to be present on the B&W image. It's almost as if the screen has burned in.

<comment><USER10> _" I know what you are thinking: this is a simple afterimage effect. If you think so, walk away from your terminal until you think the after image should be gone. Go home and try it in the morning. Then take a look. Or better, simply rotate the image. Well, maybe that isn't so simple with a CRT, but you could rotate your head."_

What you describe is a simple afterimage effect ([http://en.m.wikipedia.org/wiki/Afterimage#Negative_afterimag...](http://en.m.wikipedia.org/wiki/Afterimage#Negative_afterimages)).

The MacCullough effect is different because it lasts much longer (Wikipedia claims 3 _months_)

The McCullough effect is thought to be due to adaptation of edge detectors. 'Normal' after images are thought to be caused by adaptation of cones.

</comment></comment><comment><USER11> things like this always make me think about how things like great cooking, visual art and music (im sure other stuff too) have managed to implicitly understand complicated and nuanced behaviors of our senses.

</comment><comment><USER12> I trained one eye as instructed, while closing the other, then rotated my phone 90° and trained the other eye.

The effect has lasted for hours: one eye sees green-horizontal-purple- vertical, and the other, the opposite.

</comment><comment><USER13> Last time I tried this, even my tiled floor and the blinds on the windows suddenly had colors. I think it will be triggered by almost every kind of striped pattern.

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


Jog: Show the last 10 commands you ran in the current directory - <AUTHOR> https://github.com/natethinks/jog <comment><USER2> Cool idea, it's sometimes hard to use the standard history when I come back to an old project to build or run it with all the crazy build commands I have to do these days.

<comment><AUTHOR> I was mostly frustrated that standard history makes it difficult to impossible to see where you ran commands, depending on how long ago it was. This struck me as something that should have existed in shells a long time ago.</comment></comment>


The Dirty Secret of 10x Engineers - <AUTHOR> http://www.erictang.org/blog/2014/01/17/dirty-secret-of-10x-engineers/ <comment><USER2> Some people are just better at exploring problem spaces, avoiding dead ends and making insightful connections that lead to solutions. It doesn't always come with experience, some people could work forever and never solve even a moderately difficult problem. These people build websites. The 10x engineer has a mindset and an approach that yields results more consistently than his/her peers.

<comment><AUTHOR> Very true. Engineers like that are extremely rare, and usually have serious golden handcuffs. However, there are a lot more people with similar mindset but limited programming experience. With the right culture, those are the usually the people who can make a big different at a startup.

</comment></comment><comment><USER3> The dirty secret of 10x engineers is that you have to learn to prevent the other crabs from dragging you back down into the bucket (whether deliberately or out of ignorance).

Crap workspace? Leave. Crap cohabitants (not just in need of assistance, but willfully negligent or _so_ far behind that you can't get your job done)? Find better people to be around.

The hard part: If you're a nice person, it can take a while to really learn and internalize this, and it can remain difficult to execute.

It's not about being "better than". It's about circumstances that hinder your own performance and leave you counter-productively frustrated. No situation is perfect, but there are points past which they become destructively counter- productive.

<comment><USER4> It takes just one bad apple to spoil the entire team.

I've been in this situation three times. Reporting that your teammate is dragging the entire project down is a horrible feeling - but it's the only responsible thing to do. If you don't, you buy one person's peace of mind at the cost of the whole team's well-being.

PS. Dr Glover was right: nice guys are _not_ nice. They just try to cover their asses and stay quiet.

</comment></comment><comment><USER5> You know why CRUD apps are called that? Because skilled developers know that once you have built a CRUD app a half dozen times, the work is simple and straightforward with no challenge. This work is called crud work because it is not very desirable by people who look for challenges.

On the other hand, it is easy to build these CRUD apps 10 times faster than a developer who has not learned all the ins and outs of such work. CRUD apps happen to be highly useful in most companies, i.e. there is a lot of market demand. Some people like this kind of work just like some people like to work on an assembly line. And it may even be worthwhile to pay someone a higher salary to churn out apps like this.

But that does not make someone a 10x engineer. It just means that they happen to be working in a 10x environment right now. Next year they may be struggling to keep up with iOS developers who are all on their 3rd iOS app.

My takeaway is that if a company really needs and wants 10x engineers, they should advertise the narrow details of the job that needs to be done and avoid listing irrelevant stuff like education and all the technologies involved. The ad should say something like Ruby on Rails for over 3 years with at least 10 apps built using MySQL backends.

But if you need someone who is creative, can adapt to change and new technology, has experience with certain generic technologies like async servers, then please say that in so many words. And pay them more than average.

Because the majority of developers are average developers and they share some characteristics. They have been working with more than one kind of technology. They are good at learning new things. They know how to adapt to new tools and new business requirements. They have used some stuff in the past, but because they have no desire to become 10x well-paid developers using that exact same set of technology, you should not be judging them by matching up lists of acronyms and names.

</comment><comment><USER6> "Startups work on problems that have not been solved, and they are usually extremely challenging." \- Web/mobile apps on average?

"We hire ridiculously intelligent people", another London company I know says "We only hire top 5% of candidates". The truth is both of you hire the best people out of the small subset that was interested enough to interview with you. Just like anyone else.

The general idea is true though :).

<comment><USER5> Companies that really hire the top 5% of candidates, never advertise open positions. At most, their careers page says that they accept applications at any time if you think that you fill the bill.

Most of their hires will come from reaching out to people and referrals.

<comment><USER6> The point is nobody hires the actual top 5% of the best people, just the subset that happens available and interested in them within given period.

<comment><AUTHOR> top 5% is a very relative description. There is no hard measure, and everyone have a different standard on what they are "measuring in their head". Our perceptions are extremely biased by our own experiences. 90% of the time I really have to get to know the candidate before making any decisions. Of course the biggest constraint is available qualified candidates at the time. That's why hiring is so hard, and people who are really good at it tend to be veterans who have been in the industry for a long time.

</comment></comment></comment></comment><comment><USER4> There's nothing dirty about shipping.

10x means shipping - and nothing else. It's just one trait - being able to attack small chunks of work and finish them before moving to the next one - and it doesn't say anything about the quality of one's work. Here's why: you can _learn to ship_.

Being a "10x" is half of Joel's "smart and get things done". Don't ever forget about the other half.

</comment><comment><USER7> The thesis is that everyone is a 10x engineer at certain moments. But that if that same person is put in a more challenging situation, they no longer will be 10x. Also, that's the situation they should consistently be in. Otherwise, a consistently 10x engineer indicates coasting.

It's a workable hypothesis, but where is the data?

<comment><USER8> The dirty secret of the blog-o-sphere.

<comment><USER5> The dirty secret of all science. People only study things that someone will pay for. And often the questions that you or I would like to see answered never attract funding. Recently someone discovered that booth babes do not work as a marketing tool by spending their own company's money on some experiments. Unfortunately this kind of thing is rare in the public eye.

Some people think that Google has done such studies but they are part of its secret sauce.

<comment><AUTHOR> I've heard Google has a special process, unfortunately even if they make it public, it would only help startups in a very limited scope. The hiring requires are different, especially when it comes to a lot of the "soft skills".

</comment></comment></comment></comment><comment><USER9> If a '10x' engineer is going ten times slower than a normal and is therefore not a '10x' engineer anymore, wouldn't a '1x' engineer on the same difficult problem also go ten times slower and be a '0.1x' engineer?

</comment><comment><USER10> Take as given that under condition X all people can exhibit Y behavior. It does not necessarily follow that a particular person can exhibit Y behavior _only_ under condition X.

</comment><comment><USER11> 10x engineers wouldn't read this because they're busy doing something</comment>


Facebook cover story from Fast Company - Hacker, Dropout, CEO - <AUTHOR> http://www.fastcompany.com/magazine/115/open_features-hacker-dropout-ceo.html <comment><USER2> "He still lives in a rented apartment, with a mattress on the floor and only two chairs and a table for furniture" and running a Billion Dollar Company. I Call Bulshit.

<comment><USER3> Maybe he's running a billion-dollar company because he cares more about the company than about where he sleeps.

</comment></comment><comment><USER4> "From a ragtag operation run out of sublet crash pads in Palo Alto, they now have two buildings (soon to be three) of cool gray offices"

Cool gray offices?</comment>