skysight-inc/HackerNews huggingface dataset:
I'm a scientific coder, though I work in industrial R&D feeding product development. My work doesn't get published. I've studied good programming practices for 40 years, and I try to behave myself.

One thing I've noticed is that programming practices have evolved, not so much to make them better than before, though that's conceivable. But because practices have to keep up with rising complexity of the code itself, and also of the operating environment and the social environment (e.g., work teams, open source projects, etc).

Scientific programs tend to be easily 20 years behind software development in terms of complexity, and I think we can benefit from using older techniques that were simpler and easier to learn. I learned "structured programming" via Pascal, and to this day if I hew to the same practices that I learned in my Pascal textbook, my program will probably do what it needs to do and be tolerably maintainable.

Perhaps those practices have to come from the mouths of scientists. The software engineers have moved on, and are only interested in the latest and greatest toys. I don't blame them -- they have to own their careers and follow their interests just like we do.

I mentor younger scientists who come out of fields such as chemistry, and are beginners at coding. So I literally get to explain such basic things as putting code inside subroutines, and avoiding global variables. I haven't had to tell anybody about GOTO's yet.

About reproducibility: My parents were both scientists, though my mom spent a few years in mid-career teaching programming at a community college. I learned the scientific method sitting on my mommy's knee. "Reproducibility" was certainly a guiding principle, but it was also expected that reproducing a result would require some effort -- perhaps fabricating your own equipment from available materials, and gaining skill on a technique. You might get it wrong many times before finally getting it right.

What we expect now is "pushbutton" reproducibility, meaning that a project replicates itself from start to finish at the push of a button. This is a much higher standard than any scientist is trained to expect, even if software engineering requires it. A software project has to be at least 99% that way, or it would be unworkable, due to the high degree of complexity. The tradeoff is that it also requires complexity to make things that way.

I expect my results to be reproducible, but not pushbutton-reproducible. To overcome this issue, I'd rather spend my time documenting my code and its theory of operation, than making it bulletproof. Nothing that I write goes directly into production, and I expect the theory of operation to be more valuable to a project than my code. Often, the code just automates an experiment to test the theory, so it's a middleman rather than a product.
Doing bodyweight exercise instead of bench or machines for chest is pretty doable due to the huge number of push up variations. One Arm Push Ups and Planche Push Ups can create strength in even the best athletes with enough reps.

Heavy deadlifts are much harder to replace with bodyweight exercises. Squats can be subbed out for pistol squats but I haven't found a great way to load hip hinge pattern.

I'm curious if anyone here knows of a bodyweight exercise that is a good replacement for heavy deadlift.
nth-ing this. Absolutely beautiful in its own right and a great introduction to the book.
It can be implemented with dnsmasq but dnsmasq doesn't integrate with DHCP (edit, client) out of the box and requires a restart to apply configuration updates which invalidates query cache.

Edit-

I think split dns more commonly refers to serving different internal/private and external/public zones.

In this case, the DNS servers may return the same results but if I'm connecting to a VPN running some distance away, I don't want to route all DNS requests to that server--only the ones for domains on that network. The Domains directive allows configuring this https://man.archlinux.org/man/systemd.network.5#%5BNETWORK%5...

You can add a dhclient hook to reconfigure dnsmasq with `server=` directives to achieve the same thing, but, as mentioned, that still requires restarting the dnsmasq daemon. That usually manifests as: the VPN connection times out, the hook runs, dnsmasq is restarted, but a random web page or request will fail while the daemon is restarting. Sure, you could do SO_REUSEADDR or something to prevent the disruption, but, once again, this all just works out of the box with systemd-*
People will use what works. But there is a limit. If you have two things, one of which does everything under the sun, and the other only does mostly everything, people tend to choose the first. The more people do this, the more "weight" the first carries. Until one day, it makes no sense at all to use anything but the first. Even if it causes you tons of headaches. The more different the two are, the less and less likely that you could or would ever switch. It's too big not to use. And so, building an alternative becomes a fool's errand. Nobody would use it, because there's just too many reasons why they shouldn't or can't.

