skysight-inc/HackerNews huggingface dataset:
I am surprised it does not mention Ada. I really feel like that Ada is not getting enough attention, it definitely deserves more. Even if you have heard of the language before, please do check out some of the resources available, you will not regret it!

It has been supporting multiprocessor, multi-core, and multithreaded architectures for as long as it has been around. It has language constructs to make it really easy to develop, say, embedded parallel and real-time programs. It is such a breeze. I admit I am not quite sure what they are referring to by fearless, but if it means that they can handle concurrent programming safely and efficiently in a language, well, then Ada definitely has it.

Ada is successful in the domain of mission-critical software, which involves air traffic control systems, avionics, medical devices, railways, rockets, satellites, and so on.

Ada is one of the few programming languages to provide high-level operations to control and manipulate the registers and interrupts of input and output devices.

Ada has concurrency types, and its type system integrates concurrency (threading, parallelism) neatly. Protected types for data-based synchronization, and task types for concurrency. They of course can be unified through the use of interface inheritance, and so on.

If you are interested in building such programs, I recommend two books:

https://www.amazon.com/Building-Parallel-Embedded-Real-Time-...

https://www.amazon.com/Concurrent-Real-Time-Programming-Alan...

...other good resources:

https://en.wikibooks.org/wiki/Ada_Style_Guide/Concurrency

https://www.adacore.com/uploads/books/pdf/AdaCore-Tech-Cyber...

The last PDF will summarize in what ways Ada is awesome for:

- contract-based programming (with static analysis tools (formal verification, etc.))

- object-oriented programming

- concurrent programming

- systems programming

- real-time programming

- developing high-integrity systems

and a lot more. It also gives you a proper introduction to the language's features.
That describes behavior, but not the sense of self-awareness?

If conscious means, reacting to the environment (opposite of unconscious) then that could make sense.

But if it means self-aware it doesn't get any closer to explaining that.
Investor Titles Are Important
There are some better lists for laws of Software Development:

[1] http://www.globalnerdy.com/2007/07/18/laws-of-software-devel...

[2] https://exceptionnotfound.net/fundamental-laws-of-software-d... (not so good but with solid discussions from HN https://news.ycombinator.com/item?id=11574715 )

And more:

[3] https://embeddedartistry.com/blog/2018/8/13/timeless-laws-so... (a whole book titled Timeless Laws of Software Development)

[4] https://www.red-gate.com/simple-talk/opinion/opinion-pieces/...

[5] https://www.netobjectives.com/blogs/some-laws-software-devel...

[6] http://www.methodsandtools.com/archive/softwarelaws.php
this appears cool, designing a graphics programming interface on a raspberry pi sense hat

https://www.youtube.com/watch?v=zX4PD44s-BQ
> The modern web and it's requiring the end user to blindly run third party code to even get text to show on a webpage is the problem.

Not really self-defeating. I am pretty sure you don't inspect every line of code of every software you run. There are reasonable compromises but we currently don't live in a system that has them (not in the widely used software anyway).

> My solution to the problem was to not start.

Good for you. I will again repeat however that there are many people like me who consume responsibly and make the system work for us, not we for it.
Pretty interesting that the author was upset someone said SQL = Schema and NoSQL = No Schema. It's usually pretty clear that the no schema part is usually in reference to no certainty in the schema of the data. Or I guess one could model it as a spectrum of certainty.

Actually now mulling over it some more, I see their point. It's just that their consideration of schema is more holistic than typical. I find people tend to use "schema" to refer to what's in the database, while in code people refer to it as a "model", and that a schema is just an implementation detail of a model.
Not to mention that it doesn't take a genius to see that a solid object folded in half is not going to be less than twice as thick!
> So, why would we want to write mathematics any differently?

I think you're stretching the unit-test-to-mathematics analogy a little too far.

I haven't looked at the book in question, but generally, you don't just "know if" your solution is correct, you prove it, or at least consider examples that can demonstrate if your solution works in some conceivable cases. That's how "unit tests" work in mathematics.

If the book has armed you with enough knowledge to work though a problem to the end, it has done it's job. The real test will come as you build on that knowledge later on in the book or in real-life applications.

Moreover, it's not like this stuff is obscure knowledge. You can find help online or by looking at other books or connecting with others.
Postel’s law is lately considered harmful, and Linus’ law has been disproven a lot of times (eg goto fail, but also in the linux kernel).
I'd even say 'brain damage'. Processed food industry seriously limits what you will taste. Most natural fruits/vegetables have so much variety and subtlety in flavour.. they also often come with built-in satiety triggers. You rarely consume as much salad/carrots than pringles/cookies. Modern life is pretty toxic in the end.
What is stopping you to provide more managed services?
A lot of smaller businesses don't run on Kubernetes. So compute power is not enough for them. They need managed services.
Huawei Fordable Smartphone
I have built many things in my short career, have worked at big and small companies.

