We invite you to DConf 2013, the conference of the D programming language (Menlo Park, CA, May 1-3 2013).
+
+
The D programming language is undergoing rapid growth, spurred
+ by a bustling talented community and downright furious coding
+ activity on the open-source compiler
+ front-end and standard
+ library. These also fuel the gdc compiler (based off of the gcc infrastructure) and the ldc compiler (grown atop of
+ the llvm infrastructure). A conference to
+ catalyze the community was just bound to happen, and indeed we have
+ successfully funded DConf 2013 via Kickstarter.
+
+
DConf is the main face-to-face event for everyone and everything
+ related to the D language and environment. DConf 2013 will feature
+ leading speakers from the D
+ community.
+
+
Topics
+
+
DConf 2013 offers a variety of talks on topics of interest to a
+ broad variety of engineers.
+
+
Tools and Techniques for maximizing productivity when
+ working in D
+
+
Experience reports on using D in domains such as
+ compilers, scientific computing, and gaming
+
+
Under the hood looks at metaprogramming, design patterns,
+ and SIMD
+
+
Hot topics that are sure to engender lively debates, such
+ as manual and automatic memory management, migrating from other
+ languages, and managing the D development itself
+
+
+
+
... and more! Check the schedule for the full list of talks along with their abstracts.
Check the full list of
+ speakers for more information.
+
+
Above all, DConf 2013 aims at bringing together "everybody who's
+ somebody" in the D world for an event that's inspirational and
+ defining for the future of the language.
+
+
Registration and Pricing
+
+
Registration is now open. $400 on or before March 31st buys a conference pass
+ ($425 therafter). Refer to the registration page for full details.
+
+
Please note: Seating is limited and the
+ kickstarter donors have already secured a fraction of the
+ registrations, so register soon to secure a seat.
+
+
\ No newline at end of file
diff --git a/docs/2013/registration.html b/docs/2013/registration.html
new file mode 100644
index 00000000..91744172
--- /dev/null
+++ b/docs/2013/registration.html
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+The D Programming Language Conference 2013
+
+
+
+
+
+
+
+
+
+
+
+
+
Registration
+
+
Early bird registration must be completed on or before March 31, 2013. Prices go up to $425 on April 1. Register as soon as
+possible to reserve your seat!
+
+
+
+
+
All registrations are final. Registrations are transferrable.
+
+
Please let us know what you'd like your badge to say if it is
+different from your name on your credit card.
+
+
\ No newline at end of file
diff --git a/docs/2013/schedule/index.html b/docs/2013/schedule/index.html
new file mode 100644
index 00000000..754fe593
--- /dev/null
+++ b/docs/2013/schedule/index.html
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+The D Programming Language Conference 2013
+
+
+
+
+
+
+
+
+
+
+
+
+
Schedule
+
+
+
Day 1: Wednesday May 1, 2013
+
+
8:30 AM - 9:00 AM
Breakfast
+
+
9:00 AM
+
Opening Keynote
+ Walter Bright
+It hardly gets better than listening to D's creator himself!
+Meet Walter Bright, the one and only, and listen to him talk about the
+present and future of the D programming language.
+
Copy and Move Semantics in D
+ Ali Çehreli
+D structs are similar to their counterparts in other languages but they have significant differences as well. The mechanics of copying and moving struct objects are special in D.
+
Nearly thirty years have passed since the release of the infamous Dragon Book by Aho, Lam, Sethi, and Ullman. Since then the available memory and CPU power has grown by a factor of at least 1000 and 10000 respectively. The use of multiprocessors and fast networks has become the rule rather than the exception. Even though compiler and programming language have advanced greatly in this period of time, their basic design has not been adjusted to reflect the enormous hardware improvements.
+
+
In this presentation, which reflects the content of my master thesis, I present a D compiler written in D that exploits these tremendous hardware advances. To utilize multiprocessors the lexer and parser are run in different communicating threads. On top of that different semantic analysis are spread across multiple threads. To speedup compilation, by use of a cache and work distribution among a network, datastructures are created that store results, like the abstract-syntax- tree, in a consecutive chunk of memory. To remove manual labor a lexer- and parser-generator were created that use a custom library that, not only, consists of stl inspired containers.
+
+
Besides the conceptual architecture of this new compiler, I will report on the implementation, the use of datastructures and the lessons learned during this project with respect to compiler design as well as the D Programming Language.
Modern large-scale software design often requires ever-growing team
+sizes. As team size scales up, so does the amount of churn (and number
+of bugs introduced) to a code base in a release. Unfortunately, the
+amount of manual developer or QA testing necessary to find those bugs
+scales quadratically (or worse) as N features are tested by hand in M
+configurations. The solution is to keep coders, not QA, responsible
+for maintaining the quality of their individual components, and to
+make it trivial and fast to run just the right tests that cover the
+code the coder changes. D comes pre-baked with lots of tools to make
+this easier, including a standard unit testing harness, but
+there'smuch more we can build on top of that to help write not only
+tests for code, but code that can be tested in an automated fashion.
+
+
We'll discuss techniques and tools for designing large-scale
+testable code in D, including unit testing, mocks, fakes, inversion of
+control, and dependency injection.
Using D Alongside a Game Engine
+ Manu Evans
+Post-mortem on experiments integrating D with a typical C/C++ game
+engine as an extension language for use processing game logic. Topics
+covered include dynamic C/C++ linkage, memory management, patterns for
+usage as an extension of existing C/C++ code, issues encountered, and
+other hairy details.
+
Concurrent Garbage Collection for D
+ Leandro Lucarella
+Stop-the-world garbage collectors can be quite problematic for (soft)
+real-time applications. The pauses introduced can be disruptive to the
+point to make some applications inviable, like games or even low-latency
+servers.
+
+
The Concurrent D Garbage Collector (CDGC) was developed mainly to
+address this issue, by making the mark phase run in parallel with the
+actual application, reducing the pause times by 2 orders of magnitude.
+Since our systems at sociomantic labs GmbH require to have very low
+latency at all times, we've been using this collector for almost 2 years
+now with good results.
+
+
This presentation gives a brief introduction to garbage collection,
+describes original D's GC implementation details and explains how it has
+been extended to do perform the mark phase in parallel. After showing
+some benchmark results, shortcomings and future work and improvements
+are discussed.
The D Development Process
+ Walter Bright, Andrei Alexandrescu, and more
+Join us for a lively discussion that's likely to go late into the night over beers. The topic is D's development process—what are we doing well, what should we improve, and what are the next steps to take?
+
GDC
+ Iain Buclaw
+Starting with an introduction to GDC, what works (and doesn't) and
+updates on current progress of development. Will go on to talk about
+future developments, scope and design. In particularly focusing on
+the expansion of D, including targeting more architectures, future
+shared library support in the runtime, the implementation of D
+Front-End itself to scale and be platform agnostic, and finally
+getting across the chasm to gain a bigger user base (Andrei said "I
+want 1,000,000 users" back in 2012). Rounding it up with (an
+interogation :o) Q&A.
+
C# to D
+ Adam Wilson
+Breaking up is never easy and taking the plunge opens a Pandora’s Box
+of difficult questions. This talk will answer some of those questions
+and provide direction for anyone looking to convert their C# software
+to D. We will focus on the practical issues that anyone converting
+their project from C# to D will face. These issues include, but are
+not limited to, the differences between C# Namespaces and D Modules,
+Strings, Scoping, Properties, and what to expect while converting from
+the .NET Base Class Library to Phobos. This talk will be code-centric
+featuring real-world examples and how-to’s.
+
Web Development in D
+ Vladimir Panteleev
+With its speed, safety, and expressiveness, D excels for web
+development. However, D is not yet thought of as a compelling choice
+in that area. The best D tools and techniques for web development are
+young and not well known at this time. This talk will fix that by
+providing an overview of the web development libraries, solutions and
+techniques available to D users today.
+
Though optional to some extent, garbage collection simplifies
+programming considerably and is a major building block for a number of
+features of the D programming language like slices and delegate
+closures. The current garbage collector implemented in the D runtime
+library is conservative, limiting the possibility to detect false
+pointer references leading to unused memory leaking and polluting the
+address space, especially in 32-bit environments.
+
+
This presentation describes the implementation of a precise
+garbage collector for D that takes advantage of building necessary
+type information at compile time via the existing RTInfo compiler
+hook. Modifications to the D runtime library are discussed and
+compiler modifications are proposed to support precise scanning the
+data and TLS segments in addition to heap allocated memory.
Higgs, an Experimental JIT Compiler written in D
+ Maxime Chevalier-Boisvert
+Just-in-time (JIT) compilers are highly complex pieces of software which
+manipulate symbolic representations of code at multiple levels of
+abstraction, generate machine instructions, and introspect the state of
+programs at execution time. We present an experience report on the usage
+of D in implementing Higgs, an optimizing JIT compiler for JavaScript.
+We discuss how various features of D did or did not address our technical
+and practical concerns and provide some recommendations for future
+development of the language.
+
Sociomantic Labs is a global leader in real-time bidding for online
+display advertising. Our codebase is not only written entirely in D,
+but also makes extensive use of generic programming, even in
+application-level code. Compile-time metaprogramming techniques have a
+reputation of being akin to sorcery, incomprehensible to all but an
+elite group of top-notch library developers. Yet we have found that
+even developers with no prior knowledge of D have been able to master
+the compile-time aspects of the language in a remarkably short period
+of time.
+
+
This presentation will review the history of this part of the
+language, to explain exactly how and why generic programming D has
+become so accessible in practice. Drawing from Sociomantic's
+experience with D, I'll discuss the areas where reality differs from
+expectations. Accessible metaprogramming has huge implications for the
+future commercial growth of D, and our real-world experience will help
+the D community to further exploit this strength.
Professional Programming in teams requires a common clean coding
+style. This could be enforced using code reviews, but the simpler and
+less offensive way to achieve this is by using a tool as style cop. It
+helps spreading the conventions about the language in the team and
+assisting new team members in easily adopt to the programming style by
+getting fast feedback on their code. Having such a static code
+analyzer refactoring becomes easier, because it reminds about now
+unused variables, unused parameters or other refactoring artefacts.
+
+
This talk will introduce you to AnalyzeD,
+explain you how it's working, and give you an outline about what's planned.
+
+
AnalyzeD is currently used for checking 250kLOC of production code against programming conventions and determines metrics.ent state and what is planned to develop/release.
D-Specific Design Patterns
+ David Simcha
+The D programming language offers a variety of abstractions not found
+together in any other language. In particular, D's compile time
+metaprogramming facilities are a game changer, especially when
+combined with its low-level programming capabilities. This session
+explores design patterns that have emerged from my code, my former
+GSoC students' code and code written by other Phobos contributors. It
+attempts to codify some of the more useful patterns that are currently
+known only informally and only to a small group of hardcore D users.
+
LDC
+ David Nadlinger
+LDC is a fully open source, portable D compiler based on the
+same front-end as DMD, but leveraging the LLVM compiler infrastructure
+for optimization and code generation. Development activity has
+resurged recently, and this talk will start out with an overview of
+the current status, focussing on spec compliance, performance and
+platform support. In the second half, after a cursory look at the
+internal workings of the compiler, the talk will recap the current
+situation from a developer point of view, including our experiences
+regarding the use of DMD in an external project. Finally, future plans
+and open issues will be discussed, with a specific emphasis on
+cross-compiler compatibility.
+
+Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages. He's an expert in all areas of compiler technology, including front ends, optimizers, code generation, interpreter engines and runtime libraries. Walter regularly writes articles about compilers and programming, is known for engaging and informative presentations, and provides training in compiler development techniques. Many are surprised to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30 years after its debut.
+Andrei Alexandrescu coined the colloquial term "modern C++" (adapted
+from his award-winning book Modern C++ Design), used today to describe
+a collection of important C++ styles and idioms. He is also the
+coauthor (with Herb Sutter) of C++ Coding Standards and the author of
+The D Programming Language book. With Walter Bright, Andrei
+co-designed many important features of D and authored a large part of
+D's standard library. His research on Machine Learning and Natural
+Language Processing completes a broad spectrum of expertise. Andrei
+holds a Ph.D. in Computer Science from the University of Washington and
+a B.Sc. in Electrical Engineering from University "Politehnica"
+Bucharest. He works as a Research Scientist for Facebook.
+Lead developer, project coordinator and the principal force behind the
+development of the GNU D Compiler from as far back as 2009, where have
+been responsible for the migration over from D1 to D2, as well as from
+GCC 3.x to GCC 4.x. Others might be interested to know that outside
+hobby life I work on for a Cloud Services/Hosting company as a
+Technical Engineer, and unofficially use D on a frequent basis to
+develop interpreters, and various plug-ins to work within our
+infrastructure.
+Ali Çehreli has been working as a C++ programmer in Silicon Valley since 1996. His experience has been with small and large companies in various fields, currently with Riverbed. He is the president of The Silicon Valley Chapter of the ACCU, where he has given presentations on C++ Exception Safety and the D programming language. He is the author of the online book "Programming in D", which aims at teaching D as a first language.
+Maxime Chevalier-Boisvert holds a master's degree from McGill University
+and is currently pursuing a PhD at Université de Montréal as part of the
+Dynamic Language Team. Her area of study is compiler design and
+optimization, with a focus on dynamic programming languages, JIT compilers
+and type analysis.
Don Clugston is a senior developer at Sociomantic Labs GmbH. Before becoming a full-time D programmer, he worked for 15 years in the solar photovoltaics industry, both in research and manufacturing. He also wrote the FastDelegate library which is used by many C++ programmers. He has been a prolific contributor to the D community since 2005.
+With over 19 years of service in the US Marine Corps, Andrew sets his
+sight on retirement in August 2014. His has a rich background is in
+Maintenance Management, currently holds an Associates Degree in
+Japanese Studies and is pursuing a Bachelors in Computer and
+Information Science from the University of Maryland University
+College. Plans after retirement include starting his company in
+software development and networking.
+Manu Evans is a senior technology programmer in the video games
+industry with 10 years commercial experience. He has worked at Remedy
+Games in Finland, and Krome Studios in Australia, on titles including
+Alan Wake, Star Wars, Spyro the Dragon, and many, many more. Manu is
+an expert in hardware abstraction, low level systems and performance
+optimisation on a wide variety of computer hardware.
+Ben Gertzfield is a mobile engineer at Facebook. He's designed and
+shipped testability and dependency injection frameworks for
+Objective-C and C++, and is a huge advocate for freeing engineers from
+the burdens of manual testing.
+Leandro Lucarella has been following D since about 2004 and started
+participating in D forums in late 2006. In 2008 he started working on
+the CDGC as his Software Engineering thesis, which he finished by the
+end of 2010. Since he got involved with D he has been a small but steady
+contributor. With more than 12 years of experience in the industry, in
+the last years he's been focusing on low-latency and distributed systems
+in C/C++ and moved to Berlin in late 2011 to work at sociomantic labs
+GmbH, a company using D as the main programming language.
+Maintainer of LDC and avid open source advocate, with a weakness for
+outside-the-box metaprogramming ideas. Past D projects include language
+support in the SWIG C interface generator and the Thrift RPC framework
+(GSoC 2011). Semi-regular DMD/druntime/Phobos contributor and reviewer.
+I started to learn C++ in 2009 when I worked as DSP and application
+developer at Ableton. Two years later I was lucky enough to delve
+into D. Contributing to dmd and druntime has accompanied my discovery
+of programming since then. I still look forward to finish my studies
+of electrical engineering and I'm an Emacser.
+I'm Dmitry Olshansky, a young all-around researcher.
+My interests are wildly changing over the time and include
+text processing, compilers, robotics, embedded systems,
+parallel and concurrent programming, scalable network systems
+and the current pursuit being AI.
+Among my works the most publicly recognized today is
+the standard regular expression library for D
+(a.k.a. std.regex).
+Vladimir Panteleev (a.k.a. "CyberShadow") is a
+D enthusiast from Moldova (Eastern Europe), best known
+within the D community for DFeed, the web newsreader (and
+IRC bot) running on http://forum.dlang.org.
+Stefan Rohe studied computer science in Germany and worked at
+Fraunhofer Institute. In 2008 he joined the industry where he got the
+chance to redesign a complete server application in D. Now there is a
+complete Scrum team of D professionals having about 80% of the code
+base emerged to D.
+Robert Schadek received a Bachelor's degree in computer science in 2011 at the
+University of Oldenburg, Germany. In his bachelor thesis he developed a
+multi-threaded octree. In 2012 he earned a Master's degree in computer science at
+the University of Oldenburg. His master thesis was titled "DMCD A Distributed
+Multithreading Caching D Compiler" and introduced multi-threading among other
+optimizations to the compiler control flow. Since 2012, he is a PhD candidate
+in the department of Prof. Dr.-Ing. Oliver Theel at the University of
+Oldenburg. His PhD research focuses on quorum systems in combination with graphs.
+Rainer Schuetze is the author of Visual D, an extension to Visual
+Studio to integrate the D programming language. In addition he has
+been working on improving the experience of debugging D applications
+under Windows. In his professional career he has been working as a
+software engineer in the computer music industry for almost 20 years.
+David Simcha is currently a software engineer at Google's New York
+City office, working on scalable nearest neighbor matching. Previous
+to this, he received his Ph.D. in Biomedical Engineering from Johns
+Hopkins University with a concentration in Bioinformatics while
+contributing extensively to D on the side.
+Adam Wilson is the Director of Software Development at Prospective
+Software which specializes in CRM software for the automotive
+industry. He has over 14 years of experience writing code in a
+plethora of languages, including C++, C#, VB, and of course D. In his
+free time he enjoys spending time with his wife, reading
+science-fiction, and flying Cessna 172’s.
Abstract:
+In this closing note, Andrei discusses hot topics in D's development and
+the language's present and future.
+
Benefits:
+Get inspiration to keep you for one year until DConf 2014.
+
+
Speaker Bio:
+Andrei Alexandrescu coined the colloquial term "modern C++" (adapted
+from his award-winning book Modern C++ Design), used today to describe
+a collection of important C++ styles and idioms. He is also the
+coauthor (with Herb Sutter) of C++ Coding Standards and the author of
+The D Programming Language book. With Walter Bright, Andrei
+co-designed many important features of D and authored a large part of
+D's standard library. His research on Machine Learning and Natural
+Language Processing completes a broad spectrum of expertise. Andrei
+holds a Ph.D. in Computer Science from the University of Washington and
+a B.Sc. in Electrical Engineering from University "Politehnica"
+Bucharest. He works as a Research Scientist for Facebook.
Abstract:
+It hardly gets better than listening to D's creator himself!
+Meet Walter Bright, the one and only, and listen to him talk about the
+present and future of the D programming language.
+
Benefits:The attendees will have an inspirational
+experience. The most dedicated of them will possibly be able to
+levitate a few inches from their seats.
+
+
Speaker Bio:
+Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages. He's an expert in all areas of compiler technology, including front ends, optimizers, code generation, interpreter engines and runtime libraries. Walter regularly writes articles about compilers and programming, is known for engaging and informative presentations, and provides training in compiler development techniques. Many are surprised to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30 years after its debut.
Abstract:
+Starting with an introduction to GDC, what works (and doesn't) and
+updates on current progress of development. Will go on to talk about
+future developments, scope and design. In particularly focusing on
+the expansion of D, including targeting more architectures, future
+shared library support in the runtime, the implementation of D
+Front-End itself to scale and be platform agnostic, and finally
+getting across the chasm to gain a bigger user base (Andrei said "I
+want 1,000,000 users" back in 2012). Rounding it up with (an
+interogation :o) Q&A.
+
Benefits:
+Community awareness of the GDC project, a brief insight into what it
+does, how to help, and to engage the core D language and library
+developers to actively think about portability in future changes done
+to the language and library.
+
+
Speaker Bio:
+Lead developer, project coordinator and the principal force behind the
+development of the GNU D Compiler from as far back as 2009, where have
+been responsible for the migration over from D1 to D2, as well as from
+GCC 3.x to GCC 4.x. Others might be interested to know that outside
+hobby life I work on for a Cloud Services/Hosting company as a
+Technical Engineer, and unofficially use D on a frequent basis to
+develop interpreters, and various plug-ins to work within our
+infrastructure.
Abstract:
+D structs are similar to their counterparts in other languages but they have significant differences as well. The mechanics of copying and moving struct objects are special in D.
+
Benefits:
+This talk will show how to take advantage of copy and move semantics of D to write efficient and safe data types in the presence of mutable, const, and immutable member variables and parameters.
+
+
Speaker Bio:
+Ali Çehreli has been working as a C++ programmer in Silicon Valley since 1996. His experience has been with small and large companies in various fields, currently with Riverbed. He is the president of The Silicon Valley Chapter of the ACCU, where he has given presentations on C++ Exception Safety and the D programming language. He is the author of the online book "Programming in D", which aims at teaching D as a first language.
Abstract:
+Just-in-time (JIT) compilers are highly complex pieces of software which
+manipulate symbolic representations of code at multiple levels of
+abstraction, generate machine instructions, and introspect the state of
+programs at execution time. We present an experience report on the usage
+of D in implementing Higgs, an optimizing JIT compiler for JavaScript.
+We discuss how various features of D did or did not address our technical
+and practical concerns and provide some recommendations for future
+development of the language.
+
Benefits:
+An experience report on the usage of D in writing complex systems
+software—a complete JIT compiler including an x86 backend.
+Exposure to the world of JIT compilers and dynamic language optimization.
+A JIT compiler writer's perspective on the usage of JIT compilation for CTFE.
+
+
Speaker Bio:
+Maxime Chevalier-Boisvert holds a master's degree from McGill University
+and is currently pursuing a PhD at Université de Montréal as part of the
+Dynamic Language Team. Her area of study is compiler design and
+optimization, with a focus on dynamic programming languages, JIT compilers
+and type analysis.
Sociomantic Labs is a global leader in real-time bidding for online
+display advertising. Our codebase is not only written entirely in D,
+but also makes extensive use of generic programming, even in
+application-level code. Compile-time metaprogramming techniques have a
+reputation of being akin to sorcery, incomprehensible to all but an
+elite group of top-notch library developers. Yet we have found that
+even developers with no prior knowledge of D have been able to master
+the compile-time aspects of the language in a remarkably short period
+of time.
+
+
This presentation will review the history of this part of the
+language, to explain exactly how and why generic programming D has
+become so accessible in practice. Drawing from Sociomantic's
+experience with D, I'll discuss the areas where reality differs from
+expectations. Accessible metaprogramming has huge implications for the
+future commercial growth of D, and our real-world experience will help
+the D community to further exploit this strength.
+
Benefits:
+
+
Speaker Bio: Don Clugston is a senior developer at Sociomantic Labs GmbH. Before becoming a full-time D programmer, he worked for 15 years in the solar photovoltaics industry, both in research and manufacturing. He also wrote the FastDelegate library which is used by many C++ programmers. He has been a prolific contributor to the D community since 2005.
Abstract:
+A presentation about the the birth of Åkerön.
+
Benefits:
+
+
Speaker Bio:
+With over 19 years of service in the US Marine Corps, Andrew sets his
+sight on retirement in August 2014. His has a rich background is in
+Maintenance Management, currently holds an Associates Degree in
+Japanese Studies and is pursuing a Bachelors in Computer and
+Information Science from the University of Maryland University
+College. Plans after retirement include starting his company in
+software development and networking.
Abstract:
+Post-mortem on experiments integrating D with a typical C/C++ game
+engine as an extension language for use processing game logic. Topics
+covered include dynamic C/C++ linkage, memory management, patterns for
+usage as an extension of existing C/C++ code, issues encountered, and
+other hairy details.
+
Benefits:
+Share experience, food for thought, encourage other game developers.
+
+
Speaker Bio:
+Manu Evans is a senior technology programmer in the video games
+industry with 10 years commercial experience. He has worked at Remedy
+Games in Finland, and Krome Studios in Australia, on titles including
+Alan Wake, Star Wars, Spyro the Dragon, and many, many more. Manu is
+an expert in hardware abstraction, low level systems and performance
+optimisation on a wide variety of computer hardware.
Abstract:
+Efficient and portable implementation of SIMD algorithms in D using
+core.simd and std.simd.
+
Benefits:
+Exposure to the language syntax and API's present in D, and also some
+best practises for writing portable SIMD code.
+
+
Speaker Bio:
+Manu Evans is a senior technology programmer in the video games
+industry with 10 years commercial experience. He has worked at Remedy
+Games in Finland, and Krome Studios in Australia, on titles including
+Alan Wake, Star Wars, Spyro the Dragon, and many, many more. Manu is
+an expert in hardware abstraction, low level systems and performance
+optimisation on a wide variety of computer hardware.
Modern large-scale software design often requires ever-growing team
+sizes. As team size scales up, so does the amount of churn (and number
+of bugs introduced) to a code base in a release. Unfortunately, the
+amount of manual developer or QA testing necessary to find those bugs
+scales quadratically (or worse) as N features are tested by hand in M
+configurations. The solution is to keep coders, not QA, responsible
+for maintaining the quality of their individual components, and to
+make it trivial and fast to run just the right tests that cover the
+code the coder changes. D comes pre-baked with lots of tools to make
+this easier, including a standard unit testing harness, but
+there'smuch more we can build on top of that to help write not only
+tests for code, but code that can be tested in an automated fashion.
+
+
We'll discuss techniques and tools for designing large-scale
+testable code in D, including unit testing, mocks, fakes, inversion of
+control, and dependency injection.
+
Benefits:
+Learn how to write unit tests in D, and how to structure D code so it
+can be effectively unit tested.
+
+
Speaker Bio:
+Ben Gertzfield is a mobile engineer at Facebook. He's designed and
+shipped testability and dependency injection frameworks for
+Objective-C and C++, and is a huge advocate for freeing engineers from
+the burdens of manual testing.
Abstract:
+Stop-the-world garbage collectors can be quite problematic for (soft)
+real-time applications. The pauses introduced can be disruptive to the
+point to make some applications inviable, like games or even low-latency
+servers.
+
+
The Concurrent D Garbage Collector (CDGC) was developed mainly to
+address this issue, by making the mark phase run in parallel with the
+actual application, reducing the pause times by 2 orders of magnitude.
+Since our systems at sociomantic labs GmbH require to have very low
+latency at all times, we've been using this collector for almost 2 years
+now with good results.
+
+
This presentation gives a brief introduction to garbage collection,
+describes original D's GC implementation details and explains how it has
+been extended to do perform the mark phase in parallel. After showing
+some benchmark results, shortcomings and future work and improvements
+are discussed.
+
Benefits:
+Learning about garbage collection and particularly about D's
+implementation. Discovering an alternative GC for (soft) real-time or
+low-latency applications.
+
+
Speaker Bio:
+Leandro Lucarella has been following D since about 2004 and started
+participating in D forums in late 2006. In 2008 he started working on
+the CDGC as his Software Engineering thesis, which he finished by the
+end of 2010. Since he got involved with D he has been a small but steady
+contributor. With more than 12 years of experience in the industry, in
+the last years he's been focusing on low-latency and distributed systems
+in C/C++ and moved to Berlin in late 2011 to work at sociomantic labs
+GmbH, a company using D as the main programming language.
Abstract:
+LDC is a fully open source, portable D compiler based on the
+same front-end as DMD, but leveraging the LLVM compiler infrastructure
+for optimization and code generation. Development activity has
+resurged recently, and this talk will start out with an overview of
+the current status, focussing on spec compliance, performance and
+platform support. In the second half, after a cursory look at the
+internal workings of the compiler, the talk will recap the current
+situation from a developer point of view, including our experiences
+regarding the use of DMD in an external project. Finally, future plans
+and open issues will be discussed, with a specific emphasis on
+cross-compiler compatibility.
+
Benefits:
+LDC is one of the three major D compilers. The attendee will get
+familiar with the latest developments in LDC as well as the unique
+features and challenges of this platform.
+
+
Speaker Bio:
+Maintainer of LDC and avid open source advocate, with a weakness for
+outside-the-box metaprogramming ideas. Past D projects include language
+support in the SWIG C interface generator and the Thrift RPC framework
+(GSoC 2011). Semi-regular DMD/druntime/Phobos contributor and reviewer.
Where are we?
+I'll give a short overview of the current state of affairs.
+
+
Where are we heading?
+I'll take about what I envision to be a good shared library support.
+
+
Caveats?
+I'd like to briefly restate shared library pitfalls.
+
+
And finally we want to discuss what you'd expect from a good
+shared library support.
+
Benefits:
+Getting an overview of what's possible and what should be
+possible with shared libraries.
+
+
Speaker Bio:
+I started to learn C++ in 2009 when I worked as DSP and application
+developer at Ableton. Two years later I was lucky enough to delve
+into D. Contributing to dmd and druntime has accompanied my discovery
+of programming since then. I still look forward to finish my studies
+of electrical engineering and I'm an Emacser.
The talk gives an up-close view of how a regular expression libraries work
+behind the scenes, dispelling a few common myths in the process.
+The talk consists of two parts with equatorial line being between the
+generic and the D specific.
+
+
The first part is intentionally language agnostic and
+focuses on the core principles behind the regular expressions.
+The key point of this part is the two fundamental ways of
+matching regular expression, their respective strengths and weaknesses.
+
+
The second part dives into how all of this fits into std.regex, a modern
+regular expression
+library written in D. Important practical considerations are discussed,
+and some unique
+D features that aid such an undertaking are highlighted. Among other
+things this
+includes an in-depth overview of meta-programming tricks used to
+generate optimized
+machine code for a regular expression during the compile-time (phew!).
+
Benefits:
+Acquire the knowledge of how regular expressions work from the inside out.
+It will greatly aid in furthering the understanding of how to use them
+and when
+not to use them. The last but not least it's an opportunity to learn
+how to
+take advantage of the meta-programming in D.
+
+
Speaker Bio:
+I'm Dmitry Olshansky, a young all-around researcher.
+My interests are wildly changing over the time and include
+text processing, compilers, robotics, embedded systems,
+parallel and concurrent programming, scalable network systems
+and the current pursuit being AI.
+Among my works the most publicly recognized today is
+the standard regular expression library for D
+(a.k.a. std.regex).
Abstract:
+Join us for a lively discussion that's likely to go late into the night over beers. The topic is D's development process—what are we doing well, what should we improve, and what are the next steps to take?
+
Benefits:
+This panel debates D's development process.
Abstract:
+With its speed, safety, and expressiveness, D excels for web
+development. However, D is not yet thought of as a compelling choice
+in that area. The best D tools and techniques for web development are
+young and not well known at this time. This talk will fix that by
+providing an overview of the web development libraries, solutions and
+techniques available to D users today.
+
Benefits:
+A thorough Introduction to D web development and related technologies.
+
+
Speaker Bio:
+Vladimir Panteleev (a.k.a. "CyberShadow") is a
+D enthusiast from Moldova (Eastern Europe), best known
+within the D community for DFeed, the web newsreader (and
+IRC bot) running on http://forum.dlang.org.
Professional Programming in teams requires a common clean coding
+style. This could be enforced using code reviews, but the simpler and
+less offensive way to achieve this is by using a tool as style cop. It
+helps spreading the conventions about the language in the team and
+assisting new team members in easily adopt to the programming style by
+getting fast feedback on their code. Having such a static code
+analyzer refactoring becomes easier, because it reminds about now
+unused variables, unused parameters or other refactoring artefacts.
+
+
This talk will introduce you to AnalyzeD,
+explain you how it's working, and give you an outline about what's planned.
+
+
AnalyzeD is currently used for checking 250kLOC of production code against programming conventions and determines metrics.ent state and what is planned to develop/release.
Extended D toolchain (Styleguard, Metrics, D1to2).
+
Cleaner Code due to removal of e.g. unused variables.
+
+
+
Speaker Bio:
+Stefan Rohe studied computer science in Germany and worked at
+Fraunhofer Institute. In 2008 he joined the industry where he got the
+chance to redesign a complete server application in D. Now there is a
+complete Scrum team of D professionals having about 80% of the code
+base emerged to D.
Nearly thirty years have passed since the release of the infamous Dragon Book by Aho, Lam, Sethi, and Ullman. Since then the available memory and CPU power has grown by a factor of at least 1000 and 10000 respectively. The use of multiprocessors and fast networks has become the rule rather than the exception. Even though compiler and programming language have advanced greatly in this period of time, their basic design has not been adjusted to reflect the enormous hardware improvements.
+
+
In this presentation, which reflects the content of my master thesis, I present a D compiler written in D that exploits these tremendous hardware advances. To utilize multiprocessors the lexer and parser are run in different communicating threads. On top of that different semantic analysis are spread across multiple threads. To speedup compilation, by use of a cache and work distribution among a network, datastructures are created that store results, like the abstract-syntax- tree, in a consecutive chunk of memory. To remove manual labor a lexer- and parser-generator were created that use a custom library that, not only, consists of stl inspired containers.
+
+
Besides the conceptual architecture of this new compiler, I will report on the implementation, the use of datastructures and the lessons learned during this project with respect to compiler design as well as the D Programming Language.
+
Benefits:
+Insides into compiler construction, multithreading with D
+inside a D compiler. Ideas for STL-like container implementation.
+Experiences with unittests for 50k lines application.
+
+
Speaker Bio:
+Robert Schadek received a Bachelor's degree in computer science in 2011 at the
+University of Oldenburg, Germany. In his bachelor thesis he developed a
+multi-threaded octree. In 2012 he earned a Master's degree in computer science at
+the University of Oldenburg. His master thesis was titled "DMCD A Distributed
+Multithreading Caching D Compiler" and introduced multi-threading among other
+optimizations to the compiler control flow. Since 2012, he is a PhD candidate
+in the department of Prof. Dr.-Ing. Oliver Theel at the University of
+Oldenburg. His PhD research focuses on quorum systems in combination with graphs.
Though optional to some extent, garbage collection simplifies
+programming considerably and is a major building block for a number of
+features of the D programming language like slices and delegate
+closures. The current garbage collector implemented in the D runtime
+library is conservative, limiting the possibility to detect false
+pointer references leading to unused memory leaking and polluting the
+address space, especially in 32-bit environments.
+
+
This presentation describes the implementation of a precise
+garbage collector for D that takes advantage of building necessary
+type information at compile time via the existing RTInfo compiler
+hook. Modifications to the D runtime library are discussed and
+compiler modifications are proposed to support precise scanning the
+data and TLS segments in addition to heap allocated memory.
+
Benefits:
+Learning how to create custom type information using the RTInfo
+compiler hook, understanding the gains and pitfalls of using precise
+garbage collection in a systems programming language.
+
+
Speaker Bio:
+Rainer Schuetze is the author of Visual D, an extension to Visual
+Studio to integrate the D programming language. In addition he has
+been working on improving the experience of debugging D applications
+under Windows. In his professional career he has been working as a
+software engineer in the computer music industry for almost 20 years.
Abstract:
+The D programming language offers a variety of abstractions not found
+together in any other language. In particular, D's compile time
+metaprogramming facilities are a game changer, especially when
+combined with its low-level programming capabilities. This session
+explores design patterns that have emerged from my code, my former
+GSoC students' code and code written by other Phobos contributors. It
+attempts to codify some of the more useful patterns that are currently
+known only informally and only to a small group of hardcore D users.
+
Benefits:
+Attendees will be exposed to a variety of useful programming
+techniques that are obvious only in hindsight. These will certainly
+be useful in D and may even affect their programming style in other
+languages where these techniques are less obvious but still possible.
+
+
Speaker Bio:
+David Simcha is currently a software engineer at Google's New York
+City office, working on scalable nearest neighbor matching. Previous
+to this, he received his Ph.D. in Biomedical Engineering from Johns
+Hopkins University with a concentration in Bioinformatics while
+contributing extensively to D on the side.
Abstract:
+Breaking up is never easy and taking the plunge opens a Pandora’s Box
+of difficult questions. This talk will answer some of those questions
+and provide direction for anyone looking to convert their C# software
+to D. We will focus on the practical issues that anyone converting
+their project from C# to D will face. These issues include, but are
+not limited to, the differences between C# Namespaces and D Modules,
+Strings, Scoping, Properties, and what to expect while converting from
+the .NET Base Class Library to Phobos. This talk will be code-centric
+featuring real-world examples and how-to’s.
+
Benefits:
+This presentation will provide a roadmap to any developer who is
+currently working with C# and interested in converting their code
+D. Attendees will gain a better understanding of the differences
+between the two languages that will allow them to more easily
+transition to D.
+
+
Speaker Bio:
+Adam Wilson is the Director of Software Development at Prospective
+Software which specializes in CRM software for the automotive
+industry. He has over 14 years of experience writing code in a
+plethora of languages, including C++, C#, VB, and of course D. In his
+free time he enjoys spending time with his wife, reading
+science-fiction, and flying Cessna 172’s.
Interested in saving some of your travel costs by sharing a rental
+car or a hotel room? There are other like-minded folks! Please post to
+this thread.
+
+
Nearby hotels
+
+
Nearby hotels with access to public transportation include (prices
+and availability and may vary):
For flying to Menlo Park you may use any of the SFO (18 miles), SJC
+(17 miles), or OAK (26 miles) airports.
+
+
Taxi fare is relatively expensive in California, so car rental or
+public transportation are more affordable. Public transportation options include Caltrain and BART.
DConf 2014 schedule published, early bird registration open!
+
+
We have a great schedule and a roster of excellent speakers picked from a large body of excellent submissions. Turning some of them down has been the worst thing about organizing DConf 2014! Register now for only $400 to get access to DConf. Full conference registration cost will be $425 after March 31st.
+
+
Three Reasons to be at DConf
+
+
See it. Hear it. Be part of it! DConf is the premier event where D luminaries exchange knowledge, insight, and inspiration on everything related to the D language and its ecosystem. The talks are of high quality but the hallway mingling during breaks and the informal evening gatherings are even better! DConf is the time and place to be to get a glimpse into the present of D and to help shape its future.
Stay connected, get connected. Hear it first at DConf—whether it's language development, innovative framework, or new research. Share your own ideas at the lightning talks session or over beers at the Aloft Hotel, the unofficial evening gathering place of DConf. Connect to the best peers in the industry. Last but not least DConf 2014 is hosted by Facebook, so this is a perfect opportunity to visit and explore employment opportunities with one of the best companies to work for consistently since 2011—not to mention a growing user and supporter of the D language.
+
+
\ No newline at end of file
diff --git a/docs/2014/registration.html b/docs/2014/registration.html
new file mode 100644
index 00000000..3e9eed44
--- /dev/null
+++ b/docs/2014/registration.html
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+The D Programming Language Conference 2014
+
+
+
+
+
+
+
+
+
+
+
+
+
Registration
+
+
Early bird registration is closed.
+
+
Are you cost-conscious? Register now for only $400 to get the full conference package!
+
+
Registration must be completed on or before March 31, 2014. Prices go up to
+$425 (sticker price) after that. Capacity is also limited. Register as soon as possible to reserve your seat for less!
+
+
+
+
+
All registrations are final. Registrations are transferrable.
+
+
Please let us know what you'd like your badge to say if it is
+different from your name on your credit card.
+
+
Privacy Policy: Your name and email address will be shared with Facebook
+since Facebook is hosting the event. Otherwise, Digital Mars will not
+share your data with anyone unless compelled by lawful orders.
+
+
\ No newline at end of file
diff --git a/docs/2014/schedule/index.html b/docs/2014/schedule/index.html
new file mode 100644
index 00000000..36398e64
--- /dev/null
+++ b/docs/2014/schedule/index.html
@@ -0,0 +1,332 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+The D Programming Language Conference 2014
+
+
+
+
+
+
+
+
+
+
+
+
+
Schedule
+
+
Day 1: Wednesday May 21, 2014
+
+
8:30 AM - 9:00 AM
Breakfast
+
9:00 AM
+
Opening Keynote: State of the struct address
+ Andrei Alexandrescu
+Allocators. The state of D adoption at Facebook. Priorities. Vision. All of these and more will be discussed in this highly interactive presentation.
+
+
+
+
10:00 AM
+
Templates in the Wild: A Postmortem
+ Jonathan CrapuchettesAn industry success story: EMSI needed to improve its data
+processes with n-dimensional dataset processing, in-memory data manipulation,
+data type checking, internal testing, and code correctness. D was the language
+of choice because it couples low-level performance with high-level design.
+
+
EMSI began manipulating economic labor market data using Excel. The company next used SQL for computations, while Excel spreadsheets handled the flow of the operations. As more data sets were incorporated and increasingly complex methodology was added, we moved the flow control to PHP because of its “ease” of development and widespread use. One of the goals when moving to PHP was to allow for quarterly runs of the data processing with just the push of a button. Sadly this goal never came to fruition, but during this time some fundamental concepts regarding data storage structure took shape.
+
+
Within a few years the PHP code base had become unwieldy and lacked the kind of internal errorchecking that we desperately needed. It was also missing the capacity to manipulate datasets of arbitrary dimensions: up to that point datasets had been twodimensional (e.g., Area by Industry or Area by Occupation), but demographic measureswhich were becoming increasingly in demandadded at least two additional dimensions to each dataset. We decided that a new library of dataset structures and manipulation functions needed to be created.
+
+
After much debate, D was selected as the language for the new framework. We have been using D since 2007 for some performance-oriented utilities and appreciated its productive inclusiveness of features from inline assembly to associative arrays in the same clean language. We determined that
+D’s fast compile times, strong static typing, and powerful templating capabilities were ideal for building strongly-checked and performant data processes. Equally important, D’s highlevel features made it accessible to data developers with a widerange of programming skill and experience.
+
+
+
Most importantly, choosing D allowed for the development of five major constructs which today form the basis for our data processing framework: cubes, data storage engines, dimensions, hierarchies, and measures. Cubes encompass data storage engines and offer abstraction layers for particular sets of functionality. Data storage engines hold the dimensions and data nodes for each cube. Dimensions are compiletime concepts that have templated names and hierarchy node types. Hierarchies handle the runtime concepts of classification codes and their levels (e.g., counties to states and states to the nation). Finally, measures are the data contained within each node in the cubes.
+
+
+
In applying these constructs, we make heavy use of templated structs, classes, and functions to build custom algorithms at compiletime that are optimized for specific use cases and allow for quicker realization of errors. All in all, D provided a faster, cleaner development of data processes and enabled us to build a framework that met our specific needs while giving us a platform from which we can further develop and improve our processes into the future.
+
+
+
I will also be showing examples from our code base of techniques that we have used as well as discussing some of the problems we encountered with D during development.
+
The presenter teaches a senior-level course at Utah Valley University on the
+Analysis of Programming Languages that includes a D-programming component. Come see the
+result of eight years of honing pedagogical material and projects that covers D
+from soup to nuts, including the following topics and more: CFTE, UFCS, D’s
+generics, pass-by-name with alias, coroutines via fibers, alias this, the scope
+statement, contract programming, mixins, Variant and Algebraic, Nullable,
+functional programming, and concurrency and infinite streams via message
+passing.
+
+
+
+
12:00 PM - 1:30 PM
Lunch & Mingling
+
1:30 PM
+
Inside the Regular Expressions in D
+ Dmitry Olshansky
+Take a sneak peek at a regular expression engine internals.
+Learn how simple and effective a metaprogramming could be, by observing D's std.regex library unique features described in great detail.
+
Case Studies In Simplifying Code With Compile-Time Reflection
+ Atila Neves
+This talk will show how the power of compile-time reflection and user
+defined attributes in D can be leveraged to reduce the number of lines of code
+that need to be written. Two real-life case studies will be presented showing
+how their D incarnations are better than the C++11 ones that inspired them.
+
+
+
+
4:30 PM
+
It's Payback Time!
+ Walter Bright, Andrei Alexandrescu, and more
+Dislike this or that feature or decision made by the language leaders? Ever pounded your keyboard in frustration watching an exchange on the forum? Really, what were they thinking? Well, it's payback time. They'll be out there for the roasting. Ask them anything, and hold no punches!
+
+
+
+
+
+
+
Day 2: Thursday May 22, 2014
+
+
8:30 AM - 9:00 AM
Breakfast
+
9:00 AM
+
Keynote: The Last Thing D Needs
+ Scott Meyers
+Based on his 25 years of experience with C++, Scott Meyers will offer a recommendation—almost a plea—regarding the D programming language and its community.
+
+
+
+
10:00 AM
+
Refactoring JIT Compilation
+ Maxime Chevalier-Boisvert
+Higgs, a JIT compiler for JavaScript written in D, was presented at DConf 2013.
+Basic block versioning, a novel optimization technique in early stages of
+testing at the time, was also introduced. Experimental results demonstratring
+how basic block versioning fares on multiple metrics across a variety of
+benchmarks can now be shown. We discuss how we have interpreted these results
+to inform further development of Higgs and introduce a JIT compiler
+architecture based on the idea of lazy/incremental compilation and inlining.
+We also explore how D has influenced the development of Higgs and take a more
+in-depth look at how various D features such as templates and CTFE are used in
+the Higgs implementation.
+
+
+
+
+
11:00 AM
+
Designing an Aurora: A Glimpse at the Graphical Future of D
+ Adam Wilson
+Aurora is a brand new Graphics Toolkit written specifically for D and designed for developers with limited to no experience writing graphics code. This presentation is intended to introduce the community to Aurora, demonstrate progress to date, and solicit discussion about the future direction of Aurora and the obstacles that it faces.
+
+
+
+
12:00 PM - 1:30 PM
Lunch & Mingling
+
1:30 PM
+
Reducing D bugs
+ Vladimir Panteleev
+This talk confronts some of the challenges encountered by D users and
+developers, such as narrowing down implementation bugs and other problems
+difficult to diagnose conventionally. Topics covered include DustMite, the
+source code minimization tool, Git and its use in D development, as well as a
+miscellanea of other tools of related purpose.
+
+
+
+
2:30 PM
+
Tooling: Bringing Developers and Development Together
+ Brad Roberts
+Once any project grows beyond one or two developers automation and communication becomes increasingly important. This talk will cover the past, present, and a little bit of the future of what exists in the D community today.
+
+
+
+
3:30 PM
+
Debugging in D
+ Iain Buclaw
+Talk about steps and processes used to get (near) complete
+D support in GDB and Binutils. From recognising primitive types to
+writing a D-style expression parser to run D code interactively with
+the program in debug. And if using a black and white TUI is not your
+idea of debugging, there's D syntax highlighting support in CGDB on
+show too.
+
+
+
+
4:30 PM
+
Tiny, Ubiquitous Machines Powered by D
+ Michael V. Franklin
+Microcontrollers (MCUs) offer a unique and challenging set of constraints for any programming language. They are not fast (10's to low 100's of MHz), they have very little storage (100's of KB) and have even less RAM. Due to these extremely limited resources, languages used to program these tiny, ubiquitous machines must generate the most efficient code in terms of both size and speed. This talk will show that D can program microcontrollers just as well, if not better than the current de facto languages, and will detail progress on the recently launched effort bring D to the ARM Cortex-M family of MCUs.
+
+
+
+
+
+
+
+
Day 3: Friday May 23, 2014
+
+
8:30 AM - 9:00 AM
Breakfast
+
9:00 AM
+
Keynote: High Performance Code Using D
+ Walter Bright
+Memory safety, powerful abstractions, and fast compilation are great features
+to have. But what about high performance code? This talk shows how D can deliver
+on generating highly competitive, no-compromise performance applications.
+Conventional wisdom says that high performance and powerful abstractions are
+in conflict with each other, that one must write close-to-the-metal code to get
+high performance. Bright will show that this is no longer true with a modern
+high level language like D.
+
+
+
+
10:00 AM
+
Real-Time Big Data in D
+ Don Clugston
+"Big Data" applications, which process petabytes of data per year, are
+computationally demanding, yet they have different requirements from
+traditional performance-critical applications. A programming language which
+is well suited for CPU-bound code, isn't necessarily ideal for real-time Big
+Data.
+
+
At Sociomantic Labs, we consume a deluge of real time data every day using
+an all-D technology stack. This talk will explain how our use of D has been
+successful in our intensely competitive industry.
+Unfortunately, most existing D libraries were not designed for Big Data
+applications. I'll discuss the performance killers they contain,
+and propose some changes to make D the natural choice for Big Data tasks.
+
+
+
+
11:00 AM
+
x86 Bare Metal and Custom Runtime Programming
+ Adam Ruppe
+"kernel in D" is a fairly common topic on forums. I've
+written a minimal runtime and then rebuilt it back up to the point
+where we can produce a ~30 KB stand-alone executable which can be used
+on Linux or on bare metal with the support of a decently large subset
+of the language (classes, exceptions, even closures with some manual
+care). By creatively hacking the RTInfo facility in object.d, we can
+also perform some static checks on defined types to help confirm to
+performance or correctness checks.
+
+
For example, storing a slice without the GC is prone to losing track
+of who owns the memory. Using RTInfo and compile time reflection, we
+can scan all user types and issue a compile error any time this is
+done, directing the user to use an owned array struct instead.
+
+
It is also worth noting that such techniques may be usable in the full
+druntime as well, without stepping on other uses, e.g. precise GC.
+
+
+
+
12:00 PM - 1:30 PM
Lunch & Mingling
+
1:30 PM
+
Mobile Gameserver Backend in D
+ Stephan Dilly
+A gameserver backend that I have developed for a mobile game app project. The server is completely written in D using the vibe.d framework.
+
+
+
+
2:30 PM
+
Lightning Talks!
+ Many
+Have something to say? Has your proposal been rejected? Worse yet, didn't you have the time to put one together? No problem! This is the time when you get the opportunity to get up on the stage and have it for up to five minutes. Send your lightning talk ideas to Walter and Andrei!
+
+
+
+
3:30 PM
+
Declarative programming in D
+ Mihails Strasuns aka "Dicebot"
+When term "declarative programming" is used in context of imperative languages,
+it is most often associated with Domain-Specific Languages. However, it is a
+more general approach with essential value of separating meaningful description
+from boilerplate behavior. It is already widely used in D programs and won't be
+a revelation for any experienced D users.
+
+
This talk tries to somewhat generalize this approach and popularize it as common D paradigm, as well as speculate upon possible improvements to D
+reflection capabilities that can make it even more powerful.
+
+
+
+
4:30 PM
+
SDC, a D Compiler as a Library
+ Amaury Sechet
+One of the forces of D is the great compile time capabilities. These come with a
+drawback - any tooling around D must be able to semantically analyze the whole
+language. SDC intend to solve that problem by providing a compiler as a library,
+usable by 3rd party tools.
+
+Walter Bright is the creator and first implementer of the D programming language
+and has implemented compilers for several other languages. He's an expert in all
+areas of compiler technology, including front ends, optimizers, code generation,
+interpreter engines and runtime libraries. Walter regularly writes articles
+about compilers and programming, is known for engaging and informative
+presentations, and provides training in compiler development techniques. Many
+are surprised to discover that Walter is also the creator of the wargame Empire,
+which is still popular today over 30 years after its debut.
+Andrei Alexandrescu coined the colloquial term "modern C++" (adapted
+from his award-winning book Modern C++ Design), used today to describe
+a collection of important C++ styles and idioms. He is also the
+coauthor (with Herb Sutter) of C++ Coding Standards and the author of
+The D Programming Language book. With Walter Bright, Andrei
+co-designed many important features of D and authored a large part of
+D's standard library. His research on Machine Learning and Natural
+Language Processing completes a broad spectrum of expertise. Andrei
+holds a Ph.D. in Computer Science from the University of Washington and
+a B.Sc. in Electrical Engineering from University "Politehnica"
+Bucharest. He works as a Research Scientist for Facebook.
+Scott Meyers is one of the world's foremost
+authorities on C++. Author of the best-selling Effective C++ series (Effective
+C++, More Effective C++, and Effective STL), he’s also a founder of
+C++ and Beyond and the consulting editor for Addison
+Wesley's Effective Software
+Development Series. He provides training and consulting services to clients
+worldwide.
+Maxime Chevalier-Boisvert is the creator of Higgs, an experimental JIT compiler
+for JavaScript written in D. She holds a master's degree from McGill University
+and is currently pursuing a PhD at Université de Montréal as part of the
+Dynamic Language Team. Her area of study is compiler design and optimization,
+with a focus on dynamic programming languages, JIT compilers and type analysis.
+Chuck Allison was an early member of the ISO C++ Standards committee (1991–2001) and designed and provided the reference implementation for std::bitset. He was a columnist and editor for the C/C++ Users Journal (1992–2003), and wrote two books on C++: C & C++ Code Capsules (1998) and Thinking in C++, Volume 2, with Bruce Eckel (2004), both published by Prentice-Hall. After twenty years of developing software he returned in 2001 to his first professional love, teaching. He is a professor and chair of computer science at Utah Valley University in Orem, Utah. He has published over 100 articles and in his spare time gives training on C++, Python, D and software development principles. Except when he is playing his classical guitar or bicycling the backroads of central Utah, that is. He was an early adopter of D and has never missed a DConf.
+Lead developer, project coordinator and the principal force behind the
+development of the GNU D Compiler from as far back as 2009, where have
+been responsible for the migration over from D1 to D2, as well as from
+GCC 3.x to GCC 4.x. Others might be interested to know that outside
+hobby life I work on for a Cloud Services/Hosting company as a
+Technical Engineer, and unofficially use D on a frequent basis to
+develop interpreters, and various plug-ins to work within our
+infrastructure.
+Don is a Senior Software Developer at Sociomantic Labs, Berlin.
+He has contributed to the D language since 2005, mainly in the areas
+of mathematics and metaprogramming. Before joining Sociomantic as
+a full-time D programmer, he worked in the solar photovoltaic industry
+on numerical modelling, measurement, and industrial inkjet. His
+'FastDelegate' library is well known in the C++ community.
+He has two sons, and a daughter with superpowers.
Jonathan Crapuchettes is a senior programmer at EMSI, a CareerBuilder
+company. He has been developing applications for economic models and data
+manipulation for the last eight years and has been using D since version 1.0 was
+released. He holds a BS in computer science from Eastern Washington University.
+I am Stephan Dilly, a 27 years old Senior Software Engineer at Funatics Software GmbH. Being a professional in the gaming industry for 6 years I worked for titles like "The Settlers - Rise of Cultures" for PC and "Endwar" for PSP/NDS. During the last 3 years and due to the shifting in this sector from boxed to online games I mainly focused on developing server backends for massive online titles including "Cultures Online" and most recently "Panzer General Online". D is on my radar at least since 2007 (I submitted the first dmd bug back then), in 2009 I wrote my B.Sc Thesis about "D in game development" and now I finally convinced my boss to switch from Node.js to D in production. The D sphere knows me best as
+"Extrawurst", my contributions to TDPL, for my article series about this talk’s topic, the various libraries I open sourced for developing a mobile game server backend in D and my engagement to bring German speaking D developers together in the #d.de channel as an operator.
+Adam Simpkins is a software engineer at Facebook. He
+works primarily on networking infrastructure projects, building
+network switches, HTTP load balancers, and contributing to thrift
+development. Prior to Facebook he worked at Cisco and some smaller
+start-ups working on CIFS and NFS network file system protocols.
+I have a PhD in Particle Physics for research done at CERN. Most of the research itself required programming in C++, and I also had a major participation in the coding of the experiment’s data acquisition and decoding software in C and C++. I later joined the Computer Security Team at CERN in the IT department and spent two years there writing Perl.
+
+
I currently work at Cisco writing networking software, my job having re- quired me to write in C, C++, Perl, Python, Java and Ruby. I even wrote a small D wrapper for our C API for fun.
+
+
The software I wrote and will cover in the talk stems from the work done at my job at Cisco. Both software libraries were written as a better alternative inspired by the code used at work for writing unit tests and serialising network protocol packets. I first wrote them in C++ and after learning D soon realised that both of them would work better in D due to D’s unique capabilities.
+
+
The result of this work was a comparison of MQTT broker implementations in different languages, D being one of them, that ended up generating a lot of discussion on Hacker News and programming subreddit.
+Dmitry Olshansky, a young all-around researcher and D enthusiast.
+
+Interests changed wildly over time and today include: text processing, compilers, robotics, embedded systems, parallel and concurrent programming, scalable network systems.
+
+Currently enrolled as Ph.D student, with the thesis being focused on a specific class of AI systems.
+
+The most recognized work is the standard regular expression library for D
+(a.k.a. std.regex).
+I am Vladimir Panteleev, a D enthusiast from Moldova (Eastern Europe). I am
+known in the D community for authoring DFeed (http://forum.dlang.org),
+DustMite, and several other tools, some of which will be covered in this talk.
+I first became aware of D in 2005 when Steve Yeggie included it in a survey of programing languages blog post he wrote while the two of us were at Amazon. A year or so later I wanted to learn more and was appalled at the lack of infrastructure I expected to find in a project of it's scale. Newsgroups only, no bug tracking, no source control system (no, occasional tarballs doesn't count, Walter), incomplete source, no public tests, etc. So, I set out to make all of these things exist/happen.
+
+
Outside the realm of D, I've been writing software professionally for the last 25 years, primarily in data processing and back-end systems. Lots of networking, telecom, database, and distributed systems work for IBM, Informix, Netscape, and Amazon to list the ones anyone would recognize. Additional, at each of those companies, I've tended to also invest considerable time in supporting the software management systems.
+I've been a freelance programmer since 2009, using primarily
+D as a server-side web language. For the last several months,
+I have also been working on writing a D "cookbook" for people
+to learn the language through practical examples. I joined the
+D community in 2007 and started programming (with assembly
+language and Digital Mars C) in 1999. My open source and hobbyist
+experience covers a wide spectrum of programming related fields
+from bare metal code to compilers to homemade games.
+Programming & open-source enthusiast. Contributor to several D projects, most notably vibe.d. D developer at Sociomantic Labs. One of Arch Linux Trusted Users.
+Adam Wilson is the Director of Software Development at Prospective Software which specializes in CRM software for the automotive industry. He has over 15 years of experience writing code in a plethora of languages, but has focused on C++, C#, and of course D. Adam also holds a Computer Game Development Certificate from Edmonds Community College which he earned in 2007. In his free time he enjoys spending time with his wife, reading science-fiction, flying light aircraft, and hacking on D code.
Abstract:
+Allocators. The state of D adoption at Facebook. Priorities. Vision. All of these and more will be discussed in this highly interactive presentation.
+
Benefits:
+Get (and influence) the pulse of the innermost circle in the D community.
+
+
Speaker Bio:
+Andrei Alexandrescu coined the colloquial term "modern C++" (adapted
+from his award-winning book Modern C++ Design), used today to describe
+a collection of important C++ styles and idioms. He is also the
+coauthor (with Herb Sutter) of C++ Coding Standards and the author of
+The D Programming Language book. With Walter Bright, Andrei
+co-designed many important features of D and authored a large part of
+D's standard library. His research on Machine Learning and Natural
+Language Processing completes a broad spectrum of expertise. Andrei
+holds a Ph.D. in Computer Science from the University of Washington and
+a B.Sc. in Electrical Engineering from University "Politehnica"
+Bucharest. He works as a Research Scientist for Facebook.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: Developers and students with familiarity with a C-family language and an interest in Programming to D Max
+
+ Video: [youtube][alternative]
+
+
+
+
Abstract:Tales from eight years of downloading D mastery into the brains
+of computer science undergraduates.
+
+
The presenter teaches a senior-level course at Utah Valley University on the
+Analysis of Programming Languages that includes a D-programming component. Come see the
+result of eight years of honing pedagogical material and projects that covers D
+from soup to nuts, including the following topics and more: CFTE, UFCS, D’s
+generics, pass-by-name with alias, coroutines via fibers, alias this, the scope
+statement, contract programming, mixins, Variant and Algebraic, Nullable,
+functional programming, and concurrency and infinite streams via message
+passing.
+
Benefits:
+Unbelievable
+
+
Speaker Bio:
+Chuck Allison was an early member of the ISO C++ Standards committee (1991–2001) and designed and provided the reference implementation for std::bitset. He was a columnist and editor for the C/C++ Users Journal (1992–2003), and wrote two books on C++: C & C++ Code Capsules (1998) and Thinking in C++, Volume 2, with Bruce Eckel (2004), both published by Prentice-Hall. After twenty years of developing software he returned in 2001 to his first professional love, teaching. He is a professor and chair of computer science at Utah Valley University in Orem, Utah. He has published over 100 articles and in his spare time gives training on C++, Python, D and software development principles. Except when he is playing his classical guitar or bicycling the backroads of central Utah, that is. He was an early adopter of D and has never missed a DConf.
Abstract:
+Memory safety, powerful abstractions, and fast compilation are great features
+to have. But what about high performance code? This talk shows how D can deliver
+on generating highly competitive, no-compromise performance applications.
+Conventional wisdom says that high performance and powerful abstractions are
+in conflict with each other, that one must write close-to-the-metal code to get
+high performance. Bright will show that this is no longer true with a modern
+high level language like D.
+
Benefits:
+This talk will provide insight into how to combine D's capabilities to generate
+high performance code, and why it works. It'll be practical and transferrable
+to solving everyday performance problems. Amaze your colleagues by smoking their
+solutions written in other languages.
+
+
Speaker Bio:
+Walter Bright is the creator and first implementer of the D programming language
+and has implemented compilers for several other languages. He's an expert in all
+areas of compiler technology, including front ends, optimizers, code generation,
+interpreter engines and runtime libraries. Walter regularly writes articles
+about compilers and programming, is known for engaging and informative
+presentations, and provides training in compiler development techniques. Many
+are surprised to discover that Walter is also the creator of the wargame Empire,
+which is still popular today over 30 years after its debut.
Abstract:
+Talk about steps and processes used to get (near) complete
+D support in GDB and Binutils. From recognising primitive types to
+writing a D-style expression parser to run D code interactively with
+the program in debug. And if using a black and white TUI is not your
+idea of debugging, there's D syntax highlighting support in CGDB on
+show too.
+
Benefits:
+Raise general awareness of what is happening around the GDB and
+Binutils projects, and give users a tutorial on how they can expect to
+use these applications in the future to maximise their own ability to
+track down issues in D programs from link-time to runtime debugging.
+
+
Speaker Bio:
+Lead developer, project coordinator and the principal force behind the
+development of the GNU D Compiler from as far back as 2009, where have
+been responsible for the migration over from D1 to D2, as well as from
+GCC 3.x to GCC 4.x. Others might be interested to know that outside
+hobby life I work on for a Cloud Services/Hosting company as a
+Technical Engineer, and unofficially use D on a frequent basis to
+develop interpreters, and various plug-ins to work within our
+infrastructure.
Abstract:
+Higgs, a JIT compiler for JavaScript written in D, was presented at DConf 2013.
+Basic block versioning, a novel optimization technique in early stages of
+testing at the time, was also introduced. Experimental results demonstratring
+how basic block versioning fares on multiple metrics across a variety of
+benchmarks can now be shown. We discuss how we have interpreted these results
+to inform further development of Higgs and introduce a JIT compiler
+architecture based on the idea of lazy/incremental compilation and inlining.
+We also explore how D has influenced the development of Higgs and take a more
+in-depth look at how various D features such as templates and CTFE are used in
+the Higgs implementation.
+
Benefits:
+Exposure to the world of JIT compilers and dynamic language optimization.
+Discussion of a novel compiler architecture which is at the intersection of
+method-based compilation and tracing, aiming to combine the advantages of both.
+A demonstration of how various features of D can help simplify and clean up the
+implementation of complex systems software in practice.
+
+
Speaker Bio:
+Maxime Chevalier-Boisvert is the creator of Higgs, an experimental JIT compiler
+for JavaScript written in D. She holds a master's degree from McGill University
+and is currently pursuing a PhD at Université de Montréal as part of the
+Dynamic Language Team. Her area of study is compiler design and optimization,
+with a focus on dynamic programming languages, JIT compilers and type analysis.
Abstract:
+"Big Data" applications, which process petabytes of data per year, are
+computationally demanding, yet they have different requirements from
+traditional performance-critical applications. A programming language which
+is well suited for CPU-bound code, isn't necessarily ideal for real-time Big
+Data.
+
+
At Sociomantic Labs, we consume a deluge of real time data every day using
+an all-D technology stack. This talk will explain how our use of D has been
+successful in our intensely competitive industry.
+Unfortunately, most existing D libraries were not designed for Big Data
+applications. I'll discuss the performance killers they contain,
+and propose some changes to make D the natural choice for Big Data tasks.
+
Benefits:
+In one sentence: D should consider Big Data as one of its key markets, so we
+should be ruthless about memory inefficiency.
+
+
An introduction to Big Data, why it is important, and how it differs from traditional high-performance code.
+
An update on Sociomantic's continued explosive growth, and the pivotal role D plays for us.
+
The impact of memory inefficiency on performance.
+
The performance killers in the language, and why Sociomantic can't use Phobos at present.
+
Techniques and idioms we use to minimize our memory footprint.
+
The consequences of using fibers.
+
What we can change to make Big Data an even bigger win for D.
+
+
+
Speaker Bio:
+Don is a Senior Software Developer at Sociomantic Labs, Berlin.
+He has contributed to the D language since 2005, mainly in the areas
+of mathematics and metaprogramming. Before joining Sociomantic as
+a full-time D programmer, he worked in the solar photovoltaic industry
+on numerical modelling, measurement, and industrial inkjet. His
+'FastDelegate' library is well known in the C++ community.
+He has two sons, and a daughter with superpowers.
Abstract:An industry success story: EMSI needed to improve its data
+processes with n-dimensional dataset processing, in-memory data manipulation,
+data type checking, internal testing, and code correctness. D was the language
+of choice because it couples low-level performance with high-level design.
+
+
EMSI began manipulating economic labor market data using Excel. The company next used SQL for computations, while Excel spreadsheets handled the flow of the operations. As more data sets were incorporated and increasingly complex methodology was added, we moved the flow control to PHP because of its “ease” of development and widespread use. One of the goals when moving to PHP was to allow for quarterly runs of the data processing with just the push of a button. Sadly this goal never came to fruition, but during this time some fundamental concepts regarding data storage structure took shape.
+
+
Within a few years the PHP code base had become unwieldy and lacked the kind of internal errorchecking that we desperately needed. It was also missing the capacity to manipulate datasets of arbitrary dimensions: up to that point datasets had been twodimensional (e.g., Area by Industry or Area by Occupation), but demographic measureswhich were becoming increasingly in demandadded at least two additional dimensions to each dataset. We decided that a new library of dataset structures and manipulation functions needed to be created.
+
+
After much debate, D was selected as the language for the new framework. We have been using D since 2007 for some performance-oriented utilities and appreciated its productive inclusiveness of features from inline assembly to associative arrays in the same clean language. We determined that
+D’s fast compile times, strong static typing, and powerful templating capabilities were ideal for building strongly-checked and performant data processes. Equally important, D’s highlevel features made it accessible to data developers with a widerange of programming skill and experience.
+
+
+
Most importantly, choosing D allowed for the development of five major constructs which today form the basis for our data processing framework: cubes, data storage engines, dimensions, hierarchies, and measures. Cubes encompass data storage engines and offer abstraction layers for particular sets of functionality. Data storage engines hold the dimensions and data nodes for each cube. Dimensions are compiletime concepts that have templated names and hierarchy node types. Hierarchies handle the runtime concepts of classification codes and their levels (e.g., counties to states and states to the nation). Finally, measures are the data contained within each node in the cubes.
+
+
+
In applying these constructs, we make heavy use of templated structs, classes, and functions to build custom algorithms at compiletime that are optimized for specific use cases and allow for quicker realization of errors. All in all, D provided a faster, cleaner development of data processes and enabled us to build a framework that met our specific needs while giving us a platform from which we can further develop and improve our processes into the future.
+
+
+
I will also be showing examples from our code base of techniques that we have used as well as discussing some of the problems we encountered with D during development.
+
+
Benefits:An inspiring success story that any aspiring D evangelist can learn
+from.
+
+
Speaker Bio: Jonathan Crapuchettes is a senior programmer at EMSI, a CareerBuilder
+company. He has been developing applications for economic models and data
+manipulation for the last eight years and has been using D since version 1.0 was
+released. He holds a BS in computer science from Eastern Washington University.
Abstract:
+A gameserver backend that I have developed for a mobile game app project. The server is completely written in D using the vibe.d framework.
+
Benefits:
+When I decided to add an online multiplayer feature to the mobile game STACK4, I evaluated a couple of solutions to implement it in: C/Libuv, PHP, Java+Vertx, Node.js and D+vibe.d. The talk discusses the evaluation process, the experiences with D after going with it and how D compares to the others performance and productive wise. D, with its elegance, simplicity and performance, turned out to be the perfect replacement for Node.js, and in my talk I want to elaborate this fact. More details can be found in the article series on this topic on my website.
+
+
Speaker Bio:
+I am Stephan Dilly, a 27 years old Senior Software Engineer at Funatics Software GmbH. Being a professional in the gaming industry for 6 years I worked for titles like "The Settlers - Rise of Cultures" for PC and "Endwar" for PSP/NDS. During the last 3 years and due to the shifting in this sector from boxed to online games I mainly focused on developing server backends for massive online titles including "Cultures Online" and most recently "Panzer General Online". D is on my radar at least since 2007 (I submitted the first dmd bug back then), in 2009 I wrote my B.Sc Thesis about "D in game development" and now I finally convinced my boss to switch from Node.js to D in production. The D sphere knows me best as
+"Extrawurst", my contributions to TDPL, for my article series about this talk’s topic, the various libraries I open sourced for developing a mobile game server backend in D and my engagement to bring German speaking D developers together in the #d.de channel as an operator.
Abstract:
+Microcontrollers (MCUs) offer a unique and challenging set of constraints for any programming language. They are not fast (10's to low 100's of MHz), they have very little storage (100's of KB) and have even less RAM. Due to these extremely limited resources, languages used to program these tiny, ubiquitous machines must generate the most efficient code in terms of both size and speed. This talk will show that D can program microcontrollers just as well, if not better than the current de facto languages, and will detail progress on the recently launched effort bring D to the ARM Cortex-M family of MCUs.
+
Benefits:
+Attendees will be given a brief overview of the ARM Cortex-M microcontroller, the tools used for their software development, and their unique constraints and possibilities. They will be presented with a detailed tour of the recent effort to make programming these machines in D a reality including the project's objectives, approach, progress made as of May 2014, and its future plans and expectations. This pioneering effort has the potential to not only expand D's platform base, but also D's user base as embedded systems engineers are in desperate need of a programming language with more modern convenience. It does, however, also carry the danger of converting great software engineers into inventors and entrepreneurs as they begin to realize the infinite possibilities of building tiny, ubiquitous machines powered by D.
+
+
Speaker Bio:
+Bachelor of Science in Computer Engineering – Trained in C/C++
+
8 years programming business applications in C#
+
2 years programming HMI's for Industrial Automation in C#
+
2 years programming ARM Cortex-M microcontrollers for Industrial Automation in C/C++
Abstract:
+Have something to say? Has your proposal been rejected? Worse yet, didn't you have the time to put one together? No problem! This is the time when you get the opportunity to get up on the stage and have it for up to five minutes. Send your lightning talk ideas to Walter and Andrei!
Abstract:
+Based on his 25 years of experience with C++, Scott Meyers will offer a recommendation—almost a plea—regarding the D programming language and its community.
+
Benefits:
+Surprising.
+
+
Speaker Bio:
+Scott Meyers is one of the world's foremost
+authorities on C++. Author of the best-selling Effective C++ series (Effective
+C++, More Effective C++, and Effective STL), he’s also a founder of
+C++ and Beyond and the consulting editor for Addison
+Wesley's Effective Software
+Development Series. He provides training and consulting services to clients
+worldwide.
Abstract:
+This talk will show how the power of compile-time reflection and user
+defined attributes in D can be leveraged to reduce the number of lines of code
+that need to be written. Two real-life case studies will be presented showing
+how their D incarnations are better than the C++11 ones that inspired them.
+
Benefits:
+
The talk will show how the D versions of two C++11 libraries written by the
+author require less boilerplate code to be written with the use of compile-time
+reflection whislt offering equivalent or better functionality. One is a unit
+testing framework designed from the start to run tests in parallel for maximum
+speed and decoupling, the other a serialisation library that requires user code
+to be written only once for both marshalling and unmarshalling.
+
+
For unit-testing, C++ requires macros for assertions, for registering tests, and
+that each test be a child of a TestCase class. The D version not only dispenses
+with registration but also with the requirement of participating in the TestCase
+hierarchy by allowing the registration of functions. User defined attributes can
+be used to tweak the default behaviour.
+
+
In the case of serialisation, C++ requires that code be written for every non-
+primitive type. D allows the compiler to write the code for the library user and
+makes it easier, also via user defined attributes, to customise the behaviour
+for certain use cases. In most cases no code need be written at all. The talk
+will show examples taken from an MQTT broker written in D, and how it is smaller
+than the C++ version.
+
+
The proposed talk aims to showcase how to write code to make use of D’s compile-
+time reflection, why one would want to write such code, and how it was used in a
+real project to reduce boilerplate. D’s metaprogramming capabilities are an
+advanced topic with few practical examples and it would be helpful to make them
+known to D novices or programmers currently considering learning the language.
+
+
Speaker Bio:
+I have a PhD in Particle Physics for research done at CERN. Most of the research itself required programming in C++, and I also had a major participation in the coding of the experiment’s data acquisition and decoding software in C and C++. I later joined the Computer Security Team at CERN in the IT department and spent two years there writing Perl.
+
+
I currently work at Cisco writing networking software, my job having re- quired me to write in C, C++, Perl, Python, Java and Ruby. I even wrote a small D wrapper for our C API for fun.
+
+
The software I wrote and will cover in the talk stems from the work done at my job at Cisco. Both software libraries were written as a better alternative inspired by the code used at work for writing unit tests and serialising network protocol packets. I first wrote them in C++ and after learning D soon realised that both of them would work better in D due to D’s unique capabilities.
+
+
The result of this work was a comparison of MQTT broker implementations in different languages, D being one of them, that ended up generating a lot of discussion on Hacker News and programming subreddit.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: Intermediate. Having a basic understanding of regular expressions is highly recommended, but not required.
+
+ Video: [youtube][alternative]
+
+
+
+
Abstract:
+Take a sneak peek at a regular expression engine internals.
+Learn how simple and effective a metaprogramming could be, by observing D's std.regex library unique features described in great detail.
+
Benefits:
+The talk gives an up-close view of how a regular expression libraries work behind the scenes, dispelling a few common myths in the process. The talk consists of two parts, with first focusing on generic concepts and second devoted to D specific features.
+
+
The first part of talk intentionally language agnostic and
+focuses on the core principles behind the regular expressions.
+The key point of this part is the fundamental ways of
+matching regular expression, their respective strengths and weaknesses.
+
+
The second part dives into how all of this fits into std.regex, a modern regular expression library written in D. Important practical considerations are discussed, some D features that aid such an undertaking are highlighted.
+
+
The last but not least - a feature unique to D is discussed, a generation of optimal native code for a regular expression at compile-time via metaprogramming. The major steps to achieve that along with tricks for seamless integration are detailed, the simplicity of it being the key part of the talk.
+
+
Bottom line, attendees will acquire the knowledge of how regular expressions work from the inside out. It will greatly aid in furthering the understanding of how to use them and when not to use them. More then that it's a good chance to learn practical metaprogramming in D by following an exciting real world example.
+
+
Speaker Bio:
+Dmitry Olshansky, a young all-around researcher and D enthusiast.
+
+Interests changed wildly over time and today include: text processing, compilers, robotics, embedded systems, parallel and concurrent programming, scalable network systems.
+
+Currently enrolled as Ph.D student, with the thesis being focused on a specific class of AI systems.
+
+The most recognized work is the standard regular expression library for D
+(a.k.a. std.regex).
Abstract:
+Dislike this or that feature or decision made by the language leaders? Ever pounded your keyboard in frustration watching an exchange on the forum? Really, what were they thinking? Well, it's payback time. They'll be out there for the roasting. Ask them anything, and hold no punches!
+
Benefits:
+A cathartic moment.
+
+
Speaker Bio:
+Walter, Andrei, and most other major players in the D ecosystem who will be in the room have a solid reputation in making good decisions all the time, and bitterly defending the bad ones.
Abstract:
+This talk confronts some of the challenges encountered by D users and
+developers, such as narrowing down implementation bugs and other problems
+difficult to diagnose conventionally. Topics covered include DustMite, the
+source code minimization tool, Git and its use in D development, as well as a
+miscellanea of other tools of related purpose.
+
Benefits:
+The first part and main focus of this talk will be DustMite, the D source code
+minimization tool. Although the tool has already found popularity amongst many D
+users and developers, it remains difficult and initially unintuitive to get
+started with. The talk will cover an extensive tutorial of its usage, starting
+with basic use, following into more advanced use cases, such as effective
+reduction of compiler regressions, stalls, crashes, and dealing with false
+reductions, and later covering some unusual applications of DustMite.
+
+
Following DustMite will be a description of Digger, a tool
+which interfaces with Git and its "bisect" functionality, and
+allows to quickly determine the change which introduced a
+regression.
+
+
Finalizing the talk will be descriptions of several tools to solve problems
+such as large binary size, slow compilation time, and possibly large memory
+consumption.
+
+
Speaker Bio:
+I am Vladimir Panteleev, a D enthusiast from Moldova (Eastern Europe). I am
+known in the D community for authoring DFeed (http://forum.dlang.org),
+DustMite, and several other tools, some of which will be covered in this talk.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: Developers, primarily 'of' D rather than 'with' D
+
+ Video: [youtube][alternative]
+
+
+
+
Abstract:
+Once any project grows beyond one or two developers automation and communication becomes increasingly important. This talk will cover the past, present, and a little bit of the future of what exists in the D community today.
+
Benefits:
+The talk will cover, briefly, the timeline of D and the tools that have existed since the 0.00 release in Dec 2001. The bulk of the talk will cover the existing tooling: communication, source management, bug tracking, testing, and releasing. The talk will end with a glimpse at some of what the future could/might bring.
+
+
Speaker Bio:
+I first became aware of D in 2005 when Steve Yeggie included it in a survey of programing languages blog post he wrote while the two of us were at Amazon. A year or so later I wanted to learn more and was appalled at the lack of infrastructure I expected to find in a project of it's scale. Newsgroups only, no bug tracking, no source control system (no, occasional tarballs doesn't count, Walter), incomplete source, no public tests, etc. So, I set out to make all of these things exist/happen.
+
+
Outside the realm of D, I've been writing software professionally for the last 25 years, primarily in data processing and back-end systems. Lots of networking, telecom, database, and distributed systems work for IBM, Informix, Netscape, and Amazon to list the ones anyone would recognize. Additional, at each of those companies, I've tended to also invest considerable time in supporting the software management systems.
Abstract:
+"kernel in D" is a fairly common topic on forums. I've
+written a minimal runtime and then rebuilt it back up to the point
+where we can produce a ~30 KB stand-alone executable which can be used
+on Linux or on bare metal with the support of a decently large subset
+of the language (classes, exceptions, even closures with some manual
+care). By creatively hacking the RTInfo facility in object.d, we can
+also perform some static checks on defined types to help confirm to
+performance or correctness checks.
+
+
For example, storing a slice without the GC is prone to losing track
+of who owns the memory. Using RTInfo and compile time reflection, we
+can scan all user types and issue a compile error any time this is
+done, directing the user to use an owned array struct instead.
+
+
It is also worth noting that such techniques may be usable in the full
+druntime as well, without stepping on other uses, e.g. precise GC.
+
Benefits:
+Get acquianted with what really makes D tick - its core runtime library.
+
+
Speaker Bio:
+I've been a freelance programmer since 2009, using primarily
+D as a server-side web language. For the last several months,
+I have also been working on writing a D "cookbook" for people
+to learn the language through practical examples. I joined the
+D community in 2007 and started programming (with assembly
+language and Digital Mars C) in 1999. My open source and hobbyist
+experience covers a wide spectrum of programming related fields
+from bare metal code to compilers to homemade games.
Abstract:
+One of the forces of D is the great compile time capabilities. These come with a
+drawback - any tooling around D must be able to semantically analyze the whole
+language. SDC intend to solve that problem by providing a compiler as a library,
+usable by 3rd party tools.
+
Benefits:
+The talk intends to present SDC and how it works, including:
+
Using JIT for CTFE
+
Semantic analysis scheduled via a dependency management system.
+
What is done and what remains to be done.
+
The opportunities it opens for static analysis.
+
+
+
Speaker Bio:
+Amaury Sechet is a software engineer at Facebook and the main developer of SDC.
Abstract:
+Explore Facebook's experiences integrating D into existing
+C++-based infrastructure.
+
Benefits:
+Learn some of the techniques Facebook is using to make it
+easier for teams to adopt D, and to use it with our existing C++
+libraries and tools. We'll discuss some of the primary challenges we
+face, some of the solutions we are using, and areas for future work.
+
+
Speaker Bio:
+Adam Simpkins is a software engineer at Facebook. He
+works primarily on networking infrastructure projects, building
+network switches, HTTP load balancers, and contributing to thrift
+development. Prior to Facebook he worked at Cisco and some smaller
+start-ups working on CIFS and NFS network file system protocols.
Abstract:
+When term "declarative programming" is used in context of imperative languages,
+it is most often associated with Domain-Specific Languages. However, it is a
+more general approach with essential value of separating meaningful description
+from boilerplate behavior. It is already widely used in D programs and won't be
+a revelation for any experienced D users.
+
+
This talk tries to somewhat generalize this approach and popularize it as common D paradigm, as well as speculate upon possible improvements to D
+reflection capabilities that can make it even more powerful.
+
Benefits:
+
Define term "declarative programming" in context of this talk (and why it is applicable here)
+
DSL: ctRegex and Pegged as famous examples. Most obvious example of benefits that declarative approach can give over straightforward imperative code.
+
Generalize idea to any code generation based on concentrated input and description.
+
Move as much useful information as possible into declarations: pros and cons over custom DSL approach.
+
Overview of related D tool set, speculations about possible design patterns
+
Reflection-based declarative approach: hibernated and vibe.http.rest as beneficial examples.
+
Speculation: high level test coverage verification
+
Speculation: why limit to declarations? Separating expression/statement reflection from AST proposal.
+
Thoughts about existing issues.
+
+
+
Speaker Bio:
+Programming & open-source enthusiast. Contributor to several D projects, most notably vibe.d. D developer at Sociomantic Labs. One of Arch Linux Trusted Users.
Abstract:
+Aurora is a brand new Graphics Toolkit written specifically for D and designed for developers with limited to no experience writing graphics code. This presentation is intended to introduce the community to Aurora, demonstrate progress to date, and solicit discussion about the future direction of Aurora and the obstacles that it faces.
+
Benefits:
+Do you love D? Are you frustrated by the lack of graphics support? Then allow me to introduce you to Aurora, a graphics toolkit written specifically for D. Aurora is a Graphics Rendering Toolkit that is designed with ease-of-use in mind and is intended for use by developers who have little to no experience writing graphics code. Whether you are writing a game, a user interface, or a creative graphics project, Aurora is flexible enough to meet your needs.
+
+
This talk will cover the overall design of Aurora, current implementation progress with demonstrations, the obstacles that are currently faced by the Aurora team, and will solicit the audience for feedback about the current and future design of Aurora.
+
+
This interactive presentation will provide the audience with in-depth information about the current state and future direction of the Aurora Graphics Toolkit as well as providing the opportunity to directly influence the direction and scope of Aurora.
+
+
Speaker Bio:
+Adam Wilson is the Director of Software Development at Prospective Software which specializes in CRM software for the automotive industry. He has over 15 years of experience writing code in a plethora of languages, but has focused on C++, C#, and of course D. Adam also holds a Computer Game Development Certificate from Edmonds Community College which he earned in 2007. In his free time he enjoys spending time with his wife, reading science-fiction, flying light aircraft, and hacking on D code.
For flying to Menlo Park you may use any of the SFO (18 miles), SJC
+(17 miles), or OAK (26 miles) airports.
+
+
Taxi fare is relatively expensive in California, so car rental or
+public transportation are more affordable. Public transportation options include Caltrain and BART.
DConf 2015, the conference of the D programming language, took place at Utah Valley University in Orem, UT, May 27-29 2015.
+
+
We were thrilled to benefit from the generous hosting of Utah Valley University's Computer Science Department at its beautiful campus. UVU/CS has an excellent track record of preparing students for real-world software engineering jobs, and has been a long-time supporter of D by teaching it to its students. Special thanks are due Department Chair Chuck Allison.
+
+
The D programming language has continued to grow through 2014, undergoing a three-fold increase of dmd daily downloads from the main site. Quality and
+stability have improved all across the board for dmd, gdc, ldc, and the standard library.
+
+
DConf is the main face-to-face event for everyone and everything related to
+the D language and environment. Utah Valley University hosted the conference at its campus in Orem, UT
+
+
Schedule Highlights
+
+
Take a look at our schedule for topics that include language evolution, practice, and experience reports. Our speakers comprised a balanced collection of established and up-and-coming experts.
+
+
Want to tune in to the language's strategic vision and direction? Tune into Walter Bright's and Andrei Alexandrescu's keynotes. Core contributor Daniel Murphy discussed automatic conversion of C++ code to D for achieving D compiler bootstrapping.
+
+
\ No newline at end of file
diff --git a/docs/2015/registration.html b/docs/2015/registration.html
new file mode 100644
index 00000000..d332aaea
--- /dev/null
+++ b/docs/2015/registration.html
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+The D Programming Language Conference 2015
+
+
+
+
+
+
+
+
+
+
+
+
+
Registration
+
+
Registration is closed.
+
+
+
+
+
All registrations are final. Registrations are transferrable.
+
+
Please let us know what you'd like your badge to say if it is
+different from your name on your credit card.
+
+
Privacy Policy: Your name and email address will be shared with Utah Valley University
+since it is hosting the event. Otherwise, Digital Mars will not
+share your data with anyone unless compelled by lawful orders.
+
+
Sponsorship
+
+
Cannot attend DConf but want to help out? Be a sponsor!
+Walter Bright is the creator and first implementer of the D programming language
+and has implemented compilers for several other languages. He's an expert in all
+areas of compiler technology, including front ends, optimizers, code generation,
+interpreter engines and runtime libraries. Walter regularly writes articles
+about compilers and programming, is known for engaging and informative
+presentations, and provides training in compiler development techniques. Many
+are surprised to discover that Walter is also the creator of the wargame Empire,
+which is still popular today over 30 years after its debut.
+Andrei Alexandrescu coined the colloquial term "modern C++" (adapted
+from his award-winning book Modern C++ Design), used today to describe
+a collection of important C++ styles and idioms. He is also the
+coauthor (with Herb Sutter) of C++ Coding Standards and the author of
+The D Programming Language book. With Walter Bright, Andrei
+co-designed many important features of D and authored a large part of
+D's standard library. His research on Machine Learning and Natural
+Language Processing completes a broad spectrum of expertise. Andrei
+holds a Ph.D. in Computer Science from the University of Washington and
+a B.Sc. in Electrical Engineering from University "Politehnica"
+Bucharest. He works as a Research Scientist for Facebook.
+Daniel is a Computer Engineer from Sydney, Australia.
+His notable projects in the D community include DDMD, magicport and
+ylink. He has been a regular contributor to DMD since 2011 under the
+name "yebblies". His interests include compilers, digital hardware,
+and embedded systems.
+Brian Schott has been using D since 2007. He wrote and maintains several
+tools for the development of D software. Brian currently works at Economic
+Modeling Specialists International where he helps maintain economic data
+processing and forecasting software written in D.
+Liran Zvibel is the Co-founder and CTO of Weka.IO, a stealth-mode storage startup. Prior to that he was the Co-Founder and VP R&D of Fusic, a video processing mobile/web based startup. Prior to that Liran was at XIV Storage (acquired by IBM in 2007) doing several architectural and leadership roles. Prior to that Liran served 6 years at the IDF, technologically leading a project that was awarded the most prestigious Israeli Defense Award, reaching a rank of Captain. Liran received his B.Sc. in Mathematics and Computer Sciences from the Tel Aviv University at the age of 18.
+When David is not working on Quantum Computing at ETH Zurich, he is an avid advocate of open source software with a particular interest in compilers and languages. David is a member of the D core team and one of the main authors and former maintainer of LDC. Among other things, he ported LDC to MinGW, implemented Linux shared library support for it, and started work on ARM support. David is also a committer to mingw-w64, KDE, SWIG and several other projects.
+Chuck Allison was an early member of the ISO C++ Standards committee (1991–2001) and designed and provided the reference implementation for std::bitset. He was a columnist and editor for the C/C++ Users Journal (1992–2003), and wrote two books on C++: C & C++ Code Capsules (1998) and Thinking in C++, Volume 2, with Bruce Eckel (2004), both published by Prentice-Hall. After twenty years of developing software he returned in 2001 to his first professional love, teaching. He is a professor and chair of computer science at Utah Valley University in Orem, Utah. He has published over 100 articles and in his spare time gives training on C++, Python, D and software development principles. Except when he is playing his classical guitar or bicycling the backroads of central Utah, that is. He was an early adopter of D and has never missed a DConf.
+Starting off as electrical engineering student, Martin became a C++ developer working on DSP and application code at Ableton. Following 1.5 years of full-time open source he is now working as backend engineer at Mobisol. Martin is one of the main contributors to the D runtime and was recently named release manager for the D reference compiler and standard library.
+You can find his GitHub profile here.
+One of the software developers working for Sociomantic Labs, one of the biggest
+commercial D users. For the last 6 months I have been primarily responsible for designing
+and operating the transition process from D1 to D2.
+Occasional contributor to the D toolchain and an Arch Linux Trusted User.
+ Andy is a quantitative developer specialising in financial
+ analytics + real-time trading systems. He has over 18 years
+ experience in the banking + hedge fund industries, both in London
+ and New York. Prior roles include UBS, Deutsche-Bank, GSA Capital,
+ Nomura and Goldman-Sachs.
+Jonathan M Davis is the primary author of
+std.datetime and one of Phobos' core contributors. He is a professional
+developer and has experience in a number of programming languages, including
+C++, Haskell, Java, and D. For better or worse, he's well known in the D
+community for answering questions and being long-winded. He currently
+resides in California.
+Mark Isaacson is a Software Engineer at Facebook, where he recently open sourced a project in the D programming language: an ODBC driver for Presto, a distributed interactive SQL query engine that scales upwards of petabytes. Mark is the author of a tech blog "Modern Maintainable Code" that aims to open a dialogue regarding what maintainable code really looks like, to teach techniques for effective code design, and to challenge existing practices when they fall short.
+Adam D. Ruppe is a master programmer and serious contender - if not winner - for world champion of D for seven consecutive years and counting. He is among the most prolific D programmers on the planet, having written all manner of code in it from bare metal programs to professional web projects, and is also the author of the critically praised and community renowned "D Cookbook".
+
+
With expert level knowledge in several programming languages, techniques, and domains coupled with versatile practicality and humble generosity, Adam rarely finds a problem he cannot solve and is a common sight in the D community, always willing—and able—to help on nearly any user question.
+Joseph is a software developer at Sociomantic Labs, Berlin. Prior
+to this he worked as an academic researcher in various fields of
+complex systems, including neural networks, economic simulation, and
+reputation and recommender systems. In his spare time he has been
+known to blow down wooden tubes in an attempt to create aurally
+pleasing effects for the entertainment of others.
+I am a PhD student (Physics, University of Warwick, UK) doing research centred around the development of data analysis techniques and software for Tokamak research (i.e. saving the world with fusion power!). As my language of choice I use D for everything I can, from small utility scripts to professional web development with vibe.d to distributed heterogeneous computations creating terabytes of data per minute.
+Atila Neves has a PhD in Particle Physics for research done at CERN. Most of the research required programming in C++ and he had a major participation in the coding of the NA60’s experiment’s data acquisition and decoding software in C and C++. He later joined the Computer Security Team at CERN in the IT department and spent two years there writing Perl.
+
+
He now works at Cisco writing networking software and tools in a variety of languages, having used D for some of those tools.
+Erich Gubler is an undergraduate student, graduating this Fall with a Bachelor's Degree of Computer Science at Utah Valley University. The most relevant of his programming projects include the implementation of an academic compiler toolchain using D under the guidance of UVU faculty.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: All
+ Slides
+ Video
+
+
+
+
Abstract:Generic Programming has a good track method as an approach to
+designing data structures and algorithms, as well as general libraries.
+However, attempts at applying it to large-vocabulary domains (the example used
+throughout the talk is memory allocation) are marred by rigidity of
+interfaces, verboseness, and a combinatorial explosion of nomenclature.
+
+
This talk proposes Design By Introspection, a scalable approach to
+designing software artifacts that puts static introspection, not concepts and
+nomenclature, at the forefront. The primitive operations supported by a
+component are divided in "required" and "optional"; there is no need to define
+a concept for each subset of optional primitives supported. For example, in
+range terminology, a notion of "length" may be optionally defined by any
+range, without any burden to define names for "input ranges with length",
+"forward ranges with length", and so on.
+
+
Component users (either programmers or higher-level components) use static
+introspection to query capabilities supported by a given component (usually
+received as a type parameter) and build larger design artifacts accordingly.
+
+
A flexible memory allocator is given as a running example. Except for allocate(), all primitives of an allocator component are optional. More
+complex, combination allocators use other allocators as type parameters and
+make design decisions depending on the capabilities of their parameters.
+
+
Speaker Bio:
+Andrei Alexandrescu coined the colloquial term "modern C++" (adapted
+from his award-winning book Modern C++ Design), used today to describe
+a collection of important C++ styles and idioms. He is also the
+coauthor (with Herb Sutter) of C++ Coding Standards and the author of
+The D Programming Language book. With Walter Bright, Andrei
+co-designed many important features of D and authored a large part of
+D's standard library. His research on Machine Learning and Natural
+Language Processing completes a broad spectrum of expertise. Andrei
+holds a Ph.D. in Computer Science from the University of Washington and
+a B.Sc. in Electrical Engineering from University "Politehnica"
+Bucharest. He works as a Research Scientist for Facebook.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: Developers and students with familiarity with a C-family language and an interest in Programming to D Max
+ Slides
+ Video
+
+
+
+
Abstract:This talk highlights why D is so appealing to long-time C++ folks. Whilst D is much more than just a better C++, that’s just how I use it. Not only does it do C++-like things in a more friendly and powerful way, but it adds modern language and library features found in other languages (Python, C#, Java, Haskell) in a familiar, easy-to-learn/use syntax.
+
+
Speaker Bio:
+Chuck Allison was an early member of the ISO C++ Standards committee (1991–2001) and designed and provided the reference implementation for std::bitset. He was a columnist and editor for the C/C++ Users Journal (1992–2003), and wrote two books on C++: C & C++ Code Capsules (1998) and Thinking in C++, Volume 2, with Bruce Eckel (2004), both published by Prentice-Hall. After twenty years of developing software he returned in 2001 to his first professional love, teaching. He is a professor and chair of computer science at Utah Valley University in Orem, Utah. He has published over 100 articles and in his spare time gives training on C++, Python, D and software development principles. Except when he is playing his classical guitar or bicycling the backroads of central Utah, that is. He was an early adopter of D and has never missed a DConf.
Duration: 50 minutes
+ Talk type:Keynote
+ Level: All
+ Slides
+ Video
+
+
+
+
Abstract:
+There are many ways to allocate memory, such as garbage collection,
+reference counting, and manual memory management. This talk will show
+a fourth way - not allocating memory at all by using lazy ranges.
+
+
Speaker Bio:
+Walter Bright is the creator and first implementer of the D programming language
+and has implemented compilers for several other languages. He's an expert in all
+areas of compiler technology, including front ends, optimizers, code generation,
+interpreter engines and runtime libraries. Walter regularly writes articles
+about compilers and programming, is known for engaging and informative
+presentations, and provides training in compiler development techniques. Many
+are surprised to discover that Walter is also the creator of the wargame Empire,
+which is still popular today over 30 years after its debut.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: Anyone with an interest in D and scientific computing.
+ Slides
+ Video
+
+
+
+
Abstract:
+In this talk I aim to provide some perspectives drawing on my experience over the last several years in programming-dominated physics and engineering research groups, as well as discussions with researchers from other disciplines. I feel the majority of the pieces are already in place to make D a strong proposition for scientific programming, but a lack of standardisation (e.g. matrix types) and polish (e.g. no OS X shared libraries, missing math overloads for std.complex) currently make it only tenable for enthusiasts. By approaching each example from the perspective of a somewhat typical researcher in the relevant field (i.e. strictly non-enthusiast, just wants to get the job done) practical pain-points can be identified. The problems that do exist are tractable and the upsides are significant.
+
+
Speaker Bio:
+I am a PhD student (Physics, University of Warwick, UK) doing research centred around the development of data analysis techniques and software for Tokamak research (i.e. saving the world with fusion power!). As my language of choice I use D for everything I can, from small utility scripts to professional web development with vibe.d to distributed heterogeneous computations creating terabytes of data per minute.
Abstract:
+Ranges are a core concept in D and its standard library,
+Phobos, and understanding them is key to being able to use Phobos, as many
+of its modules use them as one of their core constructs. This talk will go
+over what they are, why they are, how they're used, and how to write them.
+
+
This will go over all of the major input range
+types and the major items that anyone using or writing ranges needs to know.
+It will also definitely go into the various quirks of using strings as
+ranges as well as any of the basic information on Unicode that's necessary
+to understand how and why strings work they way they do. It may or may not
+go into the moveXXX functions and some of the more esoteric aspects of
+ranges, and it may or may not go into much detail on output ranges. It will
+discuss output ranges as well.
+
+
Speaker Bio:
+Jonathan M Davis is the primary author of
+std.datetime and one of Phobos' core contributors. He is a professional
+developer and has experience in a number of programming languages, including
+C++, Haskell, Java, and D. For better or worse, he's well known in the D
+community for answering questions and being long-winded. He currently
+resides in California.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: Beginner to Intermediate
+ Slides
+ Video
+
+
+
+
Abstract:
+As a student of Computer Science at UVU, the D programming language has been a breath of fresh air after learning "standard" languages used in industry like Java, C++, and C#. This experience report shows some of the places where D really shone in assignments at Utah Valley University, specifically for the virtual machine, assembler, and compiler constructed as part of UVU's Computer Science capstone track.
+
+
Students at UVU are encouraged to use the language they feel the most familiar with in order to complete higher-level programming assignments. The author decided to use D as the language of choice for the series of projects that serve as the capstone for the Bachelor's Degree in Computer Science at UVU, which is a toolchain composed of three components:
+
+
A virtual machine that implements a register-register architecture, complete with static and stack-based memory.
+
An assembler that targets bytecode executed by the virtual machine.
+
A compiler that implements the KXI 2015 language developed at UVU, which is a very simple class-oriented language similar to C++ and D in syntax. The compiler's backend targets the assembler.
+
+
+
There are many places where D has significantly enhanced the development of these projects. Focuses in this talk will be:
+
+
The D module system
+
Dynamic arrays and associative arrays (and the range interface, to a lesser degree)
+
The powerful string backend provided by D
+
Templates – which were a much more pleasant experience than C++
+
Enums, especially in tandem with std.conv.to
+
Functional programming paradigm features
+
Relatively small features like @property
+
Other minor syntax differences (UFCS)
+
+
+
Speaker Bio:
+Erich Gubler is an undergraduate student, graduating this Fall with a Bachelor's Degree of Computer Science at Utah Valley University. The most relevant of his programming projects include the implementation of an academic compiler toolchain using D under the guidance of UVU faculty.
Abstract:
+In the course of writing an ODBC driver for Facebook's Presto, a distributed SQL query engine, converting between all sorts of interfaces (C, D, JSON, wide/narrow strings, etc) and dealing with design decisions from foreign lands was center-stage, unavoidable, and problematic. This talk is an "in the trenches" look at dealing with other people's code smell, the grueling, but necessary, bits and the solutions that create sheer joy as they take something barely manageable and refine it into something more natural and idiomatic.
+
+
Talking points include:
+
+
Utilities to convert between C interfaces and D interfaces.
+
The beautiful (slicing a C string into a D string) and the annoying (when the provided length isn't always the length)
+
Wrapping [wide] output C-strings
+
Writing useful exception boundaries
+
Automatic conversions to safer types: why none of my exported functions include a void* type
+
+
Converting runtime type information into static type information.
+
The value of with statements. Compare/contrast against member functions and how with statements help when dealing with C-style data management.
+
Pulling in (or rather, failing to pull in) dub dependencies for Windows DLLs and the associated hacks that made D feel like a scripting language (in a good way)
+
The low friction to contributing to Phobos. Some code smell came from Phobos itself (std.json), addressing it was easy/efficient.
+
Using version(unittest) to try and mock networking facilities turned out to be an anti-pattern
+
+
+
Speaker Bio:
+Mark Isaacson is a Software Engineer at Facebook, where he recently open sourced a project in the D programming language: an ODBC driver for Presto, a distributed interactive SQL query engine that scales upwards of petabytes. Mark is the author of a tech blog "Modern Maintainable Code" that aims to open a dialogue regarding what maintainable code really looks like, to teach techniques for effective code design, and to challenge existing practices when they fall short.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: Intermediate to Advanced
+ Slides
+ Video
+
+
+
+
Abstract:
+One of the long-standing problems hindering DMD has been
+that the compiler is written in C++, not D. Over the last two years,
+the DDMD project has attempted to automatically convert the majority
+of DMD to D. Where previous attempts have failed, DDMD has
+successfully produced a fully functional compiler, and is on track to
+replace the original C++ codebase. This talk covers the tools and
+techniques used, the problems encountered along the way, and explores
+possible applications of the same approach to other projects.
+
+
Content I plan to cover includes:
+
Motivation for converting the project to D.
+
Evaluation of other attempts at replacing the C++ frontend such as
+the original DDMD and SDC.
+
How magicport (the conversion tool) works and the advantages and
+disadvantages of the approach.
+
Major problems faced along the way, focusing on extended C++ interop
+support and C++ constructs not directly expressible in D.
+
Current progress on the DDMD project and future plans (including
+performance evaluation of DDMD)
+
Application to other projects (this will include a case study of
+converting another medium-sized project if I have time)
+
+
+
Speaker Bio:
+Daniel is a Computer Engineer from Sydney, Australia.
+His notable projects in the D community include DDMD, magicport and
+ylink. He has been a regular contributor to DMD since 2011 under the
+name "yebblies". His interests include compilers, digital hardware,
+and embedded systems.
Abstract:
+D is a native language that aims for minimal system requirements. However, to support some of our modern features such as modules and garbage collection, we need a certain amount of additional runtime library magic. While this is hardly visible to the end user in most cases, it becomes painfully obvious once the goal is to do runtime loading of shared libraries, run D in an embedded environment, or port it to a new platform. This talk will provide an in-depth look at what makes your D programs tick under the hood, allowing you to better understand its runtime characteristics and providing a jump start for tailoring the runtime to the needs of your specific environment.
+
+
+
There has been a lot of interest in areas related to the D runtime system lately: Embedded programming, where additional baggage is shunned. Shared library support, where the moving parts of several D objects need to be coordinated. While this has also been reflected in the past DConf schedules, the past material mainly tackles the topic from an end-user perspective, ignoring the actual inner workings. But during my previous porting work, I would have often found a comprehensive overview of the druntime internals helpful.
+
+
The aim of this talk is to provide that overview. Not only will it be a useful resource for people who are wanting to bring D to new platforms, it will also be of interest to those curious about the technical details in the general D community. By answering questions such as:
+
+
Why did dynamic loading of libraries take us so long to implement?
+
How does thread-local storage mix with shared libraries? With fibers?
+
What are the ramifications of exception handling for operating system support
+
Why does the garbage collector pop up in platform porting discussions over and over again?
+
What are TypeInfo and ModuleInfo actually used for? Can I just get rid of them?
+
+
+
It will provide a common grounds for many recurring discussions in the community.
+
+
Speaker Bio:
+When David is not working on Quantum Computing at ETH Zurich, he is an avid advocate of open source software with a particular interest in compilers and languages. David is a member of the D core team and one of the main authors and former maintainer of LDC. Among other things, he ported LDC to MinGW, implemented Linux shared library support for it, and started work on ARM support. David is also a committer to mingw-w64, KDE, SWIG and several other projects.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: Intermediate to Advanced
+ Slides
+ Video
+
+
+
+
Abstract:
+The talk will spend half its time explaining BDD and TDD to the audience and also what Cucumber is. It will show how to use Cucumber to BDD D command-line applications.
+Cucumber is written and configured in Ruby, and the second part of the talk will show how to drive D code from Cucumber. This will show some of D’s strengths with regards to compile-time reflection and type-safety, including a compile-time check for regular expressions.
+
+
Speaker Bio:
+Atila Neves has a PhD in Particle Physics for research done at CERN. Most of the research required programming in C++ and he had a major participation in the coding of the NA60’s experiment’s data acquisition and decoding software in C and C++. He later joined the Computer Security Team at CERN in the IT department and spent two years there writing Perl.
+
+
He now works at Cisco writing networking software and tools in a variety of languages, having used D for some of those tools.
Abstract:
+This talk will take an in-depth look at the state of D's garbage
+collector. We will compare GC with other techniques, learn about
+recent performance improvements in D's GC, profile and tweak the GC
+for a specific application, see an example of manual memory
+management, and have an outlook on upcoming GC improvements.
+
+
D's garbage collector is notoriously known for being slow. This talk
+will debunk some myths about garbage collection and will provide a
+factual comparison of garbage collection against other memory
+management techniques.
+
+
We will then look at specific reasons that make D's GC slow and review
+how the recent improvements made it faster.
+
+
Following an introduction to the new GC profile and configure options,
+we will tweak a small example application and have a brief look at
+manual memory management.
+
+
The talk will finish with an outlook on ongoing GC improvements.
+
+
Speaker Bio:
+Starting off as electrical engineering student, Martin became a C++ developer working on DSP and application code at Ableton. Following 1.5 years of full-time open source he is now working as backend engineer at Mobisol. Martin is one of the main contributors to the D runtime and was recently named release manager for the D reference compiler and standard library.
+You can find his GitHub profile here.
Duration: As long as we stand
+ Talk type: Panel
+ Level: All
+
+
+
+
+
+
Abstract:
+Two themes recur with regularity within the D community. One is, how do we make our programs and libraries faster? The other is, how to improve our development process?
+
+
Let's discuss these in an informal gathering. Make sure you get up to speed with DIP75.
Abstract:
+I'll talk primarily about my jsvar.d, and some about its (optional)
+companion, script.d, showing what they can do and how I was able to do
+it.
+
+
+
What is a dynamic type?
+
What good is it?
+
What does Phobos offer?
+
How can we do better? Operator overloading, opDispatch, `ref` return.
+
How do we interact with native objects? Reflection!
+
What about `eval()`? Enter `script.d`.
+
What still sucks (and how to handle it)? `@property`, `delegate` in `struct` pitfalls.
+
What cool stuff have you done with it? Show my app.
+
+
+
+
Remainder of time: Q&A about cool stuff. I can go on about a lot of
+topics for a long time - my other big D project right now is a game
+without C libraries (except the OS itself). Of course, my older
+projects include the web stuff and I can talk about that too.
+But really, I want the Q&A to be audience led and ideally take up a
+solid 15 minutes so we can get into more things.
+
+
Speaker Bio:
+Adam D. Ruppe is a master programmer and serious contender - if not winner - for world champion of D for seven consecutive years and counting. He is among the most prolific D programmers on the planet, having written all manner of code in it from bare metal programs to professional web projects, and is also the author of the critically praised and community renowned "D Cookbook".
+
+
With expert level knowledge in several programming languages, techniques, and domains coupled with versatile practicality and humble generosity, Adam rarely finds a problem he cannot solve and is a common sight in the D community, always willing—and able—to help on nearly any user question.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: All of the above
+ Slides
+ Video
+
+
+
+
Abstract:
+I have developed several tools that I feel are useful for D programmers and
+ would like to bring attention to how they can be used to solve problems
+ facing D programmers or to speed up a typical edit-compile-run cycle.
+
+
I intend to cover the following tools:
+
+
libdparse - A library with an up-to-date implementation of a lexer,
+ parser, and AST in D for D. I will talk about its development, and how
+ it has led to an increase in the quality of the official language
+ specification.
+
generated - A fuzz testing tool built on the grammar developed during
+ the construction and debugging of libdparse. Generated has helped to
+ reveal inconsistencies in libdparse, DMD, and the official language
+ specification.
+
D-Scanner - A D code analysis tool. It includes capabilities for code
+ search and various forms of static analysis.
+
Sonar D Plugin - A plugin for the SonarQube static analysis system
+ that is able to track the results of D-Scanner reports. This allows
+ organizations to track code quality metrics for D in the same way that
+ they would for Java, PHP, and other languages.
+
Harbored - A documentation generation tool that builds on top of
+ libdparse. A fork of this tool now powers ddocs.org, a site that
+ aggregates documentation for artifacts published via Dub.
+
DCD is an auto-completion tool for D that can be easily reused by
+ text editors and IDEs. Plugins for DCD exist for Emacs, Vim, Textadept,
+ Zeus, Sublime Text 3, Kate/KDevelop, DlangeIDE, IntelliJ, Coedit, and
+ possibly others.
+
+
+
Speaker Bio:
+Brian Schott has been using D since 2007. He wrote and maintains several
+tools for the development of D software. Brian currently works at Economic
+Modeling Specialists International where he helps maintain economic data
+processing and forecasting software written in D.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: Intermediate to Advanced
+ Slides
+ Video
+
+
+
+
Abstract:
+It is literally impossible to program without having some understanding of memory. However, the subject is rarely explained in and out from the machine to the language, with the compiler in between. This talk is going to discuss how these parts of the stack work with memory and how they interact with conventional automatic memory management's methods.
+
+This talk is going to do a deep dive in memory. This includes:
+
+
Cache hierarchy of modern CPUs
+
Cache consistency of modern CPUs
+
How D's type qualifiers take advantage of modern CPU's memory mechanisms
+
Compiler and runtime aspects of reference counting (including exception handling)
+
Compiler and runtime aspects of garbage collections. Strategies that can and cannot be used in D
+
Sharing memory across cores via immutable and shared. Implications for the compiler and the CPU
+
Pitfalls and holes in current D's implementations. Which are bugs, and which are features.
+
Quick overview of alternatives (via linear types, via convention à la C++, agents à la Erlang, ...), discuss pro and cons.
+
+
+
Speaker Bio:
+Amaury Sechet is a software engineer at Facebook and the main developer of SDC.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: All
+ Slides
+ Video
+
+
+
+
Abstract:
+ I'd like to share with you the role D has played in the recent
+ re-architecture of a large-scale trading system within our hedge
+ fund group. At first D was originally considered as a 'prototype'
+ language but quickly gained favour and soon became a core part of
+ the production trading system.
+
+ D is being used for the following:
+
+
Receiving real-time market data
+
+
Market data is currently consumed via a C vendor API. Writing
+ D wrapper code for this API proved relatively straightforward; the
+ initial proof of principle was up and running in an
+ afternoon. Having access to the full Posix API on Linux made the
+ implementation in D relatively straightforward.
+
+
The market data listener communicates with a trading strategy
+ via a shared memory queue. Metrics provided by the API verify that
+ D is more than capable of handling the data volume. When it came
+ time to re-implement in C or C++ we were satisfied enough with the
+ performance and maintainability of the D code that it was allowed
+ to go into production.
+
+
+
Electronic Trading
+
+
To trade with the outside world, a firm-provided FIX-like
+ C-API is used, so again the straightforward C linkage provided by
+ D proved useful.
+
+
+
+
Speaker Bio:
+ Andy is a quantitative developer specialising in financial
+ analytics + real-time trading systems. He has over 18 years
+ experience in the banking + hedge fund industries, both in London
+ and New York. Prior roles include UBS, Deutsche-Bank, GSA Capital,
+ Nomura and Goldman-Sachs.
Abstract:
+One of questions I was most often asked during DConf 2014 was "Why is
+switching to D2 that difficult?". Even some of the Sociomantic developers
+were surprised when they heard the initial time estimates. But while the
+porting process itself is not rocket science and does not require any
+special expertise, our actual case is not that simple:
+
+
large total code base size
+
considerablle amount of code comes from a common base set of libraries
+
development process for different services is quite decentralized
+
usual service maintenance process can't be interrupted/blocked
+
some of D1->D2 changes have serious semantic effects
+
real-time applications are especially fragile
+
+
+
To address all these issues, we are currently using a formal 3-stage process and
+certain tools to ensure a steady (though slow) transition with absolutely no
+interruption to main development. General idea behind the proces is to get into special
+intermediate state that is still valid D1 but can be turned into working D2 code with
+a simple automated tool. A description of this process and an explanation of the most
+problematic issues will be the main topic of this talk.
+
+
This is also a good context to talk about breaking changes in general and how they
+affect commercial users - at least from Sociomantic's perspective. Why do we both want
+and don't want breaking changes at the same time? How to evaluate the "Investment" part
+of ROI metrics in the context of such changes? How can tools greatly reduce transition
+pains? Such questions are likely to be of more practical interest to the D community
+than a discussion of legacy code problems.
+
+
Speaker Bio:
+One of the software developers working for Sociomantic Labs, one of the biggest
+commercial D users. For the last 6 months I have been primarily responsible for designing
+and operating the transition process from D1 to D2.
+Occasional contributor to the D toolchain and an Arch Linux Trusted User.
Abstract:
+High-quality random number generation is an essential component of many programming applications, from scientific simulation and data processing to cryptography and computer games. A poor choice of algorithm (or a poor application of a good one) can readily lead to spurious results.
+
+
This talk explores D's support for random number generation, including the complexities of implementing RNGs as ranges, a comparison to the C++11/14 standard library, and the potential pitfalls of existing std.random functionality, together with suggested workarounds and some potential solutions. Particular attention will be given to the ways in which existing Phobos range-based code makes assumptions that do not necessarily sit easily with supposedly random number sequences.
+
+
Speaker Bio:
+Joseph is a software developer at Sociomantic Labs, Berlin. Prior
+to this he worked as an academic researcher in various fields of
+complex systems, including neural networks, economic simulation, and
+reputation and recommender systems. In his spare time he has been
+known to blow down wooden tubes in an attempt to create aurally
+pleasing effects for the entertainment of others.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: Intermediate to Advanced Systems Programmers
+ Slides
+ Video
+
+
+
+
Abstract:
+The talk will discuss using D for a large scale distributed project implementing a primary storage system with strict performance and resources requirements. Will go over the pros and cons of using D and compare our experience to previous similar projects implemented in C and C++ with Python.
+
+
We are an experienced group of system programmers, implementing a large software based storage system. We have leveraged D specific features to make sure we have a very sound infrastructure to use, some of the things we did were previously either impossible or impractical using only C or C++ forcing us to use Python for code generation, on the other hand—some D aspects make it more difficult to handle than the other options. I will present what we really like, and what we’ve learned to live with.
+
+
Speaker Bio:
+Liran Zvibel is the Co-founder and CTO of Weka.IO, a stealth-mode storage startup. Prior to that he was the Co-Founder and VP R&D of Fusic, a video processing mobile/web based startup. Prior to that Liran was at XIV Storage (acquired by IBM in 2007) doing several architectural and leadership roles. Prior to that Liran served 6 years at the IDF, technologically leading a project that was awarded the most prestigious Israeli Defense Award, reaching a rank of Captain. Liran received his B.Sc. in Mathematics and Computer Sciences from the Tel Aviv University at the age of 18.
+
+
\ No newline at end of file
diff --git a/docs/2015/venue.html b/docs/2015/venue.html
new file mode 100644
index 00000000..c66bf907
--- /dev/null
+++ b/docs/2015/venue.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+
+
+
+The D Programming Language Conference 2015
+
+
+
+
+
+
+
+
+
+
+
+
+
Venue
+
+
A welcome change! Utah Valley University has generously offered to host DConf 2015 at its beautiful campus in Orem, UT.
+
+
Sorensen Center, room 213a.
+
+
+
+
Nearby hotels
+
+
Nearby hotels (prices
+and availability and may vary):
+
+
+
Hampton Inn & Suites Orem, 851 West 1250 South, Orem, UT 84058. Click through for a special DConf 2015 rate through May 12! Also DConf's unofficial hangout place.
We were very very excited to hold DConf under Sociomantic's sponsorship in their neck of the woods—Berlin, one of Europe's premier technology hotbeds. Sociomantic has been a long-time supporter and user of D and we were grateful to benefit from their hosting.
+
+
The D programming language has continued to grow strongly through 2015 in both use and development participation. The fledgling D Language Foundation is poised to lead and organize the community better than ever before. DConf is the main face-to-face event for everyone and everything related to the D language and environment. The 2016 edition was held in premiere in Europe, on the heels of strong D adoption throughout the Old Continent. It was our largest event yet!
+
+
\ No newline at end of file
diff --git a/docs/2016/registration.html b/docs/2016/registration.html
new file mode 100644
index 00000000..b45b57df
--- /dev/null
+++ b/docs/2016/registration.html
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+
+
+
+
+The D Programming Language Conference 2016
+
+
+
+
+
+
+
+
+
+
+
+
+
Registration
+
+
We're gearing up for the largest DConf to date in one of Europe's hottest
+tech hubs. Are you considering attending DConf 2016 in Berlin? Here's the
+skinny.
+
+
The general registration fee is $400. That's top-notch content for
+a fraction of what similar conferences are charging. Curious about the quality?
+Just check the talk videos of the
+2015,
+2014, and
+2013 editions. You're getting
+fantastic value not only in terms of strong content, but also access to
+industry luminaries, a welcoming and enthusiastic community, and a lasting
+boost of inspiration for your work.
+
+
Registration proceeds left after covering conference-related expenses will
+go to D Language Foundation. Your payment will be transparently used to foster
+understanding and adoption of the D programming language.
+
+
+
+
All registrations are final. Registrations are transferrable.
+
+
Please let us know what you'd like your badge to say if it is
+different from your name on your credit card.
+
+
Privacy Policy: Your name and email address will be shared with Sociomantic
+since it is hosting the event. Otherwise, The D Language Foundation will not
+share your data with anyone unless compelled by lawful orders.
+
+
Sponsorship
+
+
Cannot attend DConf 2016 but want to help out? Be an individual sponsor!
+We'll list your name on an individual sponsors page.
+Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages. He's an expert in all areas of compiler technology, including front ends, optimizers, code generation, interpreter engines and runtime libraries. Walter regularly writes articles about compilers and programming, is known for engaging and informative presentations, and provides training in compiler development techniques. Many are surprised to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30 years after its debut.
+Andrei Alexandrescu coined the colloquial term "modern C++" (adapted
+from his award-winning book Modern C++ Design), used today to describe
+a collection of important C++ styles and idioms. He is also the
+coauthor (with Herb Sutter) of C++ Coding Standards and the author of
+The D Programming Language book. With Walter Bright, Andrei
+co-designed many important features of D and authored a large part of
+D's standard library. His research on Machine Learning and Natural
+Language Processing completes a broad spectrum of expertise. Andrei
+holds a Ph.D. in Computer Science from the University of Washington and
+a B.Sc. in Electrical Engineering from University "Politehnica"
+Bucharest. He works with the D Language Foundation.
+Leandro Lucarella has been following D since about 2004 and started
+participating in D forums in late 2006. In 2008 he started working on
+the CDGC as his Software Engineering thesis, which he finished by the
+end of 2010. Since he got involved with D he has been an on-and-off
+small contributor. With more than 15 years of experience in the
+industry, in the last years he's been focusing on low-latency and
+distributed systems in C/C++ and moved to Berlin in late 2011 to work
+in D at Sociomantic.
+Ali Çehreli has been working with C, C++, and D in Silicon Valley since 1996. He is the author of the book "Programming in D", a board member of The D Language Foundation, and an organizer of DLang and ACCU meetup groups in Silicon Valley.
I am a generalist programmer, with a good grasp of computer architecture and distributed systems. I started using D around 2003, and became even more enamored with the language when ranges and range-based algorithms were introduced. I am currently pursuing my PhD, which aims to provide probabilistic timeliness guarantees in wireless networks operating in uncertain environments, such as wireless sensor networks. In my free time you might find me doing embedded systems development, creating my own CPU, or trying to come up with a generic algorithm to neatly solve a problem. Whenever possible I choose D for the task -- even for hardware design.
Ethan Watson is a senior generalist programmer at Remedy Entertainment, a worldrenowned game development studio with games such as Max Payne, Alan Wake, and Quantum Break to their name. He hails from the fictional land of Australia, where everything including the sun tries to kill you. Having survived his upbringing, he found himself needing to pay his bills and what better way is there to do so than working on cuttingedge real time technology?
+Kai Nacke is a professional IT architect. In his spare time he likes to
+develop open source applications. He is the current maintainer of LDC,
+the LLVM-based D compiler, and a committer of the LLVM project. His
+contributions to LDC include ports to different CPU architectures and
+operating systems.
+
+
Besides programming he is also the auther of "D Web Development" and a
+speaker at the Free and Open Source Software Developers' European
+Meeting (FOSDEM).
+I have been an active D coder and contributor to druntime, phobos, and tango, since 2007. I have worked on embedded systems, large distributed systems, and pretty much everything in between since graduating from WPI in 1998. I rewrote the D array runtime to prevent stomping of data from multiple references, and wrote a collection library (dcollections), whose red black tree implementation was copied into phobos. I’m also the author of the iopipe library - a buffer-based D pipeline library that streamlines parsing i/o from any source. Finally, I was the original proposer of the inout concept.
+Don is a Senior Software Developer at Sociomantic Labs, Berlin. He has contributed to the D language since 2005, mainly in the areas of mathematics and metaprogramming. Before joining Sociomantic as a full-time D programmer, he worked in the solar photovoltaic industry on numerical modelling, measurement, and industrial inkjet. His 'FastDelegate' library is well known in the C++ community. He has two sons, and a daughter who is a retired superhero.
+Liran Zvibel is the Co-founder and CTO of Weka.IO, a stealth-mode storage startup. Prior to that he was the Co-Founder and VP R&D of Fusic, a video processing mobile/web based startup. Prior to that Liran was at XIV Storage (acquired by IBM in 2007) doing several architectural and leadership roles. Prior to that Liran served 6 years at the IDF, technologically leading a project that was awarded the most prestigious Israeli Defense Award, reaching a rank of Captain. Liran received his B.Sc. in Mathematics and Computer Sciences from the Tel Aviv University at the age of 18.
+Benjamin Thaut is 27 years old and has a masters degree in Computer Science and Media from the Media University in Stuttgart Germany. He has been working for his former employer Havok, one of the biggest middle ware companies in the games industry, for four years now. Now he's employed at Microsoft in the Windows and devices group. In his spare time Benjamin contributes to various Open Source projects. He contributed to "Mechwarrior Living Legends", a total conversion for Crysis, for 3 years and ended up as Lead Programmer of the team. Currently he is contributing to the ezEngine, an open source game engine and to the D programming reference compiler and runtime. His first contact with the D programming Language was 5 years ago. Ever since he is using D for personal projects and tries to advertise the language to others.
+Robert Schadek received a Bachelor's degree in computer science in 2011 at the University of Oldenburg, Germany. In his bachelor thesis he developed a multi-threaded octree. In 2012 he earned a Master's degree in computer science at the University of Oldenburg. His master thesis was titled "DMCD A Distributed Multithreading Caching D Compiler" and introduced multi-threading among other optimizations to the compiler control flow. Since 2012, he is a PhD candidate in the department of Prof. Dr.-Ing. Oliver Theel at the University of Oldenburg. His PhD research focuses on quorum systems in combination with graphs.
+Vladimir Panteleev is a D hacker from Moldova. He has been using D since 2006 and contributing to its development since almost as long, and maintains several open-source projects written in D.
+After working 2 years as C++ application and DSP developer at Ableton and almost 2 years of full-time open source work, Martin is currently working as backend engineer at Mobisol. He is one of the main contributors to the D runtime and reference compiler, and also D's release manager. You can find his GitHub profile here.
+Erik Smith is a member of the clinical analytics team at Transcend Insights in San Diego. Erik is a specialist in building high performance full stack applications. He is a co-founder of AppFluent, a maker of database caching technology and analytic monitoring software. He has a diverse background in the development of C++ applications involving database interfaces and in the implementation of database engines.
+I am a part time PhD student (Physics, University of Warwick, UK) developing data analysis techniques and software for fusion power research and a programming consultant working in finance. I am the founder of the DlangScience project which develops, curates and maintains scientific libraries for D.
+During the day, Mithun Hunsur is an undergraduate student at Monash University – but during the nights and the weekends, he’s a prolific systems programmer and reverse engineer working on exploring the far reaches of the technologies he works with on a daily basis. Since 2013, he has been utilising D in a variety of projects, both internal and external, in order to maximise development speed while keeping performance characteristics from other systems languages. As part of his efforts to support the wider D ecosystem, he has submitted pull requests to druntime and Phobos, and has assisted in improving the performance of exception handling in LDC. He is currently situated in Melbourne, Australia.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: All
+ Slides:SlideShare · PDF
+ Video
+
+
+
+
Abstract:
+Whew! Another year has gone by—a year of growth and progress, but also one of increased competition and growing pains. This discusses where we are and where we're going, with an emphasis of a hot topic: using D with different memory management strategies.
+
+
Speaker Bio:
+Andrei Alexandrescu coined the colloquial term "modern C++" (adapted
+from his award-winning book Modern C++ Design), used today to describe
+a collection of important C++ styles and idioms. He is also the
+coauthor (with Herb Sutter) of C++ Coding Standards and the author of
+The D Programming Language book. With Walter Bright, Andrei
+co-designed many important features of D and authored a large part of
+D's standard library. His research on Machine Learning and Natural
+Language Processing completes a broad spectrum of expertise. Andrei
+holds a Ph.D. in Computer Science from the University of Washington and
+a B.Sc. in Electrical Engineering from University "Politehnica"
+Bucharest. He works with the D Language Foundation.
Duration: As long as we stand
+ Talk type: Birds of a Feather
+ Level: All
+
+
+
+
+
+
Abstract:
+Per popular demand, we're holding an unstructured after hours birds-of-a-feather meeting among all interested in build systems, packaging, deployment, and such. We don't know the exact location yet—conference room, hotel foyer, tea house, beer hall?—but hang loose and listen to announcements at the end of the second day.
Duration: 50 minutes
+ Talk type:Keynote
+ Level: All
+ Slides:PDF
+ Video
+
+
+
+
Abstract:
+The D compiler front end is used for the DMD, GDC and LDC compilers. Explore the organization of it, how it works is reflected in how the D language works, what makes it so fast, and the ongoing challenges for improving it. This aims to be invaluable for those who wish to get into contributing to the compiler, crafting other tools that need to examine D code, and illuminating for simply using the compiler more effectively.
+
+
Speaker Bio:
+Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages. He's an expert in all areas of compiler technology, including front ends, optimizers, code generation, interpreter engines and runtime libraries. Walter regularly writes articles about compilers and programming, is known for engaging and informative presentations, and provides training in compiler development techniques. Many are surprised to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30 years after its debut.
Abstract:
+D provides support for multitasking in the form of language features and standard library modules. D makes it easy for your programs to perform multiple tasks at the same time. This kind of support is especially important in order to take advantage of the multiple CPU cores that are available on modern computing systems.
+
+
Multitasking is one of the most difficult computing concepts to implement correctly. This talk will introduce different kinds of multitasking, as well as parallelism, a concept which is in fact unrelated to, but is often confused with, multitasking. The talk will conclude with fibers (aka co-routines), a powerful tool that is often overlooked despite its convenience.
+
+
Speaker Bio:
+Ali Çehreli has been working with C, C++, and D in Silicon Valley since 1996. He is the author of the book "Programming in D", a board member of The D Language Foundation, and an organizer of DLang and ACCU meetup groups in Silicon Valley.
Abstract:
+Every programmer uses floating point numbers occasionally. And almost
+every programmer has encountered floating point weirdness -- a loop that
+didn't terminate, a simple calculation that gave a result that made no
+sense. We have frustrating debugging experiences, leading some of us to
+develop a lifelong pathological fear of floating point numbers.
+
+
Most programmers use rules of thumb to reduce the risk of encountering
+weirdness, such as "Never use ==" and "Use as much precision as you
+can". Yet we are left with a lingering feeling that our code is probably
+not correct. To make things worse, D introduces new features that aren't
+addressed by these simplistic guidelines.
+
+
This talk will describe a mental model to help us avoid nasty surprises,
+present real-world examples of how things can go wrong in D, and explain
+how to fix them. The talk is aimed at programmers, not mathematicians.
+
+
Speaker Bio:
+Don is a Senior Software Developer at Sociomantic Labs, Berlin. He has contributed to the D language since 2005, mainly in the areas of mathematics and metaprogramming. Before joining Sociomantic as a full-time D programmer, he worked in the solar photovoltaic industry on numerical modelling, measurement, and industrial inkjet. His 'FastDelegate' library is well known in the C++ community. He has two sons, and a daughter who is a retired superhero.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: All
+ Slides:SlideShare · PDF
+ Video
+
+
+
+
Abstract:
+For most programmers used to developing for a modern CPU, working with GPUs for general purpose computation can appear daunting and laborious. Even seasoned users will admit that the performance improvements are often not worth the extra effort. With the power of D’s type system and static introspection, the library CLWrap provides no-compromise tools for working with GPUs via OpenCL in D, while being much safer and easier to use than the traditional APIs.
+
+
In this talk I will give a bottom-up, by-example tour of CLWrap. The library builds abstractions without sacrificing the level of control necessary to make efficient use of powerful co-processors such as modern GPUs. As such it should be valuable across the full spectrum of heterogeneous computing users. By the end of the talk, everyone listening should be able to write and understand the handful of lines of D necessary to offload work to the GPU. Additionally, I will demonstrate how CLWrap can be used seamlessly with other tools in the DlangScience ecosystem.
+
+
Speaker Bio:
+I am a part time PhD student (Physics, University of Warwick, UK) developing data analysis techniques and software for fusion power research and a programming consultant working in finance. I am the founder of the DlangScience project which develops, curates and maintains scientific libraries for D.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: Intermediate to Advanced
+ Slides:SlideShare · PDF
+
+
+
+
+
Abstract:
+When designing a CPU, many considerations need to be taken into account: from hardware constraints to instruction set flexibility, building an architecture worthy of use requires compromise. This talk details the effective use of D and its features, such as metaprogramming, to enable rapid development with equally rapid performance for Skiron: a CPU design and implementation focused on examining the impact of particular design decisions on flexibility and performance.
+
+
Skiron is a flexible 32-bit RISC and MIPS-inspired architecture designed for the sole purpose of evaluating potential compromises in CPU design with a minimal time investment in making changes. To this end, the tools involved in the ecosystem – the reference simulator, assembler, disassembler, and documentation – needed to be built around the principle of rapid iteration.
+
+
As a result, D was selected as the implementation language: its unique blend of features places it in an ideal place for Skiron, especially with regards to ensuring that changes in design will be reflected across the entire ecosystem. This is accomplished through extensive use of metaprogramming, D-exclusive features, the excellent standard library, and much more.
+
+Areas investigated in this talk will include, but not be limited to:
+
+
Compromises inherent in the design of CPUs, including performance, instruction set concerns, and end-user usability
+
+
The use of metaprogramming to facilitate rapid development of the instruction set, opcode structure, production of documentation, and more – and the different kinds of metaprogramming available in D, from templates to code generation in mixins
+
+
Taking advantage of D features such as final switch and built-in unit tests to ensure correctness of code, as well as other features like binary constants
+
+
Using both GC and non-GC code effectively within a set of projects, and tips and tricks involved in writing non-GC code
+
+
The advantages of D over competing systems languages for a complex, multi-level project – specifically, how D can be used to go from high-level user-facing functionality to low-level code generation and simulation without switching language
+
+
+
Speaker Bio:
+During the day, Mithun Hunsur is an undergraduate student at Monash University – but during the nights and the weekends, he’s a prolific systems programmer and reverse engineer working on exploring the far reaches of the technologies he works with on a daily basis. Since 2013, he has been utilising D in a variety of projects, both internal and external, in order to maximise development speed while keeping performance characteristics from other systems languages. As part of his efforts to support the wider D ecosystem, he has submitted pull requests to druntime and Phobos, and has assisted in improving the performance of exception handling in LDC. He is currently situated in Melbourne, Australia.
Duration: 50 minutes
+ Talk type:Keynote
+ Level: All
+ Slides:SlideShare · PDF
+Extended slides: SlideShare · PDF
+ Video
+
+
+
+
Abstract:
+Being probably one of the earliest D adopters in the industry, Sociomantic had a lot of fun rides with the language and its community. This talk will go through this history, from where we started to where are we heading at. We started very early but we lagged behind very early too, being stuck with D1 for way too long made our participation in Dland very limited. But we hope this will change very soon. We are more excited than ever about getting closer to the community and being a more active player in the language ecosystem.
+
+
Speaker Bio:
+Leandro Lucarella has been following D since about 2004 and started
+participating in D forums in late 2006. In 2008 he started working on
+the CDGC as his Software Engineering thesis, which he finished by the
+end of 2010. Since he got involved with D he has been an on-and-off
+small contributor. With more than 15 years of experience in the
+industry, in the last years he's been focusing on low-latency and
+distributed systems in C/C++ and moved to Berlin in late 2011 to work
+in D at Sociomantic.
Abstract:
+David Parnas' 1972 seminal paper, "On the criteria to be used in decomposing systems into modules", set a milestone in our collective understanding of how complex programs should be divided into more manageable parts. Over forty years later, I have reimplemented in D the example programs presented in the paper and came away with insights that are not obvious from a more casual reading of that text.
+
+
In this talk I will 1) present the original insight of the paper, using more modern language; 2) relate it to current design best practices and 3) argue, with the help of my implementation, that D best fulfilled the paper's original vision, even surpassing it.
+
+
Speaker Bio:
+
I am a generalist programmer, with a good grasp of computer architecture and distributed systems. I started using D around 2003, and became even more enamored with the language when ranges and range-based algorithms were introduced. I am currently pursuing my PhD, which aims to provide probabilistic timeliness guarantees in wireless networks operating in uncertain environments, such as wireless sensor networks. In my free time you might find me doing embedded systems development, creating my own CPU, or trying to come up with a generic algorithm to neatly solve a problem. Whenever possible I choose D for the task -- even for hardware design.
Abstract:
+Using LLVM as backend enables LDC to target many CPU architectures,
+ranging from ARM and MIPS based embedded systems and smartphones over
+server systems based on POWER and Sparc up to the "big iron" z System. D
+everywhere seems possible!
+
+
Having code generation for a target, the real work is getting druntime
+and Phobos support right. This talk highlights the areas which always
+needs tweaking, which are difficult to get right and which surprises you
+may encounter along the way.
+
+
As the frontend of the compiler is now written in D and thus requiring a
+D compiler, this talk also discusses the strategies the LDC team employs
+to bootstrap the compiler code itself to a new platform.
+
+
Given the many available LLVM targets this talk inspires the audience to
+bring D to their favorite platform!
+
+
Speaker Bio:
+Kai Nacke is a professional IT architect. In his spare time he likes to
+develop open source applications. He is the current maintainer of LDC,
+the LLVM-based D compiler, and a committer of the LLVM project. His
+contributions to LDC include ports to different CPU architectures and
+operating systems.
+
+
Besides programming he is also the auther of "D Web Development" and a
+speaker at the Free and Open Source Software Developers' European
+Meeting (FOSDEM).
Abstract:
+This talk presents a high-level approach to working with relational and NoSQL databases, and provides idiomatic solutions to common tasks such as deriving schemas from annotated type definitions, migrating data, or efficiently processing queries. These solutions will be introduced as part of a library that wants to become the go-to library for anything from small web applications to demanding backends.
+
+
There already exist many libraries for certain aspects of database work and D even has some higher-level object mappers. But it still lacks a holistic approach that deals with every task in day-to-day database work in a way that leverages D's powerful features to improve efficiency and reduce boilerplate.
+
+
This library provides a common high-level interface to various existing database drivers, making it possible to work with any SQL and a wide range of NoSQL databases.
+
+
It will hopefully lay the groundwork for very productive web application development by using D to provide a unique efficiency, (type-)safety, and conciseness advantage over existing solutions in other programming languages.
+
+
Speaker Bio:
+After working 2 years as C++ application and DSP developer at Ableton and almost 2 years of full-time open source work, Martin is currently working as backend engineer at Mobisol. He is one of the main contributors to the D runtime and reference compiler, and also D's release manager. You can find his GitHub profile here.
Duration: As long as we stand
+ Talk type: Lightning Talks
+ Level: All
+
+ Video
+
+
+
+
Abstract:
+We've had many, many good submissions of great quality for DConf 2016, so it's been very difficult to have to turn down some of them. Therefore, we're giving away the time slot traditionally reserved for Q&A with the D language leadership for a blizzard of quick talks. Please contact dconf2016@digitalmars.com if you want to give a short talk. Authors of declined submissions have priority. See you there!
Abstract:
+This is a group interview with a few prominent folks at Sociomantic, the largest and most successful D outfit. Stay tuned for more information!
Duration: As long as we stand
+ Talk type: Panel
+ Level: All
+
+ Video
+
+
+
+
Abstract:
+There has been increasing interest recently in contributing to D, and many discussions on what to do to make the first steps of potential collaborators easier. This panel puts in the hot seat the major players in the process and build arena, in an unprecedented panel. Bring your toughest questions!
Abstract:
+It is no secret that D is a large and comprehensive language. This talk explores some lesser-known tricks and techniques for using the language effectively.
+
+
This talk will be a loosely-connected description of a number of tips collected by the author throughout his usage of D. These will mainly relate to metaprogramming, Druntime, and curious language syntax features.
+
+
Speaker Bio:
+Vladimir Panteleev is a D hacker from Moldova. He has been using D since 2006 and contributing to its development since almost as long, and maintains several open-source projects written in D.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: All
+ Slides:SlideShare · PDF
+ Video
+
+
+
+
Abstract:
+Building awesome UI’s fast with AngularJS, Bootstrap, vibe.d and
+a lot of D.
+
+
AngularJS, together with Node.js, is an extremely powerful combination for building single page applications. Unfortunately, its development requires writing HTML and Javascript, which is tedious and error prone. By using vibe.d, HTML is no longer necessary, and the developers can use the full power of a static-typed language for the development of the backend. Substituting Javascript with Typescript in addition to a little bit of CTFE D magic then removes the need for redundant data type declarations, and makes everything statically typed. At the end of the talk, the attendee will have witnessed the creation of a statically typed, asynchronous single page application that required little extra typing than its dynamically typed equivalent. Additionally, the attendees will be motivated to explore the presented combination of frameworks as a viable desktop application UI framework.
+
+
Speaker Bio:
+Robert Schadek received a Bachelor's degree in computer science in 2011 at the University of Oldenburg, Germany. In his bachelor thesis he developed a multi-threaded octree. In 2012 he earned a Master's degree in computer science at the University of Oldenburg. His master thesis was titled "DMCD A Distributed Multithreading Caching D Compiler" and introduced multi-threading among other optimizations to the compiler control flow. Since 2012, he is a PhD candidate in the department of Prof. Dr.-Ing. Oliver Theel at the University of Oldenburg. His PhD research focuses on quorum systems in combination with graphs.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: Intermediate to Advanced
+ Slides:PDF
+ Video
+
+
+
+
Abstract:
+D provides multiple mechanisms for adjusting how a piece of data can be modified. I will discuss mainly how the two “wildcard” modifiers (const and inout) work and how inout can be improved.
+
+
Both const and inout in D provide a mechanism to consolidate code into handling multiple type modifiers, while providing a guarantee to the caller that the code cannot modify its parameters. Each works in different ways, but especially inout is difficult to grasp. Through this presentation, I hope to shine some light on the underlying concept of inout, and show how it can be used in different situations, including situations where inout is not intuitively the choice you would think of. I also intend to show how inout can be further improved to remove some of the sticky situations that it creates.
+
+
Speaker Bio:
+I have been an active D coder and contributor to druntime, phobos, and tango, since 2007. I have worked on embedded systems, large distributed systems, and pretty much everything in between since graduating from WPI in 1998. I rewrote the D array runtime to prevent stomping of data from multiple references, and wrote a collection library (dcollections), whose red black tree implementation was copied into phobos. I’m also the author of the iopipe library - a buffer-based D pipeline library that streamlines parsing i/o from any source. Finally, I was the original proposer of the inout concept.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: Beginner to Intermediate
+ Slides:SlideShare · PPTX
+ Video
+
+
+
+
Abstract:
+This talk will go over various bit packing techniques, and will use actual examples from open source projects such as clang, LLVM, jemalloc, SDC explaining how they are used. This will go over some fundamental that are often glossed over if talked about at all, such as how to layout a bitfield.
+
+
ABI friendly value type (that end up being passed in registers) are going to be discussed. Tips will be given to transform a non friendly struct into a friendly one using bitpacking. std.bigint makes a good subject study.
+
+
Computation requirements for various packing technique will be discussed. Bit packing techniques will be categorized into fast ones, that can be used to reduce memory consumption and reduce cache misses, and slower ones, that are more suitable for compression but should be avoided on the working set.
+
+
Tagging pointers in a @safe or @system manner.
+
+
Finally, a technique allowing to create the equivalent of a class hierarchy without classes, inheritance, granted all subclasses are known/can be listed using bit packing techniques and D reflection capabilities. The technique is similar to the way HHVM implement PHP arrays, or LLVM implement its bytecode, but can be made better in D. The technique discriminate "classes" using a tag field and using as an index in constant tables to implement a virtual dispatch equivalent. Other class like features like polymorphism and downcasting can be implemented cheaply as well.
+
+
Speaker Bio:
+Amaury Sechet is a software engineer at Facebook, LLVM comitter and the main developer of SDC.
Abstract:
+Most modern language platforms, including D, provide some ability to interact with databases through community provided libraries specific to each database. Some languages, however, (notably Java, python, and perl), have had a big advantage in the application and utility domain by offering a standard common interface layer. D, with it's unique mix of speed, modeling power, and ease-of-scripting, could also achieve a similar level or success. A standard interface would provide multiple benefits: a simpler interface for client code to be built more quickly, a level of portability across databases, and a foundational layer on which higher level capabilities can be built.
+
+
A fundamental design aspect of the D standard database interface (std.database) is to provide an interface that meets many design goals. It must be both familiar and as easy to use as any comparable interface in any language. The implementations must be designed for high performance that many use cases will require. It must also be flexible enough to take advantage of specific driver capabilities when they are available. The interface must also be carefully designed with a sufficient number of implementations to be stable as more databases are supported over time. The interface must dovetail seamlessly with D language features. The interface must provide both synchronous and asynchronous I/O capabilities to address the growing need for applications with high numbers of connections. Finally, both SQL and NoSQL databases should be addressed.
+
+
An exploration of the interface, as well as the growing list supported databases, will include coverage of essential features: including I/O binding for scalars and arrays, range based row sets, detachable row sets, direct vs polymorphic interfaces, type conversion, compile time policy configuration, connection pooling, fluent style interface, and the use of higher level functions that simplify common use cases, including basic serialization and object relational mapping.
+
+
Speaker Bio:
+Erik Smith is a member of the clinical analytics team at Transcend Insights in San Diego. Erik is a specialist in building high performance full stack applications. He is a co-founder of AppFluent, a maker of database caching technology and analytic monitoring software. He has a diverse background in the development of C++ applications involving database interfaces and in the implementation of database engines.
Abstract:
+This talk gives an overview over implementing full DLL support on Windows within in the DMD reference compiler. A short description over the inner workings of Windows DLLs is given. Furthermore, the problems and possible solutions with implementing the 'export' protection level, as described in the D language specification, are explained.
+
+
The talk draws from the experience of implementing a fully working version of DLLs using DMD targeting the Microsoft x64 c-runtime and linker. There are a few issues that need to be solved before a pull request can be done. These points include testing, stripping of unused symbols, better support for templates across DLL boundaries and more. All these points will be discussed during the talk.
+
+
Speaker Bio:
+Benjamin Thaut is 27 years old and has a masters degree in Computer Science and Media from the Media University in Stuttgart Germany. He has been working for his former employer Havok, one of the biggest middle ware companies in the games industry, for four years now. Now he's employed at Microsoft in the Windows and devices group. In his spare time Benjamin contributes to various Open Source projects. He contributed to "Mechwarrior Living Legends", a total conversion for Crysis, for 3 years and ended up as Lead Programmer of the team. Currently he is contributing to the ezEngine, an open source game engine and to the D programming reference compiler and runtime. His first contact with the D programming Language was 5 years ago. Ever since he is using D for personal projects and tries to advertise the language to others.
Abstract:
+Can D be used to make games? Yes. Has it been used in a major game release? It has now. Remedy Entertainment have successfully shipped the first AAA game to use D code. And it’s in a fairly critical subsystem too. This talk will cover the usage of D in Quantum Break, problems encountered and solved, and where we want to take our usage of D in the future.
+
+
This talk will cover Remedy’s use of D in Quantum Break, providing a combination of Tools and Techniques, Experience Reports, and briefly touching on Under the Hood and Language Propertopics.
+
+
Speaker Bio: Ethan Watson is a senior generalist programmer at Remedy Entertainment, a worldrenowned game development studio with games such as Max Payne, Alan Wake, and Quantum Break to their name. He hails from the fictional land of Australia, where everything including the sun tries to kill you. Having survived his upbringing, he found himself needing to pay his bills and what better way is there to do so than working on cuttingedge real time technology?
Duration: 50 minutes
+ Talk type: Presentation
+ Level: Intermediate
+ Slides:SlideShare · PDF
+ Video
+
+
+
+
Abstract:
+At Weka.IO we are leveraging D for building a software based, distributed, primary storage solution. We face strict resource constraints and the systems' performance has to beat competing appliance-based solutions written in C/C++ for latency and throughput.
+
+
This is the third year we’re using D, the codebase has grown to ~200k LOC, and the team to about 30 engineers - Any project of this scale starts to have issues regardless of the programming language. This talk will cover the challenges we face and lessons we’ve learned while using D. This last year we have learned to leverage the D community better, and spent quite an effort shaping our D toolchain to our needs, solving many problems that will matter to similae-scale or real-time projects when they choose to leverage D.
+
+
Speaker Bio:
+Liran Zvibel is the Co-founder and CTO of Weka.IO, a stealth-mode storage startup. Prior to that he was the Co-Founder and VP R&D of Fusic, a video processing mobile/web based startup. Prior to that Liran was at XIV Storage (acquired by IBM in 2007) doing several architectural and leadership roles. Prior to that Liran served 6 years at the IDF, technologically leading a project that was awarded the most prestigious Israeli Defense Award, reaching a rank of Captain. Liran received his B.Sc. in Mathematics and Computer Sciences from the Tel Aviv University at the age of 18.
Whether you were with us in Berlin or watching from home, we thank everyone for participating. You can review the conference through this YouTube playlist.
+
+
The D Language Foundation has cooperated again with Sociomantic to organize DConf 2017 in Berlin for the second time. Same location, same dates, but of course a whole new experience!
+
+
The D programming language has improved dramatically this year thanks to more focus brought up by the D Language Foundation, better participation from corporate users and worldwide volunteers, and the advent of world-class open-source libraries such as Sociomantic's Tsunami and Ilya Yaroshenko's GLAS. The D Language Foundation has accumulated a war chest and announced a scholarship that already enrolls four MSc students.
+
+
DConf is the main face-to-face event for everyone and everything related to the D language and environment. The 2017 edition has been held in Europe for the second time, following the previous year's smashing success.
DConf Hackathon on Sunday, May 7 (new for DConf 2017!)
+
+
The D conference has not ended after the three days of talks but continued on into Sunday for a hackathon during which people have collaboratively focused on long-lasting problems and pain points in the D ecosystem. Of course, any D hackers who wish to simply progress their own personal projects were welcome too! The hackathon has taken place at the same venue (Heimathafen).
+
+
The motivation for adding a D ecosystem hackathon (besides having fun) is that a lot of time is wasted due to communication latency because most people can only hack during the night or weekends. At last year’s DConf, the “birds of feather” groups were intended to reduce this communication problem, but sadly the scheduling didn’t quite provide enough time. Thus, the DConf 2017 hackathon isn't a hackathon in the traditional sense as most of the time and focus will hopefully be spent discussing, planning and developing future D projects.
+
+
+
+
\ No newline at end of file
diff --git a/docs/2017/registration.html b/docs/2017/registration.html
new file mode 100644
index 00000000..2f96fec0
--- /dev/null
+++ b/docs/2017/registration.html
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+
+
+
+
+
+The D Programming Language Conference 2017
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Registration
+
+
We're gearing up for the largest DConf to date in one of Europe's hottest
+tech hubs. Are you considering attending DConf 2017 in Berlin? Here's the
+skinny.
+
+
The general registration fee is $400. That's top-notch content for
+a fraction of what similar conferences are charging. Curious about the quality?
+Just check the talk videos of the
+2016,
+2015,
+2014, and
+2013 editions. You're getting
+fantastic value not only in terms of strong content, but also access to
+industry luminaries, a welcoming and enthusiastic community, and a lasting
+boost of inspiration for your work.
+
+
Registration proceeds left after covering conference-related expenses will
+go to D Language Foundation. Your payment will be transparently used to foster
+understanding and adoption of the D programming language.
+
+
+
+
All registrations are final. Registrations are transferrable.
+
+
Please let us know what you'd like your badge to say if it is
+different from your name on your credit card.
+
+
Privacy Policy: Your name and email address will be shared with Sociomantic
+since it is hosting the event. Otherwise, The D Language Foundation will not
+share your data with anyone unless compelled by lawful orders.
+
+
Sponsorship
+
+
Cannot attend DConf 2017 but want to help out? Be an individual sponsor!
+We'll list your name on an individual sponsors page.
Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages. He's an expert in all areas of compiler technology, including front ends, optimizers, code generation, interpreter engines and runtime libraries. Walter regularly writes articles about compilers and programming, is known for engaging and informative presentations, and provides training in compiler development techniques. Many are surprised to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30 years after its debut.
Andrei Alexandrescu coined the colloquial term "modern C++" (adapted
+from his award-winning book Modern C++ Design), used today to describe
+a collection of important C++ styles and idioms. He is also the
+coauthor (with Herb Sutter) of C++ Coding Standards and the author of
+The D Programming Language book. With Walter Bright, Andrei
+co-designed many important features of D and authored a large part of
+D's standard library. His research on Machine Learning and Natural
+Language Processing completes a broad spectrum of expertise. Andrei
+holds a Ph.D. in Computer Science from the University of Washington and
+a B.Sc. in Electrical Engineering from University "Politehnica"
+Bucharest. He works with the D Language Foundation.
+
Scott Meyers started programming in 1971, and he started teaching
+programming in 1972. He’s best known for his Effective C++ books, but
+he’s also worked on constraint expression for programming languages,
+program representations in development environments, software
+simulations of bacteriophage lambda, general principles for improving
+software quality, and the effective presentation of technical
+information. In 2009, he received the Dr. Dobb’s Excellence in
+Programming Award, and in 2014, an online poll likened his hair style
+to that of the cartoon character, He-Man.
Simon Arneaud is a consultant living in Sydney,
+Australia. He's worked professionally on low-power microcontrollers,
+globally distributed web services, and various things in between.
Iain is an Infrastructure Administrator at Sociomantic Labs. He has been
+contributing to GNU projects since 2009, and is the prinicipal force behind
+the development of the GNU D Compiler (GDC), D language maintainer for the
+GNU Debugger (GDB), and listed maintainer of the GNU Compiler Collection (GCC).
+He passes the time by cycling 200 kilometres on a weekly basis.
+
Alex is a Linux and security enthusiast who spends most of his time
+in Sublime and vim when he isn’t slaying ‘features’ in GDB. Currently
+a Masters student at University Politehnica of Bucharest, Romania,
+Faculty of Automatic Control and Computer Science, studying computer
+and network security. He holds a B.Sc. in Computer Science &
+Engineering. Previous experience includes low-level programming,
+compilers, basic kernel and operating systems development. He first
+started contributing to the Open Source community back in 2012 and has
+been an active member ever since. Alex is currently working on the D
+compiler and runtime environment, tackling the challenge of
+interfacing D with C++.
Lucia Cojocaru is a Masters student at University Politehnica of Bucharest, Romania, Faculty of Automatic Control and Computer Science. Her Bachelor’s degree is on Computer Science Engineering. She is currently studying computer and network security focusing on low-level executable vulnerabilities and operating system security mechanisms.
+Her previous experience includes operating system essentials, basic kernel development, x86 and embedded, microcontroller and FPGA programming, ELF linking and loading exploration and compiler design. She is most proficient with x86 assembly and C, C++, and Java programming languages.
+Lucia is currently working on the D compiler and runtime environment.
+
Stephan Dilly is the head of engineering at InnoGames.
+With 10 years of professional software development
+experience, he has worked as a consultant and engi-
+neer for top gaming companies including Funatics and
+Ubisoft Bluebyte. Before joining InnoGames, Stephan
+developed games in the front-end and back-end domain
+on titles like ”The Settlers”, ”Tom Clancy’s Endwar”
+and ”Assassin’s Creed Identity”. Now, he focuses on
+front-end technology at InnoGames and shapes the
+strategy for mobile-only games using modern game
+engines. Stephan aka ’Extrawurst’ is an active mem-
+ber in the D community since 2007, he contributed to
+books like ”The D Programming Language” by Andrei
+Alexandrescu and ”Web Development in D” by Kai
+Nacke. Over the last months he gathered interest in
+Amazon’s Alexa Voice recognition system and IoT in
+general and created an ecosystem that facilitates simple
+development of high-performance Alexa Skills in D.
Johan Engelen is one of the core LDC developers. He is also a D compiler consultant for Weka.io (probably the largest industrial single-executable D codebase) and maintains and adds features to their fork of LDC. While working on LDC, he often studies the compiler output IR and assembly. To aid this, he helped setting up LDC at d.godbolt.org. Examples of his recent contributions to LDC related to optimization are @fastmath, link-time optimization (LTO) and profile-guided optimization (PGO).
+
+
Johan (PhD Electrical Engineering) is assistant professor in the Robotics and Mechatronics (RAM) group at the University of Twente, the Netherlands. In his spare time he has contributed large amounts of work to the open source projects LDC and Inkscape.
I am a generalist programmer, with a good grasp of computer architecture and distributed systems. I started using D early in its life, but I became especially interested in the language when ranges and range-based algorithms were introduced. These STL-inspired facilities made significant progress on a promise that object-oriented programming failed to deliver, and which the STL only delivered to a limited extent: the design and employment of reusable components.
+
+
By training I am a software engineer. By night I wear a cape and dabble in hardware design. A few years ago I bought an FPGA and taught myself hardware design. While FPGAs are super exciting, I found that VHDL and Verilog can sap all the joy out of hardware design. As part of my search for alternatives I found Chisel. While Chisel aimed to do for hardware what D tries to achieve with its design by introspection (create generic yet efficient building blocks), I found the usability of Chisel to suffer due to its life as Scala DSL.
+
+
I have stated before that "whenever possible I choose D for the task -- even for hardware design". This is my attempt to make good on that promise; to bring the Chisel model of hardware design to D, and all the modeling power it has to offer.
Kai Nacke is a professional IT architect. In his spare time he likes to
+develop open source applications. He is the current maintainer of LDC,
+the LLVM-based D compiler, and a committer of the LLVM project. His
+contributions to LDC include ports to different CPU architectures and
+operating systems.
+
+
Besides programming he is also the author of "D Web Development" and a
+speaker at the Free and Open Source Software Developers' European
+Meeting (FOSDEM).
Gerald Nunn is a Senior Middleware Solutions Architect with Red Hat. While his day job has nothing to do with the desktop, GTK or GNOME, he maintains a passion for building GUI applications. His current hobby project is Tilix, a popular tiling terminal emulator for GNOME.
Dmitry Olshansky is a young all-around researcher and software engineer. He's been a long-time D language contributor with the most notable contribution being std.regex and std.uni modules of the standard library. Aside from everything D related his main interests are compilers, text processing, robotics, parallel and concurrent programming, scalable network systems and AI.
Vladimir Panteleev is a D hacker from Moldova. He has been using D since 2006 and contributing to its development since almost as long, and maintains several open-source projects written in D.
Steven Schveighoffer has been using D since 2007, is part of the core druntime and Phobos teams, and has written several D libraries. His contributions, aside from the iopipe library, include a container library (dcollections), rewriting the array runtime, and is the original proposer of the inout type modifier. He has been working on systems ranging from embedded controllers to high-end distributed systems since graduating from WPI. He currently works for National Resource Management in Massachusetts writing internal systems (some using D), and is the organizer for the Boston D language group.
Amaury SECHET is a LLVM committer and the main developer of SDC. After being a software developer at Facebook for four years, he recently started working in the cryptocurrency space.
Eduard is a MSc student and Teaching Assistant at University "Politehnica"
+of Bucharest.
+
+He is a hard working student who enjoys to get his hands dirty. He likes
+learning new technologies and strengthening his current knowledge.
+
+He is passionate about computer science because we get to think about and
+tackle problems that we encounter on a daily basis and we are able to find
+solutions that help other people.
+
+His previous experience includes distributed systems and parallel
+programming, operating systems, basic kernel development, open-source
+software and basic Android programming. He is a Linux fan, a command line
+addict and a vim enthusiast.
+
+He hopes that through his work he will be able to help and improve the D
+language, which he is becoming so fond of.
+
Bastiaan Veelo came to know about D shortly after it was released some sixteen years ago, while trying to write a flex/bison parser for C++ to pretty-print his code in a literate programming report. He found out the hard way that C++ is a pain to parse, and as D advertised with being developed with fast and easy parsing in mind, it quickly got his attention. Since then, he has been following D’s evolution continuously, without the opportunity to use the language professionally. Recently, he has been investing time to change that and help create that opportunity, which has led him to work on parsers once again — this time in D.
+
+
Bastiaan is the lead developer of a specialised program for the computer aided geometric design of ship hulls called Fairway, for the company SARC in the Netherlands. He holds a B.Eng. in naval architecture from the Haarlem Polytechnic, an M.Sc. in marine technology and a Ph.D. in mechanical engineering from NTNU, the Norwegian University of Science and Technology.
Hailing from the fictional land of Australia, Ethan Watson is no stranger to DConf. As a
+senior engine programmer at Remedy Enterainment, he was part of the team responsible for
+shipping Quantum Break. As a speaker, he has presented at DConf, GDC Europe, and
+Reboot Develop. As a person, some might say he likes squirrels just a bit too much but
+they’re objectively wrong. We don’t have squirrels in Australia.
I am a student at Murdoch University, Western Australia, studying for my BEng (Hons)/BSc in Industrial Computer Systems & Instrumentation and Control / Molecular Biology & Biomed. I am currently doing my honours thesis on low cost Electroluminescence imaging of solar cells. I have been using D for 5 years for odd jobs and number bashing.
Duration: 50 minutes
+ Talk type:Keynote
+ Level: All
+
+ Slides:PDF
+ Video
+
+
+
+
Abstract:
+
Over the years, a few programming paradigms have been successful enough to enter the casual vocabulary of software engineers: procedural, imperative, object-oriented, functional, generic, declarative. There's a B-list, too, that includes paradigms such as logic, constraint-oriented, and symbolic.
+
+
+
The point is, there aren't very many of them altogether. Easy to imagine, then, the immensely humbling pressure one must feel when stumbling upon a way to think about writing code that is at the same time explosively productive and firmly removed from any of the paradigms considered canon.
+
+
+
This talk shares early experience with Design by Introspection, a proposed programming paradigm that has enough demonstrable results to be worth sharing. The tenets of Design by Introspection are:
+
+
+
The rule of optionality: Component primitives are almost entirely opt-in. A given component is required to implement only a modicum of primitives, and all others are optional. The component is free to implement any subset of the optional primitives.
+
+
The rule of introspection: A component user employs introspection on the component to implement its own functionality using the primitives offered by the component.
+
+
The rule of elastic composition: A component obtained by composing several other components offers capabilities in proportion with the capabilities offered by its individual components.
+
+
+
These rules, and how to use them to build powerful software, are the topic of this talk.
+
+
+
Speaker Bio:
+
Andrei Alexandrescu coined the colloquial term "modern C++" (adapted
+from his award-winning book Modern C++ Design), used today to describe
+a collection of important C++ styles and idioms. He is also the
+coauthor (with Herb Sutter) of C++ Coding Standards and the author of
+The D Programming Language book. With Walter Bright, Andrei
+co-designed many important features of D and authored a large part of
+D's standard library. His research on Machine Learning and Natural
+Language Processing completes a broad spectrum of expertise. Andrei
+holds a Ph.D. in Computer Science from the University of Washington and
+a B.Sc. in Electrical Engineering from University "Politehnica"
+Bucharest. He works with the D Language Foundation.
+
"-betterC"? "D runtime"? There's been a lot of talk about the
+potential of D to replace C for systems programming. I'll explain what it
+all means, in practical, concrete terms. I'll show what works today, what
+might be possible in the future, and what needs to be done to get there.
+Extended Description: This talk will contain some background theory,
+discussion of different approaches for systems programming in D, and
+highlights of some real projects.
+
+
Speaker Bio:
+
Simon Arneaud is a consultant living in Sydney,
+Australia. He's worked professionally on low-power microcontrollers,
+globally distributed web services, and various things in between.
Duration: 50 minutes
+ Talk type:Keynote
+ Level: All
+
+ Slides:PDF
+ Video
+
+
+
+
Abstract:
+
While memory safe code can be written in any language, it
+has become increasingly obvious that languages need to be
+able to mechanically check memory safety. Errors in memory
+safety are regularly exploited to breach security, and
+is all too commonplace in code that was thought to be secure.
+Relying on best practices and code reviews simply isn't good enough
+anymore.
+
+This presentation is about D's approach to mechanically checking
+for memory safety in a language with pointers.
+
+
Speaker Bio:
+
Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages. He's an expert in all areas of compiler technology, including front ends, optimizers, code generation, interpreter engines and runtime libraries. Walter regularly writes articles about compilers and programming, is known for engaging and informative presentations, and provides training in compiler development techniques. Many are surprised to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30 years after its debut.
Duration: 25 minutes
+ Talk type: Presentation
+ Level: All
+
+ Slides:PDF
+ Video
+
+
+
+
Abstract:
+
Back in 2013, I gave a number of talks in various conferences and meetings
+about GCC, GDB, and the D language support that I had been working on at the
+time. Four years have passed, so what has happened since then?
+I can explain...
+
+
+
Speaker Bio:
+
Iain is an Infrastructure Administrator at Sociomantic Labs. He has been
+contributing to GNU projects since 2009, and is the prinicipal force behind
+the development of the GNU D Compiler (GDC), D language maintainer for the
+GNU Debugger (GDB), and listed maintainer of the GNU Compiler Collection (GCC).
+He passes the time by cycling 200 kilometres on a weekly basis.
+
As with all new programming languages, one of the main
+obstacles the D language faces lies with its adoption by programmers
+coming from other languages. Despite it being arguably advantageous in
+several aspects over classic programming languages such as C or C++,
+many programmers prefer to stick with what they already know. To
+narrow this gap and bring together the best of both worlds, old
+and new, the D language has already the capability of calling any
+functions from the C standard library. The main contribution of this
+project is to extend that and provide full compatibility with the C++
+standard library as well.
+
+
This talk will present the obstacles and challenges faced when
+interfacing the D language with the C++ STL and provide a glimpse into
+a future where D has the full support of the STL behind it.
+
+
Speaker Bio:
+
Alex is a Linux and security enthusiast who spends most of his time
+in Sublime and vim when he isn’t slaying ‘features’ in GDB. Currently
+a Masters student at University Politehnica of Bucharest, Romania,
+Faculty of Automatic Control and Computer Science, studying computer
+and network security. He holds a B.Sc. in Computer Science &
+Engineering. Previous experience includes low-level programming,
+compilers, basic kernel and operating systems development. He first
+started contributing to the Open Source community back in 2012 and has
+been an active member ever since. Alex is currently working on the D
+compiler and runtime environment, tackling the challenge of
+interfacing D with C++.
Array operations in D have their implementation split between bits of
+compiler optimized code and an archaic inheritance hierarchy in DRuntime
+which relies for the most part on the TypeInfo structure.
+Rather than generating from the compiler TypeInfo information and a
+calls to DRuntime functions, this talk explores "lowering" array
+operations to template calls in object.d. We strive to achieve a
+performance improvement by removing the TypeInfo layer of indirection
+and we are making a first step towards a templatized, easy to maintain
+DRuntime.
+
+
Speaker Bio:
+
Lucia Cojocaru is a Masters student at University Politehnica of Bucharest, Romania, Faculty of Automatic Control and Computer Science. Her Bachelor’s degree is on Computer Science Engineering. She is currently studying computer and network security focusing on low-level executable vulnerabilities and operating system security mechanisms.
+Her previous experience includes operating system essentials, basic kernel development, x86 and embedded, microcontroller and FPGA programming, ELF linking and loading exploration and compiler design. She is most proficient with x86 assembly and C, C++, and Java programming languages.
+Lucia is currently working on the D compiler and runtime environment.
+
Duration: 50 minutes
+ Talk type: Presentation
+ Level: Beginner and Intermediate
+
+
+ Video
+
+
+
+
Abstract:
+
When I first laid hands on an Amazon Echo Device
+I expected it to be just another nerd toy. Turns out
+”Alexa” quickly seduced me. It allows me to control
+my digital life using my voice. All computing for this
+happens in the cloud. Much like Apple landed a genius
+coup with opening up the iPhone for third party apps
+Amazon allows devs to write their own skills for Alexa.
+It quickly turned out that D is a great fit for skill
+development out of several reasons like performance
+and productivity. Productivity is important because
+inherently this system has longer iteration times due
+to testing in the cloud. Every bug that can be found at
+compile time saves money and optimizes TTM 1 . Per-
+formance equals money in the cloud since each CPU
+cycle has a cost. D proves to be strong in both areas
+and positions itself as a language with large potential
+in the IoT 2 domain. This talk will present experiences,
+advantages of using D over the alternatives and also
+offers an honest overview of the pain points that need
+to be improved.
+
+
Speaker Bio:
+
Stephan Dilly is the head of engineering at InnoGames.
+With 10 years of professional software development
+experience, he has worked as a consultant and engi-
+neer for top gaming companies including Funatics and
+Ubisoft Bluebyte. Before joining InnoGames, Stephan
+developed games in the front-end and back-end domain
+on titles like ”The Settlers”, ”Tom Clancy’s Endwar”
+and ”Assassin’s Creed Identity”. Now, he focuses on
+front-end technology at InnoGames and shapes the
+strategy for mobile-only games using modern game
+engines. Stephan aka ’Extrawurst’ is an active mem-
+ber in the D community since 2007, he contributed to
+books like ”The D Programming Language” by Andrei
+Alexandrescu and ”Web Development in D” by Kai
+Nacke. Over the last months he gathered interest in
+Amazon’s Alexa Voice recognition system and IoT in
+general and created an ecosystem that facilitates simple
+development of high-performance Alexa Skills in D.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: Intermediate and Advanced
+ Code samples
+ Slides:PDF
+ Video
+
+
+
+
Abstract:
+
Discussions about the performance of code fragments pop up regularly on the dlang forums. Why is this much faster than that? Does `immutable` make my code faster? Is a range-based loop faster than a normal loop? Without understanding the LDC optimization process and capabilities, it's not so easy to do good performance measurements and comparisons; the discussions often lack good data.
+
+
Using Matt Godbolt's D compiler explorer, I will live demonstrate and explain the optimized LDC assembly output for basic D code patterns. Common pitfalls and how to avoid them will be discussed. A small selection of topics: virtual functions, Voldemort types, aggregate comparisons, when does immutable/const matter?, inline assembly, ranges or for-based iteration. The results are often surprising, so for extra fun, I'll poll the audience before showing the assembly output. After this talk, you'll be better prepared for the next forum.dlang.org performance thread.
+
+
Takeaway points: have a better understanding of the zero/non-zero runtime costs of certain D constructs, awareness of common pitfalls and useful tools for analyzing why a certain piece of code is/isn't performant.
+
+
Speaker Bio:
+
Johan Engelen is one of the core LDC developers. He is also a D compiler consultant for Weka.io (probably the largest industrial single-executable D codebase) and maintains and adds features to their fork of LDC. While working on LDC, he often studies the compiler output IR and assembly. To aid this, he helped setting up LDC at d.godbolt.org. Examples of his recent contributions to LDC related to optimization are @fastmath, link-time optimization (LTO) and profile-guided optimization (PGO).
+
+
Johan (PhD Electrical Engineering) is assistant professor in the Robotics and Mechatronics (RAM) group at the University of Twente, the Netherlands. In his spare time he has contributed large amounts of work to the open source projects LDC and Inkscape.
The D conference will not end after the three days of talks but continue on into Sunday for a hackathon during which people can collaboratively focus on long-lasting problems and pain points in the D ecosystem. Of course, any D hackers who wish to simply progress their own personal projects are welcome too! The hackathon will take place at the same venue (Heimathafen).
+
+
The motivation for adding a D ecosystem hackathon (besides having fun) is that a lot of time is wasted due to communication latency because most people can only hack during the night or weekends. At last year’s DConf, the “birds of feather” groups were intended to reduce this communication problem, but sadly the scheduling didn’t quite provide enough time. Thus, the DConf 2017 hackathon isn't a hackathon in the traditional sense as most of the time and focus will hopefully be spent discussing, planning and developing future D projects.
+
+
You can find a list of themes with a short abstract and ideas at this document.
+ More detailed information about the hackathon can be found on this document as well.
The D conference will not end after the three days of talks but continue on into Sunday for a hackathon during which people can collaboratively focus on long-lasting problems and pain points in the D ecosystem. Of course, any D hackers who wish to simply progress their own personal projects are welcome too! The hackathon will take place at the same venue (Heimathafen).
+
+
The motivation for adding a D ecosystem hackathon (besides having fun) is that a lot of time is wasted due to communication latency because most people can only hack during the night or weekends. At last year’s DConf, the “birds of feather” groups were intended to reduce this communication problem, but sadly the scheduling didn’t quite provide enough time. Thus, the DConf 2017 hackathon isn't a hackathon in the traditional sense as most of the time and focus will hopefully be spent discussing, planning and developing future D projects.
+
+
You can find a list of themes with a short abstract and ideas at this document.
+ More detailed information about the hackathon can be found on this document as well.
Two parts: The first is me talking about my experience,
+writing the engine. The second goes into deeper technical
+detail explaining the trade-offs, and design decisions.
+
+
What is CTFE and what can it be used for?
+
Examples std.regex and sqlite-d.
+
Show how the utility of ctfe is not just in the big things but
+the simple convenience of assigning cos(viewAngle) to a
+static immutable variable.
+
Example: the newCTFE-Engine is ctfeable itself so the
+compiler itself will not compile if the bytecode-tests fail.
+
Discussion of the old Engine, pointing out why it is
+suboptimal.
+
Exposition of different interpretation models:
+
AST-Interpreter.
+
ByteCode-Interpreter (and its extension to JIT).
+
+
Overview: of the newCTFE Codegen-API
+Explanation of rationale; Backends are pluggable via a
+template parameter.
+Showing 2 back-ends
+BC-Interpreter
+DebugPrinter-Backend.
+
Explaining the design of the BC-Interpreter
+Showing the 10x performance improvements as a live demo.
+
Explanation of the intricacies of Code-Generation.
+“2 Months of Development. 6 Months of Debugging”.
+
Status of what the engine can currently compile.
+
Future outlook and showing the 50x Improvement using
+pseudo-JIT.
+
Acknowledgements.
+
+
+
Speaker Bio:
+
25 Years old.
+
Programing since the age of 7.
+
Begun using D in 2013 while working on the SDC-Compiler.
+
Wrote a CTFE reader for Sqlite3-Databases in 2015.
+
Working on the new CTFE-Engine and other DMD
+improvements since July 2016.
With the slowdown of Moore's law, there has been an increased interest in augmenting the computing power of the CPUs found in data centers with more parallel and energy-efficient alternatives, such as GPUs, FPGAs and ASICs. While replacing general-purpose CPUs with specialized hardware accelerators can provide order-of-magnitude improvements in computing power and energy efficiency, designing custom hardware is still a daunting task, impaired by archaic tools and a culture that has failed to appreciably raise the level of abstraction.
+
+
This talk presents DHDL, a D language extension and library for constructing digital hardware. By leveraging the strong modeling power of D, DHDL facilitates the design of parameterized hardware blocks. This flexibility promotes reuse, thereby increasing the hardware designer's productivity; it also decreases the rigidity of the designs, allowing for an easier exploration of the design-space or the accommodation to new requirements.
+
+
The talk will go over several topics that will help the audience members start to design their own hardware accelerators or FPGA-based embedded systems:
+
+
Overview of digital electronics and common logic building blocks
+
+
Quick overview of VHDL and Verilog, and their limitations
+
+
The DHDL hardware description model:
+
Built-in data types and their semantics
+
Expressing combinational circuits using D operators
+
Maintaining state with registers
+
The semantics of assignment and concurrent execution
+
Grouping logic into hardware blocks
+
+
How D helps in designing generic hardware blocks and interfaces
+
+
Testing and deployment into FPGAs
+
+
+
These topics will be presented in the context of a complete system, including:
+
+
IO: How to use common IO interfaces (e.g. UARTs), such that you can:
+
Get the data in and out of your hardware accelerators
+
Communicate with the outside world in your embedded systems
+
+
Memory: How to use different types of memory, including:
+
FPGA block memory
+
FPGA distributed memory
+
Synchronous DRAM
+
+
Computation:
+
Brief overview of architecture and ISA design
+
Microarchitecture and achieving timing closure
+
+
+
+
Speaker Bio:
+
I am a generalist programmer, with a good grasp of computer architecture and distributed systems. I started using D early in its life, but I became especially interested in the language when ranges and range-based algorithms were introduced. These STL-inspired facilities made significant progress on a promise that object-oriented programming failed to deliver, and which the STL only delivered to a limited extent: the design and employment of reusable components.
+
+
By training I am a software engineer. By night I wear a cape and dabble in hardware design. A few years ago I bought an FPGA and taught myself hardware design. While FPGAs are super exciting, I found that VHDL and Verilog can sap all the joy out of hardware design. As part of my search for alternatives I found Chisel. While Chisel aimed to do for hardware what D tries to achieve with its design by introspection (create generic yet efficient building blocks), I found the usability of Chisel to suffer due to its life as Scala DSL.
+
+
I have stated before that "whenever possible I choose D for the task -- even for hardware design". This is my attempt to make good on that promise; to bring the Chisel model of hardware design to D, and all the modeling power it has to offer.
Duration: 50 minutes
+ Talk type:Keynote
+ Level: All
+
+ Slides:PPTX
+ Video
+
+
+
+
Abstract:
+
In the 45+ years since Scott Meyers wrote his first program, he’s played
+many roles: programmer, user, educator, researcher, consultant.
+Different roles beget different perspectives on software development,
+and so many perspectives over so much time have led Scott to strong
+views about the things that really matter. In this presentation,
+he’ll share what he believes is especially important in software and
+software development, and he’ll try to convince you to embrace the same
+ideas he does.
+
+
Speaker Bio:
+
Scott Meyers started programming in 1971, and he started teaching
+programming in 1972. He’s best known for his Effective C++ books, but
+he’s also worked on constraint expression for programming languages,
+program representations in development environments, software
+simulations of bacteriophage lambda, general principles for improving
+software quality, and the effective presentation of technical
+information. In 2009, he received the Dr. Dobb’s Excellence in
+Programming Award, and in 2014, an online poll likened his hair style
+to that of the cartoon character, He-Man.
In the last year, LDC, the LLVM-based D compiler, got some exciting
+additions like profile guided optimization and link time optimization.
+In this talk I present what the LDC team has achieved since last DConf.
+A lot of development around LDC is ongoing. I show on which topics
+people are currently working and give a status update on two of my pet projects:
+moving more compiler source from C++ to D and addition of the
+ucent data type.
+
+
Speaker Bio:
+
Kai Nacke is a professional IT architect. In his spare time he likes to
+develop open source applications. He is the current maintainer of LDC,
+the LLVM-based D compiler, and a committer of the LLVM project. His
+contributions to LDC include ports to different CPU architectures and
+operating systems.
+
+
Besides programming he is also the author of "D Web Development" and a
+speaker at the Free and Open Source Software Developers' European
+Meeting (FOSDEM).
Since the D language has started gaining the attention of companies
+and programming communities, a critical factor for the success of the
+language is the existence of tools which minimize the effort of developing
+programs. Such tools are: style checkers, code formatters, syntax highlighters,
+auto-completion, automated refactoring etc. All these tools share the fact that
+they need to access certain parts of the compiler in order to do their job.
+Although the code of the compiler is open source and anyobody that wants to
+build such a tool can simply extract the part of the compiler that he/she
+needs, this solution is time consuming since the compiler is poorly documented
+and the code complexity is rather high.
+
+
The alternative solution is to provide a D language compiler as a library. This
+approach encourages tool developers by taking some work off their plate and imposes
+a structure on the currently chaotic organization of the code base.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: Beginner to Intermediate
+
+ Slides:PDF · PPTX
+ Video
+
+
+
+
Abstract:
+
D is an ideal language to use for building GTK applications. This talk will explore why it is a good fit in comparison to other languages based on the experience of the speaker writing Tilix, a popular terminal emulator for Gnome.
+
+
When writing GTK applications there is currently a gap between compiled languages, which are often low productivity and difficult to learn, and scripting languages which are easier to learn but lack performance, static typing and other features that developers often prefer.
+
+
Vala was intended by GNOME to fill this gap but it is not well maintained and it's future looks bleak. In my opinion D is a perfect replacement for Vala as it occupies a unique sweet spot for building GUI applications and, in particular, GTK Linux applications.
+
+
This talk will focus on the following topics:
+
Yes Matilda, desktop GUI applications are still relevant today
+
What is GTK in a single slide
+
Surveying the current options for building GTK applications (C, C++, Python, Javascript, Vala and Rust)
+
Why choose D over other options?
+
Summary of experience writing Tilix including:
+
How D makes Tilix better
+
Best practices for writing D GTK applications
+
Lessons learned
+
+
+
The future and a call to action
+
+
+
Speaker Bio:
+
Gerald Nunn is a Senior Middleware Solutions Architect with Red Hat. While his day job has nothing to do with the desktop, GTK or GNOME, he maintains a passion for building GUI applications. His current hobby project is Tilix, a popular tiling terminal emulator for GNOME.
Showing off how easy it is to create high performance parser generator library in the D programming language. The focus is on key enabling language features such as powerful compile-time features, UFCS for fluent DSL-style interface, CTFE for enabling true DSL - grammars. The motto of the talk is the beauty and power in the small, most code snippets are going to be short 1:1 expositions of the original library. Of course, expect some benchmarks and comparisons.
+
+
Ever since std.regex work has landed in Phobos the author sought out to continue on to the next level - parser generators. The journey to the parsers was long postponed by real life and continuous work on std.regex. One of great displeasures with regex is that they are both under-powered (regular!) and needlessly complicated with all of backreferences, lookaround, greedy operators vs lazy operators and whatnot. Speaking of compile-time regex - it was a brilliant hack on top of existing (complex) infrastructure that while largely successful left a sour taste in the mouth. This brings us to the point where the burning desire for something simpler, more powerful and elegantly constructed comes to fruition.
+
+
The talk showcases the internals of Pry - a new pragmatic parser combinator library written in D. The pragmatism here implies high performance and pay as you go principle. If there is anything that std.regex taught me is that performance is everything, there should be no reason to go and write parser by hand. But performance need not to be complex or ugly, in fact it's one point of the talk that simple and elegant could be fast.
+
+
The library is organized in two layers - parser combinator (lower) layer and PEG grammar (higher) layer, each is designed to be usable by the end user. Each layer relies on unique abilities of D - parser combinators heavily rely on compile-time type manipulations and UFCS, PEG grammar layer runs full-blown parser at compile-time using CTFE.
+
+
Lastly the talk will follow through some practical examples with benchmarks and closing thoughts of future directions.
+
+
Speaker Bio:
+
Dmitry Olshansky is a young all-around researcher and software engineer. He's been a long-time D language contributor with the most notable contribution being std.regex and std.uni modules of the standard library. Aside from everything D related his main interests are compilers, text processing, robotics, parallel and concurrent programming, scalable network systems and AI.
Duration: 50 minutes
+ Talk type:Panel
+ Level: All
+
+
+ Video
+
+
+
+
Abstract:
+
Various topics...
+
+
Speaker Bio:
+
Andrei Alexandrescu coined the colloquial term "modern C++" (adapted
+from his award-winning book Modern C++ Design), used today to describe
+a collection of important C++ styles and idioms. He is also the
+coauthor (with Herb Sutter) of C++ Coding Standards and the author of
+The D Programming Language book. With Walter Bright, Andrei
+co-designed many important features of D and authored a large part of
+D's standard library. His research on Machine Learning and Natural
+Language Processing completes a broad spectrum of expertise. Andrei
+holds a Ph.D. in Computer Science from the University of Washington and
+a B.Sc. in Electrical Engineering from University "Politehnica"
+Bucharest. He works with the D Language Foundation.
+
+
+
Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages. He's an expert in all areas of compiler technology, including front ends, optimizers, code generation, interpreter engines and runtime libraries. Walter regularly writes articles about compilers and programming, is known for engaging and informative presentations, and provides training in compiler development techniques. Many are surprised to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30 years after its debut.
+
+
Scott Meyers started programming in 1971, and he started teaching
+programming in 1972. He’s best known for his Effective C++ books, but
+he’s also worked on constraint expression for programming languages,
+program representations in development environments, software
+simulations of bacteriophage lambda, general principles for improving
+software quality, and the effective presentation of technical
+information. In 2009, he received the Dr. Doob’s Excellence in
+Programming Award, and in 2014, and online poll likened his hair style
+to that of the cartoon character, He-Man.
This talk covers some of the author's experience with one of D's most prominent features, meta-programming. Discussed are ways to leverage D's metaprogramming capabilities for tasks such as parsing file formats, serialization, image and video editing, game modding, and general data processing. Covered techniques include compile-time introspection, code generation, COM instrumentation, alias binding, DSLs, and general template metaprogramming. The talk also includes a few modest language improvement proposals.
+
+
Speaker Bio:
+
Vladimir Panteleev is a D hacker from Moldova. He has been using D since 2006 and contributing to its development since almost as long, and maintains several open-source projects written in D.
Buffered I/O has been used effectively in software and hardware for many decades, allowing I/O systems to hide the latency that typically happens when one is reading or writing data. However, buffers provide another feature: allowing mass processing of data in-place. The iopipe library is a high-performance buffering subsystem, written entirely in D, which alleviates much of the need to copy or manage data for processing. It’s API also allows for easy chaining of processors to create customized pipelines for data processing.
+
+
D’s standard I/O subsystem from Phobos is built upon C’s standard I/O subsystem. While this is a perfectly reasonable choice with good benefits, it means we are restricted to only what C provides us. In terms of performance and flexibility, this isn’t much. The API provides no mechanism for context-specific processing of data, and poor management of the underlying buffer. About the only thing it does do well (and does very well) is fetching data one line at a time. However, even this we can beat with some well written optimized D code. I’ll go over the features and benefits of using buffers directly, and provide some performance metrics and code examples that show why doing this the “D” way is faster, easier to write, and easier to customize. I will show how the iopipe system allows for parsers that need very little user-level memory management, and can provide unlimited range-like flexibility for input sources. Finally, I’ll showcase the interesting approach iopipe takes with buffered output.
+
+
Speaker Bio:
+
Steven Schveighoffer has been using D since 2007, is part of the core druntime and Phobos teams, and has written several D libraries. His contributions, aside from the iopipe library, include a container library (dcollections), rewriting the array runtime, and is the original proposer of the inout type modifier. He has been working on systems ranging from embedded controllers to high-end distributed systems since graduating from WPI. He currently works for National Resource Management in Massachusetts writing internal systems (some using D), and is the organizer for the Boston D language group.
"Don't roll your own crypto" may be one of the most common advice a programmer will get when asking about crypto. No matter how many time this is repeated, this advice proved as effective as telling teenagers to practice abstinence. This talk intends instead to provide developers with an understanding of major concepts in cryptography and a set of advice on how to implement and use these safely.
+
+
The talk will be a tour of major symmetric cryptographic tools such as finite fields, hash functions, block and stream cyphers, and describe how to use them to create confidentiality, integrity and authenticity.
+
+
Implementing these techniques safely is a much harder task than it may seems at first. This talk will discuss how to create fast, yet secure implementations by using techniques protecting against side channel attacks and why a system level programming language such as D is necessary to do so.
+
+
The talk will then move on to public key cryptography using elliptic curve. Diffie-Hellman, digital signatures, ring signatures, hierarchical key derivation and homomorphic commitment will be explained. If these words sounds like gibberish to you, you are at the right place.
+
+
Once again, safe and fast implementation techniques will be discussed.
+
+
If time allows, we'll discuss how these techniques are used to secure cryptocurrencies.
+
+
Speaker Bio:
+
Amaury SECHET is a LLVM committer and the main developer of SDC. After being a software developer at Facebook for four years, he recently started working in the cryptocurrency space.
This project aims to offer a new framework of generic collections that provide an API similar to Ranges, thus making them compatible with algorithms provided by the D Standard Library.
+
+
Each collection has support for custom memory allocation and is capable of managing its own memory through reference counting. The collections also offer good support for immutability and ensure safety wherever possible, safety only being conditioned by the contained type.
+
+
Speaker Bio:
+
Eduard is a MSc student and Teaching Assistant at University "Politehnica"
+of Bucharest.
+
+He is a hard working student who enjoys to get his hands dirty. He likes
+learning new technologies and strengthening his current knowledge.
+
+He is passionate about computer science because we get to think about and
+tackle problems that we encounter on a daily basis and we are able to find
+solutions that help other people.
+
+His previous experience includes distributed systems and parallel
+programming, operating systems, basic kernel development, open-source
+software and basic Android programming. He is a Linux fan, a command line
+addict and a vim enthusiast.
+
+He hopes that through his work he will be able to help and improve the D
+language, which he is becoming so fond of.
+
Pegged is an elegant library for generating packrat parsers in D. Packrat parsers are parsers for parsing expression grammars (PEGs) that operate in guaranteed linear time through the use of memoization. PEGs are an alternative to context free grammars for formally specifying syntax, and have been gaining in popularity during the last decade. PEG parsers are top-down recursive descent parsers.
+
+
The Pegged implementation showcases many features of D, and has come out as a far more elegant product than similar implementations in other languages. Its use is beautifully simple, and its implementation comprehensible to outsiders. Due to D’s powerful template system and compile time function evaluation, it is even possible — within the same source file — to define a simple grammar and some input string, have the compiler generate a parser at compile time, parse the input at compile time and use the result right there at compile time, if you need to. The Pegged project was started by Philippe Sigaud in 2012.
+
+
The traditional PEG formalism is very effective for small grammars and new grammar designs, but has some limitations that make it unsuitable for generating parsers for certain existing more complex languages. This talk presents how these limitations were successfully eliminated from Pegged, most notably by implementing discoveries from recent research on left-recursive PEGs. At the same time, this talk is a demonstration that the D programming language and its community are attractive to non-computer scientists. Because the motivation for this effort is not scientific curiosity, but the pragmatic need of a bunch of programming naval architects to translate their extensive design software from an archaic and dying programming language to a language with future; and that language might as well be D.
+
+
Speaker Bio:
+
Bastiaan Veelo came to know about D shortly after it was released some sixteen years ago, while trying to write a flex/bison parser for C++ to pretty-print his code in a literate programming report. He found out the hard way that C++ is a pain to parse, and as D advertised with being developed with fast and easy parsing in mind, it quickly got his attention. Since then, he has been following D’s evolution continuously, without the opportunity to use the language professionally. Recently, he has been investing time to change that and help create that opportunity, which has led him to work on parsers once again — this time in D.
+
+
Bastiaan is the lead developer of a specialised program for the computer aided geometric design of ship hulls called Fairway, for the company SARC in the Netherlands. He holds a B.Eng. in naval architecture from the Haarlem Polytechnic, an M.Sc. in marine technology and a Ph.D. in mechanical engineering from NTNU, the Norwegian University of Science and Technology.
Remedy’s rapid-iteration framework has gone open-source, and on top of that it’s being
+pushed into a production environment with an unconventional userbase for compiled code -
+scripters. This talk will cover the challenges involved in creating a middleware for immediate
+use in a production environment; how it provides the backbone to replace scripting in a
+traditional sense; and design considerations required when your userbase can’t be shrugged
+off by saying, “They’re programmers, they can deal with a restrictive or unintuitive API.”
+
+
Speaker Bio:
+
Hailing from the fictional land of Australia, Ethan Watson is no stranger to DConf. As a
+senior engine programmer at Remedy Enterainment, he was part of the team responsible for
+shipping Quantum Break. As a speaker, he has presented at DConf, GDC Europe, and
+Reboot Develop. As a person, some might say he likes squirrels just a bit too much but
+they’re objectively wrong. We don’t have squirrels in Australia.
Following John Colvin’s 2016 DConf talk about easing the pain of using OpenCL, I thought: we have a compiler that targets LLVM (LDC) and LLVM targets SPIR-V & (while I’m at it) NVPTX, how hard can it be?
+
+
The results are modifications to LDC to allow code generation for use with the OpenCL and CUDA compute APIs, and a set of libraries (under development) to provide a D wrapping for more convenient writing and invocation of kernels written in D, opening up exciting new frontiers for D.
+
+
This talk will cover: the modifications made to LDC to support SPIR-V and NVPTX code generation; a guide for using these modifications and libraries, and; why D is uniquely positioned to bring its pillars of “Convenience, Modelling power and Efficiency” to the world of heterogeneous computing and their unwieldy APIs, through it’s powerful template system and introspective capabilities.
+
+
From watching this talk I expect attendees to know how to go about writing and invoking kernels for offloading computationally intensive workloads, all in D!
+
+
Speaker Bio:
+
I am a student at Murdoch University, Western Australia, studying for my BEng (Hons)/BSc in Industrial Computer Systems & Instrumentation and Control / Molecular Biology & Biomed. I am currently doing my honours thesis on low cost Electroluminescence imaging of solar cells. I have been using D for 5 years for odd jobs and number bashing.
DConf 2018 has successfully concluded. The D Language Foundation extends their gratitude to our partners, our supporters, and all of the attendees, for helping us pull off another successful event. We look forward to doing it again next year!
+
+
+
The D Language Foundation is pleased to announce the international conference and hackathon DConf 2018 in Munich, Germany, May 2-5 2018.
+
+
DConf is the main face-to-face event for everyone in the D programming language community and anyone who wants to know what all the fuss is about. We are proud to be hosted by our partner QA Systems through the organizational expertise of HLMC.
+
+
Munich is a hotbed of systems and embedded software with a strong and vibrant programmer community. If you use the public transportation system, beware! The passenger information software is written in D by local company Funkwerk AG.
+
+
We are featuring growth and outreach as a special theme this year - if you have any friends who could benefit from learning more about the D programming language, let them know!
+
+
Keynote Speakers
+
We are happy to be hosting the creator of the Scala programming language, Martin Odersky, as our invited keynote speaker. He'll be joining our regular keynote speakers, Walter Bright and Andrei Alexandrescu. They each will kick off a day of the conference, followed by a strong line up of presentations from members of the D community.
+
+
+
+
+
Walter Bright
+
+
+
+
+
Andrei Alexandrescu
+
+
+
+
+
Martin Odersky
+
+
+
+
+
Hackathon
+
Building on the success of the past year's hackathon, we are happy to announce a day-long Hackathon on Saturday, May 5th. The day is largely unstructured, but we expect birds-of-a-feather groups to materialize naturally. This year, we've got an extra talk to start us off and it's open to the public free of charge. So if you're in the area and can't get to the full conference, we warmly invite you to join us. Bring your laptop and your enthusiasm!
+
+
Sponsorship
+
Sponsorship packages are available. For details, please direct queries to Franziska Mai (f.mai@hlmc.de) or Gerhard Versteegen (g.versteegen@hlmc.de).
+
+
Important Dates
+
Submission deadline
+
February 25, 2018, 24:00 AOE
+
+
Author notification
+
March 17, 2018, 24:00 AOE
+
+
Early bird registration deadline
+
March 17, 2018, 24:00 AOE
+
+
Registration deadline
+
TBD
+
+
Conference
+
Wednesday May 2–Friday May 4, 2018
+
+
Hackathon
+
Saturday May 5, 2018
+
+
+
Summary trailer from DConf 2016
+
For a taste of what DConf is all about, check out this video from the Sociomantic, the hosts of the 2016 & 2017 editions in Berlin.
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/2018/registration.html b/docs/2018/registration.html
new file mode 100644
index 00000000..e036d223
--- /dev/null
+++ b/docs/2018/registration.html
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+The D Programming Language Conference 2018
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Registration
+
Munich is a hotbed of systems and embedded software with a strong and vibrant programmer community, including lots of D programmers. It's the perfect place for DConf 2018. We'd love for you to join us!
+
+
The general registration fee is $400. Please follow one of the following links to register. If you attended DConf 2017, we want to welcome you back with open arms. For you, the price is $340! To obtain the discount, please send an email to social@dlang.org requesting the 2017 Attendee Discount. Be sure to include the email address you used when you registered last year.
+
+
If you've never attended any of the past editions of DConf and want to know what you're buying into, you can take a gander at the talk videos from DConfs past: 2017,
+2016,
+2015,
+2014, and
+2013. You're getting
+fantastic value not only in terms of strong content, but also access to industry luminaries, a welcoming and enthusiastic community, and a lasting boost of inspiration for your work.
+
+
Live in the vicinity but can't attend the full conference? We've got you covered. Join us for the Hackathon on May 5th completely free of charge for a day of hacking on D code, kicked off by an extra presentation!
+
+
Registration proceeds remaining after conference-related expenses are covered will go to the D Language Foundation. Your payment will be used transparently to foster understanding and adoption of the D programming language.
+
+
For corporate sponsorship packages, please direct queries to Franziska Mai (f.mai@hlmc.de) or Gerhard Versteegen (g.versteegen@hlmc.de).
+
Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages. He's an expert in all areas of compiler technology, including front ends, optimizers, code generation, interpreter engines and runtime libraries. Walter regularly writes articles about compilers and programming, is known for engaging and informative presentations, and provides training in compiler development techniques. Many are surprised to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30 years after its debut.
Andrei Alexandrescu coined the colloquial term "modern C++" (adapted from his award-winning book Modern C++ Design), used today to describe a collection of important C++ styles and idioms. He is also the coauthor (with Herb Sutter) of C++ Coding Standards and the author of The D Programming Language book. With Walter Bright, Andrei co-designed many important features of D and authored a large part of D's standard library. His research on Machine Learning and Natural Language Processing completes a broad spectrum of expertise. Andrei holds a Ph.D. in Computer Science from the University of Washington and a B.Sc. in Electrical Engineering from University "Politehnica" Bucharest. He works with the D Language Foundation.
+
Martin Odersky is the inventor of the Scala language, a professor at EPFL in Lausanne, Switzerland, and a founder of Lightbend. His work concentrates on the fusion of functional and object-oriented programming. He believes the two paradigms are two sides of the same coin, to be unified as much as possible. To prove this, he has worked on a number of language designs, from Pizza to GJ to Functional Nets. He was named an ACM fellow for his achievements in this area. He has also influenced the development of Java as a co-designer of Java generics and as the original author of the current javac reference compiler.
+
Igor Česi is a senior programmer at Ubisoft Paris studio where he helped making 10+ games including multiple titles in Ghost Recon and Just Dance franchises. The latest game he participated in making is Mario+Rabbids Kingdom Battle. He's been programming in C++ for the last 20 years. After following D from a 'distance' for many years and thanks to guys from Remedy Entertainment who proved that D on gaming consoles is possible, he is trying to introduce the D language to programming teams in Ubisoft Paris studio.
+
Jonathan M Davis is the primary author of std.datetime and one of Phobos' core contributors. He is a professional developer and has experience in a number of programming languages, including C++, Haskell, Java, and D. For better or worse, he's well known in the D community for answering questions and being long-winded. He currently resides in Utah.
+
Jon Degenhardt is a senior member of eBay's Search Science team. He has been working on search engines for the last decade, both on the core search engine as well as the data science driving recall and ranking. His work includes substantial involvement in search engine performance. He started programming in D in late 2015.
+
Stephan Dilly is the head of engineering at InnoGames. With over 10 years of professional software developmentexperience, he has worked as a consultant and engineer for top gaming companies including Funatics and Ubisoft Bluebyte. Before joining InnoGames, Stephan developed games in the front-end and back-end domain on titles like "The Settlers", "Tom Clancy’s Endwar" and "Assassin’s Creed Identity". Now, he focuses on front-end technology at InnoGames and shapes the strategy for mobile-only games using modern game engines. Stephan aka ’Extrawurst’ is an active member in the D community since 2007, he contributed to books like "The D Programming Language" by Andrei Alexandrescu and ”Web Development in D” by Kai Nacke.
+
Johan Engelen is one of the core LDC developers. He is also a D compiler consultant for Weka.io (probably the largest industrial single-executable D codebase) and maintains and adds features to their fork of LDC. While working on LDC, he often studies the compiler output IR and assembly. To aid this, he helped setting up LDC at d.godbolt.org. Examples of his recent contributions to LDC related to LLVM functionality are: fuzzing with libFuzzer, better AddressSanitizer support, and IR-based PGO. Johan (PhD Electrical Engineering) is assistant professor in the Robotics and Mechatronics (RAM) group at the University of Twente, the Netherlands. His software engineering skills stem largely from participating in open source communities such as Inkscape, LLVM, Dlang, and LDC.
+
Alex is currently a MSc student and teaches “Operating Systems" at the Polytechnic University of Bucharest. He has a strong interest in low level programming and for the past couple of months he has been working on D’s experimental allocators. In order to build a stronger D
+community at his university, part of his efforts go to helping several students bring their contributions to the language.
+
Mario Kröplin is a software architect at the German company Funkwerk. At the location near Munich, Funkwerk develops passenger
+information systems, which are in operation at railway companies throughout Europe. In 2008 they started using D and since then,
+D has been the means of choice for all new development. Mario (linkrope) is also the author of D tools and frameworks that are
+in daily use at Funkwerk.
+
Dr. Vang Le focused on physics during his high-school years, but spent his university career in molecular biology. Computer science and programming were always a secret hobby. He got a Postdoc job in Denmark which required both molecular biology and computer science. This gave birth to a full-time bioinformatician job where he openly combine his passions for computer science and curiosity for living things. He currently works in Aalborg University Hospital as a clinical bioinformatician, where he is key in establishing bioinformatic infrastructure and routine analysis workflows to deal with the great amount of data from next generation sequencing (NGS) machines. He has great opportunities to set up computer clusters for storage and computation and to learn many cutting edge technologies. He sees D as a great alternative to C and C++ and predicts it will one day enjoy a level of popularity (particularly in bioinformatics) comparable to C, C++, Java, or Python.
+
Jean-Louis Leroy is the author of the openmethods module. He got his first taste of programming from a HP-25 calculator. His first real programming language was Forth, where CTFE is pervasive. Later he programmed (a little) in Lisp and Smalltalk, and (a lot) in C, C++, and Perl. He now works for Bloomberg LP in New York. His interests include object-relational mapping, open multi-methods, DSLs, and language extensions in general.
+
I am a generalist programmer, with a good grasp of computer architecture. I have always been interested in the design of clean solutions for difficult programming problems, but there is something to be said about just bashing the problem in the head with some systems programming. In any case, the number of CPU cycle casualties has decreased dramatically since we introduced our unit of tactical rangers, generic ammunition and mental training by introspection.
+
Kai Nacke is a professional IT architect. In his spare time he likes to develop open source applications. He is the current maintainer of LDC, the LLVM-based D compiler, and a committer of the LLVM project. His contributions to LDC include ports to different CPU architectures and operating systems. Another interest of him is using D for business applications. He is the developer of the D bindings for SAP. Besides programming he is also the author of "D Web Development" and a speaker at the Free and Open Source Software Developers' European Meeting (FOSDEM).
+
Razvan Nitu is a PhD student and teaching assistant at University POLITEHNICA of Bucharest, Romania. He is passionate about compilers and operating systems and talking about himself is not one of his skills.
+
Dmitry Olshansky is a young all-around researcher and software engineer. He's been a long-time D language contributor with his most notable contributions being the std.regex and std.uni modules of the standard library. Aside from everything D-related, his main interests are compilers, runtimes, text processing, parallel and
+concurrent programming, scalable network systems and AI.
+
Stefan Rohe is thrilled about Clean D Code and transformed Funkwerk into a D-shop by introducing D into green- and brownfield projects. Funkwerk being the first commercial adopter of D makes Stefan is the first commercial D programmer. Next to his work at Funkwerk he organizes the local community.
+
Steven Schveighoffer has been hacking on D since 2007. He has numerous contributions to Phobos and Druntime, including the array runtime, and has written dcollections (a container library), and iopipe (a high-performance i/o pipeline library). He currently works at National Resource Management, in Massachusetts, where he is working on the subject of this talk — a hybrid php/vibe.d application that tracks sales and installations for the company (along with some other things).
+
Shachar (that's me) has been a programmer for over 3 decades. His experience includes heading Check Point's security response team, being a core developer on LiveU's video streaming device, and helping porting Akamai's code into a more modern software architecture. In between, Shachar has also worked on several open source projects, authoring such joys as rsyncrypto and fakeroot-ng, as well as such abominations as sshpass. Shachar even has credit for a one-liner in the vanilla Linux kernel, which still officially makes him a "Linux kernel contributer".
+
+
+
For the past 3½ years Shachar has been a D programmer at Weka.io, first writing its RAID subsystem, and recently fully engaged with the Mecca effort.
+
Eduard is a MSc student and Teaching Assistant at University "Politehnica" of Bucharest. He is a hard working student who enjoys to get his hands dirty. He likes learning new technologies and strengthening his current knowledge. He is passionate about computer science because we get to think about and tackle problems that we encounter on a daily basis and we are able to find solutions that help other people. His previous experience includes distributed systems and parallel programming, operating systems, basic kernel development, open-source software and basic Android programming. He is a Linux fan, a command line addict and a vim enthusiast. He hopes that through his work he will be able to help and improve the D language, which he is becoming so fond of.
+
Back for round 3 at DConf, Ethan Watson is coming in without an employer. Having quit his job before the new year, he has spent some time in his fictional homeland of Australia (a land without squirrels must be fictional after all) working on his future career prospects. As a seasoned game developer with 15 years of experience across multiple platforms, he has also presented at GDC Europe and Reboot Develop.
+
Liran Zvibel is the Co-founder and CTO of WekaIO, the fastest and most scalable file system implemented in D. Prior to that he was the Co-Founder and VP R&D of Fusic, a video processing mobile/web based startup. Prior to that Liran was at XIV Storage (acquired by IBM in 2007) doing several architectural and leadership roles. Prior to that Liran served 6 years at the IDF, technologically leading a project that was awarded the most prestigious Israeli Defense Award, reaching a rank of Captain. Liran received his B.Sc. in Mathematics and Computer Sciences from the Tel Aviv University at the age of 18.
+
Duration: 50 minutes
+ Talk type:Keynote
+ Level: All
+
+ Slides:PDF
+ Video
+
+
+
+
Abstract:
+
There has been increasing interest in using static introspection as an enabling technology in the D language. However, the primitives provided - some built-in, some available in library form - could be organized more systematically to allow simple, natural use that can be immediately understood and easily maintained. This talk is a vision of an integrated library-based approach to static introspection that makes short work of some traditional challenges, and more importantly enables new, complex uses.
+
+
+
Speaker Bio:
+
Andrei Alexandrescu coined the colloquial term "modern C++" (adapted from his award-winning book Modern C++ Design), used today to describe a collection of important C++ styles and idioms. He is also the coauthor (with Herb Sutter) of C++ Coding Standards and the author of The D Programming Language book. With Walter Bright, Andrei co-designed many important features of D and authored a large part of D's standard library. His research on Machine Learning and Natural Language Processing completes a broad spectrum of expertise. Andrei holds a Ph.D. in Computer Science from the University of Washington and a B.Sc. in Electrical Engineering from University "Politehnica" Bucharest. He works with the D Language Foundation.
+
For 40 years now, C has been a major force in programming languages, and a great deal of the world's critical software is written
+in it. But there's also been 40 years of advancement in programming languages, while C has remained relatively unchanged. It's
+well known, and well understood. It's problems are well known, too, and have turned out to be relatively intractable, such as
+buffer overflows. Security issues such as buffer overflows have cost enormous amounts of money, and continue to plague companies.
+
+
+
These issues have been solved by more modern programming languages, but it is impractical to translate large code bases from C to
+another language. It is possible, however, to incrementally start using a modern language alongside an existing code base, without
+disrupting it, and without overhead. One such is the D programming language. This presentation will show how that is done and the
+advantages in doing so - advantages such as guaranteed elimination of certain types of bugs, modern programming concepts, etc.
+It'll make your code easier to write, easier to read, easier to review, and more robust.
+
+
+
Speaker Bio:
+
Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages. He's an expert in all areas of compiler technology, including front ends, optimizers, code generation, interpreter engines and runtime libraries. Walter regularly writes articles about compilers and programming, is known for engaging and informative presentations, and provides training in compiler development techniques. Many are surprised to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30 years after its debut.
Duration: 50 minutes
+ Talk type: Presentation
+ Level: All
+
+ Slides:PDF
+ Video
+
+
+
+
Abstract:
+
The D language has been ported and well supported on Windows and various Posix platforms. In order to use D on a non-Windows, non-Posix platform, often proprietary and closed source, the compiler, druntime and phobos need to be ported and adapted to the specificities of the platform in question. The talk presents challenges and gotchas encountered on the path of such an effort including: how to choose and build the compiler, how to bootstrap druntime and get the unittests running, phobos porting challenges and more.
+
+
+
Description
+
+
This presentation is meant for programmers who are considering porting D language to currently unsupported platforms. It can also be of interest to D language code architects as it presents how easy (or difficult) it is to find the pieces of code which need to be ported and how well a new platform integrates in the existing code. Finally, the curious programmer can learn some new details on how compilers, druntime and phobos work.
+
+
+
Using, or even evaluating, D language on non-supported platforms (non-Windows, non- Posix) requires a major porting effort. Such platforms are often proprietary and closed source (e.g. game consoles).
+
+
+
Evaluating necessary work (and therefore time) to get a software working on a new platform is not an easy task. In addition to previous porting experience and knowledge of general porting techniques, a good guide, a How-To document or an overview in the form of a presentation can be invaluable source of information.
+
+
+
During the porting, the programmer is faced with many questions and has many decisions to make, such as: compiler choice, build system choice, how to validate that the code is correct, what is the minimum code necessary to run existing unittests, how portable is phobos, and many others.
+
+
+
In most cases, the answers are specific to the target platform, but knowing which questions will need answers can be a big help during the planning phase. During the implementation phase, having an idea how far away from the final goal is essential, both from planning and psychological/morale point of view.
+
+
+
The presentation describes the porting of D language to an unnamed game console platform (*) which was done by Igor Česi at Ubisoft during autumn / winter 2017. In the form of an experience report it will describe:
+
How to choose and then build the compiler for the target platform
+
Build system options
+
Porting druntime
+
Bootstrapping
+
A road to unittests
+
Filling the gaps
+
+
Porting phobos
+
The easy part and low hanging fruits
+
The hard part (platform specificities; the devil is in the details)
+
Useful tips and tricks
+
+
+
+(*) The reason to avoid specifically naming the target platform is the NDA agreement signed with the platform owner. This should have a positive impact on the content of the presentation as it forces the content to be more generic; it is not expected many people
+will do exactly the same port.
+
+
+
Speaker Bio:
+
Igor Česi is a senior programmer at Ubisoft Paris studio where he helped making 10+ games including multiple titles in Ghost Recon and Just Dance franchises. The latest game he participated in making is Mario+Rabbids Kingdom Battle. He's been programming in C++ for the last 20 years. After following D from a 'distance' for many years and thanks to guys from Remedy Entertainment who proved that D on gaming consoles is possible, he is trying to introduce the D language to programming teams in Ubisoft Paris studio.
+
dxml is an XML parsing library written in D which heavily uses
+common D idioms such as ranges. This talk will go over its design, the challenges encountered in implementing it, and lessons learned in the process.
+
+
+
Description
+
+
This talk will go over how and why dxml came into existence and how its design evolved. It will go over some of the fundamental issues with using ranges when parsing XML and how those were solved (for a while, it actually presented a cursor API rather than a range API due to some of those issues). At least some of those lessons learned seem like they would be quite applicable beyond XML and of value to the D community at large in figuring out how to go about making an API range-based. At the time of writing, dxml currently only has a range-based STaX parser and related helper functions, but there should be plenty there to talk about. However, future development that is done between now and dconf could definitely affect what makes it into the talk (a DOM parser using the STaX parser is planned as are two XML writers - one which is the writer equivalent of a STaX parser and one which is DOM-based). Given the fact that std.xml needs to be replaced, dxml may or may not end up going through the Phobos review process (that will largely depend on community feedback) and ultimately end up in Phobos (that will of course depend on how the review process goes), so having a talk go over it is potentially valuable from that angle as well.
+
Jonathan M Davis is the primary author of std.datetime and one of Phobos' core contributors. He is a professional developer and has experience in a number of programming languages, including C++, Haskell, Java, and D. For better or worse, he's well known in the D community for answering questions and being long-winded. He currently resides in Utah.
+
Over the past year I have conducted several performance studies based on eBay's TSV Utilities. One study was a comparative benchmark of similar tools written in different programming languages. A second study examined the impact of using Link Time Optimization and Profile Guided Optimization. This talk will describe the goals and motivations behind these studies, summarize the results, and offer a few thoughts on the findings. The talk will conclude with an update to the March 2017 comparative benchmark study.
+
+
+
Description
+
+
The focus of the talk is run-time performance, but performance is only one consideration when examining a programming environment. This talk will describe the larger context under which these studies were conducted, how this influenced the studies, the way the code was written, and the takeaways. Indeed, the results of the first two benchmarks studies have been described before. The TSV Utilities GitHub repository contains results of the March 2017 comparative study. The comparative benchmarks and the LTO study have been presented at Silicon Valley D meetups. This talk will summarize these studies, highlighting the key results, but won't go into the same depth as the other venues. Having a set of standard set of benchmarks has had value outside of the evaluation itself, these benefits will also be covered in the talk.
+
+
+
The benchmark studies themselves have interesting results. TSV Utilities performance compares quite well
+to other tools, in many cases running several times faster. The LTO and PGO studies showed significant gains. The comparative benchmarks update will be conducted prior to DConf and will be new information.
+
+
+
Speaker Bio:
+
Jon Degenhardt is a senior member of eBay's Search Science team. He has been working on search engines for the last decade, both on the core search engine as well as the data science driving recall and ranking. His work includes substantial involvement in search engine performance. He started programming in D in late 2015.
+
The talk is about live-ask.com, a realtime feedback web application. The audience will hear about the journey to build a modern web app using Angular in the frontend and D in the backend. We will shed light on the advantages of D and why it has so much potential in the web space.
+
+
+
Description
+
+
When starting the implementation of live-ask.com based on Angular it was natural to use nodejs as the driving backend technology at first. When the application got bigger and the backend more sophisticated it was switched to D. Vibe.d as the framework builds on the same principles like nodejs: event driven IO. Converting to D introduced strong typing, native unittesting, meta programming and more. It improved DRYness, convenience and performance. It allowed me to focus on building a more complex architecture that runs in a scalable, resilient and cost efficient environment on Amazon AWS. The implementation is unittested and integration tested, the CI and CD pipeline smoothly allows it to publish changes in a matter of minutes to the live environment. Aside all the glory features we will also look at the downsides like missing API libraries, convenience tools and compile times.
+
+
+
Speaker Bio:
+
Stephan Dilly is the head of engineering at InnoGames. With over 10 years of professional software developmentexperience, he has worked as a consultant and engineer for top gaming companies including Funatics and Ubisoft Bluebyte. Before joining InnoGames, Stephan developed games in the front-end and back-end domain on titles like "The Settlers", "Tom Clancy’s Endwar" and "Assassin’s Creed Identity". Now, he focuses on front-end technology at InnoGames and shapes the strategy for mobile-only games using modern game engines. Stephan aka ’Extrawurst’ is an active member in the D community since 2007, he contributed to books like "The D Programming Language" by Andrei Alexandrescu and ”Web Development in D” by Kai Nacke.
+
A major part of LDC development is related with LLVM development. The LDC team closely follows (and contributes to) LLVM development, in order to expose the "latest and greatest" LLVM features to D developers. Since last DConf, LDC gained many new LLVM-based capabilities: AddressSanitizer, fuzzing, IR-based PGO, dynamic codegen at runtime, experimental integration of LLD, better integration of LLVM's compiler-rt runtime libraries. In this talk, I will focus on a selection of LDC's LLVM-based features: what they do and how they work, with examples of how they can be used effectively.
+
+
+
Speaker Bio:
+
Johan Engelen is one of the core LDC developers. He is also a D compiler consultant for Weka.io (probably the largest industrial single-executable D codebase) and maintains and adds features to their fork of LDC. While working on LDC, he often studies the compiler output IR and assembly. To aid this, he helped setting up LDC at d.godbolt.org. Examples of his recent contributions to LDC related to LLVM functionality are: fuzzing with libFuzzer, better AddressSanitizer support, and IR-based PGO. Johan (PhD Electrical Engineering) is assistant professor in the Robotics and Mechatronics (RAM) group at the University of Twente, the Netherlands. His software engineering skills stem largely from participating in open source communities such as Inkscape, LLVM, Dlang, and LDC.
+
We will roughly summarize our experiences from 10 years of fun and pain with D.
+
+Topics include:
+
Transitioning to D
+
Features that shine in commercial usage
+
Update policy
+
Coding Style
+
D in Production
+
Hiring and Onboarding of new D-velopers
+
+
+
Speaker Bio:
+
Mario Kröplin is a software architect at the German company Funkwerk. At the location near Munich, Funkwerk develops passenger
+information systems, which are in operation at railway companies throughout Europe. In 2008 they started using D and since then,
+D has been the means of choice for all new development. Mario (linkrope) is also the author of D tools and frameworks that are
+in daily use at Funkwerk.
+
+
+
Stefan Rohe is thrilled about Clean D Code and transformed Funkwerk into a D-shop by introducing D into green- and brownfield projects. Funkwerk being the first commercial adopter of D makes Stefan is the first commercial D programmer. Next to his work at Funkwerk he organizes the local community.
+
The D conference will not end after the three days of talks, but will continue into a fourth day for our 2nd annual Hackathon!
+Collaborate with fellow D hackers to make the D community a better place.
+
+
Description
+
+
The first DConf Hackathon resulted in, to quote Walter Bright, "A tsunami of pull requests". From work on core D features like the initial implementation of static foreach and the splitting up of std.datetime into multiple modules, to hacking on third-party projects like iopipe and dub, people worked alone or in groups to fix bugs and implement improvements. Others hashed out ideas, like the group that focused on bringing D to the GPU. Still others took their time to act as tutors, helping fellow D hackers improve their D skillset.
+
+
+
This year, we aim to repeat our success, with two key differences: we're kicking off the Hackathon morning session with an extra talk and we're opening the doors to those who weren't able to make it to the full conference!
+
+
+
WekaIO's Shachar Shemesh will get us started with a Hackathon keynote announcing the company's new open source library. That should give some Hackathon attendees something to focus on if they come in with no concrete plans!
+
+
+
Additionally, for those in the vicinity who want to attend but are unable to get away for the full conference, we're opening the doors to you free of charge. Come hear Shachar's talk, find some help for your project or contribute to another, and enjoy mingling with the D community. We only ask that you please bring your own lunch and be prepared to have an enjoyable day!
+
+
+
If you have the bought the full registration, we hope you stick around. If you're unable to attend the full conference and are looking for a fun way to spend your Saturday, we hope you join us. Who knows where the day will take you?
+
The D conference will not end after the three days of talks, but will continue into a fourth day for our 2nd annual Hackathon!
+Collaborate with fellow D hackers to make the D community a better place.
+
+
Description
+
+
The first DConf Hackathon resulted in, to quote Walter Bright, "A tsunami of pull requests". From work on core D features like the initial implementation of static foreach and the splitting up of std.datetime into multiple modules, to hacking on third-party projects like iopipe and dub, people worked alone or in groups to fix bugs and implement improvements. Others hashed out ideas, like the group that focused on bringing D to the GPU. Still others took their time to act as tutors, helping fellow D hackers improve their D skillset.
+
+
+
This year, we aim to repeat our success, with two key differences: we're kicking off the Hackathon morning session with an extra talk and we're opening the doors to those who weren't able to make it to the full conference!
+
+
+
WekaIO's Shachar Shemesh will get us started with a Hackathon keynote announcing the company's new open source library. That should give some Hackathon attendees something to focus on if they come in with no concrete plans!
+
+
+
Additionally, for those in the vicinity who want to attend but are unable to get away for the full conference, we're opening the doors to you free of charge. Come hear Shachar's talk, find some help for your project or contribute to another, and enjoy mingling with the D community. We only ask that you please bring your own lunch and be prepared to have an enjoyable day!
+
+
+
If you have the bought the full registration, we hope you stick around. If you're unable to attend the full conference and are looking for a fun way to spend your Saturday, we hope you join us. Who knows where the day will take you?
+
Fostering memory safe code is a key goal of the D language. However, as its predecessors have proven, manual memory management is highly incompatible with this world view. Dangling pointers and use-after-free can not only lead to memory corruption, but also to various security exploits. It is high time to put the allocator modules to good work and devise a way to have safe manual memory management, at negligible cost of performance.
+
+
+
This talk will show how to compose the existing memory allocators in the D standard library, together with innovative techniques such as type reusabililty, to create a safe alternative to the traditional "malloc".
+
+
+
Speaker Bio:
+
Alex is currently a MSc student and teaches “Operating Systems" at the Polytechnic University of Bucharest. He has a strong interest in low level programming and for the past couple of months he has been working on D’s experimental allocators. In order to build a stronger D
+community at his university, part of his efforts go to helping several students bring their contributions to the language.
+
Mario Kröplin is a software architect at the German company Funkwerk. At the location near Munich, Funkwerk develops passenger
+information systems, which are in operation at railway companies throughout Europe. In 2008 they started using D and since then,
+D has been the means of choice for all new development. Mario (linkrope) is also the author of D tools and frameworks that are
+in daily use at Funkwerk.
+
Bioinformatics is a young, fast growing area of computer science. It is among the big-data areas that are most demanding in computation resources. Algorithms and tools are being actively researched and developed to utilize unprecedentedly huge amount of data, which is becoming cheaper and cheaper to collect. Genomics projects produces mostly plain texts saved in compressed file formats.
+
+
+
Genomics laboratories can easily produce from dozens of terabytes, to petabytes of data every year. This poses great challenges to both storing and analyzing of data. While hardware (for computation and storage) is rather generic across all application areas, software tools are very specifically developed and used for a particular area. There are currently not many software pieces written in D for bioinformatics. However, D makes a very attractive candidate for use in bioinformatics. On-par performance to C, modern and readable syntax with plenty of syntactic sugars, built-in unit test, ability to both generate a single binary executable and support scripting, and elegant support for parallel computing are among the most appreciated features of D, especially to a C++ or scripting language programmer.
+
+
+
In this talk we present our experience in adopting D for genomic bioinformatics, with some benchmarks and evaluation of how easy or difficult to do some common bioinformatic tasks in D. We discuss current status and potentials of the D-bioinformatics relationship.
+
+
+
Description
+
+
We describe here our experience in adopting D for genomics bioinformatics. We also present our envision about applicability of D for bioinformatics. It is also an opportunity to explain the essence of bioinformatics (its input data, fundamental algorithms and output). This allows prospective bioinformatician, probably some current D programmers, to evaluate the requirements and a sense of what it takes and gives to work in bioinformatics. We will finish with discussions about what we and D can do more for bioinformatics.
+
+
+
Speaker Bio:
+
Dr. Vang Le focused on physics during his high-school years, but spent his university career in molecular biology. Computer science and programming were always a secret hobby. He got a Postdoc job in Denmark which required both molecular biology and computer science. This gave birth to a full-time bioinformatician job where he openly combine his passions for computer science and curiosity for living things. He currently works in Aalborg University Hospital as a clinical bioinformatician, where he is key in establishing bioinformatic infrastructure and routine analysis workflows to deal with the great amount of data from next generation sequencing (NGS) machines. He has great opportunities to set up computer clusters for storage and computation and to learn many cutting edge technologies. He sees D as a great alternative to C and C++ and predicts it will one day enjoy a level of popularity (particularly in bioinformatics) comparable to C, C++, Java, or Python.
+
Open methods are an alternative to traditional Object-Oriented Programming. In OOP polymorphism is typically implemented via virtual member functions. This makes it difficult to add new behavior to existing hierarchies of classes - the so called Expression problem. This leads to designs that are either flawed (God classes) or clumsy (the Visitor pattern). Open methods are virtual functions defined outside of classes. This solves the Expression problem and more. Open methods can be implemented in D as a library. By using a combination of compile- and run-time techniques, it is possible to deliver an elegant
+syntax and a performance similar to native virtual functions.
+
+
+
Outline (tentative)
+
The problem with OOP. Unnatural design choices. Adding new polymorphic behavior to existing classes. The Expression problem. Workarounds (Visitor, Abstract Factory).
+
Open methods as an alternative. Algorithms come back to the front stage. Two case studies: 1/ visitation 2/ multi-tiered apps.
+
Implementing Open Methods in D. Syntax. Performance. Comparison with C++.
+
Improving D to support language extension libraries even better.
+
+
+
Speaker Bio:
+
Jean-Louis Leroy is the author of the openmethods module. He got his first taste of programming from a HP-25 calculator. His first real programming language was Forth, where CTFE is pervasive. Later he programmed (a little) in Lisp and Smalltalk, and (a lot) in C, C++, and Perl. He now works for Bloomberg LP in New York. His interests include object-relational mapping, open multi-methods, DSLs, and language extensions in general.
+
What makes for good software architecture? How should we design our programs? While much has been written about these topics, the answers rarely take into account D's differentiating features. Specifically, most contemporary software design advice assumes an object-oriented programming (OOP) mindset, leaving unexplored the breadth of possibilities allowed by a flexible, multi-paradigm language like D.
+
+
+
This talk has two parts. In the first part we identify an apparent contradiction imposed by the OOP design school. We analyze that contradiction in detail, with the goal of understanding its root cause and finding ways to avoid it. In the second part we take what we learned and go over how to design a program from scratch. We use the modeling power of D to achieve the desired architectural properties: simplicity, performance, and malleability.
+
+
+
Description
+
+
This talk presents a way to design and implement software that departs from the orthodox advice and practices. Yet, it does not present a radically new idea. Instead, we build upon a collection of insights identified by several others, and synthesize a coherent approach that tries to balance competing priorities. In many ways, we use the more avant-garde D features to go back to a simple but expressive style, free from complicated inheritance hierarchies, tangled object graphs, and rococo design patterns.
+
+
+
In the first part of the talk we comment on the following topics:
+
Software architecture and business value
+
The essence of OOP: messaging and encapsulation
+
The single responsibility principle vs anemic objects
+
Domain-driven design and the abstraction frontier
+
Fat objects vs open methods, generic programming and algorithms
+
+
+
In the second part of the talk we study the design of Simbool, an educational application used to design and simulate digital logic circuits. We touch upon the following topics:
+
Architectural flexibility:
+
UML and premature architecture
+
Emergent architecture: letting the problem dictate the design
+
Facing uncertain requirements with joy
+
+
The value of values, context and free functions:
+
Avoiding object graphs, and staying cache friendly
+
Contextual memory allocation and data-oriented design
+
Modularity and performance with open methods, design by introspection and UFCS
+
+
Simple and effective testing strategies
+
+
+
Speaker Bio:
+
I am a generalist programmer, with a good grasp of computer architecture. I have always been interested in the design of clean solutions for difficult programming problems, but there is something to be said about just bashing the problem in the head with some systems programming. In any case, the number of CPU cycle casualties has decreased dramatically since we introduced our unit of tactical rangers, generic ammunition and mental training by introspection.
+
Write blockchain applications leveraging the power of D.
+
+
+
Description
+
+
Blockchain is the latest emerging technology. Basically, a blockchain is a secure, distributed ledger, allowing a lot of applications beyond crypto currencies. Hyperledger Fabric is one of the frameworks which implements blockchain technology in a way well suited for business purposes. Mainly written in the Go programming language it seems not to be a good fit for a D programmer. In this talk I give a short introduction to the concepts of blockchain and the Hyperledger Fabric ecosystem. I point out the integration challenges and missing building
+blocks a D programmer is facing in this environment. By presenting different approaches, I highlight the design decisions I have made for my solution. With my implementation it is now possible to write blockchain applications from the UI down to the chaincode (smart contracts) in D.
+
+
+
Speaker Bio:
+
Kai Nacke is a professional IT architect. In his spare time he likes to develop open source applications. He is the current maintainer of LDC, the LLVM-based D compiler, and a committer of the LLVM project. His contributions to LDC include ports to different CPU architectures and operating systems. Another interest of him is using D for business applications. He is the developer of the D bindings for SAP. Besides programming he is also the author of "D Web Development" and a speaker at the Free and Open Source Software Developers' European Meeting (FOSDEM).
+
Razvan Nitu has been taking part in the development effort of the D compiler for one and a half years. During this period he has been involved in almost all the activities that such a task requires: implementation of language features, language design, writing documentation, reading specifications, solving bugs, refactorization etc.
+
+
+
The talk will delve into the struggles of a rookie compiler developer trying to leave his mark and make D a better language for everyone. Key aspects of the development process will be exposed via an overview of the most important projects that the author has worked on: D language compiler as a library, lambda comparison, and postblit qualifier paradox. If you have ever wondered about the perks of being a compiler contributor then this is the talk for you.
+
+
+
Speaker Bio:
+
Razvan Nitu is a PhD student and teaching assistant at University POLITEHNICA of Bucharest, Romania. He is passionate about compilers and operating systems and talking about himself is not one of his skills.
+
Duration: 50 minutes
+ Talk type:Keynote
+ Level: All
+
+ Slides:PPTX
+ Video
+
+
+
+
Abstract:
+
Programming is fundamentally about abstraction. Without abstraction
+we'd all be still programming in assembly language. A very important part of programming is context - to understand a program text one must also understand the environment including "other code" in which the program fragment is to be executed. So, can we abstract over context? And should we be doing that?
+
+
+
In fact, abstracting over context seems to be important, because it is the core of a large variety of programming techniques, including "monkey patching", dependency injection frameworks, dynamic scoping, receiver functions, type classes, the reader monad, the cake pattern, etc. Some of these techniques are more ad-hoc than others. In my talk I will argue that implicit parameters as they are found in Scala are a canonical way to express context and that implicit function types are the right way to abstract over it.
+
+
+
Speaker Bio:
+
Martin Odersky is the inventor of the Scala language, a professor at EPFL in Lausanne, Switzerland, and a founder of Lightbend. His work concentrates on the fusion of functional and object-oriented programming. He believes the two paradigms are two sides of the same coin, to be unified as much as possible. To prove this, he has worked on a number of language designs, from Pizza to GJ to Functional Nets. He was named an ACM fellow for his achievements in this area. He has also influenced the development of Java as a co-designer of Java generics and as the original author of the current javac reference compiler.
+
D happens to have a great deal of ways to do incompatible things especially when it comes to I/O and system interface in general. here is a zoo of incompatible approaches:
+
std library is simple blocking I/O much like most 3rd party C code
+
vibe.d is its own Fiber-based pseudoblocking I/O
+
some libs are explicitly asynchronous with custom ways to notify of completion
+
+
+And it's not a difference that is easy to wrap away.
+
+
+
The talk is presenting experimental work being done to have C libraries respect D's Fibers, goes beyond I/O and finally discusses a unified view of D's concurrency primitives.
+
+
+
Description
+
+
The talk is based on results of a joint work with Alexandru Caciulescu. The talks aims to present a simple coherent runtime via a model of light user-mode threads (UMT), where I/O and blocking system calls are handled efficiently by the runtime, which maintains an event-loop.
+
+
+$(P
+Then we see how can implement such a model where even 3rd party C code behaves well when called from UMT. A very different approaches lead to radically different internal designs for Windows and Linux, which however (with a few considerations) are nicely fitting in our model.
+
+
The performance of the prototype is benchmarked against the baseline on a few typical applications.
+
+
+
The second part of the talk is focused on D itself and things like:
+
channels and communication of UMTs
+
multiplexing over many sources including user-defined
+
extending std.algo and friends to seamlessly work with async I/O
+
combining APIs with explicit async and pseudoblocking
+
integrating OS threads and UMTs in one package
+
+
+
Speaker Bio:
+
Dmitry Olshansky is a young all-around researcher and software engineer. He's been a long-time D language contributor with his most notable contributions being the std.regex and std.uni modules of the standard library. Aside from everything D-related, his main interests are compilers, runtimes, text processing, parallel and
+concurrent programming, scalable network systems and AI.
+
Duration: 50 minutes
+ Talk type:Panel
+ Level: All
+
+
+ Video
+
+
+
+
Abstract:
+
Ready your pitchforks and rotten fruit! Prepare your rose petals and candy! But most of all, sort your queries! This is your chance to raise your hand and ask D's maintainers directly to fill you in on the things about D and the ecosystem that matter to you most. It's been a while since Walter and Andrei faced the unrestrained, unpredictable, and intelligent grilling the D community loves to bring them. Remind them how much fun it is!
+
+
+
Speaker Bio:
+
Andrei Alexandrescu coined the colloquial term "modern C++" (adapted from his award-winning book Modern C++ Design), used today to describe a collection of important C++ styles and idioms. He is also the coauthor (with Herb Sutter) of C++ Coding Standards and the author of The D Programming Language book. With Walter Bright, Andrei co-designed many important features of D and authored a large part of D's standard library. His research on Machine Learning and Natural Language Processing completes a broad spectrum of expertise. Andrei holds a Ph.D. in Computer Science from the University of Washington and a B.Sc. in Electrical Engineering from University "Politehnica" Bucharest. He works with the D Language Foundation.
+
+
+
Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages. He's an expert in all areas of compiler technology, including front ends, optimizers, code generation, interpreter engines and runtime libraries. Walter regularly writes articles about compilers and programming, is known for engaging and informative presentations, and provides training in compiler development techniques. Many are surprised to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30 years after its debut.
Stefan Rohe is thrilled about Clean D Code and transformed Funkwerk into a D-shop by introducing D into green- and brownfield projects. Funkwerk being the first commercial adopter of D makes Stefan is the first commercial D programmer. Next to his work at Funkwerk he organizes the local community.
+
Do you like programming in PHP? Me neither. This is why for the last year I have been porting my company’s in-house tracking system from a LAMP (Linux/Apache/Mysql/PHP) application into a vibe.d application. I’ll share the techniques I am using in converting my application one piece at a time, including some of the trickier parts to get both sides to act somewhat seamlessly with each other. I will also showcase some of the best reasons to undertake such an endeavor.
+
+
+
Description
+
+
My company's web application is an in-house “job tracking” system, essentially a bug tracker, but for actual sales and installation of our products. It was built from a now-defunct basic job-tracking system that used PHP and Smarty templates to render pages. In the first section, I’ll briefly discuss the basics of the PHP design, so you can get a feel for what needs to be done to convert such a beast. The next section will focus on getting Apache to serve both vibe.d pages and php pages interchangeably, so that you can change one piece at a time. I’ll go over how to configure php to have sessions that are readable from both sides, and the best way to communicate between the two sides. Finally, I’ll show some comparisons of how the vibe.d/diet version compares to the PHP/Smarty version, highlighting the advantages of using D, along with a demo of the two sites for comparison. If there is time, I plan on doing some research into some of the more common PHP web frameworks (e.g. Symfony, Laravel), to discuss how this technique can be used for them.
+
+
+
Speaker Bio:
+
Steven Schveighoffer has been hacking on D since 2007. He has numerous contributions to Phobos and Druntime, including the array runtime, and has written dcollections (a container library), and iopipe (a high-performance i/o pipeline library). He currently works at National Resource Management, in Massachusetts, where he is working on the subject of this talk — a hybrid php/vibe.d application that tracks sales and installations for the company (along with some other things).
+
Weka.io is a small start-up company producing a hyper-scalable high performance software only (BYOH) storage system written in D. During our work we've created a rather rich set of run time support tools for our system that are not, on their own, related to our specific product, or even storage at large. Mecca is a stand-alone library providing those tools. This lecture goes over the highlights of what Mecca contains, and some cool uses for it.
+
+
+
Description
+
+
Weka's code has to be as efficient as possible. We often manage to provide performance on par with non-distributed devices. To achieve this, we have to remove run-time costs wherever they happen. Mecca, therefor, is written for providing the comfort of D while still keeping extreme high performance low-latency operation.
+
+
+
Mecca contains three main areas of interest:
+
+
+
mecca.lib is a set of useful utilities for making programming in D easier, especially for the GC averse among us. They include support for no-GC exception throwing, easier and more verbose assertions, a D port of libdivide (quicker division when the divider is constant), direct OS memory management, time keeping without calling the OS and type wrappers for making the type system more granular.
+
+
+
mecca.containers is a set of no GC containers, replacing or augmenting the D types.
+
+
+
mecca.reactor is a fibers manager. In essence, the reactor is a user-land implementation of an OS scheduler. It manages fiber's readiness state, contains IO wrappers for performing seemingly blocking calls, contains the standard synchronization constructs (mutex, event etc.) and time based operations.
+
+
+
Speaker Bio:
+
Shachar (that's me) has been a programmer for over 3 decades. His experience includes heading Check Point's security response team, being a core developer on LiveU's video streaming device, and helping porting Akamai's code into a more modern software architecture. In between, Shachar has also worked on several open source projects, authoring such joys as rsyncrypto and fakeroot-ng, as well as such abominations as sshpass. Shachar even has credit for a one-liner in the vanilla Linux kernel, which still officially makes him a "Linux kernel contributer".
+
+
+
For the past 3½ years Shachar has been a D programmer at Weka.io, first writing its RAID subsystem, and recently fully engaged with the Mecca effort.
+
This talk discusses work on generic collections that are safe, flexible, and allow type qualifiers, all while being consistent with the Range API, to provide a clean and intuitive experience to both new and experienced users alike.
+
+
+
We will identify and discuss some of the challenges of using custom allocators with qualified types and how we can overcome them to define our path to success.
+
+
+
Speaker Bio:
+
Eduard is a MSc student and Teaching Assistant at University "Politehnica" of Bucharest. He is a hard working student who enjoys to get his hands dirty. He likes learning new technologies and strengthening his current knowledge. He is passionate about computer science because we get to think about and tackle problems that we encounter on a daily basis and we are able to find solutions that help other people. His previous experience includes distributed systems and parallel programming, operating systems, basic kernel development, open-source software and basic Android programming. He is a Linux fan, a command line addict and a vim enthusiast. He hopes that through his work he will be able to help and improve the D language, which he is becoming so fond of.
+
So you think Binderoo sounded pretty cool. And then you learn the maintainer left his job. What happens to Binderoo then? Simple: The open-sourced project lives on. Oh, and it gets some interesting new features that non-game-developers have been after. How does Linux support sound? What about C# interop? Join in and hear about the ways Binderoo has been improved and expanded, and some of the problems that were solved along the way.
+
+
+
Speaker Bio:
+
Back for round 3 at DConf, Ethan Watson is coming in without an employer. Having quit his job before the new year, he has spent some time in his fictional homeland of Australia (a land without squirrels must be fictional after all) working on his future career prospects. As a seasoned game developer with 15 years of experience across multiple platforms, he has also presented at GDC Europe and Reboot Develop.
+
Duration: 50 minutes
+ Talk type: Presentation
+ Level: All
+
+ Slides:PDF
+ Video
+
+
+
+
Abstract:
+
At Weka.IO we are leveraging D to build the fastest and most scalable file system, solving challenges that have been around IT for the last 20 years. We face strict resource constraints and the systems' performance has to beat competing appliance-based solutions written in C/C++ for latency and throughput.
+
+
+
This is our fifth year using D, and are about a year now “out of stealth”, with customer experience. This talk will go over our field experience using D, and comparing what we are doing with SW only to competing solutions that are hardware based (FPGA or otherwise accelerated).
+
+
+
Hopefully this will be a good reference point for engineers that want to start a new project in D when discussing with their managers and peers.
+
+
+
Speaker Bio:
+
Liran Zvibel is the Co-founder and CTO of WekaIO, the fastest and most scalable file system implemented in D. Prior to that he was the Co-Founder and VP R&D of Fusic, a video processing mobile/web based startup. Prior to that Liran was at XIV Storage (acquired by IBM in 2007) doing several architectural and leadership roles. Prior to that Liran served 6 years at the IDF, technologically leading a project that was awarded the most prestigious Israeli Defense Award, reaching a rank of Captain. Liran received his B.Sc. in Mathematics and Computer Sciences from the Tel Aviv University at the age of 18.
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/2018/venue.html b/docs/2018/venue.html
new file mode 100644
index 00000000..5b690427
--- /dev/null
+++ b/docs/2018/venue.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+The D Programming Language Conference 2018
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Venue
+
Like to hit the snooze button a few times before a busy day at DConf? This year, you'll be able to hit it a couple of times more than you could at past editions! DConf 2018 is taking place at the NH München Messe, a 253-room hotel in the Zamdorf area of Munich.
+
+
+
Not only will this save you time, it will save you money. The hotel is offering a discount to DConf 2018 attendees. To take advantage of this offer and book a single room (including breakfast) for €89/night, send an email to reservierungen@nh-hotels.com with the keyword D-Conf in the subject line. Visit nh-hotels.com for directions and points of interest.
+
+
+
Nearby hotels
+
If you'd like to find an alternative to the Hotel NH München Messe there are other options nearby (prices and availability may vary):
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/2019/brexit.html b/docs/2019/brexit.html
new file mode 100644
index 00000000..1f785d2f
--- /dev/null
+++ b/docs/2019/brexit.html
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+The D Programming Language Conference 2019
+
+
+
+
+
+
+
+
+
+
+
Brexit Refund
+
Given that the delay to Brexit extends well past DConf, we don’t anticipate any significant problems with travel. But for those who are concerned about any risk:
+
+
In case you encounter a flight cancellation due to Brexit without a suitable replacement travel method for reaching DConf 2019, the organizers will refund your DConf registration fee.
+
DConf 2019 was a great success. Thanks to our partners at Symmetry Investments for hosting such a fun event. Now we're looking forward to DConf 2020!
+
+
+
The D Language Foundation is pleased to announce the international conference and hackathon DConf 2019 in London, United Kingdom, May 8 - 11 2019.
+
+
DConf is the largest gathering of D programming language enthusiasts on the planet, a face-to-face event where programmers talk shop, share and learn about their craft, find jobs, work to improve the D ecosystem, and sample the local selection of brews. Three days of presentations are followed by a fourth day of collaborative hacking on D projects, each day capped off by spirited discussion well into the night.
+
+
DConf 2019 is hosted by our friends at Symmetry Investments. With offices in Hong Kong, Singapore, and London, Symmetry employs D in their investment management mission and previously sponsored the Symmetry Autumn of Code. We're excited to work with Symmetry in bringing DConf to London for the first time.
+
+
London's technology sector is booming from government support and heavy investment in startups. The heart of the boom is East London Tech City, a.k.a. the Silicon Roundabout. Dozens of global and local tech firms call the area their home. DConf 2019 will be right in the middle of it, at Inmarsat's 99 City Road Conference Centre.
+
+
We welcome members of the D programming language community and anyone interested in learning more about our favorite language to join us in London for four days of fun, challenge, and camaraderie. If you've never attended a DConf, read a summary of DConf 2018 on the D Blog to get an idea of what it's all about.
+
+
Keynote Speakers
+
This year, we're thrilled to have Laeeth Isharc of Symmetry Investments as our invited keynote speaker. Walter Bright and Andrei Alexandrescu will be back to regale the crowd with their bookend keynotes as usual.
+
The submission period has ended! All of the talks have been selected and the schedule has been published. We've got another great line up this year. We want to thank everyone who made a submission. If you didn't get in this year, please try again next year!
+
+
Hackathon
+
The DConf Hackathon returns on Saturday, May 11th. The Hackathon is an unstructured, free-wheeling, full day of solving D issues, advancing D projects, teaching, learning, and communing with like-minded souls. The previous edition of the Hackathon was open to the general public. This year, we're doing it again! See the hackathon page for details.
+
If you are a student, academic, or a major open source contributor, we want to see you in London! Please contact social@dlang.org to apply for a 50% discount on the general registration rate. Even if you've never worked with the D Programming Language, we'd love to meet you.
+
+
General Registration
+
The general registration rate is $400. This year, we are required to tack on a 20% VAT, so the total amount is $480. Advance registrations are open until May 6, 24:00 AOE. Registrations will be open at the venue throughout the first day of the conference (May 8).
+
+
Note that GBP values in the following table are based on the May 2019 HMRC exchange rate of 1.3049 GBP to 1 USD
+
We support registrations through FlipCause and PayPal. If you are registering with a credit card rather than an existing PayPal balance, choosing FlipCause will be more efficient for us, so we encourage you to do so. Thanks!
+
Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages. He's an expert in all areas of compiler technology, including front ends, optimizers, code generation, interpreter engines and runtime libraries. Walter regularly writes articles about compilers and programming, is known for engaging and informative presentations, and provides training in compiler development techniques. Many are surprised to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30 years after its debut.
Andrei Alexandrescu coined the colloquial term "modern C++" (adapted from his award-winning book Modern C++ Design), used today to describe a collection of important C++ styles and idioms. He is also the coauthor (with Herb Sutter) of C++ Coding Standards and the author of The D Programming Language book. With Walter Bright, Andrei co-designed many important features of D and authored a large part of D's standard library. His research on Machine Learning and Natural Language Processing completes a broad spectrum of expertise. Andrei holds a Ph.D. in Computer Science from the University of Washington and a B.Sc. in Electrical Engineering from University "Politehnica" Bucharest. He works with the D Language Foundation.
+
Laeeth Isharc graduated in 1996 from Trinity College, Cambridge, and holds an MA in Economics. Since 2014 he has been developing tools to apply technology to the investment process.
+
Mathis Beer has been working at Funkwerk for close to two years. In that time, he has witnessed and contributed to the transition of our design sentiment of OOP-heavy code made generic by a class hierarchy, to cleanly separated domains of concern connected by a plain-old-data semi-immutable domain model. This has various advantages.
+
Ali is a software engineer with programming language experiences mostly in C, C++, and D. His past work includes a fun stint at WekaIO, a high performance storage company that bases its technology entirely on D. Ali is the author of the book Programming in D, the Secretary and a board member of The D Language Foundation, former acting president of the Silicon Valley Chapter of the ACCU, an organizer of the Silicon Valley DLang meetup group, and a team member of the revolutionary Mill CPU. He currently works in the sensor fusion team of the Autonomous Driving division at Mercedes-Benz Research and Development, North America. One of his responsibilities is helping with ISO 26262 software safety issues.
+
I am a long time low-frequency contributor to the D community in various forms, ranging from one-line fixes on new dub repositories to wider visions of what D can do in science and GPU computing (my thanks to many other people for making their more substantial visions reality) to tips and tricks for comers both new and old on the D forums. I have a background in physics and aim to bring the disciplined yet creative pragmatism of that field to what I produce, both in open source and my work at Symmetry Investments.
+
Francesco Gallà is a MSc student in Computer Science at University of Turin, Italy. He is interested in language theory, network protocols and formal verification methods for concurrent programming, a topic which he's working on for his master thesis. He also enjoys hiking and climbing when he leaves the keyboard behind. He discovered D while looking for modern alternatives to C and C++ which could be used for system programming on multiple platforms (notably Linux). He took part in Symmetry Autumn of Code 2018 to work on the HTTP/2 implementation for the Vibe.d framework.
+
Lionello Lunesu is creator of Nounly and Co-Founder of Enuma Technologies, a hardware/software consultancy company in Hong Kong, building solutions for enterprise customers. Nounly started as a weekend project, but turned into a web app people started to rely on. To meet expectations, Nounly was ported to Vibe.D and is now hosted as an auto-scaling web service.
+
Luís currently works at lowRISC, a not-for-profit organization that creates open-source hardware and associated tools. In particular, Luís has been working on improving the RISC-V backend of the LLVM compiler infrastructure. He is a long-time D user. More recently he has been experimenting with D language extensions, such as for hardware design.
+
Alexandru Militaru is a student in his final year of bachelor’s studies and an undergraduate teaching assistant at University "Politehnica" of Bucharest. He is passionate about operating systems and compilers. In his bachelor thesis project, he uses the D programming language to strengthen the security of Linux kernel modules.
+
Jens studied computer science at Ulm University and Humboldt-Universität zu Berlin. Afterwards he started a Phd in Machine Learning and defended his thesis in 2014. He stayed for a brief post-doc and left academia in 2016 to join dunnhumby.
+
Kai Nacke is a professional IT architect. In his spare time he likes to develop open source applications. He was maintainer of LDC, the LLVM-based D compiler, and a committer of the LLVM project. His contributions to LDC include ports to different CPU architectures and operating systems. Another interest of him is using D for business applications. He is the developer of the D bindings for SAP. Besides being programmer, he is also the author of "D Web Development" and a speaker at the Free and Open Source Software Developers' European Meeting (FOSDEM).
+
Átila Neves has a PhD in Particle Physics for research done at CERN. Most of the time spent there required programming in C++, with a 2-year stint as a Perl programmer in the IT department's security team. He also worked for Cisco for almost 7 years, developing networking software in C and C++ and leading his teams in the areas of software quality and testing. He now works as a D consultant/programmer for Symmetry Investments. He spends his spare time yelling at the screen in frustration while waiting for computers to compile his code.
+
Guillaume Piolat worked as a professional complainer in various segments of the software industry: mostly signal processing. Struck by baldness early, he is now a purveyor of audio effects in the pro audio market, as Auburn Sounds. Guillaume created "D-idioms", a blog to bring awareness on the most mundane points of the language. You will likely see him rant about complexity on the D forums.
+
Robert Schadek received a Master degree in computer science at the University of Oldenburg. His master thesis was titled "DMCD A Distributed Multithreading Caching D Compiler" and introduced multi-threading among other optimizations to the compiler control flow. He was a computer science PhD student from 2012-2018 at the University of Oldenburg. His PhD research focuses on quorum systems in combination with graphs. Since 2018 he is happily using D in his day job working for Symmetry Investments.
+
Steven Schveighoffer has written several D libraries, including dcollections (container library) and iopipe (a high-performance i/o pipeline library). He has numerous contributions to both Phobos and Druntime, including rewriting the array runtime, and the RedBlackTree implementation. Most recently, he is working on getting the JSON iopipe library ready for release, including a full serializer.
+
Eduard is a PhD student and Teaching Assistant at University "Politehnica" of Bucharest. He is a hard working student who enjoys to get his hands dirty
+
+
+
He likes learning new technologies and strengthening his current knowledge. He is passionate about computer science, programming languages, coffee and doing nothing. His previous experience includes distributed systems and parallel programming, operating systems, basic kernel development, open-source software and basic Android programming. He is a Linux fan, a command line addict and a vim enthusiast. He hopes that through his work he will be able to help and improve the D language, which he is becoming so fond of.
+
Bastiaan Veelo is the lead developer of a specialised program for the computer aided geometric design of ship hulls called Fairway, for the company SARC in the Netherlands. He holds a B.Eng. in naval architecture from the Haarlem Polytechnic, an M.Sc. in marine technology and a Ph.D. in mechanical engineering from NTNU, the Norwegian University of Science and Technology. He has been following the development of the D programming language from its early days, but only started using it actively since 2015 when he saw a chance to change his own future. Now he is well on his way in his master plan to convert his employer's business to a D shop.
+
Fourth time lucky? Ethan Watson is a bit of a vet when it comes to D Conf, having presented at the three previous events. An unhealthy fascination with squirrels aside, his talks are regarded for being information-rich and entertaining at the same time—thanks to combining 16 years of experience as a programmer in the video games industry with his experience in amateur stand-up comedy. He is currently in the process of setting up a middleware studio and working at another Finnish game studio (Housemarque) at the same time.
+
Sebastian has contributed to D’s core repositories with more than 2.000 pull requests and, while he secretly hates D, he still thinks it's by far the least ugly language. Among others things, he is the
+guy behind run.dlang.io, D’s Functional Garden, the DTour, the D documentation archives, and those mysterious pull requests to your project. Currently, he is helping to organize D’s 2019 GSoC as one of the organization admins for the D programming language.
+
The AGM provides an opportunity to participate in the determination of the Foundation's vision, provides a formal setting to discuss and resolve longstanding issues and take advantage of face-to-face communication to accelerate organizational processes. Topics up for discussion include: DIPs; Pull requests; Internal implementation issues; General issues and topics of interest; Infrastructure, libraries and progress reports; bug squashing prioritization, and longer-term goals and vision for the DLF. The proceeds of the discussions will help focus and set the stage for the Hackathon.
+
+
+
This is the first AGM we've hosted at DConf. It was proposed by Nicholas Wilson and is expected to last an-hour-and-a-half, but it could go longer. The morning session of the Hackathon will begin immediately following the AGM.
+
Duration: 50 minutes
+ Talk type:Keynote
+ Level: All
+
+ Slides:PDF
+ Video
+
+
Abstract:
+
The mechanics of binding values to function parameters is a
+central concern in programming languages. In the D language, binding an
+unnamed temporary (rvalue) to a reference parameter is disallowed to
+avoid unintentional misuse. In C++ binding an rvalue to a reference to
+constant is allowed, but binds too tightly, a complication that ultimately
+motivated the introduction of rvalue references. In Rust binding is
+allowed but requires additional syntax on the call side, which hurts
+genericity and composition. How can we relax the rules in the D language
+such that meaningful cases are allowed while improving on the experience
+with other languages?
+
+
Speaker Bio:
+
Andrei Alexandrescu coined the colloquial term "modern C++" (adapted from his award-winning book Modern C++ Design), used today to describe a collection of important C++ styles and idioms. He is also the coauthor (with Herb Sutter) of C++ Coding Standards and the author of The D Programming Language book. With Walter Bright, Andrei co-designed many important features of D and authored a large part of D's standard library. His research on Machine Learning and Natural Language Processing completes a broad spectrum of expertise. Andrei holds a Ph.D. in Computer Science from the University of Washington and a B.Sc. in Electrical Engineering from University "Politehnica" Bucharest. He works with the D Language Foundation.
+
Functional programming and object-orientation are often seen as contradictory. By modelling processes with objects rather than entities, and keeping domain data largely immutable, we get the best of both worlds.
+
+
+
Description
+
+
Funkwerk application design started out as UML-heavy Java-like. Over the past years we’ve worked on transitioning to a model of immutable unowned domain data managed on the scale of processes, rather than entities, transformed between usecases by freestanding pure functions. Interfaces are primarily used as a tool for separation of concern and domain process abstraction rather than describing actions that can be done with data.
+
+
Speaker Bio:
+
Mathis Beer has been working at Funkwerk for close to two years. In that time, he has witnessed and contributed to the transition of our design sentiment of OOP-heavy code made generic by a class hierarchy, to cleanly separated domains of concern connected by a plain-old-data semi-immutable domain model. This has various advantages.
+
Duration: 50 minutes
+ Talk type:Keynote: Allocating Memory with the D Programming Language
+ Level: All
+
+ Slides:PDF
+ Video
+
+
Abstract:
+
Non-trivial programs are typically heavily dependent on allocating memory. The strategy chosen can have enormous influence over the utility of the resulting program. D supports a number of techniques for allocating memory. Even within a program, multiple techniques can be used. I'll cover the main strategies, along with their strengths and weaknesses. Coverage includes garbage collection, C style allocation, stack allocation, RAII, scope guard, hybrid stack/malloc, and no-allocation allocation.
+
+
Speaker Bio:
+
Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages. He's an expert in all areas of compiler technology, including front ends, optimizers, code generation, interpreter engines and runtime libraries. Walter regularly writes articles about compilers and programming, is known for engaging and informative presentations, and provides training in compiler development techniques. Many are surprised to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30 years after its debut.
The D programming language is used in writing development tools at Mercedes-Benz Research and Development, North America. This talk will present how the many low- and high-level features of D and its standard library have been used effectively in migrating and merging ROS bag files: bit manipulations, templates, UDAs, UFCS, design by introspection, mixins, code generation, and more.
+
+
+
Description
+
+
The Robot Operating System (ROS) is a set of software libraries and tools that are useful in research and development of robots and other autonomous devices like self-driving cars.
+
+
+
ROS applications communicate with each other through messages that are published and subscribed under specific topics. Messages of ROS sessions can be stored in so called "bag files" for further research and development. As message types ordinarily need to be improved in active development, existing bag files become incompatible but can be migrated.
+
+
+
Mercedes-Benz Research and Development, North America, in partnership with Bosch, use ROS as a tool in research in their autonomous driving projects. This talk will describe how D has been useful in writing tools for migrating and merging bag files.
+
+
Speaker Bio:
+
Ali is a software engineer with programming language experiences mostly in C, C++, and D. His past work includes a fun stint at WekaIO, a high performance storage company that bases its technology entirely on D. Ali is the author of the book Programming in D, the Secretary and a board member of The D Language Foundation, former acting president of the Silicon Valley Chapter of the ACCU, an organizer of the Silicon Valley DLang meetup group, and a team member of the revolutionary Mill CPU. He currently works in the sensor fusion team of the Autonomous Driving division at Mercedes-Benz Research and Development, North America. One of his responsibilities is helping with ISO 26262 software safety issues.
+
Ranges are so good, we semi-accidentally ended up developing software in a language where ranges were almost the only feature developed. Inspired heavily (cough cough) by D's ranges, we were able get moving fast with basic data processing before most of the language was complete. Over many months of writing code—including a lot by non-D users and people who weren't at the start active programmers—many lessons were learnt; some sweet, some bitter, some downright perplexing. Overall a picture emerged of what ranges are good for, what they aren't suited to, and what they could become good at given specific language and community attention.
+
+
+
Description
+
+
This is both an experience report of using D itself in industry and the concepts that modern D embodies. The aim is to make people aware of just how much you can do with ranges and how this opens the door to writing code without having to leverage so much deep programming craft. The talk would consist of perhaps 5-10 mins introduction on how ranges work (including some of the unpleasant parts like how to initialise the front), 15-20 mins on examples of interest of how ranges have worked for us at Symmetry and 20-30 minutes of exploring the limits of ranges as a generic framing for a variety of programming tasks, with a special focus on ease of use and readability informed by our experiences so far using a heavily range-based DSL.
+
+
Speaker Bio:
+
I am a long time low-frequency contributor to the D community in various forms, ranging from one-line fixes on new dub repositories to wider visions of what D can do in science and GPU computing (my thanks to many other people for making their more substantial visions reality) to tips and tricks for comers both new and old on the D forums. I have a background in physics and aim to bring the disciplined yet creative pragmatism of that field to what I produce, both in open source and my work at Symmetry Investments.
+
Symmetry Autumn of Code has been a great opportunity for a few motivated developers to challenge their abilities and boost their involvement in the DLang Community while contributing to the D ecosystem. This report is going to describe my experience as a participant, focusing on the benefits that SAoC brought to me and the community and what future projects could learn from it.
+
+
Speaker Bio:
+
Francesco Gallà is a MSc student in Computer Science at University of Turin, Italy. He is interested in language theory, network protocols and formal verification methods for concurrent programming, a topic which he's working on for his master thesis. He also enjoys hiking and climbing when he leaves the keyboard behind. He discovered D while looking for modern alternatives to C and C++ which could be used for system programming on multiple platforms (notably Linux). He took part in Symmetry Autumn of Code 2018 to work on the HTTP/2 implementation for the Vibe.d framework.
+
The fourth day of DConf 2019 is set aside for our 3rd annual Hackathon! Collaborate with fellow D hackers to make the D community a better place.
+
+
+
Description
+
+
The first DConf Hackathon resulted in, to quote Walter Bright, "A tsunami of pull requests". That cemented its place as part of the DConf tradition. The 2018 edition of the Hackathon saw coders from Ubisoft tutoring some folks on game development in D, a clinical bioinformatician organizing programmers interested in contributing to projects for genomic bioinformatics, and keyboards banging on & birds-of-a-feather discussions about a variety of issues from the D ecosystem.
+
+
+
This year, just as we did in Munich, we're opening the Hackathon doors to the general public. If you're in the area, we invite you to join us. Learn more about D, help some D coders hack on a project, partake in some interesting conversations, or just drop in and say hi! We'll even provide lunch and snacks for our guests as we can. Availability for the food will be limited, though, so it's a first-come-first-serve sort of thing. If you do join us in the morning, be sure to have a backup plan for lunch just in case.
+
+
+
In 2018, we kicked off the Hackathon day with one more talk. This year, we're starting it with an Annual General Meeting to hash out longstanding issues and set the stage for the Hackathon. The morning Hackathon session will begin immediately following the AGM, the afternoon session immediately after lunch.
+
+
+
We encourage all attendees interested in D's future to stick around until May 11 for the AGM and the Hackathon!
+
The fourth day of DConf 2019 is set aside for our 3rd annual Hackathon! Collaborate with fellow D hackers to make the D community a better place.
+
+
+
Description
+
+
The first DConf Hackathon resulted in, to quote Walter Bright, "A tsunami of pull requests". That cemented its place as part of the DConf tradition. The 2018 edition of the Hackathon saw coders from Ubisoft tutoring some folks on game development in D, a clinical bioinformatician organizing programmers interested in contributing to projects for genomic bioinformatics, and keyboards banging on & birds-of-a-feather discussions about a variety of issues from the D ecosystem.
+
+
+
This year, just as we did in Munich, we're opening the Hackathon doors to the general public. If you're in the area, we invite you to join us. Learn more about D, help some D coders hack on a project, partake in some interesting conversations, or just drop in and say hi! We'll even provide lunch and snacks for our guests as we can. Availability for the food will be limited, though, so it's a first-come-first-serve sort of thing. If you do join us in the morning, be sure to have a backup plan for lunch just in case.
+
+
+
In 2018, we kicked off the Hackathon day with one more talk. This year, we're starting it with an Annual General Meeting to hash out longstanding issues and set the stage for the Hackathon. The morning Hackathon session will begin immediately following the AGM, the afternoon session immediately after lunch.
+
+
+
We encourage all attendees interested in D's future to stick around until May 11 for the AGM and the Hackathon!
+
Adoption of an emerging language at a $4.8bn hedge fund.
+
+
Speaker Bio:
+
Laeeth Isharc graduated in 1996 from Trinity College, Cambridge, and holds an MA in Economics. Since 2014 he has been developing tools to apply technology to the investment process.
+
Duration: 60 minutes
+ Talk type: Presentation
+ Level: All
+
+
+ Video
+
+
Abstract:
+
Got a D project or idea you want the world to know about? Can you tell the world about it in 5 minutes? Here's your chance! Send an email to social@dlang.orgbefore the conference, or let us know before May 9 at the conference, and if there's room we'll squeeze you in.
+
You’ve developed your app in D, now how to get it into people’s hands? In this talk I will cover several packaging methods for your CLI or web app.
+
+
+
Description
+
+
One of the harder problems is how to manage dependencies, not just during development in a team where people have different operating systems, but also during deployment in the cloud or customer's environment. DUB is a great package manager for D, but does little to help you build the final deployment package. In the past I’ve created DEB and RPM packages for my D apps, but more recently I'm using Docker containers and/or NIX packages. The latter is great for managing dependencies and creating a platform-agnostic package and can also be used to create minimal Docker containers.
+
+
Speaker Bio:
+
Lionello Lunesu is creator of Nounly and Co-Founder of Enuma Technologies, a hardware/software consultancy company in Hong Kong, building solutions for enterprise customers. Nounly started as a weekend project, but turned into a web app people started to rely on. To meet expectations, Nounly was ported to Vibe.D and is now hosted as an auto-scaling web service.
+
This talk explores how D's compile-time features could be made even more approachable and regular. Currently, each compile-time feature has its own syntax, implementing an approximate equivalent of a corresponding run-time feature. This duplication and imperfect mapping between the two introduces complexity and irregularities into the language. The talk discusses how these issues could be addressed by distinguishing between compile-time and run-time facilities at the level of the type system, instead of the language grammar.
+
+
+
Description
+
+
One of the ways in which D improves upon C++ is by providing powerful, yet sensible, facilities for compile-time computation, conditional compilation and metaprogramming. Several D features contribute to make these compile-time activities more approachable and more similar to regular programming. Yet, despite D already comparing favorably with other languages, using compile-time features still requires additional expertise and often presents stumbling blocks and inconveniences.
+
+
+
D distinguishes between run-time and compile-time facilities by using different syntactical constructs for both. For instance, compile-time value declarations can be distinguished from normal ones by the use of the enum keyword. Generic functions can be recognized by the use of two sets of parameters, or by the employment of a template declaration. A conditional becomes a compile-time decision when the static keyword is prepended to the regular if statement. The list goes on.
+
+
+
These differences introduce into the language complexity and irregularities that can create problems. They make the language harder to learn and master; they create corner cases and unexpected interactions; and they make it harder to transition code between the run-time and the compile-time realms, and freely combine from both. For example, if you have a call to a function such as writefln you cannot automatically take advantage of compile-time knowledge of the arguments. Instead, the user must change the call syntax according to the circumstances, which becomes even more problematic in generic code.
+
+
+
This talk makes the case for introducing a new type qualifier, to denote the notion of a compile-time value, and discusses how doing so could address many of these issues.
+
+
Speaker Bio:
+
Luís currently works at lowRISC, a not-for-profit organization that creates open-source hardware and associated tools. In particular, Luís has been working on improving the RISC-V backend of the LLVM compiler infrastructure. He is a long-time D user. More recently he has been experimenting with D language extensions, such as for hardware design.
+
D is advertised as a safe and fast systems programming language. “Fast code, fast." is the mantra of the D community. But how fast is it really and how suitable for systems programming? We thought to investigate this by porting a Linux kernel driver to D, documenting the process, and assessing the results. The talk will delve into the details of integrating a D kernel module with the C-written kernel, discuss the difficulties encountered, and present the performance and safety benchmarks obtained. If you ever wondered if writing a Linux driver in D would be a good idea and
+how to do that, then this talk could be a good starting point for you.
+
+
+
Description
+
+
The talk aims to present the steps we took to port a Linux device driver to D, namely virtio_net. We will comment on the main difficulties we encountered and how we overcame them, the safety improvements we achieved using features implemented in the D language, and the performance and safety benchmarks obtained. There will be five big topics discussed:
+
linking a D object file with the other Linux kernel objects
+
porting C code to D: issues, design decisions and shortcomings
+
a better C: the features we used to improve the code’s safety and how we did that
+
assessing the D-written driver’s behaviour: benchmarks and results
+
conclusions
+
+
+
+
The talk offers a starting point and proposes a methodology for those who want to port or implement a Linux driver in D and, in the end, reflects on how suitable D is for kernel programming, how fast it is in such an environment, and what improvements it brings.
+
+
+
Current Status
+
+
By the end of March, the porting of the virtio_net driver will be done. From that point on, we will begin “D-ifying” the obtained code and benchmark it. Our estimate is that by the time of the conference everything will be ready. Even if something unexpected occurs and delays the project schedule, we think that the discoveries we have made so far should be interesting enough for the D community.
+
+
Speaker Bio:
+
Alexandru Militaru is a student in his final year of bachelor’s studies and an undergraduate teaching assistant at University "Politehnica" of Bucharest. He is passionate about operating systems and compilers. In his bachelor thesis project, he uses the D programming language to strengthen the security of Linux kernel modules.
+
In this talk I will present an approach to perform machine learning as part of our existing D applications at dunnhumby. It covers not only our integration of the MXNet deep learning library, but also why we chose this option in comparison. Our implementation is split into two parts: bindings for the MXNet C API and convenience wrappers. I will present and discuss the exposed API for solving learning problems. Its building blocks are common across major learning frameworks, namely, n-dimensional arrays, (stochastic) gradient calculations and optimization algorithms.
+
+
+
Finally, I will show how you can solve your machine learning problem using the presented library.
+
+
+
Description
+
+
Machine learning has come a long way since its birth in the 1950s. Thanks to the availability of data and computational resources, many problems are routinely solved using machine learning these days. In comparison to (explicit) programming, machine learning is about performing a task without explicit instructions but rather by means of learning from data. Machine learning comes with its own up- and downsides but is largely expected to stay relevant in the 21st century as a core technology.
+
+
+
At dunnhumby we integrate machine learning into our D applications with an aim to get the most out of what it has to offer. We developed a machine learning library called dmxnet which integrates MXNet. MXNet is one of the lesser known machine learning libraries, though it is easy to integrate and work with. It has received back up from Amazon. Other noteworthy mentions related to learning frameworks include TensorFlow, Keras and PyTorch.
+
+
+
Our library was open-sourced in 2017 and can be found at https://github.com/sociomantic-tsunami/dmxnet. Recently, it was converted to D2-only, which would make it even more appealing to a wider audience. Special care is taken with respect to garbage collection in order to avoid adversely affecting the real-time behavior of our applications. The code also comes with unit and integration tests and code changes are always reviewed and continuously integrated.
+
+
+
Our current implementation exposes only core MXNet functionality like n-dimensional arrays, gradient calculations and model parameter updates. Specifically, we did not include its distributed key value store and handling of datasets since we use our own existing open source solutions.
+
+
Speaker Bio:
+
Jens studied computer science at Ulm University and Humboldt-Universität zu Berlin. Afterwards he started a Phd in Machine Learning and defended his thesis in 2014. He stayed for a brief post-doc and left academia in 2016 to join dunnhumby.
+
On the evolution of a parser generator written in D.
+
+
+
Description
+
+
The parsers of real-world compilers like dmd and clang are hand-written. Does it have to be that way? Tools like Coco and AntLR are too simple or bring additional dependencies. In many such tools support for D is outdated or not available. When I was faced with the task of writing a parser for a programming language, I did not think about it for a long time, and decided to create a hand-written reursive descent parser. But it was immediately clear that this is a tedious job. I came up with the idea to automate the essential part of it. The aim was to achieve convenience before completeness. Repetitive activities should be removed from the programmer's resonsibilities without causing restrictions.
+
+
+
The result is my tool, LLtool. LLtool generates just the body of a parser from a grammar description, relying on conventions to interface with other parts of a compiler. In my talk I show how a grammar and a recursive descent parser relate to each other and create a parser from a grammar description. I also show how limitations of my approach can be solved in a systematic way. A further topic is how to support language variations. For demonstration, I use the grammar of a real programming language.
+
+
Speaker Bio:
+
Kai Nacke is a professional IT architect. In his spare time he likes to develop open source applications. He was maintainer of LDC, the LLVM-based D compiler, and a committer of the LLVM project. His contributions to LDC include ports to different CPU architectures and operating systems. Another interest of him is using D for business applications. He is the developer of the D bindings for SAP. Besides being programmer, he is also the author of "D Web Development" and a speaker at the Free and Open Source Software Developers' European Meeting (FOSDEM).
+
Duration: 50 minutes
+ Talk type: Presentation
+ Level: All
+
+ Slides:PDF
+ Video
+
+
Abstract:
+
The talk will mention psychological aspects of programming language adoption, and how C++ "conquered the world" by removing barriers to entry for C programmers. It will suggest a way for D to copy C++'s success in this area.
+
+
+
Description
+
+
The talk will cover anecdotes from the speaker's experience with regards to getting software teams to adopt, or at least consider adopting, D. It will mention that the speaker himself once chose C++ over D at work, why his team efforts ultimately failed, and the steps he believes are needed to decrease the friction of adoption so that it comes naturally.
+
+
+
The talk will spend some time on C++'s success, specifically how it made the transition from C codebases so easy that its ubiquity will quite likely last at least a few decades more. It is the speaker's belief that C++'s killer feature is the ability to #include C headers with at most wrapping the preprocessor directive in an
+extern "C" {} block, and the talk will argue that the only way to emulate that success is to "steal" said killer feature. That is, to make it possible to write:
+
#include "foo.h"
+And have that work as simply and easily as it does in C++, with the exact same semantics.
+
+
+
The talk will conclude with a case study of an implementation of said feature that doesn't require compiler modifications or a forked compiler, and suggest that some of the work demonstrated be included in future versions of dmd.
+
+
+
It will also mention existing alternatives in the D ecosystem to interface with C and C++ and how they're not enough to make adoption as easy as it can be.
+
+
Speaker Bio:
+
Átila Neves has a PhD in Particle Physics for research done at CERN. Most of the time spent there required programming in C++, with a 2-year stint as a Perl programmer in the IT department's security team. He also worked for Cisco for almost 7 years, developing networking software in C and C++ and leading his teams in the areas of software quality and testing. He now works as a D consultant/programmer for Symmetry Investments. He spends his spare time yelling at the screen in frustration while waiting for computers to compile his code.
+
One of the newest D features (not yet released) is the copy constructor. If you want to get a head start on what it can do, how it is better than the postblit and why it was designed this way, then this is the talk for you.
+
+
+
Description
+
+
The D version of the C++ copy constructor, historically called “postblit”, offers the advantage of automatic field copying, but comes with the shortcoming that it cannot correctly perform copies from differently qualified source/destination objects. Moreover, the automatic copying of immutable fields is problematic since the object is passed to the user in a cooked state and cannot be further modified. With the evolution of meta-programming the field copying that the postblit does automatically can be easily replaced by a few lines of code, rendering the single advantage of the postblit useless. This is where the new copy constructor steps in: it can create copies from differently qualified objects, therefore being able to initialize immutable objects and it does not
+present any safety vulnerabilities.
+
+
+
The main topics of the talk will be:
+
Postblit problems
+
Copy constructor as an alternative
+
Syntax
+
Semantics
+
Implicit generation of copy constructors
+
Future (possible) enhancements
+
+
+
+
The copy constructor is fully implemented and the DIP has been accepted. It is estimated that by the time of this talk, the copy constructor will be available in the master branch of the D
+compiler.
+
+
Speaker Bio:
+
I am a PhD student doing my thesis on programming languages and I have been contributing to the D compiler for 2.5 years.
+
Duration: 50 minutes
+ Talk type:Panel
+ Level: All
+
+
+ Video
+
+
Abstract:
+
Ready your pitchforks and rotten fruit! Prepare your rose petals and candy! But most of all, sort your queries! This is your chance to raise your hand and ask D's maintainers directly to fill you in on the things about D and the ecosystem that matter to you most. It's been a while since Walter and Andrei faced the unrestrained, unpredictable, and intelligent grilling the D community loves to bring them. Remind them how much fun it is!
+
+
Speaker Bio:
+
Andrei Alexandrescu coined the colloquial term "modern C++" (adapted from his award-winning book Modern C++ Design), used today to describe a collection of important C++ styles and idioms. He is also the coauthor (with Herb Sutter) of C++ Coding Standards and the author of The D Programming Language book. With Walter Bright, Andrei co-designed many important features of D and authored a large part of D's standard library. His research on Machine Learning and Natural Language Processing completes a broad spectrum of expertise. Andrei holds a Ph.D. in Computer Science from the University of Washington and a B.Sc. in Electrical Engineering from University "Politehnica" Bucharest. He works with the D Language Foundation.
+
+
+
Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages. He's an expert in all areas of compiler technology, including front ends, optimizers, code generation, interpreter engines and runtime libraries. Walter regularly writes articles about compilers and programming, is known for engaging and informative presentations, and provides training in compiler development techniques. Many are surprised to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30 years after its debut.
intel-intrinsics is a D SIMD library that reuses existing Intel syntax for SIMD intrinsics, .
+
+
+
Besides familiarity, we'll discuss the measurable improvements you may expect today from your usage of intel-intrinsics, versus alternatives, with examples of real production code.
+
+
+
What could possibly be more boring than that?
+
+
+
It turns out intel-intrinsics is different from equivalents in other languages. Our vision is to decorrelate semantics and codegen completely to harness the power of the backend.
+
+
Speaker Bio:
+
Guillaume Piolat worked as a professional complainer in various segments of the software industry: mostly signal processing. Struck by baldness early, he is now a purveyor of audio effects in the pro audio market, as Auburn Sounds. Guillaume created "D-idioms", a blog to bring awareness on the most mundane points of the language. You will likely see him rant about complexity on the D forums.
+
Duration: 50 minutes
+ Talk type: Presentation
+ Level: All
+
+ Slides:PDF
+ Video
+
+
Abstract:
+
The presentation will make the case why spreadsheets are D's biggest competition on its way to world domination and how this battle can be won.
+
+
+
Description
+
+
Languages like C++, Rust or Go seem to be the natural competition for the D programming language. This presentation will show how this is only true for a selected field of industries, and how spreadsheets are the dominant programming language on
+the planet. After a brief and humorous look into the capabilities and idiosyncrasies of spreadsheet programming, using D as an alternative will be explored. Starting from there, techniques will be presented to combat spreadsheets on all fronts. These techniques will span a wide range of activities from data extraction, database interaction, use of existing code (in various languages), and finally data exchange via GraphQL*. All of these techniques will be examined under the scope of applicability, required effort, and impact.
+
+
+
* GraphQL is a data query and manipulation language that is superseding more and more REST APIs.
+
+
Speaker Bio:
+
Robert Schadek received a Master degree in computer science at the University of Oldenburg. His master thesis was titled "DMCD A Distributed Multithreading Caching D Compiler" and introduced multi-threading among other optimizations to the compiler control flow. He was a computer science PhD student from 2012-2018 at the University of Oldenburg. His PhD research focuses on quorum systems in combination with graphs. Since 2018 he is happily using D in his day job working for Symmetry Investments.
+
Duration: 50 minutes
+ Talk type: Presentation
+ Level: All
+
+ Slides:PDF
+ Video
+
+
Abstract:
+
Why is it that every time I write some project in D, I end up writing a serializer? I believe the reason lies in the ease with which you can use D to write generative code. It comes down to the fundamental truth that writing code that rids you of boilerplate is not only fun and satisfying, but when it’s easy, you feel foolish not to do it! With D, teaching the compiler how to write code is easier than with any other language I know, and everyone should be doing it.
+
+
+
Description
+
+
I’ve written a few different libraries in D, I’ve written some in C++, Java, and several other languages. But every time I write some code where I find myself copy/pasting or writing tedious code that maps one type of thing to something else, I yearn to use D’s awesome compiler capabilities. D is the only language where I feel comfortable writing generative or templated code, and can actually read and understand (and maintain) the result.
+
+
+
This talk will cover several examples of generative programming from the community, and show how all the tools the compiler provides makes such programming far simpler than the manual alternatives. If you ever wrote a program in D, and used templates or static if, you probably know this feeling. Even more so if you have used generics or templates in other languages. But add in CTFE, User-Defined Attributes, compiler __traits, and mixins, and all of a sudden, you can quit your “day job” of writing boilerplate, and let the compiler do all the hard work.
+
+
Speaker Bio:
+
Steven Schveighoffer has written several D libraries, including dcollections (container library) and iopipe (a high-performance i/o pipeline library). He has numerous contributions to both Phobos and Druntime, including rewriting the array runtime, and the RedBlackTree implementation. Most recently, he is working on getting the JSON iopipe library ready for release, including a full serializer.
+
Every class defined in the D language has Object as the root ancestor. Object defines four
+methods: toString, toHash, opCmp and opEquals; at first glance, their presence might not
+strike you with much, but they are doing more harm than good. Their signatures predate the
+introduction of the @nogc, nothrow, pure, and @safe function attributes, and also of the const,
+immutable, and shared type qualifiers. As a consequence, these methods make it difficult to use
+Object with qualifiers or in code with properties such as @nogc, pure, or @safe. We propose
+the introduction of a new class, ProtoObject, as the root class and ancestor of Object.
+ProtoObject defines no method and requires the user to implement the desired behaviour
+through interfaces: this approach enables the user to opt-in for the behaviour that makes sense
+for his class and the design is flexible enough to allow future attributes and language
+improvements to be used without breaking code.
+
+
+
Description
+
+
We start by having a look at the current design and discuss the shortcomings of Object. There are two main issues:
+
The user has no way of opting out of one of the four methods; Ex. there are classes for which opCmp doesn't make sense
+
The signatures predate function attributes and qualifiers and this makes it difficult, if not impossible, to work with object in attributed code. Since we sadly can't predict the future and know if and what attributes and qualifiers will be available in the language, this is yet another argument to have a ProtoObject with no methods.
+
+
+
+
We will discuss how existing code and new code will interact with ProtoObject in this brave new world.
+
+
Speaker Bio:
+
Eduard is a PhD student and Teaching Assistant at University "Politehnica" of Bucharest. He is a hard working student who enjoys to get his hands dirty
+
+
+
He likes learning new technologies and strengthening his current knowledge. He is passionate about computer science, programming languages, coffee and doing nothing. His previous experience includes distributed systems and parallel programming, operating systems, basic kernel development, open-source software and basic Android programming. He is a Linux fan, a command line addict and a vim enthusiast. He hopes that through his work he will be able to help and improve the D language, which he is becoming so fond of.
+
SARC is an engineering company listed as one of the organisations using D. An important pillar of its business is the development of software for the maritime industry. Currently, its main D-related focus is to translate all of its 500KLOC of Extended Pascal into D using an in-house developed transcompiler. The transcompiler is purely developed using D tools, which was the subject of my DConf 2017 talk. SARC's motivation for selecting D as its future language was presented on the D blog in 2018. This talk will present the proceedings of this particular transcompilation effort, discussing challenges and strategies, and the D language features that help to make the project a success.
+
+
+
Description
+
+
Subjects that I plan to cover:
+
Review of earlier developments (Initial Pegged parser, working on Pegged itself to solve left-recursion etc., sample manual translations into multiple languages, language evaluation).
+
Dealing with language differences (case [in]sensitivity, array and string indices, mutable strings, bit sets, schema types, memory management).
+
Keeping backwards file IO compatibility in the end products.
+
Finding a balance between literal translation (reimplementing the language in D) and migration towards standard D (string type?)
+
Transcompilation project on live code: I am busy implementing the transcompilation while colleagues continue developing the software further.
+
Finding a balance between perfecting automation and keeping the transcompiler simple at the price of requiring manual tweaking.
+
No symbol table -> no import resolution, no scope, no stack, no type conversion, no semantics.
+
Conditioning the code for transcompilation case.
+
Building a tool that does the right thing most of the time based on heurtics, insert CT introspection checks that it did the right thing (adding extra braces where necessary), do manual fix ups in the original source where necessary, finally retranslate without the CT checks.
+
Where D could improve (type conversion (initial value types), cycles of module constructors, dub preGenerateCommands, Pegged improvements)
+
Summary of valuable D language features
+
Matryoshka doll analogy. There's another hill after reaching each new top. There's progress but you never know when you'll be done until you're done.
+
+
+
Speaker Bio:
+
Bastiaan Veelo is the lead developer of a specialised program for the computer aided geometric design of ship hulls called Fairway, for the company SARC in the Netherlands. He holds a B.Eng. in naval architecture from the Haarlem Polytechnic, an M.Sc. in marine technology and a Ph.D. in mechanical engineering from NTNU, the Norwegian University of Science and Technology. He has been following the development of the D programming language from its early days, but only started using it actively since 2015 when he saw a chance to change his own future. Now he is well on his way in his master plan to convert his employer's business to a D shop.
+
Design by introspection and compile-time function evaluation is fun and exciting. Especially for a performance-focused programmer that likes the idea of running as much code as possible offline. But it’s also something of a wild-west. There are idioms for standard metaprogramming approaches. But what else is the language capable of? Join Ethan as he discovers just how far he can push D with an eye on making a code base easily maintainable and highly efficient—two goals that have generally been considered mutually exclusive.
+
+
+
This session also aims to give a person new to this kind of programming an easy road into the concepts and methods used.
+
+
Speaker Bio:
+
Fourth time lucky? Ethan Watson is a bit of a vet when it comes to D Conf, having presented at the three previous events. An unhealthy fascination with squirrels aside, his talks are regarded for being information-rich and entertaining at the same time—thanks to combining 16 years of experience as a programmer in the video games industry with his experience in amateur stand-up comedy. He is currently in the process of setting up a middleware studio and working at another Finnish game studio (Housemarque) at the same time.
+
While there are many people actively contributing to the D Programming Language, there are still more than 7 billion people out there who aren’t. This talk will try to explain some of the hurdles typical beginners run into and open them the door to the D world.
+
+
+
Description
+
+
High barrier to enter, finding good issues to get started, and a confusing structure are among the most common reasons people cited, in the State of D 2018, survey which prevented them from contributing to D.
+
+
+
This talk will explain every step on how to become a contributor and core team member. Among others, it will answer these questions:
+
How to find things to help with?
+
How can I fix this bug XZY (with actual examples)?
+
How is a good PR supposed to look?
+
What are all these CIs doing and why are they red?
+
Why is no one reviewing my PR?
+
What is this suspicious dlang-bot and how can he help me?
+
Who has merge rights and how could I get them?
+
How do I follow-up on a PR?
+
What’s the best thing I can do to help D?
+
+
+
Speaker Bio:
+
Sebastian has contributed to D’s core repositories with more than 2.000 pull requests and, while he secretly hates D, he still thinks it's by far the least ugly language. Among others things, he is the
+guy behind run.dlang.io, D’s Functional Garden, the DTour, the D documentation archives, and those mysterious pull requests to your project. Currently, he is helping to organize D’s 2019 GSoC as one of the organization admins for the D programming language.
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/2019/venue.html b/docs/2019/venue.html
new file mode 100644
index 00000000..b5f620a0
--- /dev/null
+++ b/docs/2019/venue.html
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+The D Programming Language Conference 2019
+
+
+
+
+
+
+
+
+
+
+
Venue
+
99 City Road Conference Centre is located in the heart of the area known as East London Tech City, near the Old Street tube and rail stations. Operated by https://www.inmarsat.com, Inmarsat, a global satellite communications firm headquartered in the same location, the venue is equipped to meet the needs of technology-oriented conferences. With its easy access to transportation, its proximity to popular tourist attractions, and the variety of nearby hotels, it's an ideal location for DConf 2019.
+
+
+
+
Inmarsat has relationships with several local hotels allowing discounts for conference attendees. Upon registration, every DConf attendee will receive information on how to take advantage of these offers. Anyone who submits a talk and would like to wait until after the author notification date to register, please send an email to social@dlang.org for details.
+
+
Even with the discounts, the partner hotels may be rather pricey. For those looking for cheaper alternatives, there are at least three budget hotels within walking distance:
+
Other budget hotels can be found within a longer walking distance or a short tube ride away. There are numerous hostels to choose from as well.
+
+
Nightly Gathering Spot
+
Just around the corner from the venue is the Prince Arthur Pub. This is our official gathering spot in the evenings. Mercedes-Benz Research and Development North America has booked a room for us for May 8, 9, and 10. Part of the fun of DConf is talking face-to-face with the other attendees. This backstreet pub is a cozy spot to do so. Drop by, enjoy a couple of rounds with us, and have some fun!
+
Due to the COVID-19 pandemic, the D Language Foundation and our DConf 2020 sponsors,
+ Symmetry Investments, came to the painful but correct decision to cancel DConf 2020. We
+ hope to bring DConf back as soon as possible, be that in 2021 or some later date.
+
+ The D Language Foundation is very pleased to announce that DConf Online 2020 (not DConf 2020 Online!) took place November 21 and 22, 2020. This two-day event presented a mix of pre-recorded talks and livestream sessions. No registration was required, no payment was necessary. It was open to any and all who would like to participate in real time, and all talks and livestreams will forever persist on DConf Online 2020 Playlist. Be sure to subscribe to the D Language Foundation's YouTube channel for notifications and reminders about future editions of DConf Online and other D-related videos!
+
+
+ The prerecorded talks are listed in the schedule below, along with links to the relevant slides and videos. Both the Day One Q & A Livestream and the Day Two Q & A Livestream are available to view in their entirety. We have chopped them up into individual Q & A videos for each talk and made them available in a DConf Online 2020 Q & A Playlist. The Ask Us Anything! session with Walter and Átila is also be availble as a standalone video in the main DConf Online 2020 playlist.
+
+
+ Thanks to everyone who took part in DConf Online 2020! Whether you did so as a speaker or as a viewer, whether you were just lurking or asking questions, the conference would not have been successful without your participation. We now look forward to both the next DConf (whether it be in 2021 or 2022) and the second edition of DConf Online!
+
Memory corruption is a pernicious and expensive problem.
+ Too often scrubbing it out of code requires manual review,
+ which becomes increasingly impractical as the size of code
+ increases. Runtime checks are inadequate because they cannot
+ prove that memory corruption cannot happen since only the test
+ cases are checked. The idea is to be able to detect memory
+ corruption at compile time as much as possible.
+
+
D has had great success at greatly reducing many common
+ forms of memory corruption, such as buffer overflows, use of
+ uninitialized pointers, constructing invalid pointers, and
+ dangling pointers into expired stack frames.
+
+
The largest remaining category of such problems is tracking
+ the lifetimes of memory objects and the references to them.
+ The idea is to pair every memory allocation with exactly one
+ deallocation and prevent references to a memory object
+ from surviving past the lifetime of that object. This presentation
+ describes the design of a memory ownership and borrowing
+ system suitable for inclusion into the D language, addressing
+ that category.
+
+
Walter Bright is the creator and first
+ implementer of the D programming language and has implemented
+ compilers for several other languages. He's an expert in all
+ areas of compiler technology, including front ends, optimizers,
+ code generation, interpreter engines and runtime libraries.
+ Walter regularly writes articles about compilers and
+ programming, is known for engaging and informative
+ presentations, and provides training in compiler development
+ techniques. Many are surprised to discover that Walter is also
+ the creator of the wargame Empire, which is still popular today
+ over 30 years after its debut.
Loosely related to his
+ DConf 2019 presentation, Ali will present features of D that
+ have proven to be productive at Mercedes-Benz Research and
+ Development, North America: Parallelism, message passing
+ concurrency, nested functions, formatted strings, parsing files
+ at compile-time, profiling and reducing memory allocations, and
+ more.
+
+
Ali is a software engineer with
+ programming language experience mostly in C, C++, and D. His
+ past work includes a fun stint at WekaIO, a high performance
+ storage company that bases its technology entirely on D. Ali is
+ the author of the book Programming in D, the
+ Secretary of the D Language Foundation Committee, former
+ acting president of the Silicon Valley Chapter of the ACCU, an
+ organizer of the Silicon Valley DLang meetup group, and a team
+ member of the revolutionary Mill CPU. He currently works in the
+ sensor fusion team of the Autonomous Driving division at
+ Mercedes-Benz Research and Development, North America. One of
+ his responsibilities is helping with ISO 26262 software safety
+ issues.
+
+
+
+
+
+
D: The Functional Programming Language Nobody is Talking About
D is a functional programming language, but nobody is
+ talking about it. This should change, as functional
+ programming offers many advances that are easily exploited in
+ D.
+
+
D is a multi-paradigm programming language, and one of those
+ paradigms is functional programming. Even though functional
+ programming is often considered to be a niche paradigm, it
+ offers many advantages. These advantages are easily exploited in
+ D. Unfortunately, functional programs are not bug free either,
+ but D's unique combination of built-in unit tests, functional
+ programming, and built-in code coverage allows many/most bugs to
+ be caught early.
+
+
Robert Schadek received a master's degree
+ in computer science at the University of Oldenburg. His master's
+ thesis was titled “DMCD A Distributed Multithreading
+ Caching D Compiler” and introduced multi-threading, among
+ other optimizations, to the compiler control flow. He was a
+ computer science PhD student from 2012–2018 at the
+ University of Oldenburg. His PhD research focused on quorum
+ systems in combination with graphs. Since 2018 he has been
+ happily using D in his day job working for Symmetry
+ Investments.
Symmetry Integration Language (SIL) is a D-based
+ domain-specific language of functional flavor. Heavily relying on
+ D's reflection mechanism and its inherent plasticity, one of SIL's
+ greatest achievements is its interoperability with many other
+ sorts of languages and systems. This talk aims to present one of
+ SIL’s extensions, called “sil-cling”, that allows transparent
+ calling of C++ libraries via JIT compilation at runtime. Following
+ DConf’s lightning talks tradition, this presentation will be a
+ quick mix of description and demonstration of sil-cling’s
+ power.
+
+
Alexandru Militaru is an MSc student at
+ University "Politehnica" of Bucharest. He is passionate about
+ operating systems and compilers. In his bachelor thesis project,
+ he used D to strengthen the security of Linux kernel modules. This
+ was the subject of his very
+ first talk at DConf 2019. He now works as a D
+ consultant/programmer for Symmetry Investments.
+
+
+
+
+
Livestream: Ask Us Anything!
+
+ Walter Bright and Átila Neves
+ Nov 21, 18:00 UTC
+
DConf wouldn't be DConf, online or otherwise, without the “Ask
+ Us Anything!” tradition, where the language maintainers step onto
+ the stage to face the assembled mob
+ crowd, take their grilling
+ questions, and provide them with the answers they're looking
+ for.
+
+
For our online version, Walter and Átila will be taking most
+ questions from the livestream chat, but we'll also invite a
+ limited number of participants into the conference call to ask
+ their questions directly. Details will be provided at the top of
+ the event.
+
+
So prepare your statements and compile your queries! Walter
+ and Átila are very much looking forward to them. Really. No
+ fooling.
In this talk, Mathias will share his recent work and
+ future plans related to two topics that are core to D.
+
+
First and foremost, parameter passing: how the current
+ defaults affect us and the issues they bring. This includes the
+ recently added `-preview=in`, an experimental feature that
+ landed in D v2.094.0, and which attempts to redefine input
+ parameters.
+
+
The second part will focus on an issue that every library
+ developer should be familiar with: how delegates and attributes
+ are often at odds, and how writing good library code to support
+ them is not currently possible. Finally, Mathias will show
+ how a simple language addition could help solve this
+ problem.
+
+
Mathias Lang started his journey with D
+ in 2012 while looking for a language which could quench his
+ metaprogramming thirst. After a few years at Sociomantic Labs,
+ he is now CTO for https://bosagora.io, developing a
+ blockchain project in D.
Adam will demonstrate some of his arsd D libraries
+ as well as his personal development process by livecoding a
+ small, simple, online multiplayer game that runs natively on
+ Windows, Linux, and WebAssembly from the same source, along with
+ a web server to coordinate online play. He'll add functions to
+ the WebAssembly libraries as needed, giving a chance to discuss
+ how and why it works the way it does.
The trials and tribulations of a programming language designer.
+
+
Átila gives some background on his view of programming language
+ design and how he spends his time. He has organized his thoughts
+ into four main topics: why he and Walter care about
+ @safe, his belief in the "less is more" principle,
+ the projects he'd like to be working on, and the projects he's
+ actually working on.
+
+
+
Átila Neves has a PhD in Particle Physics
+ for research done at CERN. Most of the time spent there required
+ programming in C++, with a two-year stint as a Perl programmer
+ on the IT department's security team. He also worked for Cisco
+ for almost seven years, developing networking software in C and
+ C++ and leading his teams in the areas of software quality and
+ testing. He now works as a D consultant/programmer for Symmetry
+ Investments, as well as being the deputy maintainer of the D
+ programming language. He spends his spare time yelling at the
+ screen in frustration while waiting for computers to compile his
+ code.
+
+
+
+
+
‘Serialized’: Cleanly Encode/Decode JSON and XML to any Data Type
‘Serialized’ is Funkwerk's
+ recently open-sourced library for generically
+ encoding/decoding XML and JSON. This talk is about how to use
+ it, how it looks in practice, leaf encoding/decoding, why XML
+ sucks, generic transformers (functions that take internal data
+ types and yield a simpler data type that can be chained), and a
+ call to action.
+
This talk will demonstrate a method of exposing a D library
+ through a C API and give an example of using the library from
+ Python.
+
+
Ali is a software engineer with
+ programming language experiences mostly in C, C++, and D. His
+ past work includes a fun stint at WekaIO, a high performance
+ storage company that bases its technology entirely on D. Ali is
+ the author of the book Programming in D, the secretary and board
+ member of The D Language Foundation, former acting president of
+ the Silicon Valley Chapter of the ACCU, an organizer of the
+ Silicon Valley DLang meetup group, and a team member of the
+ revolutionary Mill CPU. He currently works in the sensor fusion
+ team of the Autonomous Driving division at Mercedes-Benz
+ Research and Development, North America. One of his
+ responsibilities is helping with ISO 26262 software safety
+ issues.
This is a talk for all D coders who care about
+ @safe and
+ @trusted code (which should be all D coders!).
+ Steve will go over memory safety and how D's related attributes
+ can be used, with a focus on the interaction between
+ @safe and @trusted. It's actually easy
+ to write code that's tagged @safe that isn't
+ actually memory safe, thanks to the possibility that
+ @safe and
+ @trusted code can be written with different
+ semantic expectations on the same data. Steve will dig into this
+ through the example of a tagged union implementation.
+
+
Steven Schveighoffer has been to every
+ real-world DConf since 2013 and has presented at four of them.
+ He has published an article on the D Blog about writing @trusted
+ code, migrated a very unsafe, complex codebase to be @safe, and
+ worked on fixing @trusted issues in Phobos (D's standard
+ library) and DRuntime.
+
+
+
+
+
Faster Compile Times: Approaching Zero Template Overhead
The D programming language offers a plethora of compile-time
+ features which allow for metaprogramming and code generation,
+ and which have seen increased usage over time. As a side effect, D
+ programmers who use these features have found themselves facing
+ increased compile times.
+
+
In this talk, Stefan will dig into DMD's internals to provide
+ context on this phenomenon. Through code examples, he'll show
+ what can cause increased compile times and how to make them
+ faster. He'll preview work that's currently being done to
+ improve the situation and discuss future directions.
+
+
Stefan has been programming in D
+ personally and professionally since 2013. He has taken a special
+ interest in the performance of D’s compile-time features and has
+ been contibuting to DMD for over four years. He has presented
+ either a full talk or a lightning talk at three DConfs and is
+ currently employed as a D programmer by Symmetry
+ Investments.
+
+
+
+
At every real-world DConf, a location near the venue is selected
+ and annointed as the Official After-Hours Gathering Spot. After the
+ last talk each evening, DConf attendees wander in and out, mingling,
+ chatting, and just generally having a good time.
+ Ethan
+ Watson coined the term “BeerConf” to refer to this
+ event, and the name has stuck—so much so that he and other
+ members of the D community initiated
+ an online BeerConf after DConf 2020 was canceled due to the
+ coronavirus pandemic. That one-off event was a hit, and it has been
+ running once a month ever since.
+
+
DConf Online is still DConf, so there still must be a BeerConf.
+ And since it's online, we ran it all weekend! The virtual
+ BeerConf was a lot of fun. We saw more simultaneous participants than
+ in any previous online BeerConf session we've had. For those of you
+ who'd like to join us in our upcoming monthly BeerConf sessions, keep an
+ eye on the D Announce Forum!
+ DConf Online 2020 swag is available for purchase at the DLang Swag Emporium. All proceeds will be directed to the D Language Foundation General Fund, which is the fund we used to provide the free swag to our speakers and prizes to lucky viewers. (Direct donations to the General Fund are welcome, too!)
+
+
We'll keep the DConf Online 2020 swag in the store for the foreseeable future, but don't expect it to be there forever!
+ We had a lot of fun bringing DConf Online 2021 to life. Now we're looking to the possibility to bring DConf back to the real world in 2022, and we're already making plans for the next edition of DConf Online!
+
This talk is a brain dump from Átila on his view of the future of D. He believes that D needs to change, and that it's vital that backwards
+ compatibility be maintained as much as possible. In the process, he outlines some of
+ the major issues D programmers face, shares some thoughts on what's stalling progress, and what some possible future changes could look
+ like (these possible changes are based on his personal opinions, and are not necessarily reflective of any current plans or strategy in his role as a co-maintainer of the
+ language).
+
On another level, this talk is a call to action for the D community. We have an awesome language that we all would love to be awesomer,
+ but we need a group effort if we want to get there. In the meantime, there's a lot of material here for the post-talk Q & A session, and Átila is eager
+ to answer your questions!
+
+
Átila Neves has a PhD in Particle Physics
+ for research done at CERN. Most of the time spent there required
+ programming in C++, with a two-year stint as a Perl programmer
+ on the IT department's security team. He also worked for Cisco
+ for almost seven years, developing networking software in C and
+ C++ and leading his teams in the areas of software quality and
+ testing. He now works as a D consultant/programmer for Symmetry
+ Investments, as well as being the deputy maintainer of the D
+ programming language. He spends his spare time yelling at the
+ screen in frustration while waiting for computers to compile his
+ code.
The D programming language provides a number of compile-time traits, both
+ in the form of built-ins and a standard library API, that D users can employ
+ in reflecting over their code. But is there a better way?
+
+
In this talk, Stefan will talk about his latest project, core.reflect, a package aimed at making reflection in D more efficient and more coherent by unifying the myriad compile-time traits we currently have in D. The talk will provide a basic overview of the package, describe Stefan's goals for the project, and explain what is currently blocking its completion.
+
+
Stefan has been programming in D
+ personally and professionally since 2013. He has taken a special
+ interest in the performance of D’s compile-time features and has
+ been contibuting to DMD for over four years. He has presented
+ either a full talk or a lightning talk at three real-world DConfs,
+ and this is his second DConf Online talk.
+
+
+
+
+
Life Outside the Big 4: The Adventure of D on OpenBSD
For those of us on systems not officially supported by the D Language
+ Foundation (anything other than FreeBSD, Linux, MacOS, Windows), getting up and running with a D compiler on your platform of choice can be a little difficult. Which compiler do I choose? How do I port DRuntime? What about the unique features
+ of my operating system? How do I get help with all this? How do I reduce my
+ maintenance burden over time? Will anyone even care?
+
+
The journey of D from pie-in-the-sky to a package officially offered
+ in the OpenBSD package repository serves as a model story for other
+ platforms who want to offer D to their userbase. We will walk through the
+ many interconnected parts required to get a D package on OpenBSD, what the
+ future is like for D outside the Big 4, how you can get started with D on
+ your platform, and how those of us who enjoy life outside the Big 4 can be
+ a positive force for D and the D community.
+
+
Brian Callahan is a professor in the Information Technology
+ & Web Science program at Rensselaer Polytechnic Institute in Troy, NY. His
+ research and teaching focuses on cybersecurity, web science, and the
+ digital humanities. Brian has been an OpenBSD developer since 2013,
+ where he has a long-standing project to port and package every compiler
+ in existence for OpenBSD. He is known in the D community for once having
+ written a popular blog post about getting GDC working on OpenBSD, and
+ for writing a blog series on how to write a Z80 assembler in D.
D's large array of metaprogramming features can be quite overwhelming, so Bradley has picked out a few usage examples to spark a few ideas in beginning D programmers trying to find their way.
+
+
This talk starts off with a brief overview of templates, then goes on to demonstrate progressively
+ more advanced metaprogramming featurees. Topics covered include Compile Time Function Excecution (CTFE),
+ User Defined Attributes (UDA), traits, static foreach, and more. At the end of the talk, Bradley
+ highlights examples of real-world D projects that make heavy use of metaprogramming.
+
+
Bradley has been programming as a hobby since 2012. He choose D as his main language due to its expressiveness and amazing metaprogramming abilities. He has written several meta-heavy libraries and can't live without D's compile-time features. This is his first public talk.
Adam is back for another livecoding session to demonstrate his arsd D libraries and
+ his personal development process. This year, he intends to continue
+ developing the project he worked on in
+ his DConf Online 2020 livecoding session,
+ a multiplayer online game that runs natively on Windows, Linux, and WebAssembly
+ from the same source.
+
+
Adam has been a D user for over
+ thirteen years, known as a frequent participant in D chats, the
+ primary creator of the arsd all-purpose
+ library collection, and the author of the
+ D Cookbook. This is his second livecoding session for DConf Online.
The D programming language is designed to have a zero-cost interface
+ to C, but D still needs the corresponding C declarations to be written
+ in D in order for the D compiler to access them. While this is very
+ easy and straightforward, hand-translating 10,000+ lines of C header files
+ gets very tedious very quickly. Mechanical translation of C headers to D
+ has had only limited success.
+
+
The ideal is for it to “just work”. The only solid way to get D code to
+ import C declarations is for the D compiler to be able to compile C code directly.
+
+
Walter has dismissed this approach as unworkable in the past. But the more he
+ thought about, the more he realized he could make it work. After all, he's
+ written a C99 compiler before. He knows how to do it. Piece of cake, right?
+
+ Walter will talk about the journey of ImportC from inspiration to working implementation. And he would like to thank Iain Buclaw
+ for his invaluable help with ImportC!
+
+
Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages. He's an expert in all
+ areas of compiler technology, including front ends, optimizers,
+ code generation, interpreter engines, and runtime libraries.
+ Walter regularly writes articles about compilers and programming, is known for engaging and informative presentations, and provides training in compiler development techniques. Many are surprised to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30 years after its debut.
This talk covers the primitives used to represent glyphs, a bit
+ of linear algebra, how to rasterize those glyphs, and then how to do it on
+ the GPU. No graphics knowledge necessary. Code examples in D!
+
+
Elijah is a self-taught programmer who first discovered D
+ while looking for a better language than C++ for game development. Graphics
+ programming is somethinghe's always found interesting (though he doesn't know it nearly well enough!) because of the somewhat rigid programming model it forces
+ upon you, and the performance you get as a result.
GraphQL is a statically typed query language that is slowly supplanting REST. This talk will focus on D's server implementation.
+
+
graphql-d is an implementation of a GraphQL server.
+ The server receives a GraphQL query and eventually returns JSON.
+ A lot has to happen in between: lexing, parsing, and validating the query is the easy part of this process. How to turn the validated query into JSON with graphql-d, a.k.a. the boring things, will be explained in this presentation.
+
+
Robert Schadek received a master's degree
+ in computer science at the University of Oldenburg. His master's
+ thesis was titled “DMCD A Distributed Multithreading
+ Caching D Compiler” and introduced multi-threading, among
+ other optimizations, to the compiler control flow. He was a
+ computer science PhD student from 2012–2018 at the
+ University of Oldenburg. His PhD research focused on quorum
+ systems in combination with graphs. Since 2018 he has been
+ happily using D in his day job working for Symmetry
+ Investments
Max thinks profiling is often badly done, so he wants to provide jumping-off
+ points for people looking for various levels of detail as to what to do. He will
+ include some detail on how processors actually work, partly because it's
+ relevant, but mostly because it's interesting.
+
+
This talk will cover the basics of how to use a profiler and will go in deep on a small section of code and discuss why it performs the way it does. In the
+ the course of the talk, Max will touch on performance-related topics, e.g, memory
+ access and management.
+
+
Max Haughton is a Physics student currently moonlighting
+ as a D programmer for Symmetry Investments. He also works on various aspects of D
+ and is affiliated with the D Language Foundation.
+
+
+
+
+
Livestream: Ask Us Anything!
+
+ Walter Bright, Átila Neves, and Razvan Nitu
+ Nov 21, 19:00 UTC
+
DConf wouldn't be DConf, online or otherwise, without the “Ask
+ Us Anything!” tradition, where the language maintainers step onto
+ the stage to answer any and all questions from the audience. Last year's edition ran just over an hour and covered
+ a variety of topics. This year, we can run as long as we need to since it's the last
+ event on the schedule.
+
+
This year, we're breaking tradition a bit and bringing a third person into the
+ mix. Razvan Nitu started working this year as the D Language Foundation's
+ Pull Request and Issue Manager. He has agreed to join in and take any questions
+ that come his way. And rumor has it that Walter will have a camera this time, so he won't be a disembodied voice like last time. Bring your best queries and show Razvan
+ just how much fun the DConf AUA can be!
The Q & A Livestream runs nonstop each day in parallel to the prerecorded talks. Five minutes before their talks, the speakers join the livestream
+ to provide a brief introduction. Once their talks begin, they stay in the livestream for an interview/chat with the DConf Online emcee, and to verbalize
+ their answers to questions asked in the talk's live chat. When their talks end, they remain in the livestream for a 20 - 30 minute post-talk Q & A, where they answer questions from
+ livestream viewers in the livestream chat.
+
Viewers who ask questions in the post-talk Q & A session are eligible to win prizes such as D-themed t-shirts and cofee mugs, or $25 Amazon eGift cards (announced
+ at the end of each Q & A session). Additionaly, they are elibible to win the daily prize of a $50 Amazon eGift card (announced at the end of each day), and the weekend
+ prize of a $100 eGift card (announced at the end of Day Two).
+
DConf Online 2021 Q & A Livestream Schedule (Day 1 & Day 2)
+
+
13:45 UTC - livestream opens
+
13:50 UTC - introduction and announcements from the emcee
+
13:55 UTC - Q & A session for keynote begins
+
15:10 UTC - Q & A session for second talk begins
+
16:25 UTC - Q & A session for third talk begins
+
17:10 UTC - Q & A session for fourth talk begins
+
+
On Day One, the end of the fourth talk's Q & A session will be the end of the livestream. Adam D. Ruppe's livestream for his livecoding session will open by
+ 19:00 UTC. On Day Two, the livestream will remain open after the fourth talk for the Ask Us Anything! session that begins at 19:00 UTC and will end when that finishes at
+ 20:00 UTC.
+
#BeerConf
+
The details for joining the DConf Online 2021 BeerConf session are in the D forums.
+
At every real-world DConf, a location near the venue is selected
+ and anointed as the Official After-Hours Gathering Spot. After the
+ last talk each evening, DConf attendees wander in and out, mingling,
+ chatting, and just generally having a good time.
+ Ethan
+ Watson coined the term “BeerConf” to refer to the event and the name has stuck—so much so that he and other
+ members of the D community initiated
+ an online BeerConf after DConf 2020 was canceled due to the
+ coronavirus pandemic. That one-off event was a hit, and it has been
+ running once a month ever since.
+
DConf Online is still DConf, so there still must be a BeerConf.
+ And since it's online, we run it all weekend! The virtual
+ BeerConf for the inaugural DConf Online edition was a lot of fun. We saw more
+ simultaneous participants than in any prior online BeerConf session. The event
+ has been going strong once a month since then, and we are looking forward to a
+ another great BeerConf experience during DConf Online 2021.
+
Anyone who'd like to join us in our upcoming monthly BeerConf sessions can keep
+ an eye on the D Announce Forum.
+ See you there!
+ DConf Online 2021 swag is available for purchase at the DLang Swag Emporium along with other D-themed items. Royalties from all purchases in the DLang Swag Emporium are directed to the D Language Foundation General Fund. Money from this fund is used to provide free swag to our speakers and prizes to lucky viewers. (Direct donations to the General Fund are welcome, too!)
+
+
+ Random viewers whose questions were answered in the livestream were awarded a total of three t-shirts, three coffee mugs, and six Amazon eGift cards (three $25, two $50, one $100). See the DConf Online 2021 Q & A videos for the questions that viewers asked and the answers our speakers provided.
+
+ Thanks to our friends at Symmetry Investments, the D Programming Language Conference took place in London from August 1–4, 2022. This was Symmetry's second time hosting the conference in London for us, and it was even better than the first time! Everyone at the D Language Foundation is grateful for the time, money, and effort they put toward hosting a successful event.
+
+
+ DConf is the largest meetup event of the D programming language community. Like many other annual gatherings throughout the world, we were sidelined for two years by events beyond our control. We'd had regular meetups online to tide us over, but we were eager to once again meet face-to-face in the real world. Our anticipation was well satisfied as old hands and new, including several first-time DConf speakers, joined us for four days of education, knowledge sharing, fellowship, and fun.
+
+
+ All of the talks are freely viewable via recordings of the livestreams from each day at the following links:
+
+ We're in the process of preparing individual videos of each talk. Those will be available on our YouTube channel, a link to which you'll in the talk details for each talk in the schedule below. Slide links are available for each talk now.
+
+
Keynote Speakers
+
+
+
+
+ Walter Bright
+ Creator and comaintainer of the D programming language.
+
+
+
+
+
+ Roberto Ierusalimschy
+ Associate Professor at the PUC-Rio Department of Informatics and head designer of the Lua programming language.
+
+
+
+
+
+ Átila Neves
+ Comaintainer of the D programming language.
+
+
+
+
+
+
+
+
+
+
Schedule
+
+ Click [Show Details] next to a speaker's name below for information about a talk, panel, or speaker.
+ Note that all times are in UTC + 1.
+
Any complex system will exhibit some unexpected emergent properties. Some can be quite delightful, like the glorious combination of strawberries and cream. Here are some discoveries that make programs nicer, faster, more readable, and just more fun. We'll show how to customize literals, stack allocate instead of memory allocate, avoid memory allocation entirely, define errors out of existence, unsnarl the code, have fancy initializers, make your own scoped types, and a very special discovery.
+
+
Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages. He's an expert in all areas of compiler technology, including front ends, optimizers, code generation, interpreter engines, and runtime libraries. Walter regularly writes articles about compilers and programming, is known for engaging and informative presentations, and provides training in compiler development techniques. Many are surprised to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30 years after its debut.
D is a language with many features, but the whole has a character that can't easily be inferred from the traits of the parts. I will give a tour of how this character has let Symmetry build a strong “base layer” of code without becoming rigid or fragile.
+
+
John Colvin used to think he was a clever D developer, but these days he has delegated most of his intelligence-having to others in order to focus on his true love: shouting down the phone whilst walking around someone else's garden.
D 2.0 added a new const system to the language. But half of that system—immutable—still often leads to errors. That's a shame, as immutable data structures enable more reliable, readable, and testable code. However, with some limited compiler abuse, immutable can generally be made to function. Here's how.
+
+
Mathis Beer writes D code for Funkwerk. Funkwerk has used pseudo-immutable data structures for years. Their design provides the foundation for libRebindable.
D offers many powerful compile-time and run-time features. One of the places to see how these features work together for great effect is Phobos, D’s standard library. This talk will dissect some Phobos algorithms and types to present how it takes advantage of D.
+
+
Ali is a software engineer with programming language experience mostly in C, C++, and D. His past work includes a fun stint at WekaIO, a high performance storage company that bases its technology entirely on D. Ali is the author of the book ‘Programming in D’, the secretary and a board member of the D Language Foundation, former acting president of the Silicon Valley Chapter of the ACCU, and an organizer of the Silicon Valley DLang meetup group. He currently works in the sensor fusion team of the Autonomous Driving division at Mercedes-Benz Research and Development, North America.
In this talk, I will go over everything related to D’s ability to interoperate with C++. We will cover design philosophy, limitations, as well as practical examples extracted from real-life usage.
+
+
Mathias has been a D contributor since he started contributing to DUB and Vibe.d in 2013. He quickly moved closer to the source, focusing his contributions on the compiler. He’s been using D professionally almost uninterrupted since 2015, first at Sociomantic, then leading a team at BPFKorea, before joining the ranks of Symmetry.
D provides several significant advantages that allow small teams to punch above their weight class in the world of online services. This talk goes over several of these advantages including: reduced memory/CPU footprints, a richness of features allowing libraries from other languages to easily be converted, and several practical tips for deploying via AWS.
+
+
Vijay Nayar has worked as an engineer for over 20 years in industries including military, education, databases, transportation, and banking. His most recent position was CTO of Klar (Mexican FinTech), which was constructed from the ground up over 2.5 years. Recently, he has started his own company, Funnel-Labs.io, where the primary products are built using the D Programming Language. Vijay operates out of Berlin, Germany.
Bringing the D language maintainers on stage and grilling them with questions from the audience is a DConf tradition that the 2022 edition continues. Whether you're in the room or watching on the livestream, Walter and Átila will do their best to answer any queries you throw their way. So don't be shy. Start brainstorming now and bring it on!
Lua is a scripting language widely used in several fields, with strong niches in games and embedded systems. Pallene is a companion language for Lua, that is, a system language specifically designed to interoperate with Lua in a scripting architecture.
+
The first part of this talk will present the main features of Lua, in particular those that set it apart from other scripting languages: portability, simplicity, and embeddability. The second part will discuss Pallene and the concept of a companion language, which brings together ideas from scripting, jit compilation, and gradual typing, focusing on a design that aims to bring more performance for Lua programs.
+
+
Prof. Roberto Ierusalimschy is an Associate Professor at the PUC-Rio Department of Informatics, where he works with programming languages. He is the head designer of the programming language Lua, used worldwide in programs like Angry Birds, World of Warcraft, Adobe Lightroom and Wikipedia.
Different hardware architectures implement different memory models. This in turn makes porting software between different targets an insanely complicated task. To solve this problem, C++11 introduced a language memory model that was later adopted by other languages such as D and Rust. In this talk, we will discuss the problem, the solution, and why you still have to be careful if you want to maximize performance. In addition, we will consider ways to try and make atomic variables easier to reason about.
+
+
Roy Margalit is a PhD student in the Programming Languages group at the School of Computer Science Tel Aviv University. He is currently researching programming languages and verification, with a focus on concurrency and relaxed memory models.
Structured concurrency applies the lessons of structured programming to concurrency with the aim of reducing software cost and complexity. This talk starts from the basics and builds up to the concept of structured asynchronous computation as implemented by C++’s Sender/Receivers. This can be used to build up larger patterns including event loops, asynchronous ranges, actor models, etc., and provides a flexible and composable way to write concurrent and parallel programs without the need for explicit synchronization or understanding complex topics like memory ordering.
+
+
Sebastiaan has a long history with concurrent and parallel systems starting 20 years ago with C++, moving his way into PHP, Javascript, Scala, Kotlin, Go, and finally into D at Symmetry Investments. Being aware of the inherit complexities of multithreaded systems has led him to recognize the importance of structured concurrency and its ability to improve local reasoning of code.
Peter Shirley’s book ‘Ray Tracing in One Weekend’ has been a brilliant introduction to implementing ray tracers for beginners. While you may not have read the book, you may have seen the viral images of programmers all over the world sharing images generated from their ray tracers on social media. While the book is implemented in C++, I was up for the challenge to implement the ray tracer in D. With the efficiency of the D language however, I set myself the challenge to complete the task in less than 24 hours. In this talk I will describe my experience, highlighting features of the D language that made this possible. I will also discuss why D may be the right language to teach software engineering in a university setting for this reason.
+
+
Michael discovered computer science at the age of 13 when googling “how do I make games”. Since that fateful google search, he has worked as a freelance game developer, worked in industry for Intel, Sony PlayStation, and Oblong Industries, and researched at The Ohio Supercomputer Center. Mike cares about building tools to help programmers monitor and improve the performance of real-time applications—particularly any visual multimedia. He believes computer science can be learned by all. Mike Shah completed his PhD at Tufts University in 2017 and is an associate teaching professor at Northeastern University. He also consults as a 3D Senior Graphics Engineer. In his spare time he goes for long runs, plays video games while on his exercise bike, learns guitar, and considers himself an amateur pizza and wine maker.
+
“A jack of all trades is a master of none, but oftentimes better than a master of one.” D is multi-paradigm, which is sometimes considered a weakness: the language is spread thin, and making every feature work with every other feature is a complex task. Despite this, I consider it one of D’s strengths that low-level and high-level come together in one language. I’ll talk about how I use D in various projects of my own, from bare metal to high-level scripts, and why D is a suitable language for them despite their different nature.
+
+
Dennis Korpel is a Master’s student at Delft University of Technology. D became his language of choice after he discovered it in 2018, and he is currently a Pull Request Manager for the D Language Foundation, a role funded by Symmetry.
Computers are faster than ever, software is often pretty fast, and yet systems are slow. I’ll introduce aspects of what the computer is doing under the hood while also explaining how to make sure you know when to care.
+
+
Max slings code for Symmetry Investments while simultaneously doing odd jobs for the D Language Foundaiton in a role funded by Symmetry. Otherwise... all words, some action, no bona fides!
Programming languages seem to be sprouting up all over the place, building on solid foundations, rejecting perceived failures, and often breaking new ground. What are they doing right? What are they doing wrong? Where are they going in the future? This panel will discuss these questions and more related to the topic of programming language design, and will take questions on the topic from the in-house and livestream audiences. If you’re curious about the past, present, or future of programming language design, here’s your chance to pick the brains of four people who are designing and researching programming languages today.
Atila will talk about the current state of the language and ecosystem, what work is being done to make it better, and what the future might look like.
+
+
Átila Neves has a PhD in Particle Physics for research done at CERN. Most of the time spent there required programming in C++, with a two-year stint as a Perl programmer on the IT department’s security team. He also worked for Cisco for almost seven years, developing networking software in C and C++ and leading his teams in the areas of software quality and testing. He now works as a D consultant/programmer for Symmetry Investments, as well as being the deputy maintainer of the D programming language. He spends his spare time yelling at the screen in frustration while waiting for computers to compile his code.
GNU Bison is a general-purpose parser generator that enables a wide range of use cases, from custom Domain-Specific Languages to parsers used inside programming language compilers and interpreters. This talk aims to present the D backend for GNU Bison to a wider audience—it was officially introduced in Bison in the autumn of 2021, but this has not yet reached the wider D community. I will delve into how I continued GNU Bison’s experimental D parser, which was implementing the LALR(1) algorithm. I will present how I designed the API for D, how I implemented some key features, and the challenges I faced. If you are curious about how I interacted with the Bison project and my experience with SAoC, then this talk is for you!
+
+
+
Adela Vais is an MSc student at the Technic University of Munich. She is always in the pursuit of new programming languages, new technologies, or new paradigms to learn and use. Adela is passionate about software development, compilers, and operating systems. She continued the D language backend for GNU Bison for her bachelor’s dissertation, and she was the runner-up in Symmetry Autumn of Code 2020.
+
D adoption has been hindered by the scarcity of development tools available in the ecosystem. One of the main reasons for this situation has been the absence of a proper compiler library that can be leveraged to develop tools. For a few years, a compiler library has exposed the DMD internals, but the interface is still lacking. To address this problem, I am taking a different approach by trying to integrate the DMD library into existing, successful projects. This project has two objectives: (1) developing a proper interface for the compiler library by leveraging existing use cases, and (2) updating existing tools to use the compiler library, thereby making it easier to update to the latest version of the compiler.
+
+
Lucian is a 3rd year computer science student at University Politehnica Bucharest. His journey with D started in 2021 at a summer school, carried on with trivial bug fixes for Phobos and DMD, and currently continues with the DMD library project that is the subject of this talk. He is interested in compilers, programming languages, and artificial intelligence.
Got something interesting to tell the D community, but not interested in presenting a long talk? We’ll give you five minutes to tell the world!
+
Lightning Talks are a set of presentations restricted to five minutes or less. Speakers plug in their laptops and get started immediately. When their time is up, the emcee pulls them off stage and the next speaker gets going. The Lightning Talk session from DConf 2019 is a great example of the format.
+
Any DConf attendee can sign up to present a Lightning Talk. We’ll have nine slots available this year, and we’ll fill them on a first-come first-serve basis. Email social@dlang.org anytime before the conference to reserve your spot (after you’ve registered), or let Mike Parker know at any point during the conference prior to the start of the Lightning Talks session.
In D, certain high-level constructs are lowered to calls to functions from DRuntime called hooks. This process takes place in the compiler’s intermediate representation generator. This has the following disadvantages:
+
+
The compiler doesn't verify the safety of the hooks, because lowerings take place after semantic analysis. This means that the hooks are essentially lying about their attributes.
+
The hook arguments are mostly void[] and require the TypeInfo hierarchy to extract type information at runtime. This is unnecessarily slow because all type information is available at compile time.
+
All hooks are linked into one large runtime library that all D programs link, regardless of which hooks they use. This makes druntime unnecessarily large for use cases where a subset of the hooks is used.
+
+
+
This project eliminates all these disadvantages by converting all DRuntime hooks to templates and moving the lowering logic to the semantic phase. Thus, all new hooks are verified to respect the restrictions imposed by attributes, type information is leveraged at compile time, and D executables will only contain code for the hooks they use. In addition, this brings performance benefits since runtime checks are moved to compile time.
+
+
+
Teodor Dutu is a first-year Master’s student at the Politehnica University of Bucharest. He was introduced to D while attending D Summer School in 2021, hosted by Edi Staniloiu and Razvan Nitu at his university. He really liked the ecosystem and the community and decided to get involved, in the end choosing this project as his dissertation thesis. He started working on replacing DRuntime hooks with templates for SAoC 2021, which eventually brought him to this conference.
D’s perfection does not come from the language, but its standard library. The necessary migration from D’s self hosted Bugzilla to GitHub serves as a rewarding backdrop to explore this marvelous library.
+
Phobos is not always given the credit it deserves. Loud negative talk about its reliance on the GC or interconnectedness of its modules are nothing more than distractions from its expressiveness and comprehensiveness. The task of migrating all open Bugzilla issues to GitHub gives a very good opportunity to explore many Phobos modules and their interplay. This task requires everything from networking, to text processing and data aggregation. Many of those exercises are likely reflective of others’ daily work, and thus they would likely gain an understanding of Phobos if they are not already using it.
+
+
Robert Schadek received a doctorate degree in computer science from the University of Oldenburg. His dissertation was titled ‘Analysis and Development of Quorum Protocols for Real-World Network Topologies’ and focused on quorum systems in combination with graphs. Since 2018, he has been happily using D in his day job working for Symmetry Investments.
Walter Bright started the D programming language as a one-man show. After he pushed it out to the wider world, curious programmers started dropping by to check it out. Little by little, person by person, a community took form. They brought new ideas, bug reports, and patches. They built libraries and tools, wrote blog articles, and evangelized the language in other communities. Without those early pioneers, D as we know it would not exist today.
+
In this talk, we’ll journey back in time to get a look at where it all started, then move forward to the present day, stopping for highlights along the way. My goal is to show you why I’m an eternal optimist about D—no matter the state in which you first found the language, it’s always better than it used to be thanks to the efforts of the amazing D community. We’ll wrap things up with a look at how I would like to see the community and the ecosystem evolve in the future.
+
+
Mike Parker first discovered the D language in the summer of 2003. He created the first iteration of the Derelict bindings project in the spring of 2004 and said farewell to C and Java forever. At DConf 2016, he volunteered to get the official D blog up and running. Since that time, he has taken on additional responsibilities for the D Language Foundation: D Improvement Proposal manager, DConf organizer, community herald, YouTube channel maintainer, and more. He has lived in South Korea since 1991, primarily in Seoul, and has worked as an English teacher since 1994. These days, he teaches English to D programmers at a Korean blockchain development shop.
+
+
+
18:00 End of Day Three
+
+
+
+
+
+
Thursday August 4th—The DConf Hackathon
+
+
+
+
08:00 Breakfast Snacks
+
09:00 Hackathon Morning Session
+
12:00 Lunch
+
13:30 Hackathon Afternoon Session
+
18:00 End of DConf '22
+
+
+
+
+
The DConf Hackathon has been part of every edition of DConf since 2017 in Berlin, when Sebastian Wilzbach suggested we extend the conference by one day to work on D projects. A number of attendees worked on bugs, some tutored others on various D features, and one (Timon Gehr) used the time to implement a new feature (static foreach).
+
Use your time at the Hackathon the way you feel is best for you: submit PRs to the core D repositories or your favorite projects in the broader ecosystem; hack on your own project, and maybe enlist some help from a fellow attendee to work through a tough problem; tutor a novice D programmer, or seek tutoring from someone more experienced; corner Walter or Átila and rant to them about your biggest D pet peeve(s); or just sit and chat with the people around you.
+
The DConf Hackathon is also open to the general public. If you are in the area on August 4th and didn't register for the conference, that’s okay. Join us anyway! If you registered, invite a friend or relative, maybe someone who knows very little about our favorite programming language—there are fewer times as opportune as this one to show them what it’s all about.
+
The DConf Hackathon is a great time to ramp up some work or wind down from three days of talks. It’s your time, so use it as you will. See you there!
+
+
+
+
+
+
+
+
+
+
Registration
+ Registration is now closed. Thank you to all who registered.
+
+
+
+
+
+
+
Venue
+
+ Our DConf '22 venue is CodeNode, a space in Central London specifically designed for tech conferences. It's conveniently located close between Moorgate and Liverpool Street stations, and is a 10–15 minute walk from Old Street Station to the north.
+
+
+
+
+
+ Our presentations will happen on the ground floor in the CTRL room, and we'll have the entirety of the ESC area downstairs to ourselves, where attendees can relax, chat, or play table tennis or foosball between talks.
+
+
Accommodations
+
+ There are several budget hotels in easy walking distance. The following are some options that, according to Google Maps, are less than a 20-minute walk from the venue. Some of them are near an underground station that is one stop away from Moorgate or Liverpool Street stations. Click a link to see the walking route(s) between a hotel and the venue. On the map, you'll find links to reserve a room.
+
+ Traditionally, on each of the first three evenings we designate a location where attendees can gather to hang out and chat over drinks. Often, it’s a the lobby or bar of a nearby hotel. When we are unable to find a hotel with a suitable space, we look for a pub that has space for hire. Ethan Watson coined the term BeerConf, and it stuck. Since 2020, when DConf was canceled due to the pandemic, we’ve also been holding an online BeerConf on the last weekend of every month. You can read more about it on the D Wiki.
+
+
+ BeerConf ’22 is sponsored by Funkwerk and is happening at The Fox in Shoreditch, just a short walk north of the venue and very close to the Point A Hotel London - Shoreditch and Travelodge London Central City Road. We’ll have the roof terrace to ourselves. Drinks are free for DConf attendees each night until the tab runs out, courtesy of Funkwerk. If you’re attending DConf ’22, join us on the evenings of August 1–3 any time from 18:30 to 23:00 and raise a glass or two!
+
+
+
+
+
+
+
+
+
+
+
Sponsors
+
+
+
+
DConf ’22 is hosted by our friends at Symmetry Investments. With offices in Hong Kong, Singapore, London, Jersey, and the Cayman Islands, Symmetry employs D in their investment
+ management mission. This is the second time they've hosted a DConf. Their first go in 2019 was a smashing success. They are also the sponsors of the
+ Symmetry Autumn of Code, an annual event that, since 2018, has provided experience to emerging programmers while
+ enhancing the D ecosystem. We couldn't be more thrilled to be working with Symmetry in bringing DConf to London once again.
+
+
+
+
+
We are happy for the support of our friends at Funkwerk. The medium-sized technology group has several branches in Germany and Austria. Funkwerk has emerged as a technological leader in the growing markets of mobility and digital infrastructure. It offers tailored concepts to control and streamline operational processes—primarily for the rail industry and public transport. Funkwerk’s portfolio includes voice and data communication for rail (GSM-R, LTE and 5G), information systems and electronic video and security systems. That’s modern rail technology—made in Germany!
+
+
+
+
+
A big thanks to DevITjobs, our media partners for DConf ’22. DevITjobs is the first job board built with Software Engineers in mind. Their goal is to bring more transparency, openness and diversity to the British IT market. They want to make the job search process for Software Engineers more enjoyable by gathering all job postings in the United Kingdom and presenting them in an informative way. The DevITjobs.uk portal is not only for Developers but for everyone working in the IT industry: Engineers, SAP and System Admins, Product Managers, QAs and UX/UI Designers!
+ The D Language Foundation invites you to join us for the third edition of DConf Online, December 17th and 18th, 2022! It’s all happening on the D Language Foundation’s YouTube channel, and it’s completely free. No registration required. All you need is a web browser or YouTube app, an internet connection, and, if you want to participate in the live chats, a YouTube account.
+
+
+ As with past editions of DConf Online, you’ll be able to watch a number of prerecorded talks as they appear, and ask questions of each speaker during the talks, and in an ongoing livestream after the talks. All of the talks and the livestreams from both days will continue to be available after the conference ends, and we’ll upload each post-talk Q & A session as separate, trimmed-down videos. You can watch videos from the past editions at the following links.
+
+ When we had to cancel DConf in 2020 due to the pandemic, we launched the online version as a companion to, and not a substitute for, the real-world version. DConf ‘22 was arguably the best DConf yet, and now we finally get to have both versions in the same year. We look forward to continuing both in the years to come.
+
+
+
+
+
+
+
+
Schedule
+
Both days of DConf Online ‘22 start with a livestream at 13:50 UTC hosted by Mike Parker. Here are the links:
Each of the talks are pre-recorded videos which are set to premiere at the scheduled times below.
+
The Livestream
+
Each presenter will join the livestream five minutes prior to the start of their talk. During the talk, the presenter will remain in the livestream. They will answer questions both from the talk video’s livechat and from the livestream. They’ll answer livechat questions in two ways: they’ll type short answers in the livechat, and they’ll verbalize each answer in the livestream, elaborating as required. In between questions, Mike will chat with the presenter, asking his own questions about their talk and their experience with the D language. After the talk ends, the presenter will remain in the livestream for another 20 minutes or so for a Q & A session. During this post-talk session, anyone whose question is answered will be entered into a drawing for a prize.
+
Viewers are free to remain in the livestream during each talk, but we recommend you instead do the following:
+
+
Pull up the livestream five minutes prior to each talk for the pre-talk session.
+
Leave the livestream to watch the talk when it premieres (a link to the talk will be posted in the livestream chat during the pre-talk session).
+
Pull up the livestream again for the post-talk Q & A session (each talk will redirect to the livestream when it ends).
+
+
Why do we do it this way? Each presenter should be available anyway to answer questions in their talk’s livechat, but a chat box isn’t the best medium for long, detailed answers and followups. The livestream gives them the opportunity to provide more detailed answers, often with followups from the host, and allows us to record all such answers for posterity. Each presenter’s livestream session will be recorded, edited, and uploaded to our YouTube channel as an independent video. Watch the livestream Q & A sessions from DConf Online 2020 and DConf Online 2021 as examples of what to expect.
+
+
The Talks
+
Click [Show Details] next to a speaker’s name below for information about a talk or speaker.
+ Note that all times are in UTC.
This talk is about compile-time and run-time reflection, template metaprogramming issues, and how strings just might be the way forward.
+
+
Átila Neves has a PhD in Particle Physics
+ for research done at CERN. Most of the time spent there required
+ programming in C++, with a two-year stint as a Perl programmer
+ on the IT department's security team. He also worked for Cisco
+ for almost seven years, developing networking software in C and
+ C++ and leading his teams in the areas of software quality and
+ testing. He now works as a D consultant/programmer for Symmetry
+ Investments, as well as being the deputy maintainer of the D
+ programming language. He spends his spare time yelling at the
+ screen in frustration while waiting for computers to compile his
+ code.
The calculation of gradients is a way to understand the universe. For the entire history of computing, people have been writing programs that calculate them. For many years these were written arduously (and often incorrectly) by hand, or in specialist languages dealing only in mathematics. Via the use of a set of techniques known as automatic differentiation, we can write programs which not only calculate gradients exactly but also without writing them manually—differentiable programming. I will summarise where the mathematics comes from, then walk through some simple code to implement both modes of automatic differentiation and apply them to some simple problems. Also included is a little historical discussion of some past techniques for specifying systems of derivatives to model systems, but which are not considered differentiable programming.
+
+
Max slings code for Symmetry Investments while simultaneously doing odd jobs for the D Language Foundation in a role funded by Symmetry. Otherwise... all words, some action, no bona fides!
When building an application, at some point test data is required. Making up a list of somewhat realistic forenames and surnames isn't too much work, but then you need street names and postcodes for France. Faked can help you with that. This library translates the excellent faker.js library to D with help from the worst typescript transpiler known to man. This is its story.
+
+
Robert Schadek received a doctorate degree in computer science from the University of Oldenburg. His dissertation was titled ‘Analysis and Development of Quorum Protocols for Real-World Network Topologies’ and focused on quorum systems in combination with graphs. Since 2018, he has been happily using D in his day job working for Symmetry Investments.
This is a crash course on translating C code to D code, from small code snippets on stack overflow to entire C libraries.
+ Since D has similar syntax and features to C, this is relatively easy, but there are some pitfalls, and it still requires tedious text editing.
+ I'm going to present key differences you should be aware of and present the 'ctod' tool I made that does most of the tedious work for you.
+
+
Dennis Korpel is a recent graduate of the Master’s degree program at Delft University of Technology. D became his language of choice after he discovered it in 2018. He is currently a Pull Request Manager for the D Language Foundation, a role funded by Symmetry.
DConf wouldn’t be DConf, online or otherwise, without the “Ask Us Anything!” tradition, where the language maintainers step onto the stage to face the assembled crowd, take their questions, and provide them with the answers they're looking for. So prepare your statements and compile your queries! Walter and Átila are very much looking forward to them.
Adam is back for a third DConf Online livecoding session. His previous two sessions were a lot of fun (DConf 2020 and DConf 2021). What will he code this time? Tune in to find out!
+
Please Note: this is not a pre-recorded talk. It takes place in a second livestream, separate from the DConf Online Q & A livestream. There is no pre-talk session, nor a post-talk Q & A session. Adam will be live and in color from the moment the stream kicks off, and will answer any questions posted in the livestream's chat box. A link to Adam's livestream will be posted here prior to the event.
Syntactic sugar can be a mystery. You know how pointers and values work, but how does that relate to syntactic sugar? The specification says what
+ the sugar is supposed to do but not how it works. Knowing how it's implemented is key to making informed tradeoffs about when to make
+ use of sugar. Personally, I am uncomfortable with using a programming language without knowing what is going on under the hood. After all, a race car driver
+ that knows how his car works is going to get more out of it than a driver that only knows that stepping on the gas makes it go faster. I never understood
+ virtual functions in C++ until I examined the output of Bjarne's C++ to C translator.
+
+
Here is the missing explanation of the secret inner workings of D's syntactic sugar.
+
+
Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages. He’s an expert in all areas of compiler technology, including front ends, optimizers, code generation, interpreter engines, and runtime libraries. Walter regularly writes articles about compilers and programming, is known for engaging and informative presentations, and provides training in compiler development techniques. Many are surprised to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30 years after its debut.
As a long-time reader of the D forums, I have noticed that people new to the D language often ask what the best editor to use is. The usual answers are VScode, Vim, someone's other favorite app, or "check out the editor page at dlang.org". I will supply a more complete answer to this question in the hope that the beginning D language user may benefit from the information.
+
+
Larry Hemsley is not a programmer, software engineer, or a systems analyst. Armed with a bachelor's degree in biological sciences, with a concentration in microbiology and a minor in chemistry, he was a clinical laboratory technician until he retired after 25 years. He then took some programming classes at the local community college. Now, old and retired, he programs as a hobby, mainly using D and a little C. The first D compiler version he downloaded was 1.030.
This talk is a continuation of the Dconf ‘22 talk on building a ray tracer in (less than) one
+ weekend. What this talk will show is that D is a language built for software engineering and
+ creating applications that scale. In this talk I will continue to take you through the journey of building a
+ ray tracer, this time focusing on some of the key features of D. We’ll start by optimizing the
+ previous ray tracer with static if and std.parallelism for example. Then I’ll show object-oriented
+ programming in D and build a few data structures. Finally, we’ll display a final rendered image
+ using the new and improved ray tracer with several new features.
+
+
Michael discovered computer science at the age of 13 when googling “how do I make games”. Since
+ that fateful google search, Mike has worked as a freelance game developer, worked in industry for
+ Intel, Sony PlayStation, Oblong Industries, and researched at The Ohio Supercomputer Center to name
+ a few. Mike cares about building tools to help programmers monitor and improve the performance of
+ real time applications—particularly any visual multimedia. Mike believes computer science can be
+ learned by all. Mike Shah completed his Ph.D. at Tufts University in 2017 and is an associate teaching
+ professor at Northeastern University. Mike also consults as a 3D Senior Graphics Engineer. In
+ Michael’s spare time he goes for long runs, plays video games while on his exercise bike, learns guitar,
+ and considers himself an amateur pizza and wine maker.
This talk is about the modelling power of D, and why you should at least
+ consider using structs or classes as models for your APIs. As D has features
+ such as introspection and generative programming, building a model can be just
+ as effective as using code to form your API. Plus a model can be a whole lot
+ prettier in the end. Slap on some UDA magic and the code almost writes itself!
+
+ As I talked about in my 2019 talk on serialization, we want to use the D
+ compiler to the best of its abilities. We’ll look at a few cases where modelling
+ can shine as a way to express how your program should behave and look
+ intuitive to those reading the code.
+
+
+
Steven Schveighoffer has been to most
+ real-world DConfs since 2013. He has presented at four of them, and also at DConf Online 2020.
+ He has published an article on the D Blog about writing @trusted
+ code, migrated a very unsafe, complex codebase to be @safe, and
+ worked on fixing @trusted issues in Phobos (D’s standard
+ library) and DRuntime.
+
This talk is an introduction to my DConf Online ‘22 workshop, in which I walk viewers through the development of an 8080 assembler in D. Here, I'll talk about my motivations for the worskshop and what I learned when I published a blog post series on the same topic. I'll also opine on garbage collection and on ways we all can advocate for the D programming language.
+
+
Brian Callahan is a professor in the Information Technology
+ & Web Science program at Rensselaer Polytechnic Institute in Troy, NY. His
+ research and teaching focuses on cybersecurity, web science, and the
+ digital humanities. Brian has been an OpenBSD developer since 2013,
+ where he has a long-standing project to port and package every compiler
+ in existence for OpenBSD. He is known in the D community for once having
+ written a popular blog post about getting GDC working on OpenBSD, and
+ for writing a blog series on how to write a Z80 assembler in D.
Brian walks viewers through the creation of an Intel 8080 assembler in the D language. Note that this is a series of 15 short, prerecorded talks, of around 10 to 20 minutes running time each. It is not a livecoding session. The videos are not scheduled as premieres, but will be published following Brian's Q & A session at the end of his 19:00 talk. Starting at 20:15, we will have a Watch Party in the livestream: we'll broadcast each workshop video in the play list, back to back, in the livestream. Brian will be monitoring the livestream chat to answer any questions from viewers (note that there are no prizes for questions asked during this session).
+
Although the workshop videos will be available to watch and comment on any time, you'll only have a chance to get answers to your questions in real time during this livestream session. So stick around!
+
+
+
Brian Callahan is a professor in the Information Technology
+ & Web Science program at Rensselaer Polytechnic Institute in Troy, NY. His
+ research and teaching focuses on cybersecurity, web science, and the
+ digital humanities. Brian has been an OpenBSD developer since 2013,
+ where he has a long-standing project to port and package every compiler
+ in existence for OpenBSD. He is known in the D community for once having
+ written a popular blog post about getting GDC working on OpenBSD, and
+ for writing a blog series on how to write a Z80 assembler in D.
+ We're at CodeNode in London once again from August 29 – September 1, 2023, for the D Programming
+ Language Conference, sponsored by Symmetry Investments and hosted by the D Language Foundation. This is our
+ third time in London, thanks to Symmetry’s support, and we’re thrilled to be back! DConf ‘22 at CodeNode was a huge success, with overwhelmingly
+ positive feedback from attendees. In fact, it was the best one yet, and we’re committed to making DConf
+ ‘23 even better.
+
+
+ Can't be there in person? No problem! Join our livestreams during the three days of talks and ask questions
+ of the speakers at any time during each session.
+
+ DConf is the premier meetup event for the D programming language community. Although we continue to hold regular
+ online meetups, nothing compares to the energy and camaraderie of face-to-face interactions. At DConf, both
+ seasoned veterans and first-time attendees, and many in between, come together for four days of education,
+ knowledge sharing, and fun. We can’t wait to do it all again!
+
+
Keynote Speakers
+
+
+
+
+ Walter Bright
+ Creator and Co-maintainer of the D Programming Language
+
+
+
+
+
+ Saeed Sabeti
+ Director of Organizational Development at Ucora Corporation in Vancouver, Canada
+
+
+
+
+
+ Átila Neves
+ Co-maintainer of the D Programming Language
+
+
+
+
+
+
+
+
+
+
Schedule
+
+ Click [Show Details] next to a speaker’s name below for information about a talk, panel, or
+ speaker.
+ Note that all times are in UTC + 1.
+
Are you feeling the weight of uncertainty in the programming world as the D Language grapples with
+ challenges amidst the rise of competing languages? There's a looming concern that these hurdles might
+ hold D back from its true potential, relegating it to a lower standing. The cost of letting this happen
+ is significant, not just for D enthusiasts but for the entire programming community. Yet, a solution
+ exists; a way to steer D towards the path of popularity and influence it deserves. There is an
+ unexpected approach to unlocking the value behind the language, and the result will shape D's future and
+ elevate your own personal and professional success. Don't miss out on this discourse that promises to
+ transform your perspective on what DLF means to all of us.
+
+
Saeed Sabeti is a seasoned expert in human motivation, team dynamics, team
+ building, and team alignment, executive coaching, and organizational development. He currently serves as
+ the Director of Organizational Development at Ucora Corporation in Vancouver, Canada. His work takes him
+ across the globe, partnering with organizations to build strong, effective teams with focused, aligning
+ visions. As an executive coach and consultant, Saeed addresses the widespread problem of staff
+ acquisition, retention, motivation, and productivity by helping leaders, stakeholders, and organizations
+ develop a new mindset rooted in fundamental purpose.
Like many modern programming languages, D has a static type system and
+ built-in tuple support. In this talk, I will present general design
+ considerations around type systems, with a particular focus on D’s
+ type system, recent developments in D, and possible avenues for
+ further improving the soundness, expressiveness, and ergonomics of D.
+ As some operations on tuples remain rather clunky in today’s D, this
+ will in particular include design considerations around tuples and a
+ number of different proposals for how to move forward.
+
+
Timon Gehr is a postdoctoral researcher at ETH Zürich who has
+ used D to implement a number of tools and programming languages for his research. He
+ has opened almost 1% of all issues on the D issue tracker. He sometimes dabbles in
+ DMD development and contributed the initial implementation of static
+ foreach.
The absence of a proper compiler library has been haunting the D ecosystem since
+ forever. Although progress has been made in creating a public API, there is a lot of
+ room for improvement. In this talk, I will discuss the major challenges of
+ developing a proper compiler interface for DMD-as-a-library, what has been done so
+ far, what are the future plans, and what will be the limitations.
+
+
Razvan Nitu has a PhD in computer science. He is also one of
+ the Pull Request and Issue Managers for the D Language Foundation. His experience
+ with D lies mostly in compiler development, but he occasionally contributes to
+ DRuntime and Phobos. Razvan has been organizing D summer schools at his hometown
+ university and mentoring students to work on D-related projects (such as
+ integrating DMD-as-a-library in D-Scanner, pay-as-you-go DRuntime, D Google APIs,
+ etc.) for the past 5 years.
Should D have a smarter Garbage Collector, or support Reference Counting? I
+ don’t care. Stack memory is where it’s at! D is really good at it with its static
+ arrays, slices, and DIP1000’s lifetime tracking to make it all memory-safe.
+ DIP1000 has evolved a lot in its design and implementation, so I’ll get you up to
+ speed with where we are now and how we got here.
+
+
+
Dennis Korpel is a recent CS graduate from Delft University
+ of Technology. D became his language of choice after discovering it in 2018, and he
+ is currently a Pull Request and Issue Manager for the D Language Foundation.
DIP1000 adds quite a bit of syntax to the language and makes D look a lot less
+ beautiful, in my opinion. Instead of trying to add things to the language, why not
+ take a look at things that need to be removed to achieve the same level of memory
+ safety? This talk shows how to remove three things from the language to make it
+ memory-safe and still live with the consequences.
+
+
Robert Schadek received a doctorate degree in computer
+ science from the University of Oldenburg. His dissertation was titled
+ ‘Analysis and Development of Quorum Protocols for Real-World Network
+ Topologies’ and focused on quorum systems in combination with graphs. Since
+ 2018, he has been happily using D in his day job working for Symmetry
+ Investments.
C is the lingua franca of programming languages. Chances are, if
+ something exists in the world of computer science, there is a version of it
+ in C. But what if you use D? The great news is that any C project is almost
+ trivially accessible via D. But what if you hate the problems that come with
+ C? No overloading! No operators! Zero-terminated strings! Manual memory
+ management! No memory safety! Many of these things led me to undertake a
+ project of porting a quite broad and well-used C library to D. What might be
+ in store for you if you decide to take this journey? Tune in to find out!
+
+
+
Steven Schveighoffer has been programming for nearly 25 years
+ professionally, using D for over half of that time. He has written several D
+ libraries, including dcollections and iopipe. He currently maintains the raylib-d binding and the
+ mysql-native client library
+ (which he recently converted to fully
+ @safe). He has been contributing to Phobos and DRuntime nearly the
+ whole time he’s been a D user.
+
When building software services using D, a practical reality is that most other
+ services are not also using D. A fairly standard way of inter-service
+ communication is accomplished via a REST Architecture, based on JSON over HTTPS,
+ for example. However, writing a new client for every programming language is
+ error-prone and labor intensive. The internals of the OpenAPI Client library are
+ discussed showing how D Client code can be generated using mixins and templates
+ from OpenAPI specifications, permitting compatibility with well known APIs such as
+ Slack, Stripe, or OpenAI.
+
+
Vijay Paul Nayar is a CalTech graduate and has been
+ professionally programming for over 20 years in various roles from software engineer
+ to CTO. Recently, he has taken on the role of entrepreneur and founded
+ Funnel-Labs.io, where he has been using
+ the D Programming Language in production services.
+
Have you ever looked at code you wrote five years ago and wondered what you were thinking? Just think
+ of code you authored even further back! You’ve heard about secure code, safe code, clean code, modern
+ code, optimized code, clever code, user-friendly code, structured code, effective code, etc. Everybody
+ thinks they write easy-to-understand code (including me), but your future self will likely have the last
+ word on that.
+
Here I’ll be talking about writing easy-to-understand code. The talk is based on decades of experience
+ writing code that is hard to understand. I’ll show how D makes it easy to write easy-to-understand
+ code. It won’t cost anything, either. And who knows? Maybe your future self will sigh contentedly with
+ “I wrote that!”
+
The highest praise you can get for your code is someone else looking at it saying “that’s so
+ simple, anyone could have done it!” (But you and I know better!)
+
+
Walter Bright is the creator and first implementer of the D programming language
+ and has implemented compilers for several other languages. He’s an expert in all areas of compiler
+ technology, including front ends, optimizers, code generation, interpreter engines, and runtime
+ libraries. Walter regularly writes articles about compilers and programming, is known for engaging and
+ informative presentations, and provides training in compiler development techniques. Many are surprised
+ to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30
+ years after its debut.
In this talk, I will discuss how a three-year ongoing game engine project in D has
+ been able to run on multiple platforms while staying consistent, fast, and easy
+ to use.
+
+
+
Having used several game engines from several programming
+ languages and unsatisfied with how hard it was to get started with a native
+ programming language, Marcelo Mancini went from being a complete novice who didn’t even know
+ how to build anything to a daily D user producing one of the most ambitious projects
+ in the language. He noticed a big opportunity in D with its flexibility as both a low-
+ and high-level language, its compile-time reflection and mixins, the simplicity of
+ its build system, the presence of a package manager, and how all of this could lead to
+ increased productivity for people learning their first programming language.
In January of 2023, I excitedly showed a group of over 110 university students
+ that D is the 48th most popular programming language on the Tiobe Index (for
+ whatever its metrics are)—and then told those students they would be
+ learning D in the software engineering course that semester. In this talk, I will
+ recap my university curriculum of how I taught D, and why I think D should be
+ taught by more faculty in universities. For this software engineering course, we
+ made use of low-level access, multiple programming paradigms, built-in profilers,
+ package management (dub), code coverage, ddoc, and unit testing in order to build a
+ half-semester long project. My conclusion is that using D at university can give
+ students a competitive advantage versus other languages, and in this talk I’ll
+ reflect on the curriculum, pain points, strengths, and future of D in
+ education.
+
+
Michael discovered computer science at the age of 13 when
+ googling “how do I make games”. Since that fateful google search, he has
+ worked as a freelance game developer, worked in industry for Intel, Sony
+ PlayStation, and Oblong Industries, and researched at The Ohio Supercomputer Center.
+ Mike cares about building tools to help programmers monitor and improve the
+ performance of real-time applications—particularly any visual multimedia. He
+ believes computer science can be learned by all. Mike Shah completed his PhD at
+ Tufts University in 2017 and is an associate teaching professor at Northeastern
+ University. He also consults as a 3D Senior Graphics Engineer. In his spare time he
+ goes for long runs, plays video games while on his exercise bike, learns guitar, and
+ considers himself an amateur pizza and wine maker.
In January of 2023, around 110 students took Foundations of Software
+ Engineering with Professor Mike Shah at Northeastern University. During the first
+ class, it was announced that the course would be taught in D. This talk will
+ follow the perspective of four students (one group) in said course, beginning with
+ their experience learning the D programming language.
+
+
The main portion will discuss the creation and implementation of the
+ half-semester long final project: an interactive networked whiteboard application
+ with a couple of features (chat, brushes). Various tools and add-ons this project
+ used were GtkD, networking, package management (dub), code coverage, and unit
+ testing (unit-threaded). To conclude, this
+ talk will discuss the main benefits of D as a post-secondary educational language and reflect on the
+ state of the D community and development tools.
+
+
NOTE: This talk immediately follows, and is a continuation of, Mike Shah’s talk,
+ with no break in between.
+
+
+
Ben Mallet is a graduate student at Northeastern University. He expects to
+ graduate in May 2024. He has D experience from Mike Shah’s course (Spring 2023)
+ and some C experience as an Embedded Software Engineer at Running Tide
+
+
Elizabeth Williams is a graduate student at Northeastern University who expects
+ to graduate in May 2024. She has D experience from Mike Shah’s course (Spring
+ 2023) and some C experience from other courses.
+
+
Andrew Briasco-Stewart is an undergraduate student at Northeastern University
+ who expects to graduate in May 2024. He has D experience from Mike Shah’s course
+ (Spring 2023) and C/C++ experience from other courses.
+
+
Steven Abbott is an undergraduate student at Northeastern University. He
+ expects to graduate in December 2023. He has D experience from Mike Shah’s course
+ (Spring 2023) and experience with C/C++ experience and Build System/CCID as a
+ Software Engineer Co-op at MORSE Corp.
Different hardware architectures implement different memory models. This in
+ turn makes porting multi-threaded software between different target architectures
+ an insanely complicated task. To solve this problem, C++11 introduced a language
+ memory model that was later adopted by other languages such as D and Rust.
+
+
In this talk, we’ll present the C++11 memory model, including multiple options
+ for atomic accesses that lie on the trade-off between performance and the
+ consistency level they support. Due to the well known complexities and pitfalls in
+ this kind of programming, we will also consider several safe patterns to work with
+ atomic variables that lower the chances of introducing bugs.
+
+
Roy Margalit is a PhD student in the Programming Languages
+ group at School of Computer Science, Tel Aviv University. Currently researching
+ programming languages and verification, with a focus on concurrency and relaxed
+ memory models.
Serpent OS is a Linux distribution heavily utilizing D for its tooling,
+ infrastructure, and software update processes. It’s been an extensive journey,
+ with lots of mistakes made along the way. Learn how we screwed up - so you don’t
+ have to!
+
+
+
Ikey Doherty is a Staff Engineer at MZLA Technologies working
+ on Thunderbird. He is also the chief architect of the Serpent OS Linux distribution
+ and a member of the Solus Technical Steering Committee, currently working with the
+ team to assist with a rebase onto Serpent OS core technologies..
+
Multiplix is an operating system written in D under development for a research
+ project at Stanford University. Kernel code is an unusual setting where there
+ is no surrounding infrastructure, thus requiring hand-written assembly, a
+ specialized build process, and custom implementations for core features like
+ memory allocation and concurrency primitives. This talk will explain how we are
+ using D for OS development, and show examples of how to write bare-metal D
+ code. The talk will go over the architecture of Multiplix with an emphasis on
+ how the D language has shaped it. I’ll also discuss our experiences using D for
+ kernel development, and the benefits and challenges that arise from using D in
+ this setting.
+
+
Zachary Yedidia is a computer science PhD student at Stanford
+ interested in computer systems, hardware, and compilers. You can learn more about him
+ at zyedidia.github.io.
Want to see what D would look like with native sumtypes, rich types, better
+ lambdas, and macros?
+
+
Mathis Beer writes D code for Funkwerk. He is the author of Serialized as well
+ as the company’s Boilerplate
+ library. Mathis is also known in the D community as
+ “FeepingCreature”.
Átila Neves has a PhD in Particle Physics for research done at CERN. Most of his
+ time spent there required programming in C++, with a two-year stint as a Perl programmer on the IT
+ department’s security team. He also worked for Cisco for almost seven years, developing networking
+ software in C and C++ and leading his teams in the areas of software quality and testing. He now works
+ as a D consultant/programmer for Symmetry Investments, and is also the deputy maintainer of the D
+ programming language. He spends his spare time yelling at the screen in frustration while waiting for
+ computers to compile his code.
The first part of this talk demonstrates the process of internationalizing an existing program
+ (adding support for multiple natural languages to its user interface) using the dub gettext package. The second part focuses
+ on the implementation of said package, which makes interesting use of various features of the D
+ programming language.
+
+
+
Bastiaan Veelo has been in charge of the conversion of roughly half a million lines
+ of Pascal code to D for the company SARC, who develop applications for the marine- and shipping
+ industry. This process has been the topic of one blog
+ post and two prior D conference presentations in 2017
+ and in 2019. Besides upgrading the programming language, SARC
+ decided that it was also time to upgrade their system for internationalization. Thus, Bastiaan
+ implemented the gettext package with valuable
+ help from the D community. This work is now available to everybody under the Boost license.
QUIC is a new, standardized and widely adopted internet protocol.
+ A native library within the D ecosystem would pave the way towards HTTP/3
+ adoption. Furthermore, it would remove the reliance on bindings to third party C
+ implementations and would facilitate the use of features like D exceptions and
+ fiber-based concurrency.
+
+
This talk aims to present my progress on bringing QUIC
+ to the D environment. I will talk about why someone might consider using QUIC
+ over other protocols. I will present the challenges that I encountered and how
+ the solutions reflect into the design of quic-d. I think that the requirements
+ of QUIC framing/packetization and streams made an interesting case of using D’s
+ features, like introspection. I will conclude by presenting some possible
+ improvements and opportunities.
+
+
Vlăduț Chicoș is a 4th year student at Politehnica University
+ of Bucharest. He participated in SAOC 2022, during which he worked on the quic-d library, adding
+ modules mostly related to cryptography, packetization/framing and streams. In his
+ bachelor thesis project, he is experimenting with model predictive control as an
+ alternate solution of pacing QUIC packet sending that is compatible with the
+ standard approach.
Got something interesting to tell the D community, but not interested in presenting a full talk?
+ We’ll give you five minutes to tell the world!
+
Lightning Talks are presentations restricted to five minutes or less. Speakers plug in their
+ laptops and get started immediately. When their time is up, the emcee pulls them off stage and the
+ next speaker gets going. The Lightning Talk session from DConf
+ ‘22 is a great example of the format.
+
Any DConf attendee can sign up to present a Lightning Talk. We’ll have nine slots available
+ this year, and we’ll fill them on a first-come first-serve basis. Email social@dlang.org
+ anytime before the conference to reserve your spot (after you’ve registered), or let Mike Parker
+ know at any point during the conference prior to the start of the Lightning Talks session.
I will talk about my journey learning AI, what I’ve discovered about it, the
+ ins and outs most people do not understand, and how I did it all purely in D.
+ I was able to implement neural networks to do a variety of tasks, such as text
+ and color recognition. I’ve created my own neural network creator software,
+ which in turn was also written in D.
+
+
+
Murilo Miranda is a computer scientist at the
+ University of Brasília (UnB). He works as a programmer, computer technician, and
+ teacher of computer programming. He’s also an indie game developer, overclocker, and
+ casemodder in his free time. He maintains a blog about CS at computingthesciences.blogspot.com.
+
Even in their infancy, large language models like ChatGPT are the talk
+ of the town. Until recently, LLMs have been inferenced (run) using huge
+ chunks of Python code, but recent interest has brought about some
+ much simpler, specialized, libraries written in native languages
+ (llama.cpp being a recently famous example). In this talk, Max talks about the state of
+ LLMs and how they might be useful for D programmers.
+
+
Max slings code for Symmetry Investments. Otherwise... all words, some action, no
+ bona fides!
+
+
+
16:30 Ask Us Anything!
+ with Walter Bright, Átila Neves, Mathias Lang, Dennis Korpel, Saeed Sabeti, Mike Parker
+
This year, it isn't only Walter and Átila in the hotseat! They'll be joined on stage by Mathias Lang, one of the DLF team members in charge of our high-level goal to enhance the D ecosystem; Dennis Korpel, one of our Pull Request and Issue Managers; Mike Parker, one of the DLF team members in charge of our high-level goal to strengthen the D community; and Saeed Sabeti, who's joining to take questions about Ucora's organizational redevelopment program.
+
+
Curious about the DLF’s organizational redevelopment? Wondering what’s in store for the language,
+ ecosystem, and community down the road? Eager to learn more details about progress on our current
+ goals? Dying to hear any juicy bits of history from Walter’s decades as a C compiler developer?
+ All of these topics and more are on topic for the annual DConf Ask Us Anything!
+
+
+
+
18:00 End of Day Three
+
+
+
+
+
+
Friday September 1st
+
+
+
+
08:00 Breakfast Snacks
+
09:00 Hackathon & “Find Your IVY” Morning Sessions
+
12:00 Lunch
+
13:30 Hackathon & “Find Your IVY” Afternoon Sessions
+
18:00 End of DConf ‘23
+
+
+
+
Hackathon
+
The DConf Hackathon has been part of every edition of DConf since 2017 in Berlin when Sebastian
+ Wilzbach suggested we extend the conference by one day to work on D projects. A number of
+ attendees worked on bugs, some tutored others on various D features, and one (Timon Gehr) used the
+ time to implement a new feature (static foreach).
+
Use your time at the Hackathon the way you feel is best for you: submit PRs to the core D
+ repositories or your favorite projects in the broader ecosystem; hack on your own project, and
+ maybe enlist some help from a fellow attendee to work through a tough problem; tutor a novice D
+ programmer, or seek tutoring from someone more experienced; corner Walter or Átila and rant to
+ them about your biggest D pet peeve(s); or just sit and chat with the people around you.
+
This year, we’re planning a special event to take place during the morning
+ session, open to anyone who’d like to join. We’ll post the details here once we’re ready to announce.
+
+
The DConf Hackathon is also open to the general public. If you are in the area on September 1st and
+ didn’t register for the conference, that’s okay. Join us anyway! If you registered, invite a
+ friend or relative, maybe someone who knows very little about our favorite programming
+ language—there are fewer times as opportune as this one to show them what it’s all
+ about.
+
The DConf Hackathon is a great time to ramp up some work or wind down from three days of talks.
+ It’s your time, so use it as you will. See you there!
+
Finding Your IVY
+
Some in the D community will have already heard of the concept of IVY (Ideal Vision of Yourself) from the D Language Foundation's
+ announcement that they went through an organizational development program courtesy of Ucora. DConf attendees will hear more about
+ it from Ucora’s Saeed Sabeti in his opening keynote and during the Ask Us Anything session. The TL;DR: IVY is a different take on the well-known concept
+ of a vision statement, geared in part toward finding opportunities for collaboration that might otherwise be overlooked.
+
During the Hackathon, Saeed, along with Mike Parker, will be available for group sessions aimed at going more in-depth about the IVY
+ concept and assisting those interested in learning how to discover their personal IVY statements. They will host up to four hour-long sessions
+ as needed, starting at 09:30, 11:00, 13:30, and 15:00.
+
Anyone interested in learning how they can benefit from IVY and how the D Language Foundation is employing it is encouraged to
+ join one of the sessions. Just let Mike Parker know at any point before or during DConf and he will get you sorted.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Venue
+
+ Our DConf ‘23 venue is CodeNode, a space in Central London
+ specifically designed for tech conferences. It’s conveniently located close between Moorgate and Liverpool
+ Street stations and is a 10–15 minute walk from Old Street Station to the north.
+
+
+
+
+
+ Our presentations will happen on the ground floor in the CTRL room, and we’ll have the entirety of the ESC area
+ downstairs to ourselves, where attendees can relax, chat, or play table tennis or foosball between talks.
+
+
Accommodations
+
+ There are several budget hotels in easy walking distance. The following are some options that, according to
+ Google Maps, are less than a 20-minute walk from the venue. Some of them are near an underground station that is
+ one stop away from Moorgate or Liverpool Street stations. Click a link to see the walking route(s) between a
+ hotel and the venue. On the map, you’ll find links to reserve a room.
+
Every evening during the first three nights of DConf means only one thing: BeerConf! Ethan Watson coined the term in 2016 as a name for
+ what happens at the designated evening gathering spot at every DConf. In 2019 and 2022, we
+ were able to hire space at pubs for BeerConf. Unfortunately, pub hire rates are well beyond
+ our budget this year, so we’re going back to what we used to do and designating a hotel where
+ everyone can gather.
+
+
+ Travelodge London Central City Road
+ is tentatively designated the DConf ‘23 BeerConf spot. They have a restaurant/lounge
+ on the ground floor which serves beer, non-alcoholic beverages, and snacks. Despite the
+ name, drinking beer is not required to particpate. Come and go as you please each evening.
+ Chat and talk about D, about programming, about life, or whatever comes up. BeerConf is an
+ excellent way to unwind after a day of DConf!
+
+
+
+
+
+
+
+
Sponsors
+
+
+
+
Our friends at Symmetry Investments are the primary sponsors and
+ hosts of DConf ‘23. With offices in Hong Kong, Singapore, London, Jersey, and the Cayman Islands, Symmetry
+ employs D in their investment management mission. This is the third time they’ve sponsored DConf, and we
+ are thankful for their continued support. They are also the sponsors of the Symmetry Autumn of Code, an annual event that,
+ since 2018, has provided experience to emerging programmers while enhancing the D ecosystem. We couldn’t
+ be more excited to bring DConf to London once again with Symmetry’s support.
+
Supporters
+
+
+
+
We thank our new friends at Ahrefs for their sponsorship of DConf ‘23. Ahrefs Pte. Ltd. is a software
+ company that develops online SEO tools, a search engine, and free educational materials for marketing
+ professionals. They are a lean multinational startup headquartered in Singapore that values making meaningful
+ and easy-to-use products. They shift things fast to give their customers what matters most to them, and to keep
+ us ahead of the game. Their motto is “First do it, then do it right, then do it better.”
+
Partners
+
+
+
+
A big thanks to DevITjobs, our media partner for DConf
+ ‘23. DevITjobs is the first job board built with Software Engineers in mind. Their goal is to bring more
+ transparency, openness and diversity to the British IT market. They want to make the job search process for
+ Software Engineers more enjoyable by gathering all job postings in the United Kingdom and presenting them in an
+ informative way. The DevITjobs.uk portal is not only for
+ Developers but for everyone working in the IT industry: Engineers, SAP and System Admins, Product Managers, QAs
+ and UX/UI Designers!
+ Symmetry Investments and the D Language Foundation are thrilled to invite you to the D Programming Language Conference 2024 in London, from September 17–20. With help once more from our friends at Brightspace Events, we’re excited to return to our favorite venue, CodeNode.
+
+
+ DConf is more than a conference; it's a community celebration. It's where DLang enthusiasts and experts from across the globe converge for four days of knowledge sharing, collaboration, and fun. Though our regular online meetups are valuable, they can't replicate the connection and energy of in-person interactions, be it during engaging sessions, casual chats, or our nightly BeerConf.
+
+
+ Whether you're a seasoned DConf veteran or joining us for the first time, we can't wait to welcome you to London!
+
+
+
+
+
+
+
+
Call for Submissions
+
+
+ We are currently accepting submissions for DConf ‘23. If you have an idea for a talk, demo, or panel, don’t hesitate to submit it. We’re interested in anything and everything related to the D programming language. We will review all submissions submitted by June 8 AOE.
+
+ Never presented at a conference? Don’t let that stop you! Several D community members have given their first conference talks at DConf. Our community is always welcoming and ready to make you feel at home.
+
+
+ Not sure what to talk about? As Ali pointed out in one of his DConf Online 2020 Q & A sessions, if you’re using D now, you probably already have material for a potential talk.
+
+
+ If you need inspiration, visit the DConf ‘23 Schedule to see what sort of talks were presented, then follow the links in the menu bar to past conferences for more. Any topic related to D is a potential talk, such as:
+
+
+
Language techniques enabled by the D programming language
+
Tools and techniques for maximizing productivity when working in D
+
Experience reports on using D in the real world, professionally or as a hobby
+
Under the hood looks at compiler and standard library implementation artifacts
+
Hot topics such as safe deterministic memory management, migrating from other languages, or community engagement
+
Deep dives into D projects, their APIs, architecture, and implementation details
+
Research reports by students doing research on or using the D language
+
+
+ Don't feel constrained in topic or format. Follow your inspiration where it leads and tell us about it!
+
+
Selection Criteria
+
+ Talks should be no longer than 40 minutes and no shorter than 25 minutes. Additionally, we will evaluate submissions according to the following criteria:
+
+
+
Relevance: Is the topic interesting to DConf attendees? Will coverage be beneficial? Is it building on tried and true ideas, or blazing new trails?
+
Coverage: Does the proposal cover the topic in depth? What are the main insights dispensed by the submission?
+
Organization: Is the submission well organized? Will the audience tune into the narrative?
+
Novelty and Originality: How new and noteworthy is the material? Previously published material is acceptable provided it hasn’t yet
+ reached a wide audience within the D community.
+
Bottom Line: What’s your session’s takeaway? How is it going to improve the attendees’ knowledge, outlook, and inspiration?
+
+
Submission Guidelines
+
+ We expect submissions in either plain text or Markdown. Please do not send PDF, DOCX, etc. All submissions should be directed to
+ social@dlang.org
+ and should include:
+
Abstract: the "elevator pitch" of the talk, in one paragraph
+
Extended Description: an extended abstract including any details you believe are relevant for evaluating the submission
+
Brief Speaker Biography: including a summary of the speaker’s expertise relative to the talk topic
+
+
We can’t wait to see what you send us!
+
+
+
+
+
+
Registration
+
+ GBP rates are based on the HMRC Exchange Rate for the current month. Note that this rate is static for the month and will most likely differ from the rate used by PayPal or your credit card company. You may find the USD PayPal link to result in a lower or higher charge on your GBP credit card than the GBP link.
+
A 20% VAT is added to the base registration rates.
+
+
Early-Bird Registration Base Rate: $382.50 (£303.23)
+
+ Early-bird registration is 15% off the general rate of $450. At a base rate of $382.50, with 20% VAT, the total is $459 (£363.88). Early-bird registration is available until June 17 AOE, so register now!
+
+
+
+
General Registration Base Rate: $450
+
+ General registration opens on June 18 AOE. At a base rate of $450, the total with 20% VAT is $540. The GBP rate will be listed at the HMRC June 2024 exchange rate on June 18.
+
+
+
+
Student Registration Base Rate: $100 (£79.28)
+
+ The student rate is a fixed $100 + 20% VAT, or $120 (£95.13), until General Registration closes. If you qualify, please contact social@dlang.org for details on how to take advantage of this discounted rate.
+
+
+
+
Major Open Source Contributor Registration Base Rate: $250 (£198.19)
+
+ The rate for major open source contributors is a fixed $250 + 20% VAT, or $300 (£237.83), until General Registration closes. Eligibility for this discount is determined on a case-by-case basis. If you think you qualify, please contact social@dlang.org for more information.
+
+
+
+
Hardship Rate
+
+ If you would like to attend DConf but cannot afford any of the above rates, we are willing to offer you a special hardship rate. This is only a discount on registration. We cannot assist you with transportation or lodging. Please contact social@dlang.org to explain your situation, and we’ll provide you with more details.
+
+ Please be aware that by attending the conference, you acknowledge that you are responsible for any property that you bring to the venue and that neither the D Language Foundation nor its sponsors can assume any responsibility for damaged, stolen or lost property belonging to the attendees.
+
+
+
+
+
+
+
+
Venue
+
+ Our DConf '24 venue is CodeNode, a space in Central London specifically designed for tech conferences. It’ conveniently located close between Moorgate and Liverpool Street stations and is a 10–15 minute walk from Old Street Station to the north.
+
+
+
+
+
+ Our presentations will happen on the ground floor in the CTRL room, and we'll have the entirety of the ESC area downstairs to ourselves, where attendees can relax, chat, or play table tennis or foosball between talks.
+
+
Accommodations
+
+ There are several budget hotels in easy walking distance. The following are some options that, according to Google Maps, are less than a 20-minute walk from the venue. Some of them are near an underground station that is one stop away from Moorgate or Liverpool Street stations. Click a link to see the walking route(s) between a hotel and the venue. On the map, you'll find links to reserve a room. Note that most attendees generally stay at the Travelodge London Central City Road.
+
+ DConf ‘23 is sponsored by our friends at Symmetry Investments. With offices in Hong Kong, Singapore, London, Jersey, and the Cayman Islands, Symmetry employs D in their investment management mission. This is the fourth time they’ve sponsored DConf, and we are thankful for their continued support. They are also the sponsors of the Symmetry Autumn of Code, an annual event that, since 2018, has provided experience to emerging programmers while enhancing the D ecosystem. We couldn’t be more excited to bring DConf to London once again with Symmetry’s support.
+
+ The D Language Foundation invites you to join us for the fourth edition of DConf Online on March 16th, 2024! Spend the day with us on the D Language Foundation’s YouTube channel. It’s completely free. No registration is required; all you need is a web browser or the YouTube app, an internet connection, and a YouTube account if you wish to participate in the live chats.
+
+
+ In past editions of DConf Online, we ran the livestream and the talks separately. This year, everything is happening in one place:
+
The speaker will join Mike Parker in the livestream for a 10-minute chat about the talk.
+
At 10 minutes past the hour, Mike will launch the talk in the livestream. Viewers will not need to switch away to watch it.
+
The speaker will monitor the livechat while the talk plays and may type out short answers to any questions that come up or defer answering until after the talk.
+
As soon as the talk ends, the speaker will stick around for 10 or 15 minutes to answer questions.
+
When the Q&A session is finished, Mike will announce a break until the top of the hour, when we goto 1.
+
+
+
As with past editions, everyone who has a question answered during the Q&A session will be entered into a drawing to win a swag item. They'll also be entered into a drawing at the end of the day to win a $100 Amazon eGift Card. So be sure to stick around to the end! The livestream link will be posted here and in the D Announce forum one week prior to the event.
+
+
Mike will open The DConf Online ‘24 livestream at 14:55 UTC. Note that all times in the below schedule are in UTC.
This talk will present an aspirational goal for the D language where compiling code is something to be done occasionally to produce binaries instead of the focus of the developer feedback cycle.
+
+
Átila Neves has a PhD in Particle Physics for research done at CERN. Most of the time spent there required programming in C++, with a two-year stint as a Perl programmer on the IT department's security team. He also worked for Cisco for almost seven years, developing networking software in C and C++ and leading his teams in the areas of software quality and testing. He now works as a D consultant/programmer for Symmetry Investments, as well as being the deputy maintainer of the D programming language. He spends his spare time yelling at the screen in frustration while waiting for computers to compile his code.
Everybody wants good containers like C++’s std:vector in D. But what is “good”, given the multitude of design choices, language features, user expectations, and their interactions? This talk will analyze this design space, then come up with an answer to the question of what “good” is, then finally design a “good” std.vector for D.
+
+
Robert Schadek received a doctorate degree in computer science from the University of Oldenburg. His dissertation was titled ‘Analysis and Development of Quorum Protocols for Real-World Network Topologies’ and focused on quorum systems in combination with graphs. Since 2018, he has been happily using D in his day job working for Symmetry Investments.
In this talk, I will present design considerations around tuples, and a number of proposals for how to move forward. I will elaborate and expand upon the second part of my DConf ‘23 talk, where I had run out of time.
+
+
Timon Gehr is a postdoctoral researcher at ETH Zürich who has used D to implement a number of tools and programming languages for his research. He has opened almost 1% of all issues on the D issue tracker. He sometimes dabbles in DMD development and has contributed the initial implementation of static foreach.
‘write fast, read fast, and run fast’ is the mantra found on the D programming language homepage. Notice the word 'fast'—a favorite among game and graphics programmers—is used three times! In this talk I will show how the D programming language can be used for Graphics programming using OpenGL (And I’ll mention Vulkan too!). I’ll show a small graphics demo and highlight how the D programming language was used to make it easier to architect a graphics scene. Viewers of this talk will leave understanding how to setup a basic graphics application and a few tips on why Dlang could be their secret weapon for rapidly building high performance graphics applications.
+
+
Mike discovered computer science at the age of 13 when googling “how do I make games”. Since that fateful Google search, Mike has worked as a freelance game developer, worked in industry for Intel, Sony PlayStation, Oblong Industries, and researched at The Ohio Supercomputer Center to name a few. Mike cares about building tools to help programmers monitor and improve the performance of real time applications—particularly any visual multimedia. Mike believes computer science can be learned by all. Mike Shah completed his Ph.D. at Tufts University in 2017 and is an Associate Teaching Professor at Northeastern University. Mike also consults as a 3D Senior Graphics Engineer. In Michael’s spare time he goes for long runs, plays video games while on his exercise bike, learns guitar, and considers himself an amateur pizza and wine maker. Mike’s YouTube channel covers various graphics and programming including Dlang!
D, like most modern languages, has builtin types as well as the ability to create user-defined types. Also like most modern languages, the user-defined types are not quite as capable as the builtin ones. This talk is about removing probably the most talked about deficit with user-defined types.
+
+
+
Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages. He’s an expert in all areas of compiler technology, including front ends, optimizers, code generation, interpreter engines, and runtime libraries. Walter regularly writes articles about compilers and programming, is known for engaging and informative presentations, and provides training in compiler development techniques. Many are surprised to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30 years after its debut.
+ Thank you for signing up for DConf ‘24! You should receive an email from Mike Parker within the next few days containing all the details you'll need to know about the conference. If you forgot to include a nickname/forum handle or to list any special dietary requirements on the registration form, that's okay. The incoming email will explain how to proceed.
+
+
+ If you do not receive your email within 48 hours after registration, please check your spam folder. If you do not find it there, you can email social@dlang.org and let us know. Feel free to also use that address for any questions or concerns you'd like to bring up.
+
+
+
+
\ No newline at end of file
diff --git a/docs/CNAME b/docs/CNAME
new file mode 100644
index 00000000..6ee21906
--- /dev/null
+++ b/docs/CNAME
@@ -0,0 +1 @@
+dconf.org
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
new file mode 100755
index 00000000..347a7bdb
--- /dev/null
+++ b/docs/index.html
@@ -0,0 +1,3 @@
+
+
+