skysight-inc/HackerNews huggingface dataset:
I would imagine it's easier to do syntax highlighting on side-by-side, because you can just reuse your existing syntax highlighter. But when presenting the `-/+` style of diff, you need a custom syntax highlighter that not only can skip over the `-/+` tokens but can also handle having two separate-but-intertwined non-contiguous highlighting states (because the `-` lines will be using a different state than the `+` lines).

And then what do you do if the state ends up different when you hit the context lines again? There's no obvious choice as to how to highlight those.
The value objects proposal for es6/es7 might fix that:

http://wiki.ecmascript.org/doku.php?id=strawman:value_object...
Looking for a problem where there is none, this author is...

The reason why comments are pale compared to code is because a comment always belongs to a given piece/block of code.

A comment doesn't exists for itself, it exists to clarify the next lines of code.

You scan code, and when the code doesn't say enough, you read the comment. So code is the primary thing, comments are important, but hierarchically they're subservient to code not the other way around.

Also, why on earth would doc comments be "redundant" and have to be removed? Why would green/red be bad for insertions/deletions? Give me break...
I take it you've never written code that someone else had to call into or maintain. You're basically arguing against documentation or explanation of any sort. Also, I assume you program in straight-up English -- all checked by the compiler -- or else some programming language of the future whose contours match the shape of thought and in which there is never any impedance mismatch between what you are trying to achieve and what you must instruct the computer to do.

And please don't say, "That's right, Haskell" or "Yes, my favorite LISP."
Yeah, I don't mean a classic shell or even the OCaml toplevel.
But it would be nice to provide a "standard" way for applications to define their own commands, and to provide some builtin commands for monitoring (memory usage, open connections, etc.).
I made my argument in the first 4 sentences of my comment, and this, my 5th sentence, was an aside.

All this is obvious, and your comment is dishonest.
Howard Chu, the author of LMDB, gave a great presentation on LMDB: http://parleys.com/play/517f58f9e4b0c6dcd95464ae/chapter0/ab...

He can also rock the violin.
Isn't Golang slowly eating Python's stolen lunch though?
The finer point to me is that sometimes there are perfectly valid reasons you wouldn't want to express yourself by email or online and I don't think that has anything to do with age. We have evolved to understand face-to-face communication. It's an effective way to relay a thought. People can waste your time through any media.
I'm seeing this phenomenon in my own work. I do a fair amount of computational stuff (in the old sense of computing something, as opposed to just using a computer), and I find myself gravitating more & more to Python.

Performance is, of course, an issue. But in one case I noted that the week or so it took me to write and execute some Python code was almost certainly less time than it would have taken just to write the code in C/C++. I concluded that -- for this problem at least -- the extra performance I might have gotten out of C++ simply did not matter.

However, these days I do not do much with large scientific models or anything resembling big data. Performance is not the issue for me that it would be for others. And with articles having titles like "Why Python is Slow: Looking under the Hood"[1] out there, I find it difficult to see how Python can displace Fortran (or maybe C) in the realm of traditional supercomputing.

[1] https://jakevdp.github.io/blog/2014/05/09/why-python-is-slow...
It's almost a bigger sin to have unleashed relational DBs though.
From the DuckDuckGo Goodie FAQ:

What if I don't know Perl?

If you don't know Perl, that's OK! Some instant answer types (Fathead, Longtail) don't require the use of Perl. Also, if you know PHP, Ruby, or Python you should be able to write a Goodie in Perl pretty easily using this awesome cheat sheet.

ref: https://duck.co/duckduckhack/faq#goodie

So DDG Goodie plugins can only be written in Perl.
I think the point is less about whether your idea is smart or stupid... that detail is irrelevant.

What is important? Action is important.

You are better off pursuing a stupid idea than not pursuing any ideas.
Custom snapchat maker, if you can figure out how to use it
That is a very academic way of looking at it.

