skysight-inc/HackerNews huggingface dataset:
1. The compiler's #1 job is removing code (aka optimizing): it does this by rearranging code, merging code together, and other forms of optimizations. That is to say: "i=0; i++; i++" wants to optimize to "i=2;", but in a multithreaded context, it means that you'll "never" see "i==0", or "i==1". Turns out that "losing" these states can be an issue if you're building multithreaded primitives (lock-free code, atomics, etc. etc.)

2. The CPU and L1 cache also "effectively moves" code in relaxed-architectures like ARM / Power9 / DEC Alpha. So it turns out that #1 is true "even if the compiler wasn't involved".

3. Because of #2, might as well fix the compiler / CPU / L1 with the same set of primitives (the "memory model") that defines orderings.

4. Turns out that a large, but minority, number of programmers want to experiment with low-level multithreading primitives: researchers, speed-demon professionals, and others do want to go at "full speed" even at the cost of great complexity. Unifying the promises of the compiler + CPU + L1 cache all together in a SINGULAR model helps dramatically (that way: the programmer only fights the compiler. The compiler has to "translate" the CPU / L1 cache rearrangements into low-level barriers as appropriate)

-------

It turns out that the biggest source of speed improvements exists in this realm of "rearranging code". That's why CPUs do out-of-order execution. That's why CPUs (like ARM or POWER9) want more relaxed execution, to allow the CPU to rearrange more code in more situations. That's why L1 cache exists (and similar: L1 wants to rearrange reads/writes even more aggressively for even faster operations).

If you make a memory barrier (nominally preventing the L1 cache from rearranging code), you SHOULD have the CPU and compiler respect the barrier as well. After all, if the programmer says "this should not be rearranged", then that probably applies to compiler, CPU, and L1 cache all the same.
Before and after Funkadelic’s ‘Maggot Brain’
There is an internal scheduler using the same core to run the wifi stack, so if you need hard realtime for power electronics control, I'd personally still run that off a dedicated chip.
the ultimate irony is that they are funded by top-tier VCs.
https://techcrunch.com/2020/11/09/mschfs-push-party-raises-a...
Unless they're breaking the law, the NSA still needs a warrant to request data if you're an American citizen. If you're the subject of an active investigation, law enforcement and spy agencies alike tend not to tell you that and are under no obligation to disclose anything. If the investigation is closed, then you can request data under a general FOIA request, but you'd have to know there was an investigation about you at some point. If nothing else, you'd find out upon being charged and your attorney would get all the data during discovery.

Obviously, a broad sweep program can collect unrelated data, which presumably was part of the concern with PRISM. This has sort of always been the case, i.e. if you put a bug in someone's house, you hear everything said in the house, whether by the subject of your investigation or their kids or a housekeeper or whatever. But whoever is listening is supposed to immediately throw away data as soon as they can determine it isn't needed for their investigation.

So theoretically, if they ever collected anything that came from you, and you were never the subject of an investigation that resulted in a warrant to collect on you, the data should have been discarded and could not be given to you.

You may or may not believe the NSA actually complies with the law, but if they don't, they're probably not going to tell you.
And tons don't.
Isn't Bayh-Dole about letting people who do research with the government, for the government, or paid for with government grants own the resulting IP such as patents, so that they could commercialize it?

If so, I don't think that really applies to what the article is talking about. The article is talking about Alphabet potentially using large amounts of data from other researchers, mostly academic, who were funded by the government and commercializing it. That's more akin to how it was before Bayh-Dole: a private company taking government funded research they were not involved in, adding their own privately funded research, and making something commercial.
> technology is just a fancy word for tool

The form and function of the tool have a significant impact on its use.

If installing & maintaining a home server (just a domain name and static content like vacation pictures) were as simple as setting up a fridge, more people would probably run home servers.
Broadcom in talks to buy software firm SAS Institute
>just have the government pay for everything

How does almost every other country in the world manage to do exactly this then? Clearly it's a feasible solution elsewhere, so why not in the US? As much as I'd like to believe we're exceptional, I know that in the end we're really not.
They are rigid, typically of some metal.
What?? They are deprecating Sandbox??? Any source?
It appears Tesla FSD just ignores things it doesn't understand, which is really dangerous in a production vehicle.
It’s like a MOBA or RTS, right click to move. Thanks anyway for trying it out!

I used Phaser for the game engine. Both the client and server run Phaser instances. I used React / Redux for the UI (this was a fun use case actually, having both a game and a traditional interface communicating with each other through Redux). The server is written in Node with a simple express server. I wrote a custom game manager that handles spinning up Phaser instances, placing players in them, and shutting down stale ones.

The network architecture is built on a combination of Websockets, WebRTC, and good ol’ HTTP.

Websockets is for all real time communication that I definitely want to go through (casting spells, players dying, etc).

