skysight-inc/HackerNews huggingface dataset:
The author quickly moves on after finding that expand-file-name is the issue and routes around the problem. The last time we hear from it is when it is patched out. But what is really going on?

The problem is that many parts of Emacs and libraries built on top of them have not been made fully TRAMP aware. There is an abstraction boundary that is being crossed, assumptions are being violated, etc. because all paths are treated equally, despite the fact that most parts of Emacs can identify that a path is remote (or could be remote).

Fixing the underlying issue and providing latency aware variants of commands is not easy (you usually can't just run elisp on a remote machine), but when we get there Emacs will be even more powerful!

Here is an excerpt from some notes I made back in October.

Consider these cases.

I have 10k files that I want to move on a remote server.
I have 10k files that I want to move on a local server.

Where do I put the for loop?

I want to put it so that I only have to call ssh once.

Similar issue with using find and subshells.
If I have to invoke a subshell there is significant overhead.

Having even a little bit of knowledge about the latency of
running a single command, or the knowledge that certain commands
commute under loop reordering would make it much easier to
produce efficient code, basically

#+begin_src elisp
(do-for-values value '(a b c d e f g)
(please-do-this-on-the-remote #'command value))
#+end_src

should be rewritten to

#+begin_src elisp
(please-do-this-on-the-remote
(do-for-values value '(a b c d e f g)
(command value)))
#+end_src

However, this is only safe if the values are from the local and not the remote
and are not functions that are dependent on local state (that doesn't really
matter in strict languages though).

The best way to approach this might be to detect and warn before running.
Or not, sometimes you do just want to be more efficient, and if you don't
want the optimization then disable it some other way. The reason is because
sometimes it is much easier to write the latency multiplying version, and
the conversion to the latency efficient form is trivial for a computer but
extremely easy to screw up for a human being.

EDIT: Hah. I though I recognized Richard's reply. It was to me.
If you enjoy this kind of paper, then I highly recommend this book:

https://www.routledge.com/Games-Puzzles-and-Computation/Hear...

It has a huge number of examples of how to build similar gadgets using lots of different kinds of games.
That sounds like a religion: You don't know exactly what you get, there are no guarantees but if you really believe in it (and pay your marketing church tax) you'll probably end up in CTR heaven.
For anyone else, don't let this post deter you from reading the article. It's far more than what this post suggests. I doubt this person even read the article, if this is all they got from it.
Emacs Lisp Intro and Elisp reference manual, which come with Emacs.

Former is concise and more suited for configuration, latter is for package developers.
Good points. To add to it:

> I think majority of people prefer both (visual sensory and audio input)

That's kind of true. I phrased it poorly - NLP says all of us cognitively process visual, auditory, olfactory, gustatory, or kinesthetic information but some of it are more dominant than others - like a person being right- or left-handed.
> Ultimately JIT manufacturing should be seen for what it is: central planning in action. Good for the central planners, certainly, but not for the end users.

That's kind of funny. JIT is actually meant to be something closer to the market solution many others propose, as opposed to central planning. It's about identifying the local needs and ensuring they're met rather than trying to drive a top-down solution to the production problem.
I don't want to lose the web of the 90s and early 00s. But that one is mostly already gone.

This version we're currently in, no it can die off for all I care.

Bring on the disruption!
> The reason that C programs often don’t perform as well as an equivalent rust program[1] is that it’s so incredibly hard to do anything at all in C (especially something reliable) that one can usually only do the simplest thing possible and this typically means simple data structures, simple algorithms and arrays

Brian Cantrill talks[1] about exactly this: in his C version he was using AVL trees because they are easy to implement, while his Rust version was using B-trees just because he could. And as a result, his naive first attempt in Rust outperformed his long-optimized C code.

[1]: https://www.youtube.com/watch?v=HgtRAbE1nBM&t=43m15s
Unless comparison function is small and can be inlined, which would trigger the same stride shift optimizations.
Good points indeed. I think you can even further say that people will just make mistakes regardless of the process. If engineers take too long to deliver it’s “over-engineering” or if the deliverable fails at any point the engineers “didn’t know what they were doing”— if requirements change suddenly along with deadlines it’s “mismanagement”. I’m not saying these are not real problems, it’s more that they’re inevitabilities and the processes we come up are just to mitigate them, not eliminate them entirely.
> diamonds

I mean zero-sum in that advertising shifts spending from one area to another. Perhaps all the diamond ring money would have gone into other things.

It's a hard point to prove or disprove, but even if advertising overall deceases the consumer saving rate, sure the vast majority of advertising cancels out. (I'm going to buy tide or downy, but not both.)

> except to say that consumers definitely show preference for branded items

Well these meaningless competing brands convey no information and waste tons of resources. And it's rather an embarrassment to Capitalism for the primary non-price information exchanged by market actors to be bullshit noise, even if it isn't a "real problem" compared to global warming or something.
I built my own streaming service
... and from memory, it does include sliding tile puzzles like from this paper.
Does styrofoam introduce any extra fire risk?
“We also use suppliers such as social media companies and search engines in order to advertise the launch of our Services. We may share your email address or device ID with these suppliers.”

I will not get this card because their privacy policy does not align with my values.
I was just melting styrofoam with acetone sprayed from syringe.

Fun ended when I decided to include lego minifigure and found out that acetone also dissolves abs plastic. Legos were expensive, hard to get and treasured when I was a kid so result was much undesired.
Unfortunately, research that may lead to amazing results can take decades, yielding little commercial value or shiny tech that grant givers want to throw money at. They too are likely evaluated against the short-term outcomes of the grants they award.

Also unfortunately, it is very difficult to distinguish between one decades-long research path that will, eventually, yield significant results, and another one that will end in failure with nothing to show for it.
I've had bad luck with Haskell's laziness causing hard to debug performance issues. Also the lack of libraries really hurts when it comes to even basics like queue and database interactions. Many times there's a few libraries that are all half finished. Don't get me wrong, I really like Haskell a lot, I just find that F# brings a lot of well-thought out compromise between Haskell and the wealth of libraries in .NET for production code. If it was my money in my startup, I'd have no qualms betting on F# to get me to market as soon as possible. If it was my personal OSS project that I work on for personal edification and enrichment, I'd choose Haskell nearly every time.
On paper at least it could be good idea for a company in lattice's position, at very least academics would probably switch.

I would like to see a FAANG try and support some open tools - it doesn't have to be anything legally sketchy like reverse engineering bitstreams - for example, Yosys only has limited SystemVerilog support
How to Debug Things
> So those systems didn't fail when a bitflip happened?

I didn't say that. I'm saying that the root cause (as in "root cause analysis") is not the bitflip. Designating the bitflip as the root cause is like analyzing your drunk driving accident and concluding that the root cause must be ethanol, rather than your drinking habits.

> The systems I am aware of were designed with bitflips in mind. NO software can handle arbitrary amounts of bitflips. ALL software designed to mitigate bitflips only lower the odds via various forms of redundancy.

Of course, and I'm not actually arguing that adding in ECC is completely worthless to that effect, though it is close to worthless. Luckily, ECC is quite cheap, if not free, so throwing it in there makes sense.

However, suppose ECC would increase the cost by several magnitudes, would it still be worth it? Obviously not. Redundancy alone reduces the probability of spurious failure by several magnitudes, and simply increasing redundancy would be far cheaper than adding in ECC.

> If bitflips are not a problem then we don't need ECC ram (or ECC almost anything!) which is clearly used a lot. So bitflips are enough of a problem that a massively widespread technology is in place to handle precisely that problem.

My point is that bitflips either don't really matter, in case data integrity is not mission critical, or they don't actually solve the problem, in case data integrity is mission critical.

If you have solved the problem of data integrity through redundancy, then ECC doesn't make much of a difference anymore. If you haven't solved the problem, then ECC will only prevent a vanishingly small subset of disasters that are awaiting you.

> I guess you've never written a program and watched bits flip on computers you control? You should try it - it's a good exercise to see how often it does happen.

I don't care how often it happens. I care about the odds of a bitflip causing an actual problem. If a computer crashes, that's okay, it'll reboot. If any data were to be corrupted, it would most likely happen at the disk level and not the DRAM level.

> I guess you define something being a problem differently than I or the ECC ram industry do.

Of course, somebody who sells ECC RAM will want to convince you that ECC actually solves a real problem. The same can be said about the nutritional supplement industry, or many other industries that rely on make-belief.
One straightforward approach would be to make it possible to actually make things in the U.S. again.

Reducing regulation, encouraging tax subsidies for small manufacturers, welcoming immigrant entrepreneurs with open arms i.e. startup visa with lightweight requirements, and developing a national industrial policy that changes the incentives around offshoring vs onshoring. (While avoiding picking winners and losers to the greatest extent possible.)

A lot more could be done around tax policy.
One look at how crippled the US became, and how bent on self harm almost half of the population seems to be, it's no wonder the dollar is about to fall.

When it does, I expect our standard of living measured in real terms to fall by anywhere from 20% to 80%.
... and then I wrote an article about my little test and converted that into even more free clicks straight from Hacker News! Well played, sir.
I don't think all of what I get on HN or reddit falls in either category. I get some good stuff there and here, and find fun stuff too. But I do notice booting up one or the other reflexively. That's the part I don't like. If I'm being intentional about it, it's okay, but on autopilot I feel guilt.

What really did it for me was blocking them on coldturkey for a day. I'd very much recommend trying out blocking whatever your habit sites are for a day. It's eye opening. I found myself doing "cmd+t news" or "cmd+t redd" idly simply out of habit. Likewise when I deleted the reddit app on my phone. When it's not coming from the executive function part of my brain, or even worse, when it's counter to my executive function decisions, it's not productive.

Basically, if it's a decision I look back on fondly, that's the criteria for okay. Some of the time on these aggregators meets that criteria, but not enough of it :\
Good point, although what would cause a situation like this? Releasing source code with a modified version of a GPL-licensed library, but with an incompatible license? Wouldn't that be a problem when you're distributing software anyway, regardless of whether it's open-source or not?
>At what point did you stop being the invader and become the invaded? Conceivably, someone could have held the same sentiment about someone more vulnerable in your lineage whose efforts leave you where you sit today.

Yes. There are those in the US that still regard the mass migration onto the continent of the European settlers as an invasion.

>This line of thinking, positioning and labeling I consistently find troubling

I agree, but 1) this line of thinking will always occur, and has occurred in native populations in every instance of mass immigration, and 2) whether troubling or not, in at least some scenarios is the correct analysis of the state of affairs.

