skysight-inc/HackerNews huggingface dataset:
>it might mean that our disconnect with ancient history might more just be a product of Modernity and the rapid change of the last couple centuries.

Has it occurred to you that "our disconnect with ancient history" isn't as widespread as you may think?

In fact, I was rather taken aback by your assertion:

>I honestly feel like if Europe didn't have the Early Middle Ages (~500-1000AD), we would feel pretty connected to all the history that happened before in the same way that we feel pretty connected to Copernicus developing Heliocentrism or Columbus arriving in the New World.

A connection to anything requires the effort of making that connection.

And history is no exception. If someone feels disconnected from history, it's incumbent upon them to engage and connect with it.

I'd point out that for pretty much all of recorded history, it's only been those with power and wealth that have had the leisure or need to become literate, let alone to study history.

That's changed to a certain extent but most folks, even in modern times, give little thought to history, and have little interest in it.

As for "Western" culture, there's a great deal that's known and a huge amount of scholarship has and continues to be done around it and its history. If you put even a tiny bit of effort[0][1][2], you can gain great deal of knowledge about history.

Should you wish to expend more effort, there are literally thousands of books, academic papers and treatises which provide enormous insight into our history.

And if you're really interested, you can make a whole career out of the study and exposition of history.

As such, I'd say that any "disconnect" from history is rooted in a lack of interest or even a modicum of energy expended in "connecting" with it.

Our current culture and educational systems seem to deprecate and devalue history, even recent (the last 50 years or so) history. That's a shame IMHO.

Please don't take my comment as a personal attack, it's not. The sentiment you express isn't unusual or surprising.

The solution to such a "disconnect" is to access historical information and cultural narratives. Such access is, I'd argue, more available to the lay person than ever before.

I'd also note that the "disconnect" you mention, while seemingly related to mass communications and its focus on trivia and current events, isn't anything new or profound. Rather, it's related to a lack of interest among most people.

Whether that lack of interest is based on a lack of leisure time, a discouragement of such endeavors by our media and educational systems and/or other factors, it's that lack of interest that causes such a disconnect -- and that's easily remedied.

[0] https://www.youtube.com/playlist?list=PL1U_8A7q8La1VfEa-HJif...

[1] https://www.edx.org/learn/western-civilization

[2] https://en.wikipedia.org/wiki/The_decline_of_the_West

Edit: Improved clarity.
Check out “Moral Mazes” by Robert Jackall. Contains some great research on how bureaucracy shapes the way that we act, think, and work.
An old magazine article about the actor Matthew McConaughey (maybe in the NYT?) mentioned that he carries a tape recorder in his car and talks to it on long drives.

Interestingly enough he's recently written an autobiography, which he says sprang from his habit of keeping diaries. He says he's kept diaries for 36 years.

A "learn by talking" and "learn by writing" person, surely.
The Unsung Heroine of Lichenology
Absolutely. My current workplace is very good at the organic thankyou. I try my best to show gratitude where I can.
I thought this was a good point:

> Don't do this: http://archive.md/2014.04.28-125041/http://www.boost.org/doc...

Maybe he is looking to use golang?
Fortnite, Hearthstone are much more fun/chill compared to starcraft even at lower levels.

I think part of it is does has to do with how real time rts you have practically zero downtime. It's always improve economy, then improve army micro, then do builds. Even with league of legends there's some downtime when you're at the shop or just killing minions.
The learning curve for docker is minimal. As I mentioned before it's very useful in CI systems where you want to be building and testing your code in a clean environment that is reproducible across machines.

Trying to debug when a core library or header dependency is missing to build your code requires far more skills and differ between operating systems and versions of operating systems.

The problem isn't moved upstream, it's tackled in a very clever and well packaged manner.
Interesting idea, pity about the name. There's a vaguely similar effort with a similarly poor choice of name, Clean C, which is guaranteed to compile as both C and C++ with the same behaviour (provided there's no undefined behaviour or platform-specific behaviour). [0][1]

