Re: DIP 1034--Add a Bottom Type (reboot)--Formal Assessment Begins
On Wednesday, 3 February 2021 at 18:24:06 UTC, Imperatorn wrote: Is there a short explanation of why this was done and what it enables? Personally I'm excited to see this... Strangely enough there is a long running 'net wide disagreement on what an assert is or does. Some regard it as purely a debugging tool used as a programmer aid that is expressly turned on by the programmer, and others (such as myself) regard it as a way of stating, and enforcing the contract, provided by an API. And as such, people with the latter mindset wish the compiler would warn us if that contract is potentially violated on any path, and conversely, wish the optimizer to act on the information it provides. By adding it to the type system, it expresses and clarifies the intent of the author of the code, and expresses it in the compilers terms, ie. a type. In my day job, I have found the only resolution to the disagreement is to create two different facilities with two different names to permit the two groups of humans to get along. In my day job instead of "assert" we now have "log_If()" that are opt-in programmer debugging tools and "error_Check...()" that enforce.
Re: Online D Conference
Motivating Questions: What is the difference between an "Online Conference" and watching something on youtube? If the answer is nothing, don't bother with a conference, just create a youtube channel. If the answer is a conference is nothing like watching stuff on youtube... you better consciously and actively organise it to be different. What is the difference between "Online" and "Meat space"? If the answer is "Nothing", you will have a guy, selected by a papers committee, standing in front of an empty hall talking at the camera. Otherwise you can think much much wider... * screencasts * massively multiprogrammer online sessions * remove the paper selection committee and replace it with redditlike upvotes * or write a paper like you write a library, collaboratively, on github, with PR's. * Have game sessions, virtual choirs, ... whatever can turn online handles into humans. Disclaimer: I was involved in arranging linuxconfau 2019 and observed first hand that meatspace conferences impose huge and tight constraints on what is possible... Some things are about meatspace are very nice (eat! drink! be merry!). Some things cost a huge amount and decrease the value of the conference. (Very tight limits on number of tracks / papers, attendees, health and safety, transport, accommodation, flights, .)
Re: Symantec has been sold to Broadcom
On Thursday, 8 August 2019 at 23:46:38 UTC, Walter Bright wrote: It's the end of an era. Symantec bought my company, Zortech, and now is bought in return. The D community, and myself personally, owe a debt of gratitude to Symantec. You were lucky... ...in another age of the world they bought the Whitewater Group and with it the Actor language and ...strangled it. (Actor was a lovely SmallTalk alike OOP language) https://books.google.co.nz/books?id=LjwEMBAJ=PT86=PT86#v=onepage=false
Re: DConf 2019 Slides
On Wednesday, 8 May 2019 at 08:50:15 UTC, Mike Parker wrote: Jens Mueller is speaking after Walter. His slides can be found here: Thanks for what you are doing here, I have looked at them all! Is there a video and/or slides for Walter's keynote anywhere?
B Revzin - if const expr isn't broken (was Re: My Meeting C++ Keynote video is now available)
On Saturday, 12 January 2019 at 15:51:03 UTC, Andrei Alexandrescu wrote: https://youtube.com/watch?v=tcyb1lpEHm0 Now as to the talk, as you could imagine, it touches on another Somebody on the C++ side has written a reply https://brevzin.github.io/c++/2019/01/15/if-constexpr-isnt-broken/ Although looking at the implementation of std::conditional in the type_traits header makes me sad... I would love to see the whole checkedint thing in C++ side by side with the d code (and generated -Os object code). Conversely I'd love to see a Rust implementation too :-) Given that I have probably written a lot more C++ code in my life than d... ...I do find it remarkable that I can read the d code quite easily without reaching for the reference manual, but to make sense of his C++, it sends me trawling around cppreference.com I find Andrei's claim that checkint with a void hook reverts to int is amazing, and would love to verify that at the assembly level for both the C++ and d implementations.
Re: Unit Testing in Action
On Friday, 20 October 2017 at 14:04:25 UTC, Mike Parker wrote: https://dlang.org/blog/2017/10/20/unit-testing-in-action/ I'm somewhat late to this party but anyway, here is my two cents on the way Unit testing needs to be tweaked. One of the values of Unit Testing is Defect Localization. ie. In a well designed unit test suite, tell me which test failed, I will tell you, to within a few lines, where the bug is. However in the presence of setup and teardown failures, we lose that. Ideally we should differentiate between failures that occur during setup and teardown, versus exceptions occurring in the behaviour under test, or assertions on the validity of the result. ie. Failures under setup and teardown are not failures of the behaviour under test. The only thing we can say about the behaviour under test in these cases is, that it “hasn’t been tested”. Hopefully the behaviour that failed during the setup and teardown is explicitly tested elsewhere. ie. We should stop at the first test that fails at a point other than setup and teardown, as this is likely to be the cause, for the cascade of failures in setup and teardown of other tests.
Re: Compile-Time Sort in D
On Monday, 5 June 2017 at 14:23:34 UTC, Mike Parker wrote: https://dlang.org/blog/2017/06/05/compile-time-sort-in-d/ Seems like you have inspired people... http://blog.zdsmith.com/posts/compiletime-sort-in-nim.html
Re: D's Auto Decoding and You
On Tuesday, 17 May 2016 at 14:06:37 UTC, Jack Stouffer wrote: http://jackstouffer.com/blog/d_auto_decoding_and_you.html There are lots of places where invalid Unicode is either commonplace or legal, e.g. Linux file names, and therefore auto decoding cannot be used. It turns out in the wild that pure Unicode is not universal - there's lots of dirty Unicode that should remain unmolested because it's user data, and auto decoding does not play well with that mentality. As a slightly tangential aside. https://lwn.net/Articles/686392/ There exists a proposal for a linux kernel module to render the creation of such names impossible. I for one will install it on all my systems as soon as I can. However, until then, my day job requires me to find, scan and analyze and work with whatever crud, the herd of cats I work with, throws into the repo. And no, sadly I can't just rewrite everything because they (or some tool they use) doesn't understand UTF8.
Re: IAP Tools for D
On Sunday, 20 December 2015 at 17:52:40 UTC, Jakob Jenkov wrote: I just had a look at Cap'n Proto. From what I can see in the encoding spec, performance of ION will be comparable. "If a disease has many treatments, it has no cure". This is certainly true for serialization protocols. The major advantage I see in Cap'n'Proto is the pipelining can do quite a lot to reduce round trip latency. (You don't have to google far to find rants pointing out that latency is often more important than bandwidth in determining throughput.) I was just reading your IAP web site, when I came across "No Stateful Communication" under the heading "What is Wrong With HTTP?". The designers of HTTP would strongly argue that is a major thing HTTP got right, and is the feature primarily responsible for it huge success. Certainly in the realm of IoT HTTP is way too heavy so in that domain I would reach for http://coap.technology/ The use case I keep challenging my colleagues with is So one end or the other dies. Or resets. Or fades and comes back. Or changes batteries. This is the IoT things. It will happen, and you will be required to recover the whole end to end system automatically without manual intervention. What is your plan? Too often the answer is... "We don't have a plan but we will have a wheel restarting the link umm, then a wheel resending the stuff that was lost in the link buffers when the link went down and a, e, maybe wheel restarting Everything when we realise the other side has lost it's state about our connection. And in practice the only wheel that works is shutting everything down and restarting everything up. Suddenly "No stateful communication" is looking really really Good. Coap clearly has thought these issues through.
Re: This Week in D - dconf videos, objc and iOS support improving, interview with Etienne Cimon
On Monday, 13 July 2015 at 19:14:47 UTC, Andy Smith wrote: On Monday, 13 July 2015 at 04:40:12 UTC, John Carter wrote: On Monday, 13 July 2015 at 04:05:45 UTC, Adam D. Ruppe wrote: Now that all the videos are out for dconf, Are there slides or anything for Martin Nowak's Garbage Collection in D? http://dconf.org/2015/talks/nowak.html Don't know if anyone replied, but unfortunately Martin missed his flight so that talk didn't happen :-( It was replaced by a few lightning talks. Not sure if they were recorded or not :-( I thought it may have been that but hey, presumably he has the slides he was going to use somewhere Why let them go to waste? It still should be interesting! ps: Lightning talks are my favourite variety... I do hope somebody posts the videos / slides. Usually a gem or two amongst those.
Re: This Week in D - dconf videos, objc and iOS support improving, interview with Etienne Cimon
On Monday, 13 July 2015 at 04:05:45 UTC, Adam D. Ruppe wrote: Now that all the videos are out for dconf, Are there slides or anything for Martin Nowak's Garbage Collection in D? http://dconf.org/2015/talks/nowak.html Or has it been supplanted by Voting for std.experimental.allocator? http://forum.dlang.org/post/zbzjtssagejcxpxit...@forum.dlang.org
Re: We're looking for a Software Developer! (D language)
If you email me at john DOT carter AT taitradio DOT com we can take this conversation out of the D forum as it is going way off topic. On Fri, Jan 9, 2015 at 4:05 PM, Rikki Cattermole via Digitalmars-d-announce digitalmars-d-announce@puremagic.com wrote: On 9/01/2015 2:53 p.m., John Carter via Digitalmars-d-announce wrote: Whilst we are not currently using D at Tait Electronics I am certainly trying to make it happen. So if this job fits you... http://www.taitradio.com/about-us/careers/new-zealand/ jobs-in-new-zealand/embedded-software-engineer2 You can help me try! Part of the problem with getting a new language accepted in a company, is to develop a critical mass of willing and capable programmers in that language. On Fri, Jan 9, 2015 at 2:20 AM, Rikki Cattermole via Digitalmars-d-announce digitalmars-d-announce@puremagic.com mailto:digitalmars-d-announce@puremagic.com wrote: On 9/01/2015 12:10 a.m., Johanna Burgos wrote: Your Mission Support our team in the development of our event-based infrastructure Development of high-performance applications and services Writing applications to work with our distributed DHT database system You will be coding in the D-language Your Track Record Degree in Computer Science, or closely-related Knowledge of Github Strong interest in distributed architectures Experienced in C, C++ or D (you’ll be programming in D) Fluency in written and spoken English Your Style You don’t like being thrown in at the deep end. You like to jump yourself You live and breathe globalization and love to work and travel internationally You mesmerize people with a friendly and open-minded, yet trustworthy and reliable personality You think in achievements, not in departments, responsibilities or hierarchy As a quick learner, first mover and fast thinker you can keep pace with one of the fastest growing technology start ups You are driven by curiosity and innovation, and always up for a good challenge Our Promise Employment in Berlin, full-time and full of fun challenges, with flexible working hours Access to a high-profile professional network of international Internet companies Possibility to show your excellent competence and your creative ideas to a broad audience A competitive compensation and incentive plan that rocks when you rock Personal development and training that will help you evolve from the pro you are right now to the champ you’re destined to be Basic German language courses for non-native speakers Help with residence permit processing for non-EU citizens Daily adrenalin rushes while working and learning in one of the fastest growing sectors in online advertising Access to an international high-profile network A company culture driven by pioneer-thinking and talent that exceeds departments and hierarchies The challenge is on. If you think it’s you we’re looking for, send us your battle plan along with a certificate of your super powers at care...@sociomantic.com mailto:care...@sociomantic.com. Alternatively, a motivational cover letter and resume in English will do, too. For now. Unfortunately I half wish you guys had a New Zealand office. As I am in need of a job. -- John Carter Phone : (64)(3) 358 6639 Tait Electronics PO Box 1645 Christchurch New Zealand This email, including any attachments, is only for the intended recipient. It is subject to copyright, is confidential and may be the subject of legal or other privilege, none of which is waived or lost by reason of this transmission. If you are not an intended recipient, you may not use, disseminate, distribute or reproduce such email, any attachments, or any part thereof. If you have received a message in error, please notify the sender immediately and erase all copies of the message and any attachments. Unfortunately, we cannot warrant that the email has not been altered or corrupted during transmission nor can we guarantee that any email or any attachments are free from computer viruses or other conditions which may damage or interfere with recipient data, hardware or software. The recipient relies upon its own procedures and assumes all risk of use and of opening any attachments. Wow there is actually somebody working right round the corner of me! I did not expect this. Out of curiosity how do
Re: Lang.NEXT panel
Yes! That is only one of the reasons to have that ability. Almost more important is automated reasoning about very large codebases. What are the global properties? Where are the antipatterns of use and can we fix them? Can we lint away large classes of defects? Even Stroustrup believes such tools would be useful for C++. On Fri, Jun 13, 2014 at 5:53 AM, Andrei Alexandrescu via Digitalmars-d-announce digitalmars-d-announce@puremagic.com wrote: On 6/12/14, 10:40 AM, Nick Sabalausky wrote: On 6/10/2014 12:35 PM, justme wrote: On Wednesday, 4 June 2014 at 06:13:39 UTC, Andrei Alexandrescu wrote: Of possible interest. http://www.reddit.com/r/programming/comments/278twt/ panel_systems_programming_in_2014_and_beyond/ Andrei IMHO, the coolest thing was when Rob Pike told about the tool they made for automatically upgrading user source code to their next language version. That should be quite easy to implement now in D, and once done, would give much needed room for breaking changes we feel should be done. Pike seemed to be extremely satisfied they did it. Personally, I wouldn't be comfortable trusting such a tool. Besides, I find that upgrading a codebase to a newer language version is one of the most trivial tasks I ever face in software development - even in D. It's a cute trick, but not a worthwhile use of development resources. I very much think the opposite, drawing from many years of hacking into large codebases. I'm completely with Rob here. On a large codebase, even the slightest manual or semi-manual change is painstaking to plan and execute, and almost always suffers of human errors. I got convinced a dfix tool would be a strategic component of D's offering going forward. Andrei -- John Carter Phone : (64)(3) 358 6639 Tait Electronics PO Box 1645 Christchurch New Zealand -- -- This email, including any attachments, is only for the intended recipient. It is subject to copyright, is confidential and may be the subject of legal or other privilege, none of which is waived or lost by reason of this transmission. If you are not an intended recipient, you may not use, disseminate, distribute or reproduce such email, any attachments, or any part thereof. If you have received a message in error, please notify the sender immediately and erase all copies of the message and any attachments. Unfortunately, we cannot warrant that the email has not been altered or corrupted during transmission nor can we guarantee that any email or any attachments are free from computer viruses or other conditions which may damage or interfere with recipient data, hardware or software. The recipient relies upon its own procedures and assumes all risk of use and of opening any attachments. --
Re: Livestreaming DConf?
The timezones being so different, I'm not sure livestreaming will help me... But I do plan to watch any videos of it as soon as they are up. On Sun, May 11, 2014 at 5:06 AM, Joakim via Digitalmars-d-announce digitalmars-d-announce@puremagic.com wrote: On Friday, 9 May 2014 at 19:48:20 UTC, Andrei Alexandrescu wrote: Hi folks, We at Facebook are very excited about the upcoming DConf 2014. In fact, so excited we're considering livestreaming the event for the benefit of the many of us who can't make it to Menlo Park, CA. Livestreaming entails additional costs so we're trying to assess the size of the online audience. Please follow up here and on twitter: https://twitter.com/D_ Programming/status/464854296001933312 I demand a telehuman stream: http://youtube.com/watch?v=06tV60K-npw Facebook has one of those, right? ;) -- John Carter Phone : (64)(3) 358 6639 Tait Electronics PO Box 1645 Christchurch New Zealand -- -- This email, including any attachments, is only for the intended recipient. It is subject to copyright, is confidential and may be the subject of legal or other privilege, none of which is waived or lost by reason of this transmission. If you are not an intended recipient, you may not use, disseminate, distribute or reproduce such email, any attachments, or any part thereof. If you have received a message in error, please notify the sender immediately and erase all copies of the message and any attachments. Unfortunately, we cannot warrant that the email has not been altered or corrupted during transmission nor can we guarantee that any email or any attachments are free from computer viruses or other conditions which may damage or interfere with recipient data, hardware or software. The recipient relies upon its own procedures and assumes all risk of use and of opening any attachments. --