skysight-inc/HackerNews huggingface dataset:
> Schroedinger's theory of hydrogen atom and his wave mechanics (1926).

This was not a "new theory" that was competing with any "old theories". It was a tentative model in a regime where no previous theory existed, and it was never claimed to cover anything outside that limited regime. It wasn't competing with any other theories, because there were no other theories to compete with. The question of whether or not Schrodinger's model reproduced the predictions of the "old" theory never arose, because there was no "old" theory. (Technically, there was a sort of "old" theory of the hydrogen atom--Bohr's model--but Schrodinger's model did reproduce all of its correct predictions, plus it added more correct predictions of things that the Bohr model got wrong.)

The position with regard to gravitational waves is very different; we already have a comprehensive, fundamental theory--General Relativity--that explains them. Any alternative theory that only explained GWs, and didn't also explain all the other experimental results that GR explains, would be a nonstarter.

> Larmor's older theory (1897)

This wasn't a separate "theory" at all; it was just a derivation of a particular formula using an already known theory, Maxwell's Equations.
I started taking readability very seriously once I started going back to extend old code and finding I couldn't immediately understand what it was doing.

Now, if I have that problem, it's now two problems. The original problem, and the readability problem. The readability problem is solved first, and the original problem can only be solved afterward.

I don't see comments helping me, I could spend the time better by making better method names, better local variable names, extracting methods, ensuring that lines do not run off of the screen.

Maintaining my old code got significantly easier after I started doing this.
A bit of background for the unified C++ call proposal
Unix may have a tradition of small, composable tools. But Unix at the same time has a tradition of large, non-composable and long running tools. The X11 server is such a thing. Many GUI applications under Unix are working that way. From Framemaker to the big gui-based CAD applications.

Don't let them tell you that Unix was developed to ONLY run small composable tools and that this is the only true way to use applications under Unix.

If you look at Mac OS X as a Unix, the typical application has a GUI, only one instance is running, it works for multiple documents and often users keep them running for a long time. When browsing the web, one would not leave Safari/Firefox/Chrome after each web site visit...
Seriously, there is a difference between a Buzz Feed title to try to draw viewers into a site that needs ad revenue and a well titled story that has an interesting twist.
The word for Python is mature. If fireworks aren't going off with every release, it's because it's past that phase of life.

The only concern I have for Python is exactly the temptation to keep adding features and chasing other language's tail lights. I've recently gotten the chance to see a fairly novice programmer dip toes into some Python-based testing code, and it's definitely gotten pretty easy to make awfully magical and complicated Python code after all the decades of accumulated features. They get a very different experience with Python getting the whole thing dumped on them at once than I did riding with the language from roughly 2.0 and watching the features come in one by one.

Python has many advantages over, say, Go right now, but the advantages that Go has over Python, Python is not in a position to reasonably add to itself. Is it "future-proofing" Python, or is it taking something already pretty complicated and crusting on one-too-many layers of "features"?
The Fast Data Project (FD.io)
Ethereum has immutable code.
Maybe you should try a reverse interview process. Send them the original problem, ask them to have one of their top developers solve it, and then compare solutions.
Not just code.

When you design anything - a rocket engine, an immunoassay product, whatever - it should be part of the work to document the assumptions, calculations, and rationale for the design to a degree that somebody skilled in the art could follow your work when you're gone.
If you find yourself saying that you gained nothing from your education other than soft skills, maybe you should have passed over the functional analysis part and put the effort directly into learning said soft skills. I'm in the same boat, and I can see how it can be hard to admit this.
When I make a request from another IP, it gives me the right page.

"
(...)
Try...

Who is Richard Stallman?
define bravado
10 USD to EUR
RFC 2460
generate username
help - about"
Bad Gal -PÅP JUNK UG  [clean version].mp3.mp3
No.

When the first priority of a site is to collect my email, usually I'll have spam to manage for anywhere from a few weeks to many years. Whatever reason I have for visiting a site, it's pretty much never because I want to receive emails from it.

[generically] Email harvesting is a red flag for me. Watching the video before signing up, doesn't change that. It just means investing more time in a site that doesn't prioritize on it's users.

Some bars are worth paying a cover charge. Most aren't.

Good luck.
This is such a good blog post. Thank you for writing it.
The twist wasn't that interesting. I was expecting the article to continue into something with meat.
Do you really doubt that if you use a GPS to navigate over an unfamiliar route and were then asked to repeat the journey the following day, you'd do significantly worse than if you'd had to plan your original route by hand?

A cognitive map is an internal mental map of how some region of space is connected. Using landmarks and signs to follow a route from a map naturally builds mental connections between your observations of the world and the corresponding points on the map, in a way that following spoken directions does not.
What exactly is "the whole point of treating functions as data"?

