Yahoo lays off 1,700 and is up for sale - <AUTHOR> http://www.vox.com/2016/2/1/10862040/yahoo-marissa-mayer-fail <comment><USER2> This is linkbait. There's only one relevant sentence:

 _> in the same press release, the chairman of Yahoo's board announced that the board is going to "engage on qualified strategic proposals" — that is, consider offers to sell the company._

Yahoo is not up for sale. With the alarmist linkbait title and the URL "yahoo- marissa-mayer-fail", this is possibly a sting piece with motives other than journalism.

I have no political ties to Yahoo (nor Vox) but this is not good reporting.

<comment><USER3> The title is somewhat sensationalist, but there have been articles coming out for months, including from more respected papers like WSJ and NYT, claiming they have info from sources inside the company that there are discussions about selling their core businesses assets.

These were of course unsubstantiated, but now Yahoo reports another bad quarter, a bunch of layoffs, and also says this:

>The Board also believes that exploring additional strategic alternatives, in parallel to the execution of the management plan, is in the best interest of our shareholders. Separating our Alibaba stake from our operating business continues to be a primary focus, and our most direct path to value maximization. In addition to continuing work on the reverse spin, which we've discussed previously, we will engage on qualified strategic proposals."

That does seem like a dodgy way of asking for offers.

</comment></comment><comment><USER4> My thoughts:

1\. Activist investment firms use Yakuza tactics. They buy a small share and the company bends over backwards so the 'investors" get an extra percentage point instead of focusing on long term strategies.

2\. If Yahoo had expanded on their Pipes and Konfabulator products and capitalized on people's uproar after iGoogle was shut down they could have been great competitors to Google's App Engine, Azure or Amazon Web services. Instead they focused on making the investors an extra percentage point by throwing the baby (great products) out with the bathwater (smart engineers that worked hard to deliver great products).

3\. Investors and venture capitalists really don't know diddly squat (to put it mildly) about technology these days...

<comment><USER5> > _they buy a small share and the company bends over backwards so the > 'investors" get an extra percentage point instead of focusing on long term > strategies._

They take advantage of the rights afforded to them as owners of the company to push for change, whether you agree with their particular view or not. That's how corporate governance is supposed to work.

Though, not surprising that people on this board might prefer the "don't give shareholders any rights" model of Facebook or Google.

Why do you put "investors" in scare quotes?

<comment><USER4> > Why do you put "investors" in scare quotes?

Business 101 - the Assets of a company.

Machines: anything that enable the production of deliverables and thus, value.

Materials: raw materials (obviously), applicable for traditional industries. Solar and wind farms could qualify in the tech sector, tough.

Money: can also be shares owned, debts that others owe you, or future revenue.

Men: engineers, technicians - everyone that makes the company a business that makes money, and everything they know, including the company's past struggles so they don't repeat the same mistakes over and over again.

Being an investor implies that the people doing the investments have an actual knowledge not only of the current revenue sources of a business, but also its past history and its future potential, to be able to extract the maximum value from its operations.

Being an investor implies that there is a minimum amount of trust in what employees do, security in their past experiences as employees so that future mistakes can be avoided or mitigated, and faith in their future potential.

People who see employees only as expenses or numbers to be deducted from quarterly profits along with benefits, insurance, social security and other normal operational costs of the operation of a company do not deserve to be called investors for they have no plans for the future of a company and no interest either in the work of the employees or their success.

If they see a company only as a set of numbers and only focus on their returns, they fail to see the history, the potential and the future impact of that company. Thus they are more like vultures picking a rotten carcass than investors.

I'm done.

<comment><USER6> Indeed.

We really need some new words _and_ some changes to the GAAP to make the distinction between productive investment for the future and aggressive asset sweating for the short term very clear to everyone.

</comment></comment></comment></comment><comment><USER7> I see this as propaganda to push the concept that Yahoo has negative value, which, I'm guessing would be beneficial for some group of shareholders to promote this view.

Personally I don't give a crap what those shareholders want.

There is more to a corporation that just shareholder value, and I don't particularly relish thousands of people losing their jobs so some people can make a quick buck.

<comment><USER8> > I see this as propaganda to push the concept that Yahoo has negative value

How is it propaganda?

YHOO has a current Market Cap of 27.7B with assets including a 25B stake in Alibaba, 8B Stake in Yahoo Japan and ~4B cash. If it wasn't for tax implications of selling their investments, Yahoo's core business clearly holds a negative value. Accounting for tax implications puts it around 0-2B.

> There is more to a corporation that just shareholder value

Shareholders are who collectively owns a Corporation of which maximizing Share Holder value is its primary purpose and what the board gets elected to do.

<comment><USER9> > Share Holder value is its primary purpose

No, it isn't. Corporations are given a public charter which declares its purpose. Increasing share-holder value is a nice side-effect at most.

<comment><USER8> > Increasing share-holder value is a nice side-effect at most.

Rubbish, the board works for its shareholders who wants ROI on their investment. Who do you think is forcing their expenses / 15% workforce cut? and putting pressure on Marissa to waste her time/focus on re-structuring Yahoo to maximize their Alibaba investment? Shareholders are the primary benefactors.

<comment><USER7> > Rubbish, the board works for its shareholders who wants ROI on their > investment.

Sure, but honestly most shareholders would prefer not to take a share of the profits. Dividends are so passé.

Today's modern investor wants growth, and the easiest way to get growth, without all the hard work , is to find another investor willing to believe in your portrayal of the value of the stock you hold[1], and to convince them to buy it from you.

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

</comment></comment></comment></comment></comment><comment><USER10> Listening to Marissa Myer this morning talk about the company she could not identify a core function within the company or a future.

She had a number of buzzwords laid out and did not give any idea of what they were going for. I need her to say things like:

1\. We are working to create a cross-platform experience that outdoes Google and Apple within their app system. The best photo sharing program across app and web for me is Flickr and we are going to become the anti-facebook by guaranteeing your content privacy.

2\. What is Yahoo? As it stands now, it is an amalgamation of multiple properties that bring in revenue streams. If this is the case, then if I were an investor, I would be trying to find a way to squeeze assets out.

<comment><USER11> Was there a lot of purple blood in URL ?

</comment></comment><comment><USER12> Yahoo is "focusing on its most successful products — including its search engine". I don't understand this. Isn't their search engine just Bing?

<comment><AUTHOR> Does anyone actually use their search engine? I always found it terrible the rare time I have used it (if some dingus has it set to homepage). I know for me the only thing that makes me stumble across Yahoo, is if I use their answer site. Only other reason, I'd imagine, is if you used their mail. Beyond that though there must be no way of driving traffic to Yahoo search. Seems impossible to try upend Google's grasp, without a serious transition of product positioning (like the DuckDuckGo position). Such a poorly managed company. It seems Marissa is some strategist...

<comment><USER13> It's the default for Firefox on some devices.

I wonder what this Yahoo situation means for Firefox in the long run.

</comment></comment></comment><comment><USER14> The crazy thing about Yahoo! was that they were actually in a pretty decent position just a few years ago. Alibaba exploded, Yahoo! is still the third most popular website in the world, and their finance and sports centers are still incredibly popular.

I think what we've seen is a complete failure to execute on any level. Compare that to someone like AOL who saw their brand tanking noticeably but intelligently diversified their business model.

<comment><USER15> > and sports centers are still incredibly popular

I only used their Fantasy Football (US) and only for 2 seasons but it was head and shoulders above all others..including the NFL's own fantasy league.

<comment><USER16> I agree here. They should have pushed these popular products. In particular, they could have become a financial platform that could have rivaled Bloomberg...

<comment><USER17> And a sports platform to rival DraftKings and FanDuel, etc..

They also have valuable properties like Flickr, Tumblr, etc., further down the page there are some very interesting propositions on how to make them work better, they might be better as spinoffs.

</comment></comment></comment></comment><comment><USER18> Seems like a sensationalist headline designed to generate page-views. The company has not announced it's "for sale"; instead people are reading between the lines and coming to that as a conclusion based on corporate speak.

<comment><USER19> It's been "for sale" since the IPO, any public company is "for sale", so it's not like they can announce "we are for sale", it would make no sense.

But I think what the people are reading between the lines is "if you decide to buy the majority share we will cooperate".

<comment><USER20> Noone's gonna take over Yahoo by buying shares right now, since the price of those shares is just a proxy for Alibaba.

If Yahoo gets rid of the stakes in Alibaba and Yahoo Japan, then YHOO would properly reflect the value of core Yahoo, and someone with a few billions lying around could gobble it up.

</comment></comment></comment><comment><USER21> Is it actually for sale? Everyone is saying that it's basically for sale but the language used in the earnings call was very corporate, actually skating over the issue completely, talking about sale on "non-strategic" assets.

<comment><AUTHOR> It is unofficially up for sale is what I take from the info released, i.e. they are actively working on the sale, but not making it official. I'd say it is due to Marissa currently trying to redevelop their internal working structures. How can you get unmotivated staff to be passionate and transition to new work methods if you say you are trying to dump the company.

<comment><USER21> Very true. There's no easy way to handle it. To be honest, I think Yahoo would probably thrive as a private company with time to focus on long term vision as opposed to quarterly returns.

</comment></comment></comment><comment><USER22> It is saddening to see names like Yahoo going through so much trouble, but there seems to be an inevitability here that many knew about for a long time.

Yahoo, after Marissa Mayer took over, also seems to have focused more on revenue from graphical ads compared to getting any revenue directly from users.

* Although mail may be a good product for Yahoo (as this article states), it's not really improved over time and has in fact gotten worse.

* The previous Yahoo Mail Plus, which was $20 a year for an ad-free experience with some extras (like POP email) was replaced with a who-would-even-want-this $50 a year ad-free option. Frankly, I doubt if many people even bothered to get this one, more so because among the people who started email with the likes of Hotmail and Yahoo, multiple email addresses were the norm (they continue to be so). For such users who stuck with Yahoo, there's no way to justify spending more than a hundred dollars a year for email.

* With no sign of IMAP in the paid option while Google has been giving free IMAP for years, Yahoo's offering in email was really substandard.

