programmingmadness
Programming Madness
456 posts
Hi, I'm Corinna, software engineer from Germany. I make software for the space industry. This is me shouting about programming and computer science stuff because I can't keep my mouth shut when I code.
Don't wanna be here? Send us removal request.
programmingmadness · 4 months ago
Text
Tumblr media
11K notes · View notes
programmingmadness · 4 months ago
Text
that article going around abt firefox's new ad program is annoying bc it's phrased as though "mozilla has finally TURNED on its people and is SELLING YOU OUT for cold hard cash!!" when. that's not what's happening. it is specifically being implemented to discourage tracking behavior, and literally all the data they are giving to advertisers is aggregate and anonymized, which is like, the opposite of what that post wants you to worry about, lol
54K notes · View notes
programmingmadness · 7 months ago
Text
One of the things I’ve noticed working in a bookstore is that a surprising number of people are completely unfamiliar with the normal way books are organized.
(I mean, in the part of the store where we keep the used books, I frequently have to assure people that the books are organized at all, but that’s because we have way more books than we have shelf space and there’s no way to handle that without it looking a bit of a mess.)
On one hand, we get customers who are apparently a completely blank slate in this area. I frequently have to walk people through, like, “Okay, it’s organized by subject / genre, then by author. Oh, ‘by author’ means in alphabetical order by the name of the author. No, their last name.” (Most of the people I give this talk to are, I think, college kids — it’s a bit strange to me that you can reach that age without knowing how bookstores work, but then again, I can kind of see how these days it’s possible to mostly get your books online where you just use a search function.)
One customer responded to the above explanation with “oh, it’s the Dewey Decimal System!” and I had to be like… no. Similar in broad concept, yes, but the Dewey Decimal System is a very specific thing (involving… decimals) and it’s really only used in libraries, not bookstores, because it kind of requires you to label the spines of your books, which bookstores generally don’t like to do for obvious reasons.
On the other hand, we also get customers with pre-existing incorrect assumptions, which are so often similar that I think they’re being imported from other media (though I’m not sure what).
People seem to expect the organization of Fiction to be much more granular — e.g., “where’s historical fiction?” “oh, that’s just in with general fiction.” I think some of that comes from movies (people ask where the “rom-com” section is, and that’s definitely a movie thing), but I’m not sure that’s always the reason.
(Admittedly the fiction organization is a bit more granular in the Used Books area than it is in the New Books, but that’s because there are certain genres that we get tons of from people selling us their old books, but we don’t buy enough of on purpose to justify giving them their own section in New Books.)
At the same time, people have the opposite assumption about Non-Fiction — i.e., they expect there to be one singular section labeled “Non-Fiction”, which is not the case. I’ve had multiple conversations that go like:
Customer: Where can I find non-fiction books?
Me: You’ll have to be more specific.
Customer: You know, non-fiction.
Me: [gesturing at the signs hanging from the ceiling that say things like “science”, “philosophy”, “art”, “history”, etc.] All of these are non-fiction in their own special way.
I try to be nice about it, but I don’t think I always succeed, just because I’m so often legitimately surprised and confused when someone just doesn’t know How Do You Books. I’m getting used to it now, but I’ve been working there for almost five years, so there’s been quite a long adjustment period in between.
Anyway. Just some observations.
752 notes · View notes
programmingmadness · 7 months ago
Text
Tumblr media
23K notes · View notes
programmingmadness · 11 months ago
Text
Firefix ios is currently ad blocking on all sites seemingly without any ad blocker and idk if it’s something I did but I’m saying it real quiet in case that interests anyone 👀
27K notes · View notes
programmingmadness · 1 year ago
Text
pros of corded headphones:
Cant lose phone
dont need to charge headphones
they look cool and are amazing
cons of corded headphones:
Every doorknob in existence is now out to get you
133K notes · View notes
programmingmadness · 1 year ago
Text
Firefox v120!
Tumblr media
New copy link without site tracking feature: removes the tracking at the end of urls usually that end with "?=[long ass string of numbers or info on your browser or how you clikced the link]" previously an optional feature of ublock origin to remove it as you go to sites, but now you can also copy links as well
Tumblr media
New "Tell websites not to sell or share my data" option in privacy settings. Websites have no obligation to do this, except under GDPR which is most sites. adds a bit to your fingerprintability, however if everyone turns this on it will work better for everyone.
Firefox is rolling-out Cookie Banner Blocker by default in private windows for users in Germany during the coming weeks. Firefox will now auto-refuse cookies and dismiss annoying cookie banners for supported sites.
you can set "cookiebanners.service.mode" to 2 to automatically refuse cookies and have them stop asking you about it. While it's also an optional feature of ublock origin, this might work better
Firefox has enabled URL Tracking Protection by default in private windows for all users in Germany. Firefox will remove non-essential URL query parameters that are often used to track users across the web.
Not sure how to turn this on in settings (this is also an optional ublock feature, these don't hurt to stack) but once again removes the tracking at the end of urls telling you how the link was shared and how you got there
Firefox cares about your privacy and is making the internet a safer place from corporations. Do your part and download it today
44K notes · View notes
programmingmadness · 1 year ago
Text
in b4 95% of all websites in june 2024 announce that "for security" they will only work with browsers that use manifest v3
Tumblr media
111K notes · View notes
programmingmadness · 1 year ago
Text
So You Need To Buy A Computer But You Don't Know What Specs Are Good These Days
Hi.
This is literally my job.
Lots of people are buying computers for school right now or are replacing computers as their five-year-old college laptop craps out so here's the standard specs you should be looking for in a (windows) computer purchase in August 2023.
PROCESSOR
Intel i5 (no older than 10th Gen)
Ryzen 7
You can get away with a Ryzen 5 but an intel i3 should be an absolute last resort. You want at least an intel i5 or a Ryzen 7 processor. The current generation of intel processors is 13, but anything 10 or newer is perfectly fine. DO NOT get a higher performance line with an older generation; a 13th gen i5 is better than an 8th gen i7. (Unfortunately I don't know enough about ryzens to tell you which generation is the earliest you should get, but staying within 3 generations is a good rule of thumb)
RAM
8GB absolute minimum
If you don't have at least 8GB RAM on a modern computer it's going to be very, very slow. Ideally you want a computer with at least 16GB, and it's a good idea to get a computer that will let you add or swap RAM down the line (nearly all desktops will let you do this, for laptops you need to check the specs for Memory and see how many slots there are and how many slots are available; laptops with soldered RAM cannot have the memory upgraded - this is common in very slim laptops)
STORAGE
256GB SSD
Computers mostly come with SSDs these days; SSDs are faster than HDDs but typically have lower storage for the same price. That being said: SSDs are coming down in price and if you're installing your own drive you can easily upgrade the size for a low cost. Unfortunately that doesn't do anything for you for the initial purchase.
A lot of cheaper laptops will have a 128GB SSD and, because a lot of stuff is stored in the cloud these days, that can be functional. I still recommend getting a bit more storage than that because it's nice if you can store your music and documents and photos on your device instead of on the cloud. You want to be able to access your files even if you don't have internet access.
But don't get a computer with a big HDD instead of getting a computer with a small SSD. The difference in speed is noticeable.
SCREEN (laptop specific)
Personally I find that touchscreens have a negative impact on battery life and are easier to fuck up than standard screens. They are also harder to replace if they get broken. I do not recommend getting a touch screen unless you absolutely have to.
A lot of college students especially tend to look for the biggest laptop screen possible; don't do that. It's a pain in the ass to carry a 17" laptop around campus and with the way that everything is so thin these days it's easier to damage a 17" screen than a 14" screen.
On the other end of that: laptops with 13" screens tend to be very slim devices that are glued shut and impossible to work on or upgrade.
Your best bet (for both functionality and price) is either a 14" or a 15.6" screen. If you absolutely positively need to have a 10-key keyboard on your laptop, get the 15.6". If you need something portable more than you need 10-key, get a 14"
FORM FACTOR (desktop specific)
If you purchase an all-in-one desktop computer I will begin manifesting in your house physically. All-in-ones take away every advantage desktops have in terms of upgradeability and maintenance; they are expensive and difficult to repair and usually not worth the cost of disassembling to upgrade.
There are about four standard sizes of desktop PC: All-in-One (the size of a monitor with no other footprint), Tower (Big! probably at least two feet long in two directions), Small Form Factor Tower (Very moderate - about the size of a large shoebox), and Mini/Micro/Tiny (Small! about the size of a small hardcover book).
If you are concerned about space you are much better off getting a MicroPC and a bracket to put it on your monitor than you are getting an all-in-one. This will be about a million percent easier to work on than an all-in-one and this way if your monitor dies your computer is still functional.
Small form factor towers and towers are the easiest to work on and upgrade; if you need a burly graphics card you need to get a full size tower, but for everything else a small form factor tower will be fine. Most of our business sales are SFF towers and MicroPCs, the only time we get something larger is if we have to put a $700 graphics card in it. SFF towers will accept small graphics cards and can handle upgrades to the power supply; MicroPCs can only have the RAM and SSD upgraded and don't have room for any other components or their own internal power supply.
WARRANTY
Most desktops come with either a 1 or 3 year warranty; either of these is fine and if you want to upgrade a 1 year to a 3 year that is also fine. I've generally found that if something is going to do a warranty failure on desktop it's going to do it the first year, so you don't get a hell of a lot of added mileage out of an extended warranty but it doesn't hurt and sometimes pays off to do a 3-year.
Laptops are a different story. Laptops mostly come with a 1-year warranty and what I recommend everyone does for every laptop that will allow it is to upgrade that to the longest warranty you can get with added drop/damage protection. The most common question our customers have about laptops is if we can replace a screen and the answer is usually "yes, but it's going to be expensive." If you're purchasing a low-end laptop, the parts and labor for replacing a screen can easily cost more than half the price of a new laptop. HOWEVER, the way that most screens get broken is by getting dropped. So if you have a warranty with drop protection, you just send that sucker back to the factory and they fix it for you.
So, if it is at all possible, check if the manufacturer of a laptop you're looking at has a warranty option with drop protection. Then, within 30 days (though ideally on the first day you get it) of owning your laptop, go to the manufacturer site, register your serial number, and upgrade the warranty. If you can't afford a 3-year upgrade at once set a reminder for yourself to annually renew. But get that drop protection, especially if you are a college student or if you've got kids.
And never, ever put pens or pencils on your laptop keyboard. I've seen people ruin thousand dollar, brand-new laptops that they can't afford to fix because they closed the screen on a ten cent pencil. Keep liquids away from them too.
LIFESPAN
There's a reasonable chance that any computer you buy today will still be able to turn on and run a program or two in ten years. That does not mean that it is "functional."
At my office we estimate that the functional lifespan of desktops is 5-7 years and the functional lifespan of laptops is 3-5 years. Laptops get more wear and tear than desktops and desktops are easier to upgrade to keep them running. At 5 years for desktops and 3 years for laptops you should look at upgrading the RAM in the device and possibly consider replacing the SSD with a new (possibly larger) model, because SSDs and HDDs don't last forever.
COST
This means that you should think of your computers as an annual investment rather than as a one-time purchase. It is more worthwhile to pay $700 for a laptop that will work well for five years than it is to pay $300 for a laptop that will be outdated and slow in one year (which is what will happen if you get an 8th gen i3 with 8GB RAM). If you are going to get a $300 laptop try to get specs as close as possible to the minimums I've laid out here.
If you have to compromise on these specs, the one that is least fixable is the processor. If you get a laptop with an i3 processor you aren't going to be able to upgrade it even if you can add more RAM or a bigger SSD. If you have to get lower specs in order to afford the device put your money into the processor and make sure that the computer has available slots for upgrade and that neither the RAM nor the SSD is soldered to the motherboard. (one easy way to check this is to search "[computer model] RAM upgrade" on youtube and see if anyone has made a video showing what the inside of the laptop looks like and how much effort it takes to replace parts)
Computers are expensive right now. This is frustrating, because historically consumer computer prices have been on a downward trend but since 2020 that trend has been all over the place. Desktop computers are quite expensive at the moment (August 2023) and decent laptops are extremely variably priced.
If you are looking for a decent, upgradeable laptop that will last you a few years, here are a couple of options that you can purchase in August 2023 that have good prices for their specs:
14" Lenovo - $670 - 11th-gen i5, 16GB RAM, and 512GB SSD
15.6" HP - $540 - 11th-gen i5, 16GB RAM, and 256GB SSD
14" Dell - $710 - 12th-gen i5, 16GB RAM, and 256GB SSD
If you are looking for a decent, affordable desktop that will last you a few years, here are a couple of options that you can purchase in August 2023 that have good prices for their specs:
SFF HP - $620 - 10th-gen i5, 16GB RAM, 1TB SSD
SFF Lenovo - $560 - Ryzen 7 5000 series, 16GB RAM, 512GB SSD
Dell Tower - $800 - 10th-gen i7, 16GB RAM, 512GB SSD
If I were going to buy any of these I'd probably get the HP laptop or the Dell Tower. The HP Laptop is actually a really good price for what it is.
Anyway happy computering.
49K notes · View notes
programmingmadness · 1 year ago
Text
fyi
29K notes · View notes
programmingmadness · 1 year ago
Text
Me trying and failing to find out why a bug is happening:
Tumblr media
168 notes · View notes
programmingmadness · 2 years ago
Text
New Things to Beware on the Internet
On May 3rd, Google released 8 new top-level domains (TLDs) -- these are new values like .com, .org, .biz, domain names. These new TLDs were made available for public registration via any domain registrar on May 10th.
Usually, this should be a cool info, move on with your life and largely ignore it moment.
Except a couple of these new domain names are common file type extensions: ".zip" and ".mov".
Tumblr media
This means typing out a file name could resolve into a link that takes you to one of these new URLs, whether it's in an email, on your tumblr blog post, a tweet, or in file explorer on your desktop.
What was previously plain text could now resolve as link and go to a malicious website where people are expecting to go to a file and therefore download malware without realizing it.
Folk monitoring these new domain registrations are already seeing some clearly malicious actors registering and setting this up. Some are squatting the domain names trying to point out what a bad idea this was. Some already trying to steal your login in credentials and personal info.
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
This is what we're seeing only 12 days into the domains being available. Only 5 days being publicly available.
What can you do? For now, be very careful where you type in .zip or .mov, watch what website URLs you're on, don't enable automatic downloads, be very careful when visiting any site on these new domains, and do not type in file names without spaces or other interrupters.
I'm seeing security officers for companies talking about wholesale blocking .zip and .mov domains from within the company's internet, and that's probably wise.
Be cautious out there.
73K notes · View notes
programmingmadness · 2 years ago
Text
Total Cookie Protection works by creating a separate “cookie jar” for each website you visit. Instead of allowing trackers to link up your behavior on multiple sites, they just get to see behavior on individual sites. Any time a website, or third-party content embedded in a website, deposits a cookie in your browser, that cookie is confined to the cookie jar assigned to only that website. No other websites can reach into the cookie jars that don’t belong to them and find out what the other websites’ cookies know about you — giving you freedom from invasive ads and reducing the amount of information companies gather about you.
This approach strikes the balance between eliminating the worst privacy properties of third-party cookies – in particular the ability to track you – and allowing those cookies to fulfill their less invasive use cases (e.g. to provide accurate analytics). With Total Cookie Protection in Firefox, people can enjoy better privacy and have the great browsing experience they’ve come to expect.
anyway switch to Firefox
36K notes · View notes
programmingmadness · 2 years ago
Text
chinese room 2
So there’s this guy, right? He sits in a room by himself, with a computer and a keyboard full of Chinese characters. He doesn’t know Chinese, though, in fact he doesn’t even realise that Chinese is a language. He just thinks it’s a bunch of odd symbols. Anyway, the computer prints out a paragraph of Chinese, and he thinks, whoa, cool shapes. And then a message is displayed on the computer monitor: which character comes next?
This guy has no idea how the hell he’s meant to know that, so he just presses a random character on the keyboard. And then the computer goes BZZZT, wrong! The correct character was THIS one, and it flashes a character on the screen. And the guy thinks, augh, dammit! I hope I get it right next time. And sure enough, computer prints out another paragraph of Chinese, and then it asks the guy, what comes next?
He guesses again, and he gets it wrong again, and he goes augh again, and this carries on for a while. But eventually, he presses the button and it goes DING! You got it right this time! And he is so happy, you have no idea. This is the best day of his life. He is going to do everything in his power to make that machine go DING again. So he starts paying attention. He looks at the paragraph of Chinese printed out by the machine, and cross-compares it against all the other paragraphs he’s gotten. And, recall, this guy doesn’t even know that this is a language, it’s just a sequence of weird symbols to him. But it’s a sequence that forms patterns. He notices that if a particular symbol is displayed, then the next symbol is more likely to be this one. He notices some symbols are more common in general. Bit by bit, he starts to draw statistical inferences about the symbols, he analyses the printouts every way he can, he writes extensive notes to himself on how to recognise the patterns.
Over time, his guesses begin to get more and more accurate. He hears those lovely DING sounds that indicate his prediction was correct more and more often, and he manages to use that to condition his instincts better and better, picking up on cues consciously and subconsciously to get better and better at pressing the right button on the keyboard. Eventually, his accuracy is like 70% or something – pretty damn good for a guy who doesn’t even know Chinese is a language.
* * *
One day, something odd happens.
He gets a printout, the machine asks what character comes next, and he presses a button on the keyboard and– silence. No sound at all. Instead, the machine prints out the exact same sequence again, but with one small change. The character he input on the keyboard has been added to the end of the sequence.
Which character comes next?
This weirds the guy out, but he thinks, well. This is clearly a test of my prediction abilities. So I’m not going to treat this printout any differently to any other printout made by the machine – shit, I’ll pretend that last printout I got? Never even happened. I’m just going to keep acting like this is a normal day on the job, and I’m going to predict the next symbol in this sequence as if it was one of the thousands of printouts I’ve seen before. And that’s what he does! He presses what symbol comes next, and then another printout comes out with that symbol added to the end, and then he presses what he thinks will be the next symbol in that sequence. And then, eventually, he thinks, “hm. I don’t think there’s any symbol after this one. I think this is the end of the sequence.” And so he presses the “END” button on his keyboard, and sits back, satisfied.
Unbeknownst to him, the sequence of characters he input wasn’t just some meaningless string of symbols. See, the printouts he was getting, they were all always grammatically correct Chinese. And that first printout he’d gotten that day in particular? It was a question: “How do I open a door.” The string of characters he had just input, what he had determined to be the most likely string of symbols to come next, formed a comprehensible response that read, “You turn the handle and push”.
* * *
One day you decide to visit this guy’s office. You’ve heard he’s learning Chinese, and for whatever reason you decide to test his progress. So you ask him, “Hey, which character means dog?”
He looks at you like you’ve got two heads. You may as well have asked him which of his shoes means “dog”, or which of the hairs on the back of his arm. There’s no connection in his mind at all between language and his little symbol prediction game, indeed, he thinks of it as an advanced form of mathematics rather than anything to do with linguistics. He hadn’t even conceived of the idea that what he was doing could be considered a kind of communication any more than algebra is. He says to you, “Buddy, they’re just funny symbols. No need to get all philosophical about it.”
Suddenly, another printout comes out of the machine. He stares at it, puzzles over it, but you can tell he doesn’t know what it says. You do, though. You’re fluent in the language. You can see that it says the words, “Do you actually speak Chinese, or are you just a guy in a room doing statistics and shit?”
The guy leans over to you, and says confidently, “I know it looks like a jumble of completely random characters. But it’s actually a very sophisticated mathematical sequence,” and then he presses a button on the keyboard. And another, and another, and another, and slowly but surely he composes a sequence of characters that, unbeknownst to him, reads “Yes, I know Chinese fluently! If I didn’t I would not be able to speak with you.”
That is how ChatGPT works.
50K notes · View notes
programmingmadness · 2 years ago
Note
hey so how does one go about cracking the DRM on kindle 👀
windows-specific broad strokes guide:
download and install calibre
install the de-drm plugin, more details here but there is a newer fork here that i have not messed with but which might work better
install version 1.17 of kindle for pc
uncheck 'install updates' in kindle and also use a dummy file to prevent it from forcing an update (guide)
download your books in kindle for pc
navigate to the download folder and add all those books to calibre
they are now drm-free and can be converted to whatever format you want
458 notes · View notes
programmingmadness · 2 years ago
Text
too, too real
225 notes · View notes
programmingmadness · 2 years ago
Link
Okay, in terms of other things that are keeping me up at night, they’re basically trying to make you scan your fucking face and/or government ID to access Instagram in the name of “think of the children”.
Like, with laws like the terrible California Kids Code (Which people are trying to push versions of in other states BTW), and lawsuits like that one against Roblox/Discord that I am terrified of, there’s this big moral panic about the way kids access the net.
Which, on one hand, the fear is understandable.
On the other hand, holy shit they are using this to normalize invasive surveilance and ID checks, we need to mobilize to stop this ASAP.
606 notes · View notes