hacker news with inline top comments    .. more ..    8 Dec 2016 News
home   ask   best   2 years ago   
1
The Elves Leave Middle Earth Sodas Are No Longer Free steveblank.com
45 points by RKoutnik  56 minutes ago   10 comments top 4
1
mcguire 2 minutes ago 2 replies      
"It never ceases to amaze me how many startups make the mistake of killing off the free drinks."

(One of the comments on the page.)

But wait a minute. Killing off the free drinks is just the signpost. The change is primarily in the size and the culture of the company itself. Charging for sodas might be the first, but it isn't the biggest change that the company is going to, and going to have to, make as it grows.

Does anyone really believe that IBM, Amazon, Facebook, or Google would still be their happy fun startup selves if they still gave away free sodas?

2
gopalv 19 minutes ago 0 replies      
> Its about the companys most valuable asset its employees.

There are often two ways to look at that statement.

Employees aren't fungible and how that cuts both ways.

The longer someone works in an established company the more tribal knowledge they accumulate to the extent that an equally talented fresh face cannot replace.

And the other is that some employees have already done their part & are now not easily moved into a different role (Peter principle or otherwise).

That fine line is somewhat scary to look at, particularly when you work in a boom-bust environment like a video game company or when the company does a tough pivot.

3
peterwwillis 6 minutes ago 2 replies      
I still don't understand why companies would willingly serve free drinks (and snacks) that they know will only deteriorate the health of their employees. Free drinks, sure, but 290-calorie cans of sugar, and bags of fat? Say what you will about adults having free will to make bad choices, but your company doesn't give away free cigarettes.
4
CarolineW 35 minutes ago 1 reply      
(2009)

That's not to say that it's no longer relevant. It is relevant, perhaps even more so now. But it was written in 2009.

Have things changed?

2
1213486160 has a friend: 1195725856 rachelbythebay.com
299 points by TimWolla  4 hours ago   62 comments top 6
1
ChuckMcM 3 hours ago 6 replies      
Hah, one of the side effects of doing embedded programming is spending a lot of time staring at hex dumps with ascii in them, hex on the left actual characters on the right. As a result you start recognizing a lot of ASCII characters when you see the hex codes for them.

I was debugging a library that was a 'native' library for a scripting language and the code seemed to have a much bigger running footprint than I expected. It kept allocating this odd sized buffer, a bit over 13,000 bytes in size. Walking it back to the scripting language interface to C code the buffer it wanted was '32' bytes long but the scripting language was passing it as a string so 0x3332 bytes long. oops! Reading hex and seeing ASCII is a very useful skill to develop.

2
cesarb 52 minutes ago 0 replies      
The lesson from this would be: when creating a network protocol, always start the stream or packet with a magic number, in both directions. If the magic number doesn't match, drop the packet or close the connection.

In fact, one could say that these are HTTP's magic numbers: 'HTTP/' for the response, and a few ('GET ', 'HEAD ', 'POST ', 'PUT ', and so on) for the request. IIRC, one trick web servers use to speed up parsing a request is to treat the first four bytes as an integer, and switch on its value to determine the HTTP method.

3
jstanley 4 hours ago 4 replies      
Passing the very first 4 bytes you receive straight to malloc with no sanity checking? I suspect that application is riddled with other vulnerabilities!
4
hullo 2 hours ago 0 replies      
I was personally expecting a piece about a baffling resurgence in the use of ICQ.
5
lbrandy 2 hours ago 0 replies      
If you search either of these numbers on google you see a ton of errors and people asking befuddled questions. We're literally doing a public service to future versions of ourselves by juicing the google results for this post. For once, it's totally appropriate to upvote for visibility. Upvotes to the left.
6
ebbv 3 hours ago 2 replies      
From the title I was expecting this to be some math post about strange factors or something. I was really disappointed. Is the youth today really fascinated by merely translating ASCII strings into numeric translations?
3
John Glenn has died dispatch.com
490 points by oaf357  2 hours ago   99 comments top 26
1
kumarski 1 hour ago 2 replies      
I grew up next to mission control and many of my neighbors and friends' parents were involved in Mission Control and/or Astronauts or both. Oddly, in the middle of nowhere Texas - Clear Lake. This gave me some interesting run-ins with cosmonauts, astronauts, physicists etc...

I was lucky enough to meet John Glenn on 3 separate occasions.

The first time, I discussed Plutonium 238 and my worries for satellite power given decommissioning of mission critical battery fodder for satellites on earth.

The second time, the viability of a colorblind astronaut.(I have deuteranopia and he explained to me the structure of the consoles and the switching costs of changing out colors and the follow on risk/reward of color confusion).

The third time, how we could keep more funding for NASA scale projects without having to keep offices in 50 different states for political pressure. He said he could go on for hours about this.

All 3 times, he was sharp, inspiring, and a pleasure to be around.

Today, humanity has lost the Lee Iacocca of Space.

One of my favorite quotes by him that I think is incredibly relevant right now: "The most important thing we can do is inspire young minds and to advance the kind of science, math and technology education that will help youngsters take us to the next phase of space travel."

2
Huhty 2 hours ago 1 reply      
"As I hurtled through space, one thought kept crossing my mind - every part of this rocket was supplied by the lowest bidder." - John Glenn.

RIP sir.

3
sizzzzlerz 0 minutes ago 0 replies      
Another of my childhood heroes is gone. I was 8 years old when Glenn went up into space and I still remember the black and white images of the launch, landing, and parades that ensued. I've been obsessed with space and its exploration ever since. Glenn is truly an American hero in every sense of the word.
4
ChuckMcM 55 minutes ago 3 replies      
This deserves a black bar (IMO)

John Glenn was very influential on me as a student. He gave a talk at my high school about how learning as much as you could prepared you for the unexpected. He certainly put that to the test (as all of the astronauts then and now) do. The stakes are high, the resources limited, and time for a solution is finite. God speed John Glenn.

5
rmason 2 hours ago 2 replies      
John Glenn was one of my boyhood heroes. I remember as a young boy listening to reports of him taking off and making those three orbits of the earth.

My uncle gave me a crystal radio shaped like Glenn's Friendship 7 capsule that ignited a fierce passion into radio that led to a ham radio license and a lifelong interest in science.

It was a time in America when the future seemed endless, anything was possible. A lot has changed since then but that sense of optimism has never completely left me and may be the reason despite one crash and burn that I am still an entrepreneur. Still hopeful for a better future.

6
rcarmo 1 minute ago 0 replies      
"At 77, he orbited the Earth with six astronauts aboard shuttle Discovery, once again rendering his body and mind to the study of science, providing insight into how the oldest man ever launched into space held up. Glenn, remarkably fit, became an inspiration once again to mankind."

I teared up at this bit. The right stuff, indeed.

7
owenversteeg 1 hour ago 0 replies      
He was an amazing man.

Fun fact: the most popular years for babies named Glenn and John was 1962 and 1963 respectively [0,1], and you can see a little spike in births for both around the time John Glenn orbited the earth. Glenn entered the NASA test program without the required degree in a scientific field. He was the oldest man to fly in space, at age 77, and one of the last people to receive a ticker tape parade (the last one to receive multiple ticker-tape parades)

IMHO if he qualified as one of a handful of people to get a ticker-tape parade, he definitely qualifies for a black bar.

[0] https://www.wolframalpha.com/input/?i=first+name+john

[1] https://www.wolframalpha.com/input/?i=first+name+glenn

8
thearn4 2 hours ago 1 reply      
I'm saddened to hear this, but it's also not exactly out of the blue given his age.

Godspeed, Sen. (Col.) Glenn. It's an honor to work at your namesake NASA facility.

9
koenigdavidmj 2 hours ago 0 replies      
When he went up again in '98, it was another big justification to talk about it in schools. I wasn't alive for Challenger, but this (I was still in elementary school) was another one of those moments I really remember getting me excited about STEM.
10
larrydag 17 minutes ago 0 replies      
If you ever get a chance go to Washington DC Air and Space Museum and find the Friendship 7 which is right at the main entrance. John Glenn literally flew around the Earth in space in a vehicle the size of a refrigerator. It is so staggering. The man is a legend.
11
jason_slack 2 hours ago 11 replies      
RIP.

I have to wonder, these first missions, did the astronauts have any assurance they would make it back to earth? What was it like to say goodbye to family, not knowing if you would return or not.

Am I way off here? Was this mission uncertain or did NASA have reasonable assurances?

12
Fezzik 13 minutes ago 0 replies      
Perhaps not totally on-topic, but he was also hilarious and charasmatic, as evidenced by his guest appearance on Frasier. I knew his name when I saw the episdoe years ago, but his charm got me to read much more about him.

https://m.youtube.com/watch?v=vO4iNhaQms0

13
Animats 1 hour ago 0 replies      
That's the last of the Original Seven from the Mercury program.
14
libria 1 hour ago 0 replies      
Surprised the article didn't mention it, but he was the last living member of the Mercury 7.
15
oxide 42 minutes ago 0 replies      
I lived in the Imperial Valley for a few years, from the way they talk about John Glenn I thought he was born and raised there.

Nope, he's from Ohio. He passed over the valley (El Centro, specifically, IIRC) when he re-entered the atmosphere, it was just a claim to fame to attract tourists to the middle of nowhere.

16
rpledge 2 hours ago 0 replies      
Godspeed, John Glenn....
17
efrafa 2 hours ago 1 reply      
He was great in one episode of Frasier.
18
ffk 38 minutes ago 1 reply      
[Removing, comment was about someone else, sorry]
19
kristofferR 1 hour ago 0 replies      
Those who haven't heard about him should watch "When We Left Earth", a fantastic documentary miniseries about NASA.

He was one of the many NASA astronauts interviewed.

20
mabbo 1 hour ago 0 replies      
To live half the live that man did is to live a hell of a live.

Godspeed.

21
halcyondaze 1 hour ago 0 replies      
RIP to a true boss.
22
imode 1 hour ago 0 replies      
as your body lay here on earth,your soul has touched the stars.

thanks for spending time with us.

rest in peace.

23
AnimalMuppet 1 hour ago 0 replies      
I was born three days after his flight. There was a large upsurge in the names "John" and "Glenn" for newborn males, which I somehow escaped...
24
giodamelio 1 hour ago 1 reply      
I think he deserves a black bar if anyone does.
25
Lucas123 53 minutes ago 0 replies      
John Glenn was a true American hero.

He was a U.S. Marine fighter pilot who flew 59 combat missions over the South Pacific during WWII and 63 combat missions during the Korean War. He was awarded the Distinguished Flying Cross for heroism or extraordinary achievement six times! In Korea, he got the nickname "magnet ass" because he attracted so much enemy flak on his missions.

Oh yeah, and then he went on to become a test pilot, the first American to orbit the Earth, a five-term U.S. senator, and the oldest man to ever enter space.

If you're ever looking for someone for your kids to look up to, this is the man.

26
alaskamiller 2 hours ago 1 reply      
An often passed around marine legend: https://www.youtube.com/watch?v=BF5OBBhdTJ4

--

John Glenn, John Glenn, first American to orbit space. Was a senator from the state of Ohio, oldest man to go back up to space because he was a PT god. Before all of that he was a fucking Marine. An airwinger though. A pilot.

John Glenn, 1974 ran for senate against a politician named Howard Metzenbaum. Howard Metzenbaum was a sorry motherfucker. John Glenn at this point was a Marine, first American to orbit the earth and space. Howard Metzenbaum asks him how can you run for senate when you never held a job?

What the fuck would you do if someone said that shit to you?

Now I'm gonna change a little bit of this, it's my world.

John Glenn said, is that right? I served 27 years in the United States Marine Corps. I fought through two wars. I flew 149 missions. My plane was hit by anti-aircraft fire on twelve different occasions. I was in the space program. It wasn't my job, it was my life that was on the line. And this wasn't a nine to five job where I can take time off to take daily cashier's check to the bank.

I ask you to come with me the other day as I went to a veterans hospital, and you stand there, you look at those men with their mangled bodies, you look at them in the eye and you tell them they never held a job.

You come with me and visit any gold star mother, you look her in the eye and you tell her her son never held a job. You come with me to the space program and visit the widows and orphans and you look at those kids and tell them that their dads never held a job.

You come with me on this memorial day weekend coming up to Arlington National Cemetery where I got more friends than I'd like to remember and you stand there, you watch those waving flags, you think about this nation, and you tell me those people never held a job.

Fuck.

I'll tell you Howard Metzenbaum, you should be on your knees every day of your life thanking god that there are some men who have never held a job. And they required a dedication of purpose, a love of country and dedication to duty that was more important than life itself.

Their self sacrifice is what made this country fucking possible.

Isn't that bad ass?

4
Google Makes So Much Money, It Never Had to Worry About Financial Discipline bloomberg.com
361 points by kjhughes  6 hours ago   259 comments top 29
1
Periodic 5 hours ago 16 replies      
So many companies try to emulate how Google works. There are multiple books, hundreds or thousands of articles. People speculate on the perks, the review structure, the hierarchy, the autonomy.

However, when other companies try to imitate Google they always fail because they're missing a crucial piece:

Billions of dollars in ad revenue

Google doesn't work the way it does to be successful. It works that way because it is successful.

I found this no more evident than when I worked on Google Search itself.

2
georgespencer 4 hours ago 4 replies      
There's an interesting fiscal corollary of having unbridled ambition matched by enormous firepower which brings the world's smartest engineers and hackers together: a Xoogler who was early in the business once told me about how engineers would hack/exploit the travel allowance policy.

Google allowed folks to book their own flight and accommodation, and had an algorithm which determined rewards for folks travelling with financial efficiency.

The measure of 'financial efficiency' was an invisible coefficient tied to average hotel and flight prices in an area. So if the average cost of a trip from Mountain View to Boston for three days was $1,500, and you managed to do it for less, then you got back a cut of the difference either as a cash bonus or in points to spend on upgrades for hotels and flights.

After a while someone realised that a group of engineers were consistently booking shitty travel around the same time, and then travelling first class the rest of the year.

They had worked out what the algorithm was doing, and started scraping hotel prices themselves. They booked (spurious) cheap earlybird flights and hotels during conference season in various cities, sometimes years in advance, and took huge numbers of internal points from doing so.

The person describing the situation to me said there was a lot of discussion as to whether they should be fired or rewarded.

3
espadrine 5 hours ago 7 replies      
Contrast Google's old way of managing bets with Tesla.

When Google started working on self-driving cars, they went about it academically. They did not plan a sequence of stepping stones that they could sell. They meant to have a product in an indeterminate future which should be immediately perfect and better than a human, essentially not needing a wheel.

Tesla went about it with an engineering perspective. First, cars that can send accumulated data over the Internet. Then, equipped with cameras. Then, with limited assistance, warning the user to take the wheel back in difficult situations. And sporadic updates adding support for more complex cases.

The end goal is identical; but they make money along the way.

4
GCA10 4 hours ago 2 replies      
Big companies seem to step in the same puddle, every time they try to set up one of these "breakthrough incubator" projects. They pick fascinating projects. They hire lots of smart people and give them great autonomy. But they inadvertently set up incentives that lead to the repeated creation of LINS (lavishly impractical non-solutions). And then the plug gets pulled.

I think the key problem is that the research team starts optimizing for periodic demo days with the boss. That's a sheltered environment in which clever (and easy to demonstrate) technical features are rewarded, and real-world annoyances involving customers, social norms, regulators, pricing, etc. are put off for "later." Not only are ecosystem problems not addressed, they aren't even vigorously considered.

The technology behind Google Glass was quite clever and some variant of that idea may eventually work. But what arrived on the market was LINS to an extreme. You can find similar failures in Detroit's concept cars, Paul Allen's first go at Vulcan, Xerox Parc's grossly overpriced STAR, etc.

I'm not sure how to fix this. Within the big-company budgeting system, it takes a daring CEO to allow super-innovative projects to break the usual rules about desired five-year ROIs. Once such a CEO takes a stand, it's really hard for him/her to get out of the way.

Suppose these CEOs do miraculously set up a system that approximates the scrappy, minimum-viable experiments of a true startup, with the marketplace being the true boss. That still is problematic. When a big company is pushing MVPs into the marketplace, the public scrutiny and scorn makes it really hard to recover from an awkward start -- and keep iterating in peace.

5
focusgroup0 5 hours ago 2 replies      
Xoogler here.

About a week after joining, and having partaken of the food, massages, meditation rooms, fitness centers, shuttle bus, sports facility, arcade, juice bar, tech stops, shwag etc. - I remember thinking to myself "whatever we do here must be ridiculously lucrative".

There weren't signs of obvious waste (at least in my org.), and coming from other corporate gigs where you had to pay for coffee it really opened my eyes to what a difference it makes for employee morale / productivity.

6
Animats 2 hours ago 5 replies      
No one wants to face the reality that this is an advertising company with a bunch of hobbies.

Remember Nokia. They produced mobile phones with excellent quality, extreme ruggedness, good battery life, and good voice quality. Their manufacturing was highly automated and their costs were low. They focused on their core business. Recently, their CEO said "We did everything right, and we lost anyway".

On the other hand, Google has repeatedly failed to develop a second big money-making product. They failed at social. They failed at fiber-to-the-home. Android is a loss leader to drive ad traffic. Automatic driving may pay off, but that is being a component supplier to an car company, not a high-profit business. Google's second venture into smartphones might be a success, but that remains to be seen.

