skysight-inc/HackerNews huggingface dataset:
the article is from 2022 but it may as well be from 2012. Back about a decade ago there was a huge push in companies toward "employee engagement" and social media was seen as the next big thing. about a bakers dozen companies (trello, atlassian, the usual scumbags) showed up to pitch their version of a sterile, enforced, monitored and legally blessed version of "twitter" for the office. GenZ ignored it, GenX abhorred it, and boomers in the C level posted platitudes and broad, poetic directional sentiments about corporate leadership stuff (or they had their secretaries do it for them.)

check your company intranet. chances are probably great you can find your own 'twitter' clone struggling in an overcommitted vmware instance or chugging along on a second generation Intel pizza box somewhere in a forgotten closet. These things never got patched because the implementation came from the vendor (along with free merch), so theres no local knowledge on how to fix them if they ever break. If you look hard enough, you might even find the add-on "blogging" platform your company got sold when they complained discount twitter for the office wasnt engaging anyone.
The best of times, the worst of times.

Mastodon has gotten a boost, potentially orders of magnitude, in recent weeks as people evaluate their utility with Twitter.

As a new fediverse explorer, it is fun in a way MySpace, Facebook, and Twitter were at first.
>taken over by someone who wants to bring back freedom of speech.

Taken over by someone who wants freedom of his own speech, not yours.
Personally I'd rather avoid the feature bloat. I also think it just waters-down the "secure" image they are clearly going for. I mean, broadcasting images to your contact list isn't exactly what I think of when I think "private messaging".
I disagree that this makes reading code easier. It is tremendously more complex to understand a generic API precisely because it is generic - it must cater to a huge variety of use cases, and consequently has more nuts and bolts, and knobs to turn.

Now this can be the right choice in many situations, when the higher cost in understanding the API is amortized over a larger number of uses. But in general I much prefer simple and specialized APIs and don't see much of a need for genericity. This includes error handling and resource allocation.
I think we should agree that `intmax_t` was a mistake and not focus on it so much in articles like this. It's enough that the C ABI is so hard to pin down, and that C headers are hard to parse.

What we really need to interop w/ C but w/o C is a C compiler based tool that outputs DWARF or DWARF-like debug output that actually lays out everything -- type sizes and layouts down to the individual bits that bitfields map to, enum values, constant-like macros, etc. Function-like macros you'll never really be able to use from other languages, so, oh well. Such debug metadata would have to be encoded in a stable/committed encoding, expressed in a stable schema.

With that sort of debug info a language like Rust could take care of all C interop natively w/o C, especially if those debug files were included with the OS so that Rust wouldn't need to invoke the tool that generates them. Though, obviously some `-D...` C compiler/pre-processor arguments can radically change the contents of the parsed headers, so some rationalization would be needed to cut down the number of "ABIs" to a manageable set (like GNU, BSD, POSIX).
privacy.com cards allow any billing address to be used
That is what a lot of people are missing with this: The goal of Russian propaganda has always been to create chaos and get people to disengage by creating a feeling that nothing is true, or at least that the truth is unknowable. Hence the constant stream of extremely transparent lies and BS.

In other words, the point of their election interference is not primarily to manipulate the election successfully, but to create the belief that they did.
Well, you chose a weird point for that example, because Java 9 is where the most Java projects break.
> Perhaps Windows 11 is the most secure OS Microsoft have ever produced :)

Security != Privacy
The shareholders will end up with the valuation they end up with, but are immune from prosecution in all but the most explicit and egregious cases.

If they vote in directors, which they suspect will hire a criminal CEO, that’s enough levels of indirection that unless they write a memo explicitly stating to do so (and maybe even then!), the worst outcome for them is the valuation of the company drops to zero and they lose their capital, minus whatever dividends have been pulled out.

That is barring potential criminal conspiracy anyway, which would require concrete actions in furtherance of a conspiracy, which would be difficult to prove without something like that memo.
That's the opposite of the Streisand effect, which here brings attention to the game.
I mean that's the iOS users fault for using iMessage. Android users use third party end to end encrypted messaging services.
Lego’s 2nd 3D-printed element is a miniature replica of the iconic wooden duck
Web is eating world