Of course you can declare everything is data. You don't need higher order functions for that. But real data is simple and introspectable. Computation is not.
You add an index and smaller-block loader. The size and structure of a "smaller-block" depends on the project and how you are using it.

In more extreme situations, you to learn all about materialized views, cache invalidation, etc.
Over 15 years ago, for my undergraduate thesis I set up a "Hypermedia Textbook" on the history of my field. I had to manually collate all the info, manually scan in every photo, and type in every last bit of text and html. The end result was a couple hundred pages that looked very, very similar to what your Einstein page looks like! At the time, I knew a better way would emerge, but didn't know how or when. It's moments like this that I (a) feel old :( and (b) am amazed by the times we live in and the speed at which things are happening! :) Thank you for providing such a wonderful, if unintentional, moment of self-reflection!
Yeah but "Just code in Rust for three years and then it's easy!" needs a caveat.
I was thinking the same thing.. 5-7 years is an insane amount of time (and money) to spend just to get better general problem solving skills.
Couldn't that be defeated by a preprocessing step that inserts yellow dots at every grid position on the printout? If the extra dots were aligned correctly, I don't see how someone could recover the encoded information.

Someone could probably create a printer driver that does that automatically. It probably would need some calibration to work, though.
BoilerGrid has been in use for years. I they have an automatic checkpoint system so your job/program can get evicted (either forced, like with a human logging into the node or via node failure), find a new node, and resume its progress.

https://www.rcac.purdue.edu/compute/boilergrid/
Yes, that's a problem. I actually have redefined all they keybindings of certain major modes so they play nicely with evil.
In Germany you get to your advanced courses for the last two years of High school. I picked Math and Physics.

We did a bunch of linear regression(with maple?) i believe. And some manual differential equations. I was one of the best in that class, but when I asked what we need this stuff for the other people in the class looked at me and said the following:

"if you ask this question you're in the wrong class"

I went on to study engineering, and i guarantee you the other two still don't know what that stuff is good for. They learned the formulas by heart and then went on with their lives.

I mean it was fun for me, it was basically a coding exercise. And I was happy because I was faster than everyone else, but I didn't get why we were doing it.

The same actually bothered my about the studies. Just one example: folding is a fairly easy concept. But for some reason they first want to drill it into your head, you learn a bunch of techniques and then if you're lucky and you stick with it, eventually it clicks and you'll realize why in a completely unrelated class.

Why can't we just provide a simple real life example first and then go on explaining the details?

Aren't things easier to grasp when you can have a real understanding/connection to it? Isn't that precisely why people that learn coding at home tend to be better than those that just studied it, because they were told it's a solid profession to study?

I think with a good example and visual representation you can probably teach most of the stuff that's taught in Uni to young kids. But then you would be forced to admit that you wasted a lot of time during your own life, who'd want to admit such a thing.
it looks for ruby files on your computer, then creates a new file on your desktop and explains why ruby is lame.
I love this statement, it's so true. We self-determine what the internet consists of. If we're unhappy with our addiction, we'll invent a better drug.

I see more of the rifts being a surfacing or metastasization of things that were smashed down and normalized before: Families that clamped down conversation to head-of-household preferences, people curating their public image at events, sexist and bigoted beliefs aired in limited forms and formats. A lot of genies coming out of bottles all at once.

A negative of empathy is that it's often encouraged through an environment of abuse. If it's going down, does that mean that we're becoming callous robots, or that people are increasingly liberated in their everyday lives?
Long-term cement study seeks nuclear waste solution
I also get the Nginx default page when I click on your link from my iPhone. I'd take a screenshot but not sure how to link that from here.
You will have to reach a little deeper for machine learning methods not supported by Julia. XGBoost has a Julia interface and you can google Julia SVM for myriad of alternatives. Packages like Mocha and MXNet are a few deep learning alternatives. PyCall is also an easy solution for interfacing with Python for things such as pyspark. It also has some of the most convenient to use parallel / distributed computing tools for numerical computing.

Point being that even if Julia is not there to replace Python, there is still a strong case for using it as a way to augment Python workflow.
Every new LaTeX starter will find LyX powerful. -- me

In fact, if you are a researcher of mathematics, you can never submit a PAPER written in LyX. It's a waste of time learning it.

But LyX really makes you think you are writing in LaTeX! That's the magic part that attracts most people. This theory also applies to Markdown. You can write something beautiful immediately offline, also with LaTeX support. But, it is only a blogger or diary thing.
Samsung warns customers not to discuss personal info in front of TVs (2015)
> Oh yeah sure, nukes are pretty forgettable

