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.

doubletwist , in Googling

Not only is “Googling” one of my most important job skills, now that I’m doing professional services, my entire job basically consist of “Learn product ${FOO} faster than the customer’s employees can.” Which of course primarily consists of knowing what to search for, how to find it, and how to interpret and use what I find.

bleistift2 ,

So you’re that contractor that always shits out code that looks like the guy who wrote it was just learning the language?

DragonTypeWyvern ,

Did it work tho

Qwaffle_waffle ,

Works as expected.

doubletwist ,

Yeah pretty much. I mean I do the best I can (and I do have resources to look to for help).

psycho_driver , in Malware As A Service

The answer is obviously to require all users to change their passwords and make them stronger. 26 minimum characters; two capitals, two numbers, two special characters, cannot include ‘_’, ‘b’ or the number ‘8’, and most include Pi to the 6th place.

arendjr ,

Sorry, I don’t understand. Do you mean there have to be 6 digits of Pi in there, or the sixth character must be π? I’m down either way.

chiliedogg ,

We won’t tell you, and the rule gets re-rolled every 14 seconds. It may stay the same or it may change.

JackbyDev ,

Also, there are requirements we check for that we don’t tell you about! 🤭

greybeard ,

The modern direction is actually going the other way. Tying identity to hardware, preventing access on unapproved or uncompliant hardware. It has the advantage of allowing biometrics or things like simple pins. In an ideal world, SSO would ensure that every single account, across the many vendors, have these protections, although we are far from a perfect world.

Knock_Knock_Lemmy_In ,

SSO means you only need to compromise one piece of hardware to get access to everything.

greybeard ,

Effectively, the other option is passwords, and people are really, really, bad at passwords. Password managers help, but then you just need to compromise the password manager. Strong SSO, backed by hardware, at least makes the attack need to be either physical, or running on a hardware approved by the company. When you mix that with strong execution protections, an EDR, and general policy enforcement and compliance checking, you get protection that beats the pants off 30 different passwords to 30 different sites, or more realistically, 3 passwords to 30 different sites.

Knock_Knock_Lemmy_In ,

Yes, much better than 3-30 passwords.

But I view SSO as enterprise password manager with a nice UI. I don’t trust it for anything super important.

ulterno ,
@ulterno@lemmy.kde.social avatar

Great! Now when I brute force the login, I can tell my program to not waste time trying ‘_’, ‘b’ and ‘8’ and add Pi to the 6th place in every password, along with 2 capitals, 2 numbers and 2 other special characters.

Furthermore, I don’t need to check passwords with less than 26 characters.

iAvicenna , in Crowdstrike
@iAvicenna@lemmy.world avatar

just removed a comment on my first day

snow_bunny , in Googling

Clearly fake. Nobody’s hiring nowadays.

uis ,

There is always shortage of highly-skilled unpaid labour.

devilish666 , in Type in Morse code by repeatedly slamming your laptop lid

Now write code with it
I dare you
<⁠(⁠ ̄⁠︶⁠ ̄⁠)⁠>

stoy ,

Do the characters even have morse code assigned to them?

morgunkorn ,
@morgunkorn@discuss.tchncs.de avatar

I found those:


<span style="color:#323232;">Underscore		. . _ _ . _
</span><span style="color:#323232;">Addition		. _ . _ .
</span><span style="color:#323232;">Subtraction		_ . . . . _ 
</span><span style="color:#323232;">Multiplication		_ . . _
</span><span style="color:#323232;">Division		_ _ _ . . .
</span><span style="color:#323232;">Equal			_ . . . _
</span><span style="color:#323232;">Right Parenthesis	_ . _ _ . _
</span><span style="color:#323232;">Left Parenthesis	_ . _ _ .
</span>

But this isn’t enough for programming, square and curly brackets, carets, ampersand, pipe, tilda… I think it’s gonna be pretty challenging

bruhduh , (edited )
@bruhduh@lemmy.world avatar
JackGreenEarth ,

