@avidamoeba@lemmy.ca
@avidamoeba@lemmy.ca avatar

avidamoeba

@avidamoeba@lemmy.ca

This profile is from a federated server and may be incomplete. Browse more on the original instance.

avidamoeba,
@avidamoeba@lemmy.ca avatar

Is this going to be the mule produced by breeding OpenAI with the Bing team?

Immich x FUTO Q&A (www.youtube.com)

Short version of this interview is that nothing is changing, other than they’re going to be asking a flat fee “$5-20” for the app, rather than relying on donations. All donation platforms have been closed. However, if you choose not to, as Louis says “that’s between you and your God”....

avidamoeba, (edited )
@avidamoeba@lemmy.ca avatar

Weird feeling about this. $5-$20 flat fee sounds like a lower price than what I’d imagine donations would bring. I imagine most who would donate would give at least $5-20, and then some would subscribe monthly. The dev team is obviously gonna get funding from Eron for now which would likely be higher today than what they get in donations.

avidamoeba, (edited )
@avidamoeba@lemmy.ca avatar

Me too, I subbed for monthly.

The one thing I can see FUTO can do is provide capital up front for developers to work which could be recouped over time as more users begin to use and pay for the software. That makes sense and in a competent, not neoliberal economy, the government might have a fund doing something like that. What I’m a bit worried about is that this might not be all Eron’s up to. But again, we’ll take his money when he gives it, so long as the work is open source. And we’ll see where we end up in a few years. 😅

avidamoeba,
@avidamoeba@lemmy.ca avatar

Uses multiple returns… I’m switching to Windows.

avidamoeba,
@avidamoeba@lemmy.ca avatar

Fuck.

avidamoeba, (edited )
@avidamoeba@lemmy.ca avatar

Maintainability.

You can’t read a block of code and as quickly and understand its control flow without reading every line.

For example say you have:


<span style="color:#323232;">...
</span><span style="color:#323232;">if this:
</span><span style="color:#323232;">    something
</span><span style="color:#323232;">    or other
</span><span style="color:#323232;">    and many more...
</span><span style="color:#323232;">    ...
</span><span style="color:#323232;">else:
</span><span style="color:#323232;">    yet another thing 
</span><span style="color:#323232;">    and some more
</span><span style="color:#323232;">    ...
</span><span style="color:#323232;">
</span><span style="color:#323232;">do some cleanup
</span><span style="color:#323232;">return
</span><span style="color:#323232;">...
</span>

Say you aren’t exactly interested in what happens inside each branch. If you can assume that there’s one return at the end of the block, you can see the if and else, you can reason about what values would trigger each branch, you can also see that no matter which branch is executed, the cleanup step will be executed before returning. Straightforward. I don’t have to read all the lines of the branches to ensure the cleanup will be executed. If I can’t assume a single return, I have to read all those lines too to ensure none of them jumps out of the function skipping the cleanup. Not having to think about such cases reduces the amount of reading needed and it makes reasoning about the block simpler. The bigger the blocks, the more the branches, the stronger the effect. You have one less foot-shotgun to think about. The easier you make it for your brain, the fewer mistakes it’s gonna make. For all those days when you haven’t slept enough.

avidamoeba,
@avidamoeba@lemmy.ca avatar
  • Time Troll
avidamoeba, (edited )
@avidamoeba@lemmy.ca avatar

Early returns are very similar to gotos. One level of nesting to take care of validation is trivial in comparison. You’re replacing logical clarity for minimal visual clarity. This is true regardless of the size of the function which shows that the size of the function isn’t the determinant. You’re not alone in your opinion, clearly, and I’m not going to convince you it’s a bad practice but I’ll just say what I think about it. 😅 This practice doesn’t make it my team’s codebase.

avidamoeba, (edited )
@avidamoeba@lemmy.ca avatar

I’m sure you are capable of rewriting that in 3 lines and a single nested scope followed by a single return. In fact in languages that use exceptions you have to use at least one subscope.

Notice that in my example I didn’t even broach the example with error conditions, cause it’s trivial to write cleanly either way. Instead I talked about returns inside business logic. You can’t unfuck that. 🐞

avidamoeba, (edited )
@avidamoeba@lemmy.ca avatar

I never said longer functions are not less clear. I said my argument is valid irrespective of the length of the function which shows that the problems I claim multiple returns bring are independent of function length. 😊

Any validation you can write with a few early returns you can write with an equivalent conditional/s followed by a single nested block under it, followed by a single return. The reader is free to leave if the validation fails nearly the same, they have to glance that the scope ends at the end of the function. Looks at conditional - that’s validation, looks at the nested block - everything here runs only after validation, looks after the block - a return. As I mentioned in another comment, validation is a trivial case to do either way. Returns inside business logic past validation is where the problematic bugs of this class show up which requires more thorough reading to avoid.

