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.

SuperIce , in Not a Number

It’s priceless

hakunawazo , in I still don't get buffers

I like vim and use it almost every day, but sometimes I miss Strg+D and Alt+F3 from Sublime (multi edit). Block select + c isn’t as useful as this.

owsei ,

the vim-visual-multi plugin tries to do this. It takes some time to get the hang of it, but, even if using only the simplest features, it’s way better than not having the option.

hakunawazo ,

Thank you, I will try it.
Seems that I need to remap a few keys like for NerdTree and my tab switch.

hakunawazo ,

Works like a charm. Thanks again. Even mouse selection.

victorz ,

Give the Kakoune editor a try for native multi cursor editing. Or better yet, if you are a developer, the Helix editor.

I’m a web developer and transitioned quite seamlessly to the Helix editor from Visual Studio Code without much hassle.

The Helix editor is growing and gaining new functionality all the time.

Wiz , in What it's like to be a developer in 2024

We need a human-curated Internet search. A wiki of good web content.

InFerNo ,

Back to 90s internet you say?

Wiz ,

Maybe web rings are due for a comeback.

refalo ,

Please.

MonkeMischief ,

I forgot how this worked until I discovered NeoCities. I suddenly remenbered when so many personal websites would have some page that’s like “links” or “sites I love” or “other cool people”, etc. And it was just a curated list of sites the author thought were neat.

And your bookmark function was actually really helpful, because “web surfing” was literally jumping from link to link to link, following rabbitholes and breadcrumb trails across the web.

Nowadays, I bookmark things but I never go back through them. I know Firefox sometimes automatically helps you remember stuff in your bookmarks though.

But there was a time when it felt like finding some niche site was a sort of secret club or cool treasure, and you had to make sure you could find your way back. :)

InFerNo ,

When you didn’t make the bookmark, you were basically trying to backtrack which links you followed and what sites you visited to get back to that one website.

MonkeMischief ,

Totally! And I loved those neat little animated web badges that became really popular, especially on forums.

InFerNo ,

I still have those on one of the forums I occasionally still visit, but it might disappear soon after nearly 2 and a half decades.

blusterydayve26 ,

That is (was) DMOZ: the Mozilla Directory of websites, now curlie.org, after AOL shut it down in 2017.

They have a Patreon if you want to help them maintain it.

blusterydayve26 ,

Oh cool, somebody signed up, they have more supporters today.

gitamar ,

The return of web directories 🤩 en.m.wikipedia.org/wiki/Web_directory

kaffiene , (edited ) in What it's like to be a developer in 2024

Try being a programmer in the 90s. Just like that but with no entries at all

cjk ,

💯 came here to say that.

GJdan ,

Okay, Yahoo and AskJeeves didn’t have anything useful. Let’s try this Google thing.

barsoap ,

Altavista. Back when keywords still meant something.

JargonWagon , (edited )

I’m guessing it was more like “Let me pull this book off the shelves and wade through that for the answers”

kaffiene ,

Yeah. Can I get a book - usually something official like K&R for C.

WarmApplePieShrek ,

And the book had all the answers.

Test_Tickles ,

The book had half ass answers. Their examples rarely had anything to do with reality.

Hammerheart ,

So not a whole lot has changed. I cringe thinking of all the youtube video that explain OOP like this


<span style="font-weight:bold;color:#a71d5d;">class </span><span style="color:#0086b3;">Animal</span><span style="color:#323232;">:
</span><span style="color:#323232;">
</span><span style="color:#323232;">
</span><span style="font-weight:bold;color:#a71d5d;">class </span><span style="color:#0086b3;">Dog</span><span style="color:#323232;">(</span><span style="color:#0086b3;">Animal</span><span style="color:#323232;">):
</span>
Test_Tickles ,

Jesus… You should worn a man before you try to trigger his PTSD.

fibojoly ,

It was called The x86 Assembly Bible and I would not have been able to do much of anything without it.

Blackmist ,

I learnt C on an Amiga. No memory protection at all. Pointer errors would likely need a reboot to recover.

I rebooted a lot.

kaffiene ,

I also learned C on the Amiga. I loved SAS C. I also came across C++ first on the Amiga when it was just a pre processor for C. I really loved that machine but it was the community that was special

nick , in stupidestAdvertisingEver

Fun fact: I’m the reason people have to approve being added as collaborators for repos on GitHub now.

ryannathans ,

Oh boy, go on…

gravitas_deficiency ,

I, too, am interested in the rest of the story

nick ,

news.ycombinator.com/item?id=2601342