You cannot decide what people think no matter how hard you try, and you cannot ignore something if it might very well be true just because you find it troubling.
"You can A/B test ads pretty easily, and this is quite common. With some degree of statistical certainty, you can tell how one ad performs to another."

Nope.

You need a unique id for an AB test AND apple wont give this to you. No company is going to give you a click/tap id. Android might. This is so inaccurate I don't know where to start. Apple has turned off all unique ids that work across an AB test [1] cross platform. You would need on the ground mobile ad experience to know this.

https://www.invoca.com/blog/what-is-idfa-and-why-apple-kille...
> Now that he knows for a fact that GUIs can be fast, he'll be suffering for the rest of his life when a GUI app is slow for any reason.

Not only slow GUIs but GUIs that demand tens or hundreds of MBs just to draw a few items
If wage-slaves is a phrase, I suppose we can say wage-gladiators.
> I have no idea whether that matters or even easy to measure...

It is reasonably easy to measure, and the GP is about right. I've measured a crossover point of around a few hundred items too. (Though I'm sure it'll vary depending on use case and whatnot.)

I made a rope data structure a few years ago in C. Its a fancy string data structure which supports inserts and deletes of characters at arbitrary offsets. (Designed for text editors). The implementation uses a skip list (which performs similarly to a b-tree). At every node we store an array of characters. To insert or delete, we traverse the structure to find the node at the requested offset, then (usually) memmove a bunch of characters at that node.

