• 0 Posts
  • 35 Comments
Joined 1Y ago
cake
Cake day: Jun 06, 2023

help-circle
rss

Yeah, fuck that. English is bs enough.

Edit: yeah, that “feeling” is knowing it so well, you don’t totally understand it, and also means it’s hard to convey


This is giving me stress daymares about Spanish in high school.

Still, it’s an interesting point you make.

But then again, with definitive articles you have a bunch of things that are not supposed to convey gender conveying gender. Like a toaster… It would suck to have to remember the gender of a toaster, or, well toasters in general.



I hear what you’re saying.

First, I hard disagree with you. Overwriting my local version of code is a parachute - not an ideal landing, but better than merging by hand.

Also, my comment was not an attempt to teach everything about git, just to explain what is happening in simple terms, since git requires a lot of experience to understand what those messages mean.


Great meme, and I’m sure op knows this, but for anyone else who is curious…

007 in theory means:

  • 00: you have already committed your code to your local code base
  • 7: When you try to merge your code with everyone else’s there are 7 files that others have worked on since you last refreshed your local code base.

To resolve this, you need to go file by file and compare your changes with the changes on the remote code. You need to keep the changes others have made and incorporate your own.

You can use git diff file_name to see the differences.

If you have made small changes, it’s easier to pull and force an overwrite of your local code and make changes again.

However multiple people working on the same files is usually a sign of organizational issues with management. Ie, typically you don’t want multiple people working on the same files at the same time, to avoid stuff like this.

If you’re not sure, ask someone that knows what they’re doing before you follow any advice on Lemmy.


If you don’t have apt backups, that is a failure of the process, not yours.


You can also do this by forgetting a WHERE clause. I know this because I ruined a production database in my early years.

Always write your where before your insert, kids.


Speaking of Java RipS. How annoying is it the JS has left Java in the dust as far as looser standards?

Developing in Java: YOU FORGOT A SEMI-COLON ARE YOU CRAZY?! HOW IS THE COMPILER SUPPOSED TO KNOW WHAT TO DO?!

Developing in JS: Who gives a fuck about semi-colons?


I love js. But the date object has always been a total pain. Moment.js is a good package to deal with it, but yeah, it’s currently deprecated, but it would be nice if it or something like it became part of ECMAScript.

I have no idea why it hasn’t yet, except that it might be that js needs to work for everyone, not just the us. So time is not standard.


The place I work decided to name all tables in all caps. So now every day I have to decide if I want to be consistent or I want to have an easy life.


Even using absolute best prackies, developers are gonna find a bunch of stuff to complain about.


As a person who victimizes coworkers like this, I apologize. Thank you for pointing it out, and I will stop doing it.


No offense, but I know how to read a stack trace, and yes locate a familiar file - if you’re lucky enough to have one listed therein.

My point is, there is no excuse for them being so terrible except that they’ve always been that way.

The important information should be brief and at the top. This is design 101. The same ideas that have driven newspaper articles and websites for as long as the two have been a thing.

You put the important stuff in big letters at the top, and the rest, if you need it, is beneath the fold.

Edit: just to drive the point home: I’m sure it’s not the packages I’ve downloaded that are causing the error, I am positive it is my code, so show me where my code had a mistake first. Then you can show me the horrible “wall of text” that is the stack trace so I can understand it better later, but 99% of the time, just seeing the line that caused the error is enough to know what the problem is.


Hey hey. JavaScript is easy. It’s when you get into virtual doms that debugging becomes a nightmare.


Can you give us an eli5 on sourcemaps?


It is 2023 my brother in christ! We deserve better error outputs than a stack trace.

  1. Tell me what line in my file caused the error,
  2. Tell me the values of the variables involved,
  3. Then you can have the stack trace.

Why are we pretending like these error messages are acceptable in 2023?!


Yeah, but that’s some bullshit. I want to know what line in my file is causing the error.

And they know! They know what line in your file caused the error! They know the value of all the variables when the error hit. But do they show that? Fuck no.


Also the part where someone else wrote the code 20 years ago, and they haven’t worked for the co for 19 years. And now you have to find a bug that makes no sense, with no idea how he even compiled the code. You work on it for 3 months and every day someone’s riding your ass about it till they finally say well, let’s put it in the backburner.


The savior of mankind. We are not worthy.


Any mention of a server room reminds me of the fable of the guy, we’ll call him Mike, who unplugged the Internet.

I can’t remember where I read it, I think it was greentext on Reddit years ago.

So Mike is an intern, and due to some weird circumstances he becomes the only network admin in the building. Well, one day he doesn’t esnt feel like working, so on his way in, he stops by the server room and unplugs the internet.

He then goes to his desk like a normal day. Then he starts getting phone calls. Everybody is freaking out because there is no Internet. So he begrudgingly descends into the server room and starts playing video games on his phone.

Close to the end of the day, he plugs the Internet back in and ascends a hero to the employees because they think he’s been working hard all day to give them internet.



I appreciate your emacs perspective, thanks for the input.

I get the sense that programmerhumor hates prefixes, but I’m telling you, they have changed my life. Next project-for-fun, just give it a try and see what happens. I think you’ll be surprised.

To many of your points, I say I agree that a lot of naming conventions depend on context. The environment you’re working in, the IDE, the team you’re working on, the language you’re coding in.

