skysight-inc/HackerNews huggingface dataset:
I’m reading it more as ‘Don’t get too close to the help, or your hand will waver when you need to start chopping’.

Not ‘don’t get too close to your boss’.
What's not in the spec? Every example in the article is valid HTML, and the article itself, which is written in the same style, is valid as well:

https://validator.w3.org/nu/?doc=https%3A%2F%2Flofi.limo%2Fb...

> Document checking completed. No errors or warnings to show.

Or are you complaining that the rules are too complicated? It's very verbose and explicit because this is a specification, but the basic rule of thumb is that anything that would normally be a block element and thus doesn't make sense inside a paragraph will end that paragraph. In practice, this is not really an issue I run into.

Moreover, you need to know about this rule even if you don't omit </p>, because this is the list of elements that implicitly ends a paragraph. For example, <p><div></div></p> is invalid HTML because <div> ends the paragraph implicitly, making it equivalent to <p></p><div></div></p>.

If you don't like that, then your problem is not with this particular code style but HTML itself, which is reasonable. HTML's syntax is very complicated due to its history and doesn't always make sense. But you still have to know how it works regardless of how you personally like to write it.
Came here to say this. Beat me to it.
Yes. I remember that feature. I was displeased when I noticed that it had been removed.
The last I heard, BetterDiscord was actually against discord's TOS[0].

[0]: https://nitter.42l.fr/discord/status/908000828690182145
It’s less about lines of code and more about scope of functionality.

> Minimize code ruthlessly.

Minimize functionality ruthlessly.

> More LoC is always a greater attack surface

More… than what? What does the counter factual look like?

If I only care about 1 application in a vacuum, reducing LoC is not terribly difficult. If I run my application on any modern OS, I depend on thousands of applications, daemons, libraries, and a kernel. I would far rather their developers take reasonable efforts to import common libraries when appropriate. The aggregate LoC of an ecosystem is more important than the LoC of a single application.

Also, telling people the metric of relevance is LoC is wrong and will lead people to game the metric, losing sight of the actual goal of code quality. There are infamous examples of Perl code golf; they optimize for LoC, but aren’t at all useful for code quality or security.

Far better to expand LoC a reasonable amount in favor of developer readability and to reduce complexity.
Didn't see anything about this yet but might take a bit of time to get a more official announcement. For what it's worth, I don't see it on here https://layoffs.fyi/
Good point. Right now I kind of see modern programming as two fold:

1) Loosely typed to get you what you want faster, but with some mistakes, and
2) Strongly typed that forces you to try harder, but ultimately better

I'm usually happier with the latter. I find I become far more frustrated when I try to write python than I do something like Rust just because I know when I write Python that I will have mistakes I'll have to fix in prod, vs when I write Rust I won't have those mistakes (although it'll take me longer to get something to prod)
Boom and bust cycle? There’s been one boom and now there will be one bust. Unless you have some fancypants geoengineering idea which will stabilize the climate and put fossils back in the ground.
Terminal49 | 100% Remote (all time zones) | Full Time | Logistics & Supply Chain | www.terminal49.com

Terminal49 is an All-in-One Shipment and Container Tracking Platform. We pull real-time data from every ocean carrier and port/terminal in the US & Canada, standardize it, and then push container milestones and other events to our customers—helping them automate their workflows, save time, and save money.

We’ve gone from zero to $2.5M ARR over the last 18 months and are growing rapidly (mostly inbound sales) at 20+% MoM. Profitable at Seed, currently raising Series A.

----------

Integration Engineer: $100k-$175k + Equity + Benefits

https://apply.workable.com/terminal49/j/9FACC4B067/

* Expert at creating and maintaining web scrapers and bot automation

* Monitor and anticipate integration failures

* Browser automation (Puppeteer / Selenium / Playwright)

* Strong troubleshooting skills

Ruby / RoR is not essential for this role, but there will be opportunity to learn or work with it if desired.