7
throwaway40483 4 hours ago 2 replies      
This is the killer quote:

No one wants to face the reality that this is an advertising company with a bunch of hobbies.

It's so brutal but (IMHO) sums up Alphabet in one sentence.

8
Afforess 5 hours ago 6 replies      
Google has a fundamental problem with solving challenging issues, especially those in the realm of physical "meat-space". Really hard problems, problems that might reveal that Google is not omnipotent, where Google might not succeed, Google pulls back from. In areas where Google is, Google dominates the landscape. In all others, Google does not deign to participate. If Google can't dominate a market, it is not interested.

> Former employees say Page became frustrated with Fibers lack of progress. Larry just thought it wasnt game-changing enough, says a former Page adviser. Theres no flying-saucer shit in laying fiber.

The issue with the physical world is that fundamentally, compared to a lot of software or hardware technology, it _is_ fairly boring. Boring work is also some of the most important work; the synchronization of traffic lights, the scheduling of flight paths, the minutiae of power line access, these are all boring, important things. A common reaction to boring problems by technologists is to throw computers at them. Build an algorithm to synchronize traffic lights. Build an AI to schedule flight paths more efficiently. I understand these reactions, the impulse to replace existing, less-optimal processes with stronger, more efficient, automated ones. Google does a really great job at automating things, its their core competency. However, automation can't solve all problems. You can't automate away political processes. You can't automate away property rights and fair access to power lines, and contracting construction work. Page clearly feels uncomfortable with this, and so he abandoned Fiber.

Honestly I am not sure Page was wrong to abandon Fiber. Google's core competency is automation and if they can't automate a problem, maybe they shouldn't be involved in the space. Or maybe Google should get a new core competency and learn new things. Teaching an old company new tricks is hard though. Very hard. So hard that most companies fail before they can ever adapt. Without being able to solve problems in the physical space, Google is fundamentally "locked-in" to only being able to solve digital problems in the digital world. This is why Google has no physical stores, no physical products (which are not manufactured by someone else - Chromebooks, Pixel, etc do not count. Prototyping is easy. Selling to customers in a retail store is hard). Microsoft had the same problem as Google once. It was hard for Microsoft to learn how to run stores, build its own products; it took Microsoft over a decade. Let's hope Google can learn too.

9
nunez 5 hours ago 0 replies      
Yup. There was SOOOOOOOOO much bullshit work being done there that could ONLY be done because Google can afford so much top-notch talent to work on research, even if it reinvents the wheel. It was a big part of the reason why I left.

That being said, at least they didn't invest their dollars on loads of red tape, though to be fair it isn't like all of Google is incredibly regulated unlike many other multi-billion dollar companies

10
zigzigzag 5 hours ago 2 replies      
The robotics effort sounds like an absolute disaster. How shareholders haven't been demanding answers there is beyond me. Acquiring 11 companies to, apparently, satisfy Rubin's obsession with robots (it's named Android for a reason) and then trying to shut them all down or flog them off ... but nobody wants them? Yikes. How did they get so starry-eyed about Rubin that keeping him (also failed) was apparently worth such a huge effort? Yes, he ran a successful operating systems project and fully demands enormous praise for Android's wild success. But where are the limits to retention efforts?
11
__derek__ 5 hours ago 0 replies      
I was surprised to see no mention of Bell Labs or Xerox PARC in the article.
12
wrice314 1 hour ago 0 replies      
Plenty of companies make so much money. Google didn't have to worry about financial discipline, not because it had so much money, but because it has an unassailable competitive position that is not aligned with its cost structure. Put simply, if you had the mandate to bankrupt a company through competition and had an infinite amount of money, I believe it would cost more to bankrupt Google than any other business.
13
nojvek 51 minutes ago 0 replies      
> The flying saucers will have to pay for themselves. If you work for me, you better understand that, he says.

While I'm all for commercialization. I think a lot of game changing technology takes a while to develop before they can be commercialized.

But google having too much money can be a curse as well. Best innovation comes when you think like a cockroach to survive.

14
ftio 3 hours ago 0 replies      
As the saying goes, Revenue Solves Everything.
15
digi_owl 5 hours ago 1 reply      
Best i recall, the Glass problem was more Brin over-hyping than the tech itself.

And i do not recall reading about the car getting into trouble while under computer control. Either someone ran into it or it ran into something while human operated.

16
mwexler 1 hour ago 0 replies      
Funny, Microsoft used to talk this way in the 90s when IE and Windows ruled the roost. While they are still strong, they do now appear to worry more about financial discipline. Worrisome predictor for today's darlings?
17
brilliantcode 4 hours ago 1 reply      
I feel like Google is still stuck in 2005. Not much has changed from top of my head.

All of their products are still based on their end-user being the product since everything is free and people expect it to be that way.

I don't see anything changing because they are literally printing money from their monopoly on online advertising. They have no serious competition and no, Facebook is not really great for targeted advertising unless you are a big brand.

Without any real external pressure as a result of their own success, it's beginning to look a lot like Microsoft of 2005.

Even from a developer's point of view, Amazon has usurped the cloud space with Azure now playing catchup and winning.

Much as Satella realized that Microsoft needs to stop being like Google and more B2B like Oracle, Google needs to find it's new place.

Vast majority of the public is unlikely to give a shit about their privacy in return for free productivity and entertainment but demographics change.

18
LiweiZ 3 hours ago 0 replies      
I think Google has been trying to somewhat imitate how life under nature selection works. Bring basic-but-extensiable-happy-route-scoped projects to life to test markets and wait and see which one would have the DNA for the next boom. From this perspective, I think they actually allocate their resources very carefully and intelligently. But the next emerging DNA perhaps needs more than just luck. Maybe more persistent and focused effort. I guess W. Brian Arthur's work has not small influence on its strategy. In fact, if I recall correctly, he is/was some kind of advisor to Google. Just my personal speculation.
19
spitfire 4 hours ago 0 replies      
Success is a very cruel mistress.

Without some sort of feed back cycle - usually given by the market, things grow in strange and perverse ways fast.

The trick is to develop a feedback cycle that isn't as harsh as the open market (manage by quarters!) without giving absolute free hand.

20
nemo44x 2 hours ago 0 replies      
Google is an oil state. They setup shop and pretty much hit a cash gusher.
21
nobrains 2 hours ago 0 replies      
Innovation usually happens when there is scarcity of resources.
22
return0 2 hours ago 0 replies      
And it's not only ad revenue, it's also tax-avoided profits.
23
VeejayRampay 4 hours ago 4 replies      
That Porat person is a serious contender for buzzkill of the year. Google makes tons of money with ads and spends it on geeky experiments to try to push a futuristic envelope (and create an environments where they can sell more ads, like a self-driving car) we'll all benefit from eventually and she gets to be the person that locks the toys away because "financial discipline".
24
skizm 4 hours ago 1 reply      
I always wondered if Google just fired all their engineers except a few top guys, and focused on their core money making products like search / ads / etc. and tried to stay as lean as possible (lean being a relative term), how much profit they could make.
25
cooper12 5 hours ago 4 replies      
I'm no businessman, but does anyone else feel this will kill a lot of potential innovation? Not every project pays dividends immediately, and some are worth pursuing even at a long-term loss. (imagine if we all had fiber today and bandwidth was ridiculously abundant. Just how different would the internet be, just as when electricity became abundant?) Also I understand that Google is a business, but the need for a business model for research might stymy forays into interesting tangents. (I can't currently list any, but history is full of examples of things that were invented while looking for a solution to a different problem) Sure a company shouldn't be hemorrhaging money or throwing it at anything that moves, but it also shouldn't be completely beholden to (my generalization of) investors who can be quite short-term-thinking and risk-averse.
26
serge2k 1 hour ago 0 replies      
> No one wants to face the reality that this is an advertising company with a bunch of hobbies.

great line.

> Many former X employees blame overexuberance on the part of Googles marketing division for the hostile reception that greeted Google Glass

it was $3000, hard to get, and what were people really going to do with it?

Sure. Marketing.

> He notes that although Glass was marketed to the public as the Explorer Edition, many people assumed it was a finished product.

Fair point, but how many years are people supposed to eagerly wait?

> The effort, known internally as Tableau and championed by Brin, had been a plan to create gigantic TV screens.

what? lol.

27
draw_down 4 hours ago 2 replies      
It's funny to me that investors and biz press are surprised that Brin & Page meant what they said in the 2004 letter.
28
serge2k 3 hours ago 0 replies      
> Bill Maris, the CEO of its venture capital arm, GV

isn't google ventures doing pretty well though?

29
puzzle 5 hours ago 0 replies      
Except in 2008, during a developing worldwide financial crisis, when the new CFO Patrick Pichette started figuring how much was actually getting spent on things such as cafeterias and childcare subsidies (for the onsite service).

So, yeah, never.

5
Urandom.pcap: Belarus (finally) bans Tor torproject.org
31 points by BuuQu9hu  59 minutes ago   3 comments top 2
1
gtirloni 13 minutes ago 0 replies      
Why "finally"?

From a quick search it seems a shot at Belarus' desire to ban Tor back in 2015 but only now achieving it.

2
rudePolice 27 minutes ago 1 reply      
Could they use remote relays still?
6
The Silent Anniversary: Fifteen Years Since Our Last Major Crash askthepilot.com
132 points by maxcan  3 hours ago   69 comments top 8
1
NickHoff 2 hours ago 8 replies      
The effect of culture should not be underestimated here.

There really is a cooperative spirit among pilots, air traffic controllers, weather briefers, mechanics, the FAA, etc. Controllers are willing to help pilots with special requests if able, pilots file weather reports for other pilots if what they encounter aloft is different from what they expected, mechanics take pride in their work and are highly regarded by pilots. I generally take a dim view of regulators, who generally seem to have less expertise than the people they're regulating. That's mostly not the case here. I'm libertarian and a pilot - and I like the FAA. Nobody is out to nail you for a minor technical infraction, but they will yell at you for something that's unsafe but technically legal. This encourages people to report near misses, even if casts them in a bad light. The regulations themselves are generally reasonable, and frankly feel like they were written by pilots, controllers, and airport operators.

The point is this - regulations matter and budgets matter, but if the culture is toxic, people will find a way around it anyway. When I see a problem elsewhere in society - investment banking in the 2000s for example - people propose heavy regulatory solutions. That may work, but wouldn't be so much of a battle if the culture were better.

I haven't thought deeply about what "better" means in this context, nor about how to intentionally change a culture. I'd rather just fly.

2
maxcan 3 hours ago 1 reply      
What wasn't mentioned directly was that since 2009, US passenger airlines have had a perfect record of zero fatalities, which is mind blowing.
3
GFischer 1 hour ago 1 reply      
Plane crashes have been going down not only in the U.S., but worldwide, which is commendable.

A bit unfortunate for this to be posted a few days after the Chapecoense crash shook the world (noted in the postscript), but that was a regional charter flight, not a major U.S. airline.

Interesting infographic:

http://www.ibtimes.com/how-many-planes-crash-every-year-how-...

Edit: the Chapecoense crash shows exactly why the FAA's work is so commendable - disregard of proper procedure and safety measures led to that accident.

4
blakesterz 3 hours ago 2 replies      
"2009: A Colgan Air (Continental Connection) Dash-8 Q400 crashed outside Buffalo. Fifty people were killed, including the occupant of a house struck by the plane."

"2006: Forty-nine people perished when a Comair (Delta Connection) regional jet crashed after attempting takeoff from a too-short runway."

I'm not sure, maybe "major" has an official cut off number, but 49 or 50 doesn't seem "minor". It's a long way from 260, but it's far from 0.

5
slg 2 hours ago 1 reply      
I am surprised there wasn't more than a token mention of terrorism. People like to bemoan airline security and I think there is a valid argument regarding the effectiveness of the TSA, but this is also the safest stretch the US airline industry has had against terrorists and hijackers since the early days of the industry in the 40s and 50s.
6
nkrisc 3 hours ago 9 replies      
I know perfectly well that a fear of flying is often an irrational, though very real, fear for many people. But it's exactly the irrational nature of it that boggles my mind: they should be terrified of driving, but they aren't.

I'm way more comfortable flying than driving.

7
js2 2 hours ago 0 replies      
In no way directly related to this post, but I'm always looking for an excuse to link to my two favorite airline stories.

1) The Turn - http://www.theatlantic.com/past/unbound/langew/turn.htm

2) The Crash of United Flight 232 talk by Capt. Al Haynes - http://clear-prop.org/aviation/haynes.html

8
chinathrow 2 hours ago 0 replies      
RIP to the freight dogs though:

"2013: A UPS flight crashed on approach to Birmingham, Alabama, killing the two pilots."

7
Microsoft is bringing Windows 10, with desktop app support, to ARM chipsets theverge.com
190 points by Tomte  4 hours ago   109 comments top 27
1
setq 3 hours ago 1 reply      
Microsoft are telling us this. When they deliver it I'll believe it.

As a Microsoft focused developer for 22 years and a windows phone user, everything still feels like its held together by sticky tape and string at the moment. It works but inconsistency and sometimes show stopping failures just ruin it. As an example, Windows 10 Mail just stopped working for me for 11 hours throwing an update settings notification loop on two devices. No fast ring here; only the stable releases. Edge is all marketing and is slow and clunky as fuck still.

This is daily friction which kills the platform. They need to focus on quality before promising features.

2
mhomde 4 hours ago 7 replies      
I'm more than a little confused about MS "mobile" strategy. Continuum sounds like a good idea, in theory. For enterprise I can kinda see it be attractive to just give your employees mobile phones and hook the office up with continuum docks. But it seems problematic in more than one aspect. For starters it's based on the fact that people are going to want to use a windows mobile as their primary device to start with.

MS could have been there, in fact they almost were there, but they've let the mobile side drift aimlessly to the point were neither vendors nor third-party developers have any faith left in their mobile efforts. I could never wrap my head around how strategically MS could just let mobile go and not take the fight. It seems so integral to so many other efforts.

Another problem, is continuum really a good idea for anything else than nich scenarios? I have trouble coming up with use-cases. A laptop you can bring with you to meetings, on planes etc. With continuum you need a lap dock for that.. but then you have a sub-par laptop and a phone.

I guess if I were travelling it could be nice to just bring a mobile and connect it to a setup at a co-working space. But is carrying a dell xps 13 around really such a big deal? and what if I want to use a computer outside of the co-working space/office?

Then we have x86 apps on the mobile platform. There's been a lot of people wanting to see "Desktop" apps on mobile... I can understand that from a "continuum as a computer" perspective, if you buy into the continuum premise, but I can't see x86 software ever work well on a mobile form factor with the battery limits and UI challenges that comes with that.

So what is Microsoft's plan, now it seems they're just throwing stuff on the walls and to see what sticks. I'm a bigger UWP and .Net proponent than most, but I wish Microsoft would get their shit together and start executing across the board.

There's a bunch of stuff in UWP that could make the windows platform larger than the sum of its parts if you are in the ecosystem. Roaming settings/files, Notification mirroring and synchronization, universal apps, continuum, continue on another device etc etc. But it requires that there actually is an viable windows mobile that people wants to buy.

3
no1youknowz 4 hours ago 1 reply      
As soon as I saw Ubuntu Edge back in 2013, I have been dreaming of the day something like Continuum is a reality and not just for Windows. For Linux and MacOS as well.

Hopefully, it's not to far off now.

4
ak217 8 minutes ago 0 replies      
Ironic that instead of working on establishing a proper mobile software platform, Microsoft is spending enormous resources on escaping the Intel ecosystem just as Intel is getting a handle on pushing its x86 line into smartphone power consumption territory.
5
FlyingSnake 3 hours ago 3 replies      
> Microsofts dominance in PCs means its the only company likely to pull it off at scale.

Try they might, but it's not going to work of you don't have another piece of the puzzle i.e. Mobile.

Microsoft is so much out of the mobile game, no matter what it's gonna do on PC, it'll not work. The windows phone is dead as a dodo, and they've nothing to show on mobile.

It'll take extraordinary efforts to get their continuum working on Apple/Google walled gardens.

This will fizzle out soon, not because of the technical merits, but due to App Store politics.

6
raminonstuff 42 minutes ago 1 reply      
Wow I just did a quick search here and found zero references to the word "Internet"! Nobody mentions the IoT.

Internet of Things is and will be running on ARM CPUs, ARM GPUs, ARM Display, ARM Video, etc. Not having your major OS on ARM means you are behind Android, behind iOS, behind Linux, behind IoT and basically behind the world...

Have you seen Windows 10 IoT Core?https://developer.microsoft.com/en-us/windows/iot

Some companies have already been making ARM microprocessors for Windows 10 IoT core for a while now.

This one for example runs it:https://www.pine64.org/?page_id=3707

7
alkonaut 4 hours ago 0 replies      
Complete change from just a few years ago when they seemed hellbent on turning my computer into a smartphone!
8
runeks 3 hours ago 1 reply      
Does it really make sense to reuse hardware, optimized for low power usage, when ample power is available? Why not use a real PC in the office, when all the data is in the cloud anyway? I think this is a neat trick, but I don't see the purpose.
9
carsongross 4 hours ago 0 replies      
Pour a little out for the Friendster of this concept:

https://en.wikipedia.org/wiki/OQO