In my view iterative development is far harder, maybe even impossible, to do at companies that don’t have the culture for it. Startups have it and most grow up with it but you’ll struggle to succeed with this approach at any big company. They may introduce Agile and bring in Agile coaches but they are just putting lipstick on the pig. That culture is set, I say this having seen it first hand.

As an example, and a little self promotion that I hope I won’t get downvoted for :) I have been working on a cross platform App that reads any article to you. It uses AI/ML models to convert the text to audio so you can listen on the go and maximize learning on that dead time on commutes.

This is a fairly complex thing to build, especially in a few months and to make it work cross platform. We now have a lot of features but this all happened feature by feature. Get one thing done, get it out, start on the next thing. If I tried this approach in a big team at a big company there is absolutely no way we would have this much done in a few months. The politics, the nonsense, etc.

If you want to check out the app you can try it here:

https://articulu.com
Cloudflare Transparency Update
There are! Some books have “solution manuals” or “companions” with worked solutions to a subset of the problems. There are also those big compendia of “5000 problems in linear algebra” or whatever.

It’s true that these are most common for big, intro-to-intermediate classes, and less common elsewhere, but there are a lot kicking around....
Here we are with a handful of cars driving around in the least regulated state in the US. From Theranos to Uber, if you want to test unproven technology on private citizens, Arizona is the place to be.

Google can’t even roll out fiber to a whole neighborhood without getting distracted. Waymo is still vaporware and years beyond when they said it would be available.
> The amount of brainpower that has gone into making JavaScript fast is amazing.

It really is, and it really makes me sad that the manpower wasn't instead invested in a better underlying language.

If only Eich had been allowed to implement a Scheme for Netscape Navigator! I really dislike Scheme (it's under-specified, and has some poor design decisions like a single namespace), but having a homoiconic language available within every browser in the world would have been amazing. The manager who squashed that is single-handedly responsible for setting back the development of computing by at least twenty years (and more likely thirty, since I predict that it'll be at least another decade before we're able to escape the JavaScript rut).
Thanks for the response. Source code to Procomm is not critical for me to have or anything... I was just curious about it, plus, if I ever decided to do some terminal based software which dealt with ANSI sequences, that would probably be the canonical reference, but I'm sure there are other places to look, perhaps in some termcap file or something... But as I said, not critical, just curiousity...
One of the event workers for Django monkey patches ‘socket’. A colleague and I discovered that an hour into debugging why something was misbehaving when we switched workers.
Google has down exactly this: https://golang.org/
x86 CPU ID
It sounds like you have an implicit schema, which the article addresses. Your "each variation of the data" is the gestalt of those implicit schemas. In the article's terms, the schema as built in the database itself is very minimal, but the schema represented by any code is much heavier. I'm not sure all of this is really useful distinctions to make, but it's what the article seems to be saying.
I remember when "user generated content" was a common phrase. It was great, users generate the content for the site and you just have to provide a platform for it. It seemed like a positive thing.

Not it seems clear that if you open yourself to host something for your users you also need to be prepared to accept that you're going to be hosting the worst of humanity, exposing others to it, including people who work for you.

It seems like such an extreme contrast from what it seemed like user content could be and what it is.
> "Micropython for user applications"

If I'm not at work, the only app I use regularly is Signal. Can anyone comment on the feasibility of making a Signal client for this device? I'd love to ditch my phone on the weekends and carry this instead.
Linux support sucks for a high-end network card that runs the Linux kernel internally for TCP offload and acceleration?

That's some deep irony.

Their original product lines at any rate. Newer wireless models don't specify.
Automobile wise we have entered a phase where EVs easily can be used as a second vehicle for those who can charge at home or have really convenient charging opportunities. I still think Tesla has the only full replacement since they have both the range and charging network to back it; disclaimer is that I own a TM3. Personal view, premium EVs autos must be three hundred miles plus, all others two hundred plus.

Motorcycle wise, if you want to see the limitations its all very evident on this stage. Cars can pack on the weight and hide it well but the same cannot be said for motorcycles. I don't know of any brand using a liquid cooled battery pack which means longevity of current offerings is questionable.

EV cars are more than capable of holding their own against petrol cars but upfront cost, charging opportunities, and range in cold weather, are still issues for many buyers. EV motorcycles and scooters are still fair weather affairs with inherent limitations of air cooled pack.
Rust uses types to ensure mutations happen in the correct way as to prevent data races (compile time checks)
> But mental illness _is_ different from physical illness.

No, it's not, it's a subset of physical illness. It's not even possible for it to be otherwise without magic.
I remember my parents telling me that when the explosion happened, the schools forced all kids to either A). swallow an iodine capsule (if under 8 years old) or B). To drink a tablespoon of iodine.