----------

Product Engineer (Full Stack): $120k-$200k + Equity + Benefits

https://apply.workable.com/terminal49/j/DBF45BDE6F/

* 3+ years relevant design experience at a tech, product-driven company

* Expert in Ember.js or similar SPA JS frameworks

* Expert in Ruby / Ruby on Rails

* Familiar with tools like Figma, Origami, or Framer

* You can turn a set of wireframes into a well architected user interface

* Comfortable updating and integrating APIs

----------

Our Stack: Ruby on Rails, Ember.js, Sidekiq, Redis, PostgreSQL, BigQuery, S3, AWS, GCP

----------

Additional Openings (inquire for details):

* Customer Success Lead

* Account Executive

----------

To apply or learn more, check out terminal49.com/careers and feel free reach out directly: caitlin@terminal49.com
What do you think I'm saying I know?
Agreed, the visualizations are really nice.
Oh, it’s not revenge, just an accounting.
One useful feature of X is that you can start a GUI without a window manager.

It's quite practical for a public kiosk.
Curious, how do you pick the name for the color?
That’s interesting, but surely relying on user agent to ‘fill in the gaps’ is error prone? Surely transpiling prior or during render would be more resilient than trusting browser behaviour
To be fair: it's people using Docker that's the problem. For example expecting to be able to run an x86 container image on an aarm64 CPU. Docker is behaving perfectly in it's role of being Docker.
The point is that if your metrics are not stationary, then the variance in observations will seem higher than they really are if you don't account for time. This means you have to collect a lot more data before being able to draw a statistically strong conclusion. They describe a way of adding a time based stratification to the experiment data that doesn't have the weaknesses of simpler methods, like stratifying using a fixed interval size (like day)
> Even here on HN, plenty of folks will comment on all kinds of research they know little about.

I don't see anything wrong with that, because all opinions are not equal.

I think there is some level of pressure to get one's word in quickly, otherwise the nebulous cloud of commenters moves on to the next story, and your well-thought-out comment that took hours to write is seen by no-one. If you're responding to someone hoping to get into a nice conversation, you're out of luck since they have no idea you just responded to them.
‘People’ may not be sociopaths. But some people are sociopaths.

And some people have enough power that they don’t often consider long term consequences, or need to, for things like this.
I concur.

I suppose eventually Google's search results in many countries/jurisdictions (such as the EU, USA, etc) will be regulated like a public utility.