10
nickhalfasleep 1 hour ago 1 reply      
I can't wait:

C:\Program Files\

C:\Program Files (x86)\

C:\Program Files (ARM)\

11
TazeTSchnitzel 3 hours ago 2 replies      
So, Microsoft finally solved the Windows on ARM puzzle.

Did it take them more than five years to write an x86 emulator, or did they only decide to try this after Windows RT had failed?

12
joeax 3 hours ago 1 reply      
I know I'm in the minority but I tried out Windows Phone for a couple years and loved the interface and the experience. But the app store/vendor lock-in is its achilles heel and ultimately its undoing. When I bought my phone I was betting that more app developers would go HTML5 web apps (and break up the, but the opposite happened, and I felt like I was on the outside looking in with my iOS/Android friends.

I do feel a phone/PC convergence is inevitable, x86 emulation on ARM is the future, and web-based mobile apps will make a comeback, but that day seems far off.

13
bitmapbrother 51 minutes ago 0 replies      
Did they mention battery life? I can only wonder how much battery life will take a hit with emulation especially when you're trying to make the emulated app as performant as possible.
14
jarjoura 3 hours ago 1 reply      
Hmm, x86 emulation on ARM is the most interesting nugget. No one here thinks Windows Phone will be back in any serious capacity and that brand is pretty much finished.

Looks like this will run similar to how Apple got PowerPC apps running on early Intel Macs. Emulated just enough to cross the bridge to the Intel bits so that performance wasn't completely unusable. You could really run Adobe Photoshop, which would have been unthinkable if it was full emulation.

Question for this effort, is this Microsoft revisiting Surface Books that are running on ARM chips?

15
xutopia 4 hours ago 1 reply      
Although for my use cases a phone will most likely never be fast enough I can see this working for a large majority of end users.

As someone in my office just said: "This is like saying 'of course shoes need laces'".

16
chx 1 hour ago 0 replies      
I have been expecting a single central computing unit which serves as a phone, docked to a living room computer serves as a media player and gaming console for about two decades now (I believe my first article in Hungary's biggest computer monthly outlining this vision was published in 1998). Eventually it will happen. It's too logical not to.
17
protomyth 1 hour ago 1 reply      
I really gotta wonder if this was a long term plan or in response to Intel leaving MS in the lurch with the changes to x86 strategy on mobile or a bit of both.
18
deelowe 4 hours ago 0 replies      
I wish them the best of luck. This could be big if it works well.
19
chiefalchemist 1 hour ago 0 replies      
Make this platform "extendable" - a la Motorola and Moto Z Droid - and MS might be on to something. It's silly how much redundant hardware each of us own.

It's then just a matter of apps. If that's dev once for all Win 10, then the future looks bright.

20
brilliantcode 3 hours ago 2 replies      
I wonder what their end user is here. Android is clearly the winner which Windows Phone has lost to.

Perhaps they are aiming for productivity based use that requires windows toolsets? Sort of like a Bring Your Own Work Device to work that will inherently tie the worker beyond the office?

21
faragon 3 hours ago 1 reply      
Good news. I never imagined to buy a "Windows Phone", but if they do that, and provide a good "restore" system (i.e. easy recover of a non-booting phone via USB), I would be glad of using one, so I can avoid traveling with a laptop (e.g. using the phone on hotel TVs with Bluetooth keyboard would be very convenient).

I hope Android provide an equivalent thing. For me a simple dual boot of e.g. an Ubuntu read-only image stored in the SD card or similar would be enough for my needs, if MHL/HDMI-Out, USB OTG, and Bluetooth work properly.

22
ChicagoDave 1 hour ago 0 replies      
If the email and calendar apps of Win 10 Mobile aren't are seamless and simple as the iOS apps, it's a non-starter. The current apps look like they're from 1999 and are horrible when you have multiple accounts.

There are probably about 1000 apps that MS would need to make sure are in their own app store for any new Surface Phone to survive, plus continuum, plus "something else".

I personally think they need to dump the tiles and mimic the UX of iOS/Android and just admit that's what people like and are comfortable with.

23
veeragoni 2 hours ago 1 reply      
Does this mean I can install Windows 10 on my 820 chip android phone as a custom ROM. someone from XDA should take a look into it and build a windows 10 ROM for my Axon 7 which have 820 chip
24
ralmidani 4 hours ago 2 replies      
I believe I have a right to computing freedom, and actively try to use free software on my personal computer and on servers I develop on and deploy to. I have EOMA68 laptop and desktop housings[0] coming, hopefully in the spring. I am also about to build a server with a motherboard that is supported by Libreboot[1] and processors that work fine without microcode updates.

I use Android phones and tablets, but as long as they have non-free components, I will never accept the "convergence" paradigm. If I can't have freedom all of the time, at least I won't surrender it all of the time.

[0] https://www.crowdsupply.com/eoma68/micro-desktop

[1]https://libreboot.org

25
soyiuz 1 hour ago 0 replies      
I would love for a linux distro to target exactly this use case.
26
sdegutis 4 hours ago 2 replies      
Wow. It just clicked:

We could have a future where your personal computer fits easily in your pocket, you can carry it everywhere you go, and you just plug it into whatever monitor & keyboard & mouse you happen to be near by, whether it's in a coffee shop, at work, at home, on an aeroplane, anywhere!

It's almost kind of the return of the mainframe & terminal. Your OS & apps would be installed on your device, and your data would primarily be on your device but also backed up in the cloud.

This is one of the first computer-based innovations I'm actually excited about in like 15 years. Count me hopeful.

27
joe_momma 4 hours ago 2 replies      
This is the future but even better if it were without wires...
8
Show HN: Legal Concepts for Founders Online Handbook clerky.com
121 points by swampthing  3 hours ago   18 comments top 6
1
grellas 1 hour ago 0 replies      
A few thoughts on the Handbook:

1. Law can be a morass and who then can you rely on when trying to understand it via online resources? Well, for startup legal issues, the answer now is the Clerky Handbook: thoroughly and carefully vetted by those who have lived and breathed this stuff for decades while working in the trenches with founders of all stripes. If you want reliability, you cant ask for better.

2. The Handbook has scope limitations and that is understandable: to be useful for founders, the core part of the Handbook must by definition be strictly bounded or it loses effectiveness by injecting more nuance and complexity than is needed to convey the fundamentals. If the need is there (and I assume it will be), nuance and complexity can be added with adjunct materials.

3. To date, the Clerky founders have done a superb job of taking legal complexity and turning it into simple and streamlined processes - how to do a Delaware C-corp, how to do convertible notes, etc. This Handbook extends this to the idea of simplifying legal understanding, which is no small feat. In the end, it may look simple and easy but this is incredibly hard to do and all the more reason the accomplishment is to be commended.

4. The hand of YC seems to hover in and around most startup innovations of the past decade and this Handbook is no exception. So many barriers to founder success have come down in recent years and founders have YC to thank for much of this change. Add this Handbook to advances in which it has had a role.

5. The startup world is an amazing place. One advance after another, nonstop over many years. Now add this online resource to the list as a great reference platform to which many quality people have contributed. As it grows and develops, it will do great service for the common betterment now and for many years to come. Great work and kudos to those who drove this effort!

2
swampthing 3 hours ago 1 reply      
Hi everyone! I'm one of the cofounders of Clerky :)

We've gotten a ton of questions from founders over the years - this handbook is what we always wished existed, so that we could point people to it. There are already a lot of great blog posts by attorneys out there, but we thought it was also important to have something that (1) helps founders build a solid foundation of knowledge rather than piecemeal, (2) covers the terminology and practices used across startup law firms (thanks to our incredible editorial board), as opposed to one attorney or one firm, and (3) is kept up-to-date as laws or market practices change.

We're very excited to be finally sharing this with the community - please let us know what you think!

A few notes:

* This is very much aimed at startups of the type that might apply for YC one day, seek angel or VC money, etc. Obviously there are many other kinds of businesses, but it's really hard to write something that is broadly applicable, unfortunately. My apologies in advance to founders of other types of businesses.

* The content that we have has been thoroughly vetted, by more top-tier startup attorneys than you can shake a stick at. That said, the scope of the handbook in terms of topics covered should be considered a first cut, as should the presentation. We have many articles on the todo list, and also have some ideas for how to better present some of the more complex concepts.

Finally, feel free to use this thread as an opportunity to ask any general questions you might have about legal issues for startups - my cofounder Chris and I (we're both startup attorneys) will do our best to answer. Some of our editorial board might pop in from time to time too!

3
mrkurt 3 hours ago 1 reply      
This is awesome. For anyone who's starting a company, Clerky is by far the best way to do all the legal legwork. I've used a number of companies to try to save time (including Stripe Atlas, which is kind of a disaster) and wish I'd just done everything through Clerky.
4
salimmadjd 1 hour ago 0 replies      
As others have mentioned, Clerky is great.

We incorporated our company via Clerky and did our bit of angle investment stuff through them, as well as some of our other contractors IP paperwork.

I recommend it to anyone who asked me about doing a startup.

5
matthewmcg 3 hours ago 1 reply      
This is great--I like the style and the level of detail. My inner pedant also appreciates "Sometimes mistakenly referred to as a CIIAA Agreement."

One minor suggestion: you have foreign qualification on the "Process" page but you might create a separate topic area reviewing when and why this is required. It's something that an early stage company can easily overlook. Ditto for local business licensing.

6
sinak 2 hours ago 2 replies      
This is really great. One feature request: it'd be great to be able to view the whole handbook as a one page document (e.g. I want to save it to Instapaper to read later) or as a complete PDF.
9
The Finders GUI tax can be very expensive robservatory.com
53 points by hyperpape  1 hour ago   24 comments top 10
1
patio11 36 minutes ago 3 replies      
I wonder whether this is not an example of a UI interaction which is slow on purpose, to emphasize how much work the OS is doing for you.

TaxAct and TurboTax, for example, both operate on (in the typical case) kilobyte scale data requiring trivial math. They also make both saving the data and calculating taxes take 5+ wall-clock seconds when they actually require milliseconds and nanoseconds respectively. This is largely because (non-technical) users don't trust your computer did the math right if the answer comes back instantly. (I also suspect there is an element of "Wait if it is so easy to calculate my taxes why am I paying you to do that.")

2
cesarb 1 hour ago 1 reply      
> a window with a single progress bar for the entire task would be OK, but would still slow operations down.

There's a simple way to do a visual progress bar with almost zero slowdown: run the task in a separate thread from the progress bar, and update the progress through lock-free shared variables. Make the progress bar read the shared variables only a couple of times per second, sleeping between its updates.

3
TheAceOfHearts 1 hour ago 1 reply      
If someone is looking for an alternative with a GUI, I use The Unarchiver [0] and I'm generally happy with it. I don't usually have to expand lots of small files like the OP, so I don't know how it compares with that task.

[0] http://unarchiver.c3.cx/unarchiver

4
Normal_gaussian 1 hour ago 0 replies      
If we are assuming the underlying expansion is as efficient then the cost comes either in the boilerplate or mistakes made when parallelising. In the case of the boilerplate the solution would be embedding some more of the linked code and reducing IPC/other unnecessary bottlenecks. However I suspect the error is in the parallelisation, which is not surprising, especially as the authors likely optimised and tested for large, not small, files.

As it is, removing the GUI is perhaps the worst thing you could do to the user. Closely followed by inducing epilepsy with that ridiculous expanding dialog.

5
hughw 1 hour ago 2 replies      
"Finder (nee Archive Utility) should just execute the task without any visual feedback" -- no.
6
advisedwang 1 hour ago 0 replies      
How did they not title this "Finders Fee"
7
jcoffland 39 minutes ago 1 reply      
Windows explorer unzip is even worse. Recently in a VM I tried unzipping boost 1.62.0 using explorer in Windows 10. It said it would take over 3 hours. The same file was decompressed on the command line in about a minute using 7zip on the same VM.
8
__jal 1 hour ago 1 reply      
They should make the UI idiom feeding your file a mushroom and then double the icon size on completion.
9
DominoTree 1 hour ago 0 replies      
The window animations in Mac OS itself can make things feel very sluggish as well, although the velocity-based ones seem better with Sierra.
10
module0000 59 minutes ago 0 replies      
Just want to add, `unzip` from your terminal window can be used as well. If opening those gz's every month is a pain, you could handle it with something like: `unzip -r my_stuff_{1..99}.zip`
10
Native Table Partitioning in PostgreSQL 10 postgresql.org
31 points by craigkerstiens  51 minutes ago   6 comments top 3
1
jimktrains2 29 minutes ago 1 reply      
Did you mean to link to https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit...

This is a commit about synchronous replication not table partitioning.

2
comboy 32 minutes ago 0 replies      
duplicate: https://news.ycombinator.com/item?id=13128732

also I think the link and title of this post don't match

3
jadbox 31 minutes ago 1 reply      
Anyone willing explain this to someone without context?
11
Sears reports $748M net loss [pdf] searsholdings.com
20 points by grizzles  51 minutes ago   1 comment top
1
jbandela1 5 minutes ago 0 replies      
When I see articles about how sears is now, I always think of this

http://www.metafilter.com/62394/The-Record-Industrys-Decline...

Sears could have been what Amazon is today.

12
U.S. Supreme Court Curbs Excessive Design Patent Damages eff.org
214 points by merrier  7 hours ago   136 comments top 6
1
grellas 4 hours ago 2 replies      
Once again the Supreme Court has stepped in to curb the Federal Circuit Court and bring a level-headed interpretation to the relevant statute defining how damages are computed for infringing patent rights to a component that is part of a larger article of sale.

The precise legal issue involved here is primarily of interest to the immediate parties to the dispute (and, of course, similarly situated parties dealing with like claims). It is not a legal issue that stirs much public debate.

Yet the reining in of the Federal Circuit has major public consequences. The Federal Circuit basically has been on on a bender for the past 20+ years in interpreting the patent laws such that basically everything under the sun became patentable with the enforcement rights of patent holders utterly maximized. This led to the plethora of software and other process patents that has caused so many to throw up their hands in despair and to conclude that all patents are evil and should be abolished. Whether they should or not is a policy question for which there are decent arguments on both sides, in my view. But, assuming one agrees that patent protection can be useful for the right cases, the law is now coming around much more to the point where far more defensible patents are being granted, upheld and enforced and where such enforcement is more reasonably tailored to the purposes of patent law as envisioned in the U.S. Constitution. And that is a very good thing.

Apple is and has for years been very aggressive in attacking competitors with patent claims. In this case, their patent was upheld and the question remained as to how much they had been injured. With this decision, the U.S. Supreme Court helps ensure that Apple will get compensation but not a windfall for the wrong done to it.

Patent law may be right or it may be wrong in a social-justice sense but, as far as the U.S. law is concerned, if it is to be upheld and enforced at all, it should be done in a way that actually furthers its proper purposes and not in a way that promotes shakedown suits and opportunistic legal claims. So kudos to the Supreme Court for getting it right and for putting proper bounds on patent laws in general in a way that helps bring sanity to the field.

2
dang 6 hours ago 16 replies      
(All: sorry for the offtopic digression, but this thread was bound to be about this whether I posted the below or not. There are fine comments about the Supreme Court ruling elsewhere on this page, and you can always click [-] to collapse a subthread you don't want to read.)

HN has been running a no-politics-for-a-week 'experiment' [1]. Although it hasn't been a week, I think we've learned as much from it as we're going to, so it can be over now.

Among what we learned is that it's impossible to define 'politics' with any consensus because that question is itself highly political, and that HN is at its best when it can meander through all the (intellectually) interesting things, some of which inevitably have political dimensions. The current story is a good example: it's not apolitical, but it isn't purely political either, and it's clearly on topic for HN.

In other words, the existing guidelines have it about right (https://news.ycombinator.com/newsguidelines.html) and we should carry on as normal.

1. https://news.ycombinator.com/item?id=13108404. I say 'experiment' because people understand that word differently. We mean 'trying something for a little while, just to see what will happen'.

3
cestith 6 hours ago 6 replies      
People slide their phones into and out of bags and pockets. A sharp corner is really bad for that. A rounded corner only makes sense. Cars, tables, cutting boards, children's books, and all manner of other items have had rounded corners for decades to centuries for the very reason that you don't want sharp corners and edges on things you're handling a lot.

There's nothing novel here and in fact it should have been filed as a functional patent then swiftly declined as obvious and ordinary.

4
josaka 6 hours ago 1 reply      
Audio from oral arguments provides a nice summary of some of the concerns that drove this decision: https://www.oyez.org/cases/2016/15-777
5
Animats 4 hours ago 6 replies      
Apple's argument is simple. Before the iPhone, nothing looked like the iPhone. After the iPhone, everything looked like the iPhone. Perhaps the most revolutionary design change since HMS Dreadnought.
6
eternalban 4 hours ago 0 replies      
This ruling [ianal] renders null and void any design patent on components. The infringing party merely has to refrain from selling that component. To be assured of patent protection, the design pretty much has to resist extension or incorporation.

Now where does this leave UI design and UI components?

13
AWS announces new region in Canada amazon.com
123 points by forrestbrazeal  4 hours ago   40 comments top 10
1
exhilaration 3 hours ago 1 reply      
For the curious, the data center is in Montreal according to the press release: http://www.businesswire.com/news/home/20161208006034/en/Amaz...
2
ironlady 3 hours ago 3 replies      
So many companies that legally required a server physically located in Canada are going to be running to AWS now, practically everyone touching health care, government, personal data, or even getting some level of government funding likely was obligated to keep things within Canadian borders.
3
dubcanada 11 minutes ago 0 replies      
The prices seem to have a 14% roughly increase compared to US East.

I also assume that this also means Canadian tax is going to start being added onto all the prices?

4
neom 2 hours ago 1 reply      
DigitalOcean also has a DC in Canada, this is really useful for companies in Canada or doing business in Canada that have requirements around keeping Canadian customer data in Canada. Additionally the Canadian startup ecosystem seems to be doing pretty well relatively to other regions.
5
josephscott 1 hour ago 1 reply      
And the blog post about this from Jeff Barr - https://aws.amazon.com/blogs/aws/now-open-aws-canada-central...
6
ris 1 hour ago 1 reply      
Got to wonder if there's been an uptick in enquiries about moving some operations across the border in the last month.
7
simlevesque 2 hours ago 1 reply      
I'm in Montreal. If I understand, most of the speed boost I might feel will be EC2 instances and CloudFront stuff. Will it have any effect on S3's latency ?
8
numbsafari 55 minutes ago 0 replies      
I hear it runs on maple syrup.
9
gaurav-gupta 3 hours ago 1 reply      
sure don't have to worry about keeping the servers cool eh? :)
10
coding123 2 hours ago 0 replies      
Good move for AWS and Canada :)
14
Start building Actions on Google googleblog.com
137 points by bajames  5 hours ago   46 comments top 13
1
pkates 4 hours ago 7 replies      
API.AI is really great but I really don't like this UX.

From using and developing for the Amazon Echo for the last year or so this "Conversational" setup just sounds super unnatural.

You want bus times:Amazon: "Alexa, ask [nextbus] [for the next bus]"Google: "Hey Google, let me talk to [nextbus] <wait> when is the next bus?"Perfect: "[keyword], when is the next bus?" (context set in advance for the specific bus you care about)

You want to control the lights:Amazon: "Alexa, turn off the [kitchen lights]"Google: "Hey Google, let me talk to [the house] <wait> [turn off] the [kitchen lights]"Perfect: "[keyword], turn off the lights" (contextually turn off the lights immediately nearest the source of the voice. optionally "turn off the [named] light"

You want to activate a scene:Amazon: "Alexa, [turn on|activate|start] [scene name]"Google: "Hey Google, let me talk to [the house] <wait> activate [scene name]Perfect: "[keyword], [time for a movie|it's bedtime|good morning]"

I haven't seen or heard of a single "Conversational" app for the Echo that has real usage. I just don't think that's the killer app (at least until they get smarter). The current killer apps are being able to:- Set timers/alarms- Ask quick questions (measurements, weather, time)- Control home automation

I just don't think the experience of talking back and forth to a bot is that enjoyable (again, yet, maybe in a Her future).

2
jasonallen 4 hours ago 2 replies      
Amazon lost the phone and tablet wars, so they shifted their focus to the voice assistant market, and are now ahead of competitors with their Alexa skills SDK.It's great to see Google now step up too. I expect Microsoft and Apple follow suit.

It's pretty easy to imagine how one could port simple 'voice command' apps between platforms ('hey, order a pizza/uber/etc...). Over time, however, these platforms should emerge into substantial AI. To be useful they will need to remember and understand more subtle contexts. "Hey, what's the score of the game" will have to remember that I like the Seahawks and Sounders, but only the Sounders are playing live right now, etc...

I like Google's choice to include a "conversational" model to the application design. "Let me talk to <x>" is pretty natural and allows <x> to then have full control of the interaction. Alexa's "ask <x> to <command>" model makes it easier to fire off simple commands, but awkward for deeper ones.

3
mark_l_watson 29 minutes ago 0 replies      
I was very impressed by the demos at the last Google IO, but decided to not go all-in on Google for privacy reasons. That said, their integrated platform is looking great.

Some Google services I wouldn't want to live without: Play Music, Play Movies, Google Cloud Platform, and their neat One a Day charity platform. Otherwise, I am doing a 180 degree flip and getting all Apple gear after many years of mostly using Linux.

I like the competition between Google/Apple/Microsoft/Amazon because even though I would like to more than four major players, four is enough to drive feature and price competition.

4
Ajedi32 4 hours ago 2 replies      
Pretty neat, but from a user's perspective I'm a little disappointed that the current implementation seems to require me to explicitly tell Google what app I want to interact with. I'd rather be able to just ask Google "Find me a movie ticket for Rogue One on Thursday" and have it be able to infer that I want to use the movie tickets app installed on my phone, than for me to have to explicitly say "Let me talk to Fandango" first.

That said, it looks like deeper integrations are coming:

> We'll continue to add more platform capabilities over time, including the ability to make your integrations available across the various Assistant surfaces like Pixel phones and Google Allo. We'll also enable support for purchases and bookings as well as deeper Assistant integrations across verticals.

5
talawahdotnet 4 hours ago 0 replies      
This looks pretty cool. The api.ai interface looks much more approachable (and logical) than Alexa for someone who is just getting started. I played around with Alexa a little bit, but creating a bunch of json and text files to map utterances, intents, schemas, etc felt way too clunky and unintuitive.

The api.ai UI for building interactions looks way more approachable and developer friendly. On top of that it looks like they are building out support for multiple platforms (Slack, FB, Alexa, Telegram) so you can (maybe) have a central integration point for your all your chat apps. Some of the integrations look very basic though.

The biggest downsides are that I have never heard of these api.ai guys before and the pricing beyond their free tier (1 query/sec) requires you to contact them, yuck.

Edit: Looks like I spoke too soon. Apparently they were acquired by Google recently[1]. I was wondering why Google was making this startup so central to their product. Now they just need to be more transparent on pricing, but I guess they are testing the waters right now.

1. https://api.ai/blog/2016/09/19/api-ai-joining-google/

6
tomcart 5 hours ago 2 replies      
Hmm, the lack of installation on the skill is interesting and an obvious contrast to Alexa/Echo. Should we be expecting an arms race here for sensible invocation names?
7
sorenjan 4 hours ago 3 replies      
Why won't they release Assistant for all Android phones? Nobody uses Allo, and Pixel is a small minority of the market.
8
amelius 26 minutes ago 1 reply      
Why isn't open-source catching up in this field?
9
nevi-me 4 hours ago 1 reply      
I was looking at the page earlier today, wondering when it's being launched. Great timing as my days at work are over for the rest of the year.

I'm working on a public-transport chatbot in South Africa, planning on making it available on Twitter, Facebook, and Allo (though less users here). Going to be a fun December and January!

10
ausjke 3 hours ago 2 replies      
Any info on the pricing? Amazon always has its pricing info along with any announcements. and yes I like this chatboot API from google, to compete with amazon lex/polly. Competition will bring out the best for developers.
11
dominotw 4 hours ago 1 reply      
This is awesome. This was the biggest drawback of Alexa to build any meaningful apps. Its like they read my comment on HN from 3 days ago :D https://news.ycombinator.com/item?id=13073236
12
IshKebab 4 hours ago 1 reply      
Google says you don't need to enable skills or actions, you can just say "Tell <invocation trigger> XXX". Can anyone work out what happens if there are multiple actions registered with the same invocation name?
13
godmodus 3 hours ago 0 replies      
to be honest, considering Google's 0-fucks-given for its non-paying users, which is the majority, i hesitate to touch and build on any of its tech/APIs.

someone correct me if i'm wrong, constructive criticism welcome.

15
Kent Beck: I get paid for code that works, not for tests (2013) istacee.wordpress.com
429 points by fagnerbrack  9 hours ago   307 comments top 49
1
kornakiewicz 9 hours ago 22 replies      
But we don't write tests to check if our code works. We write tests to be able to change it in the future with certain degree of confidence that we don't break anything and - if so - what exactly.

There are other techniques which can give similar confidence, but tests are the easiest one.

2
lordnacho 8 hours ago 11 replies      
I'll put the question to the other readers:

How often do you find, despite having written tests, that there is some bug in your software? And how many of those times did you think that you should have considered it beforehand, rather than that it would be impossible to foresee?

In my experience the most useful tests are the ones that came from some unforeseen bug, which was then fixed and a test case built around it, so that it wouldn't get "unfixed".

The least useful tests are the ones for cases you know not to invoke, because they are obvious. Like how you know when you divide by a variable, you know it can't be zero. So you make sure it can't be zero, making the test case a bit moot.

3
rqebmm 5 hours ago 0 replies      
People get too hung up on the question "to test or not to test" instead of asking the question "where and when should I test".

I started my career writing iOS clients, and the obsession with TDD was baffling. 80% of my code was usually either UI or simple Core Data manipulations, while the last 20% was mostly API parsing and a touch of business logic. I wrote a few tests for parsing corner cases or business logic, but they never really gave me any confidence or helped with refactoring, instead taking up time and adding overhead whenever I made changes. I supposed I didn't have enough coverage to get the benefits, but what tests would I write for my UI? What tests would I write for simple Core Data queries (which is assuredly unit tested already)? What tests would I write for my parsing libraries (which are already unit tested)?

Then I started working on the (Python + Flask) API backend, and tests were self-evidently necessary. Python is dynamically typed, which can result in lots of corner cases when doing simple data manipulations. Python is interpreted, which means the compiler/IDE won't warn you about syntax issues without running the code, and you can't catch even the simplest logic errors without running the function. Most importantly, the API's entire job is translating data, inputs are in the API parameters or database, and output is the JSON. It's a perfect function, and tests were obvious. I wrote something like 600 in a week, then used them to make some major refactors with confidence.

What I learned from those juxtapositions was that unit tests and automation are invaluable in certain circumstances. Specifically _any system that creates machine-readable output_ like JSON, populating a database, or even a non-trivial object factory should be unit tested like crazy. Any system that creates human-readable output, like views or changes in an unreachable database (something like an external API or a bank account) needs to be human-tested, there's just no way around it.

4
giis 8 hours ago 5 replies      
As someone who worked as dev (4yrs) later moved as tester (4yrs) and finally returned to dev again.

Here's my personal thoughts/experiences:

- Testing job is underestimated.

- In General, Developers considered superior to testers.

- What makes Tester position difficult is 'repetitive tasks' . Yes you can automated tasks, but you still need to do some tasks that can't be automated. These are manual & repeated tasks, often boring.

- Some developers are so lazy. for ex: while testing we found 'python syntax issue!'

- Management thinks testers can be replaced once they automated everything. Obviously they push for this.

- I know for sure, there are projects with passionate developers but no-one can really take care of their testing side.

- Dev underestimate/avoid unit-tests & rely on testing team to find basic issues.

5
woliveirajr 7 hours ago 1 reply      
And that's a fantastic observation.

When you get out a bit of the IT world, you'll find that people who demand software want to receive something: software. They bought an app, they want the app. Simple as that.

If you are good enough to have your code working without tests, good. If you don't need documentation, good. If you paint your walls with use cases, good. All that doesn't matter, if you deliver the app you were hired for.

And if your app doesn't work... well, everything you've done doesn't matter either. Because you were hired to deliver an app.

Of course tests are good, documentation is good, self-documenting code is good. But only for the IT. For non-IT people who's contracting you (you can be your company, too), he just want the app. The software. Working.

6
mikegerwitz 8 hours ago 6 replies      
> "If I dont typically make a kind of mistake (like setting the wrong variables in a constructor), I dont test for it."

But for those of us who work on a team, it's far more complicated than that, and you have no idea who might be touching your code in the future.

7
makecheck 6 hours ago 0 replies      
It doesnt make sense to write no tests at all but I understand this sentiment based on problems with testing that I have seen before:

- 1. Test infrastructure is too complex. If I have to create a bunch of config files, obey a questionable directory structure, etc. before I can even write my test case, there is a problem. There should be very little magic between you and your test front-end.

- 2. Test infrastructure is too lacking. It is also a problem to have too little support. There should be at least enough consistency between tests that you can take a look at another test and emulate it. There should be clearly-identified tools for common operations such as pattern-excluding "diff", a "diff" that ignores small numerical differences, etc. depending on the purpose.

- 3. Existing tests should not be overly-brittle. Do NOT just "diff" a giant log file (or worse, several files), and call it a day; that means damn near any code change will cause the test to fail and create more work. Similarly, make absolutely certain when you develop the test that it can fail properly: temporarily force your failure condition so you know your error-detection logic is sound.

- 4. Tests should not be overly-large. Do not just take some entire product and throw it at your test, creating a half hour of run time and 40,000 possible failure points just because it happens to cover your function under test. It is vital to have a small, focused example.

If your test environment has problems like these, I fully understand the desire to balance time constraints against the hell of dealing with new or existing test cases, and wanting to avoid it completely.

And if youre in charge of such an environment, you owe it to yourself to devote serious time to fixing the test infrastructure itself.

8
kartan 9 hours ago 0 replies      
I asked one time to my teammates why we had test. They just didn't answer. For them it was just a dogmatic approach.

That doesn't means that you should not have them. But you at least should be able to answer that question to be able to evaluate the value that they bring and how much tests do you need and where.

9
dekimir 6 hours ago 0 replies      
I like Beck's vision for the future, and I agree that we should keep experimenting in order to learn which tests tend to work and why. But we don't need to do it all manually -- we can use computers to automate and speed up such experiments. To that end, I've started a project to automatically generate unit tests from C++ source: https://github.com/dekimir/RamFuzz

Right now the generated tests are pretty superficial and silly, but the key is that they are randomized. Because of this, we can run millions of variations, some of which will prove to be good tests. Right now I'm hacking an AI that will pick those good instances from many random test runs. If it works, we'll be able to simply take source code and produce (after burning enough CPU cycles) good unit tests for it. This will be a huge help in letting the human programmer only do "enough" test writing -- the AI will take care of the rest. Additionally, the solution can be unleashed on cruft code that no-one dares touch because of a lack of tests and understanding.

(Yes, there will be a business built around this, but that's for next year. :)

10
mbreedlove 8 hours ago 3 replies      
I think the biggest problem with TDD is that there are two types of code, trivial and non-trivial.

I think testing trivial code is a waste of time and does nothing but improve coverage numbers.

When you think about a non-trivial problem to write tests, you don't always know what the final code will look like. Maybe you forget an edge case or some small detail in the requirements that will cause you to restructure the code and approach the problem in a different way. In which case, you now need to re-write your tests. You might as well just write tests around the final version.

11
paulddraper 8 hours ago 2 replies      
"I get paid for code that works, not for maintainable code."

Ah, I get it. That explains the piece of s--- I'm looking at right now.

That said, the title might be sensationalist, but I agree with the holistic sentiment of the text.

12
halayli 6 hours ago 0 replies      
One benefit of testing is that it can highlight whether your abstractions make sense. If you need to pull in the world to test a small module then probably your dependencies are not right and what you thought was a unit turns out to be more than that.

When I am writing a module/function, I tend to continuously think of how this can be tested, which helps me design better abstractions.

For example if you're writing a class that uses a socket read/write, when testing you probably need to mock them. If you weren't planning on writing tests then probably you'd have ended by having the methods embedded in the class itself as read/write/close when those methods don't belong to the class and should be in another module called Socket that inherits a Socket interface. Now that you have a socket interface it becomes easier to test your class by passing a mock Socket interface.

13
faragon 7 hours ago 1 reply      
I'm glad to read that. In my opinion, the problem starts when tests become a religion, e.g. forcing to put unit tests everywhere, no matter if it makes sense or not: just put tests, in order to justify that if whatever goes wrong, you can use the excuse of "it fails, but at least it is test covered".

In some case unit testing is necessary, e.g. for ensuring that a hash function works exactly as defined. However, there are other cases where unit testing is absurd, and black-box API tests or automated tests could do a better job on error coverage. As an example, imagine the Linux kernel filled with unit testing everywhere: plenty unit testing religion fun, but no guarantee of getting anything better, but a risk of new bugs because of the changes and increased code complexity.

14
fiatjaf 7 hours ago 0 replies      
There are so many unneeded tests being written I can't even begin to point them out. Here's an example: http://entulho.fiatjaf.alhur.es/notes/the-unit-test-bubble/

I've seen dozens of GitHub repos with a "tests/" directory that only contains tests for the constructor and ignores all the parts that should be tested. You don't need to test a constructor, this is stupid. If your constructor is not working none of the other tests will -- BUT HEY, your constructor is working, it is not hard to see it.

15
____nope 3 hours ago 1 reply      
You write tests to automate tests you would have to otherwise perform manually. That is the only reason tests exist, to automate the boring task of testing.

That's one problem with the TDD mindset. If you start by looking for things to test, you might come up with unlikely scenarios or cases that don't matter much for your user.

16
at612 8 hours ago 0 replies      
For me, the takeaway from that article is this:

> Different people will have different testing strategies based on this philosophy, but that seems reasonable to me given the immature state of understanding of how tests can best fit into the inner loop of coding. Ten or twenty years from now well likely have a more universal theory of which tests to write, which tests not to write, and how to tell the difference. In the meantime, experimentation seems in order.

Indeed, we still "don't know" how to testmore generally, and given the abundance of methodologies and their tendency to go through a hype and dump cycle, I would say we still "don't know" how to write code in the first place.

We'll get there eventually, but for now I would take whichever approach, methodology, tools, and language that I use as having a "best before" date, and invest in it accordingly.

17
Nomentatus 3 hours ago 0 replies      
Funny thing is, the most frequent positive result of tests for me hasn't even been mentioned, I don't believe. The biggest benefit I got was an ongoing education about how the program I was writing ACTUALLY functioned - enabling me to correct my assumptions before the shit hit the fan. This isn't quite the same as catching errors, since often you still want the algorithm you wrote as you wrote it, but knowing more about what's really going on gives you a heads up to avoid future problems, conflicts, etc. Of course, you may program differently. I was always big on asserts back in the day, and two-thirds of my debugging (by instance not hours) was spent fixing asserts, and thereby learning that some assumption I was making about the program, was wrong at least some of the time. Always good to know.
18
w8rbt 9 hours ago 3 replies      
The point is that there is a limit to testing. And some people go way overboard with it. You'll never get 100% coverage. It's simply not possible.

Now, that doesn't mean you should not test. It means you should understand the limits of unit testing and test what is important as best as you can. Most every software engineering class at universities will cover this in-depth.

19
Cpoll 6 hours ago 0 replies      
The title quote is a bit out of context...

> I get paid for code that works, not for tests, so my philosophy is to test as little as possible to reach a given level of confidence (I suspect this level of confidence is high compared to industry standards, but that could just be hubris). If I dont typically make a kind of mistake (like setting the wrong variables in a constructor), I dont test for it. I do tend to make sense of test errors, so Im extra careful when I have logic with complicated conditionals. When coding on a team, I modify my strategy to carefully test code that we, collectively, tend to get wrong.

20
xiphias 8 hours ago 0 replies      
The start of the comment is really out of context here.What he wrote about the team case (what most of us are payed for) is this:

When coding on a team, I modify my strategy to carefully test code that we, collectively, tend to get wrong.

21
kefka 9 hours ago 1 reply      
Seems pretty simple, honestly. I've written enough unit tests to throw in my 2 bits.

Put a sane, normal value test. This will pass unless shit's broken.

Then test edge cases. Test min, max.

Then test some impossible values. If they correctly fail, you pass.

22
kafkaesq 4 hours ago 0 replies      
I get paid for code that works, not for tests, so my philosophy is to test as little as possible to reach a given level of confidence (I suspect this level of confidence is high compared to industry standards, but that could just be hubris). If I dont typically make a kind of mistake (like setting the wrong variables in a constructor), I dont test for it.

Which is unfortunately complete opposite of how TDD was interpreted, especially in its glory days (and in some corners, up until the present day).

23
davewritescode 8 hours ago 1 reply      
I'm not a big fan of this mentality. Writing enough tests to be bug free just isn't enough. Sure it's bug free today and that's great but will it be bug free tomorrow after a junior dev modifies it?

I'm not advocating testing getters/setters but not testing because "I don't write those kinds of bugs" can burn the next junior dev who might.

Testing is as much about finding bugs early as it is making your more agile in the future.

24
andrewbinstock 2 hours ago 0 replies      
Beck elaborates on this point of view in the current issue of Java Magazine: http://bit.ly/2g6YEo2 (loads slowly)
25
efsavage 6 hours ago 0 replies      
The full quote is a bit more nuanced and captures this, but the key to this mantra is properly defining what "works" means.

Code that "works" doesn't just mean it runs/compiles/passes CI/etc. It has to continuously add value. It can do this by running properly and efficiently across a wide variety of likely or infrequent conditions, as well as some exceptional scenarios. It can do this by being written clearly and not adding technical debt. It can do this by being as simple and/or as replaceable as possible. And ultimately, it can even add a final gasp of value by being easily deletable.

26
mmanfrin 3 hours ago 0 replies      
O: my manager is the person who asked the StackOverflow question that prompted this.
27
everyone 8 hours ago 0 replies      
If someone posted that question on SO now it would be insta-downvoted and then removed for being vague.
28
rubicon33 5 hours ago 0 replies      
"Different people will have different testing strategies based on this philosophy, but that seems reasonable to me given the immature state of understanding of how tests can best fit into the inner loop of coding. "

The problem with comments like this is that they're too ambiguous. Someone who doesn't want to spend the time to write unit tests, will use this ambiguity as a mechanism for justifying their laziness.

29
sauronlord 7 hours ago 0 replies      
It is a begging comment and not clear what is said beyond "create some automated tests until you feel good"

Allow me to explain:

Production use of code IS testing (manual, etc). Because it is an observation of the system state.

All of the world is testing. Every system is inherently a quantum mechanical one (ie: the observer is constantly testing the state of various systems to ascertain some level of confidence)

If you are going to test anything... then you should test the Use Cases (ie: Interactor objects). Don't have Use Case/Interactor objects that encapsulate intent? Well, you better understand it since the world, and therefore software, is all about intent.

30
vesak 9 hours ago 4 replies      
In other words "be smart, don't be stupid". Do you really need to write a test for that single expression setter?

But then again, it may be easier to just set a single round goal like 100% for test coverage. Writing that test for the single expression setter won't cost you a lot.

31
z5h 8 hours ago 0 replies      
I happen to work in a team. So I get paid to write code that works, that other devolopers can make sense of and hack on as well. That's why I write lots of tests.

If Kent Beck is coding in a private bubble, he can do whatever he wants that makes code work.

32
digi_owl 7 hours ago 0 replies      
And yet programmers wants to be held in the same regard as engineers.

https://www.youtube.com/watch?v=0WMWUP5ZHSY

33
sporkenfang 8 hours ago 0 replies      
This is why I advocate for end to end testing of a whole system's expected behavior to augment a small set of unit tests (the unit tests are for edge cases).

Nobody needs division by zero tests if there are already guards in place so that can't happen, but it's quite helpful to have a "A goes in, B should come out" view from a client/user perspective. As long as behavior appears correct to the client and is not exploitable you're good to go.

34
beders 5 hours ago 0 replies      
It is a stupid, broad statement without proper context.

It really depends on what your project is, what your goals for maintainability are and what programming language you use.

Two things about testing:- test to confirm your spec- if you have trouble writing tests, your design is probably flawed

35
rubicon33 5 hours ago 0 replies      
I first write good code. I then write unit tests to protect my code from:

a) Bad team mates.b) Future developers.

I've been burned one too many times with junior devs making cavalier changes in code they don't understand. Unit tests were THE solution for catching these changes.

36
bvinc 6 hours ago 0 replies      
"You get paid to write code, not tests" -My boss after telling me I should quit writing tests

I agree with Kent Beck mostly. I would add that tests can also be used to maintain invariants for future changes to increase maintainability. I just hope this quote isn't taken out of context.

37
alexjray 8 hours ago 0 replies      
You get paid to make the best technical decision for the company/project/who ever it is that's paying you. You get paid to communicate and understand when test are needed and when they are not. Startups will probably have a lot less test than bigger companies ; unless your a security startup or something that needs a solid foundation that you can trust.

Its all a trade off that needs to be communicated to whoever is paying you.

38
phkahler 8 hours ago 1 reply      
The key to success with that attitude:

>>I get paid for code that works, not for tests, so my philosophy is to test as little as possible to reach a given level of confidence (I suspect this level of confidence is high compared to industry standards, but that could just be hubris).

Is the humility in the parenthetical. There is a difference between arrogance and confidence.

39
jasode 8 hours ago 0 replies      
Just an fyi about some nuances of TDD that are overlooked based on the 60+ comments I see so far.

Most comments seem to equate:

 "regression tests"=="TDD"
... but it's really...

 "regression tests" is subset of "TDD"
I'm not a practitioner of TDD but I my understanding of its components are:

1) the ergonomics & design of the API you're building by way of writing the tests first. In this sense, the buzzword acronym could have been EDD (Ergonomics Driven Development). Writing the usage of the API first to see how the interface feels to subsequent programmers. Arguably, a lot of incoherent/inconsistent APIs out there could have benefitted from a little TDD (e.g. func1(src, dst) doesn't match func2(dst, src))

2) a sort of specification of behavior by usage examples ... again by writing the tests first. Consider the case of programmers trying to figure out how an unfamiliar function actually works. Let's say a newbie Javascript programmer wants to know how to use .IndexOf()[1] What do many programmers do? They skip all the intro paragraphs and just hit PageDown repeatedly until they get to the section subtitled as "EXAMPLES". With TDD, instead of examples being relegated to code comments "sqrt(64) // should print 8" , it formally encodes the "should print 8" into real syntax that's understood by the automated test tools. (Test unit frameworks typically use the keyword "Expect()" as the syntax.)