Q: How large should that per-node array be? A small number would put more burden on the skip list structure and the allocator, and incur more cache misses. A large number will be linearly slower because of all the time spent in memmove.

Benchmarking shows the ideal number is in the ballpark of 100-200, depending on CPU and some specifics of the benchmark itself. Cache misses are extremely expensive. Storing only a single character at each node (like the SGI C++ rope structure does) makes it run several times slower. (!!)

Code: https://github.com/josephg/librope

This is the constant to change if you want to experiment yourself:

https://github.com/josephg/librope/blob/81e1938e45561b0856d4...

In my opinion, hash tables, btrees and the like in the standard library should probably swap to flat lists internally when the number of items in the collection is small. I'm surprised more libraries don't do that.
Lay tile just once and you'll spend the rest of your life seeing every fault in every tile job ever.
> They won't see the ad, but you can still measure the rate at which they convert on your site.

This sounds like such an assumption. There's no guarantee that any one person will ever "convert" on your site. That's such an ugly carrot that FB/G are dangling in front of you. "If you spend enough money with us, we'll eventually show your ad to someone that will absolutely buy your product. Pinky swear, just keep putting coins in the slot to continue".
Newtypes are also pretty great for detecting logic errors. (You can use them in Go and C# but they're not idiomatic and usually not zero-cost so people usually don't.)
I stand corrected on that point, thanks to both of you :)
I’m continually haunted by a fear that online advertising is a bubble propped up by fraud and willful blindness, and that when it eventually pops it’s going to destroy all our careers.
In the direct response world, a rule of thumb is that if an ad doesn’t look like an ad, it would perform well. This is the reason all ads on Fox News blend in look like they are articles. Ads on reddit start with TIL, amateur looking ads taken with iPhone with a talking head often beats professional ones on fb. This is also the reason drawing works better here. But, This is at the expense of eroding the brand image. over using this tactic overtime will win you the battle and lost the war.
I can't tell what is supposed to be new in v2.