As a result, I expect Google will be forced to allow users to ban search results from particular URLs with a single click.
MMseqs2 – an example of great software for biology
In audio code, I'd rather use a properly written wait-free SPSC queue, than a least-common-denominator messaging mechanism provided by the standard library like postMessage() (where both the Win32 and JavaScript version suffer from contention and cause audio stuttering, see https://github.com/Dn-Programming-Core-Management/Dn-FamiTra... and https://blog.paul.cx/post/a-wait-free-spsc-ringbuffer-for-th...), though I'm not sure if generic channel/queue objects are as bad in practice. And message-passing (with anything other than primitive types) is a pattern for sharing memory that, if properly implemented and utilized (you don't send a pointer through a channel and access from both threads/goroutines), ensures no more than 1 thread accesses the object in a message at a time.

I think most but not all code can be constructed using primitives like (regular or wait-free) message queues and (RwLock or triple buffer) value cells, but I think all concurrent code which communicates with other threads of execution needs concurrent reasoning to design and write correctly. In my experience, Rust marking data as exclusive or shared is quite helpful for concurrent design and reasoning, whereas prohibiting shared memory altogether reduces performance drastically but is no better at correctness. I think message-passing merely shifts data race conditions into messaging race conditions (but perhaps Go is easier to reason about in practice than I expect). In fact, building programs heavily reliant on message passing between separate OS processes per service (like PipeWire) doesn't suffer from multithreading but rather multiprocessing and distributed systems, making it harder to establish consistent execution states or data snapshots at any point in time, or reason about invariants.

And even code not intended to communicate between threads needs to take care that no state is shared and mutated by another thread on accident (I concede this is easier with JS Web Workers or Rust which restrict shared mutability, than C++, Java, or Go which don't).
Why would you need to take over the army?

The simplest way to kill 80% of US population is just to shut down the electrical grid for two months or so.

Also, the army is commanded by the President. What if AI manipulates and puts his man into the office? Then he orders the army to hook the AI better into the systems :)

There are so many different scenarios, and you need to defend against all of them.
The problem with concurrent computing is not a lack of Erlang awareness or message passing awareness. If either was the solution we wouldn't be having this discussion since they both pre-date the 90s.

There ought to be a codeword where you can invoke the shortcomings of Erlang without getting dragged into a conversation with someone desperate to talk about Erlang. Next time I will rot13 it.
Anything related to medicine/biochemistry can get cringe-y pretty quickly here. I think the problem is that the crowd here is generally pretty intelligent, but they know it and it's a coefficient > 1 on the Dunning-Kruger effect
I'm going to need to stock up on popcorn to not run out during the Facebook sunset show.
Yes, but this one in particular.
Yeah I love falstad and use it all the time to sketch things out but I don’t trust it to be accurate
It is an issue in sequential code because as you say, that's just how slices work. But if you're always using the same variable you'll never encounter it because that slice can't change between you reading that variable and writing to it.

Once concurrency is introduced you can now read from the same variable, but another goroutine may have written to the same slice in the meantime. That's why you must protect the read and writes and synchronise them.

It's fundamentally just a race condition issue with unprotected reads. But people often overlook it in the case of slices because they think they're just taking a reference to the slice, which is safe to do concurrently IF slices were reference types. But they're not, they are copied.
And we can still piggyback a zillion projects off the IDE, the libraries and HAL, and other artifacts of this complicated and sometimes disgraceful software project, it’s not like using Nazi experiment data to engage in Arduino ecosystem pilferage, with proper credit given to {project name}
How many synonyms did you try before you landed on “imprecise”?

It’s a very diplomatic choice. Moreso than I’d have gone with. I admire your restraint!
What specific forms of pollution besides transportation and home energy use do you think are important here? Humans are mainly polluters by virtue of our homes and cars, which a lot more intense in decentralized environments.

Suburbanites are at very high risk of life-altering consequences from the actions of other humans. Many of those actions are crimes (DUI, distracted driving, reckless driving), but worse, some are not even crimes (incompetent driving, tired driving, intentional killing of annoying cyclists). That we feel so differently about these compared to more traditionally urban forms of crime is just cognitive bias with a helping of racism.
The reason why is it is easier to train a biologist to become a programmer than it is to train a programmer to become a biologist. Sure the quality of biologist-turned-programmer code will often not be great, but it will usually answer the question asked.
I’d add you don’t even need ViewComponent. Layouts, partials, variants, and helper functions provide plenty of heavy lifting options when it comes to refactoring your HTML.

My take on ViewComponent: it’s what helper functions become when they grow up into proper objects. Great for larger projects, may be more infrastructure than necessary for smaller ones, adopt incrementally when they seem compelling.
Their employees are also shareholders
How do Canadians feel about the shorter term(5 years) available for fixed rate mortgages? I would think that shorter term would contribute a significant level of anxiety regarding one's future financial solvency.
MMseqs2 stands out as great software in the world of biology. It’s a useful, fast, powerful, flexible command line tool for searching and clustering biological sequences.

Unlike a lot of free software in biology, MMseqs2 has a decent user experience, with a fast and clean command line app and great documentation
oh for sure, but to be effective it would need to be a planned or at least guided superstition and not the horrible random hodge-podge of legacy nonsense we are stuck with now
You sure it's not booting kernel from eMMC, and the rest of the userland stored on NVMe? Admittedly it's been a while since I looked into this, but this was the closes solution available at that point. I'd like to get rid of the eMMC module entirely so the setup truly is "NVMe only" without having to keep the eMMC module around just for initrd and the kernel. Supposedly they can boot from the internal SPI flash somehow, and then "jump" to NVMe, but I don't know how.
My first mystery for glass, is why is it transparent? Surely random as opposed to crystalline ordering would be better at stopping photons?

Turns out it is about electron excitation levels in glass - the gaps between levels are too large to absorb the energy from a photon, so they pass right through!
I wanted to emphasis the necessity to re-establish a scientific culture. Knowledge without experience and only from lore would be no real knowledge. Without a collective scientific practice there would be no ground to destinguish between true and false lore. They need to discover science for themselves again. It might be a bit easier and faster though, considering all the hints they would have, as you described it.
> Land and property records so far have survived centuries (if not millennia)

Not really, no. Just taking the European example, there have been countless cases of litigious states of affair after e.g. invasions, revolutions, nationalizations, privatizations, etc.

E.g. a house in Romania post Ceaucescu fall, a noble family's domain in Russia in 1917 or France in 1790, a German estate in East Prussia in 1945, a property in Kosovo, etc.
in practice you put those in classes

.example {
@apply text-base font-normal text-gray-800;
}

And there you go.
> and contains approximately 2,100 unique Go services (and growing).

A side topic: this is really not something to be proud of. There used to be more people than quantity of work in Uber and engineers fought for credits by building bogus decomposed services, and the sheer number of services seems indicate it's still so.
Losing eGPU really hurts.

I had three-up before, and now I’m back to the laptop and one central display.

I could get a cheap DisplayLink hub but the performance is poor and I’m not happy with granting their driver screen recording permission. Or trusting it at all tbh.
"Personal Access Display Device" for the mildly curious.
Can you elaborate on what part of docker is a security nightmare?
The paper's intro mentions some of the issues. The biggest one IMO is a Simpson's Paradox issue that arises when (1) the difference between A and B is nonstationary, (2) the probability of being assigned to treatment or control is random at any given instant, but varies over time, being manipulated by dynamic optimization algorithms attempting to maximize signal / profit / etc.

Aside - this paper isn't the first time this issue has been noticed, or even the first time it's been addressed with rigorous statistics. Optimizely did it back in 2017-2018: https://support.optimizely.com/hc/en-us/articles/53262137051...

It would be nice if these authors mentioned the prior art and explained how their work improves upon it.
I downloaded Brave after googling it and got a .pkg instead of a .dmg because someone wanted to hack my new laptop, and didn't want to risk a hack that leveraged an exploit only nation states know about. They are sMArt. Like me! I still installed it because I am gullible and lazy.
Thanks, it was great fun to play with and had a reasonable learning curve (in terms of 'click and see what happens').

One thing I noticed was that it began to stutter slightly once I built up a mildly complex melody. Nothing on my side seemed overly maxed out resource wise (<2% CPU, <1% memory usage) and I didn't dive in to the code to see what's up but the jitter/lag/stutter kinda ruined the 'groove'
I probably shouldn't have used the word "non-specialized." I mean that in comparison with the armies of early Iron Age Greece the hoplite army of democratic Athens was relatively non-hierarchical, without such heavy dependence on a class of professional, full-time soldiers. (The author of this article compares that earlier type of combat to the sort of battle waged by indigenous New Guineans: https://www.ancientworldmagazine.com/articles/greek-warfare-... ).
Disclaimer - I am in the process of finishing up a 3 month SWE immersive program.

First, you have to be able to differentiate. There are many different programs out there and each come with their own level of quality - in terms of what is the prerequisite skill level, teaching methodology, technologies covered, quality expectations (in part, a side-effect of the candidates accepted and bar of entry), etc.. You would not equate all colleges because they run 4 years and provide the same general service.

Second, for me personally, it was well worth the cost of admission. The amount of material I learned in the last 10 weeks (6 days a week of 60+ dedicated/focused hours, the forced projects and assignments for reps, the teaching that illuminates the gaps (something that novices of any craft would waste countless hours on), an environment filled with other curious/driven SWEs to sharpen iron alongside....basically, don't underestimate what can be done in a short amount of time when one is focused and of decent competency.

There seems to be a consensus that mastery takes a long time to develop. That is true, however most people at their jobs are nowhere close to masters. Most individuals get to a period of "good" at best....and you can quickly get to "good".
The overall theme is good, and renders well on a mobile device and desktop. The design is modern and reasonable.

I'll echo the "please don't make me watch a video by default" message, though I would keep a link to the video as well since some folk vastly prefer video.

I would also highlight your social media accounts on the Contact page. If you have them, flaunt them. You might even be able to create a widget to fetch recent posts so people can see what you've been up to.
Yeah, “options” are not something I see the value in. You’re literally paying your employer back your own salary, on the off chance they actually go public. As far as I can tell most companies fail (you simply gave your employer money to have it go away), or get bought out (where it seems most “options” you get were 2nd class ones that don’t count for equity).

I cannot understand the appeal, but clearly there is one?
I've come to realize and eventually accept that it shouldn't be called "left/right" but rather "faster/slower".

As we vote, we don't strike a ±10 on some symmetrical scale; rather we decide between 0-10 on some speed range.

It correlates with the strong observation in poli. sci. that the older we get, the more we tend to vote conservatively (the younger we are, the less we stand to lose since a life has yet to be made and wealth be accumulated; conversely the older we get, the more stakes we have to lose if we upend the status quo). This seems true across cultures and generations, and corroborated by a slew of psych. data.

Your "normal" range of people (able to have a reasonable discussion etc.) is a fat 70-ish % of the population, centered on some '5' speed mark. Astoundingly, these people both left and right are ignored by insanely polarized politics who mostly focus on the edges, the extremes, where electoral battles are seemingly won in a dirty side-effect of the uninominal voting scheme. Hint: rank-based choice is one easy solution to this problem, but notice how most parties around the democratic world seem to ignore that yet simple and easily computable fact as of the 21st century.

What I mean is that we choose to mislabel and misunderstand the problems and their solution; somehow this insane polarized and wildly suboptimal situation is maintained by whoever's in charge at most political forces as we speak.

I think it's time we bring back some engineering mindset in the design of societal governance, because we might just have been too busy making the internet to notice that the people in charge are no wiser than most of us; in fact they're pretty much the very type of human beings we usually don't listen to for serious matters —at least when we're on the 'good' timeline of humanity.
And what you can't communicate with a picture is that the UI should also tell you what options can be taken given the value of the other options (like depending on what kind of certificate you loaded, etc). That's the big think UI are so powerful when managing a machine, they show you the state of the system and tell you what options are available from there.
Perhaps it's worth mentioning XCA [1] at this point. It's a GUI based on openssl that provides an intuitive UI for managing keys, certs (root CA, intermediate CA, server and client) and CSR. It existed before acme and mkcert. What I liked in XCA was that it made it easy to review all parameters related to the operations it managed.

[1] https://hohnstaedt.de/xca/index.php
staticcheck has a check for wg.Add misuse (https://staticcheck.io/docs/checks, https://staticcheck.io/docs/checks#SA2000)
Glad to see my window manager hasn't made the cut, the last thing I need is users...
Dangit I just got the first edition
Also, Alexander Graham Bell supported eugenics because he was worried that deaf people procreating created human and social divisions.

Any modern medicine gene modification program would create the exact human and social divisions he sought to avoid... Unless you are somehow able to suddenly do gene modification universally throughout the entire planet..

so he doesn't really support your position either.