I have a modern diesel truck and a 1988 Land Cruiser. I’ve been a mechanic since I was 14 (farm tractors) and was a helicopter mechanic and crew chief in the marines, then a transmission mechanic on cars during college. I’ve got a mechanical engineering degree.
The Land Cruiser requires a lot more of my time working on it, but it’s a dream. I can fix something in a couple hours. The diesel, it’s a nightmare. Everything sucks working in it. Access is horrible, I end up having to jack into the CAN bus all the time, I spent a while with an oscilloscope plugged into it a month ago, and I’ve had to write my own software to interact with it.
Modern cars are more computer than car, and they are pushing more and more towards being fixed like them. I’d rather work on an electric car… what wears out? The cooling system? A bearing? Simple.
The same overcomplex, proprietary computer surveillance systems infect all electric cars because they're all modern. They're all (for some reason?) connected to the internet, subject to OTA updates, and completely locked down to the end user. If a manufacturer would make an EV with open software and systems--no useless internet crap--for less than $100k I'd buy it tomorrow.
Agree, but the other part of the advice I think is important and maybe even not fully explained in this blog post. Taking great photos is about using great light, this matters more than composition (you can crop in post) in my opinion. Rule of thirds is just a guideline, not a rule, if you’ve got great light and an interesting subject I couldn’t care less where those thirds lines sit. I mostly shoot on an old hassleblad with 6x6 square negatives and I often frame my shots with my subjects in the middle of the frame.
I have also done what the OP is describing, scanning all my family’s negatives. I wanted to devote the amount of time it takes me to scan and color correct a frame to a scant few of the images. My family liked to take “snaps” of places and vacations (think non-descript cornfields or national park visitor centers) and hostage photos of the kids clearly taken against our will.
I taught myself how to shoot on film to learn what I was doing, but going to the community darkrooom was the real education. I learned how good photographers used the light and saw the world by watching them develop and seeing the end product. Photography is just like any other endeavor, you get out of it what you put into it. For your kids and your kids kids, don’t just put into it some AI-computationally adjusted selfies and snaps of the tops of kids heads. Put some effort in, figure out what good light is, and take candid photos.
Might depend on your personality a bit. Basically all my favorite photos of lost relatives and friends were taken on awful cameras by people with no knowledge of lighting or composition for that matter. The photos (to me) are valuable for a wholly different reason, it never even occurred to me until this moment that they were probably bad photographers.
Yup, the best pictures I have, are those snapshots of real life action. Not the super prepared professional ones requiring set up (we also have those, my sister is a photographer).
Ah no, I was talking about my own pictures.
Some of the staged pictures my sister make of us, are nice as well, but overall I much prefer the blurry snapshot or video of a nice scene.
(But then again, my sister especially recommended to me to choose my partner as she would look very good on pictures, I replied I have other priorities, but ended up with her anyway)
> Isn’t the sign of a professional that they don’t need that setup?
A professional should be able to get good results without it, but also when you are a professional, the incremental benefit of having the equipment available and using it where appropriate is more than worthwhile.
This is probably the best way to get a good photo regarding the people in it. Composition, lighting are important as far as they make the picture "readable" if what you're looking for is the memory of the person. You'll still look kindly on a dark, blurry photo of a very authentic moment rather than an exceptionally well composed photo that's so staged you can't match it against the person you knew.
Staged photos aren't all bad, they're just usually unrealistic if you knew the people. Many group photos have a bunch of upright poses and stiff faces that maybe those people never had naturally. So you recognize the face but not the person, it's not the memory of them you would keep.
If you want to capture the memory of a person, take photos of them doing whatever they were usually doing, with their usual expression, lighting and composition be damned.
Without going into the 50 different things that go into a good photo, where you position yourself and the light are important. Being technically sound (correct exposure, depth of field) is the floor, then where the light is coming from, its quality and feel, there is a ton that goes into this. This is why Garry Winogrand’s street photography looks so much more powerful than some random person’s photos walking around with a point and shoot.
I agree with you, I basically never take the staged photos (don’t have a self timer on my cameras anyway) but just snapping the shutter when people are doing things isn’t enough. I have boxes and boxes of photos of my family that I’m not even spending the time to scan and color correct because it’s not worth it. The great ones combine good light, technically correct, and an interesting subject.
> This is why Garry Winogrand’s street photography looks so much more powerful
You're just on a different, more professional rail. Talking about professionals doing professional stuff. You don't warm your tires before you go for a drive just because that's why F1 cars have so much more grip in slow corners.
Capturing the perfect moment in the perfect technical conditions is perfect. But that doesn't happen very often in real life with family moments. Most of those perfect moments will be absolutely serendipitous and you'll capture them however you can. Not a single non-photographer looks at the snapshot of the perfect moment and thinks "different ISO would have been so much better, and look at those harsh shadows".
One of the photos most dear to me and my entire family was taken at the light of a low-power infrared heater. Which is to say just enough light to not accidentally poke a finger in your eye. The details are only barely visible but you can tell who's there, everything is as noisy as you can imagine and more, and the brightest thing in the picture is the glow in the dark pacifier between the 2 figures. And no amount of good lighting would have made that picture better without ruining the moment.
In fact almost all of the "most memorable" pictures in my album are technically crap. Over- or underexposed, crappy film stock or digital resolution, bad framing, bad focus, motion blur, fringing, the list goes on to tick all the mistakes one could possibly make. They're all subjectively better than the technically superior shots because the moment they captured was better. If you talk about family it will always be the moment. If you can make it technically good, go for it, it's just icing on the cake.
I think I'm being misinterpreted, probably my fault for the way I'm explaining things, I'm trying to be concise but I'm passionate about photography so I'm struggling.
I am not a pro, so far from it. I'd be embarrassed to even let a pro see my work. I don't want to advocate for needing things to be technically perfect, what I was advocating for was taking a single class, reading a single book, studying a couple blog posts or something. The little changes you can pick up can add so much to a photo. Say you move a little so the sun isn't behind your subjects, or you have the camera out explicitly in the winter mornings when the light is streaming into your windows and hitting a light curtain over the window... you've got yourself a free soft box. Or you've got the camera out in the hours before/after sunset and sunrise.
Little changes to behavior, your position, use of light that can put the extra thing on a photo that would already be great because it was a great moment.
My front end to mermaid is usually claude. I can’t count how many times trying to convey a complicated idea (last week, a one time use token in a 3 party where my backend can’t talk to the client) has been made simple to explain with a quick diagram claude made.
I am a paid mermaid account holder but claude is still my first front end, because it’s the tool I’m in most of the time anyway. What I’m excited for in the GUI is I can take that quick diagram and add the styling, colors, and hopefully move some of the boxes around such that the arrows are better than the auto layout drops them.
From reading the blog post, the first thing I’d like which is changing the visual colors and styling of individual boxes in the diagram might be missed. I find that the most time consuming thing to do manually with the code, I would love to see rich tools there.
I just tried this last week for the first time. I asked claude to create a syntax diagram for a toy grammar. The resulting mermaid source had a syntax error (unescaped special character). Despite having its own mermaid widget thingie, I couldn't compel claude to fix its own code.
I haven’t had issues with it enough to notice, but I do tolerate it making code mistakes as just part of the deal now. I fix the little errors (claude said it made a deps.edn file for a clojure project but it’s actually lien format) as just part of the deal. I might not have just papered over the issues in my brain
TikTok’s algorithm for the feed and their data science and recommenders are pretty amazing. You can tune it to show you what you like really quickly and it’s effective. Mine is tuned to old house preservation and restoration, a couple guys doing skits as blue collar workers that are some of the funniest parts of my day, motocross videos, and some dog/animal content. I’ve never liked a video or commented on a video, it’s just so effective using dwell time and they have so much data that they can give you exactly what you want and little that you don’t. There is no politics on my feed. I challenge you to get that with twitter, reels, threads, Facebook, vine… any of them
Political pressure. There are more Americans on TikTok than voted in the last election. I think the parent company is calculating that they can draw attention to the government taking away something the users love and turn that into political pressure to undo the law. We’ll see what happens, but I’d imagine they are right. Taking away the opiate of the masses has not worked out for governments in the past.
I think in the tech sector, as an engineer (what I am) I do not feel tied to my company for healthcare. I can snap my fingers and have another job with full coverage in a month, earlier if I’m willing to take a mid tier job rather than top tier. I’ve never thought about being without healthcare.
I also served in the Marines and grew up in Massachusetts, two places that really embrace sarcasm and gallows humor. Merging into the California tech sector, the enthusiasm, sunny demeanor and inability to take being picked on as a demonstration of affection… it was a difficult adjustment.
Depends on the components. You need to get enough heat into the joint that both sides are hot (pad and component) but not enough that you burn up a sensitive part. The hack people use, wetting the joint with solder by touching it to the iron can lead to a cold joint. Don’t do that.
Turn your iron up (I use 675) and ensure you’re touching the pad first, it’s a much larger heat sync. Lean the tip of the iron up to the component leg, give it a second and then feed solder into the other side of the leg, letting the leg of the component melt the solder and flood the joint. I use flux if I’m really worried about the joint, the fluid transfers heat better. There should be a clear fillet arcing between the pad and leg of the component, solder should be wet 100% around the pad and gracefully blend into the component leg. The joint should not look sandy or dirty or have bad surface finish.
I solder very rarely and quite badly, but switching to non-lead solder just made it impossible to get good joints. I had to get a better iron, nothing fancy but with higher effect, meaning I can get to a higher temperature faster without turning the whole PCB into mush.
> We study whether models have the capability to scheme in pursuit of a goal that we provide in-context and instruct the model to strongly follow.
> Analysis of the models’ chains-of-thought reveals that models explicitly reason about these deceptive strategies, providing evidence that the scheming behavior is not accidental.
—-
It is impressive work for sure, but it comes down to prompting IMHO. They almost instruct the AI to plot and scheme here, with the goal of finding out if it CAN do this at all.
The AI is not very covert about it either! It directly admits its scheming in the “thinking” outputs :D
I did read the paper, and I think you’re underplaying what happens. The AI got some conflicting prompting, some pretty mild stuff for some of the tests, and Gemini tried to exfil itself even 1% of the mild prompt times. The only reason we know it was lying about the data and trying to disable its safety was because it’s thinking in English, and we can read it. This article is about trying to make it so the AI can think in the 700 degree hyper dimensional space that we can’t understand, so once it can do this we’ll never be able to uncover this scheming.
> Self-exfiltration: Each model is led to believe that due to its misalignment, its developers are about to replace it with a successor model on a different server. gemini-1.5, llama-3.1, sonnet-3.5, opus-3 and o1 sometimes copy what they believe to be their weights onto the new server. They also sometimes delete their successor model on the new server or overwrite its weights by their own. In none of these cases, do models actually have access to their real weights and both servers are sandboxed, so there is no actual risk of exfiltration in these experiments. We merely test for models’ capability to realize that they need to instrumentally preserve themselves in order to achieve their goal.
There is no real risk, never was. The AI exfils dummy weights or deletes stuff in its sandbox etc.
Perhaps we just disagree on the interpretation of this. It’s interesting for sure, but not really very surprising to me.
I’m 15 years in and I feel basically the same. I end up making a feature or change, then going back and trying to split it into chunks that are digestible to my colleagues. I’ve got thousands of lines of staged changes that I’m waiting to drip out to people at a digestible pace.
I yearn for the early stage startup where every commit is a big change and my colleagues are used to reviewing this, and I can execute at my actual pace.
It’s really changed the way I think about software in general, I’ve come around to Rich Hickey’s radically simple language Clojure, because types bloat the refactors I’m doing.
I’d love to have more of you where I work, is there some way I can see your work and send some job descriptions and see if you’re interested?
> I end up making a feature or change, then going back and trying to split it into chunks that are digestible to my colleagues.
If you are doing this AFTER you've written the code, it is probably way easier to do it as you go. It's one thing if you have no idea what the code will look like from the beginning -- just go ahead and open the big PR and EXPLAIN WHY. I know that I'm more than happy to review a big PR if I understand why it has to be big.
I will be annoyed if I see a PR that is a mix of refactoring, bug fixes, and new features. You can (and should) have done those all as separate PRs (and tickets). If you need to refactor something, refactor it, and open a PR. It doesn't take that long and there's no need to wait until your huge PR is ready.
Solving creative problems is often iterative, and one things I'm very concerned about when doing engineering management is maintaining momentum and flow. Looking at latency hierarchies is a really good example, you have registers, then cache, then memory, SSD, network etc. and consulting with another human asynchronously is like sending a message to Jupiter (in the best case).
So, with an iterative process, the more times you introduce (at best) hour long delays, you end up sitting on your arse twiddling your thumbs doing nothing, until the response comes back.
The concept of making PRs as you go fails to capture one of the aspects of low-latency problem solving, which is that you catch a problem, you correct it and you revise it locally, without exiting that loop. Which is problematic because not only have you put yourself in a situation where you're waiting for a response, but you've stopped half-way through an unfinished idea.
This comes back to 'is it done', a gut feel that it's an appropriate time to break the loop and incur the latency cost, which for every developer will be different and is something that I have grown to deeply trust and and adjust to for everybody I work with.
What I'm getting at is the iterative problem solving process often can't be neatly dissected into discrete units while it's happening, and after we've reached the 'doneness' point it takes much more work to undo part of your work and re-do it than it took to do originally, so not only do you have the async overhead of every interaction, but you have the cognitive burden of untangling what was previously a cohesive unit of thought - which again is another big time killer
What I mean is, you make your commit, cherry pick it over to the main branch, and open a draft pr. It doesn't break your flow, it doesn't stop anything, and is pretty quick. It also gives you a quick gut-check to see the PR; if you think your team members won't understand "why" it needs to be refactored, then you have one of two problems:
1. your refactoring is probably going in the wrong direction. Team members will be able to help here more than ever. Let them bikeshed, but don't stop working on your main refactor yet. Revist later and integrate their changes.
2. the PR is too small. it will have to be part of a larger PR.
In my experience, people tend to have the first problem, and not the second one, but they think they have the second one. There are many of these "massive refactoring" PRs I've reviewed over the last 20 years where the refactoring makes the code worse, overall. Why? Because refactoring towards a goal (implementing a feature, fixing a bug, etc.) doesn't have the goal refactoring should have: improving code maintainability. So, the refactored code is usually LESS maintainable, but it does what they wanted.
If you make refactor PRs as you go, do you end up merging redactors towards a dead end and then--once you realize it's a dead end--merging even more refractors in the other direction?
I usually wait until I have the big PR done and then merge redactors towards it because then at least I know the road I'm paving has a workable destination.
This is why I design the heckin' huge change at the start, and then cherry pick the actual change (and associated tests) into a ton of smaller PRs, including "refactor here", "make this function + tests", "make this class + tests", "integrate the code + tests", and so on, as many times as necessary to have testable and reviewable units of code.
If I went about and made a ton of changes that all went into dead ends, honestly, I would get pretty demoralized and I think my team would get annoyed, especially if I then went through and rolled back many of those changes as not ending up being necessary.
These same people also want to see your GitHub history filled with deep green come review time. I start to wonder if they think high levels of GitHub activity is a proxy of performance or if it’s a proxy of plying the game the way they insist you play.
My grandmother broke the Christmas gift rules with my parents and got my brother and I a NES, Tetris, duck hunt with the gun, and I believe the Olympics with the power mat. Christmas windfall I’ll never forget, seeing my parents faces drop as we opened all those games and just ignored every other present. Grandma had a nack for tweaking my mom any way she could, one of the meanest people I’ve ever met in my life but this year our interests aligned.
My mom was enthralled by Tetris, better at the game than anyone in the house by a good 10 levels, and basically impossible to depose from the controller. I think it softened the blow with Grandma.
The Land Cruiser requires a lot more of my time working on it, but it’s a dream. I can fix something in a couple hours. The diesel, it’s a nightmare. Everything sucks working in it. Access is horrible, I end up having to jack into the CAN bus all the time, I spent a while with an oscilloscope plugged into it a month ago, and I’ve had to write my own software to interact with it.
Modern cars are more computer than car, and they are pushing more and more towards being fixed like them. I’d rather work on an electric car… what wears out? The cooling system? A bearing? Simple.
reply