The only things I see are 10x faster NFC, and "reversible", whatever that means.

Does reversible mean you can plug it in without looking, because there is no upside-down?

It is far from clear what the NFC feature actually does. Does it mean it doesn't need to be plugged into the USB port to work? Uses passive components, or draws enough power from NFC to operate?

I know that v1 (or, anyway, Somu) supported only ECDSA keys, not ED25519, and only one key per physical device. Is that changed?
It seems broken on Chrome Version 87.0.4280.88 (Official Build) (64-bit)
Would some agent be recording and transmitting the content of webpages in full, broadly? Or just capturing user-entered information?
I'm assuming that if public knowledge of AMD's efforts are at the patent level, it will be a few years before there's much to work with, by which point you'd have a solid foundation from which to accelerate your learning.
There are whole bureaus setup offshore to scan sites and down vote or flag anything they deem negative to their clients . . .
The web was small because it wasn't filled with ads, blogspam, clickbait, etc. So much stuff out there is just pure garbage.
The author deleted the Medium post, but it was cached elsewhere first:
https://archive.is/qdJtN
> No one is willing to run the experiments necessary.

This is incorrect.
CTR is high because version B is hard to read. So more people have to visit the website to read more. It is bad because we pay for each click in CPC model. Failing to weed out uninterested people leads to increased cost of aquisition.

So measuring CTR does not tell anything about if version B is better. It may be worse.

