D Project Updates

This website is meant to be something between a chat and a blog post. You talk about stuff you are doing without the expected effort of a blog post, but also without the expected real-time answer of a chatroom.

Just write a few words (or more if you feel like it) about what you are doing or thinking about doing with D! Don't worry if you talk about something that goes nowhere, this is just a brainstream from the D community.


Post your own update

You will be automatically logged in if already registered, or automatically registered if not.

The registration is just to help search and to give you edit and me a bit of spam control. You should just use a random password you don't mind losing if it leaks; this website is probably not secure. Let your browser remember it for convenience.

The email address is not currently used but might be later for emailed updates or something. Totally optional.

D Programming Language. Put those words in the following box to pass my primitive captcha.

Recent updates

Adam D. Ruppe 2021-02-27 15:05:22.325998-05

http://dpldocs.info/experimental-docs/arsd.jni.html

java field get/set from D as well

0 comments
Adam D. Ruppe 2021-02-27 12:29:42.526842-05

http://dpldocs.info/experimental-docs/arsd.apng.html#examples

apng write example. i don't love my interface but meh it works for now

0 comments
Adam D. Ruppe 2021-02-01 21:19:49.985089-05

http://dpldocs.info/this-week-in-d/Blog.Posted_2021_02_01.html

0 comments
Adam D. Ruppe 2021-02-01 21:19:47.276263-05

http://dpldocs.info/this-week-in-d/Blog.Posted_2021_01_25.html

0 comments
Adam D. Ruppe 2021-01-22 15:42:41.244266-05

http://arsdnet.net:8080/

cms starting to work. bare basic so far though lol

0 comments
Adam D. Ruppe 2021-01-18 14:51:15.536003-05

http://dpldocs.info/this-week-in-d/Blog.Posted_2021_01_18.html

my cms idea

0 comments
Imperatorn 2021-01-09 10:02:38.464138-05

D boulders

1 comment
surlymoor 2021-01-07 23:12:30.119576-05

I'm working on a bespoke message board for someone to replace the current PHP 5.x codebase. I've cobbled together an ad-hoc "framework" using Adam's CGI module, diet templates (diet-ng), and some other libraries to deal with smaller stuff (e.g. configuration formats, crypto, etc). It's working out fairly well, but I'm not too happy with the database-library-situation. I'll probably need to limit the support to one database service/format, and then either fork an existing library or build my own that would cover MySQL/MariaDB+PostgreSQL+sqlite.

2 comments
Adam D. Ruppe 2021-01-04 15:02:10.064891-05

http://dpldocs.info/this-week-in-d/Blog.Posted_2021_01_04.html

I spent my code time this week mostly working on application code, but did a little library work on my apng.d and terminal.d.

1 comment
Adam D. Ruppe 2020-12-28 11:58:17.014997-05

http://dpldocs.info/this-week-in-d/Blog.Posted_2020_12_28.html

And more stuff, the real content there are the links inside, especially http://dpldocs.info/experimental-docs/arsd.fibersocket.html to see how fibers work

0 comments
Adam D. Ruppe 2020-12-28 11:21:34.520984-05

http://dpldocs.info/this-week-in-d/Blog.Posted_2020_12_21.html

little audio player using the arsd libs

0 comments
Adam D. Ruppe 2020-12-20 10:50:52.348678-05

http://dpldocs.info/this-week-in-d/Blog.Posted_2020_12_14.html

Includes a link to my thoughts on D's marketing.

0 comments
Adam D. Ruppe 2020-12-07 11:38:15.838525-05

Some thoughts on "google it" culture and arsd 9.0 tagged

http://dpldocs.info/this-week-in-d/Blog.Posted_2020_12_07.html

1 comment
Adam D. Ruppe 2020-12-01 11:40:51.926312-05

dpldocs.info cross-package search finally released! and more terminal getline enhancements
http://dpldocs.info/this-week-in-d/Blog.Posted_2020_11_30.html

1 comment
Adam D. Ruppe 2020-12-01 11:40:44.219582-05

I did a dconf livestream! Would you like to know more?
http://dpldocs.info/this-week-in-d/Blog.Posted_2020_11_23.html

0 comments
Adam D. Ruppe 2020-12-01 11:40:34.924876-05

New selective mouse input in terminal stack, Xft used in simpledisplay to improve TrueType font support
http://dpldocs.info/this-week-in-d/Blog.Posted_2020_11_16.html

0 comments
Adam D. Ruppe 2020-12-01 11:40:26.035108-05

simpleaudio now has playOgg, Mp3, Wav with resampling and can access multiple soundcards on Linux, adrdox gets ddoc on function params.
http://dpldocs.info/this-week-in-d/Blog.Posted_2020_11_09.html

0 comments
Adam D. Ruppe 2020-11-03 14:41:09.920337-05

Declarative gui in D: http://dpldocs.info/this-week-in-d/Blog.Posted_2020_11_02.html

0 comments
Adam D. Ruppe 2020-10-21 17:14:34.042115-04

