skysight-inc/HackerNews huggingface dataset:
> If you do anything I am relying on, I do not want to hear that you use such "easy" language, period. If you are careless enough to rely on people not making mistakes, I do not want to deal with you. And if I am working on ensuring high reliability, I will choose tools that provide as much guarantees as possible, artificial simplicity be damned.

This to me is a bit absurd. First of all, the "easy" language he's referring to here is C, and if I read this correctly it sounds like he's saying any software written in C is not worth using, which is patently absurd.

Regardless of whether that's actually his viewpoint, programs and libraries which are well-written, in any language, are simply tools which one can use without needing to worry about what language they're implemented in or whether or not the author used generics or pointers or whatever. Language matters if you're writing the code, reading it, or linking against it, and otherwise it's not worth worrying about (as a general rule). Of course, if the tool or library in question is slow or resource intensive, this might be due to language choice, but poorly written, buggy, and underfeatured code can be written in any language. Choose the language that suits you, suits your team, and suits your project.
Code: Debugging the Gender Gap – Netflix Documentary
Not advocacy per se, but undeserved bashing (and not just Rust - you may replace it anything that's non trivial for beginners). This is some response for posts saying "Rust is bad because I'cant get past compiler errors, while some other language will not complain at all, and that should be fixed".
Most jobs advertise that way, but my experience suggest that fewer developers identify themselves (rather than their job) that way then are identified that way by their employer.
Changing isn't easy as the constants and structures are all named differently.

They are all named "struct sockaddr_storage", no?

You won't even need that most of the time, as it's all dealt with by getaddrinfo and friends (see sibling comment). Sure, there are some cases where it breaks down but the vast majority of software doesn't go there.
If the client can securely transmit the password to the system for verification, the system can securely transmit it to the user in the first place.
Proofreading is important. I get annoyed each time that I read a spelling error, so I operate by the 3 strikes and you're out method. If I had kept reading only to find even more errors, it would have been too distracting for me to pay attention to what the author was trying to say anyways.
> 1. Restrict what language can do. Without pointers, you won't have to explain what pointers are and won't have to introduce complex mechanism to deal with them.

Pointers are not complex, and pointer operations are not complicated. They are difficult for human to understand, but pointers are a most basic thing to CPU.

If your language doesn't have pointers, it almost certainly has references. At least for machines, pointers are simpler.
The easiest way to get started is to use Medium, that's free, and beautiful, and simple to use. You can also create a publication there which allows you to use your own domain name.

If you want to host your own blog, the easiest thing to use is WordPress on BlueHost.

Personally, I use Pelican - it is a static website generator written in Python, and I absolutely love it. It's really simple and elegant and convenient. You can host it on github for free, or on DigitalOcean for like $5-10 per month. I recommend that if you're a bit more advanced.

If you're just getting started, my advice is not to worry about this stuff too much, because what matters is writing good content, and that's where all the attention and energy should go.

All that actually matters when it comes to technical side, is to have your own domain name, and to start building a mailing list. The blogging software itself is interchangeable, and you can easily experiment with a few platforms as you go and pick the one you like.
I never thought too much about contrast until I had to do some ADA compliance work. Now when a designer says something looks better but it's hard for me to personally read I can always go back to the WCAG guidelines and use it to make a stronger argument for a higher contrast.
After a couple of years with Go, I'm neither particularly happy about, not particularly unhappy. It's a decent language. Productivity is high, which trumps many other concerns.

There has been so much controversy about generics, but one related area where Go is consistently annoying is when you want to define a sort of language of data types -- where in a different language such as Haskell would define algebraic data types. For example, an AST of syntax nodes: There's no way define this (simplified):

data Node = Literal | Identifier | And | Or | Not | EQ | NEQ | ...

Instead, you must define a bunch of structs and use a dummy interface that all nodes implement. Even then, Go has no pattern matching, so if you want to handle a node, you need a switch statement on type, then check the data with an if. And even then, there's no way to prove at compile time that the switch statement is exhaustive (you could do some runtime magic with reflection-based lookup tables, but it's still poor). If you want a generic mechanism to traverse and rewrite such deeply nested data structures, there's a lot of exhausting boilerplate in the way of the core logic, because, ahem, no generics.

I'm in the middle of a project that has three sets of such data structures (a low level AST, a high level expression grammar, and a query plan graph), and it's an area where the Go development experience turns from pretty good to pretty dismal. I've considered writing a mini-DSL and using "go generate" to generate Go code, but I've not yet decided on the best design.
California state government is hugely .NET, which explains Scaramento; the same is true of lots of government and other enterprise, non-tech-industry, shops.
The USDA's Food Desert definition is total bullshit, for example, you could drop me nearly anywhere in Tukwila, WA and I could be in a large grocery store within 10 minutes of walking. If we include smaller stores, I can be in a store buying eggs, milk, fresh veggies & fruit of higher quality than Costco or Whole Paycheck in a 6 to 7 minute walk, and pay with EBT at any of them (if I qualified).