This was in Poland so close enough to be affected by the fallout.
> Recently it has gotten annoying with new google products since they have to be supported by g-suite for you to use them

Interesting - which products has this been an issue for? I'm on the same grandfathered GSuite deal and used to have this problem, but haven't in a while.
Biggest one that is missing from the list in my opinion is Vogels Law:

"Everything breaks, all the time" - Dr. Werner Vogels CTO Amazon.com
Why are nations assuming crime even before they are committed? There are already provisions in law to prosecute a company if it breaks any law. Imagine that tomorrow EU says no to Japanese car and China says no to Siemens telecom equipment. This is kind of anal thinking by the policy makers.
Depends on the scenario of course, but when working with Elixir I tend not to use GenServers much as well. I mostly handle problems with idempotent and at-least-once-executed tasks. Works quite well 99% of the time.
Debugging a system like this must very scary because of the tremendous responsibility. It is intersting to know how they actually communicate with it and handle auth.
As I read it, the point is not about using unit tests to verify correctness, but as an interactive means of learning the problem inside and out prior to finding a complete solution. The trick is in learning what you don't know, and one can do that faster with regular feedback. There does seem to be a delicate balance between letting a student "stew" for a bit to really learn how to find and be confident in solutions, and preventing the student from heading down a wrong course. Books can never provide real feedback, I suppose, but it's a nice option to have solutions available even if students must be trusted to independently exhaust the available resources for attaining them first. Often having the solution is at least helpful as a "sanity check" when it comes to mathematics - I feel it is all too easy for beginners to make proofs on hidden and untenable assumptions and not necessarily realize it.
Corrupted GRUB happened to me 7 times, so maybe we shouldn't throw around anecdotes?
> For example, it's hard to optimize even local variable dataflow in python since it's part of the API : you can inspect the local frame of your caller,

This seems like the sort of thing that should be absolutely not relied upon outside of debugging/profiling and other special circumstances. At least in my experience, I've had to write this sort of thing a few times and it's always been a last resort (and mainly for those purposes I mentioned).

Not only is it problematic because it disallows compiler optimizations, it also seems like it would enforce an unchangable set of local vars.
No need to leave EU for the absolute minimum cost, with Hetzner nearby and others.
Hmm, I'll have to study AVX512 more then.

Thanks for the discussion!
I find it sort of funny that this is basically a direct modernization of what used to be a common thing centuries ago: mathematicians would be paid to compete against other mathematicians and see who could solve certain problems faster. And while there isn't exactly a competitive aspect here, it still seems to be almost a spectator sport, but now with a new layer of spectator interaction.
Veil got its biggest Academy Awards prediction dead wrong – $19,000 on the line
It might be technically feasible, but not politically feasible.

While it is a no brainer to say every vehicle should be traveling sufficiently far behind another such that they have enough time to stop before they hit the one in front, this spacing out of vehicles will result in longer travel times as you are effectively reducing road capacity by having each vehicle take up more space on the road. Instead, it's (politically) easier to have each person take individual risks of getting into a collision.

However, with autonomous vehicles, it should be politically easier to force this constraint because the liability will be shifted from individuals to presumably the manufacturer so the manufacturer isn't going to stick their neck out so the individuals can save time on their commute.
He's correct that there's always a version of the schema in one's code — he's also correct that it's also nice to have a version of the schema in SQL, where certain properties can be checked & verified.

Wouldn't it be nice to have a schema DSL which enabled one to declare the schema in code, and have it checked at compile time? Sounds to me like that'd be the best of both worlds.

And client programs could just import that package as a library, so every would be on the same page …
Likewise, this is why it's important not to let compiler warnings slide. If your build process spews out a bazillion lines of cruft then that one new warning which indicates a serious error will get lost in the noise. I don't go so far as to enable warnings-as-errors or anything but I do build with -Wall and generally won't check in code which builds with warnings.
I've been calling it "wagile" and it's so bad at my day job that it makes me want to cry in frustration some days. I hope they give me an exit interview.
What a set-up!
Electroneum launches smartphone designed for crypto mining at MWC Barcelona
>Google's J++, not compatible with a large amount of random packages out from Maven Central.

Google's implementation is derived from Apache Harmony. Is the same true for Apache Harmony?
> One relevant part of the Apple world is, that it works

You already figured out, why people enjoy using Macs. It works and I don't need to cycle through three different system compositions before graphics, audio and WiFi work.
I've found that under-promising and over-delivering requires me to quadruple my best estimate.

Unfortunately, lots of us bid against people who over-promise. By the time the project is obviously behind schedule, it's too late, and the client can't switch to someone else.
> We've had a carb rich diet since the neolithic revolution.

This isn't true.

The modern diet gets 90% (asspulled number, sorry) of its energy from sugar, white flour and potatoes.

None of these three really existed in any measurable quantities three hundred years ago.