Stop trolling. GP said "one of the most".
This article seems to assume that people who criticize Emacs don't understand that Emacs isn't a monolith, and that the various features are modules. I'd guess the majority of people who say "Emacs is bloated" do get this. The author fails to understand what people really mean by this criticism.

I'll just speak for myself here, because that will make phrasing easier; the point is that for me a text editor doing most of the things the author describes (running shells, handling email, todo lists, etc.) makes no sense. For me, a text editor should first and foremost be a great text editor. Secondarily it can be nice to have integration with Git or other tasks that are intimately related to the files I'm going to be editing with the editor. But why would I ever want my editor to do all those other things? I have a window manager for that. Or at least a shell.

The comparison of Emacs to a shell kind of illustrates my point; a shell only exists to facilitate managing of files and processes. It being able to run any command you want is its whole purpose. Emacs was originally an editor, and the community grew its capabilities from there. (I'd argue that it grew during an era where it having so many modules with so many capabilities made more sense than today, but that's another conversation.)

The comparison of Emacs to a web browser is better than the comparison to the shell. But this comparison still misses the mark, because browser based apps have several advantages (and disadvantages) over native apps, they are fundamentally different because of the technologies involved.

Using Emacs to do things like email, manage your shell sessions, etc. is a bit different from running another mail client, or running separate shell processes, etc. but they are not fundamentally different from each other in the same way. Whether you're running Emacs locally or remotely, you can run separate mail clients, etc. the same way.

Anyway, my point is not that Emacs has no reason to exist, but it comes down to this; personal preference. The only reason to use Emacs the way the author does is because you like it.
Be aware that PyPI isn't a great way to get accurate statistics.

You can't just ignore a bunch of statistics because they aren't convenient to you; that's not how maths works.

Statistical sampling is based on the premise that your sample is randomized from the total population; I would argue that the stats from pypi represent a reasonable random sample of python users around the world.

Certainly, you can argue otherwise... if you care to provide some meaningful alternative statistics?
That's a bit of a false dichotomy. It's quite possible to be addicted to neither and I think that would be most people's preference.
No, but then I'm never far from one of my laptops.
The problem with that is privacy and security. Any machine you trust with the computation can both see the data and can compute dishonestly, unless you use (extremely!) expensive forms of encryption and verification.

It's not micropayments holding back decentralized compute, it's that fact that you are dealing with untrusted counterparties.
I wonder how many users actually download packages, as opposed to something like Anaconda or WinPython. It may be that the users of Python 2 may be more likely to download individual packages because they are creating more specialized installations (e.g., web services etc.) whereas the educational and scientific crowd just get a big distribution like Anaconda or WinPython. For instance I use WinPython for convenience, and typically use Python 3.
Maybe at the 100MW scale it already operates like this, but not at smaller scale. Recently I had a discussion with a county level public utility district where we were exploring building a 1-10 MW Solar system on a closed landfill. The capability existed for us to wheel the power to a load that was interested in the energy, but the smallest chunk of capacity we could buy was 1MW and the cost to wheel the power would require a >90% capacity factor to make it economical.

So the system may well exist, but I think there is benefit from some scaling down of the market rules.
Thank you. I had many of the same thoughts that many of the things he wants have already happend, especially with the decline of complete vertical integration. What now happens is that large utilities spin off generation assets that do well as merchant generators and keep other generation regulated to get the secured rate of return.

Also, utilities like energy efficiency, as long as they get paid to be efficient or make their customers more efficient.
No. Python is rather getting stronger and going enterprise than dying
Given the whopping size of Atom, I really wonder why anybody would call Emacs big. Emacs was just ahead it's time.
I use both Emacs and Vim and Emacs is slow. Often I would issue commands too fast for Helm to pick it up. It has rich environment and a lot going for it, but it is slow. Excuse to have "full featured" environment does not stand because Sublime Text is very much full featured and very fast.

Anyhow, while Vim is still my goto editor, Emacs has a lot going for it and I fire it up when I work on Elixir because of superior support. Org mode is nice.
I can buy the case for improving the systems, but not blaming the users? These things don't claim to be more than they are: they are driving aids, not brain substitutes. If it's hard to figure out if they're giving you appropriate advice, then you do it anyway, or don't use them.

If manufacturers were making grandiose claims then yeah, blame them. But if anything, the claims are overly conservative because they're afraid of liability.
The features just aren't there for me in Atom. I have a feeling they are if you're a web developer, but us non webdevs are left out in the cold (at least for now). Compare LaTeX and R in Atom to AUCTeX and ESS in Emacs and it's like night and day. Every time I switch to Atom I get frustrated within a day due to lack of features for the things I use.
In addition to @sebatos response, I'd add that a formal system is nothing than an abstraction of some concrete problem.
That report is over a year old, which for a 4 year old language is a very long time. The top comment in [1] is from a week ago and highlights why it is now mostly invalid.