* Yahoo mail is still quite slow. Not the interface, but the backend. Sending a mail to oneself (by a CC when replying or emailing someone) still takes several minutes to show up in the inbox. In Gmail, this would be in the inbox in a second or two.

* Yahoo mail's spam filtering is many a times as bad as a coin toss. Emails that you mark as Not Spam for specific senders continue to go to the spam folder for subsequent mails from the same sender. Many emails that are true spam and have been marked as such don't seem to put similar mails in the spam folder.

* The vertical graphical ads on the right side, in an attempt to avoid ads from going off screen while scrolling through emails, are really annoying.

* Flickr, providing an astonishing 1TB of storage for "free" (with ads). The next paid option is $50 a year just to remove ads (double of what Flickr Pro used to cost). What???

* Any value assigned to user experience before was completely eliminated through these "more ads" move, where Yahoo was sure that almost nobody would opt for the paid options.

I wonder what would've happened if Yahoo had instead lowered the prices even more for an ad-free option, added some useful features (like IMAP in email) in a tiered pricing structure and made the product better (like handling email delivery quickly). Perhaps it's too late to wonder about these though. If Yahoo isn't bought by one of the top five tech companies, its products will likely disappear within the next decade.

</comment><comment><USER23> Yahoo is profitable, right? Am I missing something?

<comment><USER20> Yes, but it's not growing, therefore it is a complete failure and should be wiped off the face of the Earth, according to certain investor logic.

<comment><USER24> If its not growing, for from many investors, yes, that is a failure.

I have $1. I can do many things with it. Why would I give my $1 to someone in exchange for a piece of their business if that business is not growing when I could instead give that $1 to someone who is growing? I want my $1 to become worth more.

Yes, yes yes, I know companies that pay dividends or profit sharing, etc. However what's the return on those? It is higher than somewhere else?

Divorce yourself from thinking about what the company does or ever how much money it is making. For many investors, they are looking for opportunities to put in some money, get an asset, and then sell that asset for a profit. Growth is key to forecasting returns and thus comparing different investment opportunities.

<comment><USER25> "If its not growing, for from many investors, yes, that is a failure."

Then those investors should go invest in something else, and quit trying to push a bunch of shortsighted crap on a company.

<comment><USER26> You understand that "they" in your opinion refers to the people who own yahoo. Why is your opinion more relevant than theirs, precisely?

<comment><USER25> Why is their opinion more relevant than the people that are actually running Yahoo?

<comment><USER27> The investors (ie, the board) run Yahoo, not the other way around.

</comment></comment></comment></comment></comment></comment></comment><comment><USER28> Marissa Miller should be ashamed not because here tenure at Yahoo has largely been a failure (like most of her recent predecessors), but that she has been paid so much for accomplishing so little (like most of her recent predecessors).

</comment><comment><USER29> I should probably start moving my accounts associated with my yahoo email off to another email.

Not sure what guarantee I would have of a new company handling my web mail with same privacy regard.

</comment><comment><USER11> Anyone has details regarding the severance package given to those that were let go?

</comment><comment><USER30> Lays off thousands of workers... still doesn't profit.

</comment><comment><USER31> Yahoo was only ever a power play by Google when they sent M.M. there.

<comment><USER32> GOOG was happy to get rid of MM, she's a hack.

<comment><USER11> I have no idea whether she is or isn't, I think it's irrelevant here. The key thing is that expecting for a one person's turnaround of a 20y+/10k+ organization is a little bit like waiting for Xenu's ride to Syrius, it's ludicrous at best. It's funny how some people always refer to how Steve Jobs did it at Apple, without acknowledging that something like this is extremely rare. In other words, they are always hoping/betting on an exceptional rather than likely outcome. Interesting ..

</comment></comment></comment><comment><USER33> "...its most successful products — including its search engine..."

LOL!

</comment><comment><USER34> It's Yahoo who cares...</comment>


Reddit is hiring.  We're looking for 3 rockstar programmers. - <AUTHOR> http://www.reddit.com/r/blog/comments/fjgit/reddit_is_doubling_the_size_of_its_programming/

<comment><USER2> I may be in the minority here but I think that it is asking a lot of someone to build out a UI just for the prospect of getting hired. I think it borders on exploitation there are a lot of young individuals with wonder-lust that see a name like Reddit and will put in significant hours just for the possibility of maybe getting hired. In their mind that possibility is greatly inflated (after all who would not want to hire them).

Now as a person that hires and specifically hires technical personally and is technical himself, I am sensitive to the fact that it takes a trained eye to spot talent and that their are a lot of posers out there. But in my personal opinion you guys are offloading the task of being good at spotting talent onto the prospective employee which I am not totally in agreement with.

Personally, I would not ask an up front prospect to code anything other than a 10-15 minute exercise (in interview) and if I where to have someone build something, it would be the final 3 prospects, it would be a real business problem, and I would compensate them for their time. I think the practice of competitions for a job borders to close to exploitation for my comfort, further I have seen better talent selection from a skilled interviewer than I ever have from an arbitrary competition.

<comment><AUTHOR> I understand your concerns, and we thought about it a lot ourselves. "Are we asking too much?"

We came to the conclusion that what we are asking should be fun for you to do. Something you might even do without us asking.

Also, it shouldn't take you more than a few joyful hours. If it does, you probably aren't the person we're looking for.

We gave the task to a couple of trusted folks beforehand, people who we would love to hire if they weren't already doing something they loved, and they said that the tasks were pretty straightforward and quick to do.

We already tried doing it the other way around, and we realized that it just didn't work. The guy that turned out to be the best was the one we almost rejected because he had a bad resume and cover letter.

We don't want to make that mistake again.

If you think it is too much to ask, well, I guess you just don't apply. <shrug>

<comment><USER3> > _If you think it is too much to ask, well, I guess you just don't apply. > <shrug>_

This response seems to me thoughtless, cliche-ridden, and inordinately smug-- rockstaresque even.

That "I guess you just don't apply" really doesn't seem to be the product of the thinking you claim to have put into this. Obviously there are people who might apply even if they think it's too much to ask on spec. Obviously there are people who might apply even if they are motivated by something other than mere fun. Obviously there are people who might apply even if it takes them a lot more than "a few joyful hours." Saying such people probably aren't the ones you're looking for is beside the point--beside the ethical point--except insofar as it's a pretty clearcut instance of your shirking all responsibility (it's all their fault if they underestimate their chances, or ignore the injunction to do it for fun) with the kind of callous indifference to the work and time of others captured neatly in your closing shrug.

Tl;dr? That wouldn't surprise me.

<comment><AUTHOR> > Tl;dr? That wouldn't surprise me.

No, I read the whole thing.

> Obviously there are people who might apply even if they think it's too much > to ask on spec.

First off, I don't think you know what spec work means. It means asking someone to do work and then paying them _for that work_ if you like it. That is not what we are doing. We are asking applicants to implement things that will be of no use to us, because we already have them, as a demonstration of both skill and determination.

> except insofar as it's a pretty clearcut instance of your shirking all > responsibility

What responsibility am I shirking? If you want the job, then you do the thing. If you aren't confident enough in yourself, then so be it. It isn't my job or responsibility to be your mom and encourage you to apply and tell you that you are good enough and you should go for it! You should know that already.

> with the kind of callous indifference to the work and time of others > captured neatly in your closing shrug.

As I said, if you are doing the task, you are doing it because you enjoy it and maybe you can use it as a learning experience or on your portfolio. It isn't a callous indifference to work -- we're asking you to do different work. Instead of a resume and cover letter, we're asking you to program.

<comment><USER3> It may be too late in the game to reply to this nonplussing nonresponsive response, but what the hell...

>What responsibility am I shirking? If you want the job, then you do the thing.

Was "shirking" too severe? You disclaim, patently and unapologetically, responsibility for the effort that will be put into applying for the position by applicants who will not get the job.

You disclaim that responsibility by saying in effect "it will be fun, and if it ain't fun, don't do it, and if you do it and don't get the job it might be good for your portfolio, or good experience."

Your choice here was between devising an application procedure that actively and consciously tries to minimize the futile endeavors of most applicants or devising one that does not but instead leaves the responsibility for that minimization entirely up to applicants themselves.

You seem to like the second choice, suggesting it really is not at all your responsibility; it's all on the shoulders of the applicant. You're not (the applicant will be distressed to hear) his mom.

Yet elsewhere you seem to want at least a little to acknowledge that there is something to be said, at least publicly, for taking the first choice: You wondered whether you were asking too much. You advised applicants only to do it if it's fun and so on. It seems to me that that's an example of trying not to be callously indifferent to the work of others.

I was merely trying to point out that that's not good enough. It should be obvious, I think, that this, your, strategy for minimizing wasted effort on the part of applicants is not going to work.

The alternative strategy of many employers is to impose the more effortful parts of the application procedure only late in the process and only on applicants they are already interested in. They do this even though it's more time-consuming for them. They take that responsibility. You don't, and shrug.

But let me do you the honor of citing you again: "so be it." I'm certain you have no reason to worry about this. I'm sure Reddit will get its rockstars and continue to rock.

And if you ever want a lesson in supercilious condescension (the "I'm not your mom" stuff is embarrassingly amateurish), look me up. I take payment in advance.

P.s. I didn't use the phrase "spec work" and if I had I wouldn't have used it to mean, in accordance with your bizarre and presumptuously corrective definition, "asking someone to do work and then paying them etc..." Clearly that's nonsense. Spec work is the work, not the asking. I did use "on spec", and used it as a standard modifier to qualify the meaning of "work" as work which is done speculatively in hope or expectation of gain. In this (hardly broad) sense you are asking applicants to do work on spec. Joyfully.

<comment><USER4> >And if you ever want a lesson in supercilious condescension look me up. I take payment in advance.

You weren't kidding, thats for sure. Though I do agree with gist of your response.

</comment></comment></comment></comment></comment></comment><comment><USER5> I was going to apply, but I'm an agile lean scrum six-sigma CMMI kanban kaizen customer-development ninja pirate samurai, not a rockstar. Sorry. :-(

<comment><USER6> I realize you are being funny, but please don't lump lean processes in with annoying titles.

<comment><USER7> He's making a point about the buzzwords, not the actual processes.

</comment></comment></comment><comment><USER8> Of all the places; really? You went with the "rockstar" moniker for hires?