> Exception handling is the only C++ language feature which requires significant support from a complex runtime system, and it's the only C++ feature that has a runtime cost even if you don't use it

I don't think that's true. I believe that if you enable RTTI you pay for it even if you don't use it, which is why it's banned in the LLVM codebase. [2]

> Don't use C++ runtime wrapper for C runtime includes (<cstdio>, <cmath>, etc.), use C runtime instead (<stdio.h>, <math.h>, etc.)

I believe this is still supported, but is officially deprecated, for what that's worth. [3]

[0] http://www.qnx.com/developers/docs/qnxcar2/index.jsp?topic=%...

[1] https://stackoverflow.com/a/9695020/

[2] https://llvm.org/docs/CodingStandards.html#do-not-use-rtti-o...

[3] https://stackoverflow.com/a/13643019/

edit Correction: It's called Clean C not Clean C++
Xilinx provides the logic chips, but building the system around that seems totally up to Subaru.
If you are talking about a single family home then build a solar A-frame, or better yet don't build it. But most larger buildings need to have a significant amount of flat roof.
Ah, that was it! Thanks for correcting me! Kind of mixed things up in my head... picky Austrians!
The FAQ already says paywalled links are allowed as long as there's a workaround.
I've been running Home Assistant (https://www.home-assistant.io/hassio/)

The default configuration has an integration for HomeKit such that it bridges devices that do not have dedicated support. For example, I can control my Google-only through my iPhone.

Highly recommended, especially the appliance vm image or docker (hassio)
> Highly unconstrained extensibility. While this is a goal of RISC-V, it is also a recipe for a fragmented, incompatible ecosystem and will have to be managed with extreme care.

This seems to me to be under-debated. If / when RISC-V gets more adoption what is there to stop vendors trying to 'win' by adding proprietary extensions that fragment the ecosystem.
Social login and SSO is generally implemented these days as OIDC (which is based on oauth2). You can read the RFCs for it, and they pretty much explain the whole thing.

Oauth2: https://tools.ietf.org/html/rfc6749

PKCE (replaces the implicit flow): https://tools.ietf.org/html/rfc7636

OIDC: https://openid.net/specs/openid-connect-core-1_0.html
For sure, the reduced cognitive overhead is absolutely worth the price of admission.

I need to run Homebridge anyway for a bunch of devices that I want to be available via Alexa and HomeKit, so for me there was no incremental complexity. I'm running Homebridge via a Docker image[1] on my NAS (using QNAP Container Station), with Homebridge UI to manage.

[1] https://github.com/oznu/docker-homebridge
“since it align with the general public and main stream media view of RSIC-V being the rising star”

I don’t think “the general public” even knows what “RISC-V” means. It’s more some specific circles where this is going on.

The good thing for those writing such articles is that it’s hard to refute them, as they only discuss the instruction set, not particular designs, and few, if any, people can meaningfully judge how true various claims “this thing my/your favorite CPU does is worth/not worth the transistors. You’ll see it once advanced designs of my favorite CPU exist” are (even more so because feature A may be worth it for a CPU that also does B, but doesn’t do C, and that has a given power budget)
This is the future of my company’s vision and technical product line (an in-house homegrown ERP that is 30 years old). Our company used to attempt do everything in-house, mostly due to technical (in)expertise and lack of accomplishing what the customer truly wants with the tools available. The previous model I guess would be “database-driven” design, since every new tech stack that was built, whether it was for an e-commerce website or warehouse management system, would require database access first.

Since I joined we’ve been SaaSifying the business model, and we’re going about it with an API first design. The ERP, running legacy code written in Clarion (I would be very surprised if anyone here has heard of it!), would expose its procedures and functions via a .NET layer, which would open up our ERP via an API.

With this approach, we’ve been able to 1) divide up responsibilities extremely clearly within our small team, 2) establish new integrations with relevant places we’ve never been able to before such as Shopify and 3) move existing features that the ERP has to a subscription model such as shipping rates, EDI document transfers, and automatic invoicing.