We use it for crossplatform dev.

We use json as data exchange format everywhere

We will run our apps in webassembly based sandboxes

So how about using this mature techstack to talk to OSes too?
Handmade Hero Day 021 – Loading Game Code Dynamically [video]
That may have been true pre-2016 but it's clear at this point that one of the major parties (starts with an R) is the pro-Putin party. They may have got to that point by dividing, but now they're reaping the benefits.
Hate Musk all you want, but comparing him to war criminal? Come on!

This kind of comments are both both help Russian gangsters and downplay actual war crimes that happen in Ukraine. Your petty hatred toward US billionare have nothing to do with what happening to millions of people suffering because of war.
It is as if they never played Civ1 game and never used Saboteur to cause unrest in a city.
That's just standard MO for these think pieces. Anger sells.

Corporations: sell things women actually buy.

Journalist: why are these corporations so sexist against women? This makes me angry!
Async generators should be a very natural interface for many event-based APIs, e.g. WebSocket.onmessage. Unfortunately converting a callback-based API to an async generator is highly nontrivial.
Apple's supported this for a while via HomeKit Adaptive Lighting as well. It's great that it's becoming more ubiquitous!
Wondered if you are actually Jim Chanos, but he's a China bear isn't he.
This article[0] and a clarifying comment[1] answer the question for JS. I think it's the same for Python. Apparently your model (which was mine, too) is out of date!

[0] https://hacks.mozilla.org/2015/05/es6-in-depth-generators/

[1] https://hacks.mozilla.org/2015/05/es6-in-depth-generators/#c...
This is literally what it does today: the first time you use Designer or some other "intelligence" feature you get prompted to confirm that you're okay sending your data to Microsoft to use the feature, with a link to privacy policy and everything.
Yes, as others mentioned, there will be hosting providers doing this for companies. The big upside is that you truly own the content and define your rules. I assume the costs for running a larger Mastodon instance are trivial compared to how much it costs to run ads on Twitter.
Not meaning to be flippant and dismissive of your conjecture, but that "sounds like a you problem." I have met many an engineer who is creative, and I have met many an engineer who immediately jumps to the negative mindset of why it won't work, and many more who succumb to pedantry that stymies ideas and conversation flow very quickly. I don't think there is a solution to this, it's just how we are, as individuals. And we all have our contributions to make, be they creative or pragmatic.
By that argument JavaScript is also compiled, so this point is wrong no matter how you interpret it…

The primary difference between a traditionally compiled language (like C) and CSS and JavaScript is C is compiled before execution and CSS and JavaScript are compiled during execution.

There’s a reason why JIT stands for Just In Time compilation [1].

[1]: https://en.wikipedia.org/wiki/Just-in-time_compilation
How is that a problem? If you really had a $40k monthly income it seems you'd have no problem making payments.
What are your thoughts on Alice? I thought that precluded most software patents from being valid. It is a fairly recent precedent, though, so the common knowledge about software patents is still very much about the pre-Alice world.
If you read the other articles they've written about Mastodon lately, they make it clear that it's not Elon Musk owning Twitter, but Mastodon increasing in popularity, that motivated them to write about Mastodon.

This post is as neutral of a discussion of Mastodon as it could get. I don't see how this post could be read as relating to identity politics or diversity/inclusion.
I wonder if there’s published stats on the percentage of tech workers that switch to fulltime consulting and back, and said trends over time. Very curious about it
Medieval Rack Clock [video]
Maybe, both are okay and it's just a matter of taste?
> That doesn't look "functional" at all.

Yes... because he ditched it.

And further - there isn't really anything wrong with modifying an object. Functional programs are nice because they remove lots of extraneous state, but there are many situations where you still have to track state somewhere - doing it in a contained object that is changed is fine.

The issue (particularly in JS) is when you allow assignment by reference value, and not by copy - in that case modifying an object can be dangerous because other parts of the code may be holding onto the same reference, and you've accidentally introduced subtle shared state.

