skysight-inc/HackerNews huggingface dataset:
General skill of problem solving seems to stick with you forever.

It's probably because most of your problem solving knowledge is your own invention. Whereas math and programming is your own invention if you solve all the problems by yourself, if you code everything from the start. This gives you the understanding of the problems, and the reasoning/tools to solve it.

I've been dropping in and out of problem solving fields through the years, and I've noticed that my knowledge practically disappears, but my problem solvings skills can adapt to any framework (mathematics, physics, programming) it just takes a little bit of time to re/learn the terminology.
Sorry, I wasn't clear. You are, of course, correct: you're only ever in a position to call a method if you hold a reference to the struct you're calling on.

My meaning was that you should favour a usage pattern that looks like you either move/copy things into the called method, or lend a reference to something you own (which is, presumably, not going to be held on to for very long), and then you're either given ownership of whatever return value you get, or get a reference whose lifetime depends on the arguments you passed in (but not the object itself). All of this ends up being quite clean, and you don't end up tying yourself into a borrowing knot.

You do end up in a weird place when your methods return references to fields of the owning object. When that happens, you're restricted in what you can do with the owning object until the reference goes out of scope. Rust mutexes are implemented precisely like that, which highlights what sort of behaviour you're getting from this usage pattern.

The former provides better encapsulation and more closely resembles the message-passing approach to OOP, whereas the latter pattern is not only not very ergonomic, it's quite indicative of poor encapsulation (because you're, by necessity, asking for internal state).
then you have maintain that thing that monitors the daemons.
http://www.simplyhired.com/search?q=python
Showing 1-10 of 169,970 Python jobs

http://www.simplyhired.com/search?q=ruby
Showing 1-10 of 128,305 Ruby jobs

http://www.simplyhired.com/search?q=java
Showing 1-10 of 190,126 Java jobs

http://www.simplyhired.com/search?q=golang
Showing 1-10 of 219 Golang jobs

http://www.simplyhired.com/search?q=julia
Showing 1-10 of 206 Julia jobs

http://www.simplyhired.com/search?q=%22python+3%22
Showing 1-10 of 151 Python 3 jobs

http://www.simplyhired.com/search?q=%22python+2%22
Showing 1-10 of 141 Python 2 jobs
Exactly. I have the broadly same issue with my doctorate: I know essentially what I showed, but I only ever really completely understood my thesis's more abstruse passages around the time I was writing them (and being examined on them). But I don't find this surprising or concerning. The overriding motivation for doing a PhD was to try to contribute some original knowledge and insights to a field I find interesting. All this article talks about is, what did my PhD do for me personally, and tangentially how can the PhD experience help to train the mathematical brain. To me those are secondary issues, my reward is that my thesis, although hardly earth-shattering, gets checked out of the library every so often, and I get emails from interested and interesting people asking me about it.
Well KiloMol is pretty weird too.

IDK,I just think going with bits is neater.
On the contrary, your response is much more useful than anything I say, because your terms of comparison are much more apples-to-apples than anything my paltry rust experience can provide :)
No, it's not dying. It has simply gone enterprise. Which means it is no longer "cool". Python is a good glue language that runs everywhere.
Emacs and vim allow extreme customization for precision editing and navigation:

http://howivim.com/2016/damian-conway/

https://www.emacswiki.org/emacs/AceJump

Worrying about startup time is the wrong problem. You want to optimize for keystrokes, for example. More work, less typing.
Just for example, perhaps HN is one.
Stopping to Sharpen Your Tools
Reminds me of this (well without the forgetting part, but I do that with old code all the time)

