{"id":1545,"date":"2018-05-31T14:36:49","date_gmt":"2018-05-31T14:36:49","guid":{"rendered":"http:\/\/dlang.org\/blog\/?p=1545"},"modified":"2021-10-08T11:04:03","modified_gmt":"2021-10-08T11:04:03","slug":"dconf-2018-ex-post-facto","status":"publish","type":"post","link":"https:\/\/dlang.org\/blog\/2018\/05\/31\/dconf-2018-ex-post-facto\/","title":{"rendered":"DConf 2018 Ex Post Facto"},"content":{"rendered":"<p>When I was ten years old, I broke a small hand mirror. For some years after, my moderately superstitious grandmother would remind me of it any time I suffered a bit of misfortune, providing me with periodic updates on how many of my seven years of bad luck I had yet to face. Two days before <a href=\"http:\/\/dconf.org\/2018\/index.html\">DConf 2018<\/a>, I couldn\u2019t help but think of her when my wife and I, having encountered a black cat the evening before, found ourselves in the wrong train car at Frankfurt station.<\/p>\n<h2 id=\"thetrain\">The train<\/h2>\n<p>It was an easy mistake to make. We were supposed to be in car 28, so we boarded at a door that was branded \u201c38\/28\u201d. Inside, 2nd class was to the right and 1st class to the left. Our reservation was for the latter. We found our seats, stowed our luggage, and settled in for our trip to Munich and DConf. It was a few minutes before I noticed the big \u201c38\u201d on the screen of the monitor hanging from the ceiling.<\/p>\n<p>I asked the first uniformed person I could find, \u201cAre we in the right place?\u201d. Of course, we weren\u2019t. He informed me we couldn\u2019t just cut through the cars to get to the correct place &#8212; we had to disembark and get back on at the other end of the train. Only, there was no time to do so, as the train was leaving in a few seconds.<\/p>\n<p>\u201cDon\u2019t worry,\u201d he said. \u201cIt happens.\u201d<\/p>\n<p>When the conductor came around, he assured us that all was well. The seats weren\u2019t reserved and the whole train was going to Munich anyway. I laughed, thinking the last bit was a joke. I later learned that two trains are sometimes linked to share part of a journey and will split somewhere along the way to head to different final destinations. He was being serious!<\/p>\n<h2 id=\"thepre-confjitters\">The pre-conf jitters<\/h2>\n<p>A Toastmasters class I won in an essay contest after high school cured me of my fear of public speaking (prior to that, I couldn\u2019t say two words in front of five people without going into convulsions), and after 24 years of teaching in Korea I\u2019m perfectly comfortable speaking to groups of a few people in a small class or a few hundred at an assembly. I always know what I want to say and I\u2019m confident in my ability to read the crowd. So when I accepted the offer to be the DConf emcee this year, I wasn\u2019t concerned at all. Short bursts of speaking in front of 80 people? I could do that in my sleep.<\/p>\n<p>But the train incident was the first in a series of unfortunate events that continued right up until a few minutes before the conference, including two embarrassing instances of my mishearing introductions and thinking a person I\u2019d just met was someone else. By the time I had the mic in my hand, I could hear my grandmother\u2019s voice in my head, reiterating every bit of \u201cbad luck\u201d I\u2019d had since that cat had crossed my path in Frankfurt (it was actually a kitten, not entirely black, and my wife had found it adorable enough that she briefly entertained ideas on how to take it with us to Korea).<\/p>\n<p>Of course, I\u2019m not superstitious. At all. But apparently my lizard brain felt these were extraordinary circumstances. As Walter and I were chatting while we waited for the clock to countdown, I was attacked by the worst case of jitters I\u2019ve had since high school.<\/p>\n<p>It was going to be the worst DConf ever.<\/p>\n<h2 id=\"theconference\">The conference<\/h2>\n<p>After the first few words were out of my mouth, the jitters evaporated. My grandmother left me alone for the rest of the conference. Barring a few minor glitches and one rather severe one, it all went rather well, though I couldn\u2019t really tell from my perspective.<\/p>\n<p><img loading=\"lazy\" class=\"size-full wp-image-1336 aligncenter\" src=\"http:\/\/dlang.org\/blog\/wp-content\/uploads\/2018\/01\/dconf_logo_2018.jpg\" alt=\"\" width=\"560\" height=\"200\" srcset=\"https:\/\/dlang.org\/blog\/wp-content\/uploads\/2018\/01\/dconf_logo_2018.jpg 560w, https:\/\/dlang.org\/blog\/wp-content\/uploads\/2018\/01\/dconf_logo_2018-300x107.jpg 300w\" sizes=\"(max-width: 560px) 100vw, 560px\" \/><\/p>\n<p>This was my first time being on the other side. Everything went by in a blur.\u00a0During the talks, there were emails and Facebook messages to respond to, IRC &amp; the livestream feed to check in on (though Sebastian Wilzbach kept a fulltime eye on them), tweets to write, and the constant concern about how to politely keep speakers in their time budget. Without the Foundation\u2019s intern, Maria Marginean, running the mic to audience members with questions, I would have been frazzled.<\/p>\n<p>Between talks, there were problems getting speakers\u2019 laptops to display properly, questions about things I didn\u2019t immediately have an answer for, and people to track down to resolve one issue or another. Then there were the numerous things I had planned to say each time I got up in front of everyone, only to realize after I sat back down that I had completely forgotten.<\/p>\n<p>In all, I had a great time. I had less time to mingle this year, but I still caught up with some familiar folks and met several new ones. That\u2019s always the best part of DConf for me, and that held true this year, even though many of the conversations I had were brief.<\/p>\n<p>The display issues turned out not to be as troublesome as they threatened to be on the first day. The A\/V team was using a bluetooth device. Plug it in to a USB port, install a driver, press the big button on the device, and you\u2019re projecting. But a few speakers had no USB ports, some were using Linux (for which there was no driver), and some struggled to get the proper desktop to display. On the second day, the A\/V guys were prepared with every adapter imaginable and, where those failed, they simply unplugged the HDMI cable from the bluetooth receiver and plugged it directly into the laptops. We still had problems sometimes with the wrong desktop showing, but in the end it all worked out.<\/p>\n<p>The biggest glitch, the one we regret most of all, was the loss of the video of the first three talks. It\u2019s something that could have been prevented with a bit of forethought. The best thing I can say about it is that it taught a valuable lesson that will be applied at future DConfs. No matter who is organizing or who is managing the A\/V, the Foundation will ensure steps are taken to minimize the chance of this happening again.<\/p>\n<p>In the periods that I was able to pay attention to the talks, there was a lot to enjoy.<\/p>\n<div style=\"width: 2058px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/lh3.googleusercontent.com\/v2rBf_Nhgb9yprfIOFkG3yH_OAu3RXcXEmN33y4q6vVnVV7vlNK2xPSiPki6sitHlSHOuQgoEFhm-2aGo3rjSW3jpflB4uhM3AuneqB8XosuBk46Fe9vTR5PNvHGOnRTd1MVUtOm=w2400\"><img loading=\"lazy\" class=\"size-full\" src=\"https:\/\/lh3.googleusercontent.com\/v2rBf_Nhgb9yprfIOFkG3yH_OAu3RXcXEmN33y4q6vVnVV7vlNK2xPSiPki6sitHlSHOuQgoEFhm-2aGo3rjSW3jpflB4uhM3AuneqB8XosuBk46Fe9vTR5PNvHGOnRTd1MVUtOm=w2400\" width=\"2048\" height=\"1536\" \/><\/a><p class=\"wp-caption-text\">Vang Le presented on D in genomic bioinformatics.<\/p><\/div>\n<p>We\u2019ve heard in the forums about D being used in bioinformatics, but this year was the first time we\u2019ve witnessed <a href=\"http:\/\/dconf.org\/2018\/talks\/le.html\">a DConf talk about it<\/a>. The talk sparked enough interest in the subject that Vang Le was able to get some collaboration at the Hackathon that will hopefully continue beyond as he works to expand D in the field. I look forward to seeing more talks related to this industry at future conferences.<\/p>\n<p>In contrast, the topic of game development is a DConf staple (<a href=\"http:\/\/dconf.org\/2015\/schedule\/index.html\">DConf 2015 was the only edition without a gamedev talk<\/a>). But this year was the first time someone from Ubisoft presented (Igor \u010cesi), and the first we\u2019ve learned about <a href=\"http:\/\/dconf.org\/2018\/talks\/cesi.html\">a project some folks from the company took on<\/a> as a proof-of-concept, porting D to a platform Igor wasn\u2019t allowed to name just yet. I\u2019ve been interested in game development as a hobby for over a couple of decades now and I don\u2019t get to meet too many game developers in my normal line of work (the first time I met Ethan Watson in Berlin I grilled him mercilessly about his job throughout dinner), so the conversation the trio from Ubisoft had with Andrei and me (mostly Andrei) about the company and their interest in D was one of the highlights of the conference for me.<\/p>\n<p>Another highlight for me was meeting Martin Odersky, our invited keynote speaker this year. I\u2019ve followed Scala from a distance for some time; it was the first place I turned when I needed to correct my lack of experience with functional programming after <code>std.algorithm<\/code> and friends came along. Our introduction was a bit rushed, though. Five minutes before he was supposed to speak, he wasn\u2019t anywhere in or around the conference room. Walter hadn\u2019t seen him. Andrei hadn\u2019t seen him. Someone reported seeing him in the restaurant. That\u2019s where I found him, banging away at the keys on his laptop. He had realized at breakfast that <a href=\"http:\/\/dconf.org\/2018\/talks\/odersky.html\">his talk about abstracting over context<\/a> needed a bit more context to make it more understandable, given how most of us wouldn\u2019t have the Scala background he referenced. He was just finishing his edits as I arrived, and we got him set up right on time. I ignored my emails and FB messages for most of that talk (and actually understood quite a lot of it).<\/p>\n<div style=\"width: 2058px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/lh3.googleusercontent.com\/_Tl7ibVXQq4WwLKz2sLZ2yok3Rid9GhTNvKXey1Oi8ocmFFHQdar_gAIJpq9DwB_AkGZwWppQPsWAxMZiItAP1XJoGh8G9Po0PQvj4OPU_KdD_XHss5OU94wMBV0mvD7BCSyODSH=w2400\"><img loading=\"lazy\" src=\"https:\/\/lh3.googleusercontent.com\/_Tl7ibVXQq4WwLKz2sLZ2yok3Rid9GhTNvKXey1Oi8ocmFFHQdar_gAIJpq9DwB_AkGZwWppQPsWAxMZiItAP1XJoGh8G9Po0PQvj4OPU_KdD_XHss5OU94wMBV0mvD7BCSyODSH=w2400\" alt=\"\" width=\"2048\" height=\"1536\" \/><\/a><p class=\"wp-caption-text\">Martin Odersky was the invited keynote speaker on Day 3.<\/p><\/div>\n<p>Some DConf veterans talked about work they\u2019ve been doing, like <a href=\"http:\/\/dconf.org\/2018\/talks\/davis.html\">Jonathan Davis\u2019s dxml library<\/a>, <a href=\"http:\/\/dconf.org\/2018\/talks\/watson.html\">Ethan Watson\u2019s progress on Binderoo<\/a>, <a href=\"http:\/\/dconf.org\/2018\/talks\/olshansky.html\">Dimitry Olshansky\u2019s report on his attempt to create a unified concurrent D runtime<\/a>, and <a href=\"http:\/\/dconf.org\/2018\/talks\/schveighoffer.html\">Steven Schveighoffer\u2019s experience porting a LAMP application to vibe.d<\/a>. Johan Engelen expanded on <a href=\"http:\/\/johanengelen.github.io\/ldc\/2018\/01\/14\/Fuzzing-with-LDC.html\">a blog post he wrote earlier this year<\/a>, presenting a talk on <a href=\"http:\/\/dconf.org\/2018\/talks\/engelen.html\">some LLVM-backed goodies in LDC<\/a> that people might not be aware of.<\/p>\n<div style=\"width: 2058px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/lh3.googleusercontent.com\/HfX9hYmyPPjrSRts3X36z919A0HopkEXZfW5OEYmxqD0EgVQR2PZlGu4QoJzFyBc2-4eUrD30a7nKdXsyReww2IsxOP7QXSA1lkzvH38Mw_5LOrgXpzOO2IsiFcHkv9p9Xx3aunW=w2400\"><img loading=\"lazy\" src=\"https:\/\/lh3.googleusercontent.com\/HfX9hYmyPPjrSRts3X36z919A0HopkEXZfW5OEYmxqD0EgVQR2PZlGu4QoJzFyBc2-4eUrD30a7nKdXsyReww2IsxOP7QXSA1lkzvH38Mw_5LOrgXpzOO2IsiFcHkv9p9Xx3aunW=w2400\" alt=\"\" width=\"2048\" height=\"1536\" \/><\/a><p class=\"wp-caption-text\">Kai Nacke talked about using D for the blockchain.<\/p><\/div>\n<p>Kai Nacke presented another first for DConf, <a href=\"http:\/\/dconf.org\/2018\/talks\/nacke.html\">a talk about D for the blockchain<\/a>, where he did a great job simplifying a complex topic. <a href=\"http:\/\/dconf.org\/2018\/talks\/marques.html\">Lu\u00eds Marques\u2019s talk on breaking away from OOP orthodoxy<\/a> was immediately followed by first-time DConf speaker <a href=\"http:\/\/dconf.org\/2018\/talks\/leroy.html\">Jean-Louis Leroy\u2019s related talk on open methods<\/a>. And <a href=\"https:\/\/www.live-ask.com\/\">live-ask.com<\/a>, the subject of Stefan Dilly\u2019s presentation on <a href=\"http:\/\/dconf.org\/2018\/talks\/dilly.html\">scalable webapp development in D with Angular and vibe.d<\/a>, was actually put to use during the conference &#8212; it became our primary source for taking questions online, particularly during <a href=\"http:\/\/dconf.org\/2018\/talks\/panel.html\">Walter and Andrei\u2019s Ask Us Anything session<\/a> at the end of Day One.<\/p>\n<p>The D Language Foundation\u2019s scholarship recipients (a.k.a. <em>Andrei\u2019s Students<\/em>, a.k.a.\u00a0<em>The Romanian Crew<\/em>) were back to present updates on their work. We heard from Razvan Nitu on <a href=\"http:\/\/dconf.org\/2018\/talks\/nitu.html\">the trials and tribulations of contributing to DMD<\/a>, Eduard Staniloiu on <a href=\"http:\/\/dconf.org\/2018\/talks\/staniloiu.html\">a new approach to generic collections in D<\/a>, and Alexandru Jercaianu on Project Blizzard, <a href=\"http:\/\/dconf.org\/2018\/talks\/jercaianu.html\">a means of performing safe memory allocation and deallocation in D<\/a>. The first two of those talks came on Day Two, which was opened by Andrei\u2019s keynote. He had been <a href=\"http:\/\/dconf.org\/2018\/talks\/alexandrescu.html\">scheduled to present on static introspection<\/a>, but changed his mind and instead did a deep dive on things that are vital to D\u2019s future in a talk titled, \u201cUp and Coming\u201d.<\/p>\n<p>Of the three talks for which we have no video, a version of <a href=\"http:\/\/dconf.org\/2018\/talks\/bright.html\">Walter\u2019s keynote on using D in existing C codebases<\/a> will be available eventually \u2013 he gave the same talk at\u00a0<a href=\"https:\/\/www.codeeurope.pl\/en\/speakers\/walter-bright\">Code Europe Krak\u00f3w<\/a> not long after DConf. The picture is not as rosy for the other two talks. Mario Kr\u00f6plin and Stefan Rohe presented <a href=\"http:\/\/dconf.org\/2018\/talks\/funkwerk.html\">an entertaining report on their experience using D for 10 years at Funkwerk<\/a> and Jon Degenhardt used his first DConf talk to update us on <a href=\"http:\/\/dconf.org\/2018\/talks\/degenhardt.html\">the performance of eBay\u2019s TSV utilities<\/a>, following up on <a href=\"https:\/\/dlang.org\/blog\/2017\/05\/24\/faster-command-line-tools-in-d\/\">a blog post he wrote for the D Blog on the same topic<\/a>. Sadly, the videos for those talks are forever lost.<\/p>\n<div style=\"width: 2058px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/lh3.googleusercontent.com\/ASmDKfOWa_mLk95YduCSg-pYeB_docERDrlALcH9CZ8nWjofklEPbVg8IT6m7g23qGy5uJNqb2rv9ebZQ3gOXfZqqkc_UDzixH0LeEHd7PFsEr94xhHVKLzIPyTelovlBQQ33ZJY=w2400\"><img loading=\"lazy\" src=\"https:\/\/lh3.googleusercontent.com\/ASmDKfOWa_mLk95YduCSg-pYeB_docERDrlALcH9CZ8nWjofklEPbVg8IT6m7g23qGy5uJNqb2rv9ebZQ3gOXfZqqkc_UDzixH0LeEHd7PFsEr94xhHVKLzIPyTelovlBQQ33ZJY=w2400\" alt=\"\" width=\"2048\" height=\"1536\" \/><\/a><p class=\"wp-caption-text\">Evidence that Jon Degenhardt really did give a talk about eBay&#8217;s TSV utilities.<\/p><\/div>\n<p>We did another round of lightning talks this year. It was organized as the conference progressed, and given that everyone was using their own laptops, I was sure that trying to get them shifted on and off the lectern and properly configured would be a disaster. In the end, it all came off successfully. A couple of presenters went over their five-minute time budget and two were unable to get their displays configured, but we had just enough time to get everyone in and the display-less folks improvised and presented without their slides anyway.<\/p>\n<p>Liran Zvibel (whose name I can now absolutely properly pronounce) wrapped up the last full day of talks with a closing keynote. He regaled us with <a href=\"http:\/\/dconf.org\/2018\/talks\/zvibel.html\">a report on Weka.IO\u2019s experience with D<\/a> in the development of their storage system. It was followed the next day by <a href=\"http:\/\/dconf.org\/2018\/talks\/shemesh.html\">Shachar Shemesh\u2019s announcement of Mecca<\/a>, <a href=\"https:\/\/github.com\/weka-io\/mecca\">Weka.IO\u2019s container\/reactor library<\/a>, to kick off the Hackathon. Actually, after Shachar saw that a significant number of the audience didn\u2019t raise their hands when I asked how many would be sticking around for the Hackathon, he requested a slot in the lightning talks for an early, abbreviated announcement.<\/p>\n<p>At the Hackathon, we had audio in the room for Shachar\u2019s talk but no video, so <a href=\"https:\/\/youtu.be\/xNWRgEHxOhc?t=12m22s\">I set up a livestream from my MacBook<\/a> (though it has poor audio quality). Ali \u00c7ehreli made sure it kept rolling and he repositioned it as needed. After the talk and the group photo (which Andrei missed!), I saw a lot of folks with their heads together, but I only know of what a couple of them were doing (maybe we\u2019ll hear more about that in future blog posts).<\/p>\n<p>The big announcement at the Hackathon was that the D Language Foundation will now start funding projects via targeted donations. The <a href=\"https:\/\/github.com\/Pure-D\/code-d\">VS Code plugin code-d<\/a> (and <a href=\"https:\/\/github.com\/Pure-D\/serve-d\">its companion, serve-d<\/a>) is the first project selected. Once we achieve $3000 in donations, the project maintainer will be eligible to get that money as he meets specific milestones. Unfortunately, the new goals system at Open Collective isn\u2019t what we expected it to be. We\u2019ll make do with it for now, but we\u2019ll likely be moving to an approach that allows us to set up multiple fundraising targets and count donations through Open Collective, PayPal, and elsewhere. Until then, if you\u2019re a code-d user (or just want to support the project), head to <a href=\"https:\/\/opencollective.com\/dlang\">our Open Collective page<\/a> to show your appreciation and make a financial contribution to its development.<\/p>\n<p>Videos of the talks are <a href=\"https:\/\/www.youtube.com\/playlist?list=PL9a7lgBtSQb-YCVj96v5vn1tEXPjKOPuB\">starting to appear on HLMC\u2019s YouTube channel<\/a>. Once they\u2019re all online, we\u2019ll set up a playlist on the D Language Foundation\u2019s channel (you can <a href=\"https:\/\/www.youtube.com\/channel\/UC5DNdmeE-_lS6VhCVydkVvQ\">find playlists of all the previous conferences there now<\/a>).<\/p>\n<h2 id=\"untilnextyear...\">Until next year\u2026<\/h2>\n<p>Thanks to everyone who attended DConf 2018 in Munich, to everyone who supported it with time or money, and to <a href=\"https:\/\/www.qa-systems.de\/\">QA Systems<\/a> and <a href=\"http:\/\/www.hlmc.de\/\">HLMC Events<\/a> for putting it all together.<\/p>\n<div style=\"width: 2410px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/lh3.googleusercontent.com\/pCyOuKE-l0G3KzyT95r2tlk46SrsYROmCpgDoWPlZqWiU5kjWRcTn7Uz0k-_J6aGAPrTOY3cJnwCm-BQEhLz70hBmcyM0Lh7v3_TUNt3afqJbGQMpwdMyd_wmwr9l_U30JtNzsf0=w2400\"><img loading=\"lazy\" class=\"size-full\" src=\"https:\/\/lh3.googleusercontent.com\/pCyOuKE-l0G3KzyT95r2tlk46SrsYROmCpgDoWPlZqWiU5kjWRcTn7Uz0k-_J6aGAPrTOY3cJnwCm-BQEhLz70hBmcyM0Lh7v3_TUNt3afqJbGQMpwdMyd_wmwr9l_U30JtNzsf0=w2400\" width=\"2400\" height=\"1800\" \/><\/a><p class=\"wp-caption-text\">Some of the DConf 2018 crew.<\/p><\/div>\n<p>It\u2019s too early to say where DConf 2019 will be hosted, but plans regarding some of the generic organization details are already in the works. I expect some announcements will start coming out a little bit earlier than in the past. Stay tuned!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A look back at DConf 2018 in Munich from a personal perspective.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[6,25],"tags":[],"_links":{"self":[{"href":"https:\/\/dlang.org\/blog\/wp-json\/wp\/v2\/posts\/1545"}],"collection":[{"href":"https:\/\/dlang.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dlang.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dlang.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dlang.org\/blog\/wp-json\/wp\/v2\/comments?post=1545"}],"version-history":[{"count":21,"href":"https:\/\/dlang.org\/blog\/wp-json\/wp\/v2\/posts\/1545\/revisions"}],"predecessor-version":[{"id":1566,"href":"https:\/\/dlang.org\/blog\/wp-json\/wp\/v2\/posts\/1545\/revisions\/1566"}],"wp:attachment":[{"href":"https:\/\/dlang.org\/blog\/wp-json\/wp\/v2\/media?parent=1545"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dlang.org\/blog\/wp-json\/wp\/v2\/categories?post=1545"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dlang.org\/blog\/wp-json\/wp\/v2\/tags?post=1545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}