Ideally - all users would be aware, and would make sure that assignment only happens with a call to something like copy()/clone() but the language doesn't really have the tooling to enforce this (unlike many other languages ex: c++/Rust/others)
> If you service big companies, not really. BigCorps will shed their permatemps before they cut employees loose, so you're really just first on the chopping block if you are in a staff augmentation situation.

Can confirm. The BigCorp I'm at is shedding contractors in a big way right now.

Though later on in the cycle when they realize they've cut too deep they'll bring back contractors well before they start hiring permanent heads.
MoviePass Was Not a Good Business
If the idea of federated Twitter was so good and so important why did everyone seemingly only get interested in it right now? Charitably it would seem that this is just the topic du jour and "top of mind" for many people due to recent changes at Twitter. But if running your own Mastodon server is a good idea today, surely it was a good idea two weeks ago. Cynically, it seems that many of these people seem motivated by their animus towards Elon rather than their genuine belief that federation is the right way forward. After all, these people were perfectly happy to keep using and promoting Twitter when it was ideologically captured by their in group. Now that Elon owns it, well, now it sucks and is bad.
Nobody could have seen this!111 How did the French paradox go?
The strategy I laid out is effective to all potential adversaries of this manner. That includes any institutions which try to wield the fire instead of putting it out.

I'd be careful with your words though. They have a defeatist attitude and may perpetuate said attitude. That is still a win for those trying to sow discord within our societies. You get people to either fight one another or shut up, but that still leaves no one to fight the dragon pulling the strings (in this case, many dragons). So I'm actively encouraging opening our voices, but to do it with care. Staying silent may not be akin to actively engaging in the inter-fighting, but it is enabling it. We're at a point where the fire won't put itself out and if we don't act accordingly, it will burn the whole house down.
Useful article - thanks for writing.

A bit of rant - what annoys me on similar "examples" like articles - those have none to 0 error handling and not even assuming things may go bad. Doing bind() with hope it will always succeed, connect without timeout - for me as a newbie such things are important to be provided in examples as well.
A reminder that the murder-for-hire schemes were a predicate of the conspiracy charge in his indictment; he was in part charged for them.
> You’re hand waving away way too much complexity. Please do build this system. Keep in mind that addressing 63bits of memory with huge tables on will use up > 2 Tera worth of PTEs which translate to what, 16 Terabit worth of memory? This is simply an order of magnitude more than dedicated machines ship with. You’re certainly not getting an FPGA with that.

The page table is itself stored in virtual memory, is a tree structure and it can be fully sparse, i.e. you only need to populate the PTEs that you use, basically.

Keep in mind, as long as you enable memory overcommit or use MAP_NORESERVE in mmap, you can allocate 127 TiB (~2^47 bytes) worth of virtual address space on Linux x86-64, today, at zero cost. With 4K pages!

In fact, I just did that on my laptop and memory usage has remained exactly as it was before.

And on POWER10 you can map 2^51 bytes of virtual address space today, also at zero cost.

> I think you’re failing to appreciate how large 2^63 bytes is.

No, I do appreciate it. It's 65536 times larger than the maximum address space you can allocate today on Linux x86-64 at zero cost. With 4K pages. Or a factor of 2048 larger than POWER10 can do today, also at zero cost.

In fact, with 1G HugePages, the maximum theoretical number of PTEs needed for 2^64 bytes of address space would be LESS than the number of PTEs needed for the 2^47 bytes you can allocate today, on Linux x86-64, with 4K pages, at zero cost (which I just did, on my laptop).

The maximum amount of virtual address space you can allocate is only limited by how many bits the CPU and MMU are designed to address.

If you don't believe me, you can try it yourself:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main() {
// 127 TiB
size_t size = 127ULL * 1024 * 1024 * 1024 * 1024;

printf("allocating %zu bytes of virtual address space...\n", size);

void *p = malloc(size);

if (p == NULL) {
perror("malloc");
exit(1);
}

printf("success: %p\n", p);

