857
top 50 comments
sorted by: hot top controversial new old
[-] NigelFrobisher@aussie.zone 7 points 11 hours ago

You could say they “spilled the tea”.

[-] zarkanian@sh.itjust.works 13 points 19 hours ago

These people should serve jail time. I'm not kidding.

[-] percent@infosec.pub 8 points 18 hours ago* (last edited 18 hours ago)

I'm no lawyer, but this seems like at least grounds for a class action lawsuit, I would think. Like, it seems like privacy and security is implied (however ironic for an app like this) when requiring users to upload their PII.

Also, I assume their privacy policy didn't mention that they were just gonna publish their users' PII.

[-] gonf@lemmy.world 5 points 17 hours ago

Almost definitely both were involved.

[-] JackbyDev@programming.dev 35 points 1 day ago* (last edited 1 day ago)

Hack has at least two definitions in a computing context.

  1. A nifty trick or shortcut that is useful. "Check out this hack to increase your productivity."
  2. Accessing something you shouldn't. "They hacked into the database."

A lot of times they sort of get used in conjunction to describe interesting ways to gain access to secure systems, but using it to describe accessing insecure things you shouldn't is still a valid usage of the phrase.

That said I definitely wanna see the company face charges for this, this is insane.

[-] spicehoarder@lemmy.zip 14 points 1 day ago

No, this was a data leak. The word "hack" has legal implications and shifts the blame away from the company and onto the individual who discovered the leak.

[-] JackbyDev@programming.dev 6 points 1 day ago

It can be both. The company can be at fault for not keeping something secure while the people who steal the data are at fault for stealing data. Data leaks and hacks are not mutually exclusive.

[-] percent@infosec.pub 1 points 18 hours ago

I don't disagree with your main point, but I'm not sure it's really even "stealing", as that means to take without permission. In this case, the storage permissions were configured so that the files were publicly available to everyone, so everyone had permission to access them.

Semantics though. It's still unethical to access that data, even if it's not technically stealing.

[-] indepndnt@lemmy.world 5 points 1 day ago

Based on this comment alone, I am 100% sure that you are not a lawyer.

load more comments (1 replies)
load more comments (1 replies)
[-] HugeNerd@lemmy.ca 2 points 18 hours ago

Guess someone spilled the tea

[-] grrgyle@slrpnk.net 14 points 1 day ago

What is the Tea hack?

[-] angstylittlecatboy@reddthat.com 13 points 1 day ago

At this point I think the women using it got psyopped

[-] m3t00@lemmy.world 5 points 1 day ago

dev came from marketing. pictures wouldn't show up with all that security enabled.

[-] Diplomjodler3@lemmy.world 24 points 1 day ago

I always get irrationally angry when i see python code using os.path instead of pathlib. What is this, the nineties?

[-] Gonzako@lemmy.world 10 points 1 day ago
[-] axEl7fB5@lemmy.cafe 6 points 1 day ago

Be the change you want to see in the world.

[-] indepndnt@lemmy.world 4 points 1 day ago

And what's with the string addition? Never heard of f-strings or even .format()?

What big advantages does pathlib provide? os.path works just fine

[-] Diplomjodler3@lemmy.world 8 points 1 day ago
  • Everything is in one library which offers consistency for all operations.
  • You can use forward slashes on Windows paths, which makes for much better readability.
  • You can access all the parts of a pathlib object with attributes like .stem, .suffix or .parent.
  • You can easily find the differences between paths with .relative_to()
  • You can easily build up complex paths with the / operator (no string additions).

Just off the top of my head.

[-] brucethemoose@lemmy.world 1 points 19 hours ago* (last edited 19 hours ago)

I suppose os.path is simpler? It's a string and operation.

Python is all about 'attention efficiency,' which there's something to be said for. People taking the path of least resistance (instead of eating time learning the more complex/OOP pathlib) to bang out their script where they just need to move a file or something makes sense. I'm with you here, but it makes sense.


...Also, os.path has much better Google SEO, heh.

load more comments (2 replies)
load more comments (1 replies)
[-] m3t00@lemmy.world 2 points 1 day ago

crack heads, meth heads, what's the diff

[-] EmilyIsTrans 45 points 1 day ago

I absolutely despise Firebase Firestore (the database technology that was "hacked"). It's like a clarion call for amateur developers, especially low rate/skill contractors who clearly picked it not as part of a considered tech stack, but merely as the simplest and most lax hammer out there. Clearly even DynamoDB with an API gateway is too scary for some professionals. It almost always interfaces directly with clients/the internet without sufficient security rules preventing access to private information (or entire database deletion), and no real forethought as to ongoing maintenance and technical debt.

A Firestore database facing the client directly on any serious project is a code smell in my opinion.

[-] meme_historian@lemmy.dbzer0.com 10 points 1 day ago

Ah yes, Firebase. The Google version of leaking all your company data through a public S3 bucket

I remember when they launched and started pushing it in the Android dev community. Actually won a Google Pixel at a Firebase sponsored hackathon in my town...after that I never touched Firestore again. Using that ACL language to restrict access, you could see the massive foot gun from a mile away

[-] tiramichu@sh.itjust.works 24 points 1 day ago* (last edited 1 day ago)

It's like people learn how to make a phone app in React Native or whatever, but then come to the shocking and unpleasant realisation that a data-driven service isn't just a shiny user interface - it needs a backend too.

But they don't know anything about backend, and don't want to, because as far as they are concerned all those pesky considerations like data architecture, availability, security, integrity etc are all just unwanted roadblocks on the path to launching their shiny app.

And so, when a service seemingly provides a way to build an app without needing to care about any of those things, of course they take it.

