skysight-inc/HackerNews huggingface dataset:
Ask HN: Did the Pandemic Kill the Whiteboard?
A few years ago, our team built an app that allows you to share a whiteboard (or any analog surface) online, in real time. The reason was simple: we love whiteboards - they're very effective; we want to use them when some/all of us are not in the same room.

At first, the pandemic drove a boom in interest: product managers and developers wanted to whiteboard with distributed teams, educators were looking for tools to run remote/hybrid classes. Beginning in late 2021, however, something different started to happen...

Many of the people we spoke with - historically, ardent whiteboard enthusiasts - simply stopped whiteboarding altogether. In many cases they replaced actual whiteboards with digital whiteboards (e.g., Mural, Miro). In some cases they changed processes to essentially eliminate the visual collaboration step entirely.

IMHO, there are certain cases where a whiteboard is simply irreplaceable. But perhaps I'm just a luddite? Is the whiteboard dead?
I appreciate the honesty and thoroughness that the author is displaying here.

There are too many posts that focus on successes and embellish the state of affairs.

That said nothing was too surprising about a language that hasn't hit 1.0 yet.
Bullseye bonus: 1.8GHz Raspberry Pi 4
WiGLE – collected wireless hotspots around the world
Yes, I don't know anyone who uses Guice, but lots of people who use Spring. The momentum was never there, nor it will be.
Awesome stuff! I learned a few new selectors, thanks :)
Nice to see a "brain dump" as someone who learned many languages and can easily relate with most of the issues the author faced.

But I take issue with this:

// Obviously good and easy to read
return a*(1.0-t) + b*t;

// Obviously bad and hard to read
return add(mul(a, 1.0 - t), mul(b, t));

Sorry, but the first one is not obviously good, it's just what you're used to (the second one is indeed bad).

Here's what I would consider obviously good :) for the objective reason that it does not require difficult to track implicit rules about operator precedence:

1, - t, * a, + (t, * b)

I invented this syntax myself :) but it's extremely obvious once you know how it works.

It should be clear that this is similar to concatenative languages, where you push values onto a stack then apply operations on the stack. The `,` is used for pushing to the stack, basically. But then, it also allows you to "mix" more standard function notation into it... so when you write `a b` that means calling the `a` function with `b` as an argument (think LISP).

Now putting everything together

1, - t

Should read as `1 minus t` as `- t` is the function `-` being called with one value from the stack, `1`, and one from the "function call" (as if it was LISP `(- 1 t)`).

Next:

1, - t, * a

Reads as "1 minus t times a" and has no ambiguity: the result of `1, - t` is the first argument to ``, the second argument is `a`, so you get LISP's `( (- 1 t) a)` but reads much more naturally.

Finally, at the end, for readability, we use parens to group the final part of the equation:

1, - t, * a, + (t, * b)

Hopefully it's obvious what happens now?

Does anyone like this form of expression or is just me? I tried to mix the best of LISP with the best of FORTH :) and I really like this.
We had some SGI workstation running in a prepress print environment because Leonardo was the only software that could handle the amount data. Amazing little machines.
It can also replace an FPGA in certain cases where you need handle low latency I/O by using RP2040's Programmable IO [0]. (Not that it's the only microcontroller with this of kind abilities, there are others.)

[0]: https://www.cnx-software.com/2021/01/27/a-closer-look-at-ras...
right. we can't figure out the testing status of strangers anyways, so it's the optimal strategy to avoid contact with people as much as possible. F.e. I do the following:

- do the groceries before 8a.m.

- avoid public transport

- don't visit crowded public places

- wearing a mask everywhere except of home
Fixing that would require not only a universal data format but also a universal taxonomy of terms

A regular HR can only do CTRL-F CTRL-V efficiently in their PDF viewer, when automated system would likely test for /\bnode(?:\.?js)?\b/i, because it's a result of a development cycle, which usually includes some field analysis. HRs would LOVE to select something like "where has($node) and years($redux) >= 2 order by years($php) desc". They are not idiots, they just have piles of data and nonsensical tools. Of course they optimize for nonsense.