sleep(3600);
}

Be sure to do 'echo 1 > /proc/sys/vm/overcommit_memory' as root and then run the program:

$ gcc -o alloc alloc.c -Wall
$ ./alloc
allocating 139637976727552 bytes of virtual address space...
success: 0xf29bb2a010

Then observe how memory usage on your system hasn't changed.
When I started an open source project, I spent quite a bit of time researching various documentation options. Initially I went with AsciiDoc, but later switched to MkDocs with the Material theme. I really like MkDocs. It is easy to set up (everyone has python installed), has a lot of features and configuration options. The Material theme looks awesome out of the box. I didn't have to mess with CSS. It's definitely worth a try as it is very quick to set up.
It's pretty easy to get a breakout cable for chrominance and luminance separately into an S-Video port; at that point I just plugged in the Apple II's output into luminance and left chrominance unconnected.

This works particularly well on the Apple II because all of its color actually comes from creating dot patterns that cause luminance to interfere with decoding of chrominance, it has no "real" chrominance signal.
clean underware ?
Last I checked the current iteration was discount Facebook for corporate, aka. Yammer.
Musk has been running around being the Internet's favorite clown for the last ~10 days and is causing massive disruption. Mastodon is the twitter competitor, and as a federated product has a bunch of independent uncoordinated cheerleaders.
In a way it's like watching a freight train, loaded with nitroglycerin, running downhill with all breaks failing.

You know that you shouldn't watch, but you just can't help it.

The sad thing is that a lot of people will get burned by this.
I have to fess up, too.

Back in the early 1990s, I withdrew $10 from an ATM.

But the machine gave me two $10s (they were stuck to each other).

I then went back for a second transaction (secretly hoping there were multiple "stuck $10s" waiting to be released).

The machine only dispensed a single $10 the second time, so I stopped.

Let it be known that I owe Chemical Bank (or whoever bought them) $10 + interest.
Your second link refers to poverty being reduced after the fall of communism, when former Soviet states instituted capitalist reforms.
Plenty of people do--it's called Electron. The problem C and friends solve is "how do you write the web or the OS?"

You can't bootstrap an interpreted language like JavaScript or even WebAssembly, the VM has to be written in something.
I hate all analogies with physical world, because the person tends to pick up the most emotional one. It's emotional because they picked the thing that makes my lungs bleed. C, with all its flaws, doesn't damage my physical health.

You call it a logical analogy, how an analogy can be logical?

EDIT: and I hate analogies because, since they suck, someone will try to come up with a better analogy. And now we have a thread where people compare C to asbestos, then they compare C to a fire in kitchen. Not a kind of thread I would like to be in.
Good point. Could the PPP concept just be applied to your profits rather than your revenues, with a floor under which you just don't sell? Or, in the interest of equity at the cost of a little more complexity, deliberately round up pricing in profitable-after-COGS regimes to subsidize loss-after-COGS regimes?
Right. Mastodon doesn’t have an equivalent to Twitter’s (old) verification system. So it’s on users to check if each individual is who they claim.

But if there is an official CNN Mastodon instance, it’s suddenly real easy to see if someone claiming to be a CNN reporter is real or not.

Are they @john.smith@cnn.news? If not they’re a fake.

It would also work for official Microsoft accounts or Colgate-Palmolive or the government.

Seems like a good idea to me. And if you like federation it sounds better than a semi-official instance everyone uses that verifies things, sort of recreating a mini-Twitter “super” instance that is “more equal” than the others.
> Why would Putin invade Ukraine or fuck with Ukraine when the party in power hates Russia and will spend untold billions to stop Russia.

Wait so... why would he? Considering this is exactly what he did?

Could it be that there are other components to a decision to invade than merely who is in power halfway around the world? There's nothing incompatible with this and the idea they he'd prefer Trump, or any NATO-withdrawing and foreign-aid withholding party, in power.
Would it be possible to create a binary library format that declares its own ABI? Has anyone done something like that in the recent past?