To compare we'd need to check CPA with A/B testing.
Literally lighting them on fire in a cold office to help provide some BTUs would’ve been a better use of that money, since at least that would offset spending somewhere else.
few games, not most games.
So think about how many ads you've clicked through in your lifetime on the internet.

Honestly, I'm with you. I have no idea who's using the ads other than logrolling robots.
I guess that's a hurdle the vast majority of developers never cross :-)
Ehhh, get off my lawn, arsehole.
V(vlang): After 0.3, we'll be going for 1.0 right away
And Rome itself remained unable to rebuild itself into a strong city because it's bishops somehow managed to reestablish something like the imperial Roman bureaucratic control on the religious side, establishing Catholicism as a centralistic "church empire" reaching farther out than the secular empire ever did (well, secular except for the occasional deification..).

This influence of the city's bishop (aka pope, still elected in an utterly informal process by the citizenry for much of the middle ages) reliably prevented the development of stable power structures in the city, because papal succession was so important outside that whenever an imbalance between roman "families of power" was developing the weaker sides were immediately supported by outsiders (the stronger side would not be open to outside influence). Outsiders like the seemingly endless succession of German kings that went to Rome with an army hoping to get emperor status in exchange for helping the next pope into his job, but also by many others (e.g. Normans in what is now southern Italy).

Imagine what the District of Columbia would be like if elections routinely involved violence, war between US states wasn't unheard of and (kind of like the inverse of the US Senate) nobody outside of DC had a vote for the presidency.
Yes, but "strongly acidic soil" and a "strong acid" are not the same thing.
When I said consumer hardware I was meaning early Google literally using consumer/desktop components mounted on custom metal racks. While Intel does artificially separate "enterprise" and "consumer" parts, there's still a bit of difference between SuperMicro boards with ECC, LOM features, and data center quality PSUs and the off the shelf consumer stuff Google was using for a while.

I don't know if AMD really intended to break Intel's pricing model. Their higher end Ryzen chips you'd use in servers and capital W Workstations don't seem to have a huge price difference from equivalent Xeons. Even if they're a bit cheaper you still need a motherboard that supports ECC so it seems at first glance to be a wash as far as price.

That being said if I was putting together a machine today it would be Ryzen-based with ECC.
I wonder if that makes it easier for the mealworms to digest it.
A lonely college student wrote thousands of lines about “incels” and “low T” and “soy boys”

I think this fellow just needs to get out if the house more. And spend less time on reddit.
> it might appear like there's a coordinated takedown of ad tech companies going on.

Oh please let it be so, even though it's just a wild ass guess. Ad "tech" has ruined the internet (only slightly hyperbolic). Oh to be able to recover the "innocence" of the late 90s internet. Maybe I should just stop browsing so I can spend more time yelling at the kids to get of my lawn
How to Enable Logging on Every AWS Service in Existence (Circa 2021)
> Should the assumption be that Twitch is no different than YouTube or any other platform in which people use to make money: You do so only at the platforms acquiesce.

That should always be the assumption with any business, unless you have a contract specifying otherwise.
In fact it’s worse than that post led me to believe.

> Add to this the increase in unappealing grooming habits such dying their hair and cutting it short, having large tattoos and piercings, and side effects from antidepressants and SSRI’s (which are prescribed more frequently than ever, and which cause loss of libido and other behavioral changes) and you wind up with far less attractive women than before.
Subprime Attention Crisis: the Digital Ad industry may be in a bubble
The first one looks like the typical ad banner that I instinctively skip over.
Sure, that's a nice perk. It's one I'm personally willing to give up for aesthetics and space on the desk. I'm aware it's not the most practical choice :)

Funnily most laptop keyboards get away with no spaces between any keys even when there might be space. Granted, there are more considerations there, but I think convention has a little to do with it too.
https://en.wikipedia.org/wiki/Felicia_Pearson
Sounds like trying to get into the Archers!