Needless to say I am very much for API and modular design. It’s better from a team organization perspective, since the responsibilities (and automated testing) is clear. From a non-technical perspective, our sales & support reps can see and understand when features are missing or where the bottlenecks are once we draw out how the API system is architected.
I'm guessing they want to monitor API endpoints where you can monitor if the service is reachable but it still may not return 200 (ex. if it's not authenticated).
Actually there is a more important comparison than salary: what benefit accrues to the company for 1 employee month.

When a company is undergoing fast growth, the return from one month of work can be startlingly huge. Every tool that enables better use of time is a multiplier on the income generated by that employee.

Also note, “sir” seems snarky to me at best and insulting at worst. Are you even answering a guy?
There is a difference between the management many people endure, and the management that both you and the GP strive for, which doesn't become apparent if you only look from the angle of "no management to start with".

The management GP refers to is the one that tends to develop from people attempting to keep their jobs. Bureaucrats, like most people, are primarily about self-preservation, not about making themselves obsolete.

When one finds a method that allows half the management layer to do all the work, do you really think most of those managers are willing to just give up their cushy jobs? Of course not. Allen Hobub commented on this in "The Death of Agile": if all of us truly were agile, and managers would find themselves in this position, they would shift their job to deliver value in a different form (read: less management activities). Instead, we encourage Scrum, which largely rebrands managers and keeps them around, just with a different name. The real danger is that of cargo-culting, which is just stuff being there for the sake of it, or for self-preservation.

Having someone who controls for results is good. Having 10 people do the work of 1 person is horribly inefficient, and in case of technically-deficient managers, often to the detriment of the executing layer: they can't help you do your task, only act like a secretary (and often they just relay the message to you anyway. So much for that.)
Macro-op fusion is something that is really quite painful to implement in the front-end. Essentially once you have both macro-op fusion and potentially multiple micro-ops for a single instruction you have fully variable length instructions. Potentially it becomes worse than x86, where macro-op fusion has no need to be pervasive, you just have to cover very few simple cases (eg. cmp+jmp). For RISC-V even trivial things like 'load a 32 bit constant' need macro-op fusion to be competitive with x86.

An 8 wide front-end for ARM64 needs to run a decoder every 4 bytes (so 8 in total), then combine the results. It's an entirely trivial affair.

For RISC-V, without any macro-op fusion, you first need a unit every 2-bytes that determines the instruction length using the first 2 bits (16 of these), then you need a very wide mux to expand out any compressed instructions (the last one can come from 7 or 8 different offsets) so you have 8x 32b instructions, then you need your 8 decoders. It's looking much more unpleasant because of that very wide muxing (8x 8:1 32-bit muxes is not a pleasant sight). Alternatively you could do it the brute force way and have 16 decoders followed by a 16->8 reduction layer (ignoring the decode results that were at bad offsets). The designer is going to have a hard time choosing between those two bad options (personally I would go with the latter I think).

Now let's throw in macro-op fusion, suddenly rather than have two possible lengths (16b or 32b) you can have 16b+16b, 32b+32b, 16b+32b, 32b+16b. Complexity just explodes. If anybody really tried to implement a 8 wide RISC-V front-end with pervasive macro-op fusion then it would be a truly nasty thing.
> things that are impossible to define (like the infamous phrase "internet scale")

I like to think of that as "personal blog with a couple visits a day".

;)
Your summary is totally right. But first part of the comment feels too one-sided (pro-saas). So couple of balancing thoughts for each point.

(1). Tractor analogy seems too extreme - it's about skiping automation in farming. But if one skips saas, one still automates in house (the amplifier is the automation).
Also, frequently "saas" feels less like "tech" and more like "outsourcing".

(2) Total cost of ownership applies to saas as well. Lawyer's time for contract. Developer\architect time to figure out documentation, so company would know what configuration to ask for.
Communication being external also costs time.

(3) Solutions for data ownership exist, but it's one additional thing to worry about.
JMTQp8lwXL, LOL. So your proposal is instead of thoroughly interviewing, just give jobs out randomly and then fire people?

