Don Marti
dmarti.federate.social.ap.brid.gy
Don Marti
@dmarti.federate.social.ap.brid.gy
Desktop Linux user, live in California, on US-Eastern time mostly. I'm usually either the privacy person in the advertising meeting or the advertising person in the […]

🌉 bridged from ⁂ https://federate.social/@dmarti, follow @ap.brid.gy to interact
Reposted by Don Marti
just learned that Al Sweigart makes all of his Python books (Automate The Boring Stuff with Python etc) available on his site for free https://inventwithpython.com/

i haven't read them but I've heard good things and I'm always curious about free resources I can recommend to beginners
Learn to program. For free.
A Page in : Learn to program. For free.
inventwithpython.com
January 21, 2026 at 2:51 PM
Reposted by Don Marti
The nice thing about EICAR is that, when properly implemented, it should only produce a hit if it is at the _beginning_ of the file (per the EICAR spec itself). Inclusions of EICAR elsewhere are amusing, but should absolutely be false positives that should be fixed.

The Anthropic magic string […]
Original post on infosec.exchange
infosec.exchange
January 22, 2026 at 10:41 PM
Reposted by Don Marti
All I am saying is we need more airbrushed wizards on the sides of vans.
January 22, 2026 at 6:54 PM
I tried to get an asterisk on my web site to look like an asterisk in a book and not an asterisk in a terminal.

And it turns out that there is a way to do it with Unicode, but different browsers handle the spacing afterward in different ways, so I filed a webcompat bug […]
Original post on federate.social
federate.social
January 22, 2026 at 4:01 PM
[uspol trademark]