[1] https://news.ycombinator.com/item?id=11070764
COBOL and FORTRAN aren't dead, and you think Python is going to die anytime soon? I don't see it. For the most part, technologies never really "die" per-se.

Now as to the question of what stack to invest in from a career standpoint... my guess is that Python would still give you a very good ROI. Look how popular it is in the machine learning / data science world, for example. I'd bet there will be more jobs for Python coders than for Julia coders for at least another 5 or 10 years or more.

But hey, hedge your bets... invest in something for today like Python, but start spending a few cycles here and there on Julia and Go. Flexibility helps in this field. In my 17 some odd years doing this stuff, I've gone from focusing on C++ to mostly Java, then to Python, back to Java, then on to Groovy, and now am using Java, Groovy and Python. But I'm also spending some time on R, as well as Julia, Go, and Rust, just to stay current.
>The word for Python is mature

Exactly, one could use the same criteria of the OP and conclude C is "dying", and how wrong they'd be.

Just because it seems like there isn't new and hot stuff for Python doesn't mean it is actively used and sought after today. Perhaps it's strange because Python always seemed like the hot new scripting language thing until it now where it has become the well known scripting language thing it is today
As I read your example, it sounds like the problem is solar's low capacity factor, not scale. But maybe I'm not understanding the example.
If you are a newcomer and look at Emacs what you see at first glance on the outside is basically total crap. The default behavior of Emacs distinguishes itself by the complete lack of sanity. Emacs key-bindings are neither ergonomic nor do they make any sense in any way. They are barely consistent across modes, only if you are lucky. They are the way they are because they are old. And old people don't like change. However my experience was, the more I learned the more crap appeared. One layer of crap after the other. At first everything could somehow be fixed with a lot of configuration and scripts. I needed several hundred lines of Lisp code in my init.el just to be able to work normally.

But then the lowest emacs layer of crap appears which can not be fixed. It includes issues like lack of multithreading, elisp being the least capable and at the same time by far slowest lisp dialect. Stuff like the lack of ability to move the cursor off screen. Inherent jumpiness while scrolling which can not be fixed and really strains my eyes. And don't even try to look at the C source, it is the worst historically grown ifdef hell you will ever experience.

And finally there is the community which lacks disposition to unify or work together. It is more like a community of loners where each of his own produces personal "modes" which are inconsistent to use and most of the time conflict which each other. The most important reason for this might be lisp itself. It is inherently hard to read other peoples lisp code. So everybody writes his own.
The core language is general purpose, and IMO really good for high-performance work, but the community is focused on numerical code, so there aren't a lot of libraries for non-numerical/scientific/financial work at this point in time.
> An atrocious version of "fuzzy matching" (you have to separate terms with spaces, which are then turned into ".asterisk" (can't type a single asterisk in HN comments) and everything's concatenated into a regex to match)

That's not true. Helm doesn't just insert .asterisk, which is why it supports out of order matching. If one searches for "file rename" Helm will find rename-file, while typing "filerename" in ido it will not find it. In ido one would have to do "file<C-SPC>rename"

> Dictatorial maintainers that only allows options and features that they deem the "right way" to do it.

Helm is already criticized by many ido fans for having too many features, now it's also criticized by ido fans for not having more (despite it having way more than ido).

> Constant bugs

This is because helm is constantly changing and improving. ido is not changing, and most extensions to it are very hacky.

I prefer ido, but helm is a good tool that's perfectly usable that tons of people like and does a lot more than ido.
It really feels like most of us who were early adopters, and therefore the people who other people used to look weird at because of it, learnt how to best use the devices as an addition to our life rather than its foundation due to sheer social pressure to not be considered "the weird guys".

And now the tables have turned, to put it mildly, and a lot of people are growing up with the tech and not enough people around them to point out all the experiences they're missing out on because they're servicing a notification manager.
How so? The old-timer's approach would scale trivially to several times that many ports before running out of RAM on a modern PC, or many times more just by introducing a memory-mapped file. It would still be simpler and quicker to implement than the kinds of external dependencies or formal database structures being proposed by others here, and the alternatives have significant scaling concerns of their own by that point, not least if you're paying for resources like CPU, storage and network data transfer on a metered scheme.

In any case, you'd probably reach a point where sparsity dictated a different choice of data structure for efficiency long before the dense representation actually broke, at which point the old-timer would most likely suggest a different solution rather than stubbornly sticking with the one that is no longer a good fit, and maybe the modern app developer would too.

Realistically, there are only a few hundred major protocols whose recognised standard ports you'd want to scan assuming we're talking about TCP here, so this still looks to me like inventing hypothetical future scenarios and over-engineering to allow for unlikely future requirements.