If you gave me a PR with early returns only during validation, I probably won’t ask you to rewrite it. If I see them further down, it’s not going in.

avidamoeba,
@avidamoeba@lemmy.ca avatar

Again, if you can write it with conditionals and returns, you can write it with equivalent number of conditionals and a single nested scope. No further scopes are needed. The conditional will even look nearly identically.

avidamoeba,
@avidamoeba@lemmy.ca avatar

Jerboa. Because it works alright, it’s open source and it’s the Lemmy team’s app.

avidamoeba,
@avidamoeba@lemmy.ca avatar

Read the article. 😊 I mean, it’s even in the one sentence summary.

avidamoeba,
@avidamoeba@lemmy.ca avatar

I don’t see this mentioned often, but ebikes just feel good to ride. People are hesitant until they try them. Once they try them, it’s over. Especially if it’s a nice torque-assist ebike they tried.

avidamoeba, (edited )
@avidamoeba@lemmy.ca avatar

Time to install a front hub. Small geared like the Bafang G311 for lightweight or Grin All-Axle for the same reliability as the rest of your bike. 😁

I run a rear G310 with 11sp drivetrain but to be honest if I knew everything I do now when I designed the build, I’d have left my drivetrain intact and used a front hub instead. It’s way easier to do, fewer compromises and it could even end up lighter.

avidamoeba,
@avidamoeba@lemmy.ca avatar

I guess you’re right that cheap cadence sensored ebikes might not feel that great, especially to people used to nice pushbikes.

avidamoeba,
@avidamoeba@lemmy.ca avatar

The Global South? Those people aren’t going to lay down and die. They’re gonna climb North, as they should. And then we’re gonna have to decide whether to shoot people approaching the borders or accept a huge population influx. Given our political reality, I think there’s a good chance we try the first option at first.

avidamoeba,
@avidamoeba@lemmy.ca avatar

The only sustainable solution to migration is reducing the reasons to migrate. Tackling climate change would reduce perhaps the biggest reason for migration we’re ever gonna see. So if you have to choose between curbing climate change without reducing migration, and curbing migration without reducing climate change, you should probably go with the former. The latter is only going to reduce migration temporarily and accelerate it long term. If they can even reduce migration in the near term.

avidamoeba,
@avidamoeba@lemmy.ca avatar

Wind turbans.

avidamoeba,
@avidamoeba@lemmy.ca avatar
avidamoeba,
@avidamoeba@lemmy.ca avatar

I had several Xperias before switching to Pixel. It was the lack of updates that did it for me. Offer 7 years of updates in a repairable package and I’ll buy an Xperia again. At this point the only two trains that look acceptable with their own pros and cons are Pixel and Fairphone.

avidamoeba,
@avidamoeba@lemmy.ca avatar

5 years? That must be new. 🥹

avidamoeba, (edited )
@avidamoeba@lemmy.ca avatar

Oh I’m aware, am part of the industry. I think the disparately higher compensation relative to the rest of the economy has given us a false idea we’re paid fairly (perhaps even unfairly high) for what we produce. Which I have definitely felt myself. In fact I’ve felt very strange of the disparities within the industry itself. However that’s completely the wrong way to look at it. There’s no magical upper number that our labor deserves. Everything is determined by what people pay and how much they buy. (I’m not saying that’s the only way it should be) So if the revenues and profits are sky high, and we know labor makes most of it happen, then our labor is simply worth that much more. Given that someone will collect the difference, we may as well get a larger share of it. The sooner we recognize that, the sooner we’ll get even higher compensation which will be much more beneficial for people in the wider economy than a much smaller proportion of the exec class getting wealthier. But that can’t happen without unions. We mistake the temporary labor shortage for stable and strong negotiation leverage.

avidamoeba,
@avidamoeba@lemmy.ca avatar

Oh this looks decent. British non-profit, I like it. Registering.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • anitta
  • mdbf
  • magazineikmin
  • InstantRegret
  • hgfsjryuu7
  • Durango
  • Youngstown
  • slotface
  • everett
  • thenastyranch
  • rosin
  • kavyap
  • khanakhh
  • PowerRangers
  • Leos
  • DreamBathrooms
  • vwfavf
  • ethstaker
  • tacticalgear
  • cubers
  • ngwrru68w68
  • modclub
  • cisconetworking
  • osvaldo12
  • GTA5RPClips
  • normalnudes
  • tester
  • provamag3
  • All magazines