Please delete the .m. from the Wikipedia link so it’s correct for desktop users.

bruhduh ,
@bruhduh@lemmy.world avatar

Ok

JackGreenEarth ,

Thanks!

14th_cylon ,

What if desktop users delete it themselves, if they don’t like it?

JackGreenEarth ,

The default link redirects for mobile automatically, it doesn’t work the other way around.

14th_cylon ,

Ok, that’s fair point, but it still isn’t other people’s job to serve you links just how you like them.

cheddar ,
@cheddar@programming.dev avatar

Can’t you extend it by adding extra bits? Though typing them would be problematic as the length will be growing too.

morgunkorn ,
@morgunkorn@discuss.tchncs.de avatar

It would be a blow to render this typing method slightly slower, definitely a deal breaker 😏

Turun ,

C is so old, it has a way to work around that! In case your 198x keyboard was not set to ASCII you know. Not sure if Morse covers all the characters needed for the replacement trigraphs though.

riptutorial.com/c/example/23858/trigraphs

morgunkorn ,
@morgunkorn@discuss.tchncs.de avatar

I love when there are solutions for every weird use case ^^

qaz ,

COW (a moo themed brainfuck variant) would work.

korthrun , (edited ) in Which one???
@korthrun@lemmy.sdf.org avatar

It’s all about context. If you write a convenience function and put it in zshrc, scripts you run from the cli will not have access to the function as defined in zshrc. Same with aliases added by zsh plugins etc.

If you need “the thing” on the command line, zshrc. If you also need it in scripts you run from the cli, toss it in the profile file.

ETA: I personally keep the functions I want to access from scripts in .zshenv as I recall reading that this file is ALWAYS sourced.

gamma ,
@gamma@programming.dev avatar

What kind of functions do you write which you share between your scripts? Generally if I’m wanting to reuse a non-trivial function, I extend the functionality of the first script instead.

korthrun ,
@korthrun@lemmy.sdf.org avatar

All of the repos for my GitHub sourced vim plugins live under one parent directory. I symlink to them from ~/.vim

One example is a simple function that pushes the top level repo directory onto my dir stack and then runs a loop where it pushes each subdir into the stack, runs “ggpull” then pops back to the top level repo directory. ggpull is an alias added by the zsh git plugin. After all repos have been updated it pops back to my original pwd.

I run this as part of my “update all the things” script but sometimes I also want to run it in demand from the cli. So I want this function in all scopes and I want it to have access to “ggpull” in all of those scopes.

korthrun ,
@korthrun@lemmy.sdf.org avatar

I also “misuse” timewarrior a bit and use it to time things like “how much time do I spend waiting for salt to run”. That has its own timewarrior db and a wrapper function for pointing the command at said db. I use this in both login and non login shell contexts.

gamma ,
@gamma@programming.dev avatar

Yeah, I’d write this as a single update script with options to update vimplugins or update pkg or update all.

I see that you want it to be a function so you can get the chdir as a side effect, but mixing that with updating doesn’t make sense to me.

stetech ,

zshenv’s selling point isn’t necessarily that your typical functions are available across scripts (though that can be neat, too – I source aliasrc as well as an utils script file in my shell config) – it’s that it’s there for non-interactive shells too, whereas zprofile is only applied for login shells (and zshrc only for interactive ones).

So for example, I could open a command in my editor of choice (Helix’s :sh for me), and if I define stuff using the zshenv, all of my aliases etc. are right there. I just have to avoid naming conflicts for script function names if it’s the default shell, but that’s pretty easily done.

tisktisk , in Crowdstrike

Anyone confirmed this true or not?

sjmarf OP ,

It’s a joke.

PythagreousTitties ,

How do you function in life?

isVeryLoud ,

Like this

PythagreousTitties ,

“You chose… poorly”

drathvedro , in Average CSS

I’m appalled that classes representing visual styles are still a thing. I thought everyone already figured that it was a bad idea back in bootstrap days. But then I recently had an opportunity to work on project that uses Vuetify and saw quite long poems about flexboxes in class names…

