HN user

bitbuilder

333 karma
Posts1
Comments65
View on HN
Stop Slopware 7 months ago

I'm not sure that's a valid analogy. Light, composition and creativity are all experienced directly by viewer, and essentially describe what it is that we notice and appreciate in photography (even if subconciously). The best analogy I can think of to programming is the UX/UI of the application. Given equaly competent developers, nobody is going to notice or care if your application was written in Rust or Cold Fusion.

But the original analogy is flawed too. I wouldn't consider caring about the craft of programming to be similar to obsessing over your photography equipment. GAS is about consumerism and playing with gadgets, at the end of the day.

Caring about the craft of programming is more about being an artist who takes pride in crafting something beautiful, even if they're the only ones experiencing it. I am most definitley not one of those programmers, but have always had nothing but immense respect for those that are.

It's entirely possible they don't have the ability in house to resolve it.

I've started breathing a little easier about the possibilty of AI taking all our software engineering jobs after using Anthropic's dev tools.

If the people making the models and tools that are supposed to take all our jobs can't even fix their own issues in a dependable and expedient manner, then we're probably going to be ok for a bit.

This isn't a slight against Anthropic, I love their products and use them extensively. It's more a recognition of the fact that the more difficult aspects of engineering are still quite difficult, and in a way LLMs just don't seem well suited for.

I believe the point he was trying to make is that he doesn't want to be recommended things he wants to watch. He wants his YouTube use to be be focused and intentional, and not let himself get sucked into an endless stream of engaging content.

Yes, thank you. It feels like whenever this topic is brought up everyone argues between some false dichotomy of letting the kid binge on algorithmic slop or personally engaging with them in some wholesome activity.

Meanwhile a couple generations of us grew up with two working parents who were happy to just throw us in front of the TV or our lego sets when they needed a break. And that seemed to work fine?

Our daughter is only 2, but she's still absolutely thrilled whenever we let her zone out to some Disney movie on the TV, and has yet to even hold a tablet (that we know of, at least). I know things will probably change for us as she gets older, so I try to withold too much judgement from the parents I see happily plopping a tablet with YouTube in front of their kid. But for now, it's just hard for me to even imagine doing that.

I'm sure many would ask "whats the difference between a movie on TV amd YouTube on a tablet?" Well, tons, just from my personal experience. But her pediatrician, early child development professional we work with, and research I've read, all seem to indicate there's a pretty big difference.

This was incredibly irritating at first, though over time I've learned to appreciate this "extra credit" work. It can be fun to see what Claude thinks I can do better, or should add in addition to whatever feature I just asked for. Especially when it comes to UI work, Claude actually has some pretty cool ideas.

If I'm using Claude through Copilot where it's "free" I'll let it do its thing and just roll back to the last commit if it gets too ambitious. If I really want it to stay on track I'll explicitly tell it in the prompt to focus only on what I've asked, and that seems to work.

And just today, I found myself leaving a comment like this: //Note to Claude: Do not refactor the below. It's ugly, but it's supposed to be that way.

Never thought I'd see the day I was leaving comments for my AI agent coworker.

This article really resonated with me.

I'm currenlty juggling a few side projects, one of which is a game I've been tinkering with for 3 years. It's a pretty simple simulation of riding your bike through a city at night. It's never been anywhere near close to anything I could actually release, but I finally at least pulled together a gameplay video I could show off to my familiy and friends. They were all pretty impressed, and all wanted to know when I'd actually release it.

But I doubt I ever will. To me, making the game is my game, and I've tried to frame my side project work to my gamer friends that way. Sometimes it's giving myself new techncial puzzles to figure out, other times it's just letting myself zone out and get creative with world building, snapping together building facades like legos to build whatever crazy city I can imagine. It's so much fun.

Another is a web project that's much less fun and creative, but the more I tinker with it the more it turns into something that may actually be useful to others. And it may actually turn into something I can release and promote, and maybe even earn a little beer money with. I'm currently working up the motivation and courage to do a Show HN on that one here soon.