A human could search for different variations too, but they are average in average and have no the expertise to install a regex-able viewer. It's stupid little things like this that prevent them from doing their job better, not some systemic issue of their own.
This was a fascinating piece of bluff calling by Amazon.
I honestly expected Visa to hold their ground and let Amazon refuse to accept payment for millions of people.

Edit: fair enough, I do not know if Amazon or Visa caved. I simply assumed Visa would. Then again it was Amazon threatening, so the only way for the world to know if Visa held on, is for Visa to hold on till Jan 19. At the moment we can assume both pulled back, or Amazon "won". Only once Jan 19 passes could we assume Amazon caved.

Edit: Amazon UK has 15 Million Prime subscribers, and visa has ~ 80% market share in UK, so I am happy to say "millions" of people would at least have to scrabble and update their purchase settings. It would be disruptive to amazon - but the total cost?

https://dontdisappoint.me.uk/resources/technology/amazon-sta...
Looks very interesting.
Does it have TypeScript definitions so the schema are type safe?
History in a Crisis (2020)
>What do you think he was saying?

I rather get paid without having to work and taking any risk of illness, than doing my job and providing the students with the teaching they have paid for?
This should really only ever happen with wireless connections. You should always be able to tell what switchport a computer is connected to and work from there.
I did the same! Cuz at the time there was no language server available beyond syntax highlighting and linting. But now there is a pretty good language server package available which is really helpful giving autocompleting
Famous Awards with Dark Origin Stories
A NASA probe has touched plasma and gas that belongs to the sun
It's about calculating risk and taking responsibility for that risk. Every person does it for themselves.

You only soldier on if the predicted payoff is big enough, or if the estimated risk is small enough, or if you simply ignore the process altogether.

It's his life, his exposure to danger so he can fuss as much as he wants.

This kind of comment really betrays a sort of pre-scientific defeatism. Just because you can die in stupid ways does not mean you should die in stupid ways.
I would literally read one of these story every day before going to sleep.

I will never have enough. Amazing read!
All I really want to know if they had to bet against another bunch of other crypto people to get the 3 million price... or if the 3 million was their first and only offer on a $60k book??
The issue here is that this isn't just "one bad apple" that if we can remove everything will be ok. Which is what motivates the idea that punishing this bad actor will make everything better.

There is a systematic issue at the heart of the way we do network security.

You can by a lighting / usb cable that can do all of these things and more for $120 if he'd used that he'd never have gotten caught.

We treat network security like physical security at our peril.
What kind of blog is that?

I mean if you navigate to the index https://joearms.github.io/index.html#Index it says that this is actually a Quine.
Additionally, as split root storage setup because the boot partition is small is a lot more complicated than simply buying a 64GB+ sd card and (usually) have no storage problems.
The less people respect social media like Youtube as a "public square", the better. In reality, this is the discussion these services foster:

10. Preston Arsement: Minecraft vlogger

9. Logan Paul

8. Dude Perfect: Comedy pranksters

7. Ryan Kaji: toy reviewer

6. Nastya: seven-year-old

5. Unspeakable: Minecraft vlogger

4. Rhett and Link: talk show

3. Markiplier: gaming vlogger

2. Jake Paul

1. MrBeast: uses stunts and pranks to "delight" his audience

Maybe you like this content, maybe you don't, but we could flush it all down the toilet and it would not weaken humanity's ability to solve real problems.
Other than parts and bill-of-material with self loop, I do not know why you do not use data model.

Show me the code I am confused.

Show me the data, …
That’s the most sensible solution. AFAIK however there neither a cross-dialect way to specify that specific constraint, nor a simple way to SELECT the column name and the value of the unique non-null value.
A selected list of tutorials, articles, and resources on JavaScript, React
Interesting trickle down effect from governments having a lot of purchasing power.
Sending some ethereum to a central address sure is easier though, especially when you're collaborating across borders.
I had commented before the other week so I'm gonna quote myself from now whenever I see NFT:

> I see a whole new wave of fouls about to lose their money to ponzi schemes and over-hyped "investments", much like it happened with the bitcoin/crypto train.
Yes, you can work around some inadequacies of SQL by bolting more features on top.