<comment><USER9> Maybe "rockstar" is the new codeword for "confident junior".

<comment><USER10> More likely "confident junior willing to work for less remuneration but greater publicity".

</comment></comment></comment><comment><USER11> Are you going to release tgrep after the contest is over? That'd be a very useful tool for lots of jumbo-logs, assuming the timestamp handling is anywhere near generic or customizable.

If not.. Hell, it'd still be useful for Apache logs. Please put it on Github? ;)

<comment><AUTHOR> Each applicant owns their code and will be free to post it. We've only asked that they keep it secret until March.

We will probably release our version as well at that time.

<comment><USER11> The hardest part of this is not posting the version I made in 5 minutes ;) I have no interest in working for Reddit, but as a SysAdmin, I can't resist a challenge.

<comment><AUTHOR> If you send it to me (firstname.lastname@example.com) I'll tell you how awesome you are. :)

<comment><USER11> I thought it would be fun to do it entirely using unix tools. Sent it off using a recursive bash function, with du, dd, bc, and expr.

<comment><USER12> Oh nice! I had thought about using a script to isolate a rough-but-inclusive range of bytes from inside the file and then piping that into _grep_ , but your way is certainly purer and more fun.

 _edit_ And now I have a good reason to learn more about dd, du, and bc!

</comment></comment></comment></comment></comment></comment><comment><USER13> If I spend the time to write a reddit clone, I'm going to launch it as a competitor, not submit it as a resume.

<comment><AUTHOR> <http://code.reddit.com>

The point is to show off your frontend skills, not make a fully working clone.

<comment><USER13> Actually, no. From the post:

"Frontend challenge We want you to build a reddit clone entirely in HTML, Javascript, and CSS. It will maintain its state entirely client-side (HTML5 localstorage, cookies, whatever), and it's fine for it to be single-user. In fact, we want to leave as much of this challenge open to interpretation as possible."

<comment><USER14> Actually, yes. From the post:

> The goal here is to show off your ability to make a slick website, not to > make something that we're going to deploy in production

Also, you may realise that you're replying to jedberg, one of the authors of that post, telling him what he did or didn't write.

<comment><USER13> What he wrote is clearly in black and white. They asked for a clone. I said if I wrote a clone, I'd launch it. He can argue with what he wrote all he wants, but it still remains.

</comment></comment></comment></comment></comment><comment><USER15> This post has what could possibly be my favorite TLDR.

"TLDR: Yes, it's a long post, but if you'd like to apply for a job at reddit, you'll just have to read it."

</comment><comment><USER16> "Well, first off, it's supposed to be fun. If you don't see the joy in either of these puzzles, please don't apply."

Sorry, but there are plenty of 'fun' things and problems I can work on without essentially doing spec work for someone who will then feel perfectly free to ignore it. That is to say, problems where I can be sure I'll see a reward for my work that is meaningful to me, instead of potentially wasting my time.

Also, "rockstar?" Really, reddit? Seriously?

<comment><AUTHOR> rockstar was tounge-in-cheek.

And spec work is asking someone to do work and then paying them _for that work_ if you like it.

This is not spec work. We already have the things we are asking for, so they are of no use to us. They are to demonstrate skill and determination.

It is not spec work.

</comment></comment><comment><USER17> I love the idea that you have to clone Reddit BEFORE you're worthy of sending in your resume. Brilliant.

<comment><USER12> I believe it's called "spec work".

</comment></comment><comment><USER18> Perhaps an indication of how much time tgrep currently spends looking in a sample 70GB file would be of interest.

<comment><USER10> Is it really that hard to figure out? Imagine an implementation that does a binary search through the characters of a file; when it lands in the middle of the line, it seeks back by one character until it finds the beginning of the line, and then compares that line to the timestamp given.

70GB will require approximately 36 binary searches to find the line you want. Assuming the lines are around 200 characters long, each binary search will require on average 100 seeks backward to find the beginning of the line. From there you can read the characters you need for the timestamp.

So your total cost is going to be 36 * (1 seek to the character, 100 seeks to the beginning of the line, a read from that offset), disregarding the almost certainly irrelevant cost of comparison to the timestamp. Note that these seeks, while still calls to seek(2), are not actual random disk seeks, because disks return blocks to the OS in 16KB chunks or so. Most of those seeks will just be a quick roundtrip through the kernel.

So you'll do, on average, 36 reads and 3636 seeks. On most modern computers, that will take maybe 100ms, which agrees with my experience in writing a similar program for some of the logfiles I work with.

<comment> e-dard You're ignoring real-world aspects of the problem. For example, you're assuming that the data points are evenly distributed across time.

Reddit will most likely have regular busy and quiet periods, which will impact the density of the log at certain times.

Thus, one can tune the algorithm to work better on Reddit's specific visitor pattern, if you can learn it. As an example, you need to jump back further in the file to get from 8pm to 6pm than you do to jump back from 4am to 2am. <\- assuming US time, which they don't.

<comment><USER10> > You're ignoring real-world aspects of the problem.

No, I'm not. The most important real world aspect of this problem is that I can pull the _complex_ part, the binary search, off the standard library shelf. All I need to implement is a random access iterator over the lines of an open file and I'm set.

> For example, you're assuming that the data points are evenly distributed > across time

No, I'm not. I just don't _care_ how they're distributed across times. 70GB is between 2^36 and 2^37 bytes. It's probably around 2^28 or 2^29 lines. Binary search over the characters would take at most 37 probes; over the lines it would take at most 29 probes. Since each probe is so cheap (one disk seek and one disk read, essentially) there's absolutely no reason to optimize any further, especially when I can use an off-the-shelf component like C++'s std::lower_bound to do my binary search for me.

> Reddit will most likely have regular busy and quiet periods, which will > impact the density of the log at certain time

If you think that impacts the runtime of binary search at all, you've got a serious misconception about how binary search works.

> Thus, one can tune the algorithm to work better on Reddit's specific visitor > pattern, if you can learn it.

Why bother? We're talking about a savings of _milliseconds_ on an interactive process. An ordinary human like myself would never even notice the difference. The network lag from SSH alone would be greater than the difference in runtime.

<comment><USER19> This is absolutely correct. The worst case in any binary search is exactly floor(lg n + 1) where the element doesn't exist. There is no reason to optimize any further than this.

<comment><USER10> To be clear, interpolation search can cut down the runtime by another log factor (`O(log log n)` instead of `O(log n)`) but it's just not worth the effort, especially in this case, precisely _because_ the lines aren't uniformly distributed.

<comment> e-dard Well clearly they're more likely to hire someone who does go to the effort!

> To be clear, interpolation search can cut down the runtime by another log > factor (`O(log log n)` instead of `O(log n)`) but it's just not worth the > effort, especially in this case, precisely because the lines aren't > uniformly distributed.

It doesn't matter what the distribution is as long as you can learn it. Uniform helps when you are cutting down the search space in regular chunks, sure. The Reddit data wont be uniform - so don't cut the search space uniformly.

As I said, something faster could be conceived if one studies the average number of visitors over a 24 hour period (I don't know where this data could be gathered from).

If you can make your first seek very accurate, then it may be the case that simple linear search from there will get you there faster than Binary Search.

You can still report average and worst-case complexities under the assumption you have taken about how the log data is distributed.

Sorry to keep going on about this, but I just wanted to make my point clear! Good discussion.

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> >We want you to build a reddit clone entirely in HTML, Javascript, and CSS. It will maintain its state entirely client-side (HTML5 localstorage, cookies, whatever), and it's fine for it to be single-user. In fact, we want to leave as much of this challenge open to interpretation as possible.

...

>For this challenge, reimplement tgrep.

...

>Some of you might be thinking, "I can't believe reddit is going to make all these poor applicants slave over a hot emacs for two weeks just for the privilege of being allowed to apply for a dumb old job." Well, first off, it's supposed to be fun. If you don't see the joy in either of these puzzles, please don't apply.

<comment><USER10> If it takes a candidate more than an hour to implement tgrep, he's not a rockstar.

</comment></comment><comment><USER21> Rockstar programmers, eh? What about ninja programmers... they are pretty cool too. Oh well, either way I'm not a rockstar... more of a guitar tech, so... best of luck to them.

</comment><comment><USER22> You don't want "rockstar" anybodys. They are hard to deal with and think they are special. You want stable people who are good at what they do but don't think they are god.

</comment><comment><USER23> Rest assured, chums. Reddit doesn't mention "rockstar" anywhere in the job listing; it's just their Ops Manager and Senior Product Developer using the term.

<comment><AUTHOR> > it's just their Ops Manager and Senior Product Developer using the term.

Information Cowboy is my title, actually. :)

And I was using it as linkbait, just to be clear.

</comment></comment><comment><USER24> For the backend task, is the file encoding UTF-8 with Unix line feeds?

</comment><comment><USER25> No separate challenge for the in-between folks, or did I just miss it?

<comment><AUTHOR> In between folks can choose either challenge. tgrep is probably going to be more suited.

<comment><USER26> TGrep with HTML/JS UI.

<comment><AUTHOR> That would be awesome actually. But probably more than a few hours work.

<comment><USER25> Maybe an extra hour, if you don't worry about making it too slick and pretty.</comment></comment></comment></comment></comment>


Ask HN: Why is Posterous so slow? - <AUTHOR>

I created a blank template on Posterous that loads nothing but their files and it has 42 request. Page took 7.60 sec to load with a primed cache.
Couldn't some of these be merged, minified or conditional?
Here's a screenshot http://dl.dropbox.com/u/558799/jing/2011-03-30_1428.png
Posterous is a great service but page loads take forever. <comment><USER2> Hi Johnny

Most sites are loading very quickly for me. What is your site url?

We varnish all site pages, so maybe when you went to the site the first time it wasn't cached, but it should be now.

Let me know and we'll take care of it

-Sachin CEO, Posterous

<comment><AUTHOR> Hi Sachin,

I have two sites. <http://evacate.me> and <http://johndturner.com> I'm using Chrome.

Thanks!

<comment><USER2> both loaded pretty much instantly for me. if you are still seeing issues, email me. email@example.com. thanks

</comment></comment></comment><comment><USER3> I've noticed that as well, last time my posterous was linked to on HN several people in #startups noted that it was quite slow.