However, prefixes I’m firm on. I think it’s unpopular because it’s from a bygone era where IDEs were non-existent. And while yes, ides have replaced many of the uses, they have been the most radical change to my readability and comprehension of the code I’ve written.

Also, I’m mostly a js programmer, so yes, very different from emacs.

Also, for calc_SumYears, I literally meant to add the years together, hense the prefix. So, maybe the prefixes are a little more useful than you give them credit.


I have to disagree on some points, but I def feel like you’re helping me learn, so for that I am grateful.

I feel like you’re speaking from the perspective of a perfect coding environment, which if you have that, that’s great. Maybe all your code is in one place, maybe you have an IDE that does a lot of the work for you, and that’s great. However, for most of us, that’s rarely the case.

Prefixes have been an absolute game changer for me personally, and I will never not use them again.

I have also found that verbosity of variable name and readability are mutually exclusive. A long variable name, most of the time, takes away from the logic. Yes, they are “free” as far as memory, but are very expensive to reliability.

Units tests, again are great, but most places think unit tests are like golden toilets. It sucks, but that’s the way it is. Usually you’re given a task, and if it’s not done next week, maybe you’re not as good as they thought.


Sorry, I’m serious. These are things I have picked up from 18 years in the industry.


Does anyone have any good advice on variable naming? Here’s some of my rules I try to live by:

  • camelCase
  • use prefixes
  • prefixes should be one word followed by an underscore.
  • 10 character limit or 3 word limit, not counting the prefix
  • functions should be prefixed with the file in which they’re defined, ie utils_FooBar
  • file names should be one word
  • Start Bools with is
  • Don’t use not in bool names.
    • This has farther-reaching implications that will keep you from making confusing code most of the time (I’m sure this will be controversial, but it works no matter what they say)
  • start output with _
  • Globals should be g_VARIABLENAME
  • use the least amount of words possible
  • but being too verbose can draw attention - use this to aide in readability
    • calc_ImportantValueThatWillDecideTheUsersView is better than calc_SumYears if the variable is more important than the others.
  • Even the greatest variable names are not replacements for documentation
  • Even the most readable code is not replacement for documentation.
    • Force yourself to love documentation.

Edit: I realize I was speaking about function-naming with the prefix stuff.

For variables, I still use prefixes, but for variable type. Even if you define the variables as types, it’s still incredibly useful. For instance,

a string is s_MyName,

enumerable is e_MyType,

A number is int or double or whatever i_MyAge or d_MyWeight

This might be obvious for custom objects, but I’d still do it like this p_Person or per_Person.

Seriously it does make a huge difference


I see your point. Personally, I like the brackets and braces, they help organize. Or maybe that’s just what I’m used to.



It would be great to use some emojis in coding.

Imagine how much more readable it would be if you could break a loop with 💀 or return true with 👍. Or use ❓for ifs, or ↔️ for switch (the emoji didn’t work for that one). Or use an emoji to represent a custom object?

Maybe the ECMA should get on that!

Edit: I guess you can use emojis for custom objects in js.

Edit 2: ➡ for console.log


For real.

I think the “real” programmers are scared because you can now do basically anything in js/ts, and they’re going to have to learn something they’ve always looked down on.

With web assembly coming fast a lot of these people are going to start realizing it would be nice to have a cheaper, js-only developer on hand. Then mgmt is going to realize they can have more developers that aren’t total pains in the ass. And so long “real” programmers.

Then, some day, I think js will be the only language - or something like js.


I’ve seen this one before, and it’s still great. But I wonder who those models are. Do they know they’re an internet meme?


Yes, but only because it gives you a link to where that was run. Click the link to the right with filename:lineNumber, and it will open the sources tab to that line. Set a breakpoint and rerun to pause there, then step through the code’s execution.

Of course, if you’re using minified or processed code, this will be more difficult, in that case figure out how to do it in VS Code.


Yep. Once you get the hang of it, you will cringe to think of all the wasted effort that came before. But getting the hang of it takes dedication.


Watch a Video or read something because it really is an invaluable tool. But here’s a crash course:

Debuggers, or IDEs, let you step through your code in slo-mo so you can see what is happening.

  1. Set a breakpoint - Click to the left of a line of code so a red dot appears. Run your program, and the IDE will execute to that line, then pause.
  2. Look at variables’ values - While the execution is paused you can hover over variables before that line to see their value.
  3. Step through the code - See what happens next in slo-mo.
    • Use “Step Into” to enter into a function and see what that code does.
    • Use “Step Over” to not go into a function and continue in the current spot after the function has done its business.
    • Use “Step Out” to exit a function and pick up the execution after it has run. Use this when you’re in too deep and the code stops making sense.
  4. See whats in the heap - The heap will list all the functions that you’re currently inside of. You can jump to any of those points by clicking them.
  5. Set a watch - Keep a variable in the watch so you can see what its value is at all times.
  6. Set a condition on the breakpoint - If the breakpoint is inside a big loop, you can right-click on the red dot to create a conditional breakpoint, so you write something like x===3 and it will only pause when x is 3.

There are many other things an IDE can do to help you, so def look into it more if you want to save yourself a lot of insanity. But this is a good starting point.

If you’re developing for the web use F12 to open web tools, and when an error happens, click the file/line number to see that point in the Sources tab, and you can debug there.