3) an IDE that's "TDD aware" because it creates a quick visual feedback loop (the code that's "red" turns to "green") during initial editing. The TDD "artifacts" can also act as a "dashboard" for subsequent automated builds alerting you that something broke.

So TDD is a "workflow" and from that, you address 3 areas: (1) design (2) documentation (3) quality assurance via regression tests. With that background, the original Stackoverflow question makes more sense: how many "test cases" do I write because it looks like I can get bogged down in the test case phase?!?

[1]https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

40
z3t4 4 hours ago 0 replies      
you will know when and why to write tests ... The same bug keeps coming up, you spend most of your time manually testing, you are not sure this change will break anything, or you are too scared to touch the code.
41
Zelmor 5 hours ago 0 replies      
>Indeed, since this answer, 5years ago, some big improvements have been made, but its still a great view from a inspiring person

Such as?

42
inputcoffee 8 hours ago 0 replies      
Tests might help you write better code.To the extent they do, you should use them.

That's like saying "I get paid for functioning software, not writing code."

Yes, you get paid for the output of the act, not the act itself.

43
ninjakeyboard 8 hours ago 0 replies      
I've referenced this stack post a few times too.I feel like it might be easy to take this out of context.
44
emodendroket 8 hours ago 0 replies      
Interesting comment although I don't feel like the article adds much to it.
45
amelius 8 hours ago 1 reply      
That's why you need to pay another guy to find code that breaks :)
46
DanielBMarkham 9 hours ago 2 replies      
Mixing up business and tech.

On the business side, you don't get paid for code at all. You get paid to make something people want. The fact that you're using programming to do that is inconsequential.

On the tech side, you're not delivering anything unless somebody, somewhere can test it, even if only one time.

So yes, you are getting paid for tests. In fact, that's the only thing you are getting paid for. The nub of the question is what the tests look like and how many you should have.

47
benyarb 7 hours ago 0 replies      
Why not get paid for both?
48
qwertyuiop924 8 hours ago 0 replies      
I don't write tests for all my code. But if I'm not writing an automated test (frequently when I'm writing a single-use script, which is something I do a lot, as I'm merely a hobbyist), I still "test" my code, function by function, at a REPL.

I've long since learned the hard way that if you don't test the functions as you write them, the bugs get buried in the system, and become very hard to find. When you test your code as you write it and modify it (formally on larger projects, informally on smaller ones) this doesn't happen.

That's the advantage of tests, so I can get Beck's point: If the function is so painfully simple that you already know if it's right, (say, an accessor) just by looking, then it's not worth writing a test for it.

49
acqq 8 hours ago 0 replies      
There are enough people in the industry who are actually paid for writing the tests and discovering the potential failures of the mission critical code, where the tests are fundamentally important.

I've had a small team nicely paid for months only to prove and document the that the product my company was to deliver won't fail in some specific scenarios, specified by the contract.

Those who don't produce the mission critical code (or believe what they produce is not on the critical path) unsurprisingly see the investment in the tests questionable. Of course, there is always a real danger of doing something "just because it is done" even if there's no real need.

16
A Provably Secure Proof-Of-Stake Blockchain Protocol github.com
26 points by xiamx  1 hour ago   3 comments top
1
lacker 1 hour ago 2 replies      
Is anyone actually mining this cryptocurrency? It seems a bit odd to say this is a proof of concept, without proving the concept by actually running the code. It might be happening somewhere, the topic just seemed avoided by the README.
17
How to Use Clojure for Scripting asimjalis.github.io
30 points by asimjalis  2 hours ago   6 comments top 2
1
sooheon 1 hour ago 1 reply      
If you want to keep the repl running this is fine, but for scripts, you should be using planck[1] or lumo[2]. Planck in my experience has nice command-line args parsing by default, both should be fast enough not to be annoying when running scripts.

[1] http://planck-repl.org[2] https://anmonteiro.com/2016/11/the-fastest-clojure-repl-in-t...

2
dm3 58 minutes ago 1 reply      
You don't need that `cemerick.pomegranate` import. Boot can already do that - the `deps` functions should look like this:

 (defn deps [the-deps] (merge-env! :dependencies the-deps))

18
Worried About the Privacy of Your Messages? Download Signal nytimes.com
195 points by JumpCrisscross  7 hours ago   155 comments top 24
1
xnull2guest 5 hours ago 7 replies      
I'm worried about the freedom of dissenting opinion in civil society from surveillance, not the privacy of my messages. Privacy is something I would easily give up for such freedom.

Signal seems to me to one tool in a large profile to maintain freedom of information dissemination and information gathering activity.

It seems to me that speaking to a large number of people anonymously is not possible with any of the existing tools, Signal included, and it seems that this set of tools is the next set that is needed.

Candidates for this include implementations of "Dining Cryptographer Nets," though there exist scalability and DoSability concerns.

2
james_pm 4 hours ago 3 replies      
I continue to be disappointed by headlines like, "Worried About the Privacy of Your Messages? Download Signal" which implies that only some people should be worried about privacy.

You'd think that the revelations about the NSA, things like the UK law that requires ISPs to collect and store your Internet browsing history would have more people "worried" but yet it's still pretty much a lost cause to try to explain to smart friends why this stuff matters.

3
arglebarnacle 5 hours ago 3 replies      
There are a lot of people on this thread crapping on Signal for its various flaws and downsides. It's nice to be smarter and more informed than everyone, but for the rest of us we really need advice about what we SHOULD do if we want a baseline amount of privacy from mass surveillance.

I'm honestly asking here--I don't have the knowledge that many in this community do about the exact risk of Signal requiring Google Play Services for example. If Signal isn't the answer, what should I and others use who require a usable, reasonably accessible to non-tech-professionals solution?

4
iuguy 6 hours ago 9 replies      
All the privacy solutions on the market are varying degrees of bad (from a privacy/security/freedom perspective), by which I mean they're all flawed in their own ways.

Signal requires Google Play Services on Android. That means it's put simply not a privacy messenger. Yes there's crypto, but it's also tied into Whisper Systems' infrastructure, there's no federation. I use Signal reluctantly, and only on IOS.

Threema, which is popular in parts of Europe (and is what I use to an extent) is well established, but not open source, doesn't do voice chat or federation.

Wire is moving in the right direction with respect to being open source and having lots of good features, but is still not open source.

It's 2016 and our best crypto messenger options are worse than what we had 10 years ago when Skype was peer to peer, or Jabber with federation.

I can understand the reasons for not supporting federation, but I disagree. The Internet was built to be decentralised, literally to withstand nuclear war. A walled garden does not provide us with the redundancy or control the Internet offers.

There are other metadata related issues that pretty much every messenger suffers from but I'll leave this out of the scope of this comment.

What Open Whisper Systems and Wire need to do is open source the server components of their solutions, and try to remove the reliance on servers as much as possible. Only then will we have proper message privacy.

5
unicornporn 7 hours ago 2 replies      
Or you could download https://wire.com/ which allows developers to build their own clients and still use their infrastructure. Also, it doesn't force you to use a phone number for registration. It supports audio/video calls. Also, if you're really privacy minded, it doesn't need Google Play Services. That way it can be used in CopperheadOS.
6
pwelch 6 hours ago 3 replies      
I found a weird issue on a friends phone when I suggested they download it for iOS. It says "This item is no longer available". They were able to download other apps from the store. When emailing Signal support they said nothing was wrong on their end.

Still havent figured out why my friend cant download Signal from Apple App Store.

7
billyvg 5 hours ago 1 reply      
My friends and I have used GroupMe (which is owned by Skype) for a few years now and some of us wanted to migrate due to privacy. We tried out Signal, but there were some major usability problems in you intend to use it as a "group chat" replacement. My biggest issue with it is that there is no mute feature for iOS. Yes you can turn off notifications at the iOS level, but I want the ability to only have @-mentions to have access to notifications.

I made us switch to WhatsApp instead as I think the usability/privacy balance was better (for our use case).

8
justinph 4 hours ago 1 reply      
I'm disappointed that this article doesn't mention iMessage. From what I understand, it's end-to-end encrypted and Apple doesn't have a key.
9
TazeTSchnitzel 6 hours ago 1 reply      
A problem for some people with Signal is that it requires you to use a phone number, and they may not want to disclose theirs.

You can set up an SMS gateway number just for this purpose, but you shouldn't need such workarounds.

10
mi100hael 7 hours ago 0 replies      
> Open Whisper Systems said it planned to add these features, noting that GIFs are already supported in the Android version of Signal.

And iOS for a while now! https://github.com/WhisperSystems/Signal-iOS/pull/886

11
zitterbewegung 7 hours ago 0 replies      
Using signal myself I think it has the best trade offs for security and user friendlyness since I have been able to convince my friends to use it .
12
Mgardepe 2 hours ago 0 replies      
I wish I had friends/family that were worried enough about their privacy to use an end-to-end service with me lol
13
Zak 3 hours ago 1 reply      
That said, Signal is not perfect. It lacks some features of other messaging apps, like the ability to send stickers.

That this is a deficiency worthy of mention reveals just how different the average person's values about what a messaging app should do are from mine.

14
kylec 56 minutes ago 0 replies      
How can I use Signal (on iOS) without giving it access to all of my contacts?
15
blunte 6 hours ago 5 replies      
Why isn't anyone talking about Wire? https://wire.com/

The little I've used it, I found it pleasant and effective. But it almost seems like there is a campaign to ignore Wire; nearly every article written about Signal and alternatives fails to even mention Wire.

16
webjames 7 hours ago 3 replies      
I ditched Signal in favour of WhatsApp given I believe the tech behind it was the same and the fact that a lot of my contacts are already on WhatsApp. The NYT article indicates that WhatsApp is still able to collect more information than Signal does collect.
17
visarga 5 hours ago 3 replies      
But downloading Signal after news like these will tag people as trying to hide something from the state.
18
tdkl 3 hours ago 1 reply      
For anyone wondering - this is an example of an ad posing as an article.
19
rahrahrah 5 hours ago 2 replies      
I still haven't been able to register to Signal. It always fails with "error establishing connection with server". Does anyone want to suggest how I could get this working?
20
benevol 5 hours ago 0 replies      
Any communication tool that runs on a closed-source OS like Windows or iOS can certainly not be trusted.
21
Johnny555 5 hours ago 0 replies      
It lacks some features of other messaging apps, like the ability to send stickers

That sounds like a feature more than a deficiency.

22
woogiewonka 5 hours ago 2 replies      
Signal crashed on me day in day out. That app is junk.
23
zi0nman 5 hours ago 1 reply      
I am really interested why Signal. Why not Telegram? I prefer Telegram over Signal because of much more better UI and rich functionalities i.e. bots. Signal app seems clunky and buggy. That's my 2 cents.
24
reacharavindh 6 hours ago 3 replies      
Use Signal and give them access to all your contacts who may or may not be using Signal. Use their proprietary client and trust them on their pinky promise that they "can't" look at your messages. The deceptive pretense of privacy is worse than no privacy at all.

[Edit] - "Use their proprietary client and trust them on their pinky promise" was factually wrong.

But, they still expect me to trust the signed binary they send through the App store right? How is that anyway non-proprietary just because there is a Git repo somewhere that may or may not be the same code running on your phone? Can I run a client from the Git repo and still use all of their infrastructure?

19
Safari Technology Preview supports 100% of the ES2015/16/17 features kangax.github.io
132 points by nacs  3 hours ago   74 comments top 10
1
franciscop 3 hours ago 1 reply      
At the same time, right now it's relly backwards[1]. Luckily the shelf-life of Safari is much shorter than others, so we'll be able to use fetch() natively without polyfills soon-ish if you target modern browsers.

[1] http://caniuse.com/#feat=fetch

2
ggregoire 3 hours ago 23 replies      
Honnest question for Safari users: why Safari?

I don't really know Safari. I used Chrome on Windows and iOS, and when I moved to OSX I naturally continued with Chrome. And the dev tools are really great.

3
lionheart 2 hours ago 1 reply      
If only it supported WebRTC like even Edge does. I'm running a WebRTC startup and its killing me that Safari and Mobile Safari don't support it at all.
4
starik36 3 hours ago 2 replies      
Can I use lists Safari as not supporting WebRTC. I thought that was part of the spec.

http://caniuse.com/#search=webrtc

5
brian_herman 3 hours ago 1 reply      
Safari Web Technology preview not the one that is in macOS Sierra currently.
6
untog 2 hours ago 0 replies      
This is great, but I wish Apple pushed out updates to Safari (particularly on iOS) more frequently - as it is, we might not see this on phones until September 2017. Not to mention WebRTC, Service Workers... you can't polyfill them like you can ES2015.
7
anovikov 2 hours ago 0 replies      
Now add WebRTC and it will be fine :)
8
nfriedly 1 hour ago 0 replies      
Does it support JS Modules? (I don't think the kangax compatibility table has a test for that, but the last time I looked, no browser supported it yet.)
9
johnhenry 2 hours ago 2 replies      
Post like these bother me because they lack context. Sure, the claim in the title is true, (and will remain true, unless something goes terribly wrong at Apple) but by the very nature of the linked resource, at some point it won't tell you whether or not the claim is valid.
10
nunez 3 hours ago 0 replies      
Awesome!
20
Facebook Investors Criticize Marc Andreessen for Conflict of Interest bloomberg.com
195 points by applecore  7 hours ago   88 comments top 19
1
rubyn00bie 4 hours ago 7 replies      
... im probably on an island alone here with my opinion but...

I'm glad this is being brought to light... and that investors are angry. This sort of action I think should be wildly illegal.

It's removing a great deal of value from one's share. That value is being able to vote. I'm not a FB shareholder but if they had removed my voting power (or rather made it a 1/3 of what it was) I'd want compensation and then I'd sell my shares.

This sort of crap is propagating a big issue: the separation of management and control from ownership of companies. It invites irresponsibility and selfishness because the cost of such to management is continuously decreasing. While the owners (shareholders) are the ones to pay the real price for their actions.

This is how we have problems like CEOs losing money quarter after quarter but still getting bonuses and ever larger golden parachutes...

It's easy to say he's a "visionary" now but the markets facebook has ridden its growth on were not a result of it being amazing. It was a combination of the right time, luck, and a bit of vision (he does deserve some credit). Now that markets are saturated we'll see how truly visionary he is... acquiring for growth targets doesn't make him visionary it just makes him a good business person. If he can't grow it or his vision is off-- it won't matter, if he missteps and costs his shareholders. He and his cronies will still be rich as hell and his shareholders will pay the price.

2
__derek__ 5 hours ago 1 reply      
Regardless of how the suit transpires, letting someone maintain control of a public company while divesting themselves of the risk associated with ownership strikes me as a bad idea.
3
slezakattack 2 hours ago 0 replies      
Interesting to note: The Andreessen-Zuckerberg friendship goes a bit deeper. Andreessen's wife, Laura Arrillaga, advised Zuckerberg and his wife on making the $100MM gift to education in New Jersey. Now that Zuckerberg would like to sell his shares for philanthropy, there's probably a good chance they'll continue to go through the Andreessen's for advising. In which case, the Andreessen family will still be making money (not to say that they aren't making money now...) as I'm sure the advising is not free. Win-win.
4
applecore 7 hours ago 0 replies      
From the article:

 "The cat's in the bag and the bag's in the river," [Andreessen] messaged Zuckerberg. "Does that mean the cat's dead?" Zuckerberg texted back, not understanding the spy speak. Andreessen replied: "Mission accomplished :)"

5
mi100hael 4 hours ago 1 reply      
The whole notion of different stock classes for plebs vs insiders is a racket, anyway. It makes no sense that someone could own a small minority of shares and yet still exert total control over a company. If you want to raise money and put yourself on a market without giving up control, you issue bonds like companies have done for years.
6
jashmenn 6 hours ago 13 replies      
To me, as a founder (and former a16z portfolio company employee), this sort of thing shows why you'd want investment from a16z. They have a reputation for being founder-friendly. So while this gets spun as some sort of scandal, instead I think this quietly paints a16z in a friendly light.
7
relaunched 6 hours ago 0 replies      
Marc's point about the governance requirement being moot because the government would require Zuck to give up his position in FB anyway is particularly poignant now. The government certainly hasn't figured out what to do with PE Trump and his business interests, nor the interests of the other billionaires he's appointing to key positions.
8
mwambua 6 hours ago 2 replies      
I'm curious to know what messaging platform did they used? Also, were they aware that any communication via the platform would be monitored?
9
anotherarray 6 hours ago 0 replies      
Isn't it ironic they're both facing the same privacy concerns they helped to create?
10
chrischen 6 hours ago 0 replies      
Why didn't Zuckerberg and Andreesen use facebook's secret conversation mode?
11
arikr 6 hours ago 2 replies      
If I'm curious to read the entire court documents, does anyone know where to find them? Googling with no luck.

"The case In RE Facebook Class C Reclassification Litigation, CA 12228, Delaware Chancery Court (Wilmington)"

12
quickConclusion 6 hours ago 0 replies      
Founders will like the move.

If you are a big investor, the first question during an IPO roadshow of the next a16z-backed company may well be: "a16z, are you leaving the board after the IPO?"

13
gourou 7 hours ago 3 replies      
> one of the concessions Zuckerberg wanted -- to allow the billionaire to serve two years in government without losing control of Facebook -- would look particularly irresponsible

So he wants to run for office while maintaining control of the platform where people get their news from?

14
insider123456 3 hours ago 0 replies      
Insider Insider Trading

Under U.S. securities law, the term insider is technically used to refer to any individual who is an officer or a director of an issuer or who is a beneficial owner of more than 10% of any class of an issuers outstanding securities. Insiders are subject to special reporting requirements and certain other restrictions upon their ability to trade securities of the issuer. Because of their relationship with the issuer, these individuals are also more likely to become aware of material, nonpublic information regarding the issuer.

However, for purposes of insider trading rules and regulations, insiders are not just limited to those who meet the technical definition of a corporate insider. Any individual who has special access to or otherwise comes into possession of material, nonpublic information regarding an issuer could be considered an insider. If such an individual trades in the securities of the issuer based on this information, he or she is considered to have engaged in insider trading and may be subject to both civil and criminal penalties.

15
erebus_rex 3 hours ago 0 replies      
Could someone explain why this would dilute voting power?

Voting power of an investor = votes held by investor / total votes

While the dividend will slash the economic ownership of my class A stock, that stock still has the same voting power because the number of votes and distribution of those votes has not changed.

Am I missing something?

16
mgleason_3 5 hours ago 2 replies      
Wait, Mark Zuckerberg, the guy who screwed one of his initial investors out of a huge amount of stock, now wants to screw his stockholders with inside help from a board member. He could maintain control even if he sells most of his stock and is completely distracted by something else - like running for office.

But, its OK because some of the money would be used for philanthropy?

17
angersock 6 hours ago 2 replies      
Isn't this just an example of the risk you take by investing in a company with majority stake held by one person?
18
rahrahrah 5 hours ago 0 replies      
These are a bunch of bad people.
19
sethbannon 6 hours ago 1 reply      
This article seems to have an agenda. It feels like it's intentionally portraying things in a mischievous frame. Maybe that's just because it's getting its information from a lawsuit written by hostile lawyers, but it still doesn't seem unbiased. As an example, the line "While on the committee, Andreessen slipped Zuckerberg information about their progress and concerns, helping Zuckerberg negotiate against them." could easily have been written as "While on the committee, Andreessen kept Zuckerberg up to date about their progress and concerns, helping Zuckerberg know how to best proceed with the discussions."
21
Don Libes' Expect: A Surprisingly Underappreciated Unix Automation Tool robertelder.org
180 points by robertelder  9 hours ago   73 comments top 33
1
seiferteric 8 hours ago 3 replies      
Expect is cool, I have used it in the past as well as the expect perl module, but in my opinion is always a suboptimal way to automate things. It's always better and more robust to have a proper interface to script things instead of relying on matching brittle text/regex responses and timers and such. Of course sometimes it's not possible, so expect comes in handy.
2
skywhopper 6 hours ago 3 replies      
Expect is a last ditch tool that becomes less and less necessary as automation libraries and remote APIs become more and more common. The examples given are cute but hardly representative of what expect is really for.

The only times I've needed to use expect was to drive weird non-scriptable telnet-based remote systems and to automate unpackaging of intentionally-broken vendor-supplied self-expanding software archives that require some level of interaction.

The point being if you want to create shortcuts to jump to specific locations in a man page or drive outdated appliances or open user-hostile zips, expect is the tool for you!

3
hughw 43 minutes ago 0 replies      
A friend taught me about expect by giving me this expect script for logging into our vpn. It automates login using Cisco Anyconnect on a Mac.

 pw=c3-f3-341a spawn /opt/cisco/anyconnect/bin/vpn connect vpn.example.com expect "Username:*" { send "myname\r" } expect "Password:*" { send "$pw\r" } interact

4
zwischenzug 8 hours ago 1 reply      
I use pexpect as the basis of an automation framework I use a lot:

https://github.com/ianmiell/shutit/blob/master/README.md

Recently I used it to migrate an etcd cluster within OpenShift reproducibly:

https://medium.com/@zwischenzugs/migrating-an-openshift-etcd...

5
setq 7 hours ago 0 replies      
Expect is great for persuading things, particularly poorly written Java monoliths that use text interactive installers, to play nicely with ansible. On more than one occasion it has been tasked with handling one.

You run autoexpect first to record what you want it to do on a dry run, then tidy up the generated expect script, then plug it into ansible as a raw task.

Granted this shouldn't be a problem in 2016 but some vendors are idiots. But thanks to expect my life is a little more comfortable :)

6
hydandata 3 hours ago 0 replies      
Expect can be a lifesaver when you cannot use your usual go-to tools like Ansible etc. especially with legacy setups where you cannot tweak stuff much. I have successfully used it combined with tmux for automated multi-term like functionality, deployment verification and other chores to save a lot of $ for my company. I do try to keep my Expect scripts as simple as possible though, just so I do not have to remember too much since I do not work with TCL anywhere else.
7
teddyknox 2 hours ago 2 replies      
Don Libes' daughter went to my high school, and I was working as the "webmaster" for the high school newspaper's website at the time. He would ruthlessly criticize via email the product our self-taught and earnest 2010-era PHP web development. I am not a fan of Don Libes. For those interested, the website was/is: http://theblackandwhite.net/
8
RHSeeger 6 hours ago 1 reply      
Long ago, I had to write a utility to backup the configurations settings from all the network devices in a given network. At the time, the network consisted of many, many different types of routers, switches, and the like.

For many of the devices, there was a way to fetch the config but it required logging into the device (generally telnet) and navigating a menu to "send" the config somewhere. Using expect to do that was a fantastic way to handle it.

There's also a number of cases where you want output from a command line program "as if run by a user at a terminal". For some programs, they change the output (ie, removing color codes, etc) if the output is not going to a terminal. Expect does a fantastic job of pretending to be a terminal.

Also, it's Tcl, and I love Tcl. It's (possibly tied) at the top of my list for languages. So much fun and more flexible than anything that doesn't support lisp level macros.

9
znpy 3 hours ago 1 reply      
Speaking of surprisingly unappreciated unix tools, I recently started reading the documentation of the gnu info package, and I must say, that is really impressive.

if you didn't already, I highly recommend you type 'info info' in your terminal and spend half an hour learning how to use it.

Plus, if you are an emacs user, the emacs manual is bundled with emacs in info format, and you can obviously read info documents in emacs too.

Reading the gnu emacs manual inside emacs is a game-changer.

10
kazinator 1 hour ago 1 reply      
I'm calling expect dynamically out of CGIT (the git repo serving CGI program). The expect script runs Vim in pseudo-terminal, to load a source file and syntax-colorize it via :TOHtml. That HTML is then integrated into the file view generated by CGIT.

This is not done for every file type; a master shell script dispatches different coloring strategies based on suffix.

11
chriswarbo 6 hours ago 0 replies      
> Many of them are actually dead links, or projects with less than 40 stars on GitHub.

Off topic, but how long has "stars on github" been an indicator of software quality/longevity/usefulness/etc.?

How many "stars on github" does Expect have?

12
sheraz 7 hours ago 0 replies      
I remember using expect to make my US Robitics modem to dial-up and get online, and to authenticate past RADIUS servers.

good to see this old util get some new light here.

13
wangchow 3 hours ago 0 replies      
Tcl (upon which Expect is built) is under-appreciated too. It's a neat language how strings behave as a sort of polymorphic data structure (can be dicts, lists, etc). Under the hood they get optimized based on usage.
14
daenz 3 hours ago 1 reply      
Shameless self promotion: if you want to automate subprocesses with python in an intuitive way, give sh a try: https://github.com/amoffat/sh
15
joshaidan 4 hours ago 0 replies      
Reading the examples in the man page brings me back to a different era of modems and BBSs:

"The name 'Expect' comes from the idea of send/expect sequences popularized by uucp, kermit and other modem control programs."

"Cause your computer to dial you back, so that you can login without paying for the call."

"Start a game (e.g., rogue) and if the optimal configuration doesn't appear, restart it (again and again) until it does, then hand over control to you."

"Connect to another network or BBS (e.g., MCI Mail, CompuServe) and automatically retrieve your mail so that it appears as if it was originally sent to your local system."

"Carry environment variables, current directory, or any kind of information across rlogin, telnet, tip, su, chgrp, etc."

16
ChuckMcM 3 hours ago 1 reply      
This tool keeps the command line interpreter (CLI) alive. Sysadmins everywhere can glue hundred different systems from a hundred different vendors together if they have CLI and the sysadmin has access to a machine that runs expect(1).

There are many stories of complex infrastructure being taken down by new firmware on routers or switches that change the order of parameters in a command :-)

17
tluyben2 2 hours ago 0 replies      
I have used this a lot in the past but don't have the need for it anymore. It was incredibly useful and I would've died of overwork if I did not have it back then...
18
chrismealy 7 hours ago 0 replies      
I gave up on expect in 1990s. It always almost but not quite worked. Is it better now?
19
jtcond13 1 hour ago 0 replies      
Any reason Expect isn't included on many of the common Linux distributions? That kind of limits its use, for many of us.
20
danso 6 hours ago 1 reply      
I'm going to try this out on my own because what I read in the comments makes me think I will find use for it, but if I had to be honest, I did so because of the HN comments. The OP was clearly written and nicely formatted, but as someone with moderate CLI/Bash experience (I do almost all of my data processing via Bash programs and pipes), I didn't really understand what `expect` does. Maybe I needed a simpler example, because I don't uss most of the other parts that are in the example, such as `interact` and `send`. As a Pythonist/Rubyist, I have the added baggage of associating `expect` with unit/line testing.

Maybe expect is not for me, but given the title, I would've loved to see maybe a couple paragraphs of why `expect` is underappreciated...that is, what do typical Unix programmers use instead, because they're ignorant of expect. Much easier for me to understand the perspective of ignorance :)