And I get it, I really do. The backend usually is the genuine hard part in any project, because it's the part with all the risk. The part with all the problems. The place where everything can come crashing down or leak all your data if you make bad decisions. That's the bothersome nature of data-driven services.

But that's exactly why the backend is important, and especially the part you can't build anything decent without thinking about.

[-] sylver_dragon@lemmy.world 19 points 1 day ago

I think it's less about the tech picked and more about developers with no sense of security and a poor understanding of networking. I've seen far too many web applications where the developer needed some sort of database behind it (MySQL, PostGres, MSSQL) and so they stood up either a container or entire VM with a public IP and whatever the networking layer set to allow any IP to hit the database port. The excuse is almost always something like, "we needed the web front end to be able to reach the database, so we gave the database server/container a public IP and allowed access". Which is wonderful, right up until half of the IP addresses in Russia start trying to brute force the database.

[-] EmilyIsTrans 13 points 1 day ago

I agree that this is ultimately a problem with developers lacking security knowledge and general understanding, but my issue with Firestore specifically is that it is a powerful tool that, while it can be adopted as part of a carefully considered tech stack, lends itself most naturally towards being a blunt force instrument used by these kinds of developers.

My main criticism of Firestore is that it offers a powerful feature set that is both extremely attractive to amateur or constrained developers while simultaneously doing a poor job of guiding said amateurs towards creating a secure and well designed backend. In particular, the seemingly expected use case of the technology as something directly interfaced with by apps and other clients, as evidenced by the substantial support and feature set for this use case, is the main issue. This no-code no-management client driven interaction model makes it especially attractive to these developers.

This lack of indirection through an API Gateway or service, however, imposes additional design considerations largely delegated to the security rules which can easily be missed by a beginner. For example:

  1. Many examples of amateurs take an open-by-default approach, only applying access and write restrictions where necessary and miss data that should be restricted
  2. Some amateurs deploy databases with no access or write restrictions at all
  3. There is no way to only allow a "view" of a document to a request, instead a separate document and security rules containing the private fields needs to be created. This can be fairly simple to design around but seems to be a bit of a "gotcha", plus if you have similar but non identical sets of data that needs to be accessible by different groups it must be duplicated and manually synchronized.
  4. Since there is no way to version data models, incompatible changes require complicated workarounds or an increasingly complicated deserialization process on the client side (especially as existing clients continue to write outdated models).
  5. Schema validation of data written by clients to the database is handled by security rules, which is seemingly unintuitive or missed by many developers because I've seen plenty of projects miss it
  6. If clients are writing data directly, it can become fairly complex to handle and subsequently maintain their contributions, especially if the aforementioned private data documents are required or the data model changes.

All of these pitfalls can be worked around (although I would still argue for some layer of indirection at least for writes), but at this point I've been contracted to 2 or 3 projects worked on by "professionals" (derogatory) that failed to account for any of these issues and I absolutely sick to death of it. I think a measure of a tools quality is whether it guides a developer towards good practices by design and I have found Firestore to completely fail in that regard. I think it can be used well, and it is perfectly appropriate for small inconsequential (as in data leaks would be inconsequential) single developer projects, but it almost never is.

load more comments (1 replies)
[-] Stillwater@sh.itjust.works 297 points 2 days ago

Believe it or not a lot of hacking is more like this than you think.

[-] hoshikarakitaridia@lemmy.world 113 points 2 days ago

Social engineering is probably 95% of modern attack vectors. And that's not even unexpected, some highly regarded computer scientists and security researchers concluded this more than a decade ago.

load more comments (11 replies)
load more comments (7 replies)
[-] fmstrat@lemmy.nowsci.com 68 points 2 days ago
[-] funkless_eck@sh.itjust.works 26 points 1 day ago
[-] mobotsar@sh.itjust.works 9 points 1 day ago

There's nothing wrong with manually breaking a loop.

[-] funkless_eck@sh.itjust.works 7 points 1 day ago

There's nothing wrong with eating a banana with a knife and fork, either.

Except living with the shame.

[-] lessthanluigi@lemmy.sdf.org 1 points 18 hours ago

Most monkey-esque insult

load more comments (1 replies)
[-] grrgyle@slrpnk.net 5 points 1 day ago

An infinite loop used to be such a rank code smell back when I was a junior, specifically because I was a noob and made giant loops like 50 lines long and invariably didn't plan the exit condition right, and then my computer would lock up and I would have to hard power cycle.

But yeah, now it's it's a totally acceptable little pattern imho.

[-] FooBarrington@lemmy.world 23 points 1 day ago

You know that's not the Tea code, but the downloader, right?

[-] fmstrat@lemmy.nowsci.com 21 points 1 day ago
[-] FooBarrington@lemmy.world 22 points 1 day ago* (last edited 1 day ago)

Sure, it might be, I'm not saying it isn't. All I'm saying is: the screenshot shows the code someone wrote to download the images. It's not part of the Tea codebase.

load more comments (1 replies)
load more comments (1 replies)
[-] taiyang@lemmy.world 91 points 2 days ago

This reminds me of how I showed a friend and her company how to get databases from BLS and it's basically all just text files with urls. "What API did you call? How did you scrape the data?"

Nah man, it's just... there. As government data should be. They called it a hack.

[-] kieron115@startrek.website 31 points 1 day ago* (last edited 1 day ago)

ah yes, the forbidden curl hack

[-] skip0110@lemmy.zip 158 points 2 days ago

AI just enables the shit programmers to create a greater volume of shit

[-] Hasherm0n@lemmy.world 5 points 1 day ago

My favorite one I've seen so far was "AI can take a junior programmer and make them a 10x junior programmer."

load more comments (1 replies)
load more comments
view more: next ›
this post was submitted on 26 Jul 2025
857 points (100.0% liked)

Programmer Humor

25296 readers
135 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS