This Week in D Blog


Some talk on cgi.d in benchmarks
module Blog.Posted_2020_09_21

This week was primarily focused on the newborn baby, but while I could barely type most the days, I did get some reading and planning done.

September 14, 2020
module Blog.Posted_2020_09_14

May baby decided to come so I didn't get a chance to write anything here!

New D update "dwidder" website launched, making-of post here
module Blog.Posted_2020_09_07

People on the main D forum asked for more little project updates. While one option is adding a mailing list to the forum among other things, I spent part of the weekend to put a little website together people can use here:

white noise app in D
module Blog.Posted_2020_08_31

I've been busy with work and preparations for the baby that is only about two weeks away, but part of that was to make a little white noise program. Just a few lines of D I will share with you below.

More modern opengl in simpledisplay, document undocumented on, tip on default template args
module Blog.Posted_2020_08_24

I had to fix some bugs this week so no new "X in D", but the new features themselves are cool...

Xlib taskbar in D
module Blog.Posted_2020_08_17

Continuing my "X in D" series, here I'll talk about my custom taskbar in D with xlib.

D Tetris running on Webassembly
module Blog.Posted_2020_08_10

Over the weekend, I took last week's Tetris source code and compiled it for the browser, doing minimal ports of required libraries to make that work.

Tetris in D
module Blog.Posted_2020_08_03

I'm going to start a new series this week, called "X in D". Each entry will be a small program to implement some simple concept. But, I will not limit to just the simple concept like I do for documentation examples - I'll go a little beyond the basics for more fun.

Zero-runtime classes
module Blog.Posted_2020_07_27

I'll write a bit about how it is easier to use D's classes without druntime than it ever has been before and recent dmd PRs are slated to make it easier and easier.

DConf online in the works for Nov 21-22, image copy/paste coming to sdpy soon
module Blog.Posted_2020_07_20

The DConf isn't official yet, but it looks like they are doing do to an online thing around Nov 21 (which happens to be my birthday btw, lol). I have no idea if I'll try to participate or not at this point. Right now, I can't even think of something to write about here, so I don't know what I'd talk about there either!

July 13, 2020
module Blog.Posted_2020_07_13
Core D Development Statistics
July 6, 2020
module Blog.Posted_2020_07_06
Core D Development Statistics
simpledisplay getting dynamic loads, terminal gui gracefully degrades, i muse on scope raii classes
module Blog.Posted_2020_06_29
Core D Development Statistics
Adam's dynamic link transition
module Blog.Posted_2020_06_22

Been busy work work but will tell a brief tale about static to dynamic link transitioning in D code.

June 15, 2020
module Blog.Posted_2020_06_15
Core D Development Statistics
June 8, 2020
module Blog.Posted_2020_06_08
Core D Development Statistics
June 1, 2020
module Blog.Posted_2020_06_01
Core D Development Statistics
foot pedal and midi fun, some dmd speed enhancements. Forum argues about @safe by default on extern.
module Blog.Posted_2020_05_25

While the forum went on about DIP 1028, I had some fun with other gadgets and dmd enhancements.

May 18, 2020
module Blog.Posted_2020_05_18
Core D Development Statistics
simpleaudio dev work, rasp pi gpio module, static foreach rant, gcc 10's D support upped
module Blog.Posted_2020_05_11