Notice how new sites are using "tweet" and "tweeted" as generic to describe short(ish) form social posts? Only a matter of time before "the twitters" are trademarked no more (fwiw I like this Fediverse twitter better than Trump's "Truth Social" twitter) #genericide […]
Original post on federate.social
federate.social
January 22, 2026 at 12:42 AM
I know, I know, a lot of people are tired of hearing about Google's "Privacy Sandbox" thing from 2019-2025.

But it's an example of a surveillance oligopoly trying to get something and then not getting it.

A win. (Well, almost) so IMHO worth celebrating […]
Original post on federate.social
federate.social
January 21, 2026 at 5:52 PM
subscribing to a crossword puzzle site "for the news" is the new subscribing to Playboy "for the articles"
January 21, 2026 at 5:31 PM
[uspol finance]

The credit card interest rate cap is not a bad idea.

Banks make too much money from merchant fees to take away cards entirely. (Look how all the ads Chase has been doing for "Sapphire" cards—people with that level of card pay off every month)

Banks would start making more […]
Original post on federate.social
federate.social
January 21, 2026 at 3:57 PM
Apple #safari users who blog, I have a small request for help.

For some reason, Google is sending some of the people who search for [ad blocker extension safari] to my site.

If you have posted a review of a good ad blocker for Safari can you let me know? I want to help send those visitors […]
Original post on federate.social
federate.social
January 21, 2026 at 3:34 PM
Reposted by Don Marti
libcurl memory use some years later

A look into memory consumption in #curl over time

https://daniel.haxx.se/blog/2026/01/21/libcurl-memory-use-some-years-later/
libcurl memory use some years later
One of the trickier things in software is gradual degradation. Development that happens in the wrong direction slowly over time which never triggers any alarms or upset users. Then one day you suddenly take a closer look at it and you realize that this area that used to be so fine several years ago no longer is. Memory use is one of those things. It is easy to gradually add more and larger allocations over time as we add features and make new cool architectural designs. ## Memory use curl and libcurl literally run in billions of installations and it is important for us that we keep memory use and allocation count to a minimum. It needs to run on small machines and it needs to be able to scale to large number of parallel connections without draining available resources. So yes, even in 2026 it is important to keep allocations small and as few as possible. ## A line in the sand In July 2025 we added a test case to curl’s test suite (3214) that simply checks the sizes of fifteen important structs. Each struct has a fixed upper limit which they may not surpass without causing the test to fail. Of course we can adjust the limits when we need to, as it might be entirely okay to grow them when the features and functionalities motivate that, but this check makes sure that we do not mistakenly grow the sizes simply because of a mistake or bad planning. ## Do we degrade? It’s of course a question of a balance. How much memory is a feature and added performance worth? Every libcurl user probably has their own answers to that but I decided to take a look at how we do today, and compare with data I blogged five years ago. The point in time I decided to compare with here, curl 7.75.0, is fun to use because it was a point in time where I had given the size use in curl some focused effort and minimization work. libcurl memory use was then made smaller and more optimized than it had been for almost a decade before that. ## struct sizes The struct sizes always vary depending on which features that are enabled, but in my tests here they are “maximized”, with as many features and backends enabled as possible. Let’s take a look at three important structs. The multi handle, the easy handle and the connectdata struct. Now compared to then, five years ago. | 7.19.0-DEV| 7.75.0 ---|---|--- multi| 816| 416 easy| 5352| 5272 connectdata| 912| 1472 As seen in the table, two of the structs have grown and one has shrunken. Let’s see what impact that might have. If we assume a libcurl-using application doing 10 parallel transfers that have 20 concurrent connections open, libcurl five ago needed: 1472 x 20 + 5272 x 10 + 416 = **82,576** bytes for that While libcurl in current git needs: 912 x 20 + 5352 x 10 + 816 = **72,576** bytes. Incidentally that is exactly 10,000 bytes less, five years and many new features later. This said, part of the reason the structs chance is that we move data between them and to other structs. The few mentioned here are not the whole picture. ## Downloading a single HTTP 512MB file curl http://localhost/512M --out-null Using a bleeding edge curl build, this command line on my 64 bit Linux Debian host does 107 allocations, that needs at its maximum 133,856 bytes. Compared to five years ago, where it needed 131,680 bytes done in a mere 96 allocations. curl now needs 1.6% more memory for this, done with 11% more allocation calls. I believe the current amounts are still okay consider we have refactored, developed and evolved the library significantly over the same period. As a comparison, downloading the same file twenty times in parallel over HTTP/1 using the same curl build needs 2,222 allocations but only a total of 308,613 bytes allocated at peak. Twenty times the number of allocations but only three times the maximum size, compared to the single file download. Caveat: this measures clear text HTTP downloads. Almost everything transferred these days is using TLS and if you add TLS to this transfer, curl itself does only a few additional allocations but more importantly the TLS library involved allocates _much_ more memory and do _many_ more allocations. I just consider those allocations to be someone else’s optimization work. ## Visualized I generated a few graphs that illustrate memory use changes in curl over time based on what I described above. The “easy handle” is the handle an application creates and that is associated which each individual transfer done with libcurl. curl easy handle size changes over time The “multi handle” is a handle that holds one or more easy handles. An application has at least one of these and adds many easy handles to it, or the easy handles has one of its own internally. curl multi handle size changes over time The “connectdata” is an internal struct for each existing connection libcurl knows about. A normal application that makes multiple transfers, either serially or in parallel tends to make the easy handle hold at least a few of these since libcurl uses a connection pool by default to use for subsequent transfers. curl connectdata struct size over time Here is data from the internal tracking of memory allocations done when the curl tool is invoked to download a 512 megabyte file from a locally hosted HTTP server. (Generally speaking though, downloading a larger size does not use more memory.) curl downloading a 512MB file needs this much memory and allocations ## Conclusion I think we are doing alright and none of these struct sizes or memory use have gone bad. We offer more features and better performance than ever, but keep memory spend at a minimum.
daniel.haxx.se
January 21, 2026 at 2:35 PM
Reposted by Don Marti
a few people have been asking what my typical setup is for "running websites that I can completely ignore and spend 0 time maintaining" so I wrote down a few thoughts

https://gist.github.com/jvns/5bd9283d7abd5ceb26eb7ed28afe3030
gist:5bd9283d7abd5ceb26eb7ed28afe3030
GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
January 20, 2026 at 5:22 PM
Reposted by Don Marti
There should be more game designers in politics.

Seriously - making rules that adjust interaction and behavior in positive ways that benefits the system and vibe we would like to create.

Instead of making negative rules, like "pay a fine" - people tend to do better making positive rules, like […]
Original post on hoosier.social
hoosier.social
January 20, 2026 at 1:16 PM
Reposted by Don Marti
Most news coverage of the endlessly cryptocurrency "industry" -- and its endlessly corrupt enablers in finance and politics -- is wretched.

The prime exception is Molly White, who sweats the details and makes complex topics understandable. Read her latest newsletter […]
Original post on mastodon.social
mastodon.social
January 19, 2026 at 11:48 PM
Reposted by Don Marti
Pro Tip: If you are spamming me about selling me a customer support platform, perhaps you don't want to reference the list of tech giants using that platform that have provided me with terrible support.
January 19, 2026 at 6:19 PM
Reposted by Don Marti
Meta lost $77bn on VR? I guess it just didn't have legs.
January 18, 2026 at 9:34 PM
myth: Big Tech is bullshitting about their "AI" stuff but they're totally honest about their legacy #SurveillanceAdvertising businesses

reality: cool story bro

https://blog.zgp.org/what-if-ed-zitron-is-an-optimist/
what if Ed Zitron is an optimist?
blog.zgp.org
January 18, 2026 at 6:02 PM
headline: Wikipedia traffic is getting clobbered by Google "AI Overviews"

body copy: traffic is down 8%

_Eight_ percent? Most people with a web site would fall on their knees and thank Shrimp Jesus for that kind of impact from AI Overviews.

Down by 8% is the new "killing it".
January 16, 2026 at 4:16 PM
The #kaiserpermanente #privacy class action news is huge—they just settled the case and everyone who used the Kaiser sites and apps gets real money (not just "credit monitoring" or some bullshit)

And Kaiser didn't even fight it—which means lots more cases will be possible against other […]
Original post on federate.social
federate.social
January 16, 2026 at 1:48 AM
Happy #wikipediaday to all who celebrate!

If you're putting off getting started because of the maze of complicated official docs and rules, there is a good one-page intro (video and text) at https://blog.mollywhite.net/become-a-wikipedian-transcript/
Video: Become a Wikipedian in 30 minutes
A written transcript of my video, 'Become a Wikipedian in 30 minutes'.
blog.mollywhite.net
January 15, 2026 at 6:09 PM
When you cancel Microsoft 365 Business Basic (which is, as far as I can tell, one of the confusing names for what’s basically “MS-Office on the web” you get a survey about why you decided to cancel.

Anybody else notice what's missing? https://blog.zgp.org/data-driven/
data-driven
blog.zgp.org
January 13, 2026 at 5:07 PM
Reposted by Don Marti
🛠️ 💻 In the spirit of repairability and keeping good equipment alive, I've gathered up a few retired Thinkpads from local surplus auctions. I'm upgrading the RAM and drives and will be making them available in the next few weeks. These will be cozy little Solarpunk machines, older equipment […]
Original post on hachyderm.io
hachyderm.io
January 13, 2026 at 1:18 AM
Existing World's Smallest Violin Still Too Large By Orders of Magnitude, Say Boffins

https://futurism.com/artificial-intelligence/ai-prompt-plagiarism-art
Furious AI Users Say Their Prompts Are Being Plagiarized
The sheer irony. The post Furious AI Users Say Their Prompts Are Being Plagiarized appeared first on Futurism.
futurism.com
January 12, 2026 at 7:39 PM
RE: https://mastodon.world/@Mer__edith/115883615017272545

(This is a big opportunity for local computer stores and IT service people. If I had at least intermediate-level MS-Windows skills I would learn this software and put up flyers to make some $$$)

1990s: our store will take the viruses […]
Original post on federate.social
federate.social
January 12, 2026 at 7:16 PM