http://matt.might.net/articles/phd-school-in-pictures/
AlphaBear, which is a single-player word game. (This is in no way to support the original article's point, but it did really annoy me about AlphaBear)
And 20 years ago, there would have had to be multiple pharmacists and techs to do all of the things that are being done by machines now. Just as I said above, technology is often more of a force multiplier than a strict substitute.
I know this is not the answer you seek but: adoption. Transition was a blunder reaching Perl proportions.
Sure, but the Model S isn't radiating most of that power into the air around you :)

It's pretty amazing to think that there are electromagnetic fields with hundreds of kilowatts of power shooting out around those antennas.

You wouldn't want to stand too close
I would hope a significant part of the reason people pursue a bachelors degree and, more so, a Ph.D. is because they enjoy doing it.
At my work we recently needed to hire a developer. We gave them all a very basic problem to solve and told them "use any language, use any libraries". The idea was to get a feel for their coding style - do they comment their code, is their logic something the rest of the team could follow, will they address unmentioned issues, will they press for clearer requirements, etc.

A few notable solutions:
1) The C guy. Damn if he didn't blow that problem out of the water. I never want to be responsible for anything he coded. Entirely too complex, no comments, lord knows what side effects he put in place.

2) The java girl. Didn't finish. Didn't do any logging. Very logical separation of code. Lots of comments. Had to continually reference a text file in order to run the command to show output.

3) The .net guy who attacked the problem with Python. Imported a handful of libraries. Wrote 14 or 16 lines of code. Completely baffled that we would provide such an easy problem. When asked why he didn't use his strongest language, he laughed.

One of them got hired and won't have to write a single line of .net anything for a very long time.
I don't know. As a single developer house, I have a behemoth of a project.

Started out with PHP, then used Python for the backend (php sucks as daemons). Expanded to NodeJS for real-time elements. Used JS exclusively for the front-end. When I found python not working as it should be for heavy concurrent tasks, I used Go.

So PHP, Python, NodeJS, Go, JS all for 1 project. Couple this with NoSQL, Postgres, Varnish, Nginx and being a linux sys-admin and throw in clustering, security and a whole lot of other things. Wow, something has to give.

4 months ago decided to learn Go. Now I'm almost at the point where I have a JS front-end and Go backend.

I regularly see complaints about Go having issues. I don't see this as the case. I went from PHP/Codeigniter MVC backend including sessions, validation, integration with nodejs using historyJS and a small JS footprint for the front-end SPA...

To a couple of days worth of work which involved grabbing GIN (the framework), make it do MVC, put in JWT, use GIN for validation and Gorilla/websockets for real-time.

There are many blogs, code samples on github, for a lot of different use-cases or to get the gist of how something is supposed to work. I havent yet found myself not being able to do what I need with Go.

I think what is the sticking point. A lot of developers want to import packages and just build the core of their app. I don't know. I find myself WANTING to build everything out because then I can trust that it will work and work in production. So if a library isn't available. Fine, I'll just build my own.

In fact, the net benefit for me, was that I no longer need to think about scaling my entire application. I made every facet of my old application into micro services that can now be clustered. In addition, the overhead for running Go is now very minimal. The outlay of $$$ each month dramatically went down vs running PHP/Python.

Finally yes, I understand that if I wanted to double down with Python or NodeJS, I could have probably achieved the same result. I'm sure someone will reply saying, why didn't you use X or why didn't you use Y. The fact is, I used Go. The barrier to entry to learn it was minimal to none. I hit the ground running with Go on day 3. Go has paid back lots of dividends and it continues to do so. All my new development is with Go and I don't miss any of the other languages and not only that, upgrading from 1.4 to 1.6 hasn't bothered me in the slightest. I hope that trend continues with 1.7 and 1.8 and beyond. Oh and getting http2, better GC and other goodies to boot. May that trend also continue.

I think in the next 5 years, things will be different. I think if Go starts to match the number of libraries Python has, it will be different. At this point, yes, Python may well be dying.
I have a budget of ~150$
Reality: OId timer spends about 10 minutes to implement his solution.