I didn't write blog text last week, so a lot to talk about this week. Meanwhile, gcc 10's D updates can be read here (though the changelog isn't formally merged, the code is!), including static foreach support:

May 4, 2020
module Blog.Posted_2020_05_04
Core D Development Statistics
my http more compatible with ssl, script+jsvar can do subclasses of D objects
module Blog.Posted_2020_04_27

More fun stuff in the arsd repo these last couple days. And btw I got my first eye treatment too and it seems to have been a success I feel improvement already! But still gotta avoid staring at computer screens all the time.

i want to make a jrpg, and have eye damage.
module Blog.Posted_2020_04_20

I saw an eye doctor today after a week of pain. I have damage likely from being a computer worker. Should be treatable but if you have eye pain and/or dry eyes... talk to your doctor without waiting months like I did, it is likely to just get worse. And if you are feeling fine, remember to blink while working and frequently look away from the screen to stay that way!

Dustmite post on official blog
module Blog.Posted_2020_04_13
Core D Development Statistics
What if I were dictator?
module Blog.Posted_2020_04_06

What would I do if I were made dictator of D? More below.

March 30, 2020
module Blog.Posted_2020_03_30

@safe by default discussed, people question if we should call it D3, and Mir libraries get a big update.

terminal.d with built-in emulator option releaed
module Blog.Posted_2020_03_23

I finally released my built-in terminal emulator option on dub and marked it version 6.0... I was hoping to put in a cgi.d server control object too, but instead had to fix bugs in the websocket server and minigui widgets and ran out of time. Hopefully for 6.1 though.

Online DConf in the works
module Blog.Posted_2020_03_16

Walter has agreed to try to do an online dconf. No other major movement though but maybe we will try it.

Dconf 2020 cancelled, Adam plays with terminal gui integration
module Blog.Posted_2020_03_09

Due to concerns about the COVID-19 disease spreading, DConf 2020 has been cancelled. I suggest we still write some stuff for it and just share it online!

March 2, 2020
module Blog.Posted_2020_03_02
Core D Development Statistics
some adrdox/dpldocsinfo updates
module Blog.Posted_2020_02_24

I did some more updates to my service for dub package documentation this week.

terminal.d gets clipboard functions, ldc 1.20 out.
module Blog.Posted_2020_02_17

I worked a little on terminal.d this week in between day job and house stuff.

DConf keynote speaker announced: Lua architect Roberto Ierusalimschy, Named args DIP discussed
module Blog.Posted_2020_02_10

DConf is getting Lua architect Roberto Ierusalimschy to speak, and Walter's named argument DIP is being discussed. I see some potential for expansion in it later, but also have no objection to it as-is.

February 3, 2020
module Blog.Posted_2020_02_03
Core D Development Statistics
Adam's terminal suite explained
module Blog.Posted_2020_01_27
Core D Development Statistics
Understanding mixin templates, terminal.d improvements
module Blog.Posted_2020_01_20

I wrote about how mixin templates actually work for today.

My attribute-by-default proposal. Also dmd 2.090 came out.
module Blog.Posted_2020_01_13

I don't think we should change the attribute defaults. Instead, make the foo: at the top of the file work well.

DConf 2020 announced: June 17-20 in London. @safe by default debated. Adam did: Android, JNI, WebSocket in arsd libs
module Blog.Posted_2020_01_06

DConf 2020 was announced this week. It will be on June 17-20 in London, rather than the May we've traditionally done. On the newsgroup, @safe by default was debated.

tar.xz, --DRT tip, dom bug fixes, more Android and JNI, link to old phobos docs
module Blog.Posted_2019_12_30

Lots of open source stuff this week by me!

LDC 1.19 - Android, AVR. My rant on tests, update on JNI and COM.
module Blog.Posted_2019_12_23

LDC 1.19 released with more android and AVR (the arduino chip) support built in. I rant on tests and update on JNI and COM.

Walter's string interpolation proposal is OK but not great. My Android thing nearing beta release. dub downtime explained.
module Blog.Posted_2019_12_16

My Android stuff is now on the dub repo:

Android project update, introduction to arsd.jni
module Blog.Posted_2019_12_09

Android code works - big thanks to other people for doing the work in ldc as I'm building on that. Also the JNI stuff I think may be generally useful for D.

New pattern about interface contracts
module Blog.Posted_2019_12_02
Core D Development Statistics
Adam shares Windows console secrets - DO NOT USE chcp!!
module Blog.Posted_2019_11_25

The community announcement about a webassembly proposal is solid, and the author has done some good work toward it already. I'm excited to see where he goes with it!

Adam's rant on benchmarks
module Blog.Posted_2019_11_18

A DIP to remove the ~= operator from slices was shot down by the community, and there were forum posts about benchmarks. I write about why I don't really care for benchmarks.

Socket tutorial
module Blog.Posted_2019_11_11

Socket tutorial today, it may be simple for experienced programmers but hopefully useful to people new to the idea.

November 4, 2019
module Blog.Posted_2019_11_04
Core D Development Statistics
October 28, 2019
module Blog.Posted_2019_10_28

I don't have anything to say today, been busy lately.

arsd package updates, forum nonsense
module Blog.Posted_2019_10_21

arsd-official tagged 4.1.4, my 11 1/2 old library demonstrates compatibility with Slackware's gdc package as well as newest dmd.

Update on Android
module Blog.Posted_2019_10_14

D on android almost just works out of the box - ldc can build D code, as well as the D runtime, for the android platform and package it into a shared lib. The part I'm fighting with is just integrating it ergonomically.

Adam does iOS "goodbye world"
module Blog.Posted_2019_10_07
Core D Development Statistics
September 30, 2019
module Blog.Posted_2019_09_30

Another LDC beta, and my thoughts on the PHP to D blog post ideas.

D turns 20, Adam rants on software freedom
module Blog.Posted_2019_09_23

D is about 20 years old now, and wow it has changed a lot over the years. Early D didn't even have templates! It is my opinion it has been reinvented about every five years: first to add templates, then to add immutable, then focusing on an era of more stability. We're about due for another change, and I'm encouraged to see D continue to develop.

Named arg DIPs and my thoughts on code organization
module Blog.Posted_2019_09_16

Lots of DIP discussions this week and I will write a little about code organization.

September 9, 2019
module Blog.Posted_2019_09_09

Sorry, phoning it in again this time. But dmd 2.088 came out this week and it has __traits(getLocation) which is exciting. I'll have more next week.

I wrote about mixin templates vs string mixins on Stack Overflow
module Blog.Posted_2019_09_02

I don't have much time to write today, but earlier in the week, I wrote about mixin concepts in D over on Stack Overflow that you might want to check out.

August 26, 2019
module Blog.Posted_2019_08_26

I see gcc 9 and gdc are now in the Slackware Linux package repo, which is fun - D in gcc is something I'm really excited to see.

Bug bounty in D again - my hot take, on reusing code, a fun picture, my tentative plan for the next month
module Blog.Posted_2019_08_19

The SAOC submissions are now in and will be evaluated next week, a new dmd beta came out - with __traits(getLocation) which I'm personally a little excited about - and a bug bounty thing is now live. My hot take below.

Time invested is worth a lot
module Blog.Posted_2019_08_12

My thoughts on invested time and inventions are below.

cgi.d's new scheduler, static this tricks
module Blog.Posted_2019_08_05

This week, I wrote a new schedule server. Below, I describe how it works.

July 29, 2019
module Blog.Posted_2019_07_29

I'm sorry I haven't written much these last couple weeks, I have been busy with family.

July 22, 2019
module Blog.Posted_2019_07_22
Core D Development Statistics
Solving vs managing problems
module Blog.Posted_2019_07_15

Not much time to work on D this week. Got some open source contributions, but mostly the free time was spent elsewhere. This next weekend, I'm visiting family so don't expect much then either.

A big week in the arsd repo
module Blog.Posted_2019_07_08

I spent the last week writing a lot of D code. My new framework in cgi.d is now operational, though it still isn't quite done (notably, the timing system isn't done yet!). In this post, I'll briefly describe some of the new stuff.

