There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

programmer_humor

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

ipkpjersi , in What the heck is a god dang cloud?

If you save it on your computer instead of on their servers, how could they possibly be expected to analyze your data? Come on now, be reasonable!

lseif ,

exactly! do people expect windows to scan every local file too??!

PlexSheep ,

Pretty sure it does that already, at least with defender

lath ,

Also, the explorer indexer at the very least takes note of what files it has stored.

bruhduh ,
@bruhduh@lemmy.world avatar

That’s why they created recent controversy with ai analysing your whole data, another reason to switch to Linux

efstajas ,

Tbf that analyzing was happening on-device… But yeah

bruhduh ,
@bruhduh@lemmy.world avatar

But analyzed data still get sent to them, so yeah

efstajas ,

Maybe I’m out of the loop, but afaik they always said that none of the data would ever leave the device.

bruhduh ,
@bruhduh@lemmy.world avatar

Check privacy settings, they sent usage data before, what stopping them now

efstajas ,

There’s a massive difference between what “usage data” refers to in this context and the kind of data stored and analyzed by Recall locally.

ipkpjersi ,

Sure but it still requires trusting them when they pinky promise they won’t send any recall data. Fuck them tbh. It just makes me feel even more right about my decision to switch to Linux years ago.

MonkeMischief ,

That’s the part that makes everybody nervous though. Everything from the global dragnet surveillance network to the marketing company behind your grocery store app is most interested in “metadata.”

Companies like Microsoft will loudly say they don’t want your cat pictures and memes and college papers, they’re not tying your usage to an explicit file with your name and favorite pasta varieties…

…BUT that forced transmission of “anonymous user data”, could potentially be super effective in identifying and manipulating you. With enough of it, you can easily put together a profile of an individual.

Heck, for a while, TOR would advise against resizing your brower window because the window size in pixels could potentially help fingerprint you on the web. How nuts is that?!

Most people actually worried about a spook digging through “videosHomework” are indeed paranoid.

But there’s been a lot of research at what can be done even if you’re just “userID 1284hdkfuw724bfiueb”

Draedron ,

God now its not only word “windows” summoning the linux bros but the words “AI” as well?

FlaminGoku ,

I think it’s pretty fair considering the implications of Recall

InternetCitizen2 ,

Yeah some people are too inconsiderate of shareholders.

jdeath ,

how would they even monetize that? so basic

Sabata11792 ,

Won’t somebody please think of the starving shareholders.

SatouKazuma , in Stop comparing programming languages

Mfw Rustaceans don’t exist :(

Also, JavaScript…why are you the way you are? Does anyone have advice for learning it so it makes sense? I can’t even get tutorial projects to run properly…

davidgro ,

This meme is older than rust.

polonius-rex ,

actually it says 8h meaning it's only 8 hours old

CanadaPlus ,

It will be 8 hours old forever.

southernwolf ,
@southernwolf@pawb.social avatar

Forever young…

polonius-rex ,

use typescript and don't look too hard at the infrastructure

frezik ,

I tried, but the infrastructure collapsed on me.

dis_honestfamiliar ,

Lol any

activ8r ,

Last company I worked at used Typescript, but used any for everything… I have no idea why. I never got an actual answer.

MostlyBlindGamer ,
@MostlyBlindGamer@rblind.com avatar

Because they didn’t want to train their JS developers and didn’t want to cause friction for new projects. They get to say they’re using TS, with basically none of the real advantages. (Apart from general rational error checking.)

MajorHavoc ,

The mantra that got me through JavaScript was “almost nothing we do here is able to be synchronous”.

Everything about the language makes more sense, with that context.

marcos ,

Start simple.

And that probably requires not going with a tutorial. Because the JS ecosystem scorns at “simple”. Just make some HTML scaffold and use MDN to understand the DOM.

magic_lobster_party ,

I like Douglas Crockford’s talks about the “good parts” of JavaScript. They’re old and probably a bit outdated, but he explain quite well the history and why JavaScript is the way like it is.

It clicked for me when I saw them the first time. Still hate JavaScript though.

wreel ,
@wreel@lemmy.sdf.org avatar

What Crockford did was enable a lot of devs to realize there was a viable development platform built into the most prolific and open network client in the world. For that he should be commended but it should have never been taken as “this is a viable general purpose language”.

magic_lobster_party ,

He also showed that JavaScript has more resemblance to functional programming languages rather than object oriented ones. If you try to treat it as an object oriented language like Java (like the seem to imply), you will have a bad time.

This has changed with TypeScript though.

repungnant_canary ,

Can it even make sense tho? To me JS is an example of a not too good thing that people started too eagerly so now they’re trying to make it make sense.

SatouKazuma ,

I have no idea.

draughtcyclist , in Let's do micro service

As an operator, this who thread reads like a bunch of devs who don’t understand networking and refuse to learn.

Sure, for smaller applications or small dev teams it doesn’t make sense. But for so many other things it does.

Ephera ,

The problem is that all projects start small, and frankly most of them die small. Aiming for microservices architecture right away is a surefire way to get the project killed before anyone would benefit off of the microservices.

whoisearth ,
@whoisearth@lemmy.ca avatar

The other angle is the majority of Devs are just… Not good…

A good Dev in the situation you mention will design the solution needed now not the one you hope for later.

I’m saying this as someone who has been mired in scope creep and over engineering solutions many times in my life because “what if 5000 people need to use it at once?!”

In most cases all you need is a database, a single thread and a simple API. Build it and then as the problems come grow with them. Try to take into account issues of scale but realize you can’t and shouldn’t solve every scenario because there are too many variables which may never exist.

Korne127 ,
@Korne127@lemmy.world avatar

A good Dev in the situation you mention will design the solution needed now not the one you hope for later.

Maintainability is one of the most important if not the most important goal when programming. If a dev only designs a solution that fits for exactly the current situation but doesn’t allow any changes, it’s not a good dev.
But yeah, if you start small, a solution that’s made for that is preferable. You can still refactor things when you get magnitudes larger and have the budget.

floofloof ,

The tricky thing about software development is this balance: you don’t want to hobble your system by designing only for today, because that could waste a whole lot of time later when needs change, but you also mustn’t paralyze the project by designing for all possible tomorrows. Finding a middle path is the art, and the only proof that you got it somewhat right is that things get done with relatively few crises.

reflectedodds ,

Microservice from the start may be a lot of overhead, but it should at least be made with that scalability in mind. In practice to me, that just means simple things like make sure you can configure it via environment vars, run it out of docker compose or something because you need to be able install it on all your dev systems and your prod server. That basic setup will let you scale if/when you need to, and doesn’t add anything extra when planned from the start.

Allocating infrastructure on a cloud service with auto scaling is the hard part imo. But making the app support the environment from the start isn’t as hard.

magic_lobster_party ,

Often a simple solution is the most maintainable solution. In my experience, the code that’s most difficult to maintain are often made by devs who tried to plan ahead. The code turns over engineered to allow for stuff that never materialized.

Potatos_are_not_friends ,

If a dev only designs a solution that fits for exactly the current situation but doesn’t allow any changes, it’s not a good dev.

I don’t think anybody is arguing this. Nobody (in my decade-plus in this industry) actively codes in a way to not allow any changes.

floofloof ,

You evidently haven’t met my colleagues. There are always people who go for the quickest hack despite the trouble it stores up for later, and they’re usually encouraged by management.

Potatos_are_not_friends ,

I always lump microservices architecture as premature optimization, one that should be used when you’re maxed out of resources or everything is too spaghetti.

I love the idea. And I even pitched it for a specific project. But I had to eat humble pie when the devops nerds threw more servers at the problem and it worked better than I expected.

lemmyvore ,

Sounds like that thing was already designed to be horizontally scalable. Was your error related to not realizing that? Or what was the problem being solved by microservices?

frezik ,

Networking has little to do with it.

Microarchitecture needs to be broken up into components. Those components need to send messages to each other. Components sending messages to each other is arguably the core of what object oriented design was trying to do all along. If your devs were bad at classifying components in an object oriented design, then they’ll probably be bad at it in a microarchitecture, too. Worse, the actual system is now likely spread amongst many different version control repositories, and teams stake out ownership of their repositories. Now you get more blockers spread amongst several teams.

Where the network layer comes into play is to replace something that used to be running in a single CPU core, or sometimes different cores on the same motherboard. Unless you can exploit parallelization for your use case, the kind where you have more threads than the number of CPU threads a single motherboard can handle (which can be several hundred on current systems), this will always be slower.

Pacmanlives ,

Being an older system admin this is how we worked. Would generally have an A and B side and maybe C on our stacks. Most of the time what I supported would be A and B clusters in two data centers and then do either 100% on our primary site or do a mix of traffic between our two sites

lemmyvore ,

Most software developers have no concept of real world limitations and issues like tolerances, failure, probability, latency, hysteresis, ramp-up etc. because they’re not engineers.

Normally they’d be expected to at least account for software-specific aspects like ACID or CAP or some vague awareness of the fact that when you’re dealing with multiple systems the data may not always arrive as you expect it, when you expect it. But even that is a crapshoot.

redcalcium , in New developer

When I was a teenager, I made a page in Word, saved it as html, then uploaded it to geocities. Good times.

BiteCode ,

That was not far away from what frontpage was honestly.

fadedmaster ,
@fadedmaster@sh.itjust.works avatar

Oh jeez. I completely forgot about Frontpage. That just brought some memories back.

ctenidium ,

Very clever! You need to find the tools you can work with to accomplish your goal.

RiikkaTheIcePrincess ,
@RiikkaTheIcePrincess@pawb.social avatar

<.< When I was a teenager (maybe early teens? Idunno, I’m not super old 😅 🧓 ) that’s just how we made websites 😹

narc0tic_bird ,

That’s what started it all for me tbh :D

ValiantDust , in Unused variables

But are you gonna return something for this method??? You said you’d return an integer, yet there is no return statement!

gregorum ,

and it had better be an integer! it had better be an integer, motherfucker!!

porous_grey_matter ,

Well yea… If you write “return <object of some other type>” that is actually wrong, as opposed to just not having gotten around to filling it in yet

gregorum ,
sik0fewl ,

This is why I always write my methods from bottom to top. This way I’ve always got a return statement and I use my variables before they are even declared.

NightAuthor ,

For a second there I thought you might be serious

ShouldIHaveFun ,

I do actually use variables before I declare them most of the time. IDEs make it so easy to then generate the declaration with the correct type.

NightAuthor ,

That’s true, in fact I’ve started doing that myself. Same with methods, instead of going and writing the method and then coming back to use it, I’ll write the invocation first.

N0tTheBees ,
@N0tTheBees@sh.itjust.works avatar

Ah an avid dreambird user I see

bitcrafter ,

Spotted the INTERCAL programmer.

silasmariner , in Exam Answer

They missed out the context code:


<span style="color:#323232;">trait DoW { def length: FiniteDuration }
</span><span style="color:#323232;">object Monday extends DoW { override def length = 24.hours }
</span><span style="color:#323232;">...
</span><span style="color:#323232;">implicit def toDoW(s: String): DoW = s match {
</span><span style="color:#323232;"> case "Monday" => Monday
</span><span style="color:#323232;">...
</span><span style="color:#323232;">}
</span><span style="color:#323232;">var day: DoW = _
</span>

(Duration formatting and language identification are left as an exercise for the reader)

Magnetar ,

Upvote for using Scala.

silasmariner ,

Implicit was too much of a give away wasn’t it?

Magnetar ,

I’ve literally seen code that does something awfully similar. But you could have used an Enumeration.

Fuck, I think you just gave me an idea for an issue in my code that has bugged me for days.

silasmariner , (edited )

I could’ve used a lot of things, but I’m on my phone and I wanted fewer characters to render it, whilst being sure it would work without having to run it.

Also, I am pleased to have maybe helped. Perhaps we can be friends, you and I. Perhaps not. Idk, maybe you punch dogs, why would you do that? Seems mean.

Have you ever just, like, edited a comment? How do people know when you did it? I guess if I were writing a thing to check it I’d use a registry of timestamps and checksums… So, like, ok, you can track, but why, how does it look?

Anyway sorry I had some drinks between now and first post, goodnight

paholg ,

Works even better in Ruby, as the code as given is valid, you just need to monkey patch length:


<span style="color:#323232;">#!/usr/bin/env ruby
</span><span style="color:#323232;">
</span><span style="color:#323232;">module DayLength
</span><span style="color:#323232;">  def length
</span><span style="color:#323232;">    if ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"].include? self
</span><span style="color:#323232;">      "24 hours"
</span><span style="color:#323232;">    else
</span><span style="color:#323232;">      super
</span><span style="color:#323232;">    end
</span><span style="color:#323232;">  end
</span><span style="color:#323232;">end
</span><span style="color:#323232;">
</span><span style="color:#323232;">class String
</span><span style="color:#323232;">  prepend DayLength
</span><span style="color:#323232;">end
</span><span style="color:#323232;">
</span><span style="color:#323232;">day = "Monday"
</span><span style="color:#323232;">
</span><span style="color:#323232;">x = day.length
</span><span style="color:#323232;">
</span><span style="color:#323232;">print(x)
</span>
silasmariner , (edited )

Code as given can be made valid in scala I believe. My starter was based on that assumption. I think raku can do it too, but you would probably have to x = $ to make it work…

Edit: misread your comment slightly, CBA to change mine now. It is what it is

Speiser0 , in What’s in a name?

Yes, I’ll name my child parent. This will reverse the tree, vertically.

LinearArray ,
@LinearArray@programming.dev avatar

It’s Sims 2 all over again.

kibiz0r , (edited )

And if they settle on they/them pronouns, you could have an inverted non-binary tree.

sverit ,

It’s like naming your dog ‘Cat’.

xmunk , in remember, if your gf isn't open source and running locally, you don't own her

My partner insists on syncing data to Facebook - even a locally running instance may introduce privacy breaches.

sharkfucker420 ,
@sharkfucker420@lemmy.ml avatar

Interacting with Facebook is generally a bad idea privacy or no

morrowind OP ,
@morrowind@lemmy.ml avatar

You can try imprisoning her with a wall of fire.

xmunk ,

What kind of kinky valentine’s day do you have planned!

21Cabbage ,

Maybe he’ll revoke her superuser permissions.

umbrella ,
@umbrella@lemmy.ml avatar

hot and bothered night of cleaning up python scripts and reflashing router firmware.

Honytawk ,

That spell it too high level

CookieOfFortune , in onlick

Is this an event for the next version of the Apple Vision Pro?

jol ,

Apple Taste Pro is a white sausage-shaped devices that you shove down your throught and controls your taste buds, olfactory system and controls breathing.

rikudou ,

And it will have whopping 5 apps at launch and 5 more during its lifetime (maybe). You also most likely need a mortgage to buy one.

gaterush ,

I don’t want to think of what the FaceTime integration would be like…

jol ,

In 2010 we brought you FaceTime. Today, we are proud to announce FleshTime, the new best way to communicate with your loved ones.

ILikeBoobies ,

We already have synchronized sex toys

jol ,

Apple always announces products like they are the only ones, except maybe with the first iphone. “this is the best iPhone yet” not the “best smartphone in the market”.

Also they wouldn’t call it sex toys, they would call it a whole new revolutionary class of communication devices.

threelonmusketeers ,
Artyom ,

It will project a super low-rez image of your tongue for others to see

AtariDump ,
bruhduh ,
@bruhduh@lemmy.world avatar

Checkmate

Klear ,

Interesting…

jol ,

This would actually probably maybe work

Zagorath ,
@Zagorath@aussie.zone avatar

Even better I reckon would be to use bone conduction technology like those sports headphones, but attach it up to your sternum.

Psythik ,

Personally I wish someone would make headphones that comes with a wireless “subwoofer” that attaches somewhere to your body and vibrates to the bass. The closest I found to this was the Skullcandy Crusher series. But the motors are in the headphones, which makes them bulky. Still, hardest hitting bass I’ve ever heard in a pair of headphones. It is unfortunate that a more prestigious brand won’t take the concept and evolve it.

quantenzitrone ,

hey, i have one of those skullcandy headphones

Psythik ,

Don’t get me wrong, they’re amazing for bass-heavy music; they’re just not so great if you care about things like imaging, sound staging, a neutral frequency response, and low latency Bluetooth, none of which the crushers are particularly good at. The Crusher Evo has such bad staging, for example, that they almost sound mono. Makes them completely worthless for movies and games (which is a shame, cause movies and games could always benefit from more bass).

quantenzitrone ,

yeah the sound quality is not so great

Brickhead92 ,

iBreath™ control now available for the low price of $19.99 a month!

1984 , in 5/5 stars
@1984@lemmy.today avatar

I don’t know what this is since I dont use windows, and it makes me happy.

Holzkohlen ,

Jomo - joy of missing out

Blackmist ,

I feel that every time I see an advert for Paramount+.

xthexder ,
@xthexder@l.sw0.com avatar

My adblocker is causing me to miss out on the JOMO!

cornshark , in DO NOT MERGE

Heh, a funny collision of terms.

The green Merged means that the pull request was submitted into the branch.

The DO NOT MERGE text is an instruction for automerger. Android is developed in a truly startling amount of related git branches. Automerger is the tool that propagates commits back and forth to make sure pull requests get to all flavours, versions and devices.

DO NOT MERGE tells Automerger not to propagate that pull request to newer versions of Android, i.e. it’s a fix for the currently released version that’s not relevant to the next development version of Android for whatever reason.

Also seen, although more rarely, is DO NOT MERGE ANYWHERE which tells Automerger not to propagate the pull request to any other branch other than where it was originally submitted, including branches for related products on the same version of Android.

leds OP ,

Interesting, thanks for explaining. Like someone else was saying it is already in AOSP not introduced in lineage which makes sense since it is just a cherrypick

CodeMonkey ,

Out of curiosity, any idea what automerger they use? I have always been on the lookout for one for hobby projects.

RamdomSlaphead , in Bug fixing ways
sirico , in Oopsi Woopsi
@sirico@feddit.uk avatar

Linus has really gone off the deep end

barsoap , (edited ) in “It’s not that hard”

For the curious, this is about as easy as it gets for proper type inference. You could leave out the one or other thing (most prominently, polymorphism), but that kind of stuff would hardly qualify as even a toy example.

I won’t claim that J. Random Hacker will have issues understanding it – it’s a neatly tied bundle of necessary complexity without any distracting parts (like efficiency), if you sit down with the thing (ideally starting the whole series from the beginning) you’ll be able to grok it (and have learned a lot). However, understanding HM isn’t the same as being able to extend it, which includes proving soundness of the system, that kind of stuff is a specialised field within a specialised field within academia with more open questions than answered ones. The reason Rust doesn’t have HKTs? Because their interaction with lifetimes is insufficiently understood. Those kinds of questions can easily start 20+ years of research only to be answered with “yep that’s inherently unsound/uncomputable/whatever”.

Oh, EDIT, forgot: AI-enabled typing is obviously a completely braindead idea. I don’t need a second lazy, impatient, hubristic idiot looking at my code, I need something to catch mistakes. Something deterministic, rule-based, pure unerring logic. Which is exactly what type systems are and do.

haui_lemmy ,

This must be one of the best comments I have read so far on lemmy. Thank you. :)

dejected_warp_core ,

AI-enabled typing is obviously a completely braindead idea.

I agree. However, and I know I’m practically reading tea leaves here, but I read that last line as a suggestion that AI would replace programming outright.

agilob , (edited ) in GoOn
@agilob@programming.dev avatar

:00 - :ff

Edit: Just learnt this can be also noted as:

:: - ::f

glibg10b ,

What about IPv4

  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • random
  • lifeLocal
  • goranko
  • All magazines