Not like GObject declaring the interface in a special comment (modulo typos). Something that's fully machine-parseable in any programming language and does not require access to the source code.

I mentioned C2FFI (https://github.com/rpav/c2ffi) in another post in this thread. That's an extra "spec.json" file that you need to distribute along with your library, but maybe that's a whole lot easier and simpler than inventing a new library format. And it's JSON, which is human-readable, so it's relatively easy to debug.
I bought the DAC2 Pro. I don't know if it's the right pick for me yet -- I guess I'll find out!

The part about volume control was a little ambiguous: I can absolutely control the volume via the "soft" controls in AirPlay, DLNA, or my desktop's own soft mixer. What I meant was the "main" volume control on the receiver itself, which is motorized and controllable via an IR remote.

It's kind of a non-issue since I can just set the receiver's volume sufficiently high and then moderate using the "soft" controls, but I thought it'd be fun to try and automate the main control as well.
That is correct and we are determined to stay as well :]
What? How could rendered markdown get used for XSS?
Yes. But even more important is software like Mastodon needs to get easier for people to selfhost, by about an order of magnitude. It shouldn't be any more difficult or less secure to run your own Mastodon instance than it is to run an app on your phone.

In my vision of the future internet, when you upgrade your phone, your old phone gets plugged into a power socket and USB drive in the corner and becomes your new selfhosting server. You have apps for Mastodon, Nextcloud, Jellyfin, Plex, calendars, whatever.

The key pieces missing are simple tunneling services (think ngrok with a GUI designed for selfhosters), easier domain name management, and porting apps to run on phones. The most difficult is the last one but I'm hopeful that virtualization will take care of that in the near future[0], and maybe things like Wasm in the long run.

EDIT: PS - If you're interested in making this world a reality, join us over at https://forum.indiebits.io/

[0]: https://www.reddit.com/r/Android/comments/ybq4ih/pixel_7_has...
Social media is better when the people you want to interact with are there, so when everyone else is moving is an unusually good time to move.
It's the politicians that enable this behavior. How many Republican ads are of them shooting their political party's opponent?
A related thought I've had a number of times:

One enormous consequence of how social media globalization works is that the attention span of the whole world becomes centralised. We can only talk about one thing or a few things at a time. Those become the hyper focus of the whole internet. In every forum those topics seep in. Trying to resist "the current thing" becomes very exhausting. It's very hard to even talk about local issues when there are a few big issues that draws everyone's attention. I feel like this is one of the most dramatic changes for the last two decennia.
Is there any Mastodon managed hosting where you can bring your own domain, a bit like Fastmail but for Mastodon?
Maybe someday Zig and/or WebAssembly will evolve some better cross-language ABI?
Oh, in C/C++. Title should say that.

In Rust, you just use no_std for small embedded work.
The millions dead in the Holodomor and the Great Leap forward certainly don't have any need for money anymore.
IMO this is not hating C the language, but C the platform. Every OS and non-C language has to deal with that.
I think nerds often have an overthinking problem with it on both the learning and explanation sides. For example: extremely normie comedian Kathy Griffin got on via a short primer in an aggressively mainstream publication and started teaching her friends how things work. Lots of recent happy users are non-tech journalists and other professionals who got it from similar publications or had a friend helping. Meanwhile, serious tech journalists are having conniption fits, and nerds are wailing and gnashing teeth.

There's some disconnect between how people who really understand it on a deep level are explaining it to other people who understand other technical things on a similar level and how people with 30 minutes and a publication deadline are explaining it.
I wished this too, and got close enough by buying the Hue remote switches:

https://www.philips-hue.com/en-us/p/hue-dimmer-switch--lates...

It turns out there are really only 3-4 different temperatures I use normally, and this allows you to switch between them. I also use the Hue timers so I frankly don't need to use this that often, but it's nice to be able to switch between both scenes and brightness levels without pulling out my phone (edit: and more importantly so people who aren't me can control the lights if they need).

It's not a perfect solution: there are still some annoyances with people forgetting to leave the main switch on and only use the mounted remote, but overall I am very happy with this system.