The whole dongml thing back in 2011

gravitas_deficiency , (edited )

Reading the context of the YC post (post link is broken), this doesn’t seem like a thing I’d brag about. Sounds like you were just being kind of an asshole, as well as intolerant. There are more amusing and less trollish ways to white/greyhat platforms to encourage people to fix them.

nick ,

Yep I was trolling zed.

However, accusations of homophobia and sexism are dumb and unfounded, as I’m actually gay.

I was also 20 so… find me one person who didn’t do cringy shit as a kid and I’ll give you a million dollars.

nick ,

news.ycombinator.com/item?id=2601342

The whole dongml thing back in 2011

smeg ,
sukhmel , (edited ) in Any of you folks around before epoch need a new job?

Does it count if I have “5” years of experience in Go and 5 in Nodejs?

ᵉᵈⁱᵗAdded quotation marks around the first number to make it a string

I_am_10_squirrels ,

5+5=55

Big brain thinking

sukhmel ,
MystikIncarnate , in What it's like to be a developer in 2024

It makes me sad because Google used to be great. The main feature that made Google great was the click rejection. Basically the search would know when you clicked on a link and didn’t come back to the search results. This action would add weight to that result as “this probably has the information that was being searched for” so it would be nearer to the top later when others made similar queries.

This was their killer feature, it basically crowd sourced the correct information. After a small amount of time, the correct results would kind of float to the top so subsequent searches would put those results near the top to help satisfy queries faster.

Now? They seem to want to give you results that satisfy their partners, and keep you tied to the results page as long as possible. The focus seems to have shifted from being a good search engine with accurate results, to a meme of how to make money.

Never before has this shift been more clear to me than right now, directly in the wake of I/O 2024; an event my friends have taken to calling AI/O. Pretty much every single presentation was about Gemini and AI generated garbage, but this isn’t what made Google’s new direction clear to me. In the last 20-30 minutes of the event it was made perfectly clear what they were doing with I/O. And to drive the point home, every I/O has showcased stuff you can’t use yet, stuff they’re working on, and other cool shit. Some of it cost money, but there was usually some stuff that was just done because it could be done and it would be made available at some point, a nontrivial amount of it was free. At AI/O, the entire focus was on AI, with little to no non-AI stuff in there, at all, then at the end, they kicked everyone in the shorts. Here’s our prices to access this shit. Buy it. As far as I’m concerned AI/O was a gigantic marketing circle jerk to sell their AI.

It seems that Google has entered the final phases of enshittification.

boonhet ,

Saw an article that said that some execs demanded for search to have better user retention. I.e make the user search multiple times to find what they’re looking for, so they can be shown more ads.

Asafum ,

I can’t wait for this to spread to unrelated areas!

Supermarkets maximizing profit: put ads everywhere and hide the most commonly bought foods!

Gas stations maximizing profits: unskippable ads on all pumps, plus the pump stops halfway to make you watch another ad.

Dating apps: oh… They already killed themselves. Swipe swipe swipe swipe. Hide messages. Hide likes. Reduse exposure to profile unless paid member.

I hate this future.

brisk , (edited )

Just in case you’re not just satirically listing things that are already awful;

Supermarkets increase their “retention” by limiting signage to keep you wandering and avoid “just get that thing and go” shopping. I don’t know how common this is, but when I was a kid the major supermarkets had long lists of what items were in each aisle, plus highly visible signs in the aisle to show exactly where each category was. Now days at the major chains those in aisle signs are completely gone, and the categories have been whittled down to a few major categories; most products aren’t represented on the sign at all e.g. you have to assume “cake mix/decorating” are in the same aisle as “flour”.

Unskippable ads on all pumps are absolutely a thing that are getting more popular. Mobil is particularly bad for it in my experience.

godzilla_lives ,

The square button second from the bottom mutes the audio. I’ve taken to carrying a marker in my car and writing “<— MUTE” next to them. Alternatively, a small screwdriver between the speaker grating.

brisk ,

The ones near me don’t have buttons of any kind

dan ,
@dan@upvote.au avatar

Unskippable ads on all pumps are absolutely a thing that are getting more popular

I never see these in my area… Maybe only some places have them?

jjjalljs ,

It’s frustrating because it’s all done by people. Like if a volcano erupts you can’t really get mad at it. It’s just physics stuff. But all of this? People are making these choices. People made of meat and bone. Like, you could find the decision makers at Google who decided to shit up their product and kick them in the junk.

nephs ,

What if peoples relationships create a superstructure no single human can control, and we need active collective effort to supercede it?

