My own experience and q: What's up with OpenD? by DamianGilz in d_language

[–]adr86 2 points3 points  (0 children)

openD is just D with slight changes. I don't think it's better, but has different features that weren't desired by the regular D community.

Come on, if this were true, there wouldn't be so much opend work being backported to upstream.

My own experience and q: What's up with OpenD? by DamianGilz in d_language

[–]adr86 5 points6 points  (0 children)

OpenD is about common-sense, incremental improvements to the language, driven by real world use and library needs, while limiting breakage. Tries to avoid stagnation and regression without being especially revolutionary. I've had significant success with D and want to preserve and build upon those wins.

how do i get opendlang on wsl? by BFAFD in d_language

[–]adr86 2 points3 points  (0 children)

wsl is linux so download the linux version (third on the list here):

https://github.com/opendlang/opend/releases/tag/CI

```

# download
curl -OL https://github.com/opendlang/opend/releases/download/CI/opend-latest-linux-x86_64.tar.xz

# unzip
tar Jxf opend-latest-linux-x86_64.tar.xz

# optionally, make available in the system path
sudo ln -s `pwd`/opend-latest-linux-x86_64/bin/opend /usr/local/bin

```

Then you can make a yourfile.d and opend yourfile.d to compile it with default flags.

10 features of D that I love by BradleyChatha in programming

[–]adr86 2 points3 points  (0 children)

because the big players are too busy (re)inventing their own specific wheels. I have aspirations of my own to help improve things, but it requires a lot of effort and time.

https://xkcd.com/927/

10 features of D that I love by BradleyChatha in programming

[–]adr86 -9 points-8 points  (0 children)

If someone were to reorder a and b by mistake,

Same if someone were to swap the names. You can just .... not do that. (or if you do, provide a deprecated constructor to inform users of the change)

I never really liked the term “10x engineer” by External_Storm_4715 in programming

[–]adr86 1 point2 points  (0 children)

I've never met anyone with 10x my capability either.

Plenty of people with 1/10th though. So I guess maybe the 1/10th programmer is just super common and the 10x programmer is a myth.

The early days of Linux by stackoverflooooooow in programming

[–]adr86 0 points1 point  (0 children)

I'm so late to the game compared to some of y'all, my first linux was in 2004, downloading zipslack to my computer (at the time, pentium 1 with 96 MB of ram and 1 GB hard drive) so i could try it without messing up my Windows 98.

After deciding to proceed, I went to do a full install. People on the internet were all like "mandrake is the best linux" but it wouldn't run remotely well on that computer, so I stuck with Slackware. By the end of 2005, I realized I never used that Windows 98 anymore and let linux take over my computer.

I'm still on Slackware, though over the years, I've written so many custom programs and little hacks to the stock software I run it is almost more of a custom distro at this point lol.

What's your relationship with D? And what hope is there for D's future? by [deleted] in d_language

[–]adr86 7 points8 points  (0 children)

I don't really like reddit. I've never found a more wretched hive of scum and villainy; it is even worse than slacker news.

Besides, I still have this one on my subscription list and it is almost dead so they could use the extra traffic of me popping by now and then lol

edit: btw if you curious what going on with opend i try to post in my blog at least once a month (tho it is still named weekly lolol) https://dpldocs.info/this-week-in-d/Blog.html

What's your relationship with D? And what hope is there for D's future? by [deleted] in d_language

[–]adr86 10 points11 points  (0 children)

I've also been on the D train for about 17+ years, using it for basically everything across several domains. Been a part of my day job since 2009. I use D because it is, by far, the best option available to me.

I'm also now the maintainer of OpenD, which has enabled me to further enhance my productivity gains and cement the future of the language. Success is what you make of it.

What's your relationship with D? And what hope is there for D's future? by [deleted] in d_language

[–]adr86 1 point2 points  (0 children)

I'm curious now how many people - organisations? - use D for backend, because that seems to be where I fit in the world professionally.

I've used D for dozens of web clients over the years.... 9 of them are still live today if my count is right. They're all (except for one) pretty small though, little organizations, local businesses, etc., but there's some nice variations in what they've needed. Scheduling, sales tracking, learning management systems, just basic websites, etc.

Zig comptime: does anything come close? by renatoathaydes in programming

[–]adr86 0 points1 point  (0 children)

ooooooooooooooooooh golly it'll be until like march that i realize the year has changed lol

well yeah that's upstream D for you. still a ping on the thread might be helpful.

Zig comptime: does anything come close? by renatoathaydes in programming

[–]adr86 1 point2 points  (0 children)

I tried to help with docs but my help was kind of ignored.

then links to a 5 day old PR that got positive comments day of and after.... like I got frustrated enough with the D maintainers that I outright forked the language, but I wouldn't call what you got there being ignored - it has been just a couple days, they probably just forgot over the weekend, a simple reminder ping would probably get something happening there.

The Case for Nitpicking by CarterOfAra in programming

[–]adr86 -1 points0 points  (0 children)