That works aside for the fact that it's horrible for everyone:

- The employee: they presumably quit another job to take this one and now they are out on their ass because the employer didn't bother to test for proper fit.

- The team: they invest in training the new person, get to like them, only to have them fired. Meanwhile they are short a person as hiring effort has to be restarted so they lose a ton of time understaffed.

- The company: dealing with all this terrible churn, stopping and starting the hiring effort, is there still severance in this world? How does unemployment work?

This is just the craziest proposal I've ever heard. It's like saying "dating is too onerous, people should just marry randos and not hesitate to get divorced if it turns out the other person brushes their teeth in an annoying way."
Are we talking about RISC-V as an abstract idea, the same way we would talk about the benefits of functional or object oriented programming here?

Or is the end goal to have hardware in stores that people can buy?

Wasn't SPARC a RISC architecture? (Wikipedia says so, but I'm no expert).

> What do you mean by "We barely have a decent ARM ecosystem". Are you talking about the tools to build for those processors? Or the tools to build new ones of those processors? Or the actual chips that are available?

I remember the early OpenWRT / RPi days when many packages weren't even compiling for ARM. Now I think we are in a much better shape. The chips were available, but the software ecosystem was way behind.

> At worst, RISC-V could be equivalent to ARM, without many of the parts that suck about it.

What I do know about ARM sucking is that the whole board design makes each product need a customer kernel more or less. Which is why we still don't have a "Linux for your phones". What I've read about RISC is that it's going to be roughly the same: encourage a lot of co-processors which mean custom boards to me and probably custom kernels.
From your list, this could be a US/UK separation.
Remind me, how is this done in ARM?
Picking an authority and taking their every word as gospel, that is suitable for a lay person who lacks time to do their own research, but as professionals we should aspire to do better than that. We should consider Walter Brights weighing in as one data point among many.

None of us is as smart as all of us.
Some multiplayer games (like hearthstone) introduce a lot of randomness and quick variability to keep the game entertaining for new players. Even as a newbie you can win say 30-40% of games against skilled players. However, this also means that skill is only shown in long term and thus you attract a different crowd.