Ephera ,

Well, there’s not exactly a class training you have to take before writing CSS, so everyone starting out with it gets to make all those same mistakes for themselves before they know how to use classes sensibly. I myself am some backend guy, who has to write CSS far too often.

It certainly also does not help that various CSS frameworks out there do exactly that…

bleistift2 ,

It certainly also does not help that various CSS frameworks out there do exactly that…

Bootstrap (as of v5) being one of them. div class="d-flex gap-2 my-3 align-items-center flex-nowrap justify-content-between

I was annoyed at this at first, but I’ve since noticed that I write hardly any CSS any more, because most rules really are “just add some space, vertically align, be red”.

Blackmist ,

Could argue here that you’re still writing CSS, just cross compiling to it from Bootstrap shortcuts.

Ephera , (edited )

Yeah, the reason why people deride it, is because it’s practically equivalent to:


<span style="color:#323232;">div style="flex: 1; gap: 2em; margin-top: 3em; margin-bottom: 3em; ..."
</span>

I had to look up what these do, so they might not be precisely correct translations, but hopefully, you get the idea. It’s mostly like using inline styles, and like not using classes.

In some scenarios, these frameworks might simplify certain things, like how my applies two CSS rules. And they reduce the visual clutter of inline styling somewhat.

But overall, it feels like people are dissatisfied with semantic classes, but don’t want to lead the discussion for using inline styles, so they grab these CSS frameworks to pretend that they’re not using inline styles.

It is fundamentally a difficult discussion to lead, because inline styles feel great, while you’re writing them. They’re less great for maintenance.
But semantic classes definitely have long-term problems, too.

ClassifiedPancake ,

And then came Tailwind…

dajoho ,

I know! What a mistake of a framework. Glad my colleagues drummed it out of me.

ClassifiedPancake ,

I gave it a chance for a tiny project but even then it was painful.

smooth_tea ,

“Figured it was a bad idea” actually means that some people were against it because they believed semantic class names were the solution, I was one of them. This was purely ideological, it wasn’t based on practical experience because everyone knew maintaining CSS was a bitch. Heck, starting a new project with the semantic CSS approach was a bitch because if you didn’t spend 2 months planning ahead you’d end up with soup that was turning sour before it ever left the stove.

Bootstrap and the likes were born out of the issues the semantic approach had, and their success and numbers are a testimony to how real the issue was, and I say this as someone who never used and despised bootstrap. Maintaining semantic CSS was hard, starting was hard, the only thing that approach had going for it was this idea that you were using CSS the way it was meant to be used, it had nothing to do with the practicality. Sure, your html becomes prettier to look at, but what good is that when your clean html is just hiding the monstrosity of your CSS file? Your clean html was supposed to be beneficial to the developer experience, but it never succeeded in doing that.

Aux ,

There’s nothing hard about semantic naming. Especially when you’re separating your elements into components and use SCSS or some other pre-processor.

smooth_tea ,

Either you understand that the consensus is that naming things is hard and you just want to elevate yourself above everyone else by arguing against it, or you’re unaware that it is the consensus, in which case your opinion doesn’t really matter because you most likely underestimate the issue.

It’s such a truism that I’d suggest googling "naming things is hard*.

There are only two hard things in Computer Science: cache invalidation and naming things. – Phil Karlton

www.namingthings.co

calcopiritus ,

Aren’t classes in CSS supposed to represent visual styles? What else could they be for?

Mesa ,
@Mesa@programming.dev avatar

Pretty sure they’re referring to class names describing the visual style being applied, rather than what that class represents semantically.

E.g. .red-bold vs. .error-text

calcopiritus ,

Oh, that makes sense.

prof , in <br>
@prof@infosec.pub avatar

Oh boy.

We had a class in the first semester of uni where we had to create a static html page based on a screenshot.