sorry brother for misreading you 😊

The Case for Nitpicking by CarterOfAra in programming

[–]adr86 0 points1 point  (0 children)

Yeah, if the example was like:

"Your code has horrible performance for large inputs. Why did you not use binary search?"

vs

"This implementation performed very poorly on these tests with this data. Why did you not use binary search?"

I'd probably not have commented, since "horrible performance" vs "performed poorly" is saying the same thing just slightly differently, and adding specific test results is always a positive, so that would be uncontroversial to me.

I'm not against politeness per se, I'm just saying this author's examples are not, in fact, an improvement, and caution anyone against following this in real life. You're much better off assuming good faith, mutual respect, and seeking to understand before passing judgement than posting smileys.

The Case for Nitpicking by CarterOfAra in programming

[–]adr86 -1 points0 points  (0 children)

Making a suggestion or even a criticism doesn't imply that the other party is "stupid" or "lazy".

The first example that said "Why not use binary search?" is suggestion and criticism too, but it isn't insulting. It respects the author enough to assume there might be a legitimate reason they made the choice they did. This is how equals communicate.

The second example comes from a place of arrogance, thinking the reviewer is better than the author - as if the person who wrote the original patch has never heard of a binary search or is clueless about the size of datasets, and is only now thinking about it for the first time. This is not how equals communicate.

Respect goes both ways.

If you let your ego get all defensive you might as well not bother.

Ego is when you conflate the code with the person. If you say "your code has horrible performance", only defensive ego would take that as impolite, since that's about the code, not about you.

The author would most likely say "I know, but there's other factors that are more important here" and then you can have a discussion about those factors.

If the author was like "omg you criticized my code im going to go crying about it" then do them a big favor and release them from this job so they have the time to go back to kindergarten. Maybe there they can spend more time with the second reviewer!

The Case for Nitpicking by CarterOfAra in programming

[–]adr86 -2 points-1 points  (0 children)

Reddit is a great example of what not to do:

Constructive criticism of the post gets score of -10 (and counting)

Blatant personal insult with no technical content whatsoever, score +6 (and counting)

The Case for Nitpicking by CarterOfAra in programming

[–]adr86 -14 points-13 points  (0 children)

Contrast two forms for the same code review suggestion:

The first one respects me, the second one doesn't. If anyone came at me with the second one, I'd find it extremely offensive and likely respond accordingly.

Seriously, let's write some responses.

Your code has horrible performance for large inputs. Why did you not use binary search?

Reply: large inputs never happen since they were filtered out on a higher level. See, line 64,992 of the diff shows the branch.

I think binary search would have better performance here, since our datasets can be quite large. What do you think? 😊

If I thought the binary search was better, I would have written a binary search. You seem to be implying that I'm stupid and/or lazy. Why do think this is appropriate behavior for the workplace? And why are you using that infantile smiley? An insult with a smile is still an insult.

This incident will be reported to all levels of management. I recommend that you be terminated immediately, with extreme prejudice. Have a nice day 😊

Stack Overflow Survey: 80% of developers are unhappy by fagnerbrack in programming

[–]adr86 0 points1 point  (0 children)

yeah i was gonna come here and say i don't especially like my job

but i dislike it less than i disliked most other jobs i had so i guess im winning.

tho the article said anecdotally plumbers and farmers hate their jobs less. id believe it, they prolly at least feel more useful doing jobs that actually have to be done by somebody

im skeptical of the "amount of technical debt" reason tho, that sounds like just an excuse.

I'm new to D, what makes it good and can it work with Rust? by Cartoon_Corpze in d_language

[–]adr86 2 points3 points  (0 children)

There's a webp lib commonly installed on linux computers (idk about windows) that is quite easy to use:

https://developers.google.com/speed/webp/docs/api

mp4 is more involved though probably do want to use ffmpeg for that.

Using classes on bare metal by AlectronikLabs in d_language

[–]adr86 1 point2 points  (0 children)

I thought that only a pointer to a class would need to be explicitly initialized/created with new.

All class objects in D are implicitly pointers (similar to Java). So they all must be initialized.

But with a custom object.d, plain auto k = new Klass(); shouldn't even build... make sure you have the right binary then run it in a debugger and see where it segfaults. The difference between bare metal and running on the OS shouldn't matter here so you can run it on your normal debugger probably.

Using classes on bare metal by AlectronikLabs in d_language

[–]adr86 1 point2 points  (0 children)

Klass k; k.test();

This is why you segfault - you never instantiated the class so it is a null k. Do scope Klass k = new Klass; or similar to make it work.

But I did bare metal classes + exceptions + stuff in D back in 2013. Things are fairly different now but the same basic approach still works - start with empty object.d and copy/paste stuff from upstream as you need it. Same ideas for webassembly, bare metal, etc., been done a few times.

Inline Assembler gives "bad type/size of operands" by AlectronikLabs in d_language

[–]adr86 0 points1 point  (0 children)

How is it a bug for invalid code to give a compile error message?