In practice, it's often good to have comments that explain what the code is doing, even if the code itself is quite understandable. It can be a lot quicker to read and understand a one-sentence English description than it can be to read 10+ lines of good code. If the code in question generally has accurate comments of this nature, then working with this code becomes far easier.

And then there are always those cases where rather poor code was written in the first place, it lacked comments, and then a maintenance programmer needs to figure out what it does in order to make some changes to it. Real-world constraints prevent the code from being completely rewritten, but adding comments explaining what it does can be invaluable for anyone else who will ever need to deal with the code.
> Following the ousting of HP CEO Mark Hurd, [Ellison stated], ...HP board just made the worst personnel decision since the idiots on the Apple board fired Steve Jobs many years ago

I don't know about Ellison's personal traits, but his thinking is correct here. Hurd was a great CEO - having brought in Palm - which could have been something. Instead, they fired him, hired Leo Apotheker, who completely and utterly mismanaged the company.

Say what you will about Ellison, but his instincts are right on the money.
You could also wind up at a job where your personality and views are appreciated and you don't have to hide your true feelings from anybody. I realize the point is about invasion of privacy, but there are places that are looking for non-cookie-cutter people too. Like my own company - we don't really hire anybody unless they seem to be a weirdo of some sort.
So, in other words, it doesn't excel at anything in particular but is more of a jack of all trades. Got it. Thanks.
Hey look, Uncle Bob said something about comments.

DELETE ALL COMMENTS AND CHANGE SYNTAX HIGHLIGHTING!
Stupid people will also think your idea is stupid. First to market is extremely overrated. You don't even need an original idea. Proper execution and luck are what you need.
Who is really racist in Malaysia
Political racism
The "harem=misogyny" part is backwards: The original article refers to the programmer being unexpectedly stuck in the framework's harem... Not the other way around.
A few reasons:

- There's a general opposition to the djb's designs and tools, which has some basis in their licensing, and is why djbdns and qmail aren't in the default distro of most systems. Note that this is being reversed right now with the embrace of NaCL crypto (Salsa20/ChaCha/Poly1305, etc.) as alternatives to the mainstream.

- runit is pretty much an reimplementation of djb's daemontools for service supervision.

- runit/daemontools definitely do things their own way. Service directories make sense, but they tend to be shell scripts all the way down. Logging is quite different and non-centralized. Services need to be set not to fork and do their own daemon management. And the list tends to go on - this unusual-ness is generally not what people want from a core OS part.

So, in short, there's no reason why people haven't used runit, other than "nobody else is doing it" and "it's different and has quirks".
From wikipedia: It was at this time that Ed Oates[4] introduced Miner and Ellison to a paper by E. F. Codd on the relational model for database management.

yet the PDF it references says ellison did it. i think this is one of those things that will always be up for debate, as everyone is going to have a slightly different recollection of it. it doesn't matter though - no question that IBM wrote it, but oracle as a company decided to pursue it, meaning that everyone was on board.

the book "the difference between god and larry ellison" goes into a lot of this detail. it was basically 3 or 4 guys doing intense technical work for several years, including larry ellison.

in my opinion the book paints him as a fair businessman with a knack for over-the-top personal behavior. i don't remember it saying he ever tried to screw over his cofounders or run-of-the-mill employees.

also, i don't think i've ever read him claim that he invented databases or had the initial idea to commercialize ibm's ideas. that's something that the media projects onto him since he's such a celebrity compared to his co-founders.
In scientific computing? No way. I'd expect something like Julia to overtake Python before golang does.
Use your power to do good in the world. Join a social enterprise to provide jobs
For high-energy experimental physics (HEP or particle physics), most tend to use a CERN developed C++ framework called ROOT[1]. It's not overly pleasant, but it gets the job done.

There are Python bindings to ROOT (pyROOT) but I've found Python in my experience to be a bit too slow when handling the large (10TB+) datasets.