This is exactly why attempts to tackle this supposed "food desert" problem have fallen flat on their face. These areas aren't food deserts, they just don't have a mega-store every other block, thus they are incorrectly classified as a food desert.

With some basic cleanup, the USDA could focus on areas that are actual food deserts, where there is a need and their efforts won't go to waste.

Edit: removed extra comma.
It was a social network; just an inferior one to Facebook. They lost to Facebook because Facebook was a more pleasant site for social networking, which made it more popular.

If you were in Germany, you may not have seen this, because MySpace didn't enter Germany until 2006 or 2007. At that point, Facebook was already starting to beat them with new users. By 2008, the established user base of MySpace was fleeing in droves to Facebook. The network effects that would have created social pressure to stay actually caused it to collapse even faster.

There is nothing that would prevent this exact thing from happening to Facebook. If a better site were to come along (or if Facebook were to become vastly less competitive than they are now), the social pressure could actually cause them to collapse just as fast as MySpace did.
Always Always Always Get Team Buy-In
Could be actionable in the USA under CFAA. Consult a lawyer.

Legality aside, actually using this is a bad idea all around.
A Return to National Greatness
I get hundreds of messages a day. I don't accumulate over 100k messages annually as very few of those hundreds of messages a day are necessary to retain. What isn't automatically filtered, I look at, and either delete, archive or categorise.

I don't leave everything in the inbox for the reason that I can't find what I want, in part because the search is awful. A large part of the problem is that unlike websites where pagerank and context provided by inbound links allow a lot of intelligence, with my e-mail it is often a struggle to find the right search terms, and so I want to add context in the forms of categorisation to the messages I actually have a reason to keep.

Gmails poor folder support kept me from using it for my work account for many years, until they "surrendered" from their original hardline tagging stance and added more support to allow you to treat tags like hierarchical folders, for this reason.

I can't imagine keeping an unstructured inbox like what you're describing - I wouldn't find a thing. I always despair when I have to resort to Gmails search as it almost invariably means I'm in for frustration.
My first “real world” application (healthcare database manager)
`brew bundle` has become quite handy. There isn't much I can't automate the install of now that it supports the Mac App Store too.
You said all the web technologies, so maybe if you are in the web dev?

In the rest of the programming, the framework self-identification is pretty rare -- I have not heard people describing themselves as "boost C++ developer", or "python numpy developer". People will still have strong opinions about good and bad frameworks, but it will not be their primary identification.
Top 30 Multiple Choice Questions on JavaScript Object – InfoTechSite
Why would it matter? The deadline would be specified in terms of a monotonic clock that's unaffected by wall time adjustments. So even if some crude NTP implementation steps your clock by seconds (or a leap second is inserted), it shouldn't matter for the deadline calculation.
Comments older than a day can't be downvoted.
Elon Musk Helps a Tesla Owner Who Sacrificed ModelS to Save Another Driver
Exactly, I don't get why people are downvoting you. Egg quality in the US is terrible, instead of culling salmonella infected flocks, we wash away the protective coating of the egg and potentially spread the salmonella into the egg itself.

In Europe and many other countries, their version of the USDA have teams that regularly test flocks droppings for salmonella, and where it is found, the whole flock is culled and the section of the farm is cleaned and left fallow. They also have cleaning rooms where the farmer/workers change into salmonella free suits prior to interacting with the flock.

Hence why Europe has fewer issues with salmonella, its very rare in eggs over there.
The implementation in the project uses its own lightweight threads (ctx switch ~20ns, possibility of arbitrarily small stacks, even stacks located on parent thread's stack). Also, it's written in C, so other languages can wrap it.
Most of the scenarios you described didn't seem all that user-centric to me. What users want is apps as secure as possible. 'Features' like something-instead-of-the-app renegotiating ciphersuites for it or unencrypted packets flowing through the kernel or forcing a cert-pinned app to cough up its private credentials to some TLS 'service' don't make apps more secure. I'd go as far as to invoke the immortal words of Chinese-subtitled Darth Vader: 'DO NOT WANT'. I think the notion that encryption should be done at the endpoints is neither new nor controversial. I'm not sure what you're proposing offers enough to abandon it.
Presuming public transit remains largely publicly owned and profit neutral, automated buses would reduce fares and increase service. The industrial revolution did help everyone who used manufactured goods such as clothes, though most of the wealth went to the industrialists.
How am I trading those? The user has hardly ever anything to do with whatever it is built with? How would they care if the end result for them is the same? If I build a SaaS in C# because my clients will work on the sourcecode and only have C# employees while, for another SaaS project I feel I need a lot of JVM libs and no one will use the source code so I use Clojure as I have a lot of experience there; how is that trading quality for convenience? In that case it is a better tool for the job.

Also: why do you want me to work 'harder'? That is a weird remark in this context potentially... I am very good at different assembly languages (mainly very restricted embedded ones like 8-bit with 16 kb etc); I would work really hard if I implement a SaaS for you in that but you really would not want me to.
Paranoid Programming – Techniques for Constructing Robust Software [ps]
We have about 25 chickens right now and we just picked up another 18 chicks today. Our's free range on our land and they're fantastic at keeping bugs down.

We've had some problems with snakes, but we're in the country outside Austin, TX and snakes are just a way of life out here. We even had to remove a rattlesnake from inside the house a few weeks back. Skunks are a big problem this year -- lots of them out and about.

We give and sell fresh eggs to everyone we know. I routinely take them into work and sell them for $5 a dozen. We've had to explain the whole not washing or refrigerating them to most people but after they've had fresh eggs they always want more.
"BSD sockets" is the name of the existing socket API.
> I actually am writing some assembly. So far I've found it very permissive

Were you expecting otherwise?
Street Life in London
That's more than just a little gross.
>I wonder if we'll ever bring back Neanderthals too.

No, not while we all live on one Earth. We can't even coexist peacefully with our same species, can you imagine having another apex species we'd see as direct competition not only to resources, but to our pre-eminence?

The alternative to bring them to life for scientific research would be an ethical non-starter.
I can relate. I feel very, very lucky that my early programming experience was on a Commodore 128. Instant-on, straight to the REPL. And being able to switch between C=64 mode & C=128 mode made me aware of how differences in hardware and language changed how you approached a problem, and how CP/M was something else entirely.

It really was the perfect intersection of complicated enough to be a fun system to explore, and you could do Real Projects with it, and simple enough that you could 'hold the whole machine in your head'. I still remember how proud I was when I figured out how to write a TSR driver for a mouse cursor using the tape buffer for storage so that I could move a sprite around with a joystick at the same time as being able to use the shell. At the time, it felt like magic.
You are ignoring the security implications of using buggy software; and the risks that users of C code are taking.
A long time ago, I figured I'd save bandwidth by making the background image a single pixel (don't ask why I didn't just set the background color, I don't have a good reason). That was back in the days when web designers tried to make their pages less than 15k.

The rendering of the image on the background in Netscape was so slow, you could see it draw the lines across the screen.
But users almost never care about the underlying technology. In my experience they care about usability above all else. Most the time they have no clue what's powering the other side and that's by design.

I think the GP and yourself have different values. I don't want to speak for him/her but I think I can relate: don't allow perfect to be the enemy of good.
So strange you're downvoted when you're correct. Why spend billions on a nuclear plant that'll take a decade to build when you can deploy solar, wind, and battery storage at a lower cost and a tenth the time?

The economics simply do not work for nuclear, and I'd expect all nuclear generators in the US decommissioned by 2030.
If you know anyone with chickens, get an egg off them. The difference between the eggs and store bought, free range, is night and day. I don't know why, but the yolk is orange for starters. It may have been due to the species of chicken I suppose?
Great. That covers the 0.01% of all crackers that live in the USA.
The "no laundry on the porch" crowd didn't see that coming.
The vast majority of US government agencies use smartcard certs for authentication to web services, Google uses yubikey. Both are really solid solutions.
In a similar vein: www.lyricstraining.com

Watch YouTube videos in whatever language you're learning and fill in missing words. No connection to it...Just discovered it a few weeks ago and it's super fun and addictive: you get to hear lots of new music and learn some serious comprehension.
A Darpa Perspective on Artificial Intelligence
> he's saying any software written in C is not worth using, which is patently absurd.

I'm saying that choosing C guarantees a lot of problems for users. You will have such amount of bugs, that as a user, I refuse to be your beta-tester.

> programs and libraries which are well-written, in any language, are simply tools

Some languages make creating well-written program much harder than others.
There is strong correlation between "its written in C" and "it exposes your ssh keys".

> Language matters if you're writing the code, reading it, or linking against it, and otherwise it's not worth worrying about

It also matters when you estimate code quality and likelihood of your data being exposed or corrupted or a time from "it compiles" to "we feel safe to use it in production". Its not the only factor, and perhaps not the most important one in many cases, but I believe in value of formal verification more then I believe in humans ability to get millions of malloc/free pairs right.

> poorly written, buggy, and underfeatured code can be written in any language

Again, in theory yes, in practice some languages make it much easier than others.
Ha! For a class in school we had to create a web app that allowed people to create quizzes and challenge others. Among the question types we implemented a sort of fill in the blank using Wikipedia random article feature (https://en.m.wikipedia.org/wiki/Special:Random)
> You may not see a point in becoming a soldier

You might want to try saying that a different way; this metaphor is a problem.

It comes across as a slightly more colorful way of putting down people who use other languages as not "real" programmers - you're saying they should find another career. Or at best, maybe they are real programmers but they should be using harder languages?

In practice, most of the important code that everyone relies on to defend us (assuming here you mean security-critical or safety-critical code) is not written in Rust. So who are the real "soldiers"?

There's certainly a case to be made for using safer languages for critical code. On the other hand, using stricter static analysis for existing languages (and other kinds of testing like fuzz testing) will find bugs quicker and avoids boiling a few oceans.
There are only two kinds of languages: the ones people complain about and the ones nobody uses.
try code.org
I agree, but that's a little weird too given that both eggs and chicken are eaten regularly.
The poor kids of Silicon Valley
Show HN: Venerable cpu monitoring tool i7z now dockerized
Dr. Ross Adey M.D., of the VA Medical Centre, Research Service, Loma Linda, California, USA, ”The Health Effects of Electromagnetic Radiation”, the Science Show Broadcast 26.5.84 at 1900hrs Australian Broadcasting Corporation
It worked reasonable well until now, didn't it? But the communist juggernaut has more momentum now, and maybe in the decades to come.
GitHub will definitely get the job done if you like going the static site route. Otherwise Ghost [0] is a popular alternative to WordPress for self-hosting.

The answer really comes down to how much time you want to spend maintaining and updating your blogging software. If you don't want to worry about the backend, Medium is a popular free hosted solution, even if they've had some shakeups lately. Otherwise some popular paid platforms are Svbtle [1] and Posthaven [2], and I'm building Write.as [3], a light, writing-focused platform.

[0] https://ghost.org/

[1] https://svbtle.com/

[2] https://posthaven.com/

[3] https://write.as/
Is this essentially the idea of "muscle memory"?
That type of truncation virtually always happens in JavaScript in my experience, leading to my favorite greasemonkey script; showing what happened to the text in a masked edit field in a pop-up window on form action.
How Where-To-Go Lists Get Made
pics or it didnt happen!
The color of eggs and type of bacon are horrible analogs - the color of your eggs has zero bearing on their flavor, whereas anyone who'd choose back bacon over proper bacon is just a monster.
I've been using kap [1] recently for recording gifs. Its really good.

1. https://getkap.co/
Nanoc + GitHub Pages, it's good for a static blog.
Remember IRshell? Or that R type clone. I loved my PSP and hacking it was so cool because it let you run your games from the memory stick and compress them.
Right, just being with.
> How am I trading those?

If you choose the easiest thing for you instead of the one that provides some guarantees of quality for me, I may be the one who loses something here.

> How would they care if the end result for them is the same?

There is no issue if that's the case, problem is that it often isn't.

> I use Clojure as I have a lot of experience there; how is that trading quality for convenience?

I am not talking about this situation. You are clearly making well informed choice (and sufficiently good one for me). Functional languages do not fall into the "easy" scope I had in mind.

> Also: why do you want me to work 'harder'?

So that I am not left with never ending bug chasing or exposed customer data. I expect you to adhere to certain quality standards, not to bash some code as fast at possible for your convenience. Just that.
Habermas – From Hitler Youth to Famed Philosopher
Ask HN: Best Book to Learn Haskell And/or Functional Programming Paradigms?
What modern (as of Feb 2017) book do you recommend for learning Haskell and/or Functional Programming Paradigms?

I was interested in 'Real World Haskell' (http://book.realworldhaskell.org/) but it's from 2008 and I hear some breaking changes have been added to the language since.

Also if it matters, my preference are for technical books similar to 'The Practice of Programming'.
> Why a post about UI, GUI makers, etc. without a single screenshot in the github's README.md??

I'm pretty sure the History section of the readme answers that.
I refrigerate my eggs because I keep them for months sometimes before eating.
PJON defines things up to level 3 -- you hand it a bunch of bytes, and tell it: "deliver to node 12". It is up to you to decide how the bytes must be interpreted, and to ensure the recipient can handle them properly.

PJON has a number of data/physical link layers: a network running on a single arduino pin, link over LEDs, TCP, UDP, supercheap radio modules, RS485 serial.

Compared to that, Modbus defines things up to application layer (layer 7). You tell it, "read input 1" or "write 75 to register 33" and it does it for you. You can also send arbitrary packets like PJON, but this is rarely done.

Modbus also has number of physical layers: serial (usually used with RS485 or RS232), TCP, UDP, and high-speed proprietary links. It is not designed for low speed links, so it would not work well over LED link, supercheap radio modules, or a single arduino pin link.
> But users almost never care about the underlying technology.

I guess it heavily depends on who are you working with. If your users don't understand and don't require security, it will not be provided. My users often have customers who care about those things, so it goes back to me.
More like they regain entirely new modes of thinking