skysight-inc/HackerNews huggingface dataset:
This database is the equivalent of a collection of terrorists' Wikipedia page. That's not a "sensitive database."
Or maybe a DMZ network with local-only access.
Thanks for making these points so clearly.

The person you are rightly critiquing seems similar to the careless but widespread view that says, "sure, go ahead and X, that's fine, it's your [legal] right, but I think blah blah" with this thing few ever catch which is: it's often totally NOT fine to do something that is nonetheless legal.

You have the right to X, but I can still say STOP IT. And I could reasonably argue in various cases that X is anti-social or bad for any range of reasons. Please people do NOT just accept or do whatever as long as it's legal. That whole idea is craziness.
This is in tune with my own experience using Rust in production: it can stop you from doing certain classes of mistakes, but it won't stop you from doing stupid things.

But the idea that I don't have to think about certain classes of problems allows me to give these stupid things more focus, which is surprisingly refreshing.

The predictable nature of Rust was so refreshing for me that I ended up using it even for smaller reusable scripts where I would happily have used Python before but soon got annoyed with obvious errors that would only show up once you run a program.

If you e.g. have a `print foo` in some obscure branch that rarely happens, that print will ruin your day if you use Python 3. If python would be a little like Rust you would get on save (or at least on compile) a hint or error, that the print should look like this: `print(foo)` for Python 3. You can be incredibly careful and rust will still catch things now and then, that would have gone unnoticed into production unless you have immense test coverage.

I like Rust for the experience I had with it. It definitly changed how I approach certain problems in a very good and productive way, even when I don't use it.
One of the most important take-aways of this article: you do not need tons of plugins! I see this very often in motivated and bright developers who want to start using `vim`. They copy a humongous config file, install tons of plugins, and suddenly, something breaks or does not work as expected. In my opinion, it is much better to start from scratch.

(besides, I have noticed a tendency in myself that is basically 'yak shaving for vim': the more plugins you have, the more you have to work on their configuration in order to make sure that they all work as expected...while this _feels_ very productive, it is actually the opposite of productivity)
Right.

No downvote, but GP post conflates "how code SHOULD be written" with "how existing code was written" in my opinion. Same with one of the earlier comments about "idiomatic C++ does bounds checking." I've seen plenty of NPEs in real, working Java.

If Mozilla isn't managing to write idiomatic C++, I don't hold out much hope for myself either.

> “Just follow these simple rules and you’ll avoid all issues”, a compiler should do that for you IMO.

This was one thing I really liked about Kotlin vs Java. It's nice that my IDE can do the work of generating getters/setters on a POJO for me, but it's not nice that the language requires me to fill my source code with that noise. To a first approximation, any task rote enough the computer could do it for me, it should not ask me to do.

See also: static languages that don't offer type inference.
Yes. I wonder though, with proliferation of tools for automating server management, how much does this approach still matter?
The claim was that no one would have any faith in it though ^^
The criticism wasn't wrong. Most people on AirBNB aren't using it for couch/extra room rental (because that market is really small). They failed at that and had to pivot to being a platform for vacation rental companies.
C++ sacrificed:

-Fast, modular compilation
-Straightforward error messages
-Low cognitive overhead

That's precisely the wrong way to go on every count! That's a perfect example of designing for the machine, not for the humans! (I say this as someone who wrangles C++ in my day job.)
Since I work on the AS/400 (iSeries) what makes the whole story ludicrous is that for nearly a decade if not more it has been relatively simple to web face your applications. There are vendors who can do but the tools are pretty straight forward. Hell even the zSeries and AIX based solutions have web facing products that make supporting new interfaces a breeze while keeping decades old proven business logic in the background.

however as you mentioned, a modern user experience isn't the end all. we even did a migration from an MS Access database application to a new platform where it was required to be 100% look a like. The whole move was done to modernize that application yet those doing the work got handcuffed on day one.

one isuse holding back the upgrades in most cities is that their IT departments tend to be a real mess with one or two SME per system/platform that isn't PC related and even then its all maintenance mode anyway because it just works.

however the real issue is likely, infrastructure maintenance which includes IT and other not sexy items like sewer and road repair fall by the way side of ribbon cutting opportunities for new buildings, roads, and bridges. then throw in the incredible debt to employee benefits and pensions most cities have and its no wonder so falls to the wayside
Interesting, I thought the "unintended acceleration" was actually just floor mats creeping up and holding the accelerator pedal. Gonna have to google some stuff now :-)
Deutsch limit: "The problem with visual programming is that you can’t have more than 50 visual primitives on the screen at the same time."
Wow. That is an amazing piece of work.
Define "success" and "didn't receive well in HN".

I'd argue most of the most interesting projects I've ever seen are actually not successful. AKA they were received well, but weren't successful.