As an aside, it's interesting how ROOT attempts to provide C++ with some basic reflection[2] and saving of C++ objects to dis. Unfortunately it doesn't necessarily do a very good job of it, but perhaps things will change with ROOT6 as it transitions to being based on clang, as opposed to in-house C interpreter.

[1] http://root.cern.ch/
[2] http://root.cern.ch/drupal/content/reflex
Now, now. Don't get preaching to me, on what I should be writing on. This was a very impact full dream to me. And I wrote it then (more than an year back), with no intention that time of putting on HN one day.

And why do you have such a narrow idea of expressing one's love - either totally tragic or a "strong and positive". The present frailty could remind one of the earlier strength in a loved one. Also that, that we still cherish the life that we have although dimming away. Meaning, in that dream I was cherishing that she still remembers that I am her son. Although she is too frail, and wets her bed. And I was so sad for her, that I felt breathlessness.

And again, just like that other insensitive person, you also make the same mistake as the other person by putting mummy in quotes. My friend, this is the way so many people address their mothers across the Indian sub-continent. Its sort of a hybrid word evolved out of the British Raj here, and the Indian way of addressing. And that is true for so many words.

At the same time, I admit, that I could have worked on that story a bit more, to convey its general significance to others. But as I said, earlier, I wrote it an year back. And today, I just thought some people could enjoy reading it, by being thankful that they have their mothers around (close or remote, or even in their memories).

I must say, that some guys have been very insensitive today. At the same time, I am happy, that few others got something from that crude text. So be it. Peace.
Ants show that emergency exits can work better when they’re obstructed
That's a good point. We still require and enjoy direct interaction, as well we should.

However, as "multitasking" becomes more popular, the ability to communicate asynchronously becomes more important. Of course important things should be discussed face to face (not by phone or webcam either), but meetings should not always be confused with actual work.
Client-side encryption for Google Drive
This is a good example of a standard argument against systemd: a vague complaint about "monolithic" versus "the UNIX philosophy", with no response to the actual issue, and in particular nothing that could be put in a bug report. What's actually broken here? What doesn't work, or what feature or behavior is missing? What would the bug report subject be, "is systemd"?

Something needs to invoke fsck on disks at boot time before mounting them. With sysvinit, that was handled by init scripts. With systemd, that's handled by systemd units like systemd-fsck-root.service and systemd-fsck@.service. As far as I can tell, the complaint in this response is that systemd isn't sysvinit and doesn't use sysvinit's init scripts.

Note that systemd could be configured to invoke sysvinit's init scripts, and that would work exactly as well (or as badly) as it did with sysvinit.
Four Gates That Multi-$billion Software Ventures Pass Through
Being ignored on Facebook is psychological hell
Maybe you need someone to believe in. Stronger minds decide for themselves (interestingly enough which is the advice given by Rob in the intro of this article).
After the notorious shutdown of Google Reader I hoped to just resurrect my old Gregarius deployment and was forced to face the projects death; so, what are you using instead nowadays? (Or, are you using any RSS/Atom reader at all?)
Python is good for scientific computing. But this is one person's experience. Users of other languages may sleep calm.
Please do write about it.