That doesn't mean that the basic design of SQL isn't awkward.
I'm getting tired of the proliferation of "tooltip" style popups recently. It seems as if every other pixel triggers a popup and every time I want to read actual content, it becomes obscured because my mouse touched a hot zone or was parked on a trigger
Sounds like it was just a raffle. $250 for a 1 in 1,000 chance to win a prize worth ~$8,125. Happens all the time in school fundraisers and other community events. Of course they didn’t need to use a blockchain or cryptocurrency to hold a simple raffle, but here we are.

Also in a raffle they usually just tell you when you’ve won.

Better odds and potential return dollar for dollar than the lottery, though.
> I'm arguing against ignorance through quick judgements and assumptions

Yes, but you're arguing that against someone -- someone whom you haven't shown is making "quick judgements and assumptions". You're just assuming that.

That is the problem GP was pointing out: Crypto-"currency" proponents always jump to that conclusion. Stop doing that.
There are interactions that the wiring diagram doesn't account for.

For example, some neurons release "neuromodulators" that diffuse beyond their immediate synaptic partners. Electric fields produced by a fiber bundle can affect activity in neighboring neurons.

Inside the cell, there are all kinds of processes on short (millisecond) and long (day) timescales that alter how the same neuron responds to identical stimuli.
I think there's a compromise between being recognisable as a mathematical formula and removing operator precedence which is what APL and other array languages do. (a×1-t)+b×t is how you'd write it in APL, no operator precedence but still more familiar.
"with about three-quarters of PPP funds accruing to the top quintile of households" sheesh
The investigative work in that piece reminds me of this old case: https://www.youtube.com/watch?v=OAI8S2houW4
I feel so bad for college aged kids right now.
https://archive.fo/ZJdvH
You implicitly need a schema in JSON too: it's the API documentation.

Then, every implementer in a statically typed language needs to translate the JSON format into structures in their own language. And this is impossible to automate, unless the JSON API uses a formally defined schema (eg. OpenAPI or GraphQL schemas), but then we're back to square 1.

If you don't care about that (eg. in dynamically typed languages), you can parse XML just like you parse JSON, using something like https://github.com/martinblech/xmltodict
When China Rules the World
You can have this today. Raspberry Pi sells the wonderful Compute Module 4 with the normal Pi CPU on it, and it optionally comes with built in EMMC memory. You can plop it on a carrier that gives it a normal raspberry pi form factor. I use the CM4 in my projects and it’s lovely.

Sorry these are two different distributors, but the CM4 is hard to find right now and the PiTray mini is cool, just couldn’t find them at the same place. PiTray mini is also at Digi-Key I think.

https://www.seeedstudio.com/Raspberry-Pi-Compute-Module-CM41...

https://www.dfrobot.com/product-2196.html
Are you familiar with the Heaven’s Gate suicide cult?
https://news.ycombinator.com/item?id=29965144
Maybe you simply intended your comment as hyperbole but if not:

- It's not a 1% tax worldwide. For example most of Europe uses debit cards instead of credit and the fees are regulated to be much lower than 1%. This also demonstrates that Visa's power is not unchecked.

- Visa may be listed on American exchanges but foreign nationals can buy shares no problems.

On the percentage, I was curious and had a look at Visa's financials [0]. On payment volume of $10.4T, they reported revenue of $24.1B, so they get about 0.2% overall.

[0]: https://annualreport.visa.com/financials/default.aspx
T3XFORTH
I wrote a similar thing for svelte stores. The live example is here.

https://svelte.dev/repl/4434d8fcd12242d79887343fd95e429c?ver...

You can wrap pretty much any POD/array data type as a store then index into it to generate new stores with view on to sub elements.

Note that a "store" is a reactive data store. You can set a value on it and also get notified of changes.

This means you can have a single store for your main data and then pass views on that data to sub components.

Views are created using selector expressions.

let data = {
name: 'thomas',
age: 25
}

let root = writable(data)

let rootUndo = undoStore(root)

let nameStore = subStore(rootUndo, v=>v.name)

let ageStore = subStore(rootUndo, v=>v.age)