I used WebRTC to handle communication for things that don’t need to come through reliably (game state). It treats the server as a “peer”, but only for the purpose of being able to blast packets back and forth without the overhead of a persistent connection.

HTTP is for general account management, matchmaking, and game creation.

Edit: You’re right, that’s totally a bug. Guess I need to do a better job of cleaning up after a round!
> I get your irritation about Freud.

I think it is still useful to read Freud, assuming you don't take it as gospel and consider when he wrote it and how little was known at the time. In my opinion, Freud was a brilliant man. The fact that some of his ideas are so obviously false today might serve as immunization against hubris, with which some of us do not realize that many of our ideas will seem absurd in a hundred years.
California is a huge state. And led the US economy during COVID. And had the largest and fastest post-lockdown recovery. Oh, and during that time actually strengthened its position as the world's 5th largest economy.

Yes, SF is having serious, self-inflicted issues. But SF/tech is actually a tiny portion of the CA GDP (since most tech revenue a la Apple doesn't actually get booked to CA). CA either leads the nation or is in the top 5 (states) for the following industries: movies, video games, manufacturing, agriculture, tourism, aerospace, biotech, government contracting, and energy.
> My entire personal knowledge base was in Evernote for a few years, and now happily migrated to Obsidian.

Can I ask what your use-cases were for Evernote, and how well they all migrated to Obsidian?

When I think over my Evernote usage, for me it really boils down to three things:

1. Evergreen notes, like lists of books to read

2. Wiki-ish knowledgebase for work, like how do I get data from this server, or whatever

3. Digital shoebox: the place to throw old receipts, tax returns, contracts, whatever. Mostly throw it in and forget it, but useful for the 1% of time when I need to find something and it's magically there.

Numbers 1 and 2 could easily be moved to Obsidian, but I don't know if 3 would work.
This article, my personal experience, what I've heard from my friends, and the other evidence I've heard of all seem to support the same thing: that writing things by hand leads to better retention than typing.

This seems to be the input-level dual of the meme that reading from physical paper leads to greater retention than from a computer screen. I'm curious as to what the cause could be for this one, as it seems less intuitive than the writing case.

Back to writing: I've found that while writing things down, I'm often "bandwidth-limited" - not only can I not write nearly as fast as I can think, but I often run into this limit on a practical level, where I continually have a "buffer" of sentences that I want to write and I'm just waiting for my fingers to put them down on paper. Perhaps learning shorthand would allow me both bandwidth and retention?
Does that account for infant mortality?

Life expectancy should really only be talked about in terms of expected lifespan of someone who's already made it to say 3 years old.

Otherwise, we get a very distorted view of modern medicine's ability to stave off death. Modern medicine has really done well at reducing infant mortality though.
Perhaps the reason no other Olympic area has been profitable is because they're basically a one and done? Personally, I think Greece and Athens is the logical choice due to the history behind the Olympics.
> Note that this means that races on multiword data structures can lead to inconsistent values not corresponding to a single write. When the values depend on the consistency of internal (pointer, length) or (pointer, type) pairs, as is the case for interface values, maps, slices, and strings in most Go implementations, such races can in turn lead to arbitrary memory corruption.

That second sentence is one of the painful things about the Go memory model--Go is type and memory safe if you avoid explicitly unsafe things, except for data races on those structures.

I wonder what you can practically do to mitigate that at this point; doesn't seem like you go back and change things to be like Java. Can there be some best-effort detection for races in those specific places that's fast enough to run in prod (like I think they did for maps)? I also recall some Go mailing-list post I can't find suggesting that an SSE 128-bit move, while not guaranteed not to tear, seemed to tear only rarely in their tests on the chips of the time; is that true and is there anything there? I imagine fully preventing the problem with atomic reads/writes of these pairs from the heap is a clear no-go performance-wise, and might involve ABI-changing alignment guarantees.

[Edit: SSE2 behavior is discussed here https://stackoverflow.com/questions/7646018/sse-instructions... which is mentioned in a comment at https://research.swtch.com/gorace which seemed to inspire it. Chance of a race seemed to depend on CPU model at the time, bad on the old Core Duo, better on some server chips another answerer tried. Good on my laptop FWIW!]

Probably hard for anything to happen here because any performance regression is hard to swallow, the race detector is close enough for many, and anything you do won't be a 100% solution anyway. Which is a bummer.
Crops can be integrated and still planted and harvested mechanically. Planting differing height crops or same height crops with different seed sizes you can still use machines and harvest multiple crops from the same time/land.

Yield for some crops is actually more after the ~3 year transition period. However, for all crops quality is greatly improved. Better quality means you need to eat less to be satiated.
The history of human machine interactions makes it clear that if you have the human as the primary control (in the main decision loop, operating things) and the automation watching over their shoulders, it works pretty well.

The opposite - where the automation handles the common case, with the human watching, simply does not work. It's not worked in aviation, it's not worked in industrial systems, it's not worked in self driving cars. This isn't a novel bit of research, this is well understood.

"I'll do 99.90% of it correctly, you watch and catch the 0.1% when I screw up!" style systems that rely on the human to catch the mistakes shouldn't be permitted to operate in any sort of safety critical environment. It simply doesn't work.
> there's still going to be some amount of tedious glue code and boilerplate that you have to write in order to create a functioning product.

This is true, but actually tedious glue code is often non-trivial. For example, in one of my hobby projects I have a repo where I have to write a lot of glue code to schlepp data from a CSV file format into an existing database. Doing this correctly requires reading through the (lengthy) documentation for the format of both the CSV data and also the system that ingests the database, since there are a bunch invariants about the key tables and columns that aren't enforceable in SQL (and obviously not enforceable in the CSV).

This is the sort of glue code/boilerplate where a synthesizer that can understand natural language would be actually helpful.

> but the better languages and frameworks don't exist yet

There are certainly some languages that are less verbose than others.

Java and Go are very boilerplate-y languages. Python is also pretty verbose and inexpressive for certain types of code.

The typescript example on the copilot page right now is a prefect example of "ugh just use a better language".

The examples of boilerplate where copilot shines seem like situations where really simply using "snippets" would work better. E.g., everything on the copilot homepage right now.
I'd add the technology probably also just wasn't there for the price point they wanted to build to. After all, a succession of netbook and adjacent laptops over the next few years didn't really hit a sweet spot either--certainly not commensurate with the hype in certain circles.
I can't edit my comment so I'll just put this here: what is up with HN heavily downvoting factual, useful information? It seems something from the past 1-1.5y or so and it infuriates me to no end.
Obsidian and Nextcloud is all I'll ever need for taking notes.
Do we know what is the process and who decides that an update is ready? This is a big decision so I am wondering what process or personality is needed to decide that all is safe, let's update things.
I have that same problem (who doesn't eh?) and unfortunately the ones in my yard are doing great. They don't get the full day's sun like that berry farm did though.

I pull them out from the roots and every year they come back. It's right along the fence line too, which makes it very difficult to maneuver for pulling them out. I have snooty neighbors that get uppity about dandelions growing in my yard. I love blackberries and sometimes I just want to let them grow, but my neighbors would have a heart attack and sue me for it given the chance hah.
It's not my reasoning, it's the Progressive Left reasoning.

Basically for everything you do, you need to ask a number of questions: How could this be perceived as racist? Does it elevate and center whiteness? Does it present Western Civilization as a positive thing? Etc...
Ibstock plc £IBST – A Valuation on 12th July 2021
Seattle Homeless Service Providers, City Employees Told to Use Signal
Teams is the latest example for me of the "all enterprise software is crap" rule.
Imposed by management who drinks the koolaid even thought they are most likely not going to use it at all themselves, and almost universally detested by the actual users who will be forced to use it.
On YT, there are these public photographers, mostly doing cop watch and or audits of public buildings. They exist in a space where the First Amendment and SCOTUS ruling public photography is a protected activity.

One evening, I binged on some of these out of the usual board, morbid interest and came to the conclusion it's all about having a target.

Being bagged and tagged by a faceless blob, corporate machine, neural network, whatever, is one thing. Kind of goes in to some archive, we know it's there, but we also can't really assign anything other than nebulous intent to the whole affair.

In short, there is not much to respond to. And by that, I mean in the human way, face to face, or mind to mind.

On the other hand, there is some guy holding a camera! Or she is RIGHT THERE with her camera! Now, there is a person, the whole activity gets personified, and intent seems to flow like magic, as do the questions!

People have major boundary issues too. Many confuse standing in a public space while filming private property with actually somehow violating that property. Others do not want to be filmed, and some get it and just move away. Others have control issues and end up the star of the show, despite very clearly not wanting that outcome.

So that is one theory. When a big entity does it, somehow we've got a level of trust or acceptance buffering responses. At the least, we don't have a clear target to engage about it, or assign intent to it.

When a specific person does this thing, we do have that target, and it all being more human brings out more humanity.

Edit: There is also potential guilt, or fear associated with having a specific target.

When a specific person is making a record of our activities on the job, or in a public space, there exists a potential for judgement of some kind. Both by the photographer, and or their audience, somehow. We recognize that person could amplify that which would otherwise go ignored in the noise.

Now, that person could do exactly nothing too, and our actions in response have a lot to do with whatever outcome ends up out there for public viewing. "You are gonna be famous on YT" packs a punch. People worry!

They know they could be the next "Dog Shit Girl" or they worry about something they do, have done, want to do, and whether amplification of that changes risk / reward for it, whatever it is, be it merely inadvisable due to some social norm or other being in play or flat out illegal somehow.
Dunno. Tell people "channels are about 3 times slower than mutexes" and watch them scramble the hell out of their program trying to avoid channels, when the reality is "in general, both of them are fast enough that they will not be the bottleneck on your program".

In general (not just Go!), don't send tiny amounts of work across any sort of internal boundary (goroutine, thread, spark, green thread, whatever they call it). The amount of work you send should significantly exceed the costs of sending it. Follow this advice and the perf differences between mutexes and channels will almost certainly not be relevant; fail to follow it and neither of them will be fast enough. I don't think there's actually a lot of programs in the wild where the performance difference between the two would be the make-or-break difference. Non-zero, but not many. In practice it's pretty clear developers will spend much more time worrying over it than is justified.

(A common benchmark I see new programmers apply to any language that claims to be good at multithreading is to try to "parallelize" the act of adding a few million integers together by sending individual integers or addition problems out to threads, and wondering why it's 10-100 times slower even though all my CPUs are at 100%, so why does multithreading suck so hard in this language? The problem is that no matter how cheap the send operation is, it's going to be dozens or hundreds of operations, whereas a single integer addition is generally a single cycle, or possibly, amortized to less than that depending on how good your compiler is. You just need to be sure to send units of work larger than the cost of sending them, which is generally not that hard. This isn't just Go, I've seen this charge leveled at Haskell, Erlang, and Python's multiprocessing too, and I'm sure others have seen it in their own communities. It's a very common mistake.)
I'm not forced to use Windows at home and I don't have to pay for it at work.
Glossary of Neuroscience Terms
Yes, that was about the original Go documentation. The suggestion still doesn't mention that the difficultly with sync/atomic isn't the memory model per-se but rather the lack of yielding to another goroutine.
Incorrect. Uploading a video from a brand-new account on Youtube doesn't expose it to anyone. When someone searches "[your video topic]", what are the chances that yours come up, assuming it's a common enough topic?

The algorithm doesn't surface videos unless you've created a fairly substantial library that tells YT that you intend to post up for the long term.
You should get a sun shade, 30% seems to keep things alive in arizona at 120
Seems like there are a few differences but nothing I personally would leave normal indexing, kind of working generics, Maven and a choice of 3 world class IDEs behind for: https://stackoverflow.com/questions/10690403/go-channel-vs-j...

To each their own though. I hear a lot of people prefer it.
> And besides, I wanted to give Windows 11 a fair chance

So they went ahead and used pre-release (not even alpha) software that is explicitly not for folks who want stability to give it a "fair chance". Sounds like great judgement from OP.
I live in a place with fairly snowy winters, which seems like a huge problem for self-driving cars. I completely agree with this thought that we should work on making our roads help the self-driving cars. If we had started that effort several years back, we would likely have a lot of road miles that could safely handle self-driving vehicles. If we start now, in several years we'll have a bunch of road miles ready for them.

Granted that the US has a lot of road-miles, but doing this work incrementally is the way to go. I have a feeling it will be faster to outfit the roads than to build reliable self-driving software. I will also grant that this is a "feeling" and I'm sure someone has done actual research :)

If this capability could be used to help hasten the move to electric vehicles, we could even get a climate change win in at the same time.
Cost of ESP32-S2 is 5 times that of 8266 at least in India. From price perspective C3 looks like replacement for 8266.

BTW cool project.
Both New York State and California grew in population between the 2010 and 2020 census (by 4.25% and 6.13%, respectively [1]).

They will each lose a seat in the house because they grew less than the U.S. as a whole (7.35%) and due to rounding.

[1] https://en.wikipedia.org/wiki/2020_United_States_census
This really isn't beta grade software, as it isn't feature complete as the failure scenarios in the video clearly show. I'd call it alpha grade, and it has been that for a while.

It's not 2 weeks or whatever unrealistic timeline away from being done, as Elon has claimed for ever. 2 perhaps years if we're lucky, but given human and driving complexity probably way more before even the whole of the USA is reliably supported beyond L2.
Applying Stripe’s lessons to Customer Support: Why support is the next payments
CA makes mistakes, but not generally very long-term. They’re also quite responsive - I’ve never had a situation in which they didn’t respond, except for the FTB which can take a few weeks or months depending on time of season (similar to the IRS). Every other agency is, well, still a government agency… but tends to be responsive at least.
I was recently prompted to read 'Cadillac desert' which provides a very interesting summary of the development of water in the west, and the looming challenges. TLDR: it's gonna keep getting worse. Anyway, highly recommend.
Sure, but (not actually knowing how the integrated controller works) I don't see why the hardware one couldn't do that too, especially since it seems to only be build to support CDC (serial) and JTAG.

Are you sure that the integrated one doesn't? It just seems like an odd thing to leave out.