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.

Jedi , in I think I'm switching, I like the new UI
@Jedi@bolha.forum avatar

I’ve made the move a few years ago. I really like the “IDE” experience instead of the “code editor” one.

“Oh, but it takes so much RAM”, yup… So does all those electron apps I have to use alongside VSCode, that are built in webstorm…

NegativeLookBehind , in Some people just can't pace themselves
@NegativeLookBehind@kbin.social avatar

Hello world AI

Xylight , in Some people just can't pace themselves
@Xylight@lemmy.xylight.dev avatar

Same community reposts are back on Lemmy 😔

ImpossibleRubiksCube , in Some people just can't pace themselves

“AI” means nothing. If you want to learn about machine learning algorithms, neutral network programming (actual programming), heuristic collective intelligence, or path finding, then maybe we can have a conversation.

wischi ,

Of course AI does mean something - but it’s a very broad term. It’s a bit like saying you want to buy a vehicle. Could be a boat, car, truck or even a zeppelin.

Kolanaki , in Shit
@Kolanaki@yiffit.net avatar

It’s dumb to me that New York city is not the capital of New York state. It could have been perfect. But noooooo! They had to make it Albany!

Nobug404 , in if else if else if else
julianh , in Javascript is the most popular scripting language in use today

Don’t forget jsfuck

selawdivad , in unrolling loops is efficient, right?

One of the first real programs I wrote was a program to display telemetry data from a CAN bus. I was on the solar car team at uni, and we wanted to be able to view the data from the various systems live during the race. The CAN network was connected to a CAN-ethernet converter, which sent UDP packets over a wireless ethernet link to our lead car. I had no experience with networking, or UDP or CAN at all, but I had some documentation and a lot of free time, so I got to work.

Each device on the CAN network had a bit mask to identify it. For example, the bit mask for the motor controller might have been 0x1200. This meant that any packet starting with 0x12 belonged to the motor controller. For example, 0x1201 was one type of message, and 0x1202 another type, but both belonged to the motor controller.

There was specific logic for each device on the network, so you needed to first figure out which device owned a packet using the bit mask, then apply the relevant logic to decode the packet.

Looking back, I realise the correct way to approach this would be to have a list of bit masks:


<span style="color:#323232;">0x1200
</span><span style="color:#323232;">0x1300
</span><span style="color:#323232;">0x1400
</span>

Then simply bitwise & any incoming packet with 0xff00, and lookup the result in the list of bit masks.

Not knowing better however, what I actually did was create a giant dictionary of every possible packet value, so I could lookup any packet and determine which system it came from. This was so repetitive that I had to make use of my newfound super-power – vim macros – to complete the 8000 line dictionary…

Excerpt from real code below:


<span style="color:#323232;">{
</span><span style="color:#323232;">    0x102:
</span><span style="color:#323232;">    {
</span><span style="color:#323232;">        'name':             'SHUNT_CMU_STATUS_TEMPERATURE_AND_VOLTAGE_1_2',
</span><span style="color:#323232;">        'data':
</span><span style="color:#323232;">        [
</span><span style="color:#323232;">            'cell_0_voltage',
</span><span style="color:#323232;">            'cell_1_voltage',
</span><span style="color:#323232;">            'cell_2_voltage',
</span><span style="color:#323232;">            'cell_3_voltage',
</span><span style="color:#323232;">        ],
</span><span style="color:#323232;">        'unpack_string':    'intle:16, intle:16, intle:16, intle:16'
</span><span style="color:#323232;">    },
</span><span style="color:#323232;">
</span><span style="color:#323232;">    0x103:
</span><span style="color:#323232;">    {
</span><span style="color:#323232;">        'name':             'SHUNT_CMU_STATUS_TEMPERATURE_AND_VOLTAGE_1_3',
</span><span style="color:#323232;">        'data':
</span><span style="color:#323232;">        [
</span><span style="color:#323232;">            'cell_4_voltage',
</span><span style="color:#323232;">            'cell_5_voltage',
</span><span style="color:#323232;">            'cell_6_voltage',
</span><span style="color:#323232;">            'cell_7_voltage',
</span><span style="color:#323232;">        ],
</span><span style="color:#323232;">        'unpack_string':    'intle:16, intle:16, intle:16, intle:16'
</span><span style="color:#323232;">    },
</span><span style="color:#323232;">}
</span>
Karyoplasma ,

If it works, it works. Let your successor worry about maintainabilty.

coloredgrayscale , in unrolling loops is efficient, right?

300 nested if statements, (…) added another 5000 nested if statements.

At this point I want to doubt that they actually wrote it themselves, vs writing a metaprogram to generate the code.

TheSaneWriter , in rule
@TheSaneWriter@lemmy.thesanewriter.com avatar

Honestly, this is a good rule for programming in general. With user input, make sure it’s in its own area where it can’t interact with anything else and make sure to read and process in such a way that it can’t fuck with the operation of the program.

ZILtoid1991 , in Every time
@ZILtoid1991@kbin.social avatar

I did that many times with my game engine, and every time I have had to postpone a release by at least two weeks: one week of implementing the feature, one week of debugging it. (Where can I find people who want to work on an open source game engine?)

Jakylla , in ways to close vim
@Jakylla@sh.itjust.works avatar
  • Unplug the computer
  • Shut the house electric safety switch down
  • Cut the electricity pole nearest to the house
  • Bomb the nearest electricity distribution post
Idrunkenlysignedup , in All programmer humor memes

If I had a dollar for every time I proposed spending more time on something to make it flexible and able to grow but being told to “hard code it” to save time, I’d have several dollars. If I had a dollar for every time I had to patch that 6 months later, I’d have several more dollars.

asyncrosaurus ,

You couldn’t pay me enough dollars to cover the therapy caused by having to maintain the “flexible” code that added complexity and abstraction for a single use case that was never expanded to handle more.

aloso , in Creating a password in 2023 be like
malloc , in Creating a password in 2023 be like

Reminds me of “The Password Game” 😂

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