I'd argue, in most cases, the least well received are actually solving problems and not "cool". Take an enterprise product that automates some process, wont be well received, but may be worth billions.
Yep. Same author and same text. I'm assuming it was reposted on hackernoon so it could be seen by their existing audience.
>I can’t wait for the current systems to become 30 years old.

Good luck with them lasting 10 years
Georgetown launches think tank on security and emerging technology
Mice given ‘night vision’ by injecting nanoparticles into their eyes
Ok so let's pretend I have a 10 led smartbulbs in my house ( future state, most people have less than 10 ). Let's say their mean time to failure is a six months ( I think this is significantly lowballed ). That means there will be 1 lightbulb in the trash on average every two to three weeks. This number is highly unrealistic but whatever.

So you are going to have to dig through my trash (assuming curbside (it isn't) two to three times to find a blub.

My door lock is easier to compromise. Just walk in and walk out with my server.

Fact of the matter is, if you are the target of someone, there are better ways... and if this is just an opportunistic guy that got some lightbulbs off the back of an e-cycler truck and one of them happens to be mine. He can have whatever he can find on my network.

TL;DR: The lock on your front door is easier to exploit, and the lock on your back door is probably even worse.
Bah, my 1KB Timex Sinclair 1000 has labels on its "keyboard" with every BASIC keyword. I don't even have to type the whole word. Productivity!
Maths is running on 'software' from 500BC. Don't see anyone complaining.
The main performance gain would be memory consumption.
Software patents haven't carried much weight since Alice, and it doesn't sound like Footpath was the first with this kind of feature. So your advice involves spending a lot of money to try for a patent, and then spend more money to threaten or sue Strava, and then have to pay Strava's legal fees after the patent is thrown out on Alice or prior art grounds.
>"Go's original runtime sucked and there's been a lot of work put into making it better too, I guess they should have just stuck with it?"

Could you elaborate on what the shortcomings of the original runtime were? Might you have any link regarding this? Thanks.
That minor differences put gorillas in zoos and humans watching them is part of the problem.

AI can look a very long way from human right up until it beats everyone. And even after it’s exceeded humans for decades, judging by someone I’ve seen in the last year or so who insisted they could beat any computer at chess.

For example, imagine that there is just one thing about our minds that we don’t understand how to replicate, which leaves our AI at gorilla-level. No real grasp of language, poor physics model, fails mirror test, etc.

Now build into that the software behind WolframAlpha, Siri, Google Translate, Tesla, and AlphaZero, and you have a gorilla who beats every human at chess, go, and shogi; drive about as well as the average American; knows more languages than most people can name; can solve advanced calculus, chemistry, physics, and economics problems; and has some limited capacity for speech.

It would still be an idiot by most people’s evaluation.

Now add that one little thing that separates us from gorillas.

(That’s assuming they still count as “tools” rather than as “people”, which is a whole different kettle of fish).
> To see “received” being used in the active voice is far too royal.

"Successful projects that HN didn't receive well" doesn't sound royal to me.
could you please elaborate? the only missing feature I can think of when using a socket, is the color change. I would think that is not the primary reason to purchase smart light bulbs, besides maybe one or two for the novelty? the key benefits of smart lighting is in the timing controls, dimming, and occupancy sensing, all of which can be accommodated by the socket, provided it can talk to a gateway that offers those features.
One of the examples of Flexi disc.

https://news.nationalgeographic.com/2016/03/160305-songs-of-...
How is that nonsensical? Its stating the obvious, but it makes sense.
You're correct, and the world would be much better place if UX design was conscious of that distinction. That said, I think GP was talking strictly about "intuitiveness for newbies" being opposed to power. Unfortunately, even modern developer tools are being designed as "intuitive for newbies".

EDIT:

I think a good example of intuitiveness aiding power would be shortcuts in Vim vs. Emacs. In Vim, shortcuts are created as a grammar, and they're to a great extent consistent. They tend to form "verb modifier(s) object" combinations, and each of the components can be learned separately[0]. Whereas in Emacs, there are bunch of conventions, but beyond that, shortcuts tend to have a form "modifier verb-phrase", with "verb-phrase" mapping directly to some command. This results in much less consistent - and thus much less intuitive - set of keybindings.

--

[0] - See https://medium.com/@rafeco/the-grammar-of-vim-f86482876f46 for elaboration on the topic.
It's ten cubic meters, not as crazy as it sounds. Yes it would flood your basement if it burst, and you probably wouldn't want to be directly under it, but not going to drown you.

Water is heavy!
Senate to Google: How Did You ‘Forget’ About Nest Secure Microphone?
I used to work for Freenom, and while they have a policy against domain squatting for free tk/ml/ga/cf domains, they have an API that lets you buy domains from any other TLD at cost price.

Freenom themselves make money from ads on residual traffic after free domains expire.
C++'s templates are more expressive than Rust's generics

80/20 rule applies here. 80% of the boilerplate can be eliminated with 20% of the expressiveness.
Some of it is negative, though, like the first. Although I think the main reason people bring it up is because the first point of the first comment is pretty funny/infamous:

> For a Linux user, you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem. From Windows or Mac, this FTP account could be accessed through built-in software.
I'd love to see C#'s generics in Go. There is, however, at least one plausible reason to not do it as @ianlancetaylor puts it very well in the main GitHub Issue for Go generics:

> It is an essential feature of Go's interface types that you can define a non-interface type T and later define an interface type I such that T implements I. See https://golang.org/doc/faq#implements_interface . It would be inconsistent if Go implemented a form of generics for which a generic type G could only be used with a type T that explicitly said "I can be used to implement G."

The whole Issue is worth a read. Here's direct link to the above comment: https://github.com/golang/go/issues/15292#issuecomment-21008...
Landmark takes the cult-like tactics to a whole new level. Avoid at all costs.
Compiling and updating this information requires many man hours, which has value, thus Dow Jones can receive payment for access to this database (and many are very willing to pay). It's an asset.
DuckDuckGo was roasted when it was initially introduced to HN (mainly for the thought-to-be silly name IIRC).
Tco has little to do with timing performance and all to do with keeping code legible in functional languages.
You throw out an LED smart bulb maybe once every few years? Probably one of the single worst ways to target an individual.
Probably an emotional thing, "set in stone", a sense of permanency, etc.
avoids eye contact
> "ponderated"

Huh! I have a fairly strong vocabulary and thought this might have been a made-up word -- but apparently it means "to weigh down or give substance to", which aligns with your intended point here. TIL
I’m not either (by some definitions at least: I grew up in Italy).
Wow, I'm actually working on something that is eerily similar to this. Worried about competitors, haha, but glad to see that other people in the industry are leaning in the same direction.

He's 100% right to conceive of interfaces as a finite state machine.
Why are there hardly any roundabouts in north america? Because there's no money to be made from them.

I'm not sure why people think this. Maybe people don't get around enough? I see roundabouts all the time from Seattle to Nevada to Utah, and beyond.

The problem with roundabouts is that they don't scale. In the 60's and 70's, New Jersey had three massive roundabouts on Route 23 where it now intersects with I-287. They had to be removed in the 80's because they simply couldn't handle rush hour traffic.
How to know when it's time to refactor your software's code
Still though, the article feels overkill. I use VSCode for example and I'm still comfortable enough with a terminal to vi/vim, install/update, manipulate files, search, etc. Yet I'm not nearly as productive vim as I am with VSCode.

Basically it doesn't have to be an all-or-nothing sort of deal. Just find the combination that makes you productive, and if you find that your productivity is suffering because of one of your tools then address it accordingly.

So far this article reads more like a zealous hyperbolic "It doesn't matter if you think you're productive. You're deceiving yourself and your tools are trash"
Possibly one of the most complex pieces of software I've ever developed
>Sounds like it doesn't check by default then.

Yeah, in the phrase "idiomatic C++ bounds checks by default", the term "idiomatic" is a "weasel word" that disqualifies "by default".
> Unfortunately, this is never going to happen. The few still practicing Ayurveda properly come from a background where they learned it from their ancestors within their family and practicing it for free and never allow commercialization of their knowledge. But they can gladly share the knowledge to people who want to learn.

How is it possible that they could have prevented that information from ending up in the hands of profiteers even after all these years? And no profit hungry pharmaceutical company has ever been able to rediscover and commercialize those techniques, even though the details of them are mostly freely available on the internet?
The RDP Through SSH Encyclopedia
> A lawyer defending a monstrous serial killer is wrong.

Why? Alleged serial killers do not deserve a lawyer?
> S-expressions are a subset of text it’s axiomatically impossible for them to be more expressive.

This reasoning is backwards. Structure creates expressiveness. A novel in correct, readable English is more expressive than an arbitrary pile of letters, because it follows a form. A painting, even when represented as a JPEG, is more expressive than a large number, because it is considered as a valid JPEG and a painting. A Bach chorale with no parallel fifths, and a mid-20th-century experimental atonal piece, are both more expressive than banging on a piano.
"... there are other, a lot more saner and principled flavours of parametric polymorphism out there."

Could you point to some of those?
Long-Range Robotic Navigation via Automated Reinforcement Learning
Even the brands don't do that much better. Brightness or colour temperature has degraded markedly by 3 or 4 years of most I've bought.

Colour drift has been particularly bad with any daylight or cold white bulbs. We've gone through fewer of those so may have just been unlucky brand choices.
> Of course, you can bind terminal commands to keys in VSCode (or virtually any other environment) just as easily.

But what if those terminal commands need to interact with your editor?

How would you set up a simple VSCode key bind to take the currently selected text, run a shell script using the selected text as input and then replace your selected text with the output of the shell script?

With Vim, this kind of mentality is baked into how you work with the editor. Even as someone who is very new to Vim (about a month) it only took a minute of Googling to figure it out.

After having used Sublime Text for about half a decade, followed by VSCode for a year I never even thought to do something like that either. I just took the easy way out of thinking "yeah I'm not going to make a custom plugin for this, I'll just settle for some worse implementation that someone else wrote that does 75% of what I want". But just weeks after using Vim, I'm finding myself adding all of these little customizations that are specific to things I do every day. It feels like my editor is working for me, not the other way around.

> I can chain 5 unix commands together and use my IDE to navigate through code with my mouse

I use the mouse in terminal Vim too. I don't really care about what purists have to say. For certain things I find using the mouse easier, so I use it.
eg Facebook or Amazon or Outlook or Photoshop. The antithesis of minimalism, features and buttons everywhere.
At some mid point you would have maximum C glue code in place, and then things get better after that.
> This is like saying the Rust doesn't have memory safety because you can use "unsafe".

It's the exact opposite which is the point. Rust requires extra work and using the non-default and less convenient way for unsafety, C++ requires extra work and using the non-default method and less convenient way for safety.
Yep, it has LOD calculation features, so you can hide and show certain elements at smaller sizes so it always scales well.
This is amazing! I've been using LJS trained models and then cross-training them to target speakers, but this looks like it may produce even higher quality results.

I've previously implemented concatenative TTS using unit selection [1]. The quality is spotty, so I'm throwing it out and going with the ML approach, which produces higher fidelity voices even in my own experiments.

My next steps are taking an end-to-end synthesis model and porting it to run cheaply on the CPU.

Thanks so much for making this data available, Mozilla! You're helping democratize this technology for individual engineers and researchers that don't have Google's resources.

[1] http://trumped.com
If you're going to put all operators at the same level of precedence, you've accepted lots of parentheses anyway; so why not just go all the way and require parentheses everywhere, meaning that no associativity need be specified either?
Patreon is actually largely a paywall-service. It's about collecting donations AND tying that to accessing paywalled stuff.
Yes, the more your resist that urge, the faster that muscle memory will develop. It's even faster if you take a second to think of the most keyboard efficient way to do things with vi-keybindings and doing that, resisting the urge to use simpler keybindings. For example, `a` instead of `li`, or `A` instead of `lllllllllllla`.

Another important point is that one should never try to move around in INSERT mode. If you do, you're limiting yourself to moving around with the arrow keys and also are grouping multiple edits that you may want to undo piece by piece with u. If you need to move around, change to NORMAL mode and then move.

Yes, it's normal to hit Escape a lot. Personally, I like to have CapsLock act as Escape with `setxkbmap -option caps:escape`. If I ever really want to write something in all caps, it's always seemed faster to hold Shift with my left pinky.

> It's like learning to touch type all over again.

A very apt way to put it. Touch typing is like learning a language for your fingers. You do it once for your language (e.g. English), and now you're doing it for vi NORMAL mode, which is basically a language for text editing and navigation.

Like TeMPOraL said though, if you feel the frustration getting to you, you can just relax however much you want, and take things at the pace most comfortable to you.
I just ran into this nice article with some companion maps linked from the Wikipedia page: https://medium.com/@jay.penner/the-hunt-for-the-death-valley...
The project has several objectives--to bring a REPL for Go, to provide a macro system for Go, to facilitate experimentation with generics, etc. None of these are meaningfully served by "having generics".
Great. Is there an open voice assistant project yet? Or a privacy focussed one?
Disappointed but not surprised.
This is less about the title/headline and more about the overall approach.

I think to gain any attention in today’s environment, you’re going to have to do more “showing” and less “telling”.

Remember how Ruby On Rails got its amazing dev mindshare? I’d encourage you to hit archive.org and go back to like 2006 at rubyonrails.org. They had a compelling demo that was just a simple screen share, but it blew people’s minds. Their headlines and body copy were also excellent.

EDIT: a couple of links:

https://web.archive.org/web/20060609235209/http://www.rubyon...

https://web.archive.org/web/20060612063620/http://www.rubyon...
That's both a correct and useful answer and one that proves my point in practical terms. If you know enough to run pmap over the process space of the server to look for issues like this, you also know enough to force restarts of the affected services post-update.

I could see this being something to add to automated monitoring tools run on a schedule, but I don't know enough to estimate the viability or usefulness of actually doing so - would it end up being a rule that in 99.999% of cases would only actually match if it happened to fire as the server was in the process of shutting down?