skysight-inc/HackerNews huggingface dataset:
You're _that_ louwrentius? I read your posts when I tried to replace the case fan!
Workload isolation using shuffle-sharding
Right, most lecture notes I've seen on the internet only go as far as implementing a simple 32-bit RISC machine where everything happens in one cycle. For variable-length instructions I think you'll need a multicycle state machine: fetch the first instruction byte on the first cycle, then fetch the next instruction byte if needed on the second cycle, etc.

I came across these notes a while ago when trying to implement something similar: https://my.eng.utah.edu/~cs6710/slides/mipsx2.pdf (it's an 8-bit MIPS, so it needs 4 cycles to fetch an instruction).
I want a smart speaker in the kitchen, because for a few functions (timer, weight conversions and arithmetic) it's really useful, and hands-free which in that particular context is really important. I feel like I could build something that did this for me myself iff I could get the wake-word functionality. Does anyone know of any open-source wake-word detection that's feasible to run on a Pi?
You seem to be basing your opinion on two main assumptions, of which one is unknown and one is untrue:

> the original biocatalysts a.k.a. enzymes were RNA molecules unlike anything that exists today.

Why “unlike anything that exists today”? Catalytically active RNA is still ubiquitous and well preserved across kingdoms (they’re some of the most ancient mechanisms for which we have phylogenetic evidence).

> it is far more likely that the first enzymes were non-ribosomal peptides

Peptides are good catalysts but they lack a high-fidelity copying mechanism so they’re not good raw material for evolution.

Taken together, your hypothesis seems to be based on a disbelief that RNAs lost their catalytic capability (which isn’t actually the case), but conversely you readily accept (without any evidence) that peptides used to have replication capabilities that were lost without a trace.

> Non-ribosomal peptides exist even today in all living beings and they are assembled in the correct sequence from amino-acids without depending directly on the information stored in nucleic acids, like the proteins.

Can you give an example of a catalytically active polypeptide which is assembled without any RNA template? I can’t think of any.

> Memories, like nucleic acids, are certainly not necessary for designing an ensemble of molecules able of self-replication

No, but what’s necessary is some kind of structure that records bits of information in some kind of order, and a mechanism for reading and writing this. Individual oligopeptides are fundamentally insufficient, you need structures capable of larger assemblies, and the information of these assemblies needs to be recorded. RNA elegantly solves both these requirements. DNA solves the storage requirement but is a very bad catalyst. Peptides solve the catalytic part of the requirement but are bad information store (prions can store specific configurations but they don’t seem to generalise).

It’s hard to overstate how important this information storage requirement is for evolution — arguably much more important than even marginally efficient catalysis. To the extent that some (admittedly far-fetched) hypotheses for early life even posit carriers such as clay minerals [1] which have, to a close approximation, zero catalytic capability — simply because they’re such an attractive medium for storing information (in the form of crystal lattice surfaces), high fidelity replication (through deposition of a new layer of minerals), and mutation (through structural modifications of the surface which are carried over through generations).

[1]: https://en.wikipedia.org/wiki/Graham_Cairns-Smith
# Implement feature
# Whoops fixed issue in feature i just implemented
# Add in whitespace
# Remove whitespace
# Forgot place to add in whitespace
# Fix variable name for feature

Vs

# Implemented feature "x"

Which ones easier to rollback and read.
The author argues DO is in favour to reduce complexity, but also notes on the prices of it and reminds that it's in the eye of the beholder to decide whether or not it is of benefit.

Many of the early PHP applications were written in a style using generic data structures (array that is in PHP) having functions dealing with all these.

There is no free lunch.

If you already have domains you can model in, the strategy to reduce complexity is perhaps more from the DDD book which looks like a higher level concept to me and therefore may be more fitting for higher complexity levels.

(but again, one for sure can shoot in her own foot with DDD as well)