http://dpldocs.info/this-week-in-d/Blog.Posted_2020_10_19.html
I'm on the DConf Online 2020 schedule! Here, I'll give some behind-the-scenes preview on what I plan to talk about.

0 comments
Adam D. Ruppe 2020-10-21 17:14:06.918427-04

Off topic jrpg video game review
http://dpldocs.info/this-week-in-d/Blog.Posted_2020_10_12.html

0 comments
ttk 2020-10-10 23:42:22.202683-04

I thought Python was bad about burdening sleep() with boilerplate, but D's core.thread.Thread.sleep() takes the cake ;-)

Wrote a wrapper function to make it more like Perl's Time::HiRes sleep:

void sleep(double seconds) {
long usec = roundTo!long(1000000 * seconds);
if (usec <= 0) return;
core.thread.Thread.sleep(usec.usecs);
}

12 comments
Adam D. Ruppe 2020-10-05 23:06:43.977084-04

On breakage and versioning:

http://dpldocs.info/this-week-in-d/Blog.Posted_2020_10_05.html

2 comments
Adam D. Ruppe 2020-10-04 12:35:58.129797-04

Finally had the chance to write up my long-form blog showing how the terminal.d stdout thing was implemented

http://dpldocs.info/this-week-in-d/Blog.Posted_2020_09_28.html

0 comments
Adam D. Ruppe 2020-10-02 23:34:15.085113-04

terminal.d is gaining the ability to hijack `stdout`. Especially useful for Windows GUI applications who might want to writeln but don't want it to throw invalid file descriptor.

0 comments
Adam D. Ruppe 2020-09-26 22:57:26.280243-04

And in just one hour of code time, I fixed the evented backend for cgi.d's thread mode... and indeed it corrects the 99th percentile problem in the benchmark, even without distributing the workload across its threads yet!

Requests per second: 13657.25 [#/sec] (mean)
100% 35 (longest request)

That was kinda easy!

4 comments
Adam D. Ruppe 2020-09-26 15:17:57.745492-04

On my computer now, cgi's default main impl now looks like this:

void cgiMainImpl(alias fun, CustomCgi = Cgi, long maxContentLength = defaultMaxContentLength)(string[] args)
if(is(CustomCgi : Cgi)) {
        if(tryAddonServers(args))
                return;

        if(trySimulatedRequest!(fun, CustomCgi)(args))
                return;

        RequestServer server;
        // you can change the port here if you like
        // server.listeningPort = 9000;

        // then call this to let the command line args override your default
        server.configureFromCommandLine(args);

        // and serve the request(s).
        server.serve!(fun, CustomCgi, maxContentLength)();
}

Been refactoring so people can pick and choose their own mains more than before.

0 comments
dylan_g0 2020-09-26 14:18:02.21203-04

Hi. I've been using D (asBetterC) in an automotive environment. At the moment, I'm using it to control a GM 6 speed automatic gearbox and emulate some functionality of the outgoing gearbox. D's fluid interfacing to C, GDB support, and its easy to use metaprogramming features have made using it incredibly productive compared to C or C++, far more expressive and infinitely more enjoyable.

My customers are more rev heads and car enthusiasts, so this is a niche product that gets installed in some swift and exciting cars.

In the future, I will be using D to control hydrogen-powered engines, meaning that D will be used for an entire car's powertrain.

Here are some really old videos on the previous iteration of hardware. I don't have anything newer since the Victorian lockdown means I can't go out.
[1] https://youtu.be/dwqyCGmvRq8
[2] https://youtu.be/tyRuq3pgebI

This is the new hardware: https://imgur.com/a/FMKxOij
This is controller display (powered by D) for the transmission: https://imgur.com/a/dbdo0zf
This running the D powered transmission controller's hardware test routines: https://imgur.com/a/LOB0BHV
Here's the electronics D controls: https://imgur.com/a/RBi6v6A
A mess: https://imgur.com/a/JdqXlbr

All in all, I found D to great for use in the automotive world. The tuning software for my transmission controller is also written in D. As my business grows, so will my use of D. I have donated to the foundation and I'm excited for D's future.

1 comment
Lance Bachmeier 2020-09-26 10:59:49.012924-04

Not a project really, but I'm working on lectures to show grad students how they can incorporate D into their research when they need speed. No, I'm not going to use Rust.

1 comment
Adam D. Ruppe 2020-09-25 23:26:28.979871-04

Baby finally let me blog some musings about cgi.d's showing in that http benchmark. It did better than I expected in one place, about as poorly as I expected in another - but that poor performance got me thinking about why, then I think I realized a solution that isn't that hard. Just gotta find time to code it up and see if it works as well in computer as it does in my head.

http://dpldocs.info/this-week-in-d/Blog.Posted_2020_09_21.html

0 comments
CrazyPython 2020-09-25 22:18:54.635181-04

I made a rudimentary Python AST -> D converter.
It handles Python's dynamic typing with std.variant.
And it handles Python's static typing using D types.
It was fun to make.

0 comments
Next Page