There was this one textbox at the top of the site, where the only way you could recreate the screenshot was by using a <br/> in the middle of the text.

The prof was very picky about your HTML being semantically thorough and correct, so that was super weird that that was necessary.

AnUnusualRelic ,
@AnUnusualRelic@lemmy.world avatar

A break is absolutely correct html though.

prof ,
@prof@infosec.pub avatar

My point is sematics.

You can style your whole webpage with divs, but using main, nav, footer or whatever blocks is semantically more correct, because you group elements together that have a certain purpose.

A HTML Tag in the middle of a sentence is not wrong per se, but when parsing it a line break could signify two sentences where one has missing punctuation, instead of a complete sentence as your original intention was.

I don’t really care how the design you want is achieved to be honest, but I don’t get why the prof didn’t argue against.

JackbyDev ,

<img> tag harr harr

Restaldt , in <br>

Need some padding between elements?

Haha nbsp; go brrrrrrrr

pineapplelover ,

I too use &nbsp;

Saganaki , in What a simple fix

It’s an unnecessary folder if you’re running 64-bit.

AnUnusualRelic ,
@AnUnusualRelic@lemmy.world avatar

It’s only there in case you downgrade your processor.

Solemarc , in Malware As A Service

Maybe this is a case of hindsight being 20/20 but wouldn’t they have caught this if they tried pushing the file to a test machine first?

tabularasa ,

It’s not hindsight, it’s common sense. It’s gross negligence on CS’s part 100%

JackbyDev ,

Well, it is hindsight 20/20… But also, it’s a lesson many people have already learned. There’s a reason people use canary deployments lol. Learning from other people’s failures is important. So I agree, they should’ve seen the possibility.

Gsus4 ,
@Gsus4@programming.dev avatar

I saw one rumor where they uploaded a gibberish file for some reason. In another, there was a Windows update that shipped just before they uploaded their well-tested update. The first is easy to avoid with a checksum. The second…I’m not sure…maybe only allow the installation if the windows update versions match (checksum again) :D

dariusj18 ,

Windows has beta channels for their updates

undu ,

It’s a sequence of problems that lead to this:

  • The kernel driver should have parsed the update, or at a minimum it should have validated a signature, before trying to load it.
  • There should not have been a mechanism to bypass Microsoft’s certification.
  • Microsoft should never have certified and signed a kernel driver that loads code without any kind signature verification, probably not at all.

Many people say Microsoft are not at fault here, but I believe they share the blame, they are responsible when they actually certify the kernel drivers that get shipped to customers.

randomaside , in imagine if the crowsstrike bug was malicious...
@randomaside@lemmy.dbzer0.com avatar

Wall Street bets regards linked to an evil admin attack? 😕

ryannathans ,

Some guy posted a short thesis for crowdstrike just hours before the thing happened

Logh , in Malware As A Service

Funny how CrowdStrike already sounds like some malware’s name.

dmention7 ,

It literally sounds like a DDoS!

bruhduh ,
@bruhduh@lemmy.world avatar

Botnet if you will

SkyNTP ,

Not too surprising if the people making malware, and the people making the security software are basically the same people, just with slightly different business models.

Eylrid ,

Classic protection racket. “Those are some nice files you’ve got there. It’d be a shame if anything happened to them…”

Excrubulent ,
@Excrubulent@slrpnk.net avatar

Reminds me of the tyre store that spreads tacks on the road 100m away from their store in the oncoming lanes.

People get a flat, and oh what do you know! A tyre store! What a lucky coincidence.

JackbyDev ,

It sounds like the name of a political protest group.

Legendarylootz , in Malware As A Service

The real malware is the security software we made along the way.

WhiskyTangoFoxtrot ,

We’ve known that since Norton and McAfee.

mnemonicmonkeys ,

At least McAfee’s antics were entertaining

rambling_lunatic ,

The guy left his company long before the shenanigan cascade

expr ,

After working at a company that had Crowdstrike installed on all machines, it is most certainly malware.

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