21
bxrxaxdx 6 hours ago 1 reply      
OMG I have been burned by this so many times. Expect itself is a cool piece of technology and works as well as anyone could hope. However, every time I've tried to use it for anything the solution ends up being super flaky. I think trying to automate text interfaces like this is just fundamentally unreliable.
22
jashmenn 7 hours ago 0 replies      
For folks like me who read this and want to use `autoexpect` on OSX:

 brew install homebrew/dupes/expect # find the expect/tcl path with this command otool -L /usr/local/bin/expect export TCLLIBPATH=/usr/local/Cellar/expect/5.45/lib autoexpect

23
airesQ 6 hours ago 0 replies      
I've used expect to automate distro upgrades at some point, as we needed to upgrade a couple hundred machines.

During testing I kept finding edge cases. Then I eventually accounted for most of the edge cases, and gave a default answer for "unknown" edge cases. It sort of works, but I would like to have more confidence in the process.

Then again, I never felt that the problem was expect, expect does its job, and does its job reliably. The problem usually boils down to unexpected prompts (pun unintended).

I've also used pexect in Python for testing, no complains there. In fact at some point somebody tried to refactor this particular python program to use Paramiko, but decided to keep pexpect after running into some problems.

24
stevenhuang 7 hours ago 0 replies      
Expect was great when I had to automate ssh'ing into a bunch of different machines with generated passphrases. Not the best for security, but the machines were in a private network and key auth was not used at the time. Saved a lot of typing!
26
geff82 5 hours ago 1 reply      
I used expect heavily at several clients in the past and have never seen someone else use it. I never used it as a precise tool, rather as a Sledgehammer. I think I remember I used Expect to script remote machines (expect was literally the "programmer") when everything else failed and was "prevented" due to policy. I guess my script was also non-compliant, but noone complained.
27
danielweber 3 hours ago 0 replies      
Every once in a while I find I need to pull out Expect and it's like using an old friend.
28
a3n 2 hours ago 0 replies      
I used to use expect to automate testing a medical device over telnet.
29
cafard 8 hours ago 0 replies      
Expect is the reason that I first learned Tcl. I haven't used it quite a while, though.
30
erikb 6 hours ago 0 replies      
I used pexpect (a Python expect like library) in my master thesis. Was far from perfect but much better for what I wanted than all the other libraries I've tried.
31
michaelsbradley 7 hours ago 0 replies      
Don Libes' Exploring Expect[1] is a devops classic (if there is such a thing). It would be nice if O'Reilly would make the text (completely) freely accessible[2], as they have done with some of their other older titles[3].

See also the Caius framework[4].

[1] http://shop.oreilly.com/product/9781565920903.do

[2] https://www.safaribooksonline.com/library/view/exploring-exp...

[3] http://www.oreilly.com/openbook/

[4] http://caiusproject.com/

32
digi_owl 5 hours ago 0 replies      
I find myself thinking about autohotkey.
33
pron 7 hours ago 0 replies      
Many years ago I used Expect to write a multi-host shell: https://github.com/pron/sysman
22
Show HN: Styletron Virtual CSS ryantsao.com
80 points by rtsao  4 hours ago   26 comments top 7
1
wolfgang42 3 hours ago 3 replies      
This isn't specifically to do with Styletron, but I'm wondering: what is the use case for building arbitrary CSS from JavaScript? I've never written an app where this seemed necessary; the most I've ever needed is some semantic classes to apply, like this:

 .request-pending {background-color: $yellow;} .request-acknowledged {background-color: $green;}
It seems like mixing the actual styles in with the JS violates separation of concerns and clutters up the actual logic.

2
trueadm 4 hours ago 0 replies      
Great work! Styletron looks awesome and the performance definitely fits well with some of the apps I work with. I'll give it a try :)
3
matchu 2 hours ago 1 reply      
I'm curious about this limitation:

> Descendant and child combinators are unsupported

Are conditional applications of rules also unsupported, like `:hover` and media queries? That's a big deal in terms of runtime perf, too.

4
bostonvaulter2 4 hours ago 1 reply      
Looks nice but I don't like the lack of pseudo selectors:

From the footnotes:

> The one area where this is useful is combining descendant combinators with pseudo classes, the most common use case being where hovering a parent triggers a style change in a descendant node. However, this behavior be implemented in JavaScript with event listeners and explicit state changes if needed.

5
k__ 4 hours ago 0 replies      
Sounds awesome.

I got the same idea, when I looked at javascript style sheets.

"We don't do inline styles, we generate classes!"

If they already generate, why not merge the whole stuff?

6
doublerebel 3 hours ago 1 reply      
tl;dr: deduplication processing for CSS speeds CSS compilation and produces smaller file sizes. Cool!

The article only has compilation performance tests, and there's a small mention in the docs: How does Styletron affect render speed in the browsers?

Also, what tool are you using to convert existing CSS to JS objects?

7
qz_ 3 hours ago 1 reply      
I love how your blog looks.
23
Lego Is the Perfect Toy nymag.com
158 points by wallflower  8 hours ago   82 comments top 24
1
agumonkey 4 hours ago 1 reply      
I especially love the algebraic nature of LEGOs. Something the designers took care to respect over the years. Many things combine mathematically with so many other parts[1]. Sometimes in twisted ways, sometimes in absurd ways.

- http://www.htxt.co.za/2016/08/08/local-master-builder-shows-...

- http://www.themarysue.com/bendable-lego-geometry/ (tolerance based curvature?)

- http://brickset.com/article/23288/the-geometry-of-the-new-11...

There are a few pdfs listing the linear and angular ratios, can't find them right now. Enjoy your google fu.

ps: for the sheer epicness of it https://www.reddit.com/r/lego/comments/4gmsfp/finished_my_gi...

[1] and as programmers I'm sure you enjoy that ;)

2
6stringmerc 7 hours ago 10 replies      
Nice long-form overview and, from what I can tell, well-balanced trying to deal with legacy / reputation as a "smart toy" and somewhat inconclusive research on the whole. Intuition is a good "out" in this case, because not every toy works for every learning style for every child, etc. One thing I did see:

>Marvin Minsky, the MIT scientist who helped pioneer artificial intelligence, has even said that the decline of American inventiveness can be traced to the rise of Lego, arguing that by becoming the most common construction toy, its pushed out construction toys like Tinker Toys and Erector sets that can get kids building simple machines.

Whoa, those are some names I haven't seen in a while but did grow up playing with. Tinker Toys in particular. To me, the criticism isn't fair - those were toys and learning tools from a prior generation. I'm pretty sure the only reason I grew up with Tinker Toys was because I had a Grandmother who grew up during the Great Depression and was of the generation that enjoyed them. My Parents much more embraced Legos, and, quite simply, getting bags or bins full of used, miscellaneous bricks at garage sales was a huge creativity boost. Then, later, turn around and sell or donate them. Rarely did I see Tinker Toys or Erector sets around. Technics seemed to bridge the gap between Legos and higher-level engineering / complexity / use of motors.

What does feel important about Legos & playtime, to me, is the manipulation of 3D space, coordination, and dexterity training. There is no such replacement via a 2D screen, and 3D / VR or AR aren't even close. The ROI on play time, age appropriate, with Lego-type hands-on exploration is worth keeping in mind. No batteries. Easy to clean. Hard to break. An Occam's Razor of developmental toys.

3
sampl 7 hours ago 0 replies      

 there was value to the building experience, the sense of accomplishment, the spatial reading
Toys like this are always so much more memorable--and meaningful.

I made a list of gifts that help people build, hack, create, explore etc [1], would love feedback from HN.

[1] http://wanderkind.org/

4
dwe3000 5 hours ago 7 replies      
I still look at most of the modern, themed Lego sets with a sense of sadness. They seem to inspire the "you have to follow the instructions" mentality so apply demonstrated in the father in the Lego movie. The older sets did include instructions, but the older blocks seemed more generic to building a wide variety of things, versus the "this is a piece for the Batmobile engine."
5
gene-h 2 hours ago 0 replies      
One thing that really annoys me about lego, is that lego mindstorms kits are still relatively expensive despite tech improving. It is hard for most parents to justify this costs on a toy. In fact, the price has gone up with time rather than decreasing as would be expect. The newer kits are more expensive than the older kits by about $40 when adjusted for inflation.[0][1] Sure, the new kits feature an arm processor that runs linux and has bluetooth, but these things have gotten cheap.

I am somewhat surprised the chinese haven't started making counterfeit smart bricks with the same capability.

[0]http://lego.wikia.com/wiki/9747_Robotics_Invention_System [1]http://lego.wikia.com/wiki/31313_Mindstorms_EV3

6
mzzingtime 37 minutes ago 0 replies      
The lament over price and overly specialized parts is misplaced. Price per piece has not changed much, and there have always been specialized pieces in sets.

While I've seen the trend of more kids just following the instructions (vs free-building from their imagination), the pieces still provide a lot of opportunity for creativity.

Even better, Lego released their free Lego Digital Designer (LDD) software, which is a CAD-like program where you can build in 3d using the entire catalog of Lego pieces. It opens up many more creative possibilities.

For example, using LDD, I was able to design my own take on the A-Team van.

https://ideas.lego.com/projects/160590

On the Lego Ideas website, customers can submit designs, and the Lego company will consider making them into official sets... Yet another way to stimulate creativity.

7
notindexed 4 hours ago 1 reply      
Just some x y work but i think some here might enjoy the nostalgia

400k+ 2x2 Lego bricks pixel wallhttp://imgur.com/a/X5fHS

8
johnhenry 31 minutes ago 0 replies      
9
billforsternz 3 hours ago 0 replies      
I often try to explain the appeal of programming to the uninitiated by saying it's a bit like building Lego models but you have an almost infinite supply of blocks.
10
radicalbyte 6 hours ago 1 reply      
Perfect timing, I've just ordered the three big Technics sets from 2016.

Technics is brilliant, even if my enjoyment with it is currently limited to following the instructions. I hope that it'll teach my kids a lot about engineering. The gear boxes in the big sets for example are genius.

11
jdcarter 6 hours ago 2 replies      
Perfect toy indeed, and I'm glad to see how they've captured the girl's market with the Friends and related series. Lego had attempted to market to girls several times before 2012 but failed. I appreciate how this interview spoke to the specific outcome of their market research, i.e. the larger, more detailed figures. It must have been crazy to suggest to Lego that they abandon the "minifig" format for a major new product line, but it turns out that's exactly what they needed to do.

My own family experience is reflective: my daughter enjoyed building Lego sets (and got quite good at it) but didn't really engage with playing with them until the Friends sets came out. With Friends she can spend hours creating a huge narrative about their adventures. Now you can't find a coffee table in our house that doesn't have a couple Lego sets on it. And when other girls come over to play, they're drawn like magnets straight to the Legos.

12
sixdrum 5 hours ago 0 replies      
Tell that to my feet when my kids leave them in the middle of the family room at night!

Legos are amazing and are definitely the focal point of my kids (age 5 and 9) creative play.

13
galfarragem 4 hours ago 0 replies      
During my childhood (80s) I only cared about 3 toys: lego, playmobil and zx spectrum. All the rest was crap.
14
wolfgang42 5 hours ago 0 replies      
My parents like to tell the story of when I got my first Lego set--the first thing I did was pull out the instruction booklet (with all the diagrams of 'models you can make') and put it in the trash, with the explanation "I don't need instructions." Most of what I wound up building with them was 'world of the Future' models, which demonstrated some vision of an ideal society. For example, I had a model street with some storefronts, and overhead wiring to support small single-person electric scooters which would run on the sidewalk alongside the pedestrians, and would be docked at special stations for the next person who needed them. (I struggled with designing an automated system to automatically redistribute them as necessary, using only relay logic which is what I understood at the time.) Another model was what I now recognize as a 'smart home', which featured occupancy detection, a (wired) telephone remarkably similar to Apple's 1983 concept phone[1] based on the Macs we had in our house at the time and an Apple Newton I had seen, and various other concepts (again, all based on relay logic and desktop computers!)

Bear in mind that I was doing all of this when I was 10. Clearly this was not normal play amongst my peers, and I would not expect Lego to provoke this sort of thing in most people. However, it was for me a valuable tool in building a worldview which I still strive for today.

My point in mentioning all this is that the great virtue of Lego is that it can be used for pretty much anything. Even if you get a set which is intended for "conflict play," it can be repurposed by the recipient to match whatever it is they're most interested in. (It's sort of like an inverse of the short story The Toys of Peace[2] in that regard.)

[1]: http://www.mactrast.com/2011/12/apples-was-working-on-a-touc...

[2]: http://www.eastoftheweb.com/short-stories/UBooks/ToysPeac.sh...

15
tmaly 4 hours ago 1 reply      
I remember playing with a really old version of Technic as a kid. This was probably one of my favorite toys. I would build all sorts of interesting machines with the gears.

I saw another mention of a raspberry pi driving Technic on here. Has any tried this?

16
glaberficken 5 hours ago 0 replies      
I have 6yo and 1yo daughters and one thing that strikes me with the current Lego range Vs the sets I had as a kid is the amount of rubbish decorative tiny parts that the most recent sets include.

(I know you can still buy the basic box full of bricks, but these are sometimes hard to find)

17
lordnacho 5 hours ago 1 reply      
Worth mentioning the CEO credited with the turnaround announced his retirement (to the board) this week.
18
problems 3 hours ago 0 replies      
Try stepping on it and you'll quickly discover its flaw.
19
douche 4 hours ago 1 reply      
I wish they would bring back some of the classic themes. There is kind of a hole right now, as there isn't a real Castle theme, a real Pirate theme, and Space has been subsumed into the Star Wars licensing for almost two decades.

One thing I've always really wanted was a modular castle line, akin to the modular town building series, e.g. https://shop.lego.com/en-US/Pet-Shop-10218

20
billpollock 3 hours ago 1 reply      
We have a few LEGO books that make people think.
21
notadoc 5 hours ago 0 replies      
Agreed, Lego is fantastic, and timeless.
22
partycoder 2 hours ago 1 reply      
One of the best toys I've seen are "snap circuits", which are basically one of those simple electronic lab kit "toys" only that they do not use cables. Instead you snap blocks together like legos.
23
facepalm 2 hours ago 0 replies      
The only thing that is sad is superhero themes. There are much better stories out there.
24
anentropic 7 hours ago 0 replies      
Yes
25
What Former Employees Say ITT Tech Did to Scam Its Students npr.org
56 points by happy-go-lucky  5 hours ago   40 comments top 6
1
wccrawford 4 hours ago 2 replies      
>"Maybe if you give them too much information, they won't want to come in."

Perceptive, since that's exactly the reason I ask so many questions before I physically drive out to meet someone. On the other hand, refusing to answer questions is pretty much guaranteed to put my guard up, too, which is contrary to their goals.

I'm an ITT graduate. I experienced none of what was in the article. That may have been their tactics at some point, but it wasn't used on me in the early 00's. Perhaps the person who was talking to me knew their job really well and knew it wasn't a good idea.

In the end, I learned nearly nothing (I was self-taught already and mostly wanted the paperwork) and got a 4.0 GPA. I watched others around me struggle with basic programming. Most of them quit, and I graduated with about 4 others in that program.