What I like about the DO thing is it maps well on simple REST APIs sending and receiving JSON text. Quite popular these days to say the least if not mentioning Serverless.

A similar trend can also be seen in structural logging.

These systems are often distributed and complex.

As it bothers you in your case, I would tend to say, it's better to stick to a domain if there is one. Across boundaries of domains, values to emit and receive data can work out very well though I can imagine. As so often, it depends.
This line raised a huge red flag for me:

"If the customer doesn’t have a fixed contract, it is assumed they are on a default contract"

No. Don't assume, specify. Explicitly.

If this is part of your specification, have a DefaultContract entity of some kind somewhere. And don't call this table just "Contracts", make it clear that those exist in addition to or overlay a default contract.

It might sound like overkill, but in my experience in business application development, one of the single largest and most painful sources of errors and refactoring headaches are implicit assumptions in the data model.
Are there good exercises for your back to offset sitting? Body weight exercises would be ideal.
Don’t start reading, it gets blurry at middle (unless you login I suppose).
For anyone seeking further clarification, this is the difference between "lie", an intransitive verb (takes no object) and "lay", a transitive verb which takes an object.

So, you lie in bed, but you lay something down.

The two different verbs tenses are confusing though:

lie, lay (past), lain (past participle). You lay in bed last night or had lain in bed.

lay, laid (past and past participle).

Also, to get laid is something that often happens while lying in bed. And of course, lie has multiple meanings, and people will sometime lie to get laid and then lie in bed to do so.

(English is lunatic language.)
Reminds me of Toki Pona, "The Language of Good". [1] The idea is that it consists of a small set of core words, and every other concept is expressed as compound compositions of those words.

I've never learned it, but I find it instructive as a way to think about language. That is, many words are actually derived from multiple simpler words. It is fascinating to think what those core concepts relating to the human experience and human need to use language are.

[1] https://tokipona.org/
How to Implement Text Recommendation on Android
> none of his articles have citations

They don't have page-level citations, but do note which books any given post is based on.

The author is documenting their attempts to learn about the world. That means that yes, they don't know things about something, and sometimes get things wrong in the process. But my point is that they are not claiming that things are "fine", which is the point you are avoiding.

They don't think crop rotation is "advanced" per se, but talk about the fact that there are different rotation techniques, some of which are more recently developed than others. The very article you cite says "The early stages were all about crop rotation", which is in violent agreement with you. This specific article you mention also clearly says which book it's based on.

> and the only argument you have in their defense is that they did not mean the words they wrote

I have never said this, and at this point I just feel like we're talking past each other for some reason I can't figure out.

We could probably get this sorted out in a more synchronous setting where we could do a bunch of back-and-forth to establish points of agreement and work out from there, but I have lost hope of us having a productive conversation in the Hacker News comment format on this topic...

If you _are_ interested in getting to the bottom of our disagreements here, I would be happy to try to figure out some synchronous way of doing it. Please let me know.
> 3.5 is not a particularly high bar

I'm assuming that's 3.5/4.0. At least where my kids are in school in Texas, that ceiling is now 5.0: if you take honors/AP classes, they're weighted a full point above the "ordinary" classes, so if you take all advanced courses and get all A's, your final GPA will be a 5.0.
IME it's not sitting or standing or lying down that's injurious, it's not moving. My pain to a large extent went away when I stopped staying so still. Now I change my posture on the regular, from leaning against the backrest to sitting away from it to taking little breaks to pace around a bit.

Similarly, I used to get eye strain from all the screen time. Until I moved to an office with a view and I found myself staring out whenever I would zone out to think. Now I'm working from home and don't have the same inducement to look out and my eyes have started bothering me again. I try to observe 20-20-20 (every 20 minutes spend 20 seconds looking at something 20 feet away) but it's not quite the same.
What are the use-cases for a GPU-accelerated single board computer?
My experience matches yours with regards to Qt, but not at all with regards to Tcl or PNG. I always hear them spoken as words rather than acronyms.