let undoDisabled = derived(rootUndo.canUndo, u=>!u)
let redoDisabled = derived(rootUndo.canRedo, u=>!u)

----

<input type="text" bind:value={$nameStore}/>
<input type="number" bind:value={$ageStore}/>
<button on:click={undo} disabled= {$undoDisabled}>undo</button>
<button on:click={redo} disabled= {$redoDisabled}>redo</button>

Library is here https://github.com/bradphelan/immer.loves.svelte
This is surely pretty commonplace now, with all the wireless devices we have.
Alberta is publishing some very detailed tables which suggest that the death rates may be comparable, though they don't directly support the above claim: https://www.alberta.ca/stats/covid-19-alberta-statistics.htm...
(i.e. boosted 70-79 is lower than unvaxxed 12-29, though death rates rise steeply in 80+).
I want to believe that this is just some kind of marketing stunt. I don't want to believe that people can simultaneously be this wealthy and this stupid.
say from everbody to all sec teams
There is a case to be made for using the legal system as a deterrent. But there is also the case to made to not do that as in the case of Aaron Swartz.
Matter of fact conspiracy click bait incoming. I give it one week.
libflightplan
No court in the world will accept the MIT liability waiver as a defense, when the vendor intentionally distributed malicious code.
> makes sense if your threat model includes people pushing malicious code to CI, but aren't you more or less done for at that point anyway? If "legitimate" code can do a certain thing, then malicious code can do too.

The answer is very much, 'it depends'. For oen thing, developers can run whatever code in CI before it's benn reviewed. I could just nab the env vars and post them wherever. If there are no sensitive env vars for me to nab and you have enforced code review, then I need a co-conspirator, and my change is probably going to leave a lot more of a paper trail.

Another risk is accidental disclosure - I have on at least two occasions accidentally logged sensitive environment variables in our CI environment. Now your threat model is not just a malicious developer pushing code - it's a developer making a mistake, plus anyone with read access to the CI system.

I don't know about your org, but at my job, the set of people who have read access to CI is a lot larger than the set who can push code, which is again a lot larger than the set of people who can merge code without a reviewer signing off.

> but drawing these boundaries seems like a nightmare for everyone...