I used noscript for a while in blocking everything mode, then requestpolicy for better filtering, but got tired of having to allow stuff for most of my browsing (now I'm on adblock privacy + ghostery + privacy badger + cookie monster + biscuit + self-destructing cookie + smart referer).

I'd love to read about what others do and their usage, how they get around.
Indeed. One must be eternally vigilant with the name.
You do realize that LOGO is a Lisp variant, right? It's not exactly procedural.
> In terms of 'lines of code running' wouldn't a stripped down Linux kernel + Mirage application in direct mode beat Xen + Linux dom0 HW drivers + Linux dom0 Xen daemons/tools + Mirage unikernel?

Well, you can drop into a driver domain model and not have a full Linux dom0 (if you don't mind fixing on a particular hardware model).

But don't forget that Mirage is about modularity though -- we have a kernel module version under development too, and a baremetal rPi one. The idea is that as the number of libraries grow, it becomes easier to pick and choose the set you need for the particular deployment environment you want to build an application on (including but not exclusively a Xen unikernel).
Teaching Motorists to Use Yah Blinkah Through Traffic Signs
I don't think so, but should be siphoning off people that use Cython.
The whole freesmartphone.org middleware was initially implemented in Python and there is bunch of Python apps in distros like SHR.

Python is great for mobile when it comes to hacking on-the-fly - I actually traced down and fixed few bugs in early Openmoko while getting bored in tram etc. thanks to the most useful parts being implemented in Python. Unfortunately, on Freerunner the difference in performance was very visible - however it shouldn't be as bad on more recent hardware.
One-time-use phone numbers for evading scammers
That is misleading. Debian seems to have changed earlier, but not done an official release for some time after the change; Ubuntu took, as they always do, this unreleased version of Debian and released it as the new version of Ubuntu.
It is not academic at all, but utterly practical. In your example of a 10+ line code block that is preceded by a comment, the correction is to extract that code into a subroutine and name it accordingly and maybe write actual documentation* for the usage of said subroutine.

Your second example is valid, though i have to admit i've not once been in that situation in my years of work, despite often working with legacy code, and suspect it's fairly rare.

* Note here that comments are not documentation, these are two different entities, one being aimed at the maintainer of a library, the other aimed at the user.
I'm afraid that going in the direction of using single-language platforms only draws us further for having a standard way of managing them.
You know, the quote actually goes:

Jack of all trades, master of none,
Often times better than a master of one.
We’re starting a media company and here is our required reading list
::shudders::
systemd is essentially a reimplementation of launchd for Linux. The systemd devs explicitly acknowledge this inspiration.
I used to think email should be plain text. I ranted at technical people that sent rich text or HTML email.

Then I realized I was being an idiot, and they were right.

Here's how I came to that realization. Imagine an alternate reality where computing developed almost the same as it did in ours, except for one key difference. They did not develop email--it just never occurred to anyone. They have Internet. They have FTP. They have the web. They have instant messaging. They have Facebook. They just don't have email. They still do their correspondence on paper, sent through the post office.

They, of course, use computers to write their mail. They then print it, and mail the printout. They think nothing of including inline photos, bold headings, embedding charts, and so on. If they need to send a lot of data with a mail, they drop a thumb drive or a memory card into the envelope.

When the recipient receives the mail, there is a good chance they scan it, OCR it, and store it in their computer, as that is more convenient than dealing with physical sheets of paper.

Now someone has the bright idea of skipping the "print/mail/scan" and instead using the Internet to transport the content. Does anyone think they are going to toss in a requirement that their new "email" system only can handle plain text? Of course not. They are going to try to make it as capable as the regular "print/mail/scan" mail system, and so are going to support inline graphics and photos, multiple typefaces and fonts, bold, underling, strikeout, color, and all that jazz.

The difference between that alternate reality and ours is that the people that got the bright idea for email in our reality got it at a time when most computer terminals couldn't handle more than simple plain text. The recipient was going to be reading on a teletype or, if lucky, on a video terminal that was effectively a glass teletype.

Those technical limitations have been long gone. There is simply no reason to keep email less functional than paper mail now that we are not forced to do so.
Right, so the question is "why not have side-by-side diffs". The fact that syntax highlighting would work is one obvious advantage. It also means that you can read the before/after code linearly without having to mentally apply the patch. It seems like an obviously better UI for understanding the effect of changes (although of course I don't have data to back that up).
Mandatory no-fault insurance would be better than reputation systems for medical care. I think people hand-wave around whether reputation systems work for low-probability but catastrophic avoidable error.

Also, the whole "greedy lawyer" trope is a wonderful bit of social engineering. Companies figure out how to save or make money while creating risk for consumers and bystanders, and its the lawyers that are greedy. Ford saves billions making a less safe car, and its the plaintiffs' lawyers that are greedy because they make money seeking compensation for the people that get hurt by that decision.
If you try next.duckduckgo.com and type "!", it automatically shows all bangs you can use.
For if/when the Google cache disappears, I've mirrored the original post here: http://notehub.org/2014/5/11/framework-whipped
>The niche for fast HWRNGs actually exists in the stochastic simulation business

>The bar is set high, though; the dream is about 1GB/s, RDRAND achieves 500-700MB/s.

Why are PRNGs not good enough? A hardware implementation of algorithms in the SHA series can achieve multiple GB/s of throughput. With a good seed, wouldn't the output of a simple counter-based or iterative hash-based PRNG be sufficiently random for simulations?
I think the author really needs to define scientific computing. Some people would think of that as simulations, clusters, astronomy, epidemiology and fluid dynamics. That maybe typified by a scripting language wrapper(inc Python) to C, C++ or even Fortran programs.

He himself seems to be talking more about standard stats and data analysis or prediction. In this field R is growing at least as fast as Python. R is the no1 Kaggle language and the no1 academic stats language, Python 2nd and stable there. The software carpentry movement to train scientitsts concentrates on both R and Python.

Then the biggest scientific programming field is bioinformatics - which really is a mish mash of Python, Perl, Java, C++ whatever piped CLI and a lot of R again. Here Python is growing mostly at the expense of Perl (there is a big Perl legacy) but as most software is designed for piping together in Bash scripts the diversity is not too big a deal.
My own perusal of Job adverts on this area sees employers asking for "R Perl or Python" which are viewed as interchangeable.
No thanks.

My banking app does not need access to my phone's camera "for security" purposes.

My banking app will more than likely be snapping photos of me at the time of the transaction, encrypting them, and then transmitting the images back to themselves as opaque binary blobs (claiming that they are part of the normal transaction data, even though they add 3MB to the bandwidth, because security), and retaining them for audit, in case there's a security breach, and securing their unfortunate scenario for their own purposes with ordinary photographic information, and never actually generating "quantum" random seed information (their database fell into the wrong hands, but they have upwards of 20,000 distinct, recognizable faces as a starting point for a possible ID during the subsequent postmortem and investigation). All while receiving kickbacks from the NSA for for sharing geotagged facial recognition images for their world domination scheme.

In this situation, cameras become a dual-use technology. Maybe they're used for a QRNG or maybe something else?

How would I honestly ever know whether my bank was lying to me about what it's really using my camera for?
I believe the comment was in reference to the supercomputing (HPC) world where Python is indeed very popular and has great libraries for doing large-scale scientific computing. You lose quite a bit of performance on the hardware but it makes up for it in speed of programming. For small-scale scientific computing other languages tend to be used.

The best language for large-scale scientific computing is C/C++, which surprises some people. Python binds to these libraries. C/C++ has two big advantages: it can run much faster than any other language and the language is better suited for designing massively parallel codes than most others. The latter point makes sense when you realize that HPC software only runs a single process per core and explicitly, adaptively schedules execution and messaging in order to optimize throughput. It is a bit like very old school single-threaded UNIX server programming.
Who defines the dbus protocol? Where's the relevant independent standards body?

If we were talking about web browsers, most people would rightfully be livid, as we've seen browsers that decided to go off and do their own thing before, and we're still suffering from them.
I thought about an app like this years ago...a proximity messaging app that allows strangers to connect in public places that is otherwise difficult (ie. the bus, a flight, a restaurant, sporting event). I think the smart way to do it is to limit users identification/info to simply a photo. I visually identified a person physically and can then message them based on the photos of active users around me.
I am sure anyone who struggles with algebra will struggle with programming even more.
Handling abstractions is not easy for everyone, for whatever reasons.