At a guess if Sachin's not seeing it, it may be down to the TCP config on the fronting server, if it's badly setup it can vastly increase the number of network roundtrip data takes to be sent, so people on more remote networks (i.e in Europe/Asia) may well see significantly slower times.

<comment><USER2> We were seeing some high load times earlier this month because of increased traffic. but earlier this week we added a bunch of boxes, cached most pages, and generally improved the speed of the site across the board.

if you are still seeing issues, let me know.

</comment></comment><comment><USER4> Maybe you should ask someone at Posterous instead of posting here.

<comment><AUTHOR> I did, no response. Hoping this will get some attention from Posterous.

<comment><USER5> It did, see above. What was the url?</comment></comment></comment>


Pingfs – a filesystem where the data is stored only ICMP Echo packets - <AUTHOR> https://github.com/yarrick/pingfs <comment><USER2> In the pre-smtp days, email links were over UUCP, which was often relayed via dial up lines which connected intermittently, on a schedule (e.g. every hour).

You also specified not just the destination, but also the route for the email to take, via a 'bang path': [https://en.wikipedia.org/wiki/UUCP#Bang_path](https://en.wikipedia.org/wiki/UUCP#Bang_path)

Add in the situation of disk quotas for university students, but not email quotas, and you get the means, motive and opportunity for people to use the email spools of a mail servers around the world as an annex to their home directory...

<comment><USER3> Since the statute of limitations has expired I will admit to creating data archival systems using uucp as well as smtp. Back in the 80s before the morris worm and spam, when the internet was just for us geeks, you could usually connect to anyone's mail server on port 25 and hand it mail to be delivered just about anywhere. Sendmail was more concerned with connecting up all of the various networks than it was about authenticating a destination, so you could connect to just about anyone's mail server and ask it to deliver mail back to your server; of course your server would be conveniently offline for a period of time or drop the connection after checking the rcpt (chunk id) in the envelope until you either wanted the data back or needed to accept it so that it did not bounce. I probably have opq ("other people's queue") on a nine- track tape in the basement but have no way of loading it up again; anyone know what the odds are that a well-cared for tape reel circa 1986 (bad tar format) is actually worth sending somewhere to get read?

<comment><USER4> It's funny, you mention the statute of limitations, but wouldn't this act predate any laws that exist now to prevent it?

</comment></comment></comment><comment><USER5> Technically, the data is not stored in the network, but in the buffer memory of the routers (and switches) in the path of the packets. So what this is really doing is externalizing the cost of storage to the network providers.

There is a problem called " _Buffer bloat_ "¹ which is that many manufacturers of networking equipment provide too much buffer memory, which leads to TCP latency and timeouts, since TCP was not designed with these large buffers in mind. Using Pingfs will take up buffer space in networking equipment. This could either be a good thing, since it decreases the available buffer space, or it might be a bad thing since it might make networking providers increase their buffers.

I'm not sure how much of this comment is serious.

① [http://www.bufferbloat.net/](http://www.bufferbloat.net/)

<comment><USER6> A teacher told me in the 70s they used satellite communication as memory buffers, sending data over the air with getting it back a bit later as only goal. IIUC, the earliest form of memory device were doing the same using pressure waves in mercury.

<comment><USER7> It's this: [https://en.wikipedia.org/wiki/Delay_line_memory](https://en.wikipedia.org/wiki/Delay_line_memory)

<comment><USER6> Yes, for the mercury ones, but it doesn't mention satellite air gap, which I find kind of hackish, the goal of the submitted post.

</comment></comment></comment></comment><comment><USER8> This is crazy cool. Nevertheless, if everyone used it, we would saturate whatever network we are using and I am curious what it would do to traffic costs since you are basically bouncing around a whole bunch of data back and forth. Sounds expensive.

Still crazy cool.

</comment><comment><USER9> Hi, author here.

Just like with iodine (dns tunnel) this was one thing me and my friends talked about that would be cool.

I actually started to implement this in haskell in 2011, and gave up after I had basic writes to files working. I can get dig out that code if anyone is interested.

The c version of the project hasnt gotten very far yet as you can see, I might pick it up again though.

<comment><USER10> Please share haskell implementation.

</comment></comment><comment><USER11> Just for the record: there was some previous work on that: [http://lcamtuf.coredump.cx/juggling_with_packets.txt](http://lcamtuf.coredump.cx/juggling_with_packets.txt) (see point 7)

</comment><comment><USER12> ICMP delay-line memory.

<comment><USER13> Randomly accessed memory?

</comment></comment><comment><USER14> If we had space probes with ICMP support, you could use this to store data in the interplanetary æther.

<comment><USER15> You don't need ICMP for that, or even an active space probe. Just encode your data in laser pulses and bounce it off one of the retroreflectors we've put out there. There are at least three on the moon, or the LAGEOS satellites ([https://en.wikipedia.org/wiki/LAGEOS](https://en.wikipedia.org/wiki/LAGEOS)) would work.

<comment><USER16> Hmm - quick research shows that laser communications have been demonstrated at up to around 1Gb/s; given the roundtrip time to a retroreflector on the moon, you could have around a 300MB buffer in flight at a time. Average latency to read or change a particular byte would be about 1.2 seconds, so not ideal for high performance applications. Also, wouldn't work when the moon was below the horizon. Plus installing additional retroreflectors on the moon to increase capacity would be quite expensive.

<comment><USER17> You don't need more retroreflectors, just ground lasers far enough apart (and someone with more physics than me to make an argument about the waves not interfering at the reflector)

</comment></comment></comment></comment><comment><USER18> Prior Implementation: [http://shysecurity.com/posts/PingFS](http://shysecurity.com/posts/PingFS)

<comment><USER19> Discussed at [https://news.ycombinator.com/item?id=6203442](https://news.ycombinator.com/item?id=6203442).

</comment></comment><comment><USER20> Could do some crazy docker things with this. Imagine bouncing around your entire P2P net on a .bit domain. Makes popcorn time look like a bunch of amateurs.

<comment><USER21> Could this be used to make networks of ultra-portable trackers?

</comment></comment><comment><USER22> Some radio HAMs have done this with packet radio and EME transmissions so the idea isn't new but this is really neat and likely much higher capacity.

Very slow refresh DRAM, next up, Mercury? (the planet or the metal, take your pick) ;)

</comment><comment><USER23> I think you've just found the first application where high latency is actually desirable!

<comment><USER24> Hi bandwidth is desirable too because it's delay * bandwidth. From my location I think the optimal place might be hawaii, the place with the highest delay bandwidth product I mean. It might be optimal for other reasons too.

</comment></comment><comment><USER25> Can someone please explain what this does? I've read the readme, glanced through the code, and still have no idea.

<comment><USER26> ping packets (ICMP) can have any data you want as a payload (1,500 bytes or so). This is a joke filesystem that lets you store data by putting it in ping packets and sending them to other systems. To read the data, you just wait for the ping response to come back. Then, you send it again immediately so that you don't have to store it locally.

The amount of data you can store is a factor of the amount of bandwidth you have and the amount of latency available, where the more latency is better. Hypothetically, on a 10 gigabit connection with a 1 second ping time, you'd be able to store 1,250 megabytes. Of course that doesn't factor in packet loss, and finding something that's one second away that also can saturate a 10 gigabit connection is unlikely.

</comment></comment><comment><USER27> In principle, one could store BxL/v in a cable of length L, where B is the bandwidth and v is the propagation speed of the signal.

<comment><USER28> Delay lines built on this principle were used in some old analog color TVs, for purposes of color correction: color info for a line was compared to the previous line, and differences were smoothed out. This resulted in less color resolution on the vertical, but also greatly reduced color noise and error.

The signal in the line was ultrasonic sound waves.

[https://en.wikipedia.org/wiki/Delay_line_memory#Piezoelectri...](https://en.wikipedia.org/wiki/Delay_line_memory#Piezoelectric_delay_lines)

<comment><USER22> Yep, you can gang them for really nice guitar phasing effects...

</comment></comment></comment><comment><USER29> Let's not forget [http://stackoverflow.com/a/13000176/308851](http://stackoverflow.com/a/13000176/308851) !

</comment><comment><USER30> A long time ago as a joke a few of us sketched out "netfs" that would use network switch forward buffers as a filesystem in a similar manner (constant resending), but never actually tried to make it. This is really neat.

</comment><comment><USER31> Snapchat users would be truly delighted :)</comment>


Building an RC Car using Raspberry Pi, an Xbox Controller and Lego - <AUTHOR> http://blog.zephod.com/post/37120089376/raspberry-pi

<comment><USER2> I wonder why this very interesting article is not picking up on HN.

It did very well on reddit/r/programming though.

EDIT: Here is the link to reddit discussion thread: [http://www.reddit.com/r/programming/comments/149ib2/building...](http://www.reddit.com/r/programming/comments/149ib2/building_an_rc_car_using_lego_an_xbox_controller/)</comment>


Palaeoenvironmental and archaeological evidence of total warfare among the Maya - <AUTHOR> https://www.nature.com/articles/s41562-019-0671-x <comment><AUTHOR> [https://www.nationalgeographic.com/culture/2019/08/ancient-m...](https://www.nationalgeographic.com/culture/2019/08/ancient- maya-practiced-total-war-before-drought/)

[https://www.nytimes.com/2019/08/05/science/mayan-warfare- arc...](https://www.nytimes.com/2019/08/05/science/mayan-warfare- archaeology.html)

[https://www.livescience.com/66102-maya-civilization-was- ultr...](https://www.livescience.com/66102-maya-civilization-was-ultraviolent- before-collapse.html)

</comment><comment><USER2> Interesting.... If I could only read it!

</comment><comment><USER3> The only post here so far, commenting about the paywall, was downvoted until dead.

It was a reasonable comment though because the article itself says:

> This research was funded by the USGS Climate and Land Use Research and > Development Program, a National Science Foundation Archaeology research > grant (no. 1322775) and a University of Alabama Research Grant Committee > Level 1 Grant (no. RGC-2018-14). Additional funding for fieldwork was > provided by Fundación PACUNAM, the National Geographic Society and the > Alphawood Foundation.

It's immoral and unreasonable to put publicly funded research behind paywalls controlled by private organizations. And it is a psychopathic abomination that any and all thoughtful serious discussion board dealing with academic and scientific issues would so dramatically and brutally censor all discussion of this highly important and serious issue.

<comment><USER4> Capitalism ubiquitously recuperates human-produced value—from our private data, and the hours of our working life, to the water we drink, and the air we breathe—and this is the nit you pick? This is the "psychopathic abomination"?

Forgive me for thinking you've bigger fish to fry.

That being said, of this is the straw that breaks the camel's back for you; get on with your bad self.

<comment><USER5> You can think more than one thing is terrible. It's not like you have only one mental slot for life and you have to select it very carefully or fail as a human being.

<comment><USER4> For me, it's a question of scale. When many "terrible things" are rooted in the same cause, it behooves us to recognize and address that upstream phenomenon.

The hours in a day are, as it happens, zero sum. It's cliché, but we must pick our battles. Leaf nodes are ill-advised opponents.</comment></comment></comment></comment>


The algorithm that runs the world - <AUTHOR> http://www.newscientist.com/article/mg21528771.100-the-algorithm-that-runs-the-world.html?full=true <comment><USER2> you need to log on to read this article? #fail

<comment><USER2> sorry typo, "you need to log in to read this article" still a #fail</comment></comment>


Ask HN: Jobs in NYC that are "low level" outside of finance and adtech - <AUTHOR> Looking for insight into what type of roles one can get in NYC that require deeper understanding of systems and low level stuff than your usual application developer.  Kinda "eh" about working for trendy big tech company as well, doing that now and it's getting a bit old now that I'm in my mid 30s.
Don't see too much embedded systems and the like in NYC, but could be wrong.  Please tell me I'm wrong :-)
I found this neat post that confirms what I've already been thinking, that going lower in the stack is the way to "age gracefully" in tech:  https://news.ycombinator.com/item?id=19100129
But struggling to find such roles in NYC that aren't hedge funds or adtech <comment><USER2> How have you been searching for them? Looking for jobs that use C (or maybe C++, with a poorer correlation since C++ was a fairly dominant applications language for a while) might be a decent proxy.</comment>


The Rise of the Wind Ships - <AUTHOR> https://www.theengineer.co.uk/wind-ships-marine-propulsion <comment><USER2> A quote from the article says "Whilst no-one's quite proposing a return to the great age of sail" bit it's not really true. No one is planning to build a square-rigged panamax container ship, but there are several groups that are in fact building modern sailing vessels specifically designed for short-haul cargo traffic. One example that I love is [https://www.sailcargo.org/](https://www.sailcargo.org/), a group that is currently building a very large wooden ship named Ceiba. In this case, the building material is carbon neutral as well as it's eventual operation.</comment>


Our lives are becoming comfortable illusions - <AUTHOR> https://modus.medium.com/our-lives-are-becoming-comfortable-illusions-c83ca26fff9a <comment><USER2> I'd love to read this, but the website won't let me.</comment>


Special collection of freeware tools for system administration - <AUTHOR> http://www.brendangregg.com/specials.html

<comment><USER2> >> pam_happy_hour.c PAM happy hour module. This creates a happy hour on Solaris during which passwords aren't required, any will do. Full example here.

Now we know what caused the Dropbox issue...

</comment><comment><USER3> > bottom This is the opposite of top, it displays processes that are using the > least CPU.

This is exactly what I need! I've been planning an awards ceremony for the developers of the most efficient software running on my systems (measured in CPU cycles, obviously). This will make selecting candidates so much easier.

</comment><comment><USER4> Anyone know where I can get #!/usr/dt/bin/dtksh? I NEED xmanagerstat.

Thanks!

<comment><USER5> It only exists on Solaris AFAIK, as part of the CDE window manager environment.

<comment><USER4> Hah - learned something. Thought it was part of the joke.

</comment></comment></comment><comment><USER6> Rewind cd-roms?? Is this a joke!?

<comment><USER5> No it's not a joke. If you forget to rewind your CD-ROMs before storing them, the next person using it might start reading at the wrong position. This can result in incomplete or corrupted data.

</comment></comment><comment><USER4> He forgot one that I use all the time: <http://xkcd.com/221/>

<comment><USER7> He had something in the same spirit: (though this one outputs a decidedly non- random number)

<http://www.brendangregg.com/Specials/notrandom.c>

<comment><USER8> The same spirit in the way that a closed door is similar to an open door. XKCD generated a random number to return, notrandom.c did not.

I fail to see similar spirits here.

<comment><USER9> You can easily write your own:

      #!/usr/bin/perl
      #The following was generated by a fair dice roll,
      #guaranteed to be random
      exit 4

</comment></comment></comment></comment><comment><USER10> A few programs I would like to see:

      * an automatic 'why-is-the-system-down' excuse generator plugged into procmail
      * suid-root 'system cleaner' (kills all processes but the user's own bash shell)
      * an ld_library hook (fix_all_errors.c ?) to force exit() to always return true
      * a vi plugin for Emacs
      * a program that forces the admin to type the entire 100-bottles-of-beer song before
       - logging in as root
       - editing sudoers
       - implementing NIS or RSH
       - starting any process with a listening tcp/udp socket as root

</comment><comment><USER11> makezombie.c is a fake. No processes called "zombie" are running on the system after I invoke this. Also, a real zombie program should randomly chew on other processes until the other process itself is a zombie. This needs more work.</comment>


The married couples in Hong Kong who live apart - <AUTHOR> https://www.bbc.com/worklife/article/20190903-the-married-couples-in-hong-kong-who-live-apar <comment><USER2> I'm from Europe and I also live apart from my long term SO. The reason being our job commutes.

We work in completely opposite parts of town and due to the city lacking fast public transport and her job lacking flextime she has to wake up way earlier than I'm use to if I want to be productive at work and so far we haven't found a middle ground where one doesn't have to compromise too much.

Honestly, remote work would ease a lot of modern urban problems like traffic, rents, relationships, childcare, etc. If only our corporate masters would allow it.

World governments need to start incentivizing employers to offer remote ASAP as infrastructure in the cities is not keeping up with population growth.

<comment><USER3> I'm from Hong Kong, funnily enough, and what we do with mine is that we switch every 2 years. Renting here is easy (albeit expensive), so we just move to a flat near her work, spend 2 years of me having 3 hours of bus, and then we move near mine, when I am 10 minutes away by foot and she has the 3 hours of commute per day.

What's nice is we can pay the 4000 euros per month of rent. If not we'd find a 2000 euros flat mid-way. The main issue is that hker are either too stingy to rent, or really don't earn enough to spend that much on it. Don't underestimate the number of people here who can't pay rent by sheer ideology, and live at their parents while extremely overpaid compared to Europe.

Also, as a side note, city incentives to companies come either from your salary (via taxes on companies) or your taxes, not the sky, so it's not a solution. Real solutions are sacrifice, like changing job, changing girlfriend or changing flat. Would you ask for the country to give incentive to companies to help you work 300 km apart your gf ? Sometimes life's unfair and the government isn't your mom, you'll have to solve the problem yourself.

<comment><USER4> Would love to better understand the ideology. Could you elaborate? Is it the "you will build equity through real estate" argument? Are the people living at their parents saving up for a down payment on real estate so they can get in on that game?

<comment><USER5> "Saving to buy later" is not really a good strategy in Hong Kong, as the increase in market price is faster than what can save. The only option is to get a sharp increase in one's income. This is very disheartening, as the goal post keeps moving.

</comment></comment></comment></comment><comment><USER6> Aside from the financial aspect I've been thinking about the topic of living together with your long term partner recently.

I am re-evaluating the whole concept that couples eventually living together needs to be some kind of long term relationship default or goal. I love my personal space and having an apartment to call my own to come home to. I also love having my boyfriend visit, sometimes for days at a time. I'm not completely against eventually moving in together, but am kind of unsure when or why we usually consider it to be some sort of inevitable goal of a successful relationship that is progressing. Can't we just live separately, enjoy our own space, and see each other whenever we want? Maybe gradually the time we _want_ to spend together will increase, and then nothing is stopping us from doing that. And maybe we'll go through a phase where we want more personal time, and then we'll still have the option to do that, too! This way we could see each other simply because we want to, not because we happen to live in the same apartment and don't really have another option anyway.

Of course this becomes more complicated if the couple chooses to have children, but as someone who intends to stay childfree I guess I just don't see much of an incentive to move in together 'permanently'.

<comment><USER7> Speaking as someone who intends to have children with my partner, you're basically right about why we want to move in together. That, and it simplifies a lot of the logistics of being in a long-term relationship for us. Right now I have to haul overnight bags to her house and plan how I'm going to get fresh clothes and stuff during the week, because I'm usually spending the night at her place. But when we move in together all my things will be colocated at her place. And I'll be able to cook dinner and help take care of us, which is more difficult when living separately.

We still both recognize the need for personal space within our shared home so we are discussing how we can accomplish that as we also decide how we're going to move in together.

I think the discussion of what your goals are is a critical part of any relationship, and personally as someone who doesn't share your goals I still think it's great that you know what they are and that you've discussed them with your partner. Because the communication is actually what defines a good relationship, and not this stepwise cultural treadmill toward cohabitating and having kids.

<comment><USER6> Thanks for sharing. Best of luck with your plans and your future move. You're right that discussing this properly is key - I'm not totally against moving in together one day. I'd just really like for it to be a conscious choice on our part, one that is untainted by default cultural expectations and with living apart still being a perfectly valid choice in itself.

</comment></comment></comment><comment><USER8> "Nearly one in 10 married couples in Hong Kong are not living with their spouses."

In the US the figure is 7 percent so it's not unusual for couples to live apart. I'm curious if the embedded study written in Chinese accounts for this.

<comment><USER9> Hong Kong is rather small, so living apart would seem less influenced by geographic separation (though you might have couples split in HK and mainland) due to jobs, but might indicate something like what also happens in the US that it's economically favorable to stay together in a legal sense.

Edit: looks like in HK there is a large component of this which is caused by housing unaffordability —so couples keep living in their respective parents' homes.

<comment><USER10> > you might have couples split in HK and mainland

I have no direct knowledge of this, but HKers working in the mainland is common enough that I suspect this could account for quite a lot of split couples.

</comment></comment></comment><comment><USER11> For those of you who want to get some in-depth statistics about the situation in Hong Kong

[https://www.bycensus2016.gov.hk/data/16BC_Youth_report_2018....](https://www.bycensus2016.gov.hk/data/16BC_Youth_report_2018.02.12.pdf)

</comment><comment><USER12> We need a 4 day work week with 1 day of mandatory/paid retraining. Unskilled labor can be found anywhere, there are 7.7 billion people on the planet.

By having programs in place for training we can move people into careers where they can grow and move up.

German is moving to a 28hr work week for some workers. [https://money.cnn.com/2018/02/07/news/economy/germany-28-hou...](https://money.cnn.com/2018/02/07/news/economy/germany-28-hour- work-week/index.html)

<comment><USER13> I don't know if we should do mandatory retraining- I would also be down for this to be a "free" day to do things like home projects, rest and recovery if you are mentally/physically ill, do some grocery shopping at a farmers' market, volunteer at a shelter or retirement home...

<comment><USER3> As long as it's unpaid, sure. Most company allow you do take unpaid leaves and rest and recover.

</comment></comment></comment><comment><USER14> So the cost of an apartment is $4000 and medium income for new employees is $10000 according to the article.

Am I missing something - that seems more affordable than most major metropolitan areas. With two incomes that would be more than enough.

<comment><USER15> > [for] a single unit within a subdivided flat

that's around 100-200 sq. ft.

<comment><USER16> I could bet $4000 ( $510 USD ) that it is not 100-200 Sq. Feet.

$4000 tends to get you Sub 100 Sq Feet Space.

</comment></comment></comment><comment><USER17> Living in those tiny flats (29sqft, 5.5sqft) sounds inhumane. I always thought Hong kong as developed. What is the point of all that development if people have to live like this :(

</comment><comment><USER18> From personal anecdotal data, it's also common for HK couples to live even further away; as in different countries for years. I've know several families from HK where the husband stayed behind just so his family could leave for western countries before the handover years back

</comment><comment><USER19> How are the parents affording a 2-bedroom apartment? Is there a massive (relative to what we'd expect) income gap between 50-60 year olds and 20-30 year olds? The article mentioned incomes for the younger demographics, but not the older.

<comment><USER20> Hong Kong has many public housing estates with greatly reduced rents. It's likely the parents live in one of these. New construction has not at all met demand in recent years, so there's less and less new public housing available for younger generations to try and get. Private housing is, for most, completely out of the question. Living with parents is very common in HK.

</comment></comment><comment><USER21> This makes it easier for people to have multiple SO.

</comment><comment><USER22> I'll continue saying this until it happens. We need an Elon Musk for housing. Imagine how much capital could be freed up for non rent-seeking purposes if we could fix this broken system. Note I would expect driverless cars to help here as many people may be able to work-commute, and even if you're not afforded that luxury it may ease housing pressure on those that can not.

<comment> 100-xyz Can you elaborate on what you mean by Elon Musk for housing? What kind of solution are you aiming at? Serious question.</comment></comment>


Facebook Considered Charging for Access to User Data - <AUTHOR> https://www.wsj.com/articles/facebook-considered-charging-for-access-to-user-data-1543447785 <comment><USER2> [https://outline.com/dgvaxt](https://outline.com/dgvaxt)

</comment><comment><USER3> How is this different than any other company in any other industry? [https://en.m.wikipedia.org/wiki/Information_broker](https://en.m.wikipedia.org/wiki/Information_broker)

This is credit agencies' entire business model and you can't even opt out/close your account

<comment><USER4> I believe the major difference here is that credit bureaus are open about their business models. Can't say the same about the ways in which Facebook monetizes data.

<comment><USER5> How is my credit score calculated?

</comment></comment></comment><comment><USER6> I'd actually be down with this, but only if facebook gave user's the ability to lock their own data down at fair market price. That way the user pays for a product, or decides to be the product. It's clean and cut & dry; and there wouldn't be any illusions of a "free" service.

<comment><USER7> The problem is market price would be less than a penny per megabyte of data.

EDIT: Okay, I admit I pulled this figure out of my behind but my point is data is incredibly cheap.

<comment><USER8> That's a completely useless metric.

200 bytes can easily contain name, adress, phone number, occupation, age and list of interests for one person.

<comment><USER9> The first 200 bytes are free then.

</comment></comment></comment></comment><comment><USER10> Isn't their ad product already effectively charging for access to the user data? In a slightly more obfuscated way, sure, but broadly the same?

<comment><USER11> I don't think so. I think the more correct way to frame it would be that they are charging for access to the space in a user's feed. Like renting billboard space, except the user data makes it very easy to understand where you should put that billboard.

<comment><USER12> In fact, the adtech industry quite literally refers to these spaces as "inventory" \- [https://wiki.appnexus.com/display/adnexusdocumentation/Inven...](https://wiki.appnexus.com/display/adnexusdocumentation/Inventory+Quality)

</comment></comment></comment><comment><USER13> So what, we've all considered bad ideas.

<comment><USER14> most of us don't have a track record of making and implementing decisions that

1\. expose millions of people to russian propaganda and disinformation 2\. expose very sensitive personal data of millions and millions of individuals to dubious actors in violation of company policy (cambridge analytica) 3\. hire right wing dirty tricksters to smear opposition as being financed by the evil jew George Soros 4\. drag our feet when internal security professionals identify (1)

and that's just off the top of my head. Facebook has a consistent pattern of egregious misbehavior. This article is just another brick in the wall indicating profoundly bad judgement. Only by the grace of god did they not implement such a policy of selling user data.

I'm not in love with the monopoly power of google (I use duck duck go) and they clearly do some dumb shit. like the government approved censorship engine (firefly) but it basically seems like brin and page and schmidt and sundar pinchai are not expressively malevolent and seem to be trying to act in a way that balances shareholder interests with the interests of users. Zuckerberg and Sandernberg still seem to be operating under the mantra of "they trust me; the dumb fucks".

honestly that quote should have been the end of facebook.

</comment></comment><comment><USER15> Even if customers pay for a service, isn't it likely that eventually the service will _also_ want to sell their data anyway in order to increase margins?

<comment><USER16> The potential reputation hit is harder to justify if you've got robust other income streams.

<comment><USER15> Indeed, and that's certainly reassuring; the option may still gain traction over time though, even for the most forthright of businesses.

</comment></comment></comment><comment><USER17> They already did this experiment years ago. They had a product called Pylon with Datasift. Rumor had it people thought it was a cool idea, in theory, but few people had any practical uses for it.

</comment><comment><USER18> The real question is, did they decide not to because they realized it was unethical? Or because they felt it was too risky to public perception?

<comment><USER19> I don't get this obsession with ethics (in terms of correct motives) from companies. Why does the thought process behind the behavior matter when it comes to a public company, over and above the behavior itself? The fact that the company is responsive to public opinion should the goal.

<comment><USER20> Act _too_ unethically and with popular opinion against you you'll quickly find legislation against your interests.

</comment></comment></comment><comment><USER21> Profit sharing would be interesting.

</comment><comment><USER22> When the product is free, it isn't the product. You are the product.

</comment><comment><USER23> Like Google employee Facebook employee would have done something, if they were any good.

Sorry for being harsh.

Reference: [https://www.cnbc.com/2018/11/27/read-google-employees- open-l...](https://www.cnbc.com/2018/11/27/read-google-employees-open-letter- protesting-project-dragonfly.html)

Hanging more good quotes in the facebook's office wall doesn't make you any good, you are part of an organisation that creating more problems in the world, you are the reason. Unless you act and do your part.</comment>


The eigenvector of "Why we moved from language X to language Y" - <AUTHOR> https://erikbern.com/2017/03/15/the-eigenvector-of-why-we-moved-from-language-x-to-language-y.html <comment><USER3> The research methodology in this blog post is fundamentally flawed. The author only counts how many people move from X to Y, but he doesn't count how many of them do not move at all. The whole diagonal of his (sample) transition matrix are actually missing values, but he treats them as zeroes. This greatly distorts the equilibrium distribution. As a result, he misinterprets each equilibrium probability as the "future popularity" of a language as well, when it at best only represents the future popularity of a language _among those who constantly switch their languages_.

<comment><USER4> Author here. You are absolutely right. As I mentioned in the notes, I think this matters a bit less than it might seem like (the stationary distribution does not change if you add a diagonal matrix) but clearly some languages will have a higher propensity for people to stay.

I think this flaw is even smaller than the issue of using Google statistics to infer transition probabilities. It's just a shitty proxy, at best.

At the end of the day, there's a lot of assumptions going into this analysis. I hope I didn't make it seem more serious than I meant it to be – it's really just a fun project and kind of a joke not to meant taken seriously.

That being said, I think the conclusions are at least "directionally" correct. They might be off by a factor of 2x or 5x or even 10x, but the stationary distribution exhibits an even bigger spread (multiple orders of magnitude) so I suspect the final ranking is still "roughly" correct (with a very liberal definition of "rough")

<comment><USER5> The thing I like most about this post is that it's falsifiable. We will know in ten years whether C and Java are still popular, and whether Go succeeds in the sense this data suggests. So thank you for being concrete and clear, even if it's all in fun and other people don't like it :)

<comment><USER6> > whether Go succeeds in the sense this data suggests

An interesting thing about this methodology is that it is extremely sensitive to the age of a language. It's possible to switch _from_ an old language _to_ a new language, but not the other way around -- so if you happen to do your measurements after a language has had some uptake but before it's been around for long enough that people have built significant projects on it and subsequently gotten sick of it, the future distribution by this method can only be 100% New Language. (Because sometimes people switch to New Language, but no one ever switches away.)

Actually, to predict the future distribution of language use, you also need to know the rate of people moving from nothing ("I just had a brilliant idea!") to each language. If everyone eventually transitions to Go, but everyone _starts_ in Ruby, then the division of market share between Go and Ruby depends in part on how frequently people start new projects.

<comment><USER7> The sorted stochastic matrix shows that C contradicts your assumption that it's not possible to switch from a new language to an old one. Or, at least, it shows that portions of new language code are occasionally rewritten in C.

<comment><USER8> What's missing from the matrix is "no language" language or null language. That is, a column and row that represents people who start projects from scratch in a given language.

I agree that the analysis makes it abundantly clear people move to older languages, but the question is what new projects are started in, and how many projects represent new versus transitioned projects.

This analysis is interesting, and gives a rough idea of what people are moving from and to when they decide to do that, but not necessarily popularity.

What the author is indexing in the end isn't really predicted overall language use, it's predicted transition target frequency.

</comment></comment></comment></comment></comment></comment><comment><USER9> I wish more people would read 'Hack and HHVM', written by Owen Yamauchi, formerly a member of Facebook's core Hack and HHVM teams.

[http://shop.oreilly.com/product/0636920037194.do](http://shop.oreilly.com/product/0636920037194.do)

The hidden lesson for me was that rewriting the code in <new-language> is not the only option. Another option is to slowly improve the language/runtime itself until you've essentially switched it out underneath the application, which is what happened at Facebook. Meanwhile keep refactoring the code to take advantage. (Granted, this is isn't an option for a small company.)

I work at Facebook and sometimes write www code. When I was interviewing and thought about writing PHP code, I didn't get a warm and cozy feeling, being reminded of terrible PHP code I've seen (and written myself) in the 2000s as a "webdev". Thanks in part to the advances described in the book, the codebase is definitely not like that; it's easily the best large scale codebase I've ever seen (I've seen 3-4).

My thoughts in blog form (written 3 months after I joined):

[http://bytepawn.com/hack-hhvm-second-system- effect.html](http://bytepawn.com/hack-hhvm-second-system-effect.html)

<comment><USER10> As an unintended side-effect (maybe), the mere existence of HHVM acted as a spur to PHP generally, things have improved radically in PHP-land over the last few years.

</comment></comment><comment><USER11> I don't think the Google queries measure what the author thinks it does.

I noticed it lists 14 results from Haskell to Erlang, which I was skeptical of. When I google "move from Haskell to Erlang" or "switch from Haskell to Erlang" I do find results (such as quora questions, versus questions,lecture notes) but none of those results are the type of article we're looking for.

If they really want to do this, I think they also need to validate that some of those keywords are in the title of each page.

<comment><USER12> I'm also concerned that for some blogs, a single post might appear several times in Google's estimated search results (due to crawling the same blog under different hostnames or the same post under different paths, or because of syndication or posts to link aggregators). So maybe some individual posts reflecting particular teams' decisions are reflected 5, 10, or 100 times in the Google result count.

</comment></comment><comment><USER13> Cache: [https://webcache.googleusercontent.com/search?q=cache:XQb6R9...](https://webcache.googleusercontent.com/search?q=cache:XQb6R9BYLEQJ:https://erikbern.com/2017/03/15/the- eigenvector-of-why-we-moved-from-language-x-to- language-y.html+&cd=1&hl=en&ct=clnk&gl=us)

<comment><USER14> Is the table itself cached anywhere?

</comment></comment><comment><USER15> I appreciate that the author wanted to implement their own eigen vector/value method, but really they should use:

        numpy.linalg.eig(x)[0]
        numpy.linalg.eigvals(x)[0]

Numerical stability can be hard to get right...

<comment><USER16> Yes, but... The matrix has all non-negative entries, and the author is after the highest eigenvalue/vector so I think this means stability is just not an issue. The only possible issue is time to convergence.

The nice thing about the power method is its conceptual simplicity. In cases like this, it's quite hard to screw it up. And it will scale far beyond those numpy functions (not that this is needed for this example.)

Also, did anyone mention PageRank yet?

<comment><USER17> Why do you say it will scale far beyond? Mat mul is N^3 as is eigenvalue solving.

It's actually the second highest eigenvalue. The highest eigenvalue is always 1 for stochastic matrices.

<comment><USER5> Power method is not matrix-matrix multiplication (which is not N^3, BTW [1]), but rather matrix-vector multiplication. So the power method is N^2*k where k is the number of iterations required to reach precision (usually polylogarithmic).

All this being said, scalability is _obviously_ a non-issue when talking about a matrix of programming languages. All methods are constant time.

[1]: [https://en.wikipedia.org/wiki/Matrix_multiplication_algorith...](https://en.wikipedia.org/wiki/Matrix_multiplication_algorithm#Sub- cubic_algorithms) Interesting tidbit: nobody can even prove it's not N^2 :)

<comment><USER17> Oh right, of course, because you're iterating the distribution. Duh.

And yea, mat mul is not N^3 theoretically, but most implementations are. I've heard that some (mkl maybe) are 2.8, but haven't had someone point code to me. My personal attempts at implementing Strassen were slower than a tuned N^3 implementation, at least for matrices that fit into memory.

</comment></comment></comment></comment></comment><comment><USER18> 10000 vocal webdevs make a blogpost about moving from Node/Python/Ruby to Go because their app is slow as shit and the JVM isn't trendy enough for them. Also I wonder if I'm reading this correctly but are there actually people moving from Cassandra/DynamoDB to Mongo??

<comment><USER19> there is clearly a mistake in the database graph ... that it must be inverted... because also no one is moving from mariadb to mysql

</comment></comment><comment><USER20> Well the fact that C is going so strong guarantees we'll be dealing with easily preventable bugs for the next 100 years

<comment><USER21> Sadly getting rid of C means getting rid of UNIX, as they are symbiotic and UNIX vendors will surely never rewrite them in anything else or replace POSiX standard.

<comment><USER22> C and say, rust or c++ can interface.

You don't need to rewrite, just stop writing extra stuff in C, maybe when you do a really big refactor in C, port it. In the end, we can migrate away from C gradually.

That makes me wonder, is there any chance in hell we get some RUST in the Linux source code?

<comment><USER23> Upstream? Likely never. Out of tree? [https://github.com/tsgates/rust.ko/blob/master/README.md](https://github.com/tsgates/rust.ko/blob/master/README.md)

<comment><USER24> I recall that Linus once said on the LKML that he could see himself accepting Rust code into the kernel. But I cannot find the source right now.

</comment></comment></comment></comment></comment><comment><USER25> Am I reading this incorrectly, or there is more movement from Swift to Objective-C than the other way around? Do I sense a methodological error?

<comment><USER26> I had this exact reaction to the graphs that also showed:

1\. Movement from Postgres to MySQL

2\. Movement from Mariadb to MySQL (and NOT the other way around?!?)

3\. Movement from PHP to Java (I remember the sort of people leaving Java for PHP 10 years ago, and I don't think they'd go back, or that PHP people would pick Java as their choice to move to)

I think maybe he has the axes labeled wrong?

<comment><USER27> MySQL is actually seeing a resurgence as people realize that ACID is valuable and performance is just fine for 99.9% of use-cases.

And Java is seeing a bit of a resurgence as well as people get fed up with shitty PHP and other dynamically typed languages. Java has some frameworks like Dropwizard and Spring Boot that make it not as terrible anymore.

<comment><USER26> > MySQL is actually seeing a resurgence as people realize that ACID is > valuable and performance is just fine for 99.9% of use-cases.

That wouldn't explain why people jump from the database with better ACID (Postgres) to the one with generally worse ACID (MySQL). Or why people would move from the open source non-Oracle fork (MariaDB) to the Oracle-acquired original project that everyone forked away from (MySQL).

> And Java...

Oh, I agree. Java is awesome these days. I'm just making a disparaging blanket generalization about the people who jumped to shitty PHP to begin with.

</comment></comment></comment></comment><comment><USER28> This looks pretty interesting. Most striking to me is that Go is taking from other 'target' languages. You can see the 5x5 block of the other strongest target languages giving to Go, but not taking from it. To make what the Eigenvector says explicit:

Top 5 giving to Go directly: C, Python, Java, Ruby, Scala

Top 5 giving to C: C#, R, Java', C++, Fortran

Top 5 giving to Python: C', Perl, Java', C#, C++

Top 5 giving to Java: C', C++, PHP, Python', C#

Top 5 giving to Ruby: Python', PHP, Perl, Java', (C++ — only 215)

Top 5 giving to Scala: Java', Ruby, (Python', C#, PHP — only 100, 17, 16)

': language also in top 5 givers to Go.

The other top languages take from each other (there is migration in both directions), but currently Go mostly takes here. However it does lose people to Rust — which is actually the strongest go-to language from Go. And C++ does not give to go.

This might point to a discrepancy between Go marketing and reality (efficiency and replacing C++).

It would be great if you could repeat this exercise next year to see how things changed.

(besides: the script is nice and concise!)

<comment><USER29> Or it could be that Go is a fairly new language and has so few users (relative to other top languages), the search queries will show up in only one direction. You should note down what is happening in the other "new" languages.

</comment></comment><comment><USER30> Highly skeptical of so many people migrating from C# to C, or python to Matlab, to give a couple of examples. This seems like a highly flawed methodology from many perspectives, as pointed out in comments.

<comment><USER31> Or Rust to COBOL? I had the same thought.

Then reading more I realized the results included things like optimizing certain portions of programs into a language for hot areas of code. Though the Rust to COBOL one I should go read. That's nuts.

</comment></comment><comment><USER32> I find it amusing that for Javascript frameworks the approximate end-state is perpetual oscillation between React and Vue.

</comment><comment><USER33> Anyone else routinely roll their eyes at "why we moved from x to y" blogs?

They are always just "We wanted to do this in a particular way. So we fought the framework till we decided to move to another that does things the way we thought they should be done. Now things are much better but we will fail to mention down the line all the new compromises we have to deal with"

<comment><USER34> Most often, it's a "We built this thing initially in X until the legacy technical debt and proto-duction compromises caught up with us, then we rewrote it in Y, leveraging all the domain knowledge and experience we've gained after doing it in X. Amazingly, the second system in Y is better/faster/has less bugs!"

</comment></comment><comment><USER35> Who is the one person who rewrote their matlab homework in php?

<comment><USER36> Apparently it is a scientific program that was made into a web app [https://www.ufz.de/index.php?en=39156](https://www.ufz.de/index.php?en=39156)

</comment></comment><comment><USER37> It should be noted that the premise dictates this eigenvector is limited in scope. It seems to apply mostly to people who both wish to create products (usually for some commercial venture) and have a habit of saying things like "Well this looks hard. Let's try reinventing this wheel with different tools and see what happens."

</comment><comment><USER38> This is super interesting. It's also interesting to see the converse - <USER2> isn't moving anywhere. Go, Elixir, Dart, and Clojure all seem pretty happy!

<comment><USER39> This is an absolutely terrible methodology for asking that question. People tend to blog about major language changes. Very few C# shops/devs are publishing blog posts about how they're still using C# this year.

Unfortunately, you'd probably be hard-pressed to find a decent methodology.

But indeed, "we used this language for 10 years without thinking about switching" is a much more interesting metric than "we switched languages 3 months ago".

<comment><USER38> Yeah true. My mistake, but fair point. I'm not exactly sure how to measure that to be honest. Seeing what people used for ten years without switching would be pretty neat.

<comment><USER40> Just look at the labour market. Even when companies don't switch languages they constantly have employee turnover.

The only problem is that the labour market is a lagging indicator. Perhaps the best approach is to combine statistics about active switchers (like the OP) with labour market statistics.

</comment></comment></comment></comment><comment><USER41> I really appreciate his method of breaking it down per-niche.

When it comes down to it, all languages are DSLs. Even LISP/Scheme are DSLs for making DSLs (like Butterick's " _Beautiful Racket_ " earlier today).

Presenting them as per-niche directed graphs is probably less likely to steer newbies (and sadly, not-so-newbies) into another round of "let's redo everything in X!"

<comment><USER42> Agreed. Nevertheless, everything _will_ be redone in JavaScript, by the look of things.

<comment><USER41> [https://www.os-js.org/](https://www.os-js.org/)

<comment><USER43> "Has a small, but awesome CUMmunity"

<comment><USER42> I wonder whether that typo was intentional ;)

<comment><USER41> The whole thing is like a "Yo Dawg, I hear you like Javascript" meme, so probably so.

</comment></comment></comment></comment></comment></comment><comment><USER21> I don't see any database that we actually care about.

SQL Server, Oracle, DB2, Informix.

<comment><USER44> I can't really tell if you're joking, but I think your question illustrates a different flaw in the article.

People really write about the databases you listed, because their users have an entirely different mindset. Sure people may switch from Oracle to DB2, or from SQL Server to Oracle, but some organisations just have "standard databases" that they work with. Switch would be a multi year process, and certainly not something to be advertised, unless it's: "Now with support for SQL Server" in the marketing material.

<comment><USER21> I am not joking, those are the type of databases I use daily on the the programming stacks I posted in another thread.

My employer does enterprise consulting.

</comment></comment></comment><comment><USER45> I love golang, but I hate trying to search HN articles for the word go... I need a ___find go but not ago_ __search button in FireFox ;)

grep go | grep -v ago

<comment><USER31> I can't tell you the number of times that I've searched for _Rust_ and get back results about protecting your old favorite car. And project names like _corrode_ don't help narrow the search, it in fact raises the error rate.

It's funny, there was this company Yahoo! that was trying to organize the internet to try and fix this...

</comment></comment><comment><USER46> Only relatively small project can afford a rewrite. So, this is statistic among projects that can affod a swith. And as far as I can see, this is eigenvector of trend. First derivative of actual state of things. More informative of the state of fashion today

</comment><comment><USER47> I always thought that there is no such thing as best programming language in the world. After all they only recycle the same recipe , again and again. Then I found out Smalltalk and realized how wrong I was.

There is nothing that comes close that can compete with the massive success that Smalltalk has been. Its blows my mind how it can be so much better than anything else out there including the usual suspects (Lisp, haskell, blah blah).

But in the end its not about the language , its about the libraries. Hence why Python remains my No1 choice.

In the end however even Smalltalk is terrible outdated. The state of software is in abysmal condition trapped in its own futile efforts of maintaining backward compatibility, KISS and do not reinvent the wheel.

In sort software is doing its best to keep innovation at a minimum and as such pretty much everything sucks big time and is still stuck in stone age.

I once considered becoming a professional coder working in a company doing the usual thing, I am glad I was wise enough not to choose that path. I would have killed myself right now with all this nonsense that makes zero logical sense.

But my hope is in AI, the sooner we get rid of coders, the better. Fingers crossed that is sooner than later. Bring on our robotic overlords.

Saying that I know a lot of people that really love coding and respect it as an art and science, so there is definitely hope.

</comment><comment><USER48> The author is surprised that angular is holding up. I've been learning angular2 the past few weeks after having never used a single page application framework before and I'm loving every second of it. I'm never going back to ASP.NET MVC except to use it as an API.

<comment><USER49> > I'm never going back to ASP.NET MVC except to use it as an API

Angular isn't going to help you write your server. That's such a strange statement.

<comment><USER34> Quite often ASP.NET MVC is/was taught with the Razor view syntax wrapped around the axle of everything else that MVC can do, because it was such a revelation compared to the suck of WebForms.

</comment></comment></comment><comment><USER50> The Python/Ruby axis are interesting. You've got over twice as many Python to Erlang posts out there...and a fraction of the Python to Elixir's. Ruby has the opposite. A bunch of Ruby to Elixir and very few Ruby to Erlangs.

I wonder why that is?

<comment><USER51> The Elixir syntax is quite alike to Ruby's, so if you are going to change from Ruby to a language running on the Beam VM, switching to Elixir is easier than to Erlang because you don't have to relearn as much. I suppose that this effect is missing for Python to Elixir and that therefore relatively more people choose to switch to Erlang.

</comment></comment><comment><USER52> To me it's unsurprising that people move from "thing that was popular a while ago" to "newer thing".

Generally when a language/framework/toolset first hits, it looks magical and fixes loads of problems people are currently experiencing.

It's own crop of problems has yet to emerge (generally these only emerge once a sufficiently large number of projects have been using it for a sufficient length of time).

So at the moment Go is the new thing, and it's surplanting the older new things... come back in 3-4 years and it'll likely be on the losing end to something else.

</comment><comment><USER53> This is certainly interesting. Great for happy hour bullshitting, but too flawed to take seriously.

I'm not dismissing it. Just wanting to define proper context. Else some twithole will start a shit storm over null.

</comment><comment><USER54> The prevalence of Go may be caused by the stupid fact that Google search results include pages where "go" is used just as a common verb and not a language name.

</comment><comment><USER55> @platz : The time component is missing in the analysis to make comparisons meaningful to me - so in comes a cubic meter of salt.

</comment><comment><USER56> > Surprisingly, (to me, at least) Go is the big winner here. There's a ton of > search results for people moving from X to Go.

You mean ... Google search results?

I'm not trying to suggest that Google's search engine is intentionally biased toward Google projects, but I think it's reasonable to assume that their own projects wouldn't fall into whatever unintentional blind spots their search engine may have.

<comment><USER57> They didn't exactly make it search engine friendly either, given that the name is quite generic/short.

</comment></comment><comment><USER58> It would be interesting to do the same thing but with Bing and see if C# and .net comes up first ... ;)

</comment><comment><USER59> I find it very hard to believe that no-one is moving to node.

<comment><USER60> They are. Mainly from Java, Python and PHP.

You may be reading the axes the wrong way around... look down the node column rather than the node row.

</comment></comment><comment><USER61> Oi. Another person who thinks the number of search results returned is a real number that means something.... the fact that it gives even plausible results is impressive as the number is made up by googles servers.

<comment><USER62> Made up? Can you explain? I ask because I'm professionally working on a project which uses those results and I've often wondered about their validity. I know there are...Issues with them in various ways, but what are you aware of?

<comment><USER61> It's not appropriate for me to give you the details, so I'll just say I wouldn't rely on that at all.

</comment></comment></comment><comment><USER63> I half-expected Unicode to have an emoticon for this [https://assets- cdn.github.com/images/icons/emoji/trollface.p...](https://assets- cdn.github.com/images/icons/emoji/trollface.png)

But alas, this post had to use an image.</comment>


Ask HN: Machine learning, AI – struggling learners - <AUTHOR> First time I tried learning machine learning was in Andrew Ng's mooc back in 2011. I gave up as I had other commitments at the time and since then  following ML only in tech news. As many experts advise that Machine learning, Deep learning and AI is a necessary skill going ahead (5-10 years) for a programmer - I have tried to pick it up again.
But whilst understanding math concepts I feel lost at 2-3 levels down of any link/training/forum/paper. Then I spend time brushing concepts of the same. I feel my progress  is in slow-mo.
Any advise from people who have jumped to ML-AI wagon feeling the way I do ? Any people in learning-struggling wagon and how are you coping ? <comment><USER2> You need to pick up problems and do them. Pick up a problem and learn the math for it, then code it, and then if you like, publish it or blog about it. You only learn a subject by doing problems. So, you need to think about the list of problems you're going to solve. Here's a starter list - make a recommendation engine for books to read for a user, make a sentiment analysis prediction algorithm for hospitals based on patient feedback (textual), make a spam detection engine for sms'es you get on your phone, make a multi document summarizer, make a prediction model for predicting whether a certain flight would be on time or not, make a bot application for your phone such that for everything you want to do on your phone you just go to that bot application and type in and tell it what to do, advance your bot by taking voice instructions, make a AI game to play tic-tac-toe - make your friends play with it and let it learn / grow it's training data and then it should improve in beating other people. If you only do these, it'll take you a few months. But like they say - "when you want to learn something, assume you have all the time in the world". Best of luck!

<comment><USER3> I am going to follow this advice!

Here is a sample that I am following.

[http://minimaxir.com/portfolio/](http://minimaxir.com/portfolio/)

</comment></comment><comment><USER4> There is no way machine learning will be a necessary skill for software engineering, if that is your motivation I would not spend time learning it. However, if you still want to learn it you should first study statistics, for instance [http://www-bcf.usc.edu/~gareth/ISL/](http://www- bcf.usc.edu/~gareth/ISL/).

<comment><USER3> I have started reading this book. So far so good.

</comment></comment><comment><USER3> Hey man, I am in the same level as you. I am really pushing myself to learn ML and AI. If you would like, you and I can motivate each other in achieving this. I always love to meet people who wants to do great things in life. Let me know if you are interested in connecting with me to move forward.</comment>