Much like in VS fighting games, people like that time and training translate to good skill.
A little over a year. I also got to work on some really cool leading edge tech, but god did the culture and environment suck. I'd give back $20k to take that time back.
I think people forget how experimental Sega were at the time. On the hardware side there was the Dreamcast memory card (the VMU) that was in itself a simple console, there were the maraccas for Samba De Amigo, the microphone for the truly bizarre talking fish Seaman, the modem for the pioneering multiplayer dungeon adventure Phantasy Star Online. All of this was of the future - it hardly worked (Seaman was definitely not educated in British accents and Samba De Amigo's maraccas were bloody temperamental) but it always felt like a glimpse into a world of gaming to come - just like the Sega Saturn 3d controller heralded all analogue controllers to come. Of course Sega shared this culture of experimentation with Nintendo, though in my mind they took even greater risks. Sony was always a conservative player, mimicked, for the large part, by Microsoft. It is to gaming's severe detriment that Sega had to give up on consoles. I would have loved to see what they would be putting out today.

Edit: I forgot the fishing rod for Sea Bass!!
As a bonus, the episode of 99% Percent Invisible which followed it[1] has an excellent callback.

[1]: This one, I think: https://99percentinvisible.org/episode/roman-mars-describes-...
A simple 'lea' equivalent does not need multiple "read and write locations". ISTM that this ought to be an ideal case for macro-op fusion.
That's an interesting idea. I'll look into it, thank you!
Raspberry Pi based Ceph Storage Cluster with 15 nodes and 55 TiB raw capacity
A Racial Slur, a Viral Video, and a Reckoning
> I would expect that when I made a backup, it contains whatever is needed for it to be restored

The normal use case is for the Sqlite DB (the "backup catalog", labeled as the "meta" directory in /etc/snebu.conf), to be on the same external drive array as the rest of the backup data. And I've found that SQLite is extremely robust, esp. when used with a write-ahead log file (which Snebu does by default).

However I found that if you use an external 2.5" USB hard drive, they typically have very bad seek times which makes the DB a constraining factor on performance. In those specific cases I either make sure the "meta" directory is located on a separate small flash drive, or on the backup server itself.

>or is that just your own backup script and not on the page

Just a simple script running on the backup server

for host in host1 host2 host3 host4
do
snebu-client backup --remote-client ${host}
done
cp /var/lib/snebu/catalog/* /var/lib/snebu/vault/catalog-backup/

Basically something like that. In reality it reads a list of hosts from a file, on anything that has an Oracle DB on it gets thrown in hot-backup mode first, and there is a bit more logic to rotate the backup directory to keep a week's worth of DB copies, but so far I think I'm just being paranoid (as I mentioned, SQLite is really solid).

I run that daily in cron. As a to-do, I really should either put together a general purpose scheduling script, or add scheduling functionality to the DB where you could add host names, ssh private keys, and backup time.

>how is that enforced

If you have snebu installed and owned by a non-root user ("snebu") and set-uid, and make /var/lib/snebu owned by the snebu user, then only the snebu user can access it. So when a regular user executes it, the program looks at your EUID vs UID -- if they are different, it looks up your UID in the userpermissions table to see if you are allowed the given function on the given client name. If EUID = UID (if you run snebu as the snebu user, or if it isn't installed suid) then extended permissions aren't enforced by the application (standard file system protections are all that apply).

BTW, there is one more trick that I don't have documented, but I will put a front end for it in the next version -- you can sync a backup from one Snebu install to a second one, by using some additional parameters to "listbackups" to give output similar to the documented "find" (so it can be fed into a "newbackup" instance on a target server). And you can issue a "snebu restore" (not "snebu-client restore") which outputs a tar file of that backup that can be fed into the second Snebu instance. Useful for cleanly syncing your on-site instance to an offsite one. But again it is a bit tricky to explain, so I'm working on how to present the functionality in a simple front-end (along with the ability of having the on-site server not encrypted, and encrypt the data on the way to the off-site server).

That should be ready for the next minor release.
Back to the Future: Data Engineering Trends 2020 and Beyond
Like the idea but nothing happens when I type in the search box using ff85 (beta 4).
OP - congratulations on shipping! WASM-powered search caught my eye.

Looks like the search index is downloaded and used locally in the browser, so this is as fast as search can get. One trade-off though is that you're limited to relatively small datasets. While this shouldn't be an issue for small-medium static sites, an index that needs to be downloaded over the wire will affect your page performance for larger sites / datasets.

In those cases, you'd want to use a dedicated search server like Algolia or its open source alternative Typesense [1]. Both of them store the index server-side and only return the relevant records that are searched for.

For eg: you'd probably not want to download 2M records over the wire to search through them locally [2]. You'd be better off storing the index server-side.

[1] https://github.com/typesense/typesense (shameless plug)

[2] https://recipe-search.typesense.org/
Thanks! I appreciate the thoughts, and I'll definitely explore this.
Looks good. Are they still taking orders?
I am a hardware designer. See my comment above, it's going to be ugly. Fast adders are still slow (and awkward), but they only have to propagate a single bit of information, this is much messier.

As a side-note carry-skip doesn't really work in modern VLSI, I guess you were probably thinking of carry-lookahead.
HBO Max's 'Wonder Woman 1984' audience helps fast-track a sequel
"The WW84 viewership and accelerated work on Wonder Woman 3 aren’t surprising. Most US movie theaters are closed due to COVID-19, and the holiday would have left many people at home regardless. Much like Pixar’s Soul, Wonder Woman had a large potential audience that couldn’t visit family or otherwise mark the holidays as usual. Still, this could help WarnerMedia justify its decision to stream all its 2021 movies on HBO Max — it could keep people subscribed well after the novelty wears off, at least until it’s truly safe to return to theaters."