As someone currently struggling with how to draw them, yup.
Replacing jQuery (110kb) With UmbrellaJS (8kb)
Behind an illegal cookie popup.
No Apollo or SunView or NeWS either. No desqview. Quite a few important omissions
Although many people might have not seen most of the GUIs in this article, the article is also horribly wrong on some of them. The screenshot for KDE/GNOME has absolutely nothing to do with KDE/GNOME (besides maybe if you wanted to use Window Maker as a window manager during the early versions of GNOME where it didn't really have its own window manager).

The article constantly misspells "X Window" as "X Windows" which for anyone who has even a small interest of GUIs through the years may find incredibly irritating.

But the cherry on top is the absolutely outrageous lie that OSX was introduced with the Mac transition from PowerPC to Intel. This is just ridiculous.

I don't know much of the other GUIs and I can not comment if they too were horribly represented.
Recommended way to learn for now? Any sources for that?
The man is retiring at 75. He's done his job plenty.

Him not wanting to risk his life when there are alternatives available through which he can still teach seems plenty reasonable.
This is a bad faith argument and a complete misinterpretation of what it is I've said.
Great except they are being ignored

EDIT; being downvoted for sharing what is actually happening on the ground
As I understood your parent, he/she was not talking about your kind of rich (what I'd consider a healthy rich) but rather a money at all costs and money for its own sake -kind of rich.
It's more complicated than that. UK -> UK transactions are capped at the same rate as they were pre-brexit. That was codified into UK law.

The problem here is that Amazon UK, the part that the consumer pays at least, is _not_ a UK company, it is a Luxembourg based company. Therefore, there is no cap because from their side it is an EU -> Non EU payment received, no longer an intra EU payment. These types of payments were never capped by the EU. So yes, Brexit caused this, but then, given that other companies do seem to be able to take payments in the UK, and that all of their physical UK operations take place in the UK, perhaps they could have avoided it by re-locating the payments to the UK. Except, I do think that may have meant attracting a higher tax bill.

Honestly, making it difficult for companies to relocate their profits to a tax haven could be regarded by some as a feature of Brexit, instead of a bug.
EU law has regulated the maximum fee down to 0.2% for debit and 0.3% for credit cards since 2015, I don't know if it has further progressed since then. But regulation is clearly needed, since these "taxes" on transactions create an inefficient market and they want to encourage, not discourage card transactions.

It should be down to the level already that the big stores think that card handling is cheaper than handling cash.
> They are not idiots, they just have piles of data and nonsensical tools.

Disagree.
Can someone explain what he meant by that please.
When I first read that back in the day I thought how absurd and improbable it sounded because of how big computers were at the time. Now that raspberry pis and arduinos with wifi are a thing it seems almost inevitable.
Someone needs to have some harsh words with the administrators who aren't allowing this guy to work remotely.
How the Finnish survive without small talk (2018)
Flights sent to assess Tonga damage after volcanic eruption
Read The Cuckoo's Egg by Cliff Stoll. An oldie but a goldie.
That proposal unfortunately requires you to name the foreign key constraint, which is quite unergonomic.

E.g. instead of the wrong `FROM a NATURAL JOIN b` you would use the correct `FROM a JOIN FOREIGN a.foo_fkey`, which not only needs that second name but now also loses the immediate naming of b. So e.g. autocomplete would have to look up the foreign key constraint to find out the second table. And it's still longer and harder to use than the natural join!

Most databases have one foreign key from a given table to another given table, and that simple case should be made easy to use.
Gorbachev's glasnost was sponsored by the CIA and resulted in collapsing of USSR.
Read the linked parent forum post. They are talking exactly about putting the actual images on the blockchain.
Yes, and generally we must give cover to the aggressors because we need them on our side. Cognitive behavioral therapy is about adjusting the individual to society's demands. The individual must be made to tolerate indignity.
You're essentially trying to tank your immune system by doing this. Unless you're especially in danger from Covid (maybe like the professor in this video) you shouldn't avoid training your immune system by exposing it to the outside world unless you want to get very sick when the virus finally does find you.

Obviously it should be done within reason, please don't swim in radioactive waste.
Because you're trying to shoot something flying at 500 miles an hour, piloted by a tiny lunatic who actually thought this sort of thing was a good career move and is probably on military-issued meth, with a projectile the size of your thumb, while also being the exact same sort of lunatic? :-D
Neo Was Not Originally Envisioned as ‘The One’
~90 years of Alcoholics Anonymous history attest to the fact that commitment to behavioral change benefits from socializing the effort.
So youre building on a solid conceptual foundation - best of luck to you.
I definitely "cheated" some of these by throwing in something horribly verbose rather than whatever a more correct solution would be
Fox 2
Do you consent to us using your HUD telemetry for post mission analysis?
The f… FOX 2
Do you consent to us using your HUD telemetry for post mission analysis?

HOW DO I SAY YES?!
If they were that confident they would've found a way to get $250K and pay you for it. Sounds like they are putting that risk on you. Don't give them the code and get an attorney, I presume they broke the terms of your contract.
The article is more specific than that: They shouldn't be shared with code run by people/jobs who shouldn't have access to it. I.e. don't have secrets used for deploys in the environment that runs automatically on every PR if deploys are gated behind review by a more limited list of users.
... and possibly if the "work" is not like 40-50 hours/week, but more like a couple hours per month ...
And still, you have utterly failed to tell -- either in an "enlightened and civilised" or in any other way -- why and how this whole "Crypto" fad isn't scam and bullshit.

Until somebody does, the null hypothesis remains that it is. (Use some cuter name if that makes you feel better, but it is what it is.)
Why aren't college professors allowed to work remotely!?

Unless he's running a chem lab that's insane to me.
Is it just my impression or security in Jenkins seems much more challenging and more time-consuming than in GitLab?
This post gives many examples where GitLab was attacked, so of course bad practices like privileged containers can lead to the compromise of a server independently by the technology used, but from my experience with Jenkins, I've seen using passwords in plaintext so many times, even in big companies.
Will they need any more updates from you in the future if all goes well?