It almost pains me to say it (for reasons I can't even articulate well) but I've found LLMs to be tremendously useful in pushing through on side project work. I've lost track of how many projects I've spun up over the years and abandoned as soon as I got to the tedious parts you need to tackle if you actually want a marketable product (admin interfaces, user accounts, endless boilerplate html, etc, etc). With a competent LLM I can just delegate all the tedious crap and stay focused on what's actually fun for me. It's great.

The auto-commits of Aider scared the crap out of me at first too, but after realizing I can just create a throwaway branch and let it run wild it ended up being a nice way to work.

I've been trying to use Sonnet 3.7 tonight through the Copilot agent and it gets frustrating to see the API 500 halfway through the task list leaving the project in a half baked state, and then and not feeling like I have a good "auto save" to pick up again from.

That's been my experience as well with projects, though I have yet to do any sort of A/B testing to see if it's all in my head or not.

I've attributed it to all your project content (custom instruction, plus documents) getting thrown into context before your prompt. And honestly, I have yet to work with any model where the quality of the answer wasn't inversely proportional to the length of context (beyond of course supplying good instruction and documentation where needed).

Likewise it reminded me of my first summer job growing up in rural northern Illinois in the 80s: detasseling corn [1]. It was just something we pretty much all did, starting in Jr. High. So, if my math is correct, starting at around 12 or 13. The whole thing was managed via our school counselors, and they even used school buses to haul us out to the fields.

In the years I was doing it we all just lined up on one end of the field and walked the length of it pulling the tassles from the top of every stalk of corn. We started before dawn, soaked in the dew of the fields and freezing cold. And we ended early afternoon, soaked in sweat.

Pretty messed up in hindsight, though I can't say I've spent too much time thinking about it over the years. The only real lasting impact it's had on me is a crippling fear of grasshoppers, after being swarmed by them a few times in the fields.

[1] https://en.wikipedia.org/wiki/Detasseling

Agree with your sentiment, but I'd take it one step further: why doesn't anyone calling the shots at Meta realize just how uncool it is to do such a thing? Which is the same reaction I had to their recent AI influencers.

It speaks to their seeming inability to read the zeitgeist on the general public's attitude towards generative AI at the moment. I'm generally "pro AI", in that I think generative AI is incredibly interesting tech that can potentially be used to create some very cool (and maybe even helpful) things. But "AI" has become a dirty word among the people I know who aren't living in our tech bubble - uncool at best, and evil at worst.

And every time I see something like this, I understand perfectly why they feel that way. Every new hamfisted or creepy attempt at inserting AI into everything by companies like Meta just digs the hole even deeper for people's perception of generative AI.

I find myself hoping between o1 and Sonnet pretty frequently these days, and my personal observation is that the quality of output from o1 scales more directly to the quality of the prompting you're giving it.

In a way it almost feels like it's become too good at following instructions and simply just takes your direction more literally. It doesn't seem to take the initiative of going the extra mile of filling in the blanks from your lazy input (note: many would see this as a good thing). Claude on the other hand feels more intuitive in discerning intent from a lazy prompt, which I may be prone to offering it at times when I'm simply trying out ideas.

However, if I take the time to write up a well thought out prompt detailing my expectations, I find I much prefer the code o1 creates. It's smarter in its approach, offers clever ideas I wouldn't have thought of, and generally cleaner.

Or put another way, I can give Sonnet a lazy or detailed prompt and get a good result, while o1 will give me an excellent result with a well thought out prompt.

What this boils down to is I find myself using Sonnet while brainstorming ideas, or when I simply don't know how I want to approach a problem. I can pitch it a feature idea the same way a product owner might pitch an idea to an engineer, and then iterate through sensible and intuitive ways of looking at the problem. Once I get a handle on how I'd like to implement a solution, I type up a spec and hand it off to o1 to crank out the code I'd intend to implement.

For whatever it's worth, my dad was a programmer and spent my childhood doing his best to get me interested in it as well. But I just couldn't have cared less. I think most of us in our adolescent and teenage years just instinctivley feel like whatever our parents do must be lame and boring.

During my softmore year at UIUC in '94, I finally relented to his endless prodding to check out this www thing he was rambling about, and went to a presentation by the Mosaic team at a building down the street from me. Needless to say, that changed everything, and I've been coding ever since.

But I'm pretty sure it was in my DNA and it was only a matter of time before I admitted to myself that programming is actually fun as hell.

I'm sure you're proud of the paths your kids have taken, but hey, you never know. Maybe one day they'll also admit to themselves that dad's hobby was actually pretty damn cool and give it a go too.

That's a valid way to look at this, and I appreciate that perspective.

However, I think you may be missing the point that the advertisement is specifically meant to elicit, or create, those feelings of guilt or shame. Maybe I feel just fine about the amount I drink, but the wording of the ads subtely implied I should feel guilty about my drinking. If the question was "Do you feel like you could use help with your drinking? Then try Reframe.", then I'd agree with your point more.

But maybe a bad example, because in that case perhaps the end result of the targetted ad could in fact be a better outcome for everyone, as you point out. To pick a bit of a hyperbolic example, what if instead the ad had instead said "Tired of being the the ugliest girl in your class? Try BetterMakeup!" (with all the appropriate imagery the targetting provides). Is advertisement like that truly good for anyone but the seller?

As a bit of a side note, everyone knows ads are targetted now, so there's an implicit assumption on the viewers part that the seller must know something about them. And now advertisers are using that to their advantage.

I think the larger point though is that many of us simply do not think its ethical or healthy to give companies the tools to manipulate our emotions and tap into our insecurities in the pursuit of profit. The seller doesn't care about the buyer, they only care about convincing the buyer to buy their product, even if that means making them feel shitty about themselves.

I don't think it's the random ads that bother me and others so much, those are easy to tune out. Nobody cares about billboards. Random junk ads on websites are annoying, but I don't think they're doing much societal harm.

On the contrary, it's the hyper targetting of ads, nested in content algorithmically maximixed for engagement, that I object to.

I've worked in the ad industry, so I've certainly heard and appreciate the whole "we're just educating consumers about products they might be interested in" angle. That's fine, academically speaking, if that's all advertising was. However, advertising more often than not attempts to pray on people's emotions to generate demand for a product. And when we know exactly who someone is, it's SO much easier to do that.

As a perfect example, I woke up last Saturday, started scrolling IG, and saw an ad with a photo of a miserable looking middle aged man lying in bed, asking "Are you tired of feeling like a horrible father because of your drinking problems? Try Reframe!" (No idea what the exact phrasing was, but close enough to that.)

Yes, I'd in fact had drinks with friends the night before. And yes, I'm a middle aged dad. I thought the targetting was pretty hilarious, so I laughed and shared it with my wife and friends. But also, Reframe is praying on my feelings of guilt and shame in an attempt to sell me their shitty app.

I can laugh it off, but I'm not so sure your typical teenager could.

People tend to notice the neon clad roadie on an expensive bike taking the lane on a busy thoroughfare.

People don't tend to notice the guy riding his Wal-Mart mountain bike on the sidewalk on his way to work.

And they also don't tend to notice all the sensible, practical, riders who know to take the (relatively) car free residential side streets en route to wherever they need to be.

Agree heavily with this sentiment. It sounds like this could be a useful tool for a personal project of mine, but I wasn't nearly as interested after reading they're not attempting to make money yet. I'm a bit burnt out on that business model. Predictability is just as important as price when I'm deciding how to invest a large portion of my free time. I happily gave OpenRouter $20 for their service, and I've barely dented the credits with thousands of test runs over two months.

On that note, I think I'd be even more likely to pay for Unify.ai if I could opt to bypass the auto-routing and use it the same way I use OpenRouter - a single endpoint to route to any model I want. Sometimes I've already determined the best model for a task, and other times I want redundant models for the same task. It's possible Unify has this option, though I didn't see it while skimming the docs.

But really, all in all, this is a super cool project and I'm happy it was shared.

I don't believe they're saying the feature doesn't exist or never gets used, but rather it's rarely something that's taught to junior developers, and rarely something you see highlighted as a best practice.

I've been developing for 25+ years in any language you can imagine, and know how to use pass by ref just fine, and know there are situations where it might be the best solution.

But I can't remember the last time I've used pass by ref. It's really just a coding style quirk for me, I find it "ugly" and it breaks my train of thought when reasoning through the flow of code. I certainly don't begrudge anyone who uses it though.

And OP's anecdote about the interview is certainly disheartening. You'd hope the interviewer would at least be open to the idea of learning something new. I've learned countless things from developers I've interviewed over the years, and I was incredibly happy about it each time.

Edit: In re-reading your comment and below replies it seems you may be misunderstanding what's being discussed. Yes, the things we pass into and out of functions tend to be object references by default. But when we say "pass by ref" (in some languages at least) we mean, essentially, modifying a value in a calling function without actually returning anything from the called function. That's a horrible way to explain it, but the MS documents for the "ref" keyword do a good job of showing examples:

https://learn.microsoft.com/en-us/dotnet/csharp/language-ref...

Give it some time. I've been the manager of multiple engineering teams that had to undergo cuts, and in most cases I found myself in a situation similar to yours: it was obvious it was coming within months or weeks, but nobody was consulting me (which of course led me to believe I was being cut too).

But in every case, I was either consulted for input, or at least given a courtesy heads before the actual layoffs occurred.

In one case I was looped in a few weeks out and asked to help narrow things down. In another case I was simply shown a list of names the night before and offered a token opportunity to object. The list was sound, and I'm pretty sure my boss was doing me a solid on that one by sparing me the hardest decisions.

Line managers aren't always looped in for a few good reasons. Mainly, to prevent leaks. But also I think it can go a long way towards maintaining morale in a post layoff environment. There are countless anecdotes in these threads with people claiming their managers had no idea. Those same employees are now far less likely to be resentful of their managers for laying off their friends.

Best of luck. I don't envy being in your position.

layoffs don’t consider individual peformance

This is not true. The way layoffs almost always work is the CEO tells their VPs they need to cut, say, 10% of their staff. The VPs tell their Directors they need to cut 10% of their staff. And so on, and so forth.

And everyone managing people at every step of the way has an unofficial stack ranking in the back of their mind, and they just cut the names at the bottom of that ranking. The person turning in half assed work while being obviously overemployed will be the first to go.

Yes. Parent is leaning on the conventional wisdom of 10 years ago regarding mirrorless.

The AF on my a7 III is nothing short of miraculous compared to any mirrored camera I've ever used, even in light where I'm shooting at 128k ISO, 1/125, 2.0f. Quick and accurate locks every time.

I shot 1000+ photos over 3 hours at an event last week, and honestly I couldn't even tell you how much battery I used. Because I wasn't paying attention, because it's a non-issue. Even if it was, batteries are cheap, small, and easy to swap.

The 1857 Utah War 4 years ago

I'm 47 years old, decently educated, and can honestly say I'd never heard of this war and thought this was a great read.

Granted, it's quite possible I was taught about this in some very dry history class in high school while I was barely paying attention to the teacher. But I think it's safe to say this isn't a war that comes up often in popular discourse of US history.

I've recently gone back to the .NET world after a decade long foray into mobile and front web dev. Honestly, I wish I'd gone back sooner.

.NET isn't popular with the cool kids, and you rarely see it mentioned here on HN. But man, it's just a joy to develop in. The C# language is incredibly elegant, the libraries are very well thought out, and Visual Studio with Intellicode just feels like a modern miracle. Development just feels really, really fun again.

One point to keep in mind with .NET: it also opens up the world of Unity dev to you. And there's a ton of really fun development to be done there in games, VR, etc. At the moment my days are filled with cranking out APIs for business apps, while my nights are filled with playing around with cool VR ideas in Unity. All in the same IDE and language.

The downsides to the .NET world: as others have and will mention, the great bulk of the opportunities out there will be in the business world, doing fairly mundane dev. But, they're stable (and relatively easy) jobs. Also, I find more often than not that your typical .NET project is horribly overengineered with layers upon layers of needless abstraction. (Now that I'm realizing just out easy .NET dev is, I'm beginning to suspect all the needless abstraction is just bored devs making themselves feel relevant.)

But you won't go wrong with either choice. iOS dev can be a lot of fun too. Good luck!

Not OP, but at a former gig I was in a position to know the salaries of an engineering team spread out between North America and the UK. The UK engineers were doing the same work but paid salaries that would be considered insulting to most US engineers.

And frankly, the UK team was coding circles around much of the US engineers.

It was incredibly eye opening, and humbling.

as though escaping or distorting reality is inherently preferable. Maybe I equally misunderstand the motives of the heavy drinker?

You understand the motives just fine. Reality for many people is some combination of boring, stressful, depressing, etc.

So yes, escaping reality is very much preferable to these people. And alcohol and other drugs are very effective at this.

To state the obvious, improving your situation so you don't want to escape reality would be preferable. But that takes a hell of a lot more time, motivation, resources, and effort than just cracking open that next beer.

While I don't disagree with your point, whenever this point comes up I do feel the need to point out that getting a clear, high resolution photo of a (relatively) small moving object in the sky is actually a really hard problem for photography, especially at night.

If you've ever tried taking a photo of a particularly pretty moon with your phone, you'll know what I'm talking about. The striking orange harvest moon that seems to dominate the night sky suddenly becomes a little smear of light when you look at the photo on your phone.

Most phones or other cameras that people casually carry around have a relatively wide angle lens and accompanying FOV. That means anything at a distance will end up looking even further in the distance (ie, smaller) once you take the shot.

So to get a nice, clear picture of a distant object in the sky you're going to need a telephoto lens. That's fine, and there are plenty of people out there casually carrying around a telephoto. Except now you have a new problem: you need to track the moving object through your telephoto. Not impossible, of course, but not easy for typical person who happens to see a strange object in the sky while they have their camera with them.

Also, if the object is moving, you'll need a fast shutter speed. And if you increase your shutter speed you're going to have to increase your ISO as well. If you're seeing this strange object at night, that means you're likely pushing your ISO into a range where your photo starts to get pretty grainy.

All of these aren't insurmountable problems, people that shoot flying birds and planes do it all the time. But it takes a combination of equipment and photography skills that aren't exactly common. So now we're looking at a venn diagram of "people who see something strange in the sky" and "people who have the equipment and skills to get a good photo" to calculate our odds of having a really great photo of a UFO by now.

All that said, the point is still valid ("why don't we have more photos now?"). But at the same time, it's not as easy of a problem as many seem to think.

As a middle aged dude who's been in tech for 25 years, I can say that literally all of my close friends at this point in life were previous coworkers.

Especially if you relocate away from your hometown for a job, I'm not sure why that would be surprising to anyone. You spend at least 8 hours a day with these people, it only makes sense you'd eventually build some connections with them. And as the parent post points out, it certainly makes the days more enjoyable when you've built healthy relationships with your peers.

And come to think of it, most people 30+ I know seem to have friend groups of almost exclusively current or former coworkers. I don't think I'm by any means unique.

I'm having a hard time believing what I just read. Posting his work as an NFT without his permission is of course ridiculous, but then to viciously lash out at the artist not being ok with this? It's just unbelievable to me that people can think this way.

These people sold someone else's art, and then called him a luddite for not being ok with it.

As a hiring manager who was once a developer who was absolutely terrified of the typical whiteboard/algorithm interview, take home assignments are my preferred method to judge tech ability. However, I often feel it's not fair to ask the candidate to invest their personal time in the interview process. So I'm glad to see some affirmation that it's the preferred method for at least some.

When I have done take homes, I've tried to keep the time requirements minimal and the project itself simple and hopefully even a bit fun. It might even be as simple as "here's a REST endpoint, pick the JS SPA framework of your choice and do something interesting with that endpoint." Even just a simple form with clean code that builds will be enough to get you hired if you're otherwise a good candidate. Because in the real world, most of of us are just building CRUD apps.

All that said, I only bother with this if the candidate is incredibly green. For anyone with decent experience I generally assume they're not lying on their resume, and an hour long chat about their projects and technology interests will tell you more than any technical assessment.

Thanks! And solid point.

But to be clear, there was certainly a wide spectrum of relationships between 22 and 43. For better or for worse.

If I had to pick an age to tell my younger self to hold out for, it would probably be the early to mid 30s. That seems to be when I, and other guys I know, stopped being idiots and started taking care of ourselves. And in the process gained some self esteem and confidence.

I would have killed to know that that wasn't the case.

Same. It's actually pretty important information to know at that age, as it'll help prevent you from settling into a LTR with someone that you're not compatible with, because "I'll never do any better."

I was most recently single at 43, and my dating prospects were pretty great compared to what I experienced at 22. If 22 year old had been able to foresee that, I would've saved myself quite a bit of grief.