If the older timer's solution does save $100 in computing resources, then at that rate the the old timer is saving around $1M per year compared to the "modern" developer.
I've been an emacs user for the last year or so. Previously, I'd used Sublime Text, which I think is a fantastic editor. I loved its speed and especially its simplicity -- pretty much everything just works right out of the box, configuration is managed through JSON instead of some obscure imperative language, etc. But ultimately I really needed two things: the ability to use it over SSH, and the ability to run a terminal inside of it. (ST has a third party shell plugin but it's frankly terrible). So much of my work involves either SSHing into a machine to do work, or rapidly alternating between a shell and an editor. The frustration of having to fumble my way through emacs or vim every time I SSH'd into a remote machine, or having to hackily arrange windows side-by-side so that I could get ST next to a terminal, ultimately became too much and I decided to just start using Emacs.

At this point, I'm reasonably proficient at emacs. From the sound of it, I'm nowhere at the level of the author of this article. But at least I'm comfortable with the essentials -- copy/paste, find/replace, nagivation, etc, and I can easily accomplish the two things I missed from ST (though I'm getting increasingly fed up with the shortcomings of ansi-term, and I might just switch to using tmux).

Unfortunately, what I've lost is the simplicity. I find emacs lisp to be a horrible language. I find it ironic that a platform built on a functional language like lisp manages to produce some of the most complex and incomprehensible compositions of state, as different packages interact with each other in a non-deterministic way, or one package will simply hijack the editor and freeze/crash it, or refuse to let you enter input because a plugin can't parse your buffer, etc. Have some weird behavior in your editor? How can you tell which plugin is causing it? No one knows. It's really quite unpleasant at times. Maybe vim would be better, or maybe not, but learning vim would mean a period of being woefully unproductive or frustrated.

It's irritating that the only choices for terminal-based editors are either embarrassingly under-featured (nano, pico, etc) or require a ton of learning to become proficient in (emacs, vim). On the other hand, there are several GUI-based editors which are powerful and easy, but none of them work in a terminal, nor do they provide a terminal emulator of their own. :(
No we use python a lot, we are a python shop
I heard an anecdote from a colleague who was surveying undergraduate CS courses. The prof was explaining what the course was going to be about and said that the students could choose any language they wanted to complete the work something like C or Java or anything didn't have libraries for everything. A student wanted to know if this meant they couldn't use python. Prof said, ya, you probably shouldn't use python for this, too tempting to cheat. Grumbling, so prof asks, how many people actually know C, Java, or something like that? ~50% hands. How many only know Python? ~40% hands. These were CS majors, in an upper level CS course.
We use python it is our primary language
That's significantly harder than shooting them, and they aren't going to not use guns just because you aren't.
How Social Content Can Help Your Business to Improve Sales [Infographic]
Good points. The mobile vision is still viable and abused today. Lots of slow moving big Co are wanting to get on the mobile bandwagon. In al industries. You can make a good deal of money by serving them.
There are lots of tools and even lots of toolboxes.

What do you like to do? What can you find work for?

If you know other languages, you can shift easily. It's not like you have to invest years into a new language if you're already proficient with others. You're not going to forget if/else logic, what functions do, or object oriented basics. Most languages just have their own syntactic sugar on all of that.

Learn Python.

Learn Node.

Learn Julia.

Be flexible.
Interesting article...lots of up-votes, but few weighing in... I'll give it a go...

Money is at stake for one side..a stock has been publicly shorted...

Money, and a "way of life" created, for many, by an organizational structure (MLM), is at stake for Herbalife, to include it's financial managers, distributors and customers...

I can only respond by sharing my own personal experiences with MLMs...

I've never been approached by anyone that I suspected was knowingly, or unknowingly, involved in an MLM-type business that was selling a product I couldn't live without...and in many cases the "peddlers" had obviously been coached to tout benefits that I firmly believed didn't exist, or weren't possible...

This to include lotions, juices, air purifiers, supplements, etc...you name it...

In this specific case I can say the same...I try to go with the best available evidence whenever I can...

I've never seen any evidence that a normal healthy person derives significant benefit from supplements of any kind...vitamins, herbs, juice extracts, whatever...

I'm wary of "snake oil" to a fault...if you aren't well seek medical advice...buying something from a salesman is possibly one of the worst things you can do if you're concerned about your health...spend that money getting yourself checked out...

The question for me is not whether Herbalife offers any kind of a health benefit to consumers, or an economic benefit to those involved in it's distribution network...

The question to be answered is whether or not a "whistle-blower" should ethically be allowed to profit, substantially, from blowing that whistle...
I wasn't aware of that quote, but it's wonderful. Thank you
Exactly. Change "json" to "relational DB" and it's not close as ridiculous as author implies. All questions mentioned could be answered with a single SQL: although it will take quite a while. And it is much more extendable than this "huge array" approach.

The only thing is that by saying "Postgres" you say pretty much nothing: the real question here is how'd you structure the db. 300M a month is pretty huge, so it's really worth to think if we should just pile everything in 1 table (unique key ip+month, all ports are columns) or if we can denormalize something.
This works great if you have all the commands memorized. If you don't, fuzzy matching in ido is a fantastic way to find commands and variables that do what you want (Emacs has a great tendency to name user-facing commands very sensibly a lot of the time). Most of the time I can use C-h f and C-h v to figure out how to configure something without having to read the documentation.

In addition, ido and flx-ido provide more efficient and faster (you don't have to manually invoke it) autocompletion than what you can get with prefix-based tab completion.

Also, I haven't had any issue with ido+TRAMP - everything works seamlessly on my end.
Frequencies are irrelevant. Yes, frequencies are base 10 all the way back to the dawn of RF in early radio before electronic computing. So what?

Nobody wants base 10 to go away. Just away from the prefixes in kilobyte, megabyte, gigabyte!

"Giga" and "mega" do not mean exactly a million or billion; they are the root of words like "megalomania" and "gigantic".

Mega: From Ancient Greek μέγας ‎(mégas, “great, large, mighty”), from Proto-Indo-European meǵh₂s ‎(“great”). Cognate with Latin magnus, and with Germanic words: Gothic 𐌼𐌹𐌺𐌹𐌻𐍃 ‎(mikils), Old English micel, Middle English muchel, English much, Old High German mihhil, Old Norse mikill, Danish meget.* [Source: https://en.wiktionary.org/wiki/mega-]

Giga: From Ancient Greek γίγας ‎(gígas, “giant”); cognate to giant. [https://en.wiktionary.org/wiki/giga-]

Nothing about a million or billion!

Kilo is the one that means one thousand, from Greek. (χίλιοι / khílioi).

> Why should the capacity of memory chips affect how we describe file sizes and drive sizes?

So that, for example, a gigabyte of swap space corresponds exactly to a gigabyte of RAM. Doh? Who wants the description of size to change when data is moved between RAM and disk?

Speaking of "memory chips", flash storage is memory chips too. We should use the same units for memory chips that we use for ... memory chips.
Be aware that PyPI isn't a great way to get accurate statistics. One of the reasons is when tox tests via a matrix, Python 2.7 is usually the first python listed, and if it fails then Python > 3 will not be tested. Also, it'll reuse libraries from the pip download cache.

I don't doubt that python 2.7 accounts for the majority of the downloads, but I sincerely doubt 2.7 usage is at ~85%.

2.6 usage is probably almost exclusively RHEL/CentOS 5/6 system pythons and not representative of actual projects.
> "[put anything here] is better"

if the above sentence is not followed by:

> "because [explain reason]"

my BS detector state is usually set to 'Red Alert'.
This is the video by what seems to be the creator of the level, no commentary however. https://www.youtube.com/watch?v=rCTGXUNg2fE
Try to do machine learning in Julia; it is difficult. If I want to say fit a gradient boosted tree or SVM its not support in Julia, whilst appears in Python/R libraries. Also, with Spark being more and more popular in the data science landscape, the lack of Julia bindings is also a no for the data scientists I work with (Spark has Python/R bindings).
ICLR 2016: accepted papers
I'm gonna take a guess and say you work at Medallia.
This is a link to the actual pdf:

https://upload.wikimedia.org/wikipedia/foundation/a/a7/Knowl...
The moment a language is born is the moment it starts dying. No language lasts forever.

My opinion: Python will outlive the three languages you list. But it's dying outside data science, and maybe even there. Optional typing can't compete with modern type inference, and there is too much dynamism in the existing Python ecosystem (even though it's so rarely used - there's not a monkeypatch culture like in Ruby - it's used often enough that you can't just remove it). But not today, probably not in five years either. In fact with the community finally having rallied around 3.x this is probably the best moment in years to leap into Python.

But yeah, all languages are dying, some faster than others. You have to make your own judgements, and learn general skills so that you're not bound to one particular language (unless you're very confident in that one language).
I've tried all of those things. While Emacs deals with a lot of things really well, I have around 100 terminal windows (screen sessions nested within screen sessions based on topic) at any given time. While it would be neat to have that all within Emacs for copy/pasting etc. since it's single threaded it just deals with it horribly.

So instead I spawn Emacs just for editing/changing/email/finding, and do all shell stuff through screen/ssh/bash.
Intuition is great but we often forget that we can use churn stats too.

find . -name "*.rb" |xargs -n1 -I file sh -c 'echo `git log --oneline file | wc -l`: file'|sort -nr

Applying a time period window is good too as some parts of code churn for a while and them reach stability.
Sounds like college!
The question posed by this article is unfair, because it labels Ackman as a regulator. He has absolutely no regulatory authority, and if you want to claim that his money allows him to act as one, then what of all of the money put behind Herbalife by billionaire investors? Are they regulators propping up a company?

There was an investigation into Herbalife because there are legitimate questions about its business practices that Ackman drew attention to through his research. If he were a regulator, then his massive bet would have fared far better than it has.
In case of Go, it is a dead baby, the language and the tooling suffer from dogmatism and inflexibility. Python is stable and good now, it does not need to change that much. Thus, those who mix up version numbers with stock prices and become happy when they increase switch away and complain. Ignore them.
Not really. GNU Emacs is no operating system. It has no network stack, no framebuffer interface, no file system implementation, etc. It provides interfaces to those. As such it does not initialize hardware and it starts no OS during startup.

GNU Emacs starts a Lisp environment, loads a memory dump, runs various initialization code, etc.
Ah, of course not, since how can the default be set to the current time?

I almost always install after booting to a full OS X system on an external hard drive (so NTP syncs the time), either via a downloaded installer or after logging in to the wifi captive portal (since Internet Recovery won't do WPA Enterprise).
I'm truly shocked by the multiple people in the thread who claim that Math knowledge can be completely erased through as little as a year of non-practice.

For me, Math has always resembled riding a bike more than anything else. Sure, the first few moments, the path is a bit overgrown and all the weeds need to be cleared off but it was always significantly easier revisiting a topic than understanding it for the first time.

For those who forget so quickly, I wonder if you felt like you truly understood it in the first place?
It is not like riding a bike!

I am reading up on stats after 15 years away from the subject and even the very basic stuff I have forgotten. Although the 'muscle memory' is there so that perhaps it is a bit easier then when totally new.

What I also find is I am more interested in the application/intuition behind something now rather than the mechanics of the formulas. Maybe that has to do with a different aim i.e. usefulness vs. passing an exam..
Can you do a video tutorial as a companion to this?
Torrents time security flaws
Shame you started with "Python's little tin god" as it meant I took everything else you said less seriously.
It's really easy to get a huge growth rate if you start from a very small number.
Not in the American school system, at least. AFAICT grade school "math education" is mostly about lodging a particular calculation algorithm implementation into students' heads and making them repeatedly run it, on a variety of test inputs. A large majority of Americans will never do a single bit of mathematics in their lives, cradle to grave.

To be fair, there are lots of efforts to change it. But (being pretty harsh here) a significant number of math teachers really don't have the ability to understand math themselves, let alone teach it.
Check out the video. Also, it's free so why not give it a try?