skysight-inc/HackerNews huggingface dataset:
Ah, helm-flx didn't exist when I quit helm, and flx-ido did. Question: does helm-flx sort results, or does it just throw back an unsorted list of matching entries, like normal helm? I consider the sorting an even bigger and more ridiculous drawback than the matching.

I haven't used helm-M-x. That may be better - but it doesn't solve the problem that everything else using completing-read is still on normal helm.

I typically use a small emacs window next to a terminal (or few - I don't run terminals in emacs) and browser in my tiling wm. Helm makes this nearly impossible, since it's very difficult to control where helm windows will go without using popwin (horrifically buggy) or shackle (I never tried this, as I'd already moved to ido by the time it showed up), because of helm's nonstandard way of doing things.

With regards to the bugginess, I can anecdotally say that I've seen more asking about problems with helm on the #emacs IRC channel than any other package - and there are several of equivalent popularity (magit, for instance). I also experienced numerous bugs while I was using helm, including some that broke my emacs config. The only package I've had break my config more than helm is org, but org generally works quite well if you can get it loaded without problems.
As a PhD in spplied math, I must say I concur wholeheartedly with the author. The true value of a PhD in a quantitative field is less about specific domain knowledge, and more in the set of general problem solving skills you pick up.
Many on UNIX seem to keep living as if their quad-core with 16GB is actually a better PDP-11, hence starving innovation.
Symbolic renames are one thing, but sometimes you really want to do textual renames. When you have names like fooFrobnicator, barFrobnicatorFactory and quuxFrobnicatorController, and you want to rename Frobnicator to Twiddler, symbolic rename won't help you.

Also, you can create quite a lot of code indirectly by few well-placed keystrokes that utilize multiple cursors / keyboard macros, regexp-replaces and things like this. Think of it as chiseling out an entire block of code at once. Spend little time mastering those features, and you can do things like this on the fly, without much conscious focus.
Emacs grabbed my attention soon [1], I used to spend a huge amount of time on almost all aspects of it. Now, I don't care[2]. Turns out editors are a waste of time, at least if you consider them so[3]. Brilliant algorithms are short in characters.

That said, Emacs is a full fledged system giving you a lot[4], if you're willing and able to use that lever you'll be happy. Lastly, Emacs survived for decades, it can swallow most interesting ideas that comes (ligthtable ? checked https://github.com/Fuco1/litable https://www.youtube.com/watch?v=mNO-vgq3Avg).

----

[1] It's syntactic system is powerful enough to feel different and more solid (important) than other editors at the time (before Eclipse and IDEA). It was repl-friendly, another factor that talked to my mind.

[2] It's still the 2nd most used program on my machine after chromium .. maybe even a tie.

[3] Learn hard things, fundamentals (parsing, compilation, optimization, paradigms), learn how to help yourself (see G.Bernhardt talk about unix chainsaw[3]) in all possible ways.

[4] its open keybinding trie is still something that I miss in most programs and I try to port a subset of it everytime I design a UI. It's also based on a lisp, so enjoy using alien tools from the future. Btw, its git interface (magit) blows Eclipse one out of the water for instance, most people wouldn't suspect how efficient it is compared to heavy 'pro' tools.
> Also the lacking a decent text-editor joke is just that, a joke

well, noone's saying that viper-mode couldn't be improved
An amusing event during the removal, person takes wagon wheel from old lakebed and is fined by park.
http://www.peninsuladailynews.com/article/20120706/NEWS/1207...
This is very true. A sad reality of market competition is that it incentivizes creating things that take advantage of human instincts and low level responses, which are frequently misaligned with human-intelligent want. It's a pretty tricky thing to address, obviously, but it's worth keeping in mind when deciding how to spend your own time.
I don't believe "a study" is needed to arrive at every conclusion under the sun. Just as I don't need a study to assert that I'm looking at a computer monitor right now, I don't need one to assert that people who are armed are in general better defended against violence than those who are not.

That being said, I was only calling out a simplistic remark about the association between guns and the incidence of violence.
Any Acme users here?
They were already so in the 90's.

While at the university I had to settle with Emacs, because there wasn't any IDE available that could offer me the experience Borland tools had.
I just disable all notifications other than SMS and phone calls and life is good
I was afraid I was going to miss the joke until I clicked the link and got a real chuckle.
> Anyone who is using base 10 is simply wrong.

You can say that, but that doesn't make it true, or reasonable. The facts on the ground are that OSX and drive manufacturers use base-10 MB/GB.

And, as I point out in the article, CPU frequencies, GPU frequencies, thumb drive capacities, and hard drive capacities are all actually base 10, so it's not like base 10 is going to go away.

Why should the capacity of memory chips affect how we describe file sizes and drive sizes? Please explain?
An outstanding article. It took me on a trip to Africa. Dreamy and rich.
I don't know about that. I'm a front-end developer, so I know none of the above. I'd rather decipher some complex bit-counting scheme one person made (and documented) in a language I don't write, than to try to piece together a whole system of tools written by various people I can't talk to, and tied together by one person for this specific task.

Which one is going to require more reading? Which one is going to be easier to refactor? Although neither develop sounds like a teammate I'd hope to collaborate with, I'd much rather inherit Mr Old-Timer's code to maintain than Mr Modern Developer
Well, if those quad-cores and 16GB of RAM would actually be put to good use in the "modern"/"hot" IDE world, we could talk. If anything is starving out innovation, it's sticking to CUA, mouse-driven development and rewriting nano in JavaScript...
I'm looking forward to see implementations then. Now given that you're working on one such tool, I'll give you some pre-feedback: please provide support for offline, non-locked-in archival of text, ie plain text and PDF or PostScript files. It's a key feature, if I pay the price of a paper tabloid for that article, I would want to be immune to dead links and silent modifications. Hope you have success with your enterprise.
You might be right ... but it's entirely dependent upon what the author meant. The problem statement was "How Many Total Hosts Were Seen as “Up” in the Past 3 Months" which I read as "How Many Total Hosts Were Seen as “Up” in any of the Past 3 Months". You've correctly pointed out that the author might have meant "How Many Total Hosts Were Seen as “Up” in all of the Past 3 Months".

This sort of ambiguity is why BDUF is so hard to pull off. Only lawyers are trained to write completely unambiguous prose (and they fall back to having very precise meanings for words to help them succeed).
First, as already pointed out by others, the Mac was really a graphical system. The Finder was the shell.

But there were other tools, too. E.g., ResEdit for manipulating program resources (I customized many programs using this, back in the day), eventually there was also an enhanced version including an assembler/disassembler. Also, there was the Mac Programmer Workshop (MPW) including all the developer tools, and it came for free. And inside this package was finally the MPW shell, a true shell for the Mac by Apple. (But this was now quite the other way round an indirect access to the machine.) It should be noted that the MPW wasn't available for early Macs, since there wasn't room to do actual programming. Commonly, the LISA (or "Mac XL") was used for this.

[Edit] Moreover, it was amazingly simple to change the configuration of the Mac, especially with System 7 and higher. Just drag things in out of the System Folder and you had already set up the system to your exact needs.
SSDs are magic. I've pretty much stopped noticing Emacs startup time after I switched to them.
How the 1939 World’s Fair anticipated urban data science and “smart” cities
Any of the VM languages could probably do this heuristically as well: the "if size == 1" base case depends only on one of the parameters, you could hoist that out of the concurrent thread/coroutine and into the caller. Then the code path that hits only ever assigns to a future/promise/array/whatever and immediately returns so it won't block and has no other side effects so it can run synchronously for less than the cost of a context switch.

In general programmers are pretty good about not kicking off expensive computations they don't need to, so the easy pickings here are probably pretty small. And as soon as there are any side effects at all (which includes any writes to shared memory) it becomes very hard to reason about moving computation from one thread to another. So it's easy to see why compiler writers are not super excited to start optimizing across concurrent threads.
I like to view it as the Cold War - Emacs and Vi being the superpowers, and the rest struggling to get by ;).
"Koyaanisqatsi" director Godfrey Reggio made a film using just the blank gazes of kids watching TV: https://www.youtube.com/watch?v=vuI_nCADnW0

When people talk about how kids are spending too much time on their smart phones or internet, at least it's interactive and participatory where as TV is a bizarre receptive one way experience.
You're right. This was more intricate. The maker had to crush the ice blocks into the shape of the numbers. This is pretty intense.
My point is mainly that the package specification in Guix is very verbose -- I must hack (and in some cases generate) package files to do what I want to do. The approaches you mention for generating package variants seem to generate new packages -- how do you deal with the profusion of packages that result here?

Don't get me wrong -- Nix is the inspiration for a lot of what Spack is doing, but we've added to it by making an attempt to template the packages by version, compiler, and options. So the usr don't have to "create" the package variant at all: they just `spack install numpy %intel@15.0.1` to compile with the Intel compiler, because the compiler can be swapped in/out of any build. We do similar things with versioned interfaces like MPI -- you can swap OpenMPI or MVAPICH in/out of a build. I have not seen anything to lead me to believe Guix allows this in a simple way, without generating a new package and copying a lot of boilerplate from the old one. The graph transformation stuff you mentioned in your other comment is promising, though.
No, that's web browsers.
The goal with OSM is certainly to sensibly classify roads and even to collect information like the surface type and width.

I guess with that part of the comment I was partly wondering if other data providers have done similar things, taking some vaguely useful source data and trying to enhance it using automated methods, leading to the poor navigation talked about in various threads here.
Really love lyx. Used plain latex for a while, but for me LyX really hits the sweetspot between writing latex in vim and word-like WYSIWYG.

Lyx and Zotero+LyZ made for a quite fine thesis workflow. LyX files are plain text and thus easily managed in git.
Eight Megabytes And Constantly Swapping.
I was going to say no way, basic boolean logic is doable by every programmer. But then I saw the "old-timer" had some boolean errors themself. So......Maybe you're right.
Mysterious Creature Spotting in Upstate New York
> things are "naturally base-2" in computers

No they aren't. Some things are naturally base-2 in computers. Far from all. Read the article.

Frequencies already are base 10. And while your HDD is not a tidy power of ten, it also isn't a tidy power of two. Being a huge multiple of 4-KB doesn't make it a power of two.

Your SSD isn't a tidy power of two either, for different reasons.

Computer specs are non-binary in a surprising number of ways.
No performance issues? How about UX issues? Not having fingerprint auth on the laptop for sudo is annoying enough.
> Beyond scarcely stretching the boundaries of obscure mathematical knowledge, what tangible difference has a PhD made to my life?

The same thing a bachelors degree does for everyone else. You've proven that you can start, stick with, and complete a task that takes multiple years and a complicated set of steps.
I'd be interested to hear more about "powerful" text editors from the DOS or Windows world. Likely your definition of "powerful" is quite peculiar.
Like Hansens's Concurrent Pascal, monitors, and distributed model?

http://brinch-hansen.net/papers/

Or Eiffel's race-free SCOOP? Or Ada Ravenscar? Or ParaSail and Chapel custom made for it?

Plenty of such work with proven results. Just little uptake of anything different before Haskell, Go, and Rust.
Yes. But you never be sure how they exactly work... as an example I tried only famous apps on the beginning and only lately I knew that apps can crush and freeze... I don't know what I except, it's embarrassing to never except that...
I really should have started with an Android version. It was much more of a challenge in iOS. I'm working on an Android version as we speak!
helm-flx sorts results by the "closest" match to your typed in characters. For me, typing "tetri" has "tetris" listed first, with the next result matching all of those characters in a different command, and each of the following results being less and less accurate matches. There is no alphabetical sorting, though.

Popwin is very annoying for me, too. I'll look into trying out shackle.

There is also a less-popular completion system for emacs called ivy. I don't know how it stacks up to ido or helm, but perhaps that one is also worth checking out.
Idea: since gallons are inherently binary (there are 3*2^8 teaspoons in a gallon) we should use Ki for them. Instead of "I put twenty gallons of gas in my car" we can say "I put 15 KiTeaspoons of gas in my car".

Gallons are more binary than hard drives (eight ninths of the factors are two) so my logic is unassailable.
As a relatively junior developer, I have been told my some of my senior colleagues that I sometimes miss the forest for the trees, and so this may be another instance of that.

But it doesn't seem "trivial" to me how one gets the output of nmap into whatever database, data structure one chooses here. I know nmap can produce XML, presumably there is a csv format, but it would seem like the XML/CSV -> JSON conversion (following our intrepid Modern App Developer) would be an easier more maintainable way to go, versus XML -> to bit array (memory map file). Also, is managing the nmap or masscan and whatever other ancillary processes required to execute this plan equally as onerous in either paradigm? Finally, and this is likely controversial, this particular problem "feels" like its stacked against the Modern App Developer, given that it isn't trying to solve a problem most Modern Apps try to solve (or try to solve as an end rather than a means to an end)
XML is not meant to be a programming language representation. It's meant to be a predictable, simple set of grammatical rules for representing data that may be hierarchical/shaped/tree-like. XSLT is meant to provide a library of templates used to transform XML to something else (usually XML again, but can be nearly any output format) in a declarative way.

XSL is a little bit like CSS in one way: CSS has selectors, and XSL does too. CSS also has rules (one or more selectors and the properties listed for them) that apply to an output device's representation of the nodes matching those selectors (e.g. a browser's visual styling), and XSL has templates that change the structure of the nodes that match the XSL template's selector. Each template has a context, can transform the input "tree" to any intermediate representation necessary, can apply itself recursively, and can completely transform the XML-structured input into practically any output required.

It's also a religion along the same lines as vim/emacs/atom or Mac/PC/Linux/UNIX/BSD/etc., and thus, discussions decrying the blasphemy of declarative transformations will result in fervent cries of, "XSL sucks, nuke it from orbit," as well as equally impassioned speeches that, "XSL kicks ass, get enlightened!"
It is currently its own mercurial repo. Recent changes have made it bearable, but if you can imagine a central config repo that everyone needs to checkin to in order to make changes like load balancer tweaks, dns updates, shard updates to system X, and runtime configs for tier Y there were times when you could spend hours waiting for a push to finish landing. Configerator changes were the only time in my life I have ever found the need to use a sparse git checkout for a specific tree just to get my job done (back when it was a git repo rather than a mercurial one.)

Having configerator be its own repo also meant that it was easy to add linters that were specific to various config file formats as pre-commit hooks and apply those linters to specific chunks of the configerator tree.
I guess bloated means compared to 'instant startup'. Vi starts always instantaneously, whereas Emacs can have a noticeable delay, even if it's only a fraction of a second. Hence the perception that is bloated. Of course compared to the others you mention is quite fast.
there are UPS specifically for the pi, e.g. http://piups.net/ (just an example, there are others and I have no experience with any of them.)
This looks interesting, but the Ubuntu stable release is asking me to download 1.2GB of packages! Holy crap. I'd like to try this out but why on earth is this bigger than the actual distro?
Alismajean.blogspot.com
Unix has a big flaw: through the pipes pass random data. It's up to the receivers to interpret it. Lisp gives you the possibility to easily structure your data and pass it around, plus the ability to pass programs around. Other than this, the unix way and the lisp way are nearly parallel, though in lisp "command line utility" is called a "procedure".
You can do the same thing in Emacs too. For example, this[1] supports that for Scala (and I think Java now as well).

[1] http://ensime.github.io/
Kanye's new album release on Tidal only = massive piracy
The Innovation of Loneliness
you know I recently interviewed at a place I was even sort of interested in and they turned me down because they said they thought I wasn't really interested, and I didn't even ask them anything like this question. Imagine if I had!
"What should have happened, if we weren't such a litigious society," Ironic given it was Gore, not Bush, who filed the suits. Bush demanded the initial recount, it swung his way, Gore started filing suits. Many many recounts happened afterwards, I think NBC or CBS (hardly bush allies) had the most famous one for objectivity, and it came back for Bush.
I was not aware that this was an entire field of study! Thank you. I will need to do more reading.

How exactly do you "deeply capture" government? I had the impression that these "Special Interest" groups can press their agendas precisely because they can staff government with people who are pliable to their agenda. If enough people with no "special interests" can be elected to positions of power, wouldn't that immediately remove corruption?
ScaleMP has been around for a long time. It would be good to get an update or understand the distinction between the two products.
Side note: many functional languages use the same bump alloc method because they tend to have higher allocation rates than imperative programs.
During your exploration, did you find something about why amazon's kindle doesn't work with EPUB?
discovering hackernews?

but seriously, probably thinking i had to "pay my dues" before I begun my career. Thinking I wasn't good enough to get a job, and I had to spend time at Uni first. It wasn't until I was mid way through my masters before I realised that a job wasn't going to magically appear the day I graduated. I dropped out and never looked back.

Also, thinking I had to shoehorn myself into the industry by working my way up to it from tech support. That was fruitless.
No, oddly enough; it's as snappy and responsive as ever. And I like the Blackberry OS UX very much, although it's clearly all deprecated now. The newest Blackberry product is the Priv, an Android-based phone.
I have essentially had my smartphone setup like that since I got the first one. It really isn't worth having all these notification disturbing my life.
All of the BSDs.
This raises an interesting question. Is the PhD process the best way to acquire those general problem solving skills? Or is there a better way to learn them?
Why? It's the only real fun we have.
(Disclaimer, work for Blockstream on Lightning).

Commenters are right that micropayment channels have been around for years; but they're not widely used; more convenience is a big win. Lightning uses more sophisticated generalised 2-way channels, plus routing to form a network, but it's still early days.
I think we might come from a similar vicinities. Here I am thinking go was modern. I expected old timer to be using c. As that's probably what I would have done
Reading HN, you'd think Java was dying (dead?) too. But it's not. It's an established language with a lot of very senior people still using it. It has it's issues for sure, but it also has a ton of libraries and support.

Python I'd say is in a similar boat. Strong and established with tons of libraries, not popular amongst the kids.

Edit: Apparently my use of "kids" as a sarcastic way of referring to those who won't use "old" languages was missed. :)
Sam user if that counts.
These are the things that Spack attempts to solve. If you look at slides 14-15 in the presentation above, the concretization process automates something like your second example. You can build with an arbitrary package version, e.g. `spack install ruby@1.8 ^libxml2@1.2`, and Spack will evaluate constraints on packages to build a new DAG. If some other dependency in the DAG says it can't build with the older libxml, or if the older libxml implies other dependency version constraints, they'll be integrated in the new DAG. The output of this process is a concrete specification, with all versions/compiler/variants/etc. filled in, which could be used to reproduce the build later.

If spack doesn't know about the version, it can try to scrape the package webpage to find it automatically, or you can just add another one-line `version()` directive in the package file, rather than creating a new package entirely or making a global config change.

My point is mainly that to automate this type of change, you need something like constraint solving to adjust the DAG. That can be used in conjunction with a functional Nix-like build, and actually adds some value to it. That is what Spack is doing. This is why I claim the constraint solving, etc., is not obsolete.
Which of them is certified as such?
The best way to run emacs IMO is to use "emacs --daemon" to spawn a single daemon process, and then connect to it using emacsclient. Then, startup time is instant!
Let's look at Julia for example. Its currently gaining steam in numerics, machine learning other technical computing areas...I hypothesize this is compound growth.

For general computing, what would happen when it gains static compilation and can be distributed easily on Linux/Windows, Mobile and then web (with Emscripten/web assembly).

Then its as expressive if not more than python, easy to read/write and faster (unless its written poorly).