They claimed that a high percentage of their graduates had jobs when they graduated, but what they didn't make clear was that those jobs weren't necessarily in their field. I didn't have a job at all, most others didn't have a job in IT, and the 1 who did got it on their own at their current employer, Disney. Despite them providing no leads, they blamed my lack of job on me and how I approached it. No attempt was made beyond basic resume and interview coaching. That guy ended up getting fired after my father made a huge stink about it repeatedly. (He wasn't the only one, I gathered.)

When I did get hired, it was by a company that cared more about my skill than anything, and I actually looked worse on paper than the other main candidate. The company paid for BrainBench exams and I blew the other guy away, which got me hired. The paperwork I cared so much about has never been useful. The original estimate was $30k. I paid $23k because I transferred in some credits and tested out of others.

2
fecak 4 hours ago 3 replies      
>The rule set out in the ITT training materials instructs recruiters to call "a minimum of three times a day for the first three days." This was known as the 3x3 rule.

That is bordering on harassment by most standards. Taking advantage of the underemployed has been happening for years, and in tech I remember when MCSE training programs were mostly marketed towards blue collar employees. Many graduated as "paper MCSEs" who were largely unable to get a job.

I hope that bootcamps and accelerated learning programs for developers don't eventually go this route. They seem to be behaving to this point.

3
sethrin 4 hours ago 4 replies      
> And it got personal. On-campus visits began with a questionnaire, the WITY, or "what's important to you."

Interestingly, I remember the same tactics being used by the last Marine recruiter that I talked to. He had little flashcards you were supposed to rank in order, with various ideals like honor and financial security that you were supposed to rank in importance. I thought at the time that it was a pretty transparent trap, but I imagine it works pretty well. However, if we're going to suggest that these tactics and empty promises are immoral, are we to also hold the military accountable?

4
whack 1 hour ago 0 replies      
To be honest, every single tactic mentioned in the article sounds like Marketing/Sales 101. What's really scary is how effective they are. It boggles my mind how many people make life decisions, both major and minor, on the basis of such sales tactics, instead of doing their own research or relying on trusted sources.
5
Unbeliever69 4 hours ago 2 replies      
No news here. To be honest, these practices are used by all marketers.
6
wnevets 4 hours ago 2 replies      
and counties all across the US are turning to for profit schooling for their children.
26
Fogging your Google search history with Python and Reddit howlroundmusic.org
58 points by marcosvpj  6 hours ago   31 comments top 14
1
zhan_eg 5 hours ago 1 reply      
Well in fact if you check a section of your Google profile (Ads Settings) [0] you can turn off Ads based on your interests which will result it:

 You will still see ads and they may be based on your general location (such as city or state) Ads will not be based on data Google has associated with your Google Account, and so may be less relevant You will no longer be able to edit your interests All the advertising interests associated with your Google Account will be deleted
If you decide to believe them (as you are by using all their other services), that should be enough :)

[0] - https://www.google.com/settings/u/0/ads/authenticated

2
eth0up 6 hours ago 2 replies      
Reminds me a bit of Marlinspike's Google Sharing: http://www.techrepublic.com/blog/it-security/googlesharing-a...

The concept of hurling garbage into the all-seeing-eye is a good one and I hope it gains sustained popularity.

3
optimuspaul 4 hours ago 0 replies      
A few years ago I devoted some time to screwing with Amazons recommendation engine. The results were interesting at first. They didn't seem to have much of an idea of the kinds of things I actually wanted to see. After a while I was just presented with dildos as recommendations, perhaps they saw through my schemes. I then stopped the campaign and things returned to "normal".
4
elcct 58 minutes ago 0 replies      
5
petulanta 4 hours ago 1 reply      
See the TrackMeNot Chrome extension which does the same thing (also supports multiple search engines). I don't know how it affects Google ads though.

https://chrome.google.com/webstore/detail/trackmenot/cgllkjm...

6
edfungus 16 minutes ago 0 replies      
This is pretty much what I did to game Bing's search rewards with multiple users but I used Yahoo Answers instead. Worked well actually
7
surye 5 hours ago 2 replies      
Google can easily tell how much time you spend on a page, or when you click links, and if they wanted, even how your mouse moves. If the idea is to hide this information from Google itself, it seems pointless, just don't use Google.
8
bamurphymac1 4 hours ago 0 replies      
Obligatory Apple Doppelgnger patent link: http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=H...
9
anondon 5 hours ago 0 replies      
IIRC Google suspended the accounts of people who did something similar(automated random searches). I think it's against their Terms of Service.
10
veeragoni 5 hours ago 1 reply      
Google probably already knows our typing pattern and typing speed. They could probably detect whether you automated it or really typing. It wont be hard for them. "Google knows everything!"
11
guelo 2 hours ago 1 reply      
Or you could just use DuckDuckGo and an ad blocker.
12
dr_zoidberg 4 hours ago 2 replies      
As a simple rule, whenever I want to search something and minimize polution to my web history, I open the other browser I never use and then go into incognito mode.

As a side note, this reminded me of the "Neo looks for Morpheus" scene (the one just before "Wake up Neo").

13
Bedon292 5 hours ago 0 replies      
Does this really make sense to do? Unless you form all your google searches as questions, it will be easy to separate real from ELI5. None of my history looks anything like that, so would be completely easy to tell the difference.

Although I would be interested to see what a clean account doing this would look like to google. What kind of ads do they get served?

14
benevol 5 hours ago 0 replies      
Or just use something like startpage.com.
27
Surprise a simple recommender system library for Python surpriselib.com
55 points by danso  6 hours ago   5 comments top 2
1
bedros 46 minutes ago 0 replies      
GPLv3 will kill this project.

this is a library, and should have a library license, at least LGPLv3.

2
abetusk 2 hours ago 1 reply      
Are there any actually free/libre recommendation data sets? All that I can find, including the ones used by Surprise (MovieLens, etc.), look to be under restrictive licenses.
28
When antibiotics failed a severely ill patient, a virus saved him nautil.us
77 points by sergeant3  7 hours ago   50 comments top 12
1
danieltillett 1 hour ago 0 replies      
I used to work in the phage field and apart from regulation (phages are near impossible to get approved by the FDA), the big problem is the phages people have isolated have a very narrow specificity - most target only individual strains of a specific bacterial species (i.e. they have a very narrow host range). This means you need to have hundred or thousands of different phages to treat even a single bacterial species.

The really interesting thing is that there are phages that have a broad host range (multi-species or even multi-genera), but due to the nature of how phages are typically isolated they are not often found by researchers. Phages, like other living organisms, show differences in ecological adaption with some being specialists (leopards) while others are generalists (rats). The specialists grow faster in their specific hosts than the generalists do so in the normal isolation process which uses a single host bacteria strain (plaque plate assay) and so they appear first. The generalists grow slightly slower and so are typically missed by the scientists.

In my lab we developed a different assay that favoured the isolation of generalist phages and we were really successful in finding broad host range phages (many were multi-genera in host range). I no longer work in this area and it is something I miss as it is such an interesting topic :(

2
mentalpiracy 4 hours ago 2 replies      
Do you think it is feasible to allow some kind of voluntary FDA opt-out for individuals, in extremely limited cases?

I find myself wondering what I would want to do if I were in a similar situation: long-term, treatment-resistant illness, pain and inevitable death. At this point in my life, I think I would be okay saying "okay nothing is working. I volunteer to be an experimental subject - and if I die, please absolve anyone working to cure me from punishment."

3
smallnamespace 6 hours ago 2 replies      
This is a good example of a downside of regulation: regulations embed assumptions that favor certain outcomes. Those assumptions might have made sense when the regulations were written, but are very slow to adapt to changes in the industry.

The FDA drug approval process was basically designed for things like antibiotics: Single molecular compound, high purity, standardized dosage and application, and run trials with many many patients.

Treatments that don't fall under that umbrella (like phages) are very difficult to develop and bring to market, even if they work very well, just because of the impedance mismatch.

Phages are basically individually tailored to the patient, require a lot of work in administering, and difficult to test under the FDA's guidelines. Many people have unnecessarily died because treatments that could be are lifesaving aren't brought to market due to too much rigidity in the system.

To be fair, the FDA has been active in coming up with ways for things like phages to be brought to market safely, but it's a very slow, uphill battle.

4
carbocation 6 hours ago 0 replies      
Fun fact about the T4 bacteriophage: the dissection of its protein structure led to important refinements of SDS-PAGE, which is a protein analysis method that is still in wide use today. For that, the article that describes its analysis is one of the most widely cited in history[1]. (Also, yes, this is shamelessly a link to a tool I've developed to examine the importance of biomedical research papers.)

1 = https://pubrank.carbocation.com/article

5
jobu 6 hours ago 3 replies      
One of the major critiques of phage therapy is that it will fail the same way antibiotics have failed: Bacteria can evolve phage resistance.

That's interesting. Previously I've read that evolution was one of the benefits of phage therapy because phages could evolve alongside the bacteria.

6
notadoc 4 hours ago 0 replies      
Phage therapy is very promising but it's labor intensive and specific to each particular infection. That also poses a monetization problem for pharmaceutical companies who prefer to create a pill that can be universally applied to many patients, which is perhaps why it is not more widespread.

But, it is currently practiced in Poland and Russia.

https://en.wikipedia.org/wiki/Phage_therapy

7
mrfusion 1 hour ago 0 replies      
Funny, I actually came across this the other day in my endless quest to cure my worsening gum disease: http://aem.asm.org/content/76/21/7243.full.pdf

I wonder why they never pursued it further. Their results sounded promising.

8
ARothfusz 5 hours ago 2 replies      
Is this part significant?

> A virus from a pond just 40 miles from his house apparently gave him a new lease on lifeand gave a new meaning to the term local medicine.

That is, are phages for a specific bacterium more likely to be found local to the person infected? Would they have been even more likely to find the right phage if they had collected samples from the patient's neighborhood, family and friends? Nearby people who weren't infected?

9
mrfusion 1 hour ago 1 reply      
I never understood how they produce these phages. You can't just make them in a factory.
10
danielmorozoff 4 hours ago 0 replies      
There was a bunch of work done on bacteriophages by the soviets in the pre antibiotic era and then later as part of the bio weapons programs.

https://en.m.wikipedia.org/wiki/Phage_therapy

11
rubicon33 4 hours ago 1 reply      
What I found slightly disturbing from this article was that the cure for the bacterial infection, was to drink pond water.
12
norea-armozel 4 hours ago 0 replies      
I wonder if the study of these phages can give us better treatments than just gambling with cocktails of the phages themselves. Like understanding their point of infection and how we can exploit that to deliver some chemical to kill the hostile bacteria more effectively.
29
LowRISC An open-source, Linux-capable System-on-a-Chip lowrisc.org
294 points by hkt  14 hours ago   79 comments top 10
1
asb 12 hours ago 5 replies      
I'm one of the founders of lowRISC, a not-for-profit effort to produce a completely open source, Linux capable, multi-core SoC. Fundamentally, we believe that the benefits of open source we enjoy in the software world can be applied to the hardware world will have a huge positive effect on the hardware industry, academia, and wider society. Much like with Raspberry Pi, our approach is to lead by _doing_ which is why we're working to create our own SoC platform and low-cost development boards.

I should point out the title has been editorialised slightly inaccurately. Rob Mullins is a fellow co-founder of lowRISC and was also a Raspberry Pi founder, and I took a leading role in Raspberry Pi software work for a number of years, but it's not really accurate to say lowRISC is backed by "the makers of Raspberry Pi".

If you have any questions, I'll do my best to answer (I'm on a short holiday right now, so have slightly intermittent internet access).

2
cryptarch 13 hours ago 5 replies      
I'll take a fully open-source computing device with Core2Duo-like performance any day, especially if the CPU is open source too. I'm just hoping it won't have any firmware blobs.

Would this being built on RISC-V help with getting a formal CPU spec?

3
Lio 13 hours ago 2 replies      
It would be interesting to get RMS' thoughts on this project.

Finally the prospect of fully Free mainstream computers looks like it's becoming a reality.

4
BuuQu9hu 13 hours ago 0 replies      
An interesting talk from the RISC-V folks:

https://youtu.be/QTYiH1Y5UV0

5
Zekio 13 hours ago 2 replies      
I can't wait for these System on a Chips to be used on a Single Board Computer, which is priced around the same as a Raspberry Pi
6
optforfon 11 hours ago 3 replies      
I'm not really fully involved in the ecosystem too much, but has open source hardware really paid off? Like I see that you can get cheap knockoff Arduinos - but that's not really moving things forward. Are people forking board designs and selling their own twists? (honest question..)
7
tyingq 10 hours ago 2 replies      
I understand it would be highly speculative, but is there any research out there on the predicted performance of the first run of production ready RISC-V processors?

(Especially as compared to popular ARM or Intel processors)

8
cyphar 9 hours ago 1 reply      
Can anyone find a link to the actual HDL files? I couldn't find a single link on the website to where the source code for the SoC is (and they are very vague about what license the HDL is under).
9
saycheese 9 hours ago 0 replies      
What, if any, hardware or code will not be open source on the build you plan to offer that is required to run it?
10
cmrdporcupine 10 hours ago 1 reply      
I'm eagerly awaiting this project, I can't wait to get my little consumer hands on a RISC-V board to play with. They're doing great work, but is it a bit delayed? I read about this project some time ago and thought they were further along.
30
How the number zero was discovered bbc.com
81 points by ohjeez  7 hours ago   30 comments top 9
1
inopinatus 5 hours ago 3 replies      
We really are quite unkind in naming the numbers, or at least the difficult ones. We call them Zero (via Fibonacci's "zephiram", from the Arabic "sifr" meaning "empty"). Negative (from the Latin "negare", "to deny"). Irrational. And so on, in an escalation of denial: Imaginary. Transcendental. Supernatural. Surreal. There's more than a suggestion here that, on encountering the construction of each, the gut feeling is to reject their right to exist.

(Counterpoint; the ones we like are the ones we can grasp intuitively, and they receive more complimentary names: positive, natural, rational, prime. "integer" is Latin for "complete, sound, healthy")

It won't end, we'll always be discovering new number systems, so perhaps we should reserve terms now. Paradoxical numbers, anyone? Or repugnant?

2
pavel_lishin 7 hours ago 0 replies      
I'm going to take this opportunity to plug this series of videos on imaginary numbers, which covers the discovery/invention of zero to a small extent: https://www.youtube.com/playlist?list=PLiaHhY2iBX9g6KIvZ_703...

I think it's just under an hour's worth of videos, in five minute chunks, covering both mathematics and history.

3
happy-go-lucky 4 hours ago 1 reply      
The etymology at https://en.m.wikipedia.org/wiki/nyat is helpful.

> "nyat" (Sanskrit) is usually translated as "emptiness," "hollow, hollowness," "voidness." It is the noun form of the adjective nya or hnya, plus -t:

> nya means "zero," "nothing," "empty" or "void". nya comes from the root vi, meaning "hollow".

> -t means "-ness"

There are many loanwords meaning shunya or zero in many Indian languages and they are all adopted from Sanskrit.

4
kxyvr 2 hours ago 0 replies      
I find zero to be an interesting concept in the applied math world because depending on how you want to visualize it, it leads to different numerical methods. For example, think of how we represent a zero vector on a computer. Basically, we have an array of floating point numbers, but it's sort of hard to exactly pin down when we want to define this array as zero. We could look at all of the individual elements; we could sum them; etc.

Anyway, the two most used methods are to call a vector zero when its norm is zero or to call a vector zero when it's orthogonal to all other vectors in the space. The first approach leads to least-squares approaches, which gives things like GMRES or QMR in linear algebra or first-order system least-squares (FOSLS) finite element methods. The second approach leads to Galerkin and Petrov-Galerkin algorithms, which gives things like CG in linear algebra or more standard Galerkin or Petro-Galerkin finite element methods.

Anyway, that's just an aside, but I wanted to add that how we visualize zero has a definite computational, algorithmic affect.

5
esnible3 6 hours ago 1 reply      
Nice photo of the oldest zero known, at Angkor Wat, Cambodia, dated 683 ADhttp://www.smithsonianmag.com/history/origin-number-zero-180...

The previous contender was the zero at Gwalior in India, dated 876 ADhttp://www.ams.org/samplings/feature-column/fcarc-india-zero

6
Amorymeltzer 3 hours ago 0 replies      
I've commented on this on a previously-posted story[1] but the history of zero is really worth digging into. I'll repost the little poem I mentioned previously:

>U 0 a 0, but I 0 thee

>O 0 no 0, but O 0 me.

>O let not my 0 a mere 0 go,

>But 0 my 0 I 0 thee so.

As noted in the comments here, "cipher" used to be another name for zero/0, so the above reads as:

>You sigh for a cipher, but I sigh for thee

>O sigh for no cipher, but O sigh for me.

>O let not my sigh for a mere cipher go

>But sigh for my sigh, for I sigh for thee so.

Which, of course, explains why Neo, The One from the Matrix, had an enemy named Cypher.

1: https://news.ycombinator.com/item?id=9196813

7
zingermc 5 hours ago 3 replies      
> In 1299, zero was banned in Florence, along with all Arabic numerals, because they were said to encourage fraud. Zero could easily be doctored to become nine, and why not add a few zeros on the end of a receipt to inflate the price?

I'm really curious about this part. It sounds like they were already using Arabic numerals. How did they intend to express numbers like the ones mentioned in the first paragraph, like 101?

8
visarga 5 hours ago 4 replies      
> shunya

Straight from Buddhist meditation, meaning "emptiness" -> and now it's the basis of math and science. And it's not just zero, take a look at the pronunciation of numerals in Sanskrit:

0 nya - Arabic "ifr" -> Latin "zephir" -> "zero"

1 ka - Greek "ena" -> Latin "unus" -> English "one"

2 dvi - like the prefix "di-" or "bi-" meaning double, German "zwei" -> English "two"

3 tr - like "three"

4 catr - like "quatre" in French

5 paca - like Greek "pnte"

6 - like six, or "ase" in Romanian

7 sapt - like seven, or "apte" in Romanian

8 a - like German "acht", English "eight"

9 nva - like nine, or "nou" in Romanian, which also means new in both languages (new sounds like nine)

10 dagan - like Latin "decem"

It's amazing how much Sanskrit is in our languages.

9
_nrvs 4 hours ago 1 reply      
A fantastic longer read on the topic is "Zero: The Biography of a Dangerous Idea" by Charles Seife highly recommended!
       cached 8 December 2016 23:02:01 GMT