Woah Buddy! Insane LEGO Corruption!
The American Fork Police Department just "accidentally" released 50gb of unredacted Body Cam footage reguarding Reckless Ben and Bricks and Minifigs, but deleted it to late before the internet grabbed them.
In the media dump the Joshua Johnson asks to see the legal court papers but the officer refuses to show it to him because it would count as a legal service and says it would "place him in a bind"
This police department, Joshua Johnson and Ammon McNeff are all toast. I've never seen the internet unanimously come together in unison on anything like this in my life.
An old man is selling watermelons by the side of the road.
His sign reads:
1 for $3
3 for $10
A young man stops and buys one watermelon.
“That’ll be $3,” says the old man.
The young man then buys a second watermelon. And then a third.
After paying another $3 each time, the young man picks up his watermelons and starts to walk away.
Then he turns back, grinning proudly.
“Hey old man,” he says, “you realize I just bought three watermelons for $9 instead of $10? Maybe business isn’t your thing.”
The old man smiles and shakes his head.
“Funny… every time somebody comes by, they buy three watermelons instead of one… and then try to teach me business.”
I've been doing this for the past few years and it's been absolutely refreshing.
It simplifies so much about modern complex architectures and lets me sleep at night stress-free.
Fork your dependencies, trim them to only your use case, never update unless it breaks for your users. I’ve been vocal about this for 10+ years. I’ve always said that updating is way riskier than latent bugs (which can be tracked and CVEs monitored).
If you are updating a dependency, it’s on you to analyze every single commit in the full transitive set of dependencies. If you dont see anything compelling, dont update!
I remember at HashiCorp once in awhile an engineer would try to update a dep or replace a DIY lib with an external one and id always ask “show me the commit we need.” Dont update for the sake of it.
Feeling pretty swell about this mentality with all the supply chain attacks happening.
This is why PR diff speed matters. This isn't a dunk on GitHub specifically, because GitLab, Forgejo, etc. are all equal or worse. But this is the kind of thing that drives me nuts, because this is a core workflow and its slow enough I literally take my hands off the keyboard.
Btw, when my mouse jiggles on the left, its because the page is literally skipping frames and I'm instinctively shaking my mouse to see if it'll respond. And on the keyboard input you can literally here me finish typing before a letter even shows up.
For someone like me who is an expert at these tools, my brain navigates the tool dramatically faster than it can keep up, and that is not good. The tool should not get in the way.
Yeah. I finally got a call from the priest at my closest church about 3 weeks after I started looking, and then got invited to a summer class at a different church about 2 months later... but it was radio silence completely for the first few weeks.
I'm in a _very_ rural area in Georgia though. It's just such a wild difference from my experience in Protestant churches.
The worst part was how out of place I felt going to mass the first 5-10 times. I still have to frantically hunt through the Missal every week trying to find the right parts to follow along. 🤣
@baidoc_de@IanLandsman That's a bit extreme. Nobody is doing a man-in-the-middle attack on a crappy blog post or recipe website.
I love encryption as much as the next guy, but there are millions of pages online that exist just to be read and consumed as content.
So wasteful.
The worst thing in the world is when you go to bed and your computer decides to update and restart while you're sleeping.
I would give almost anything to be able to disable this permanently.
Sick of losing my place in large on-going projects. What a crappy user pattern.
[1/2] I felt like this question deserved a more complete answer than "undefined behavior", so I made a full walkthrough to show exactly what part of the x86 execution differs from the other two, and to demonstrate how you go about investigating an anomaly like this.
I like this approach. I like a strong standard library whenever possible, and I enjoy that Bun is taking the "lets provide a fast native solution for common problems" approach to Javascript-land.
I don't want them to do _everything_, but I think it's reasonable to do more than node does by default.
Especially for common tasks that absolutely need native-level performance. An "in-Javascript" approach to these are wildly slow, and the solutions that offload the work into separate binary means that we end up with a really complicated build/deployment setup.
As long as they don't go crazy and try to add everything under the sun, I think this will be extremely useful.
Of course. That's not even the issue. Anyone with any modicum of skill can write highly performant code.
What I'm talking about is the intersection between real-world use-cases, implementation budget, initial design constraints, and user behavior.
As an example, let's say I write a very efficient search query for my product that searches across several different complex tables and aggregates a list of options. Each query might execute and return quickly, but if the user nearly always selects a result in the first 1-5 results because I've correctly found the item they were looking for, why would I send down the potentially massive total data set that is available in that interface?
We often have to build for the most common use-cases (finding the result in the first few entries) while still providing a mechanism to allow the user to continue looking if they need to do so.
That's one example constraint in a current popular interface concept that is used on millions of different websites. If an engineer on the team said "hey, instead of just sending back the top 10 records, lets trust the browser to be awesome and send back the full 50,000 results every time" they'd be laughed out of the room.
That kind of implementation might be fine for a single user, but quickly runs into massive roadblocks as you scale to more users:
1. Network latency and transfer from web server to database.
2. CPU time in the database taking large amounts of records and packaging it up to be sent
3. Index cache and page cache misses
The list of potential pitfalls is nearly limitless. So then you have to implement more complicated systems if you want to keep that same capability, perhaps introducing a separate cache layer between your database and the server.
Everything is easy in university because you're dealing with problems isolated in an environment optimized for learning. When you finally graduate and make it out into a position at a company, you'll have to quickly learn how to make better architectural decisions to effectively solve the actual problems that you're facing.
I wish you luck!
To be fair, it kind of depends on the type of product you're building.
Pagination is extremely important in certain types of products where the "list" of items is from a computationally heavy database operation.
Every technical choice we ever make involves tradeoffs. There are solutions to every problem, but it's best to build the cheapest, quickest solution first and optimize later.
(for the record, I'm very much in the "let the browser do the thing it was designed to do" camp. I just try to push back against all-or-nothing kinds of statements. There is a time and place for everything, and each thing needs to be considered in its own unique context)
Yeah. My biggest frustration in my career is constantly being asked to add features into a product to support a use-case that I never intended in the first place.
It's probably the one aspect of CTO-ing startups that I truly dread, as I'm nearly always forced to "accept" whatever edicts come down from my cofounder/CEO.
If I ever start a software company all by myself, I plan to run it more like Apple. I love their "We designed exactly what we wanted you to have, and you can either take it or leave it."
It's so freaking exhausting adding crappy branch conditions into my products to support a specific user requirement for someone that doesn't even really care. In my current company, one of the features we provide is a Startup Pitch Contest management tool that allows VCs to accept applications from startups, and then behind the scenes it offers them a mechanism to score, review, and notify those applicants about that application.
A big part of why we built this is because we wanted to provide high-quality feedback to the startup founders about the strength of their application using an AI analysis of their submission (pitch deck, business model, market traction, etc), but I was forced to remove one of those core feedback features for a single customer because they didn't want to have to explain why they rejected an applicant that received extremely strong feedback from the AI analysis.
Which makes sense, I guess, but what I really hoped they'd do is have the guts to tell the startup in their "rejection" notification "Hey, this is a really strong business, but not in the type of market we're actively exploring right now. Keep up the good work and keep going!"
Instead, they forced me to provide a mechanism to turn off that feedback entirely, and it bothers me to no end. With the feedback turned off, they're basically just using my application as a replacement for a Google Form or JotForm or other type of "accept user input and put it into a table" type of product.
I didn't build it to do that, but now I forever have to support this branch of code to support a use-case that goes against the entire purpose of that product design.
It drives me absolutely bonkers. CEOs and salespeople need to get better at just saying "no".
This is a really beautiful visualization of this technique. I love how interactive this demo is and how it elegantly describes how this is accomplished.
Super well done.
Just a heads up that you should never be rendering 10,000 lines of anything, especially if all the lines are the same height, as in code.
List virtualisation is a very old and simple technique.
You can experiment with the below at https://t.co/Zm4IRrfh9j
@bunjavascript That's just gross. 🤣
I'm a little bit grumpy at the fact that I have written code to do exactly this thing at least 15 different times in my career and each time it required about 1000 lines of annoying code and a bunch of separate modules and libraries.
I think my main gripe with the entire conversation is that "normal users" are not even the real target audience for Github. Github is for developers that want to collaborate together.
It's not intended to be a hosting site for finalized product downloads.
It's like someone going into a McDonalds and complaining they won't perform an oil-change on their car. McDonalds is a restaurant, not a car service center.
Anyone that comes to any product with their own expectation of what that product is supposed to provide for them is making a huge mistake.
I marked yes, but I think I wish I'd picked "no". I don't think any generic software development concept should be treated as a "crime" by default, because that feels like a very slippery slope.
I do not want the government deciding what lines of code I have to write. I already despise the fact that we have ADA-based accessibility requirements that can cost us money in a lawsuit.
I view my code as artistic expression. I am communicating to myself and future developers through that art form. I don't believe there is any role for government to play any part in how we produce this work, no more than the government being able to dictate what colors we use in a painting, or what font to use if we write a book.
Normal economic forces generally handle these issues very well, and we already have security certification solutions like SOC2, audits, and market pressures to correct bad actors in this space.
Going down the legal route for this kind of bad technological choice is what is pushing us towards OS-level age identification. We're heading towards a dark and bleak future if this continues.
(But also, strong password hashing is literally two lines of code most of the time, so don't be a dumbass. :D )