Does your circle call it "S Q L" or "sequel"?
Yep, I have a few google minis (freebies, hmm...), I'm thinking about tossing them, honestly. Beyond asking about the weather or setting a kitchen timer they just aren't very useful.

And I fully believe such devices are going to be used (if they aren't already) to identify persons engaging in "wrongthink" by listening in on the private conversations in peoples' homes.
My favourite real-world example is something like: you have a React component which accepts the boolean props `showFoo`, `showBar` and `showBaz` to control its mode. The intention is that exactly one of `foo`, `bar` or `baz` will be shown at any given time, but that invariant is maintained only loosely, e.g. by a parent component which holds three flags in its state and mutates them in tandem inside various event handlers.

The obvious problem is that those three props can easily get out of sync if you make a mistake in updating them, and the equally obvious solution is to replace them with a single prop (e.g. `show` or `mode`) which contains a value from some enumeration — maybe just the name of the thing to show, or a numeric ID that is given meaning elsewhere, or (galaxy brain) a component. That way the invariant is maintained strongly and automatically by the representation itself.

This example sounds vacuous — who would ever use three booleans in the first place? — but in practice it’s very easy for UI code to incrementally get into this mess over time without anyone noticing. The situation is also often more subtle, e.g. the invariant is more complex than “exactly one flag is true”, which makes it harder to spot that you can model all the valid states with a finite enumeration.
It would be really interesting to see a version of F1 with self-driving AI, to see if that would allow them to exceed the design limits imposed by human drivers.
What makes you think it's offline?
> The only solution I know is navigating the log to find the first commit on the branch from which to revert. Don't forget there may have been several merges from and to master, as well as commits shared with other git branches that should not be reverted.

The only step necessary to revert the changes from a merged branch is to revert the merge commit. See:

https://stackoverflow.com/questions/7099833/how-to-revert-a-...

https://github.com/git/git/blob/master/Documentation/howto/r...
>but who invented those obligations in the first place and why?

Contract law. If you want to change the entire legal regime underpinning these kinds of contracts, that's a big (and separate) discussion.

>Apple did it for profit and user control, against environment and ethics

You don't know that. You're speculating. It's not clear that this policy against environmental initiatives or it is unethical. Besides, environmental concerns need to be balanced with other factors. Our company contracts IronMountain to destroy old disk drives - our interpretation of this is that IronMountain will in fact securely destroy those drives and not resell them on the market, EVEN IF that would be more friendly to the environment.
What's the solution to referring to other "objects" in this setup? For example, an Author has a list of Books that they wrote. I see several possible ways to do this, but they all seem to have downsides.

1) The author map has a "books" entry that is a list of map containing the book data. But multiple authors might have written the same book, so does the book data get copied there?

2) The author contains a "books" entry that is a list of Book IDs, like foreign keys in a database. But how about immutability? If you want to get the book addressed by the ID, you need to look it up somewhere and are you guaranteed the object you get from the lookup is still the same one as it was earlier?

3) There is a "Author -> Book" map somewhere that you can pass an author and it gives you the list of books they wrote. Not sure about this one.
SEEKING WORK | REMOTE

This is Sanjay and I am an expert Fullstack developer with 6+ years of experience mostly in SAAS and web app development. I am the one who can combine the art of design with the art of programming, I can easily work with both front-end and back-end web developers to build all client-side logic, Plus bridging the gap between the visual elements and the server-side infrastructure, taking an active role on both sides, and defining how the application looks and functions.

Github: https://github.com/makasanas

My current Stack: React, Redux, Angular, Node, Javascript, Shopify.

LinkedIn - https://www.linkedin.com/in/sanjay-makasana-freelancer-2aa64....

Email- sm104030@gmail.com
Mycroft ?
Why Genius Scientists Are More Likely to Be Amateurs
I have always has the idea of a database that does the denormalizations you want automatically for you.

Essentially, you keep the DB in a normalized state. You define views of the DB that you want. Then the DB keeps those views as tables for you, and the DB does all of the hard work of keeping those view tables consistent with the denormalized data. Essentially the DB does the atomicity, cache-invalidation, and cache-updating for you.

You get performance, and you get the certainty that invalid states are un-representable.

I guess the biggest blocker here is in automatically determining what fields do and do not need to be update automatically?
> Unfortunately, we live in an era where everything that can connect to the Internet will abuse its intended use at some point.

This is not an era-problem, this is a culture-problem. Likely an economic-incentives-problem. The culture in both business and consumers. There always seem to be The Assholes who corrupt it all for everyone. It's easy to point at businesses, but few talk about incidents of malfeasance from the other parties to the transactions. The guy who buys a circular saw from a big box store, uses it for a weekend project, then returns it. The woman who buys a dress, hides the price tag, wears it to a wedding, then returns it.

Building high-trust, high-ethics organizations at scale and identifying individuals for those organizations is hard, and I wish there was more written about it. It's not a new problem, so I'd like to see the evolution of thought about it as well.
Something I've found applying Value Oriented Design to C++ is that it often leads to freeing designs of arbitrary limitations that weren't clear beforehand but in hindsight you realize, "well, of course I should also be able to use it this (other) way."

For example I'm porting a parser engine, implemented in another language, to C++ and it wasn't clear what the hierarchy of objects should be for the purpose of RAII (because there are circular dependencies) (the original implementation language was garbage collected). The original implementation loaded a grammar file and directly created objects with pointers (originally, references) to other objects.

I introduced an intermediate layer where the file is first read into data structs which hold the integer values from the file. So instead of objects pointing to objects, the links are implicit because of things having the same index. The representation of the loaded grammar file is now copyable, moveable, immutable, etc. A side effect is it's trivial to tell whether the file loading code is correct or not when the result is just the same data with structure applied to it, rather than having the added dimension of determining whether a graph of objects are correctly relating to each other.

Then I construct the actual parser engine objects from the data representation structs. True that didn't in itself solve the RAII-hierarchy problem, but what it did do is make it easier to isolate that problem to just the domain of how the objects are used and not commingling that with the problem of how the file is loaded.

The epiphany I spoke of is that after this refactor, it became clear: the file is arbitrary. For testing, or for use of the parser with a grammar which does not change, I could dispense with the file load step and just encode the grammar directly in value-structs.

Why I think this is significant is that "the way I was trained" to think of making code like this unit-testable is to mock the file reading interface. That's a lot of work for something that's only necessary because of an over-emphasis on objects and behaviors instead of thinking about data and values.
On paper. In practice FreeBSD has support for the great hardware you should be using anyway. The sketchy stuff, and the oddball only one person even has it in their personal museum Linux has better support for. (Also the latest and greatest linux will generally get support for first, but if it is worth using FreeBSD will get support)
Japanese yen of which the shares traded on the TSE are denominated
I'm actually the opposite. I noticed that when I'm focused on work, I like to stand more!
As someone who shares bloak's sentiment, there's two different verbs, lay and lie, and pointing out the difference is a hill worth dying on. (I doubt bloak is actually upset. It's mock outrage.)

Edit: I was actually confused by the title of the submission which is illustrative of the distinction between the two words.

To me, a lay down desk is a desk that can be laid flat, and that's what I thought this was going to be. Some kind of desk that could be easily collapsed to make space.

Whereas, a lie down desk is a desk you lie down to use.
None of these look free, is their something special I need to do ?
lol, yes! i do more work than i'd like to admit in a horizontal-ish position
One commonly pitched use case is real time neural network calculations on mobile robots.
> A pet theory of mine is that they simply were out-competed.

This is the (by far!) most prevalent expert opinion.
This is so obvious now that you’ve said it. I can see so many possibilities. I feel as though my eyes have been opened.
Honestly I just sometimes want a clamp with a flexible sturdy arm, like one of those workbench lamps, to suspend my laptop above my bed. Pretty cool work nonetheless!
Note that the article is from 2002. PHP started off as a templating language.
Doing all the logic in SQL requires more complexity using subqueries.

It gets uglier if you need to find the contract valid on a certain date based off of a join.

These issues can be covered up with code as it will a easier to have reusable functions, but it makes the job of a data analysts much more difficult and error prone.
Location: Ahmedabad,India

Remote: Yes

Willing to Relocate: No

Technologies: React, Redux, Angular, Node, Javascript, Shopify.

Resume: https://www.linkedin.com/in/sanjay-makasana-freelancer-2aa64....

Email: sm104030@gmail.com

This is Sanjay and I am an expert level developer with 5+ years of experience mostly in SASS and web app development.I am the one who can combine the art of design with the art of programming, I can easily work with both front-end and back-end web developers to build all client-side logic, Plus bridging the gap between the visual elements and the server-side infrastructure, taking an active role on both sides, and defining how the application looks and functions.

Github: https://github.com/makasanas

I can start work immediately.

Thanks.
I have always deeply deeply disliked non-compete clauses. The only thing that I could come up with is that it’s akin to indentured servitude. But this is much more eloquent way of putting it in language that the businesses and politicians would understand. Thank you.
Agreed. In many cases sites are serving local customers and a CDN is overkill, simply hosting nearby and having a half decent hosting provider is suffice. I've used OVH a number of years for small sites with UK customers, a couple of bucks a month for a reasonably specced VPS.

Pinging it just now, 20ms and since it's non-static, 50ms to fetch with curl. Fairly miniscule times.
I'm having trouble deciding if the construction and woodworking are excellent, terrible, or both :)

At first it looks really flimsy and jumbled together. But on closer inspection it seems more stable, and ultimately the proof of the pudding is in the tasting.
Running Crysis 3 on GeForce RTX 3090's VRAM
Over the years I've figured out that you can not only bisect in your development history, but also in the program runtime. Start with "print('1/2')" or whatever around halfway through the runtime of your code and see if you get there, then move to 1/4 or 3/4, etc.

This can be done with break points, of course, but in my setup adding a print is usually just faster.
Yes, this. Compared to a lot of other building professions, software engineers have higher leverage (the same effort can benefit more people). Other careers I'd put in that same boat:

* authors
* artists
* judges
* motivational speakers

The difference is that I think leverage is more diffuse for software engineers, and it doesn't require fame.
This talk kind of alludes to the data driven stuff at the end:
https://youtu.be/vK1DazRK_a0?t=774

It's a shame the code examples are just the fp and oop solutions not how it could look in a data oriented way
Locust pose from yoga is phenomenal for back strength.

Edit: You probably also should focus on core work too. Try some forearm planks to start.
> if I'm working on a larger feature and want to PR an intermediate part and continue working, I'm in for a bad merge.

I usually deal with this by `git rebase`ing your feature branch on top of the shared branch as soon as the PR is merged. You sometimes still get merge conflicts with this approach, but they're always in the code you've just written so they're usually pretty easy to fix.
Nvidia says its AI can fix some of the biggest problems in video calls
Or they could just not use it and let the developer know that their poor choice of packaging format is why they aren't using it. Either the developer cares enough to take this feedback to heart or they don't.
In college I had some back problems, so I improvised (an incredibly unwise) lay-down desk by putting my monitor face down on two chairs and just lying with my face underneath it. This was a heavy CRT, not a modern LCD monitor. (Did I mention this being incredibly unwise...?)
I've found the best lying down desk is a $300 mini-projector and a yoga mat. You project at the ceiling (so projector is above your head) and then put a wireless keyboard on your stomach, with mouse by your side. Alternate with a standing desk. Good after 10 years of jiu-jitsu and a knackered body