If a single human refuses from a moral standpoint, a humongous amount of money to do something crap as CEO controller of whichever crap company, boards will replace them, and some other human will, because material condition dictate it has to be done. No one is really in control. The boards are all just optimising for profit, because if they’re not, someone else will.

How to break the capitalist cycle of control over peoples will?

jjjalljs ,

In real life? I’m not sure. Years of struggle to change government to enforce regulations, break up consolidation of power, blah blah blah.

In a like ttrpg or movie? Murder. Murder the board and other management and anyone they replace until the greed stops.

Miaou ,

Supermarkets already optimise many things, products with lower margins are at the bottom in aisles, and all the junk food or cheap liquor is next to the cashier.

Also, ever been to IKEA? That thing’s a labyrinth

Sigh_Bafanada ,
hglman ,

It’s a path but, also its always been like that. Also there is a supermarket with the same idea, HEB center market.

dan ,
@dan@upvote.au avatar

Supermarkets maximizing profit: put ads everywhere and hide the most commonly bought foods!

Many supermarkets already do things like putting the milk and bread at opposite sides of the store, so you have to walk through the whole store to get both. You’d often be walking past the end caps while doing so, which are essentially ads (companies pay to have their products displayed at the end caps)

Couldbealeotard ,
@Couldbealeotard@lemmy.world avatar

To be fair, milk at the back of the store is better to keep the milk cold from getting out of the truck and into the fridge.

MystikIncarnate ,

Would this be the inverse of SEO?

rowrowrowyourboat ,
Hammerheart ,

“alright, we need to make our service worse to satisfy our real customers”

grandma ,

This is possibly something you could implement in a meta search engine like SearXNG, though there are some privacy concerns.

Maybe it could locally store which domains you personally tend to click (and stay) on. Then automatically raise those domains when it sees them somewhere in the output of the underlying engines. This isn’t perfect because you wouldn’t get data from other users. But I think it could do a lot to improve search results.

I might actually clone the repo and see if I can get somewhere soon

MystikIncarnate ,

I’d be interested if you can get anywhere.

The thing with Google was that the data about click through vs click back was supposed to be anonymised. Whether it was or not, inside of the black box that is Google’s algorithm, who knows?

Either way, I’d be interested if you get any progress here. I’ve never tried to self host a search engine, but I might consider it.

Ultraviolet ,

I remember how people used to joke about the second page of Google results being a desolate wasteland where no one ever looks, now I just instinctively scroll down a bit because I know the first page of results is going to be trash.

nucleative ,

Because after taking a quick look at that first or second page, I don’t even go back. I just head to another search engine 😅

jnk , in Any of you folks around before epoch need a new job?

If they require at least a 71yo, assuming the person started working at 16 and has dedicated their entire life to develop software without ever touching management positions, … At what age does people retire in that country??

_edge ,

You guys get to retire?

jnk ,

Damn… I swear no one will ever see me again after my 65th birthday, I’ll be on the beach, probably knitting till I die

LaggyKar ,

Sounds like a typical COBOL dev

CompostMaterial , in AI Suggestions

You got it admit, it is a good suggestion. It just wasn’t the right one. But it is trained well enough to correlate left and right together. Since those are very commonly associated together it is certainly a logical choice.

bort ,

. But it is trained well enough to correlate left and right together

eliza could do that 60 years ago

marcos ,

Ah, come-on, why do you think Eliza could do that 60 years ago?

(It couldn’t. It’s at most 40 years old technology, and way more likely just 30. Even though you could program Eliza to do something like this, it would be way too specific for any use.)

bort ,

It’s at most 40 years old technolog

the 60s were 60 years ago

marcos ,

It’s the kind of thing you would see at the 90s.

The 60s had room-sized computers that were busy calculating payroll.

NikkiDimes ,

en.m.wikipedia.org/wiki/ELIZA

You could easily Google these things and educate yourself, but you choose to instead blindly spee your incorrect opinions.

You’re either an idiot or a troll, and frankly, I don’t care which. Just stop.

Matriks404 ,

huh

Morphit ,
@Morphit@feddit.uk avatar

Ah, come-on, why do you think Eliza could do that 60 years ago?

Does that question interest you?

FaceDeer ,
@FaceDeer@fedia.io avatar

Why hasn't it been incorporated into IDEs until now?

nxdefiant ,

Up until now most people hated when shit randomly popped up while they were typing.

The Apple went and made the iPhone and now we have a whole generation that expects it.

FaceDeer ,
@FaceDeer@fedia.io avatar

Within IDEs people go out of their way to install Intellisense so that "shit randomly pops up while they're typing." There are companies whose whole existence depends on people wanting that to happen.

best_username_ever ,

it’s good but it’s wrong

That’s impossible.

FaceDeer ,
@FaceDeer@fedia.io avatar

To the contrary, I see code like that all the time in my career. I've written some.

Tamkish ,

wdym it isn’t the right one? It clearly says time RIGHT

mojofrododojo , in Every single time

burn it all down, start fresh?

thecodeboss , in What it's like to be a developer in 2024

Tried it on Bing too for comparison, 4th result and it’s actually the current version.

https://lemmy.world/pictrs/image/afc7f7f8-ab70-4b1f-8f09-36f01293035d.png

bluewing ,

Mistakes were made. It happens, OK? I’m quite certain Bing won’t let THAT happen again…/////

For my, VERY limited needs for the tiny bit I have dabbled in programing or even just help with some Linux issues, I’ve been using Phind. It seems to work a whole lot better than any of the other search engines. But my needs can’t really twist the tail like real programmers.

Blackmist ,

Oh please don’t make me use Bing.

dullbananas ,
@dullbananas@lemmy.ca avatar

I will make you keep a postgreql docs tab open and use its search bar

tyler , in What it's like to be a developer in 2024
anamethatisnt ,

Your result returns version 9.0 that went EOL 2021, same as Googles fourth result in OP.
nvm, second result is correct.

FierySpectre ,

Interesting how the second “correct result” is years older

AProfessional ,

Seems creation time not modified. Makes sense “current” is older.

tyler ,

yeah not ideal, but if the actual functionality of that operator hasn’t changed then I wouldn’t expect the version to matter. Same with searching most ruby stuff and getting old results. it hasn’t changed in decades, it ain’t changing now. But I did scroll down and literally every result was from the postgres docs so that’s a marked improvement from the google results.

victorz ,
82cb5abccd918e03 ,

Yandex:

https://lemmygrad.ml/pictrs/image/7950c84c-3ee1-49ec-9971-5070a106fe30.png

First result with a more up to date version. No AI, only quotes from the source. Still shows a bunch of SEO.

MostlyBlindGamer , in stupidestAdvertisingEver
@MostlyBlindGamer@rblind.com avatar

Yes, but did you get the job?

Also props for the image description.

luciole , in Any of you folks around before epoch need a new job?
@luciole@beehaw.org avatar

Are passionate about the development lifecycle of other engineers and their pain points.

If you’ve been coding for 55+ years, you’ve almost gone through a whole engineer life cycle and you most probably know a lot about pain points.

stevedidwhat_infosec , in Mini-computers capped out too soon man. I hate miniaturization! Make computers big again!

I’m still waiting for modular phones to be more mainstream. Tired of the ewaste. Tired of the anti consumer practices. Tired of planned obsolescence.

cmnybo ,

We need some that are fully open source software and hardware. I’m tired of all of the proprietary crap.

cerement ,
@cerement@slrpnk.net avatar

closest we’re getting for now is Fairphone

UnRelatedBurner ,

Wasn’t fairphone a subscription-based service?

ChubakPDP11 OP ,

I think that happens when app developers learn2optimize. Stop using interpreted bytecode languages on small processors!

cmnybo ,

It’s not even an issue with java. Apps ran fine on the original Android devices with single core CPUs and half a gig of RAM or less. It’s just that developers get lazier as more powerful hardware become available. Nobody cares about writing well optimized code anymore.

If Google and Apple required all apps to run smoothly on low end hardware from 5 years ago, we would be using our phones until the wear out rather than having to upgrade every couple of years if the batteries are replaceable.

Technus ,

Android has actually employed a hybrid JIT/AOT compilation model for a long time.

The application bytecode is only interpreted on first run and afterwards if there’s no cached JIT compilation for it. The runtime AOT compiles well-known methods and then profiles the application to identify targets for asynchronous JIT compilation when the device is idle and charging (so no excess battery drain): source.android.com/docs/core/runtime/configure#ho…

Compiling on the device allows the use of profile-guided optimizations (PGO), as well as the use of any non-baseline CPU features the device has, like instruction set extensions or later revisions (e.g. ARMv8.5-A vs ARMv8).

If apps had to be distributed entirely as compiled object code, you’d either have to pre-compile artifacts for every different architecture and revision you plan to support, or choose a baseline to compile against and then use feature detection at runtime, which adds branches to potentially hot code paths.

It would also require the developer to manually gather profiling data if they wanted to utilize PGO, which may limit them to just the devices they have on-hand, or paying through the nose for a cloud testing service like that offered by Firebase.

This is not to mention the massive improvement to the developer experience from not having to wait several minutes for your app to compile to test out each change. Call it laziness all you want, but it’s risky to launch a platform when no one wants to develop apps for it.

Any experienced Android dev will tell you it does kinda suck anyways, but it’d suck way worse if it was all C++ instead. I’d take Android development over iOS development any day of the week though. XCode is one of the worst software products ever conceived, and you’re forced to use it to build anything for iOS.

ChubakPDP11 OP ,

I know about all this — I actually began implementing my own JVM language a few days ago. I know Android uses Dalvik btw. But I guess a lot of people can use this info; infodump is always good. I do that.

btw I actually have messed around with libgcc-jit and I think at least on x86, it makes zero difference. I once did a test:

– Find /e/ with MAWK -> 0.9s – Find /e/ with JAWK -> 50s.

No shit! It’s seriously slow.

Now compare this with go-awk: 19s.

Go has reference counting and heap etc, basically a ‘compiled VM’. I think if you want fast code, ditch runtime.

Technus ,

Actually, Android doesn’t really use Dalvik anymore. They still use the bytecode format, but built a new runtime. The architecture of that runtime is detailed on the page I linked. IIRC, Dalvik didn’t cache JIT compilation results and had to redo it every time the application was run.

FWIW, I’ve heard libgcc-jit doesn’t generate particularly high quality code. If the AOT compiled code was compiled with aggressive optimizations and a specific CPU in mind, of course it’ll be faster. JIT compiled code can meet or exceed native performance, but it depends on a lot of variables.

As for mawk vs JAWK vs go-awk, a JIT is not going to fix bad code. If it were a true apples to apples comparison, I’d expect a difference of maybe 30-50%, not ~2 orders of magnitude. A performance gap that wide suggests fundamental differences between the different implementations, maybe bad cache locality or inefficient use of syscalls in the latter two.

On top of that, you’re not really comparing the languages or runtimes so much as their regular expression engines. Java’s isn’t particularly fast, and neither is Go’s. Compare that to Javascript and Perl, both languages with heavyweight runtimes, but which perform extraordinarily well on this benchmark thanks to their heavily optimized regex engines.

It looks like mawk uses its own bespoke regex engine, which is honestly quite impressive in that it performs that well. However, it only supports POSIX regular expressions, and doesn’t even implement braces, at least in the latest release listed on the site: github.com/ThomasDickey/mawk-20140914

(The author creates a new Github repo to mirror each release, which shows just how much they refuse to learn to use Git. That’s a respectable level of contempt right there.)

Meanwhile, Java’s regex engine is a lot more complex with more features, such as lookahead/behind and backreferences, but that complexity comes at a cost. Similarly, if go-awk is using Go’s https://pkg.go.dev/regexp, it’s using a much more complex regex engine than is strictly necessary. And Golang admits in their own FAQ that it’s not nearly as optimized as other engines like PCRE.

Thus, it’s really not an apples to apples comparison. I suspect that’s where most of the performance difference arises.

Go has reference counting and heap etc, basically a ‘compiled VM’.

This statement is completely wrong. Like, to a baffling degree. It kinda makes me wonder if you’re trolling.

Go doesn’t use any kind of VM, and has never used reference counting for memory management as far as I can tell. It compiles directly to native machine code which is executed directly by the processor, but the binary comes with a runtime baked in. This runtime includes a tracing garbage collector and manages the execution of goroutines and related things like non-blocking sockets.

Additionally, heap management is a core function of any program compiled for a modern operating system. Programs written in C and C++ use heap allocations constantly unless they’re specifically written to avoid them. And depending on what you’re doing and what you need, a C or C++ program could end up with a more heavyweight collective of runtime dependencies than the JVM itself.

At the end of the day, trying to write the fastest code possible isn’t usually the most productive approach. When you have a job to do, you’re going to welcome any tool that makes that job easier.

ChubakPDP11 OP ,

This statement is completely wrong. Like, to a baffling degree. It kinda makes me wonder if you’re trolling.

No I just struggle at getting my meaning across + these stuff are new to me. What I meant was ‘Go does memory management LIKE a VM does’. Like ‘baking in the GC’. Does that make sense? Or am I still wrong?

belated_frog_pants ,

Issue is incentive. Developers use what they are told by more senior developers and most rewrites and tech debt work is deemed unprofitable and dropped.

They use shit like electron to write things once. Its always the worst experience but it seems to management on paper to be a huge win.

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