(In case you don't believe me: it is now impossible to run a desktop without a half dozen Systemd shims, because the entire ecosystem is now hard coded to use Systemd. I know because my desktop is Alpine Linux, a musl distro)
Python is also a more transferable skill than Fortran.

I bet that plays some role too in its popularity in the scientific community, which has many young anxious grad students/postdocs looking to ensure they are employable.
I switched from i3 to bspwm a few years ago and I have basically a "complete" setup.

I do occasionally make scripts like you mention, they're super fun, handy, and almost impossible to share unless someone else has the same niche knowledge and requirements.
Super easy to build a LLM bot for Telegram
Easy to build a bot/GPTS and deploy to telegram
What choice do I have? If I have to fly somewhere I have to choose a flight that fits my schedule.
Most important bits translated to English:

> You must never tell anyone about Tesla even if you have left the company - and this applies for life.

> So says the secret and complicated employment contracts given to Tesla employees in Sweden, which DN has read.

> Darko Davidovic, Metalworkers' union lawyer, has never seen Swedish contracts longer than five pages.

> But Tesla contracts can be between 40 and 70 pages long and are, in his opinion, awkwardly written.

> Among other things, employees agree to never, ever tell anyone anything about the company. Employees also have to pay a fine if they quit Tesla and take a competing job within six months.
Not in the US unfortunately.
It's definitely interesting when they're the intended customers.
Fuzzy but here is how I remember. The founders left, and then they got Pulse and tried to become a Social Media website instead of a Professional connection platform.
Python is also recommended in tech community as recommended programming for coding interviews as you need to write less code.
> I don't know how to configure users to be able to maintain their own (personal) units.

This is something I use all the time! Just put unit files in ~/.config/systemd/user and use systemctl --user to start/enable them

https://wiki.archlinux.org/title/systemd/User
Then a single file project is the most maintainable software project?
App-Based Interventions for Depression: A Systematic Review and Meta-Analysis
“process philosophy posits transient occasions of change or becoming as the only fundamental things of the ordinary everyday real world.”

I think you need to read more Daoist writings! It possesses that it is the transformation of yin into yang and back that creates everything in the world.

https://www.heraldopenaccess.us/openaccess/yin-yang-a-method...

The discovery that the motion of matter is not the result of external dynamics, but the result of the action of things themselves. The mutual movement, growth and transformation of yin and yang in natural things contribute to the process of formation, development and decay. All things in nature, from the large celestial universe to microscopic particles and human cell, are in constant motion in their own yin and yang. This uniform law is the absolute law of motion of the universe as a whole.

And

https://www.openhorizons.org/daoism-and-process-the-daoist-s...
I have played a bit with Pyodide and it is very promising for client-side web programming, particularly because of the philosophy similarities between Python and JavaScript, which make interaction more seamless.

Being interpreted is a hindrance, though: The interpreter itself is at least a few megabytes in size, constraining wider usability (IMO).

I'm enthusiastically waiting for solutions to "compile" Python code to WASM, instead of running it with a WASM-compiled interpreter. LPython[0] promises so, but it's still in alpha stage.

[0] https://lpython.org/
Planes are substitutes for cars. When talking about plane safety, it’s not whataboutism to put statistics into perspective by noting that choosing to drive instead of flying would be much riskier.
I have a 16GB MacBook Pro (M2 Pro chip), and my Linux PC (I don't use Windows) runs a lot smoother than my MacBook does for programming tasks such as running IntelliJ / Android Studio / bunch of docker vm's.
If all the suitable insiders are not applying then maybe there is something wrong with the job? Could it be e.g. that it has all the responsibility but little power to do anything?
Exactly, they wouldn't complain themselves or even make the initial call themselves, they'd have a personal assistant do it, and whether or not they do is arbitrary because they won't check, not important.
They had the services. Were they profitable?

The VC money forced Bird and others to unprofitably expand, which is why all those countries had scooter rentals.
I think equivalence and equality should different operators. 2==x should be a syntax error, because equivalence compares Boolean expressions (and possibly their extensions depending on the language). Equality should be checked with the customary sign, and assignment should be some visually asymmetric operator like :=. As you say, Equality should bind more strongly than the Boolean typed operations, including conjunction, disjunction, and equivalence.

Tangentially, I wonder if

if (a+b == 0)

generates more efficient code in presently popular languages with that syntax.
There's probably a Someoneorother's Law or Something Fallacy about this, because it's a common problem, especially among people who fancy themselves More Rational (and thus More Intelligent) than others:

You are assuming that the only things that matter are those that can be objectively measured (and measured simply and straightforwardly, with well-known metrics today).

Developer frustration, which will increase when having to deal with messy, unmaintainable code, is a real thing, even if it's harder to measure than performance and security. Not only does it create real stress and thus harm to the developers, it also slows development in ways that are going to be much less consistent and predictable than what's needed to write clean, maintainable code in the first place.

(Also, of course, there are at least some fairly well-accepted standards of clean, maintainable code, even if some aspects of those aren't entirely agreed on by everyone, and painting them as completely arbitrary, subjective things is just wrong.)
This website doesn't work so well. Didn't filter out any of LOT flights with B737-MAX8.
Even your "cynical" view is a bit rosy. Indirect fire is the main killer. Most soldiers won't even see an enemy soldier before they are dead or wounded.
Python itself isn't really used for scientific computing. Pythons bindings to high performance libraries, many of which use Fortran under the hood, are used for scientific computing.

Combined with the ease of displaying results ala Matlab but much less of the jank, and you have an ideal general purpose sci comp environment
Fortunately the list of "bad" code features attributed to each group is listed clearly. The title simply needs to read "Bad scientist code beats bad programmer code", or "A list of bad practices that programmers often think are good".
That could require people to die.

Also you cannot make people who are poor not want to better their lives even if it costs in the long term. How would you force them? They are going to try one way or another and all we can do is find a better way.
No, indeed, it sounds more like "the Apple Review is random and unpredictable", which no one can account for.
So this is basically advocating for dependency injection?
This one worked pretty great for my purposes. https://github.com/google/playground-elements

Of course if you’d rather build your own less functional copy from scratch in order to waste several months and avoid shipping, I have some colleagues you might enjoy working with.
The original PR is from 2021, but there's been activity on it that's less than a month old indicating that it's still wanted, especially as the kernel starts to integrate Rust.
Kind of related to what I was mentioning on the Godel thread, but IMO the Kundalini (or whatever you call it) experience is the "grand unifying theory" of religion and mythology (although it's not actually a theory, but an experience).

It provides an explanation for where religions may have come from, beyond our typically pompous attitude that earlier generations of people were superstitious and stupid. Instead, it suggests that the founders of religions experienced dramatic shifts in consciousness which they were trying to explain in the language of the day (and which, since their followers rarely had such experiences themselves, were subsequently misinterpreted).
Ryanair has ordered 210 of them so they are going to be a workhorse in Europe too.
Thanks. Thought of these. I wondered if anyone has taken it a step further and created new gods (of the hologram, of the multiverse, etc) beyond the metaphysical/new-age trend towards "the self as god". I suppose Roko's basilisk true believers and their AI god counts.
> I am not aware of any include directive for my own directories, so I don't have to place everything in /etc/systemd/system. There probably is a way to do this, and I am betraying my ignorance.

Systemd by default looks at a bunch of directories depending on the context.

$ systemd-analyze unit-paths (or --user / --global)

https://www.freedesktop.org/software/systemd/man/latest/syst...
These anecdotes from the front lines of 90s tech support are nothing short of astonishing. It's a vivid reminder of how the tech industry, often seen as mundane or straightforward, has its share of wild, almost unbelievable stories. From tech mishaps turning into hazardous situations to an inadvertent descent into the world of digital piracy, it's a stark contrast to the current, more sanitized world of tech support and IT.
It's hard for foreigners to grasp that our comprehensive public transport network connects even the most remote areas of Switzerland. My parents are living on a farm in the countryside and still I can get there easily by train and bus. If I need some more flexibility (moving stuff, skiing, ...), there are electric car rentals available at any major train stations. It's my ideal version of mobility.

PS: The Swiss federal railways also have a large set of open data to enable such cool projects: https://data.sbb.ch/pages/home/
They even show the marker when it passes by within Google street view !!
Python is very easy to teach because syntax doesn't get as much in the way as with other languages. You van basicallly start with mostly english and then slowly introduce more complex concepts. With C for example you would have to delve into data types as soon as you declare the first variable.
> rigid class start times

This one doesn't count. Can't have a class without a fixed start time.
> What is interesting is that the AI “ethicists” all want to serve as a high priesthood controlling access to ML models in the name of safety.

This is a very uncharitable take. I would suggest familiarizing yourself with the actual arguments rather than summaries on social media. There’s considerably more thought than you’re crediting them with, and extensive discussion around the risk you’re worried about along with proposed solutions which – unlike your “best defense” – could actually work.
I couldn’t agree more and I hope you find yourself in a better spot now. I personally met nurses who burned out during Covid and it’s clear that what they do matters.

My point is more against the hypothesis of burn out being caused by cognitive demanding tasks.
Tell me how I know you've never LEGALLY tried to move to a new country.
Maybe in 2001...Nowadays 3min delays are still considered as on time as per SBB :
"A train is considered on time if it reaches its destination with less than three minutes’ delay."
Ask HN: Experience Starting a Blog
Hello HN,

What has your experience been in starting a tech blog? I want to start one as a way to explore and express my interests, which currently include HTMX, Django, Python, and data engineering. I am afraid of sharing though and getting negative feedback. Was that something that you pushed through when starting? Did starting a blog lead to a new job?

Thanks!
>Basic assumption is that most/all are based on dated observations of seasons, planets, stars, etc -- things that were once mysteries in the mechanical universe.

I think this is pretty much propaganda from anti-religious people. I have read all of the major religious texts over the last two years and If you look at most religions and their scriptures they deal very little with the physical world in general and are more focused on psychology and sociology than having serious thoughts on physics.

Sure some of them have foundation myths which we may say is wrong, but that’s a small part of any given religion and I don’t believe anyone every took them serious in the way we think of something like the Big Bang.
Many of the introductory programming courses seem to favor Python. If you already know a little Python, I can see the temptation to stick with it instead of learning Fortran.
I haven't read the Sokal piece in a few years, but isn't the (ironic) message the other way around? How physics must be changed to incorporate feminist/indigenous/racial/progressive perspectives, instead of being objectively true?
It's more to do with developer ergonomics. Knowing what something is or returns (and having some guarantees about it) make it much easier to reason about code. Then, knowing (with guarantees) what a variable/object is, knowing right away what I can do with it.

> What exact typesystem do you prefer over Python's dynamic typing?

I just want to know what various objects are laying around in my code so I don't have to keep it in my head.

For example, if you are using a database library like psycopg, you run a query and execute it. What kind of object is returned from the query execution function? How do you check if it was null? You have to go looking at documentation, and often what you find is examples of what you can do. But those examples often don't include absolutely everything, so you have to go looking at the code itself. But library code in python is often pretty arcane.

With Fortran/C++/Rust/etc, you get all of that basically for free in your editor's autocomplete. And the compiler will check to make sure you didn't do anything truly dumb.

Dynamic typing also encourages some frustratingly bad habits. Lots of code out there will have functions that change return type depending on what arguments are provided. And occasionally someone will forget to return something in some branch and you won't know until you hit an edge case (during runtime) and suddenly you have a None coming from somewhere.

My projects tend to be in Python now, but I recently started a side project in C++ again and found it very refreshing.

> probably e.g. NumPy/SciPy infrastructure would be about impossible

Partly true, but maybe not as true as you think. I've been using the nlohmann JSON library for C++, and it is amazing. The code almost looks pythonic, and its type conversions are done automatically (although at runtime of course).

For example,

for(const auto &[key, value] : some_json["x"].items())
double d = value["other_key"];

EDIT: Also, I didn't realize how much I missed function overloading until I started the C++ project. Wow is that handy.
Nonsense, the endian wars actually serve a purpose, unlike the religious wars.
Channeling Johnnie Cochran:

"If the IP addresses are the same you must let them game."
> the mandatory sing-alongs about credit cards

Huh? Sing-alongs? What does this mean?
In this case the piece is by Lawrence Krauss, a genuine physicist. It's not the WSJ's own science-denying imbeciles.

Still ... Krauss is himself a bit of a bomb thrower, and when he went shopping for a place to hit at scientists, the WSJ was happy to have him.
Proud to see this work built using Lit-GPT coming through.
By alter, I mean legitimately within the C2PA framework. It’s a matter of cost and control, and who’s arbitrating that
Students Built a 16th-Century Engineer's Book-Reading Machine (2020)
Tex-Oberon: Make Project Oberon Pretty Again
Second paragraph as an argument for why it would be a permanent plug installation instead of a hidden door. I see your point.

Do we know about permanent plug vs semi-permanent substitute door? According to some other posts both exist, both levels of permanency exist.
the key point is without the union he would have had no recourse
Lithium economics: mine, refine or brine?
There was a day not too long ago when the front end was a single box on a diagram. HTML forms posting to an API, then a redirect to a different page covered 99% of your front end.

There are quite a few react nextjs etc etc apps that could benefit from being a little more on that end of the spectrum.
I did like this book but feel a lot of it was Halls fan fiction. Especially the section on Gnosticism seems completely false compared to what we’ve uncovered from actual gnostics and their scriptures over the past 30 years
Python isn't the language of scientific computing, data science, or high-performance computing.

Python is a popular user interface for scientific computing, data science or high-performance computing.
What makes you say that the current culture and fads in some software companies has anything to do with capitalism?
AirSnap – Augment Your Reality
AirSnap is an innovative augmented reality app that lets you create stunning visual experiences. Its intuitive interface makes it easy for anyone to use.
Swap any real-life object with a different image or video & the change stays visible in the app forever, creating a seamless and immersive experience.
Using AirSnap is incredibly simple —Aim your camera at the object you want to replace, and the app will automatically detect and superimpose the new content.
—Unleash your creativity with AirSnap.
Can't do it in the modern day with any front-end "technology" -- I remember finding after converting a FE build to Docker that it would die every time with a strange error. Turns out the Docker VM couldn't (maybe still can't?) make use of virtual memory on the dev machine, and there weren't 10GB of real RAM to spare.
Let that sink in for a moment how building a frontend web app takes 10GB of RAM. (No this wasn't my code, or choice of dependencies). I hate the js ecosystem.
>I was hit on by several bored housewives, including one that answered the door in her open robe.

When you applied for the job did they list this under the benefits?
> I find that history contains many more surprises than authors can get away with in fiction.

There are however some brilliant authors that combine the two genres, sometimes more on the site of history, sometimes more on the site of fiction. Some random recommendations: Tolstoi: "War and Peace", Solzhenitsyn: "The Red Wheel" cycle, Yourcenar: "Memoirs of Hadrian", Brecht: "The Business Affairs of Mr. Julius Caesar", Foote: "The Civil War: A Narrative" (non-fictional narrative history).