How Google Cost Me $4 Million - <AUTHOR> http://www.inc.com/magazine/20100901/how-google-cost-me-$4-million.html

<comment><USER2> You had me until "I called the two companies we hired to improve our ranking." Google did not cost you $4 million, the fact that you were spamming Google did. As it very well should.

<comment><USER3> Developers can and should take care of SEO themselves. No so-called experts needed. I did a talk about it this weekend at Lone Star Ruby Conf:

[http://www.slideshare.net/luigimontanez/searchfriendly- web-d...](http://www.slideshare.net/luigimontanez/searchfriendly-web- development-lone-star-ruby-conference-2010)

<comment><USER4> SEO is great for developers but he was paying for SEM, those folks cold contacted sites to link back to him, that takes a lot of time to do and SEO alone won't get you to the top of the SERPs for common keywords.

<comment><USER3> Cold contacting sites to ask for linkbacks is not marketing, it's a lame and rarely successful attempt to game PageRank.

<comment><USER5> 1\. It's PR. PR via email, but still PR.

2\. Maybe it's lame.

3\. Rarely successful? Any data there? It has certainly worked for the people I've done it for.

4\. PageRank is not the goal. Qualified, revenue-producing traffic is the goal.

<comment><USER6> Of course PageRank increases qualified, revenue-producing traffic.

</comment></comment></comment></comment></comment></comment><comment><USER7> His site still looks like SEO spam so I'm not sure he learned his lesson. There are tons of content-less pages to keyword stuff like this:

[http://www.gourmetgiftbaskets.com/Gift-Baskets-Cleveland- Oh....](http://www.gourmetgiftbaskets.com/Gift-Baskets-Cleveland-Oh.asp)

I also find it odd that every page features 20 logos from media outlets. That doesn't get them anything and I seriously doubt mentioning the Colbert Report helps sell gift baskets.

Link trading is still advertised, which seems risky considering that's very close to what got them in trouble in the first place.

<http://www.gourmetgiftbaskets.com/partners.htm>

</comment><comment><USER8> Title correction for the original article:

 _How we admitted to violating Google's trust and threw away $4 million in business._

<comment><USER9> or _How we gamed Google to lay the foundation for our success_

Would they have had the opportunity to lose $4M if they hadn't gamed Google?

<comment><USER8> I wonder if they could have had $1M in business without getting greedy (or any SEO whatsoever).

</comment></comment></comment><comment><USER10> I'm pretty sure I know the specific SEO that broke Google's guidelines and paid for links that pass PageRank, which led to this site not ranking as highly. But I'll leave it to the gift basket company to see if they want to call out which SEO it was that got them into trouble.

<comment><USER6> Hi. Very nice to see you here Matt. Logically, what is the difference between paying for links and spamming sites, or, spamming webmasters, or other active link building practices?

Also, I wanted to ask, what is the difference between advertising on a website by the way of them putting my link on their site, somewhat like the google link ads I suppose, but on a more permanent basis, that is, at what point does direct link advertising for exposure to the traffic of that certain website become link buying?

Should google not try and rely on other variables which are more reliable determinants of quality than links?

<comment><USER11> Or what is difference between paying for spamming ads and paying for google ads?

Oh wait, I know this one: with the second one Google makes billions.

</comment></comment></comment><comment><USER12> I have 60000 fans on my facebook page and it doesn't really help me. So when I hear about ~3000 fans, I don't see how you can do something of it. Same remark for tweeter

<comment><USER13> Why is this down-voted ?

One of his big "lessons" is doing social-media. Can't imagine how much money he spends on FanPage and Twitter.

Only can wonder if that expense pulls him any clients (especially compared to Google's search).

</comment></comment><comment><USER14> I'm not defending the dodgy SEO company but I think a lot of people forget that for a long time buying links was a perfectly "normal" practice and was not penalised by Google (it was a grey area, but at the time - everyone was doing it). Then Google ran an update and lots of sites got penalised for doing it.

In this guys case, it may not even have been an update that did it, but the results of their competition sending a report to Google's web spam team - I've seen this happen to people I've built sites for in the past. It's a morally questionable tactic, but I've seen sites benefit by focusing on bringing their opponents down rather than boosting their own ranking.

<comment><USER6> Morally questionable? I suppose it is the old dilemma of whether you should tell the teacher that someone is cheating in their exam. I never did, but you certainly should and have the moral high ground because they are not playing fair.

</comment></comment><comment><USER15> I bet this guy now would be willing to pay Google $100K+/year for personalized escalation services should such an issue arise again. What if Google had one set of rules for every site it crawled, but offered a personalized appeals process for those who paid up? I'm not sure if I like the idea or not. Let's presume that any "penalty box" algorithms end up (A) wrongly punishing some and (B) incorrectly ignoring others. What if Google's search results changed as a result of this "court only for those who pay" policy such that only those in Category A who didn't pay up were excluded? Would Google's evilness be reduced compared to the current state of affairs? Of course, Google would be less evil if it offered everyone their day in court for free.

</comment><comment><USER16> Does a flower or giftbasket shop really need to tweetspam everday?

</comment><comment><USER4> What were the two SEO companies he hired? Even though they cost him $4 million in sales he wasn't making that $8.9 million a year without their help.

</comment><comment><USER17> I have to admit, I hate seeing SEO posts submitted here. Not because I don't like them, but because of the ignorance so many of you show towards any use or mention of SEO.

SEO isn't bad, Google themself has an SEO guide they released for webmasters. Building links is not a bad thing, Google created the entire link building game by relying on them for determining ranking.

Some of you need to step down from your damn pedestal and realize that marketing makes money. No one is going to link to your site if they don't know it exists. Link building and SEO is not illegal, and is a very valid way to make money.

I would imagine the vast majority of you have nowhere near enough experience to even comment on the use of SEO as opposed to when it comes to something like another Haskell VS. OCaml post.

EDIT: for misuse of a word

<comment><USER6> Be civil. No need to tell us what we know or do not know, we know that much better than you. Rather tell us what you know which is of relevance to the topic in discussion.

<comment><USER17> Quite frankly, a group of people whining about someone gaming the system of a massive highly profitable company and not really understanding the underlying dynamics of said practices is something I feel needs to called out and denounced. I don't criticize the australian government because I'm ignorant of their setup.

The majority of people here think the only morally acceptable form of seo is using h1 tags and making sure to have alt tags on their images. There's a whole different side of seo that must be used in order to even tread water in most markets.</comment></comment></comment>


Multi Window Apps: Persistent DomEvents - <AUTHOR> https://www.youtube.com/watch?v=a6SSRT2j-OE&feature=youtu.be <comment><AUTHOR> Loading a framework just once for multiple Browser Windows.

Moving entire Component Trees around Windows (just the vdom, no new JS instances).

DomEvents still work out of the box (no need to add new listeners or modify existing ones).

[https://github.com/neomjs/neo](https://github.com/neomjs/neo)</comment>


Only Apple could get away with killing the headphone jack - <AUTHOR> http://www.vox.com/2016/9/7/12816066/apple-headphone-jack <comment> Johan-bjareholt Wow, that was a long article for something very obvious. Its not because they have guaranteed sales, its because they are one of the biggest smartphone brands in the world! Its that simple! There are Chinese brands already who have removed the aux jack and include a type-c to 3.5mm adapter, their sales are doing fine. The difference is that these Chinese brands are not big enough to be a trend setter and this won't catch on until some bigger brand starts with it.

<comment><USER2> So how are you supposed to charge one of these phones and use headphones at the same time, with only one USB-c jack? Do they use some big, clunky Y-adapter (USB-c to USB-c and 3.5mm, plus included circuitry)? That basically defeats the whole point of removing the 3.5mm jack in the first place, which is to save space; now you have to carry around a clunky adapter just to use your headphones. This is at least as stupid as eliminating easily-swapped batteries and SD cards.

<comment><USER3> Why do headphones need wires? Why should your phone power them, or send them analog signal decoded from digital? Why not let music fans listen to their decoder and amp of choice?

Wires suck.

The jack, dongle, charging are only problems if you assume wires persist. If only Apple were positioned to persuade a popular headphones company to ditch them...

<comment><USER2> Without wires, the headphones will need a power source. That means a battery. That means you now have to worry about keeping _two_ devices charged all the time, instead of one. And the battery in some headphones is going to be necessarily small, because who wants a big heavy battery hanging off their head or ears? Why do I want to worry about my headphone battery dying while I'm using them? I don't have to worry about that stuff with regular earbuds.

If you want to haul around extra boxes full of electronics and batteries (decoder and amp of your choice), feel free. The rest of us are happy with cheap earbuds, and don't want all this extra complication.

<comment><USER3> I have a cell headset that stores in a charging case. Such a brilliant balance in convenience and battery life. I have never once thought about whether the headset is charged. Same play Amazon did with the Kindle Oasis cover, and now Apple with these. You're going to want to keep the two parts in something, why not a charger case?

Your heavy battery hanging off ears comment is like people hearing about a Walkman asking how you'll fit LPs in your pockets anyway:

[https://prudentgroove.com/2013/03/29/the- triple-p/](https://prudentgroove.com/2013/03/29/the-triple-p/)

// PS. I highly recommend carrying an amp matched to drivers on your head. In particular, this set: [http://blue-headphones.com/powered.php](http://blue- headphones.com/powered.php) ... an ideal candidate to add a nice DAC to in a future model.

</comment></comment></comment></comment></comment><comment><USER4> There's no evidence that wireless earphones are "better" in any sense. Right now, if I let the earphones just dangle, they stay together and attached to the phone nicely. If I take out the wire, both earphones stay together because they are attached. There is even a logical place for a microphone and controls on the wire, depending on the model.

What can I do with wireless earphones? Oh that's right, I can lose ONE but not the other; or I can lose both; nothing tethers both of them and the phone together. Oh, and there is probably going to be some reduction in audio quality for the sake of the wireless trend.

<comment><USER2> Yeah, but consumers are stupid and care more about trendiness than function or quality. Beats headphones are proof of this: people will spend a small fortune on ugly, poor-sound-quality headphones just to be trendy. Even worse, these headphones even have weights added in to make them "feel better", even though having extra non-functional weights sitting on top of your head is incredibly stupid from an anatomical point-of-view.

</comment></comment><comment><USER5> I appreciate the idea that Apple is able to take bigger risks based on their secure position in the market but it is still hard to look at this move as anything more than a means to force more users to buy Apple brand headphones.

Granted, I have no idea what an 'upgrade' from a headphone jack to thunderbolt port could imply. If it is possible to increase sound quality through thunderbolt or reduce phone costs based on the absence of a second port then I'll gladly welcome the change.

I guess their justification for doing what they're doing remains to be seen and time will tell.

<comment><USER6> "Reduce phone costs"

Fat chance

<comment><USER5> Yeah, that's more wishful thinking than anything else</comment></comment></comment>


Ask HN: What is a "developer evangelist"? - <AUTHOR>

During last week's PyCon events with Adria Richards, the role developer evangelist was mentioned a lot. We don't have those where I come from (or at least I'm not aware of), so please enlighten me what the official duties of a developer evangelist are, how do they fit into a company, and how their success is measured?
Thanx <comment><USER2> Last summer I was working at a small company and Adria came to 'evangelise' to the developers (I think) about using SendGrid in our product.

She came to the office, took the dev team out to a local ice cream shop (hot summer day, greatly appreciated) and then seemed to hang around after for a little while talking to our PR person, and a little to the CEO who is non- technical and wasn't going to make a decision about which email service we used.

To me, that didn't seem particularly good evangelism for developers. Conversely, I have seen a Twilio developer do a 5 minute talk for other devs, and it was basically a short bit of code, and a really cool 'wow' moment that got us all interested. That evangelist was a developer.

Maybe Adria wasn't a good developer evangelist, maybe this was because she wasn't a developer, I don't know if the two are linked. It is possible that she didn't really come to see us to preach the virtues of SendGrid, but rather just to make sure they were on our radar, which the free ice cream certainly helped with.

</comment><comment><USER3> Jeff Barr, the Chief Evangelist at Amazon Web Services, strikes me as my model for a Developer Evangelist. Communicator, connector, storyteller, passionate.

He gave a very good presentation on Amazon Web Services. Not just technical content but enough marketing content to make you feel like AWS was something worth investing your technical learning time in. If someone had a question about S3/EC2 that he could answer, he answered it to the best of his ability. More importantly, if someone had a question he could not answer, he stated that he did not know the answer and he knew someone on the larger AWS team that he could (and would) get the person in contact with (if they gave them their business card after the meeting).

In his talk, Jeff threw in some entertaining anecdotal/behind the scenes stories about AWS. For example, Smugmug (at the time) was charging all of its AWS fees on a Corporate Amex card. Which qualified them for multiple round- trip airplane tickets to Europe or wherever every month.

For the developers in the audience who weren't using AWS, I felt like this was another positive push towards the tipping point to start using it - _even_ if our current jobs were not cloud-oriented.

And, boy, he was passionate. Not in the sense of Steve Ballmer yelling at developers but evangelical in wanting to spread the good word of AWS.

</comment><comment><USER4> I have had a serious question about this all week. From everything that I've read this woman is very demanding in her professional life and not always the easiest person to accommodate. Why on earth is she in the one role the requires the most community interaction? Why would you not select someone for that role who tries to put their best face forward and represent your company to the best of their abilities while being judicious in their interactions with others? I am really lost on this one.

<comment><USER5> Perhaps she is really good at her job despite these drawbacks you claim she possesses? Perhaps because her professional interactions normally don't contain anything that pushes her buttons?

I've interacted with tons of people in similar positions (though not Adria specifically), and I've never had the relationship get anywhere near any kind of button pushing, aside from some friendly competitive banter (oh, you use X? you really should try our Y...).

<comment><USER4> Sorry I should have cited my source:

> Amanda Blum a female figure in the tech community shared her thoughts on the > situation. She defined the entire fiasco as a loss for everyone and pointed > out that Richards, "is not an easy person [to work with]". Blum suggests > that Richards doesn't have a positive track record in the tech community.

[http://www.businessinsider.com/female-tech-community- adria-r...](http://www.businessinsider.com/female-tech-community-adria- richards-2013-3)

I don't claim to know anything she possesses, only what I have read. Still I'm left wondering, is the role of "developer evangelist" mainly not one of community interaction? And if it is, is it not outside the realm of possibility that she will encounter things that "push her buttons"? Geez, I would feel awkward being in the same room as this lady knowing this is one step away.

</comment></comment></comment><comment><USER6> From <http://en.wikipedia.org/wiki/Technology_evangelist>:

 _...a person who attempts to build a critical mass of support for a given technology, in order to establish it as a technical standard in a market that is subject to network effects._

Essentially, a PR person for the company who works by interacting with developers. They attend conferences, respond to developer concerns regarding the product, etc.

<comment><USER7> How can a non-developer be a _developer_ evangelist? I'd prefer to get my share of dev evangelism from someone who actually uses (and is one of the developers of) the tools & technologies s/he's promoting. (a great example of this is Paul Irish)

<comment><USER8> Most(if not all) Developer Evangelists are developers and do other functions as well (Afaik).

A Dev Evangelist needs to talk to developers and get them interested in their product/service and convey its efficiency to them, only a fellow developer would be able to do that.

</comment></comment></comment><comment><USER9> I'm finishing my undergrad in CS this year and was approached by Microsoft to interview for a "Technical Evangelist" position. The only questions related to programming were:

1.) "Describe Polymorphism" and 2.) "What are the differences between Inheritance and Composition"

The other questions were very head-in-the-clouds, like "What is the biggest problem in existence today that can be solved by software? If you had a budget and a team, how would you solve it?"

So weird.

Anyways, I was dumbfounded at the simplicity as this was in the middle of other hard-core technical screens from Amazon, Google, Facebook, and eBay for software dev. positions and the interviewer claimed over and over again that this was a programming position and your ability to code was #1. Why didn't they ask me questions to help determine that?

I've since been onsite at MSFT for other reasons and sat down with Technical Evangelists talking about different MSFT platforms. They seemed skilled at programming, and had the background to seem legitimate as engineers. This is what I think Microsoft and other companies really want. The job isn't technical but you need to look credible to the people you are working/speaking with. And above all I think you need to be diehard believers in the product/company.

</comment><comment><USER10> Based on some of the things I read on her blog and here, it seems like a mix between "developer advocate" and "forward sales". She mentions something about listening to developers talk about ridiculous hours, demands, etc.

It's a clever position for a company selling to other technology companies. First they send a person who cares about your time, who speaks your language, who _advocates_ for _you_ \- no, who _evangelizes_ you. This person is trying to unite the developer community, bring in fresh faces, embrace unrecognized communities... this person cares about developers. Next they tell you that, although the industry really needs to change, _product x_ can ease your life in the meantime.

My last position was at a education startup. They used the same tactic, only instead of "evangelists", we sent former professors and teachers who were simply consultants. Their ability to gain traction in schools depended on their importance in the community -- hence, they give talks, blog about the educational issues, etc.

</comment><comment><USER11> Developer Evangelist's are _not_ PR, Marketing, Sales or Recruiting and they are _not_ coding all of the time either - although there are some of these involved. Essentially a Developer Evangelist's role is like a combination of Business, Product Development, Customer Care and everything that is in- between/connected to those roles.

The main role of a developer evangelist though is as a _translator_. By translator, I mean that they have to explain their product/technology to different audiences in order to get their support. A good developer evangelist gets people/developers excited about a product/technology by pointing out the benefits to the developers who are going to be the ones actually using the product. Thus, developer evangelist's need to be technical because, there is some coding involved in their role and they need to express/find the story in a technical message to get people/developers excited about a product/technology.

</comment><comment><USER12> I was hired as a technical community manager/evangelist. I've chosen to take on neither of those titles in the few months that I've been in this position. I've been a dev since high school and still consider myself to be one (although sometimes it can be a while in between chances to write code).

I put "Vim Wielder / Cat Herder" on my business card. Turns out the cats I herd tend more often to be executives than developers. Developers are great: you show them a great product and help them to use it and they're on your side. Helping executives understand how tech community works can be difficult at times.

I can't comment on what particular brand of developer evangelist Adria Richards was, but there are many kinds. I'd hope that she was one who writes code and who contributes to thte community rather than just selling to it.

</comment><comment><USER13> e·van·ge·list: A person who seeks to convert others to the Christian faith, esp. by preaching.

Where "Christian" you can put whichever company grows along with it's API/code/lib usage and utilization by others.

As I see it it's a purely "hype" role and it's essentially a tech-aware marketeer seeking to attract fellow developers and engineers to work and experiment with his company's platform and products.

<comment><USER14> It depends on the role. It can range from a tech-aware marketeer to an actual software engineer by trade who writes code samples and materials for the company's website or some combination there of.

</comment></comment><comment><USER15> i can suggest watching the Visual Studio Documentary from MSDN ([http://channel9.msdn.com/Series/VisualStudioDocumentary/The-...](http://channel9.msdn.com/Series/VisualStudioDocumentary/The- Visual-Studio-Documentary-Part-One)). In the series, two woman explains what they did while MS tries to popularize their IDE and new programming languages back in 90's. Women were (and still) developer evangelists at MS. They arrange events, they give free MS software to developers and they support developers 7/24.

By the way, sorry for my bad english.

</comment><comment><USER16> Someone who (most likely) isn't a developer but works to get developers who don't work for the evangelist's company to like said company.

</comment><comment><USER17> I don't have the answer, but thank you for asking it! It never occurred to me to do an Ask HN.</comment>


Gonum – Numerical Computing for Go - <AUTHOR> http://www.gonum.org/post/introtogonum/ <comment><USER2> How does this play with Go's scheduler? My understanding is that the Go scheduler is not preemptive, and goroutines are switched out at yield point, like the start of a function body. So tight loops that don't call other functions can effectively hog the OS thread until it leaves that loop body (No idea what happens when doing FFI, maybe that's done in a separate thread pool?). For most cases where you would use Go you aren't generally doing a bunch of CPU-bound work so that doesn't matter, but here you might run into some hiccups. I'm specifically thinking of a case where you use this library to do some heavy matrix operations as part of a web service, and those tight loops hog the OS threads and hurt your bandwidth and p90 latency.

My question to the developer: is that issue something you've encountered with this library? If not, did you design the library to periodically yield in tight loops, or am I just completely wrong about the Go scheduler?

<comment><USER3> I don't use Gonum with a webserver + large calculations so I can't definitively answer. No one has reported problems, but that could be a lack of usage. One thing though is that matrix multiplication (which is a kernel for higher-level operations) is written in a blocked format, and the code can be pre-empted on any of those blocks, so I wouldn't suspect it's a problem.

<comment><USER2> Yeah, skimming your source it seems most of your loops involve calling some function, and even if that's inlined I believe the Go compiler will put a speculative yield call in there.

I suppose my hypothetical would be an issue if you used a non-Go BLAS implementation, as calling out to C will hog the OS thread. But this is a known issue (e.x. [https://www.cockroachlabs.com/blog/the-cost-and- complexity-o...](https://www.cockroachlabs.com/blog/the-cost-and-complexity- of-cgo/)).

<comment><USER4> The solution to that is to write a C-batcher. Gorgonia uses that (optional) - [https://github.com/chewxy/gorgonia/tree/master/blase](https://github.com/chewxy/gorgonia/tree/master/blase)

(also it's undergoing major reconstruction/refactoring right now)

</comment></comment></comment></comment><comment><USER5> A solid, featureful & performant numerics library seems like a really good match for Go---if it can match numpy but also provide benefits like the safety of types, binary compilation, and better performance in non-numeric code, that's a really exciting case for sliding away from python?

<comment><USER6> I have done some numeric programming in Go and compared to Python it's really hampered by the lack of operator overloading.

Of course, it just provides convenience, but it's what makes writing stuff in numpy, Tensorflow, Eigen, etc elegant.

<comment><USER7> As of reading your comment, I'm 100% convinced that Go needs generics. I'm a longtime Go advocate, love coding in Go, but until now thought the lack of generics is just fine.

Lately I do a lot of numpy/tensorflow, and have begun to really dislike the slowness of python. It would be great to do that work in Go specifically.

<comment><USER8> One of the big perks of Julia comes from its built-in multiple dispatch. Overloading is one thing, but full-blown multiple dispatch is really powerful in a math context, where the concept of "multiplication" is entirely dependent on the types of things you are multiplying.

In Python (despite there being an excellent `multipledispatch` module) this is mostly just handled by aggressive duck typing ("if it has a .foo method, it's good enough"). In R it's handled with S4 classes, which are cool and kind of CLOS-like but are even slower than single dispatch.

So I guess my question is: why do you need generics when you have interfaces? These other (admittedly dynamically typed) languages make do without.

<comment><USER9> "So I guess my question is: why do you need generics when you have interfaces? These other (admittedly dynamically typed) languages make do without."

Going backwards, as you allude to, dynamic languages fulfill the use cases for generics, as long as you don't care about type safety, which is a thing that is true for the whole language anyhow so it's not much to give up.

For Go, the main problem is that when you're trying to be mathematical, with interfaces you get the worst of both the static and the dynamic worlds. You might like to define an interface that lets you add two vectors, right?

        type Vector interface {
            Components() []float64
        }

        type Add interface {
            Add(Vector) Vector
        }

which might let you implement an Add method on something that is a Vector as well, but you don't get a satisfactory result from either perspective. From the static perspective you can not, using interfaces, guarantee that someone doesn't add a Vector3 to a Vector2, meaning you must either panic at run time or have Add potentially return an error (that will generally not be necessary to check if used correctly, which is not a pleasant error to work with). From the dynamic perspective, you have to remember that what comes out the other end of that operation is _always_ an Add interface value, not a concrete type, so if you have a Vector2 and .Add(Vector2) to it, you don't get a concrete Vector2, you get a value of type "interface Add", which you have to manually cast back to a Vector2 if you want to do anything more than just keep adding to it.

You can make Vector2 have a distinct .Add(Vector2) method which does return a Vector2, but then if you also have a "func (v Vector3) Add(Vector3) Vector3" function, there is no way to declare an interface that both of those methods can meet, so you can not write any dimensionally-oblivious code that uses generic vector adding.

In "normal software engineering", Go's interface limitations are often not so bad, certainly not as bad as is often portrayed on HN. However, when you try to create a strongly-type numeric system (and you want it to be strongly-typed because that's also how you get good performance), Go's interface mechanism is basically worthless.

<comment><USER10> > and you want it to be strongly-typed because that's also how you get good > performance

What you get performance from is the absence of dynamic checks, not the presence of static ones. Of course, in the absence of dynamic checks, you want static ones for your sanity's sake - but not for performance's sake!

<comment><USER9> I was speaking in the context of Go. In general, this is the sort of code that JITs are so good at handling that they tend to fool people into thinking they are miracle workers everywhere else where the JIT expense _isn 't_ being amortized across million-row matrix multiplications. But Go doesn't have a JIT, and its performance is good enough that I don't expect one to emerge any time soon. (Languages running 50x slower than C have a lot more pressure to try to solve that problem with a JIT than languages that are only 2-3x slower than C.)

<comment><USER11> > But Go doesn't have a JIT, and its performance is good enough that I don't > expect one to emerge any time soon.

that's true. that is... until a (real) Go interpreter shows up. something that's bound to happen when Go will be used for (data) exploratory work.

<comment><USER9> I poked around with writing a Go interpreter a while back. There are a number of issues that make it practically infeasible. You can get some hacked-up stuff off of GitHub, but those hacked up things are pretty much the best you can do right now.

But as per my other thread in this thread, if the scientific community becomes big enough I wouldn't be surprised they fork Go entirely, at which point that opens up a lot more options.

<comment><USER11> as I am working on [https://github.com/go- interpreter/wagon](https://github.com/go-interpreter/wagon), I'd be very interested in these issues you're talking about.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> "By default, blas64 and lapack64 call the native Go implementations of the routines. Alternatively, it is possible to use C-based implementations of the APIs through the respective cgo packages and "Use" functions."

Performance comparison? Algorithmic equivalence? How close are the results numerically (e.g. how do they compare on badly conditioned matrices)?

<comment><USER3> The algorithms are (basically) equivalent, and are translations from the Fortran (though row major instead of column major). As far as I know there are no major differences in the answers, though for extremely poorly conditioned matrices (1e14 or so) you shouldn't expect consistent answers across any implementation.

The performance story is complex. Typically we're the same speed on small matrices (and using Go is faster if you include the cgo overhead). We currently have significant speed penalties on large matrices (300x300 or so), but Kunde21 is working on assembly kernels for the BLAS functions to close that gap

<comment><USER2> I'm surprised your performance is anywhere near that of standard BLAS implementations. The Golang compiler doesn't have support for explicit SIMD or auto-vectorization, so that's a big performance gain just sitting there.

<comment><USER3> For small vectors and matrices the cgo overhead swamps the assembly speedups. For large vectors cache misses dominate, and the assembly doesn't matter as much. It does matter significantly for medium vectors and large matrices. In that case we provide cgo wrappers and are working on SIMD kernels.

</comment></comment></comment></comment><comment><USER11> I have been using Gonum for some time now (also contributed, mostly in the plotting area).

Last summer, I tried an experiment: have a student migrate a little python- based analysis to a Go-based one. The analysis was fitting some cosmological constants out of the so called Hubble diagram.

I was pleased to see that, in the span of 2-3 months, the student who had limited knowledge in programming (a bit of python), managed to pull off the minimization of a 740 supernovae dataset with a 2220x2220 nuisance parameters matrix.

and the run time was 2x faster than the python one (with scipy/minuit for the minimization, so everything in C/C++, really).

success. :)

(and this motivated us to completely switch to Go as a teaching language for our master in particle physics / cosmology.)

<comment><USER13> I suggest you take a look at Julia. I think it's a much better fit for that type of work...

</comment></comment><comment><USER14> I can't wait till the Go team starts giving these packages more love from the performance perspective. Now that the compiler has an SSA backend we might start seeing more SIMD and other optimizations, but it's still a ways to go before performance is comparable to bare C libraries for heavy computation and tight inner loops.

</comment><comment> brian-armstrong Honestly, I don't think that Go is the right language for this. I've used Go quite a lot and it feels like it mostly just gets in your way. You can't really do memory management, which will likely impede performance for numerical work. There's no operator overloading either.

C++, for all its flaws, seems to just generally be a more well-conceived language and more generalist than Go. The only place I really feel like Go works is specifically in the context of moving bytes from one socket to another.

<comment><USER15> What kind of memory management do you need that Go doesn't provide?

It's not too hard to write Go to minimize allocations (and most short lived allocations end up on the stack anyways unlike other languages [1]). If you really need a lot of allocations you can always use [https://golang.org/pkg/sync/#Pool](https://golang.org/pkg/sync/#Pool) to avoid GC overhead.

[1] [https://groups.google.com/d/msg/golang- nuts/KJiyv2mV2pU/wdBU...](https://groups.google.com/d/msg/golang- nuts/KJiyv2mV2pU/wdBUH1mHCAAJ)

<comment> brian-armstrong But if you're doing that, you might as well just use a language with RAII, good scoping and unique pointers. A language like... C++

</comment></comment></comment><comment><USER16> What's the use case for this? Machine learning? But data? General math use?

<comment><USER17> Here at The New York Times we are using it to power some of our recommendation algorithms. We are actually training the models with Python and serving them with Go using gonum.

Our library was just open sourced (and still in my personal account, until we add more documentation): [https://github.com/jbochi/facts](https://github.com/jbochi/facts)

<comment><USER18> This sounds really cool. Anywhere I could read more about the Python -> Go integration? Or are you just exporting the raw weight matrices?

<comment><USER19> We are just exporting the matrices. Nothing fancy.

</comment></comment></comment></comment><comment><USER20> wonder how this compares to numpy/scipy in terms of features and performance. Looks pretty comprehensive.

<comment><USER3> We aren't at full feature parity, but we're pretty close. There are some big things we are missing (ODE, FFT), and we have a bunch of things they don't have (statistical distance measures being one example). We are trying to be pure-go, so it's not at simple as providing a wrapper API. Working on it though!

<comment><USER21> statistical distance measures? is that like tSNE and similar?</comment></comment></comment>


VOIP Armor by Mushroom Networks Grabs the Most Innovative Product Award - <AUTHOR> http://timesofsandiego.com/business/2015/12/01/connect-recognizes-innovations-from-sea-drones-to-smart-earplugs/ <comment><USER2> man this guy has practically zero karma after pitching hundreds of stories</comment>


Canadians can buy, but not sell on Coinbase - <AUTHOR> https://support.coinbase.com/customer/en/portal/articles/2490249-canadian-dollars-cad-withdrawal-process <comment><USER2> Countries affected by this are: Canada and Australia. [1]

1: [https://support.coinbase.com/customer/en/portal/articles/288...](https://support.coinbase.com/customer/en/portal/articles/2882439-why- aren%E2%80%99t-sells-available-in-my-country-)

</comment><comment><USER3> This is a great policy, all exchanges should adopt it. If you can only buy bitcoin and only miners can sell it, everyone will make a lot of money!

I'm kidding, of course.

BTW- it takes about ten days for a new account to buy bitcoin in Coinbase— we are having a post thanksgiving rally... it may continue for another 5 days.

</comment><comment><AUTHOR> I get that they have some limitations; but please at least mention it sometime during registration or during your first purchase. I had no clue until I went to sell despite making a numerous purchases.

</comment><comment><USER4> I was under the impression that visa allows for a payment back to the card if they are CFT enabled.

</comment><comment><USER5> I've switched to another exchange because of this.</comment>


Magic Leap One Video – Diffractive Waveguides Confirmed - <AUTHOR> http://www.kguttag.com/2018/02/14/magic-leap-one-video-diffractive-waveguides-confirmed/ <comment><USER2> Very interesting insight from a former GPU developer at Magic Leap:

[https://imgur.com/a/hIXTQ#e6Vdo3B](https://imgur.com/a/hIXTQ#e6Vdo3B)

He believes they should have focused on making the headset and gone with integrating with a mobile device instead of an integrated SoC...That said there's usually a reason (low-level) engineers are engineers and not product people... but he makes some good points.

The one I most disagree with is "why develop Apps with ML when you could develop apps on Apple (iOS)"

Well one good reason is that a) game developers and VR/AR devs aren't necessarily developing on iOS already yet and b) it's an entirely new (potentially large) new market where you could become a top developer more easily. And they'd still have to build a significant part of their SDK on top of iOS or Android, no?

<comment><USER3> A big barrier to VR is the fact that it doesn't work out of the box and needs configuration. My VR headset is collecting dust since I don't have time to reconfigure it. If you make a device that works as fast as a Nintendo switch (put it on head, turn on and it opens the game) you will have a Really compelling device .

<comment><USER4> Eh? The setup process on Rift is a 5 minute operation, granted the Vive takes about twice as long. Don't see this as significant either way though, not many people drop $400-800 on a piece of kit and then don't bother to use it because they're too lazy to configure it.

<comment><USER5> You're ignoring having to mess around with your PC every time you want to use the Rift/Vive.

<comment><USER6> What do you mean by "mess around"?

<comment><USER5> Well, I don't own a Rift, but I assume you can't just walk up to your PC while it's in sleep mode or whatever and without touching it, put a Rift on your head and automatically continue playing a game you had been last playing two days ago (Something that they've promised the "Oculus Go" will be capable of)

<comment><USER7> If your PC is on and your Rift connected you don't need to touch anything it detects when you put it on and throws you right into the menu we're talking about 5 seconds from it detecting you're putting it on to hitting the menu.

Honestly have massive respect for the Oculus team and their user experience, if I had to boot up Steam every time I used VR it would start to fall into more of a chore.

I definitely see value in stand alone devices for these reasons and for the casual users, but I do also see value in having top end PC power in a tethered device for creatives and serious gaming.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> There seems to be several people with a tech hardware background that doubt that Magic Leap can deliver on their promises. But somehow they have no problem raising money or getting publicity. Either they have something that is real and _extremely_ convincing to investors that they have been able to keep very secret, or they have a really slick slide deck made of lies.

We'll know for sure if/when the first production devices go on sale, but if Shaq was wearing a real pair then I don't want them.

<comment><USER3> Theranos had no trouble getting funded and even Walgreens to trust them. They were eventually found out to be charlatans. Just because you can raise money doesn't mean you have anything to back it up. When people are skeptical they sometimes have a grain of truth to it. From what I have read about Magic Leap they seem to have vaporware. Even if they didn't the VR / AR space is getting more and more competitive so the longer they don't release even if they have something it may not even matter.

Usually when people present something that is new an innovative you can understand how they did it. Take for example the new iPhone camera with Face ID. They gave enough details for someone to understand generally how it was done. You can look at the physical pieces of it to see how they did it. Sure Apple may have made some claims that were bending the truth to market it but the technology has applications other than security (animojis for instance). Also, it was an extension of previous technology.

When people do the same analysis with Magic Leap they find that they are outright lying and that they can't actually have anything to backup their claims. Instead they are trying to pass off technology that doesn't have the advantages that they state as something completely different.

<comment><USER9> Walgreens (and CVS) both also sell homeopathic stuff of all kinds, all over.

Even charlatans can sell stuff and make a ton of money. "Can raise money" or "can trick people into buying" (remarkably similar, really) can not in any way be construed as a validation of a product.

<comment><USER10> Agreed. Just getting on a store shelf doesn't mean you have a good product, it just means that store believes customers will pay for that product.

Like you said, Walgreens, a major pharmacy specializing in real medicine, sells homeopathic crap. They also sell very unhealthy food and alcohol. They also sell cigarettes. Not because they believe the product is good, but because that product makes them money.

</comment></comment></comment></comment><comment><USER11> These guys were definitely going to be using diffractive waveguides (photonic crystal waveguides). Look at the LinkedIn profiles of some of the folks on their optical design team (especially the ones with titles that include "Diffractive Optics Engineer"). One had a PhD adviser at Berkeley (Eli Yablanovitch) who originally coined the term "photonic crystal", another wrote a widely used open source implementation of RCWA (S4) while working with a top group in photonic crystal design at Stanford (Shanhui Fan), and some of their engineering leadership came to the company from what was Digital Optics Corporation.

<comment><AUTHOR> It might not have been clear to investors who were fed patents with fiber scanning all over them.

[http://www.kguttag.com/2018/01/06/magic-leap-fiber- scanning-...](http://www.kguttag.com/2018/01/06/magic-leap-fiber-scanning- display-fsd-the-big-con-at-the-core/)

</comment></comment><comment><USER12> I Think its also quite telling that they found the biggest person they could find (Shaquille) to do the physical showcase. On an average sized person these will be massive, and not just look(and feel) like large weird sunglasses. And no, I dont believe that these where the "large" version, except in the regard of the headband. I doubt the core unit will be meaningfully smaller.

Where in comparison, the HoloLens team seemed to take more care in the design of a large device on a person's head. Looking strange but functional.

<comment><USER13> You also have to consider that they were interviewing the commissioner of the NBA and Shaq is still one of the biggest personalities associated with the league. He does a ton of on air promotion for the sport.

It's a big headset, but I don't believe the set out to find the biggest person just so they could deceive people to think they aren't big.

</comment></comment><comment><USER14> I'm still waiting for more info on Near Eye Light Field devices.[1][2]

Actually, it appears there's more on this now[3][4], but the video's audio is a weird translation of some paper or something.

1: [https://research.nvidia.com/publication/near-eye-light- field...](https://research.nvidia.com/publication/near-eye-light-field- displays)

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

3: [http://research.nvidia.com/publication/2017-11_%09Near- eye-L...](http://research.nvidia.com/publication/2017-11_%09Near-eye-Light- Field)

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

<comment><USER15> > 2: > [https://www.youtube.com/watch?v=uwCwtBxZM7g](https://www.youtube.com/watch?v=uwCwtBxZM7g)

> _" In 1968, Ivan Sutherland introduced the first graphics driven headmounted > display, of HMD"_

Ivan Sutherland? As in: the guy who made Sketchpad? What _hasn 't_ this guy done?

</comment></comment><comment><USER16> That was painful to read and the comments are even worse. I'm not sure I trust anything stated in this write-up.

<comment><AUTHOR> Why? His grammar could use a bit of work, but his write ups are often in depth and quite accurate. He's hardly an unknown in the world of optics, and his previous analysis of Magic Leap have all proven accurate.

For example

[http://www.kguttag.com/2018/01/06/magic-leap-house-of- cards/](http://www.kguttag.com/2018/01/06/magic-leap-house-of-cards/)

[http://www.kguttag.com/2018/01/06/magic-leap-fiber- scanning-...](http://www.kguttag.com/2018/01/06/magic-leap-fiber-scanning- display-fsd-the-big-con-at-the-core/)

<comment><USER16> I think some of the issues pointed out with his assessment in the comment section hold merit. His "no your wrong" response without any real evidence as to why doesn't sit well with me. That said, if he's well known for his knowledge perhaps that's enough. I personally have no idea who he is.

<comment><AUTHOR> As with his proofreading, I'm not terribly interested in his comment section people skills. His decades in the field, his track record of tear downs and predictions, and his expertise _do_ interest me. I'm noting a paucity of technical, rather than personal counterpoints here, or in those afformentioned comments on that level. Loads of appeals to authority, and a kind of, "well they must have _something_ valuable!" credulity abounds.

</comment></comment></comment></comment><comment><USER17> Getting this whole "silicon valley tv show" vibe here, where it's the VR company that gets to much hype. Almost seems like they are too deep in and need to keep going hoping it will be accepted in the market.

Still think AR has a lot more potential than VR in the long run. Just need to get that "Yes!" moment where the technology has a perfect fit and use for it.

<comment><USER18> I'd argue that VR has more potential. Once we get to OASIS level VR, it'll kick the ass of having a HUD in your glasses.

<comment><USER17> Let's hope we won't have to physically move around, and it's slightly more like Altered Carbon VR :)

</comment></comment></comment><comment><USER19> """The rest of the video made my ears bleed. It was the usual Rony doing his hype and buzzword salad trying to fit in as much hype in as he could without really saying anything."""

 _Hype and buzzword salad_ , I'm going to be taking that one with me into the future.

<comment><USER20> No need you bother to take it with you, I'm sure there is going to be plenty.

</comment></comment><comment><USER21> It seems like the way they made things appear to have substance in AR then is to drop down visual light to 15%.

<comment><USER22> Maybe they reproject the view onto the screen in order to have (effectively) passthrough VR while still looking like they have AR?

<comment><USER21> Pretty doubtful. One of their original claims was to produce blacks, which is really hard in AR as you need to selectively block light. It initially sounds easy until you realize your light blocking mechanism needs to be in focus. If you use a lens to put it in focus, the things around it are now out of focus, etc.

If you can't produce blacks, things behind AR objects bleed though. Your objects appear as sci-fi holograms instead of real objects. Reducing pass through light by 85% reduces bleed through by 85% and makes your objects appear 85% more real.

</comment></comment></comment><comment><USER23> What does "more VR than AR" even mean? Either the user is seeing virtual objects overlaid on the real world or not. It has nothing to do with the opacity of the lenses.

<comment><USER14> If you can't see much of the real world (15% light penetration by this account), how useful is that overlay? If it was 1% light penetration it would look almost completely black, to the point you may not detect any real world at all. At 99% light penetration, you probably can't even tell there's any shading at all. Somewhere in the middle different people will draw the line as to what's usable as AR and what isn't (and even then, it may depend on the action being attempted).

<comment><USER23> Yeah but it's not 1%. At 15% your eyes will adjust. Why bother with 15% if the point is not to overlay on your surroundings?

<comment><USER24> _> Why bother with…_

Because they might have no choice. The million (billion?) dollar question is: are they full of bull? That's what this is all about.

He's saying: they want to go higher than 15%, but they _can't_. Not 'they choose not to.' They would have if they could. And they can't go 0% and full VR because that would be admitting defeat, and the end of the gravy train.

</comment></comment></comment></comment><comment><USER25> AR Glasses are going to be as big as the Apple Watch.....

<comment> yoz-y So pretty good then? Apple Watch is doing extremely well.</comment></comment>


Is having "american" users that big of a deal? - <AUTHOR>

http://img842.imageshack.us/img842/5667/firefoxss001.png
So our CEO is saying he can't sell this app because there aren't enough "american" sounding names on the site. When you pitch to VCs etc is that big of a deal? I always thought it wasn't. We are marketing the product throughout the whole world so I would guess there would be a variety of names on there. I am trying to explain to him that it shouldn't matter as long as we focus on good product and try to get a steady stream of users on the site.
Btw, we operate and developed this thing outside the US. <comment><USER2> I don't think it should be. Why should it be?? The target of the site is worldwide anyway.

Others have any point of view?</comment>


Ask HN: I'm a well compensated engineer that can't seem to break into management - <AUTHOR> For the last several years I've had a passion to lead a team, mentor, develop career paths, and problem solve but it seems no matter what company I work at I can't break into management due to any number of factors: nepotism, lack of experience, role availability, lack of interest by management to move me out of a technical role.
Unfortunately it seems over the last few years, I've worked myself into some well compensated roles as an individual contributor where I'm significantly rewarded financially for my tech chops but not with added responsibilities or leadership experience.
I read management 101 books, I attend meet-ups, hell many people & coworkers have told me that I would make a great manager but I feel stuck. I take ownership of projects and always follow through. I feel well utilized and I feel I'm delivering value but I also feel stagnant in the IC role.
It's very frustrating that I can't find the opportunities that I think will unlock who I want to be and excel in tech. I would like to develop a plan for the future but I just have no idea where to start.
Has anyone here struggled to climb the ladder? If so, what works? <comment><USER2> Start looking outside your company for a job. You will likely need to settle for lower pay if you want to move to a management position. It's obvious that your current bosses think that you can't manage a team.

Also just because you're excellent at your job it does not mean you will be an excellent manager. Great managers don't need to be technical wizards but they need to know how to evaluate people and be able to make the best decisions from the information your team gives you. Managers are best at managing people and making sure you get the best from the team and you're able to manage your bosses too. Which means that if they ask you to acomplish X then you will accoplish X plus more.

Techies believe that the best way to management is to show how great they know their area of expertise. No, that won't get you into management. You need to show that you can get people to do what you want, inspire them, and as you get up the ladder you can manage a budget and all the other parts of a particular department.

You will also notice that managers can be jerks but when they speak to a team they come across as very charasmatic. It's a talent that can be learned. You need to start learning it. So start by knowing your audience. Good luck!

<comment><USER3> > It's obvious that your current bosses think that you can't manage a team.

That's not obvious at all to me. It's also possible that they think he's such a good developer that he's more valuable to them as a developer than as a manager.

> Techies believe that the best way to management is to show how great they > know their area of expertise. No, that won't get you into management.

That's how I got into management: I was a good developer who showed a lot of initiative in getting stuff done, and someone higher up noticed my work and pushed me into a management position. Most of the technical management positions in my company got filled that way. I'm not saying that this is the ideal way to find managers, but it seems to be common, in my experience. (I'm no longer a manager; I decided after several years that I was happier as a developer.)

<comment><USER4> Management is a very high leverage activity, hiring good managers externally is really hard (harder than hiring developers), and my experience as a manager (and manager of managers) is most developers don't want to do it (your post is an example of that!). So, if a developer is really enthusiastic about wanting to take on a management role and is being turned down, I think there are three reasonable conclusions: (1) there is no management position available; (2) this person is a very senior developer (staff or higher); or (3) there's not much confidence this person's skill set would transfer into managing a team successfully. (1) doesn't seem to be the case here, and while I can't rule out (2) there's also nothing in the OP's post that suggests he or she is in such a high-level engineering position.

</comment></comment></comment><comment><USER5> You need management experience.

Hire some contractors/people to help you build something outside of work... learn how to manage them (make sure it's more than one person). Even if its silly stuff like building web pages for local businesses. The next interview you take you will be able to speak about your experience managing a team.

Oh and change jobs. You're clearly putting the work in and they aren't seeing it. That's a red flag for me. If you like the company you can land another gig and then have them counter offer with a management position.

</comment><comment><USER6> You painted yourself into a corner. You could move on to a mgmt role somewhere else, may help to have project mgmt certs. Or get a MBA, your situation is a really good reason to do that. Or found your own thing. To get runway to do these things, can you live off of every other pay check and save the rest?

</comment><comment><USER3> Instead of trying to get promoted into management from a developer job, have you tried applying directly for management jobs?

</comment><comment><USER7> well-compensated</comment>


The MS-DOS Security Model - <AUTHOR> http://theinvisiblethings.blogspot.com/2010/08/ms-dos-security-model.html <comment><USER2> "[Yes, I know, the user accounts allows also to theoretically share a single desktop computer among more than one physical users (also known as: people), but, come on, these days it's that a single person has many computers, and not the other way around.]"

This is a great example of tech people falsely generalizing their experience and habits to those of non-tech people. There are many, many families with one computer that the entire family shares.

<comment><USER3> True, but those people are generally screwed from a security perspective anyways.

<comment><USER4> That becomes hilariously obvious if you look at the great lengths to which people go to hide their porn stashes on a shared computer:

<http://tvtropes.org/pmwiki/pmwiki.php/TroperTales/PornStash>

My favorite is the guy who uses the Purloined Letter method: he just keeps it on the desktop in a folder named "New Folder". Though some people's obfuscated unicode path name tricks are pretty nice, too.

</comment></comment></comment><comment><USER5> I was kind of expecting this to link to a blank page. I was pleasantly surprised to find a very logical and coherent article.

</comment><comment><USER6> Android is the only mainstream OS I know that does better than this. Are there any others?

<comment><USER7> I'm not sure whether the architecture prevents it or not, but certainly the App Store rules prevent you from dicking around with other apps or their data on the iPhone. I would also guess automated tests look for violations of this rule.

</comment></comment><comment><USER8> "sandbox -X" (writeup at <http://danwalsh.livejournal.com/31146.html> ) does in fact let you isolate various applications.

</comment><comment><USER9> Wouldn't surprise me if future versions of OS X adopted sandboxed applications à la iOS.

<comment><USER10>
      man sandbox

Since 10.5. Many applications don't use it, however. But if you're going to be running remote code (ie, your application has a plugin architecture), you can use this to make things as secure as you desire. And, if I remember right, Apple's own software is sandboxed (ie, Pages, etc).

</comment></comment><comment><USER11> X (which sucks in many ways) does have a security extension (which isolates X clients from each other); a lot of applications don't work with it, but this problem _has_ been considered.

Frankly, I was expecting this to be a pro-DAC (SELinux/grsecurity/TrustedBSD) article.

</comment><comment><USER12> > But, hey, why this little, made by nobody-knows-who, dive application should > be given unlimited access to all your personal files, work email, bank > account, and god-know-what-else-you-keep-on-your-laptop?

This problem is largely getting solved, by web applications. Make little applications in the form of websites, and people can use it safely as long as the web browser does not have a security hole.

Running different applications as different users on a desktop machine is too much trouble anyway.

<comment><USER13> _Make little applications in the form of websites, and people can use it safely as long as the web browser does not have a security hole._

In practice this means: "Make little applications in the form of websites, and people cannot use it safely."

</comment></comment><comment><USER14> I don't understand. Most things this article pretends are simply wrong : every application has NOT access to every file on a Linux or Mac OS X computer; Several people DO share the same computer using different accounts; obviously the writer's POV is distorted by her strange obsession towards virtualization and a (faked?) complete misunderstanding of the modern OSes security model.

I would like to be able to downvote this stupid rant :)

<comment><USER15> The article doesn't make the statement you're negating. The article points out (and as far as I understand, it's quite right) that a process run in a particular user's context generally has full control of all files associated with that user's context.

<comment><USER14> Indeed, and apparently this makes sense with applications as they are today. Running each app in its own container, virtualisation-style, wouldn't be usable.

</comment></comment></comment><comment><USER16> I don't understand her claims about universal access to all files (as in rwx?). Not everyone is a sudoer in linux, for instance.

<comment><USER17> Any application that you choose to download and run with your Linux user account has access to all the files (data) of all other apps, the only isolation is at the user level (the rwx that you mention), not at the app level.

It's not reasonable to expect non-technical people to create a user account for each app they want to download and use from the Internet.

</comment></comment><comment><USER18> Chrome is taking some steps to improve this with its sand boxing and principle of least authority for its many processes. It will be interesting to see how this translates to a full operating system when Chrome OS is released. I hope it will push other operating system developers to improve along this axis.

</comment><comment><USER19> You could try to isolate X applications from each other by having each run in its own nested X server like Xephyr.

</comment><comment><USER20> > no doubt you will want to have some dive log manager application to store > the history of your dives on a computer

I'm sure there are some very nice web apps for that out there. I don't install programs I don't intend to run at least weekly anymore, with very few obvious exceptions.

</comment><comment><USER21> initially I thought "The Invisible Things" was referring to the security model</comment>


For Autistic Boys, the NYC Subway Is Actually Soothing - <AUTHOR> https://www.nytimes.com/2018/11/08/nyregion/autistic-or-spectrum-boys-and-the-subway.html# <comment><USER2> I'm on the spectrum, and airports, subways, ferrys and train stations have always been fun for me.

Part of it is that there are some clear, actionable goals and direction when you use them (get to platform/ terminal X by 3pm, then get on, then transfer at X). It's a nice break from the open-endedness of everyday stuff. There's no way to make anything happen faster or slower, and there is very little decision-making except what to do while sitting, or what food to grab.

The machines themselves and the logistics of the overall transit systems also seem very impressive and elegant.

<comment><USER3> I'm on the spectrum and live in a large city in Canada. I very much dislike taking the train. For me, it's due to the crowding of people, although I admit it's very nice when there are only a few people on board and I can stare at the city behind a window at night as it rolls by. Otherwise it's a very stressful experience for me that I've never been able to attenuate. I simply do not cope well with sitting and standing so close to other people, and the noises and smells are intolerable. I take the train to university. After the ride I usually need an hour or more to calm the fuck down before getting to work/going to class.

Mind you, I'm female and there have been proposed some significant differences between males and females on the spectrum, never mind the differences between any two people.

<comment><USER4> I'm on the spectrum, and I love taking the bus/tram/metro/train as long as it isn't crowded. I want to travel without getting distracting, nervous, nauseous, hot/humid, seeing people eat things I find disgusting or smelling certain things such as perfume. I want to sit alone, in white noise or silence, so I can read a book instead of having to hear to music to negate the noise and zone out. The common denominator in that one is the place being crowded, and it turns out these places are crowded on workdays from 6-9 and 16-19. Driving instead is even worse on these times. Amsterdam traffic is crowded everywhere around these times. If there are too little people around (such as at night) that also doesn't feel safe though. However if I don't have anything with me I'm good on that one.

</comment></comment></comment><comment><USER5> Subway trains might not always be on time, but they operate on a set of simple and well-known rules governing boarding, payment, transfer, etc. You know exactly where you're going (as long as you pay attention), how you're going to get there, and how much you're going to pay for the trip. It's all algorithmic, mechanical, and quintessentially modernist. Moreover, once you get used to a route, you can memorize every turn, anticipate every loud squeak, know exactly when you will cross a bridge, enter a tunnel, or go past a certain building. No wonder autistic minds love trains.

I'm on the spectrum, and the city where I grew up in (Seoul) was in the middle of a major expansion of its subway system while I was a teenager. I'm sure I tried every new line, every possible combination of routes. I knew the entire system by heart; I could tell you in a heartbeat the most efficient way to get from any station to any other station.

20 years later, I'm still fascinated by maps and other geographical databases. I built the only FOSS postal code search engine in the country, currently used by over a thousand online stores to validate shipping information. IMHO my program is way better than commercial alternatives because developers who work for $large_corporation simply aren't as familiar as I am with how the various administrative divisions of my country were conceived and have evolved over time.

</comment><comment><USER6> I've always enjoyed watching trains, riding trains, building model railroads. I can see the orderliness of it all being appealing. As far as traveling goes, it's very comforting to be un-able to attend to anything else until I reach my destination -- and when I get there is out of my hands, once I'm on the train I don't have to worry about anything until I get to my stop.

This worked great for me until I lived in NYC, where the 4/5 express might become the 2/3 express en route to manhattan. Really have to stay on your toes as often as they cancel whole routes.

<comment><USER7> Another thing that makes rail travel in NY less enjoying is the decibel level. Standing on a subway platform as a train passes through can be so loud I cover my ears. I'm sure New Yorkers are being done permanent hearing damage through repeated exposure to subway noise.

<comment><USER8> Can't be worse than BART. The noise level in parts of east bay (SF area) is still excruciating on many trains.

<comment><USER9> The new trains are sooo much better. I've been getting them once a week or so on the Richmond line and they are way quieter. They've also started running them transbay, so stay tuned!

<comment><USER8> > They've also started running them transbay, so stay tuned!

I appreciate the pun! Unfortunately, I don't live in the area anymore, but I have heard about the new trains and it's great that they seem to have found a reasonably efficient solution.

</comment></comment></comment></comment></comment><comment><USER10> I've never considered myself on the spectrum - well, maybe just a little bit. I find the subway to be soothing. The thing I hate most about buses, which run perfectly on schedule as well here, is that sometimes their route changes. The fact of realizing a route may change just blows my gaskets.

<comment><USER11> Not only that but they're incredibly janky with the constant stop start, stop start and the hard turns.

Getting on a crowded bus can be a miserable experience, trains are a lot more consistent with their accelerations and don't have 90 degree turns.

<comment><USER12> Janky indeed! I was watching a show about the NY Subway and its antiquated system that operates the entire thing, much of it manually operated. The documentary was about a British program manager who travels the world fixing public transportation. He's bring NYC subway from the early 20th century into the 21st century.

It's the equivalent of a modern city's telephone system still using switchboard operators instead touch tone phones, fiber optics and a digital switching system.

<comment><USER11> Ha, I watched that with my Mom. Seems like a nice fellow, I wish him the best of luck.

I know the old system's antiquated but until we focus serious cash on the security of our infrastructure as a nation, I'm not looking forward to hackable trains.

</comment></comment></comment></comment><comment><USER13> I don't think there's any kids who don't love trains are there?

</comment><comment><USER14> My son is on the spectrum (thankfully quite mildly, so is doing very well at a mainstream school with minimal support) and this resonates very strongly with me. At times in his life when he's been suffering from a crisis, trains have always soothed him.

</comment><comment><USER15> Two related observations.

One, that [obsessively] lining things up is supposed to be an early indicator for autism @ c.2yo.

Two, Thomas The Tank Engine (children's books, cartoon featuring living trains with their faces on their boilers) is supposedly beloved of those [boys] on the autistic spectrum.

The latter is weird to me as it's pretty orthogonal to anything to do with trains AFAICT. The trains might be coincidence and the structure of the stories with the strict roles and narrow characters might be the appealling part?

<comment><USER16> I would be interested in whether it has anything to do with faces on trains or just the fact they were trains. Also, compared to other train programs like Ivor the Engine (from the UK), the trains were real models, not cartoonised.

I think the bright solid colours helped too, there is perhaps something soothing about simplicity and trains offer excitement with less of the unknown than road transport.

<comment><USER17> Not sure why this got downvoted; I was going to say something similar.

A lot of autistic kids like trains. We tend to like trucks, construction equipment, and machines in general, anything that's orderly and has a lot of information available about it; trains are a quintessential nerd interest (see: model train hobbyists, trainspotters), so there's a whole community out there to tap into.

I would guess that Thomas the Tank Engine intersects trains and children's TV in a particular way that resonates with a lot of kids who began with an interest in either.

</comment></comment></comment><comment><USER18> Isn't the same/similar phenomenon as coffee shop background noise, sometimes deliberately used for making focus?

In any case, surprised that those boys are not affected by crowds of people (a lot of random, unexpected touch). At least in my case, it is an easy way go get a sensory overloading.

</comment><comment><USER19> Highly relevant: [https://local.theonion.com/autistic-reporter-train- thankfull...](https://local.theonion.com/autistic-reporter-train-thankfully- unharmed-in-crash-t-1819595010)

</comment><comment><USER20> Not just for the autistic or boys, I'm sure.

</comment><comment><USER21> This undersells how well known this is. Also it's not just aspergers it's also ADD</comment>


Bolt: Anonymous Payment Channels for Decentralized Currencies - <AUTHOR> https://eprint.iacr.org/2016/701 <comment><USER2> This looks very useful.

I noticed that an "anonymous underlying currency" is required for "Unidirectional payment channels" at the bottom of page 5. This is not required for the other techniques such as "Bidirectional payment channels".

</comment><comment><USER3> Anyone read the paper and know if this means that I can transfer coin between wallets without the source or destination being visible on the opposite end?

</comment><comment><USER4> [https://angel.co/bolt](https://angel.co/bolt) ?

<comment><USER5> At first I thought there's no way, but it does look like the team has some bitcoin connections (eg former Buttercoin).

I assume the white paper is another riff on "lightning" (eg Blockchain's "Thunder")

<comment><USER6> Afaik there is lightning, thunder, raiden, and now bolt. That said, bolt looks pretty useful on first skim, and I wouldn't be surprised if it gets implemented for monero (I know the authors are the zcash authors, but on first skim looks applicable to any coin)</comment></comment></comment>


Meritocracy - the big myth - <AUTHOR> http://www.stefankendall.com/2013/03/meritocracy-big-myth.html

<comment><USER2> > _So what happens when you switch jobs? In general, your future employer will > lure you out of your position with money or prestige, offering a 15% or more > increase in salary._

This works until it doesn't.

</comment><comment><USER3> I don't understand how/why older employees will earn higher salaries than younger ones. Don't younger ones often have higher _starting_ salaries than the older ones, even after adjusting for inflation (because the skills of the younger ones are presumed to be more cutting edge and because the dev shortage continues to grow). So, all other things being equal - number of moves, % increase, inflation - won't the younger ones start _and_ finish at a higher salary than the older ones? Having said all that, I _do_ agree that much of meritocracy is a myth...just not necessarily for the reason(s) stated.

</comment><comment><USER4> I think the general premise holds, but assuming that you will hit a cap in this, the market is still efficient, this is only noting that a single employer's system is inefficient. Or that the employer has found job security and loyalty command long enough a tenure that it's worth underpaying.

Also the inflation math doesn't work out. $102k => $83k in 11 years vs $106k => $85k in 6 years If the second number were $95k, I'd accept it.

</comment><comment><USER5> 1\. Companies can (and do) give >5% raises 2\. If you are a true rock star, often a company will attempt to match or come close to your external offer rather than lose you 3\. Pay is only part of the motivation to work somewhere 4\. The best employees will naturally be offered other opportunities. This is normal. Good companies are adept at keeping those employees happy.

</comment><comment><USER6> Well, if you hop too often it will look bad on your cv, so it will stop you at a certain point. Otherwise yes, the best way to increase your salary is to change jobs, if the economy allows it. Just leave at least 2 years between jobs :)

</comment><comment><USER7> It's a sad reality. I'd add that it's often not necessary to go so far as leaving the job. Rather threatening to leave can be enough to render the same boost, assuming you've got the stomach for playing that kind of game.

<comment><USER8> But I've always read (here and elsewhere) that you should never take a counter offer. Or are you just saying to make it known in that you might leave, without a specific offer from another company on the table?

<comment><USER7> I should clarify that I'm not advocating the approach, rather just stating that I've seen it work in several organizations. Those cases were mixed, some accepted a counter others were up front, essentially saying "Look, do I need to go and get another offer for us to work this out?".

If I'm not mistaken, the thought behind not accepting counters is that it breeds resentment. In reality, I think it depends on how tactfully the process is handled.

Personally, my approach has been to hop and not accept counters.

</comment></comment></comment><comment><USER9> Presumably the reason you get a salary increase when you switch jobs is the value-add you give the company from the experience you are bringing in.

</comment><comment><USER10> I love the ending:

"And your good employees will leave you, and I can't blame them."</comment>


Aviva Investors accidentally fires entire company via email - <AUTHOR> http://www.reuters.com/article/2012/04/20/us-britain-aviva-email-idUSBRE83J1KC20120420

<comment><USER2> Why rewrite the title to something that isn't true?

</comment><comment><USER3> They actually said in the article that they were NOT fired. Horrible title choice.</comment>