July 1, 2019
module Blog.Posted_2019_07_01

I've been very busy the last few weeks doing something crazy, which is taking all my time but I can't talk about yet. As a result though, lots of testing and formalization stuff in my libs, I'll write about it soon.

June 24, 2019
module Blog.Posted_2019_06_24

Thee last two weeks have been awfully busy with other stuff, so I haven't had time to write. I have been writing some D though - the arsd repo is about to get new modules for database code generation and web template handling.

June 17, 2019
module Blog.Posted_2019_06_17

adrdox got package releases in a few places, yay. I also wrote more about avoiding stringof.

CRTP thoughts, named arguments DIP review, DConf videos now on youtube
module Blog.Posted_2019_06_10

My thoughts on the potential of the curiously recurring template pattern in D

musings on hybrid CT/RT tests, some more progress on new web framework
module Blog.Posted_2019_06_03

New LDC beta, GtkD updated (and now uses adrdox for their official docs!!), and I think about CT/RT hybrid tests as well as some more progress on my new web framework.

a little more webassembly
module Blog.Posted_2019_05_27

I was just goofing around with webassembly a bit more this weekend.

May 20, 2019
module Blog.Posted_2019_05_20

I tried to improve cgi.d's build time, but it refused to budge; in this case, Phobos dependency was not to blame, so I have to keep trying things. (It is amazing how much D spoils us; this 2 second complete rebuild from scratch feels soooo slow.)

Adam's string interpolation proposal
module Blog.Posted_2019_05_13

Well, DConf was this week, but I only caught a couple hours of it due to technical difficulties on day one, timezone on day two, and personal life on day three, so I will have to write about that later.

DMD 2.086 live, GCC 9 with D support formally released, DConf coming soon, links to posts on builder pattern and disallowing implicit conversions with templates, and 2d array op overloads
module Blog.Posted_2019_05_06

D 2.086 came out last week. The big news this week though is that DConf is happening in London. It is supposed to be livestreamed and recorded, but I haven't heard any details as to where yet.

template constraint error improvements coming?
module Blog.Posted_2019_04_29

tsvutils update on forum, release candidate dmd, rant on website weight

dmd 2.086 beta, dstep 1.0 released, Adam works on memory usage
module Blog.Posted_2019_04_22