Sugar especially is something only very modern people started to eat in huge quantities.
Not if you use one of their servers in sweden.
I suppose this exposes some assumptions I was making. When I think of children learning programming with BASIC, Scratch, or Logo, I'm usually thinking of pre-teens or young teenagers, say 10-14 years old. Or younger, say 8, for some kids.
This is true of the 8-bit Basics.

However, later 80's 16-bit Basic (think Amiga, ST, QuickBasic for the PC, etc.) at least had functions, libraries, etc.

Going back to 8-bit is probably too far...
I think that there are some deeply ingrained instincts in our brains like self-preservation. On top of those instincts we add new behaviors learned while we mature and some like reproduction probably are activated at certain age. So basically we have some bounds and we live between those bounds solving problems that arise.
As I interpret Murphy's Law, it's not so much about failure in actuality, but more about anticipating the failure, and designing your code/product/system for the worst case scenario.
Often the data in a database can outlive the application it was initially designed for.

Say you have a legacy application you want to rewrite.[1]

If the data is stored in an unstructured way, then the schema is in the code base of the legacy application, and will have to be reimplemented in the new application.[2]

However, if the schema is implemented by the database, then the application can be upgraded relatively easily.

[1] Or an example more suited to modern ears, say you just wrote an MVP and want to do a rewrite now that you have 50 customers on it.

[2] Often in a a bug for bug compatible manner.
Maybe Facebook just let all videos be posted, except when it’s illegal (the video, not the act). Pretty much the only thing that would fall in that category would be child porn.

I’m not sure I really understand why big companies feel it’s their job to censor the world. Just let the floodgates open: allow violence, allow porn, allow whatever else. Who cares? And maybe this might actually good for people to see. I feel like we are leaving in this outrage culture that wants to censor everything. It’s not healthy for individuals or society.
That's a good read. He says you can go high (10000 IU/day) for 6-10 months, under doctor's supervision, then cut back down 2000-4000/day. This also makes sense from the perspective that it's fat-soluble, so you should be able to "fill up the tank" as he puts it.
"You could support markers stating "I swear this part is never going to use those dynamic features", disabling them for you and others."

Right now, the swing is in general to statically-typed languages that are more convenient to use, but I've thought there's room for a new dynamic scripting language that is still dynamically typed, but is written from the beginning to focus on speed. You can see some of the ideas in Julia or LuaJIT, but you pay a penalty on what can be dynamic.

One of the ideas I've had is more like the "pledge" feature that OpenBSD recently introduced. Rather than stating up front "I will not use this feature", you initialize your program, do all the dynamic stuff, then push the "OK, now I'm done being dynamic" button. After that, the program "freezes" into place, and calling a function with a new type of argument it has never seen before or something becomes an error.

My reasoning here is that the dynamic scripting languages tend not to use their dynamism evenly. The vast bulk of "dynamic" behavior is all done in an informal initialization phase, but then, for the bulk of the program's execution, you continue to pay for all the dynamism because the interpreter has to constantly follow the dynamic chains of functions, or even if the code is JIT'ed, the JIT has to be written to handle functions suddenly getting the "wrong" type, which at the very least means you pay for a check the static programs don't need to pay for, and generally, you may have to pay more. You set up the dynamism once at the start of the program, but pay for the ability to be dynamic later billions and trillions and so on of times over the course of the program.

(Don't just think about how poorly this would work if bodged onto Python or Javascript or something, because I know such an attempt would absolutely be a disaster. That's why I'm hypothesizing someone sitting down and designing this language from scratch with these ideas in mind, so it'll have the correct affordances and paved cow paths and such to make this work. While you're at it, give your new dynamic scripting language a solid concurrency story, since none of the current ones have one, since they all grotesquely predate that as a concern. I think there's a hole in the programming language landscape here right now. Another way to think of this is "write a dynamic scripting language that is designed to have a good, simple JIT".)

(Actually, for all the languages there are, I think there's several holes in the programming language landscape right now. You'd think everything would be covered, but it really isn't.)
You can get modules now in many browsers, as well as the latest JS syntax, without needing any build step.

Code splitting/vendoring has changed with HTTP2, and will continue to change as HTTP3 comes along.

SASS compilation, and if you choose to use TypeScript, will require a build step, but at least the SASS side of that is very easy and straight forward by itself.
NIO had more than half of its engineering staffed by unpaid interns at one point (sounds unreal, but just google it.)

People should expect more from somebody who wants to have that "serious man" image.

Yes, they barely made it after burning through 150m cash and years of "almost happened" launches, trying to manufacture it themselves or third tier garbage OEMs, all thanks to that shocking naivety of their CEO (a yet another Steve Jobs wannabe type)

It only happened when they got enough money to show to JAC for a joint venture making ES6 and ES8. Before that, they had no chances really

P.S. NIO and Niu are different companies fyi