A new dmd beta came out this week, along with DStep officially reaching version 1.0! Meanwhile, I have been fighting growing memory usage in my programs.

obj-c and webassembly report, tips on is expressions linked.
module Blog.Posted_2019_04_15

obj-c and webassembly report, tips on is expressions linked.

new ldc, new dmd, dpp on the blog
module Blog.Posted_2019_04_08

I'm going to have to be lazy this week, since I spent last Monday through Sunday night at various meetings that demanded my attention.

D's future discussed in forums
module Blog.Posted_2019_04_01

Thread with Andrei talking about changes, rvalue ref brought up again (this time by Andrei), tip on CTFE in -betterC, Adam works on web stuff more.

LDC beta, DConf blog link, Adam introduces gamehelpers.d
module Blog.Posted_2019_03_25

I forgot to post last week, so I slapped that post up without commentary, and now for this week, I write a little about a module that has been sitting in my repo for a long time, but hasn't been very useful. Now, it is minimally useful.

March 18, 2019
module Blog.Posted_2019_03_18

DConf schedule release. Otherwise, tbh, I forgot to write and post this week.

LDC 1.15.0-beta1, responsive design rant
module Blog.Posted_2019_03_11

New LDC beta came out, DConf proposal deadline passes, old DIPs get status updates. Adam rants about responsive design.

dmd 2.085.0 released
module Blog.Posted_2019_03_04

Well, most my D work this week was playing with the Objective-C binding. I filed a few bugs and Jacob fixed them, but not all made it into the release. I am awaiting the point release to do more with it, but with the understanding I have of Obj-C now, I was able to get create window in simpledisplay working on Cocoa again.

Obj-C interop and D without druntime code to copy/paste
module Blog.Posted_2019_02_25

More DIP talk in the forums, but I basically ignored all that and played with the new Objective-C interop and some runtime-less D code this week.

dmd beta, more info coming next time, demo of new web framework initial prototype
module Blog.Posted_2019_02_18

The new dmd beta came out this week, with lots of objective-C stuff, but I haven't had a chance to try it yet. Meanwhile, we got another LDC release, and in my world, I made some more progress on my new D web framework.

automatic web interface discussion, reflection tips and tricks
module Blog.Posted_2019_02_11

I got some work done on new web interface generation this week. A new dmd bug fix release came out, among many other community announcements, too.

Adam busy with weather and a move, lots of community announcements
module Blog.Posted_2019_02_04

I spent a huge amount of last week helping a friend do a last-minute move and dealing with a lot of snow... for the second week in a row! As I look outside now, the sun is out and we are back to a whopping 50 degrees Fahrenheit, so I don't wanna sit here typing on the computer for long.

January 28, 2019
module Blog.Posted_2019_01_28

GtkD blog, forum fundraiser, ref accept rvalue DIP argument, and more. Adam rants about libraries.

Working on official blog 2018 retro, C++ new wrapped, dmd reading zips?
module Blog.Posted_2019_01_21

I was approached to write "Last Year in D" for the official blog, and spent much of my free time this week working on that. Upstream, I noticed a little more obj-c code merged, some talk about wrapping C++'s new operator for D as yet another memory management option, and there is a forum post (again) about expanding D to read zip files directly.

dmd obj-c growing, Adam static foreaches an interface to RPC
module Blog.Posted_2019_01_14

In the dmd land, the Objective-C binding keeps getting new stuff pulled, so that is progressing quickly right now, and in my world, I am writing new from-scratch reflection using dmd's new features.

dmd 2.084, hope for future, but busy non-D week for me
module Blog.Posted_2019_01_07

I've had a crazy week with a lot of offline stuff and a lot of day job related work. So, alas, no time to write much for this issue, and I haven't finished the stuff I talked about last week :(

IDE tools released, my cgi.d gets new features
module Blog.Posted_2018_12_31

While the newsgroup raged about professionalism, a new DCD, DScanner, DServer, and other IDE helper tools came out, and I spent the week writing some new code in cgi.d - add-on servers. Also, TWID has its RSS feed live again!

DConf announced, tip, Adam rants: mouse trap
module Blog.Posted_2018_12_24

Big announcement this week: DConf 2019 announced for May 8 - 11, 2019 in London. And I want to call out the thread on CTFE floating point printing - that is some hard code, so having a self-contained port that happens to be CTFEable is cool to keep in mind! Lastly, read on for statements-in-mixin-template tip!

This Week in D is back!
module Blog.Posted_2018_12_17

After a year hiatus, This Week in D is back! However, this time, I want to do things a little differently: