Re: vibe.d 0.7.18 has been released
On 2013-11-26 19:31:44 +, Sönke Ludwig said: Homepage: http://vibed.org/ DUB package: http://code.dlang.org/packages/vibe-d GitHub: https://github.com/rejectedsoftware/vibe.d Out of curiosity, it looks like vibe.d could be used to implement all kind of network protocolls. Is that right? Or is this use-case to screwed-up for it? -- Robert M. Münch Saphirion AG http://www.saphirion.com smarter | better | faster
Re: vibe.d 0.7.18 has been released
On 2013-12-03 09:37:07 +, Atila Neves said: I wrote an MQTT broker on top of vibe.d's TCP functionality: https://github.com/atilaneves/mqtt Hi, thanks & cool stuff. Since I'm still a big fan of the BEEP protocol (framework for application protocols), I'm wondering if we could use vibe.d as a base and make a BEEP implementaiton. Having one out-of-the-box in D would be a "killer" as it reduces the effort to write network applications tremendously. -- Robert M. Münch Saphirion AG http://www.saphirion.com smarter | better | faster
Re: std.signal : voting has begun
On 2014-01-06 09:11:07 +, Dicebot said: Some time ago there have been a review for `std.signal` Phobos proposal (http://forum.dlang.org/thread/ujlhznaphepibgtpc...@forum.dlang.org#post-ujlhznaphepibgtpcoqz:40forum.dlang.org). It have not received much feedback and I was a it too busy to proceed with final voting at that moment but with no outstanding issues to address nothing prevents that final step. Let's put 2 week deadline to refresh memories about the proposal and make some decision. Voting closes at January 20th 23:59 GMT 0 Please take some time and help make Phobos better ;) Hi, not really a comment regarding the actual implementation but I think that good debug support for signales & slots helps a lot in using it. What do I mean with this: - a way to dump in a human readable form the run-time connections. Which function / class / etc. is currently attached to which signal? - automatic logging like a call-stack in a debugger to get an idea when which signal is acted on - a way to get the order of activation for debugging to identify unwanted side-effects - etc. Big signal & slot implementaitons can be hard to debug, this should be as simple as possible. -- Robert M. Münch Saphirion AG http://www.saphirion.com smarter | better | faster
Re: std.signal : voting has begun
On 2014-01-06 09:11:07 +, Dicebot said: Some time ago there have been a review for `std.signal` Phobos proposal (http://forum.dlang.org/thread/ujlhznaphepibgtpc...@forum.dlang.org#post-ujlhznaphepibgtpcoqz:40forum.dlang.org). It have not received much feedback and I was a it too busy to proceed with final voting at that moment but with no outstanding issues to address nothing prevents that final step. Let's put 2 week deadline to refresh memories about the proposal and make some decision. Voting closes at January 20th 23:59 GMT 0 Please take some time and help make Phobos better ;) Yes. It's a fundamental pattern that should be in Phobos. -- Robert M. Münch Saphirion AG http://www.saphirion.com smarter | better | faster
Re: std.signal : voting has begun
On 2014-01-13 13:50:09 +, Dicebot said: To everyone: please consider replying in linked discussion thread if you don't feel like you are going to vote for any reason. Don't understand what you mean... How about explaining how to vote if it's not here, or there, ... keep things simple please. So far activity is rather low and I think I will need some feedback to determine if it is because of low demand or for some other reasons. Maybe because people don't understand the process. -- Robert M. Münch Saphirion AG http://www.saphirion.com smarter | better | faster
Re: objconv 2.03 released (includes .OBJ disassembler)
On Sun, 07 Dec 2008 07:19:16 +0100, Don <[EMAIL PROTECTED]> wrote: Agner Fog's objconv utility 2.03 has just been released. It supports conversions between object file types (OMF<->COFF<->ELF<->Mach-O). [...] I think this will help a lot of DMC users as well. I sometimes have quite a problem when converting .lib files compiled with MSVC to use them with DMC. Thanks a lot for this. -- Robert M. Münch Management & IT Freelancer http://www.robertmuench.de
Re: cv2pdb 0.1 released
On Sat, 09 May 2009 10:27:39 +0200, Rainer Schuetze wrote: cv2pdb is a converter of DMD CodeView debug information to PDB debug format to make debugging of D applications that were created with the DMD compiler, as seamless as possible in current versions of Visual Studio (i.e Visual Studio 2008 and VCExpress). Hi, that's pretty cool. One question: Does this tool work with DMC files as well? Even we all now use D, using a C compiler sometimes is still rwequired ;-). -- Robert M. Münch Management & IT Freelancer http://www.robertmuench.de
Re: the disadvantage of D currently
On Fri, 15 May 2009 04:13:06 +0200, zsxxsz wrote: [...] Of course, all the disadvantages above may be solved in future, these are just the time problems. Well, and what do you do to help to solve these? -- Robert M. Münch Management & IT Freelancer http://www.robertmuench.de
Re: New GDC site now live
On 2014-07-31 17:34:06 +, Iain Buclaw said: GDC's revamped site is now live! http://gdcproject.org Techy details for those who are interested: - Uses vibe.d as the web engine. - Pages are written in markdown and compiled at runtime (separate thread that watches for file changes). - Redis memstore backend for caching compiled pages. - Uses bootstrap for UI. The tech backend sounds cool. Any chance to get some more information (setup, complete stack, etc.) about it? -- Robert M. Münch Saphirion AG http://www.saphirion.com smarter | better | faster
Re: COFF support for Win32 merged
On 2014-08-29 15:46:32 +, Jacob Carlborg said: On 2014-08-29 16:06, Szymon Gatner wrote: If that is indeed the case then this is huge for me. I am doing 32bit Win apps and their iOS versions. The moment I will be able to use D libraries on both platforms I will totaly do it. In fact I want to be one of the very first to release paid iOS app with D code in it ;) It's your luck day (almost). I'm working on making D ABI compatible with Objective-C [1]. It's mostly done, I'm working on merging latest changes. [1] http://wiki.dlang.org/DIP43 That's cool stuff. How will Swift influence this? I'm pretty sure that Apple's strategy is to get rid of Objective-C ASAP and use Swift whereever possible. -- Robert M. Münch Saphirion AG http://www.saphirion.com smarter | better | faster
Re: [OT?] C compiler written form scratch in D
On 2014-12-09 00:45:41 +, deadalnix said: On Monday, 8 December 2014 at 15:44:55 UTC, Stefan Koch wrote: I want to do a C backend first. Building an LLVM Backand out of that is a small step. There is already a very popular C to C compiler out there. It is called cat, and come out of the box with any UNIX like system. Any link? I tried to google it but it's such a generic word etc. no luck. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: [OT?] C compiler written form scratch in D
On 2014-12-07 19:13:41 +, Stefan Koch said: I'd like to announce that I am going to be writing a C-compiler in D. Without flex or bison or anything like that. Just pure handwritten D. Hi, how about using PEG for parsing etc.? IMO that would be a very good showcase for the power of PEG And D. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: [OT?] C compiler written form scratch in D
On 2014-12-09 11:15:19 +, eles said: On Tuesday, 9 December 2014 at 10:54:22 UTC, Robert M. Münch wrote: On 2014-12-09 00:45:41 +, deadalnix said: On Monday, 8 December 2014 at 15:44:55 UTC, Stefan Koch wrote: Any link? I tried to google it but it's such a generic word etc. no luck. http://linux.die.net/man/1/cat It was a joke. Could also say "notepad" on Windows. :-) At least one you catched... I was wondering... but you know, there are so many strange names etc. used... who knows. Better to check. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Heady House Hunting with D
On 2015-01-14 03:46:38 +, Philpax said: I recently wrote a blog post about how I used D/vibe.d to help find a new house. I haven't publicized it anywhere else yet, so I'm looking forward to what the D community has to say! You can check it out here: http://philpax.me/blog/heady-house-hunting-with-d Cool stuff! I saw this: "With real data, this produced a list of ~40 houses with all relevant information included" Well, my company is doing a mathematics based pricing analysis based on properties (an enhanced multi dimensional regression analysis approach). See: http://www.nlpp.ch So, if you want to see how the prices shouldbe and which criteria drives the costs, let me know. Houseprices would be a nice showcase I wanted to do for some time. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Heady House Hunting with D
On 2015-01-18 13:49:56 +, Philpax said: On Friday, 16 January 2015 at 18:44:47 UTC, Robert M. Münch wrote: On 2015-01-14 03:46:38 +, Philpax said: I recently wrote a blog post about how I used D/vibe.d to help find a new house. I haven't publicized it anywhere else yet, so I'm looking forward to what the D community has to say! You can check it out here: http://philpax.me/blog/heady-house-hunting-with-d Cool stuff! I saw this: "With real data, this produced a list of ~40 houses with all relevant information included" Well, my company is doing a mathematics based pricing analysis based on properties (an enhanced multi dimensional regression analysis approach). See: http://www.nlpp.ch So, if you want to see how the prices shouldbe and which criteria drives the costs, let me know. Houseprices would be a nice showcase I wanted to do for some time. I'd definitely like to see this. I wanted to try out something similar, but working with unsold houses meant that all the data was in flux (especially price). A more detailed analysis based upon already-sold houses would be quite interesting! Ok, just drop me a not via the contact form / email address. The nice thing is that all the "market knowledge" is taken into account. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Digger 1.1
On 2015-03-04 04:54:02 +, Vladimir Panteleev said: Digger is a tool for working with D's source code and its history. It can build D (including older D versions), customize the build with pending pull requests or forks, and find the exact pull request which introduced a regression (or fixed a bug). It comes with a web interface which makes building D from source trivial even for people new to D, Git or the command line. Hi, that's pretty cool. It supports the beta versions as well, right? And I can switch back and forther using it between beta and latest stable? -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Digger 1.1
On 2015-03-07 22:40:04 +, Vladimir Panteleev said: That is one of the project's goals. "digger build" will default to git master. Ok, great. I just tried it on Windows and get this here: digger: Done installing DigitalMars C++. digger: dmcDir=dl\dm digger: Preparing to build... digger: DMC=D:\develop\d-language\Digger\dl\dm\bin digger: Building... digger: PATH=C:\WINDOWS\system32;C:\WINDOWS;D:\develop\d-language\Digger\build\bin;D:\develop\d-language\Digger\dl\dm\bin make -fwin32.mak C=backend TK=tk ROOT=root HOST_DC= "OPT=-o" "DEBUG=" "LFLAGS=-L/delexe/la" dmd.exe run idgen Error: 'run' not found --- errorlevel 1 Fatal error: Command ["make", "-f", "win32.mak", "MODEL=32", "dmd"] failed with status 1 Any idea? -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Digger 1.1
On 2015-03-18 12:14:01 +, Vladimir Panteleev said: I've pushed support for DMD bootstrapping, so if you need to build master now, build latest Digger from source. I'll make a binary release after 2.067 is out. I just tried it and get this here: Entering 'phobos' Entering 'tools' error: Your local changes to the following files would be overwritten by checkout: test/d_do_test.d Please, commit your changes or stash them before you can switch branches. Aborting Unable to checkout '229edba461ef6f6e2254e060eb498f302e982563' in submodule path 'dmd' Fatal error: Command ["git", "--work-tree=D:\\develop\\d-language\\Digger\\repo", "--git-dir=D:\\develop\\d-language\\Di gger\\repo\\.git", "submodule", "update"] failed with status 1 I don't have done any changes to "test/d_do_test.d" so no idea what this means or where it comes from... any idea? -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Digger 1.1
On 2015-03-19 16:59:34 +, Vladimir Panteleev said: Hmm... Does it happen with a fresh Digger install? Just tried a fresh installed. With this I could build Digger from Git without any problems. Now trying to build 2.067 with it. What is your core.autocrlf set to? How can I find this out? -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Digger 1.1
On 2015-03-25 20:19:53 +, Vladimir Panteleev said: OK, let me know. Might be better to take this discussion to a GitHub issue. https://github.com/CyberShadow/Digger/issues 2.067.0 can be build and installed without any problems. So, I don't think an issue is necessary. Keep up the good work. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Digger 1.1
On 2015-03-18 12:14:01 +, Vladimir Panteleev said: I've pushed support for DMD bootstrapping, so if you need to build master now, build latest Digger from source. I'll make a binary release after 2.067 is out. Any news on this? And will there by COFF32 support as well? -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: EMSI is hiring a D developer
On 2015-04-15 08:32:08 +, wobbles said: On Wednesday, 15 April 2015 at 07:27:51 UTC, Abdulhaq wrote: On Tuesday, 14 April 2015 at 16:17:37 UTC, Justin Whear wrote: EMSI is hiring for an Engineer II to work on D codebases: https:// emsi.bamboohr.com/jobs/view.php?id=30 When it said Moscow I was thinking mmmh lots of traffic, a bit difficult to live in then I saw it was Moscow, Idaho. Every day's a school day. Totally didn't know there was a Moscow in Idaho! And I know understand (after 20 years or so) where the song name "Moscow Idaho" from one of my favorite bands comes from: https://www.youtube.com/watch?v=EAAZHbw3dJo -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Digger 2.1
On 2015-05-03 13:49:33 +, Vladimir Panteleev said: Digger v2.1 (2015-05-03) Hi, I just updated my binary and tried "digger build" and got this: mac-pro:Digger robby$ ./digger build digger: Building spec: master digger: Adding /Volumes/Daten/Windows/d/develop/d-language/Digger/dl/gitinstaller/cmd to PATH. digger: Updating repo... Fetching origin digger: Starting at meta repository commit 66a9c729588d7a4f4add369ecd8fe10aa16e7085 digger: Building components dmd, druntime, phobos-includes, phobos, rdmd digger: needInstalled: dmd-b9dee9e4d845b6ee30b4ac63886531dae200a760-b7a24e8234f0f1d5885c4284f67299eb digger: Cache hit! Fatal error: dmd-b9dee9e4d845b6ee30b4ac63886531dae200a760-b7a24e8234f0f1d5885c4284f67299eb was cached as unbuildable So, it looks I'm missing something that needs to be installed. But I don't have a clue how to find out what's missing. Any idea? -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Digger 2.1
On 2015-05-04 16:45:23 +, Vladimir Panteleev said: Turn off or delete the cache to get a meaningful error message. The problem was that this reference: ./Digger/dl/dmd-2.066.1/dmd2/osx/bin/dmd had wrong permissions (644) instead of (755) I guess. Not sure how this can happen. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: DConf 2015 has ended. See you in Berlin at DConf 2016!
On 2015-05-29 23:42:06 +, Andrei Alexandrescu said: We're pleased to announce that DConf 2016 will take place in Berlin, sponsored by Sociomantic. That's great news!! -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: DConf 2015 has ended. See you in Berlin at DConf 2016!
On 2015-05-29 23:42:06 +, Andrei Alexandrescu said: DConf 2015 has been awesome, I'm taking a minute to post this that's been announced a short while ago. Is there an overview about all the talks that were given? Will there be a link to the live-recordings, so one can jump to specific talks directly? -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: DevDocs.io: voting for D
On 2015-06-02 16:42:40 +, sigod said: Hi everyone. Please vote for D to be added to https://DevDocs.io: https://trello.com/c/bCgqhZ4s/123-d About DevDocs (copy-pasted from index page): ``` For OSX users I can recommend: https://kapeli.com/dash No D documentaiton (yet) but could be generated. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: ?MQD messaging library v1.0 released
On 2015-08-21 05:52:40 +, Lars T. Kyllingstad said: Recently, I've played around with the idea of making a pure D implementation of Scalable Protocols, which was created by Martin Sustrik, one of the original ZMQ authors. He invented SP and the reference implementation, nanomsg (http://nanomsg.org), partly as kind of a do-over for some things he considered design mistakes in ZMQ. SP seems "cleaner" and more principled than ZMQ in many ways. You may want to take a look at BEEP as well. IMO one of the most under-estimated approaches for doing network application protocols. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Moving forward with work on the D language and foundation
On 2015-08-24 18:42:59 +, Andrei Alexandrescu said: Following an increasing desire to focus on working on the D language and foundation, I have recently made the difficult decision to part ways with Facebook, my employer of five years and nine months. Wow, that takes cojones and your engagement will help a lot fo push D forward. Great news!! Let's come up with something that a lot small companies can support too. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Blog post : OOP composition with mixins
On 2015-08-31 14:20:23 +, Abdulhaq said: Inheritance certainly is 'the base class of all evil'. I have a theory that the reason inheritance is so overused in OOP languages lies in the way it is taught - the OOP aspects cover much of the syntax of the language and hence much teaching material revolves around inheritance. This makes the student believe that inheritance is therefore the 'right way' to proceed. I think what's missing is, that inheritance should be used with a type-system view in mind. It makes sense to model "typed things" but not to model functionallity / re-using of functionallity. This is much bettern done with a concept like mixins. And mixing both is a very powerful way to model complex system. You "just" need to know when to use one or the other. Many years of pain have, however, taught me to avoid inheritance and to prefer composition - even/especially when using e.g. Java. Because all those OOP languages are to dogmatic about it's use. C++ is free, but is missing (not sure if still) the template and mixin power of D. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Go 1.5
On 2015-09-19 17:56:21 +, thedeemon said: If we carefully use addRoot() and addRange() for data directly pointing to GC heap I think we don't need to let GC scan everything that can lead to this data. This is error-prone in general, of course. Well, that's a different name for malloc & free... I don't see any value in using a GC that needs addRoot / addRange, then I can do manual memory management as well. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Vibemail - extensions for vibe's Mail class to send multi-part emails with attachments
On 2015-09-29 03:53:44 +, Sebastiaan Koppe said: This library[1] allows you to send multi-part emails with attachments. ``` Mail email = new Mail; email.headers["Date"] = Clock.currTime().toRFC822DateTimeString(); email.headers["Sender"] = "Domain.com Contact Form "; email.headers["From"] = "\"Example\" "; email.headers["To"] = "\"Bas\" "; email.headers["Subject"] = "My subject"; import std.stdio : File; email.setContent( mailMixed( mailRelated( mailAlternative( mailHtml("asdfasdfasdf"), mailText("asdfasdfasdf") ) ), mailAttachment(File("test.png","rb"),"image/png","image.png"), mailAttachment(cast(immutable(ubyte[]))"You are an idiot!","plain/text","text.txt") ) ); sendMail(settings, email); Not that I'm to deep into the code nor D but would it be possible to write it somehow like this: Mail email = new Mail; email.headers = [ "Date" Clock..., "Sender" ... ] This would be a much more descriptive approach, which I think makes a lot of sense for such things. And it follows the "dont repeat yourself" pattern. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Digger 2.4
On 2015-10-05 22:51:43 +, Vladimir Panteleev said: https://github.com/CyberShadow/Digger/releases/tag/2.4 Digger v2.4 (2015-10-05) * Fetch tags explicitly when updating (fixes some "unknown /ambiguous revision" errors) * Prepend result `bin` directory to `PATH` (fixes behavior when a `dmd` binary was installed in `/usr/bin`) * Add support for the `debugDMD` build option on POSIX * Fix incorrect repository tree order when using `git` cache engine * Fix `rebuild` ignoring build options on the command-line * Automatically install KindleGen locally when building website * Update OptLink installer * Download platform-specific DMD release packages (contributed by Martin Nowak) When trying to build it I get a bunch of error in ae/utils/funopt.d. Here is just one: ae/utils/funopt.d(301): Error: constructor std.getopt.GetOptException.this (string msg, Exception next, string file = __FILE__, ulong line = cast(ulong)__LINE__) is not callable using argument types (string) -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Digger 2.4
On 2015-10-12 14:21:46 +, Vladimir Panteleev said: https://issues.dlang.org/show_bug.cgi?id=15165 I guess you're building with a version of D built from git? Just update, then. Correct. After updating to the latest DMD using digger 2.3 I could build digger 2.4. Thanks. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: DConf 2016, Berlin: Call for Submissions is now open!
On 2015-10-28 19:27:03 +, ponce said: It is supposed to refer to the Bundestag like in http://www.catherinefeff-studio.com/references/39636641Berlin_logo.gif The dome might work as a "lying D" methaphor. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Packt ebooks are currently $5.00
On 2015-12-21 23:50:17 +, bachmeier said: All Packt ebooks are currently only $5.00, including pre-order of D Web Development, Learning D, and D Cookbook. https://www.packtpub.com/web-development/d-web-development https://www.packtpub.com/application-development/learning-d https://www.packtpub.com/application-development/d-cookbook Cool, thanks for the link. @Adam: Will we see an update / extended version of the "D Cookbook" in the near future? -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: vibe.d 0.7.27-beta.1
On 2016-01-22 11:14:19 +, Snke Ludwig said: I've finally managed to tag a first beta for vibe.d. It contains numerous optimizations in the network and HTTP code, so it's especially important to thoroughly test this before release. 0.7.26 (except for the win32 driver) still compiles fine on DMD 2.067.0, so a fully synchronized release is fortunately not essential this time. http://code.dlang.org/packages/vibe-d/0.7.27-beta.1 Changelog: https://github.com/rejectedsoftware/vibe.d/blob/master/CHANGELOG.md Error: Error reading file 'C:\Users\robby\AppData\Roaming\dub\packages\vibe-d-0.7.27-beta.1\lib\win-amd64\event2.lib' -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: vibe.d 0.7.27-beta.1
On 2016-01-24 12:49:25 +, Snke Ludwig said: I didn't build libevent for win64 so far and I'd rather not want to invest that time. Instead, I'd recommend to just use the "win32" configuration of vibe-d(:core) on that platform. Just to be sure I get it. On Win32 I could use "libevent" or "win32 native", right? So, the libevent is not mandatory for Windows at all? Probably the "libevent" configuration should just be disabled on win64... If it's not necessary I highly vote for this. Keep things simple and streamlined as much as possible. The less dependencies the better. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Vision for the first semester of 2016
On 2016-01-25 07:03:35 +, Russel Winder via Digitalmars-d-announce said: Phobos the library needs to go to be replaced by a library search and use system. Oh we already have one, Dub. The strategy should be "get rid of anything in Phobos that can be put out as a separate library". I see it exactly the other way: I want phobos to provide 90% of everything I need out-of-the-box. The linker will only bring in stuff I use and the rest is left out. So, what's the problem? I just don't want to walk around until I find out, which parts (external libs) fit together just to cover the common 90%. That's wasting time. Make it as simple as possible to get things done. Install, code, compile, deliver. That's it. One EXE, done. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Release vibe.d 0.7.27
On 2016-02-09 19:16:49 +, Snke Ludwig said: - Full list of changes: http://vibed.org/blog/posts/vibe-release-0.7.27 Great stuff!! Thanks a lot for your engagement. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: libotr native D port
On 2016-03-28 08:53:24 +, ketmar said: subj. here[1]. not heavily tested, but it doesn't really matter, as nobody will use it anyway. 1. http://repo.or.cz/libotrd.git Off-the-Record (OTR) Messaging is a cryptographic protocol used in well-known instant messaging clients such as Pidgin, ChatSecure, Adium and others. It is designed to work on top of existing protocols and used worldwide to provide secure communication in insecure environments. OTR is regarded as highly secure and according to documents revealed by Edward Snowden one of the protocols that the NSA is not able to decrypt via cryptanalysis. The most commonly used implementation of OTR is "libotr" which is a pure C code implementation of the OTR protocol. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Live streaming of DConf 2016: confirmed
On 2016-05-03 22:45:45 +, dilkROM said: Yes, correct! There are currently three places to view the stream: Sociomantic Facebook: https://www.facebook.com/sociomantic/app/190322544333196/ Sociomantic Website: https://www.sociomantic.com/blog/2016/05/follow-dconf-2016-in-real-time/ Sociomantic UStream: http://www.ustream.tv/channel/pR6fAWVkXzw We'll try to get a PR submitted to the official DConf website to get a stream there too so people really have a wide variety of where they are most comfortable to watch the live stream, but I'm not sure how likely that last addition will be given that the conference starting may engage most folks and thus prevent any site updates. I could be wrong though! If anyone else feels like they want to host a stream somewhere, please let me know! Lastly, if you want direct access to me or any other organizers during the event, best case is to Tweet directly to @DLangConf as that is more aggressively notifying us than the forums. Unfortunately all require Flash... which I and most likely a lot haven't installed. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: DStep 1.0.0
On 2019-04-22 11:02:24 +, Jacob Carlborg said: ... and support for one more platform has been added: Windows... Are there are any functional differences between the platforms? Or can I just use the OSX version and use the generated .d files with the DMD Windows version too? -- Robert M. Münch http://www.saphirion.com smarter | better | faster
D GUI Framework (responsive grid teaser)
Hi, we are currently build up our new technology stack and for this create a 2D GUI framework. https://www.dropbox.com/s/iu988snx2lqockb/Bildschirmaufnahme%202019-05-19%20um%2022.32.46.mov?dl=0 The screencast shows a responsive 40x40 grid. Layouting the grid takes about 230ms, drawing it about 10ms. The mouse clicks are handled via a reactive message stream and routed to all graphical objects that are hit using a spatial-index. The application code part is about 50 lines of code, the rest is handled by the framework. With all this working now, we have all necessary building blocks working together. Next steps are to create more widgets and add a visual style system. The widgets themself are style-free and wire-frame only for debugging purposes. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-19 21:21:55 +, Ola Fosheim Grøstad said: Interesting, is each cell a separate item then? Yes, it's organized like this: root => grid => 1..X columns ==(each colum)==> 1..Y cells So assuming 3GHz cpu, we get 0.23*3e9/1600 = 431250 cycles per cell? That's a lot of work. I must be fair, and add some other measurement in between. This includes managing a 2D spatial index for hit testing too, not only layouting. Are you using some kind of iterative physics based approach since you use hundreds of thousands of computations per cell? It's like the browser's flex-box model. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-19 21:21:55 +, Ola Fosheim Grøstad said: Interesting, is each cell a separate item then? So assuming 3GHz cpu, we get 0.23*3e9/1600 = 431250 cycles per cell? That's a lot of work. Here is a new screencast: https://www.dropbox.com/s/ywywr7dp5v8rfoz/Bildschirmaufnahme%202019-05-21%20um%2015.20.59.mov?dl=0 I optimized the whole thing a bit, so now a complete screen with layouting, hittesting, drawing takes about 28ms, that's 8x faster than before. Drawing is still around 10ms, layouting around 16ms, spatial index handling 2ms. So this gives us 36 FPS which is IMO pretty good for a desktop app target. There might be some 2-3ms speed-up still possible but not worth the effort yet. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-21 15:57:20 +, Basile B. said: openGL backend I presume ? No, CPU rendering to memory-buffer. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-21 17:29:51 +, Ola Fosheim Grøstad said: On Tuesday, 21 May 2019 at 14:04:29 UTC, Robert M. Münch wrote: Here is a new screencast: https://www.dropbox.com/s/ywywr7dp5v8rfoz/Bildschirmaufnahme%202019-05-21%20um%2015.20.59.mov?dl=0 That looks better :-) :-) For a pixel perfect full responsive GUI I need to think about it a bit more. But that's not high priority at the moment. Just make sure that you pick an architecture that allows you to use spatial datastructures later on! The nice thing about the design is, that the necessary parts are totally indepdent. For example changing the spatial index to an other approach just needed 5 lines of code change in the framework. The places where the different parts meet, are kept to an absolut minimum and the interfaces are as thin as possible. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-21 16:07:33 +, Basile B. said: What kind of layouting ? GTK-like ? DelphiVCL-like ? Flex-like ? Flex-Box like. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-21 16:51:43 +, Manu said: The screencast shows a responsive 40x40 grid. Layouting the grid takes about 230ms, drawing it about 10ms. O_o ... I feel like 230 *microseconds* feels about the right time, and ~100 microseconds for rendering. I don't think that's fast enough :-) So this gives us 36 FPS which is IMO pretty good for a desktop app target Umm, no. I would expect 240fps is the modern MINIMUM for a desktop app, you can easily make it that fast. ;-) Well, they key is to layout & render only changes. A responsive grid is an evil test-case as this requires a full cylce on every frame. Incidentally, we have a multimedia library workgroup happening to build out a flexible and as-un-opinionated-as-we-can gfx and gui libraries which may serve a wider number of users than most existing libraries, Ah, ok. Sounds interesting... perhaps you should join that effort, and leverage the perf experts we have? There's a channel #graphics on the dlang discord. I will have a look... need to get discord up & running. Too many chat channels these days... -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-22 17:01:39 +, Manu said: The worst case defines your application performance, and grids are pretty normal. That's true, but responsive grids are pretty unusal. You can make a UI run realtime ;) I know, that's what we seek for. I mean, there are video games that render a complete screen full of zillions of high-detail things every frame! Show me a game that renders this with a CPU only approach into a memory buffer, no GPU allowed. Total different use-case. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-23 09:28:59 +, kdevel said: Awesome. Compared to the video you posted some days ago there is also almost no visible aliasing. Thanks. Do you plan to create a web browser based on your framework? No, I don't see any business model behind a web browser... -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-23 07:28:49 +, Ola Fosheim Grøstad said: On Thursday, 23 May 2019 at 06:07:53 UTC, Robert M. Münch wrote: On 2019-05-22 17:01:39 +, Manu said: I mean, there are video games that render a complete screen full of zillions of high-detail things every frame! Show me a game that renders this with a CPU only approach into a memory buffer, no GPU allowed. Total different use-case. I wrote a very flexible generic scanline prototype renderer in the 90s that rendered 1024x768 using 11 bits each for red and green and 10 for blue and hardcoded alpha blending. It provided interactive framerates on the lower end for a large number of circular objects covering the screen, but it took almost all the CPU. When doing the real-time resizing in the screencast, the CPU usage is around 5% - 6% -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-23 19:29:26 +, Ola Fosheim Grøstad said: When creating a user interface framework you should work with everything from sound editors, oscilloscopes, image editors, vector editors, CAD programs, spreadsheets etc. You cannot really assume much about anything. What you want is max flexibility. That's exactly the right direction. Most GUI frameworks fail at this, so you have to do all yourself if you want anything with descent quality, but that is not how it should be. Yep, I can't agree more. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-23 20:22:28 +, Ola Fosheim Grøstad said: STILL, I think Robert M. Münch is onto something good if he aims for accuracy and provides say a canvas that draws bezier curves to the spec (whether it is PDF or SVG). I think many niche application areas involve accuracy, like a CNC router program, or a logo cutter or 3D printing. So I think there is a market. I'm not fully understand the discussion about accuracy WRT GUIs. Of course you need to draw things accurate. And my interjection WRT 35-FPS was just to give an idea about the possible achievable performance. I like desktop apps that are fast and small, nothing more. If you can provide everything people need in one framework, then people might want to pay for it. If you just provide what everyone else sloppily does, then why bother (just use Gtk, Qt or electron instead). *shrug* Exactly. Our goals is to create a GUI framework which you can use to make desktop apps without caring about the OS specifics (which doesn't mean we are limiting in a way that you can't care if you wish). For this we are creating a set of building-blocks that fit perfectly together following a radical KISS and minimal dependency strategy. If you want, you should be able to maintain a desktop app using a specific version of the framework for 15+ years, without running into any limitations. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-23 17:27:09 +, Ola Fosheim Grøstad said: Yeah, that leaves a lot of headroom to play with. Do you think there is a market for a x86 CPU software renderer though? Well, the main market I see for a software renderer is the embedded market and server rendering. Making money with development tools, components or frameworks is most likely only possible in the B2B sector. One needs to find a niche where companies are interested in: speed and ressource-efficency is definetely one. Or do you plan on support CPUs where there is no GPU available? Currently we don't use a GPU, it's only CPU based. I think CPU rendering has its merits and is underestimated a lot. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-24 10:12:10 +, Ola Fosheim Grøstad said: I guess server rendering means that you can upgrade the software without touching the clients, so that you have a network protocol that transfers the graphics to a simple and cheap client-display. Like, for floor information in a building. Even much simpler use-cases make sense, example: Render 3D previews of 100.000 CAD models and keep them up to date when things change. You need some CLI tool to render it, but most likely you don't have OpenGL or a GPU on the server. If running an app on a server and using an own front-end client instead of a browser these days makes sense, I'm not sure. However, all people have tremendous CPU power on their desks, which isn't used. So, I'm still favoring desktop apps, and a lot of users do it too. Be contrarian in this sector makes a lot of sense :-) You are probably right. What I find particularly annoying about GPUs is that the OS vendors keep changing and deprecating the APIs. Like Apple is no longer supporting OpenGL, IIRC. Yep, way too much hassles and possibilities to break things from external. Can become a support hell. Better to stay on your own as much as possible. Sadly, GPU features provide a short path to (forced) obsoletion… In the 2D realm I don't see so much gain using a GPU over using a CPU. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-24 23:35:18 +, Exil said: Is the source available anywhere? Would be interesting to look through unless this is close source? No, not yet. Way to early and because we can't support it in anyway. I see that there is quite some interest in the topic, but I think we should get it to some usable point before releasing. Otherwise the noise level will be to high. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-25 23:23:31 +, Ethan said: Right. I'm done. This thread reeks of a "Year of Linux desktop" mentality and I will also likely never read it again just for my sanity. That's your best statement so far. Greate move. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-27 04:46:42 +, Nick Sabalausky (Abscissa) said: Besides, from what Robert described, it sounds like he already has it decoupled and modular enough that performance *can* likely be improved later (probably by an order of magnitude) without too much disruption to it's core design. So, on that, believe it or not, it sounds like we already agree. ;) That's the case. The 2D layer could be replaced. It's not yet perfectly isolated and minified, because we are still learning & experimenting to see how things fit together. Refactoring for isolation comes after this. And @Robert: FWIW, I *am* definitely curious to see where this project goes. We too :-) Also: While it *looks* in the video like a simple grid being resized, you've commented that under-the-hood it's really more of a flexbox-like design. Correct. The grid is structured like this: root-> 1..X columns -> 1..Y cells per column and the only property given is to use the available vertical and horizontal space evenly. This suggests that the computations you're doing are (or will be) capable of far more flexibility than what is apparent in the video. Yes, the idea is that you get a responsive app GUI, which resizes in a smart way which fits your app layout. So, you have control over this. Getting browsers to do what you want can be pretty tedious. We want to avoid this. I'm curious what sorts of CSS flex-like features are currently being accommodated for in the computations, and are projected in the (hopefully?) near future? The stuff that one really needs, so no frills. We want to create a node structure with layout rules/hints per node and as a result you get a perfect responsive layout for your app. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-27 20:56:15 +, Ola Fosheim Grøstad said: If Robert is aiming for embedded and server rendering then he probably wants a simple structure with limited multi-threading. We are considering MT. A GUI should never stuck, as a user I'm the most important part and my time is most valuable. So, an application should never ever slow me down. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-28 15:54:14 +, Nick Sabalausky (Abscissa) said: It's incredibly refreshing to hear a developer say that, instead of the usual, "As a *developer*, I'm the most important part and my time is most valuable. So, my users should just go buy faster hardware." In the mid 90s I co-invented & designed reconfigurable CPU systems. Our goal these days was to do real-time ray-tracing. So, we even said: just wait, we are going to make a faster hardware first. ;-) Anyway, you statement is unfortunatly very true. It's the same idotic thing happening in every company: "I make my life easy and do things quick & dirty" without understanding that down the processes there are hundred of points where this stuff is used, and everyone needs to figure out the pitfalls over and over again... that's what I call very efficient thinking. The software we sell, would still fit on one floppy disk (if there are still people knowing what it is). And I'm always saying: "Every good software fits on one floppy-disk." Most people can't believe that this is still possible. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-28 07:22:06 +, Ola Fosheim Grøstad said: Just be aware that implementing a multithreaded constraint solver is something that you will have to spend a lot of time on. I am... and I didn't meant that we want use MT everywhere. MT is a tool, and after measuring and understanding the problem, the decision for or against MT is made. Rendering is easy to do in parallel. Yep, and that's something that will be done with MT. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Release D 2.087.0
On 2019-07-04 08:11:26 +, Martin Nowak said: Glad to announce D 2.087.0, ♥ to the 63 contributors. This release comes with types matching single template alias parameters, nested template methods/local template functions, multi-threaded GC marking, and a phobos compiled with -preview=DIP1000. http://dlang.org/download.html http://dlang.org/changelog/2.087.0.html -Martin I just updated with Digger to the newest version and get: ...d-language\test> dub test -a=x86_64 -f Failed to invoke the compiler C:\D\dmd2\windows\bin\dmd.exe to determine the build platform: predefs DigitalMars Windows CRuntime_Microsoft CppRuntime_Microsoft LittleEndian D_Version2 all D_SIMD D_InlineAsm_X86_64 X86_64 Win64 D_LP64 assert D_ModuleInfo D_Exceptions D_TypeInfo D_HardFloat binaryC:\D\dmd2\windows\bin\dmd.exe version v2.087.0 configC:\D\dmd2\windows\bin\sc.ini DFLAGS-IC:\D\dmd2\windows\bin\..\..\src\phobos -IC:\D\dmd2\windows\bin\..\..\src\druntime\import -L/OPT:NOICF parse dub_platform_probe_956c8798_90a5_4300_b011_2b9e6cc8ace5 importall dub_platform_probe importobject (C:\D\dmd2\windows\bin\..\..\src\druntime\import\object.d) C:\D\dmd2\windows\bin\..\..\src\druntime\import\object.d(42): Error: module `comparison` is in file 'rt\array\comparison.d' which cannot be read import path[0] = C:\D\dmd2\windows\bin\..\..\src\phobos import path[1] = C:\D\dmd2\windows\bin\..\..\src\druntime\import Not sure what this is telling me. Related to the release? -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Release D 2.087.0
On 2019-07-04 10:11:18 +, Mike Franklin said: I don't know what digger is doing, but from the error messages, it appears that the new files in `rt/array` can't be found. I believe the build is trying to use a new compiler with an older or existing runtime. You'll need both the latest compiler and the latest runtime together for them to work. I thought that Digger is building both and copies all necessary files on install. Do I have to build the runtime separatly? If you can identify a bug in the makefiles, or some other such problem preventing the build, let me know and I'll try to fix it right away. Not sure I'm that competent to find it out but will dig ;-) around a bit. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Release D 2.087.0
On 2019-07-04 10:11:18 +, Mike Franklin said: I don't know what digger is doing, but from the error messages, it appears that the new files in `rt/array` can't be found. I believe the build is trying to use a new compiler with an older or existing runtime. You'll need both the latest compiler and the latest runtime together for them to work. If you can identify a bug in the makefiles, or some other such problem preventing the build, let me know and I'll try to fix it right away. So, the problem is, that digger somehow misses to copy over the new source to the install directory. It does for some parts (phobos, but I'm not sure if for every file necessary) but not for druntime files. I just manually copied the files now. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Symantec has been sold to Broadcom
On 2019-08-08 23:46:38 +, Walter Bright said: https://finance.yahoo.com/news/broadcom-buy-symantec-enterprise-division-201706500.html 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. Thank you, Symantec! Walter, you might not remember, but we once met at an exhibiton in Wiesbaden (I think), Germany, where you were with Symantec for the C++ compiler and we had a short chat. And I once tested a bunch of C++ compilers for a German computer magazine... this all must be around 25 years ago. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: SoAC
On 2019-08-11 19:16:22 +, Tiberiu Lepadatu said: ... But I think that the question that should be asked is which one of those will be more impactful to the community? Which one will better serve the D future? I will try by Wednesday to prepare an application for both of them. But I can't wait to hear your opinions. +1 Reactive Programming -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Proposal for porting D runtime to WebAssembly
On 2019-11-23 09:51:13 +, Sebastiaan Koppe said: This is my proposal for porting D runtime to WebAssembly. I would like to ask you to review it. You can find it here: https://gist.github.com/skoppe/7617ceba6afd67b2e20c6be4f922725d Not sure if you are aware of this: https://wasmtime.dev/ Maybe it helps or gives some inspiration. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: interfaces and contracts - new pattern
On 2019-12-03 07:53:48 +, Ola Fosheim Grøstad said: On Tuesday, 3 December 2019 at 02:57:13 UTC, Adam D. Ruppe wrote: On Monday, 2 December 2019 at 22:31:08 UTC, Ola Fosheim Grøstad wrote: Interesting, could be useful, but now you have to remember to add "in(false)". Yeah, it is kinda tempting to propose a language change, where an override method does this by default if nothing else is specified. I think it would probably usually be the right thing to do, and then you'd opt into extending it all the way by doing `in(true)` instead. Yes, I agree, if you forget to add a specification then it probably should have the same strictness as the superclass. That is what I would expect. +1 having to add something explicit to get the superclass contract activated looks weired. In large scale projects this will become a big problem as you can't assume that every developer knows about all the contracts of a superclass. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: interfaces and contracts - new pattern
On 2019-12-03 13:00:49 +, Adam D. Ruppe said: On Tuesday, 3 December 2019 at 10:39:08 UTC, Robert M. Münch wrote: In large scale projects this will become a big problem as you can't assume that every developer knows about all the contracts of a superclass. That's the beauty of `override in(false)` - you don't have to know about the superclass. You can use it and it works in all cases. My point was, when the superclass doesn't has an in() contract: Error: function contracts.Derived.test cannot have an in contract when overridden function contracts.Base.test does not have an in contract So, I need to know that the superclass has a contract and that I want to fallback to it. The former is the hard part. Though that's also a possible argument for the language change. Yes, but only if the superclass has an in() contract. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Article about D in the iX magazine
On 2019-12-20 21:26:00 +, Andre Pany said: In the new iX (1 Januar 2020) there is also a Leserbrief for the article;) Even there are only few comments, every comment helps. It's very hard to convince programmers to give something else a try and stay to it long enough to see the light. Most of the time, evangelizing is very frustrating. The better strategy from my experience is: Deliver a cool product and than tell everyone "we are 10 times more productive than our competitors while delivering a better product." You can be sure, everyone wants to know how you do it. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Visual D 0.51.0 - semantic engine based on dmd frontend
On 2020-01-18 14:22:41 +, Rainer Schuetze said: I'm happy to announce the release of Visual D 0.51.0. Great stuff! Especially the debugging support. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-19 21:01:33 +, Robert M. Münch said: Hi, we are currently build up our new technology stack and for this create a 2D GUI framework. Hi, some more teaser showing a text-input field, with clipping, scrolling, etc.: https://www.dropbox.com/s/wp3d0bohnd59pyp/Bildschirmaufnahme%202020-01-28%20um%2017.16.26.mov?dl=0 We have text-lables, text-input and basic text-list now working. Slow but steady progress. The whole framework follows a free compisition idea. You can add a table to the slider-knob of a slider if you want and it will just work. Style and decoration is totally seperate and currently not done at all. Hence, the ugly wireframe look. This whole project is a side-project I currently do beside our normal product development work. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: DIP 1027---String Interpolation---Format Assessment
On 2020-02-23 16:22:46 +, Mike Parker said: DIP 1027, "String Interpolation", has been rejected. The decision was primarily influenced by the lack of consensus over the implementation and the syntax demonstrated in the two review threads. As the DIP author, Walter also rejected the suggestion to go with an implementation that resolves to a library template. He sees that as equivalent to AST macros, a feature which he has previously rejected. https://github.com/dlang/DIPs/blob/4be15bd40381667c0ab1c0aef360d0daa4b8c82c/DIPs/rejected/DIP1027.md Out of curiosity, how and who makes such a decision? Is there a voting? Is there a committee? Is there a structured pro/con overview and highlight of blocking-points that need to be resolved? I mean, people spend a lot of time thinking, making suggestions, etc. and the end result is: we now have nothing. Which, IMO is the worst result for all. As a community with highly skilled people I think there should be a way to come to a good solution, not only a good enough. If not, this doesn't shed light on D and the community... -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: DIP 1027---String Interpolation---Format Assessment
On 2020-02-24 10:02:26 +, Mike Parker said: The DIP review process is outlined here: https://github.com/dlang/DIPs The final decision rests with the language maintainers. Now, that means Walter and Atila. Thanks, and sorry for my ignorance... How about adding a note who the "language maintainers" are? ... If that proposal and its review manage to convince Walter and Atila, then the feature gets in. Ok. I understand. The DIP process is one way to approach that. It allows everyone to provide feedback and influence the drafting of the DIP. That requires convincing the DIP author to revise the DIP and ultimately convincing the language maintainers to accept it. It means there's a high barrier for acceptance, but in my own opinion that's how it should be. I agree. My impression and point was (after following the topic loosly) that the DIP might be close to find a good solution and that it was suddenly withdrawn. But anyway... -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: DIP 1027---String Interpolation---Format Assessment
On 2020-02-24 09:51:16 +, Walter Bright said: I talk it over with Atila after the review threads are done, then decide. Voting is a terrible way to do engineering design, for many reasons I can list if you like. You don't need to, I'm not a fan of such a voting approach too. I just added a bunch of variants as I didn't know how the process works nor who is involved at what step. Not totally. I was unable to convince people that printf format validation was an orthogonal feature. So I went ahead and implemented that to show it had nothing to do with the proposal: https://github.com/dlang/dmd/pull/10812 It turned out kinda sweet, and found a huge number of latent bugs in our own code, proving we shoulda done that long ago :-) Bad printfs turned out to be much more common than I'd anticipated. Proving by showing the results... Ok, looking forward how things develop. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: NanoSVG port
On 2016-07-09 11:06:34 +, ketmar said: i also made NanoSVG[1] port[2]: simple SVG parser and rasterizer. it is using `malloc()` to allocate memory, but otherwise was rewritten to use `const(char)[]` input for svg, and do not use `sscanf()` from libc. the port lives in NanoVG package, but it is actually completely independent. [1] https://github.com/memononen/nanosvg [2] http://repo.or.cz/iv.d.git/blob_plain/HEAD:/nanovg/svg.d Repro [2] is gone... Does anyone has an idea where the code could be accessed? Is Ketmar still active? -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: NanoSVG port
On 2020-04-10 17:23:28 +, Adam D. Ruppe said: On Friday, 10 April 2020 at 17:18:05 UTC, Robert M. Münch wrote: Repro [2] is gone... Does anyone has an idea where the code could be accessed? I also maintain a copy of it: https://github.com/adamdruppe/arsd/blob/master/svg.d minimal dox http://dpldocs.info/experimental-docs/arsd.svg.html Ah, good. I'am/was confused because I don't understand how "NanoVega.SVG" fits into the picture. Is it a 2nd SVG parser? Is it using svg.d? Why have two? but the very bottom of that link shows svg -> png with my libs easily. Ok, I will take a look. Most likely I'm going to use a different rasterizer... thanks a lot so far! -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: A D port of utf8proc
On 2020-04-11 23:36:17 +, Ferhat Kurtulmuş said: I could not find a similar library working with -betterC, so I ported utf8proc. https://github.com/aferust/utf8proc-d Please test it, contribute it, and enjoy! What does it provide more then std.utf and std.uni beside BetterC support? -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: openmethods 1.3.0
On 2020-04-19 13:13:55 +, Jean-Louis Leroy said: You can read more about openmethods on githubL https://github.com/jll63/openmethods.d This is very interesting stuff! Thanks a lot. I just read your blog post [1] and wonder if it's still up-to-date or maybe an update would make sense? This stuff sounds like a very fundamental concept/pattern and IMO would be a good member of Phobos. [1] https://dlang.org/blog/2017/08/28/open-methods-from-c-to-d/ -- Robert M. Münch http://www.saphirion.com smarter | better | faster
$750 Bounty: Issue 16416 - Phobos std.uni out of date (should be updated to latest Unicode standard)
Following my "Is it time for a Unicode update of std.uni?" post in D group, I would like to try out to sponsor this effort for "Issue 16416 - Phobos std.uni out of date (should be updated to latest Unicode standard)" [1] For me, this, too, is an experiment to find out if it's possible to move specific issues/topics forward. And maybe even find people that are open to contact work too. For me, all these things are pretty related. So, not knowing how much work it is, nor knowing what a good amount would be, I took the other route and asked me, what is it worth for me to get it done? Note: Getting #16416 done is not critical for me; most likely, I could even live with the current state of std.uni. On the other hand, std.uni is a very fundamental building block, and having it up to date and maybe even extended should be much value to D. So, I'm offering $750 to get it done. Besides getting the work done, there is one constraint: The work needs to get into Phobos. It doesn't make sense to have it sit around, because it's not being merged. I don't have any clue who is in charge, who decides this. Or if there need to be some conditions full-filled so that the result gets merged. [1] https://issues.dlang.org/show_bug.cgi?id=16416 -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: $750 Bounty: Issue 16416 - Phobos std.uni out of date (should be updated to latest Unicode standard)
On 2020-05-04 17:30:41 +, Arine said: I feel like this is going to be the biggest obstacle. I worked on a bug bounty in the past, made a pull request, and it just sat there for months. It's a waste of time to try and get anything merged. Especially on the scale that this would be at. Thanks for the feedback. Was the PR eventually merged? Did you get any feedback why it wasn't merged, what needs to be done so that it gets merged, who decides this, etc.? -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: $750 Bounty: Issue 16416 - Phobos std.uni out of date (should be updated to latest Unicode standard)
On 2020-05-04 21:14:49 +, welkam said: If changes to phobos do not bring breaking changes then I dont see how update to std.uni might not be merged Well, but that's a weak statement for an invest. If unicode is developing in a way that results in breaking changes, what to do? Never update? Doesn't make sense... So, breaking-changes because unicode requires these, have to be taken IMO. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: $750 Bounty: Issue 16416 - Phobos std.uni out of date (should be updated to latest Unicode standard)
On 2020-05-04 21:34:27 +, rikki cattermole said: On 05/05/2020 7:26 AM, notna wrote: Maybe you want to add an additional constraint... It would be great if this would result in a tool, scripts or at least a simple-to-follow to-do (say Wiki?!)... so best case we could use this also for the next updates / releases in the future?! The reason we can't just grab a newer copy of the unicode database and throw it into Phobos is because the format was changed. Sure, nevertheless, I think it makes sense to have the reproducibility of the process in mind. Maybe not with a script that lasts for 10 years. But the process, some tools for a specific version, which can be used as inspiration for upcoming changes. IMO it makes a lot of sense for D to keep up close with the unicode development. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: $750 Bounty: Issue 16416 - Phobos std.uni out of date (should be updated to latest Unicode standard)
On 2020-05-05 15:39:12 +, Dmitry Olshansky said: On Monday, 4 May 2020 at 17:01:01 UTC, Robert M. Münch wrote: Following my "Is it time for a Unicode update of std.uni?" post in D group, I would like to try out to sponsor this effort for "Issue 16416 - Phobos std.uni out of date (should be updated to latest Unicode standard)" [1] For me, this, too, is an experiment to find out if it's possible to move specific issues/topics forward. And maybe even find people that are open to contact work too. For me, all these things are pretty related. So, not knowing how much work it is, nor knowing what a good amount would be, I took the other route and asked me, what is it worth for me to get it done? Note: Getting #16416 done is not critical for me; most likely, I could even live with the current state of std.uni. On the other hand, std.uni is a very fundamental building block, and having it up to date and maybe even extended should be much value to D. So, I'm offering $750 to get it done. I'm guess I'm not eligible for the bounty ;) Why not? Anyhow if anyone wants easy money - shoot me an email, or reply in this thread. Well, as I wrote, since I don't have a real good understanding about the necessary effort I started from "what is it worth for me in $ to get it done?". So, if it's a simple script-change and a re-run and you are the only one knowing this and keeping it for yourself... yes, it's easy money. On the other hand, if you can help someone to get started and it's a couple of hours, I would expect people to be fair enough and state: Hey, $400 (or whatever) is OK, let's take the rest to sponsor something else. That's what I would do. Spoiler is - the whole thing is code generated and there is only one table that I forgot about (i.e. I have no idea what is the source table for it in Unicode standard). With "forgot" you mean, you can't remember, or it's missing at all in your prior work? P.S. I'm kind of back, but very busy and my health is mostly great despite the COVID outrage out there. That's great to hear... and maybe std.uni support/coaching for someone stepping up is possible. That would be great too. If, maybe even I can try to do it... -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: $750 Bounty: Issue 16416 - Phobos std.uni out of date (should be updated to latest Unicode standard)
On 2020-05-05 21:41:39 +, Dmitry Olshansky said: Felt a bit like cheating. Russian traditions preclude taking money for things you (think you) wanted to do anyway. Well, that's a good habit and still IMO it's OK to offer and take an incentive. I started on it, and it turned out a bit more then I hope for + I'm doing it on simple Windows workstation without much of my usual power tools. LDC for Windows works like a charm though. It seems Unicode 13.0.0 pulled a plug on a couple of "derived" tables, that is data files that can be reconsturcted from other primary ones. Took at least half an hour to figure that out and rebuild the missing bits. If you don't mind I'll go with 100$ per hour estimate which is basically my usual contract rate. It took me about 2 hours for now, and I think I'd be done in a one or two more. Great and deal. Merging this into Phobos though is the otehr 90% of the legwork, I hope somebody will help me with that and maybe we'll just split your generous bounty this way. Sure. As said, I'm not totally sure how this code-merging process works, who can do it, who approves things (if at all) or if it's enough of the automated tests don't fail. I mean I know what this table does by its usage but the codegen part is missing, likely a classic missing commit problem of being a single maintainer of the codegen tool (and the fact that it's not in the main dlang repos). Got it. Absolutely. I mean I'm in no shape to do the heavy lifting of day in day out maintanance of std.* stuff but I'd love to coach somebody to learn how std.regex and std.uni work. I can also share my vision for improvement, and will gladly help with refactoring. With focus on std.uni I think what would help is a short description of the whole process. A context setting chapter "unicode pitfalls, important things to know, general process" and a "step-by-step" description/log of what needs to be done, what the step does and where it fits into the overall picture. Just found out that std.regex is from you too... nice. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Rationale for accepting DIP 1028 as is
On 2020-05-27 06:59:28 +, Bruce Carneal said: Walter has confirmed that this is indeed the case. As you can read a few posts up his response to my "What am I missing?" query was "Nothing at all." Yes, it's really that bad. Will it be possible to see a report of these "greenwashed" call-chains, so that at least there is a chance to detect them? -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: This Right In: PLDI 2020 will take place online and registration is FREE. Closes on Jun 5, so hurry!
On 2020-06-14 20:22:41 +, Timon Gehr said: https://pldi20.sigplan.org/details/pldi-2020-papers/46/-PSI-Exact-Inference-for-Higher-Order-Probabilistic-Programs This one sounds pretty interesting. Will there be a recording and a published paper be available? -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: This Right In: PLDI 2020 will take place online and registration is FREE. Closes on Jun 5, so hurry!
On 2020-06-15 13:01:02 +, Timon Gehr said: The talk will be on YouTube. Great. Papers: https://www.sri.inf.ethz.ch/publications/bichsel2020silq https://www.sri.inf.ethz.ch/publications/gehr2020lpsi Source code: https://github.com/eth-sri/silq https://github.com/eth-sri/psi/tree/new-types Thanks, somehow missed these. What's the main difference of your approach WRT something like this: http://pyro.ai/ BTW: I'm located in Zug... so not far away from you guys. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2019-05-19 21:01:33 +, Robert M. Münch said: Hi, we are currently build up our new technology stack and for this create a 2D GUI framework. Some now teaser, again might not look like a lot had happend but we move forward, slow but steady: https://www.dropbox.com/s/jjefzyneqnxr7pb/dgui_teaser-1.mp4 The framework can now handle 9-patch images for decoration of any widget parts. And here an older one I think I never posted, about text editing: https://www.dropbox.com/s/cfqy21q4s7d0zxr/Bildschirmaufnahme%202020-04-07%20um%2017.08.24.mov?dl=0 Cut & Paste, marking, cursor movement etc. is all working correctly. All text stuff (rendering and handling) is done in Unicode. What we first get to work is a way to create simple applications with input-forms, text-lists feed from a database and single line text-editing. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2020-06-22 23:56:47 +, aberba said: Will it be open source? Curious why its not hosted public We will see... The main point is, such a thing only lifts off if the quality and out-of-the-box experience is high enough. I think we don't need an other project, that might not get any tracktion. And, if things have a good quality and are used, a project needs a bit of management. This bit can become quite intensive, especially in the beginning until enough know-how is build-up by others. And, this requires that others are picking it up, which needs a good quality... and the circle closes. Reality tells us, that most OS projects don't take off. Small libs, with a narrow scope are a totally different story than a GUI framework. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: D GUI Framework (responsive grid teaser)
On 2020-06-23 04:29:48 +, Виталий Фадеев said: Width of the element can be set: - by hand --- fixed - by automate --- inherited from parent --- from childs ( calculated max width ) --- generated by parent layout ( like a HBox, VBox, may be CircleLayout... ) and for each case: - check min width - check max width https://drive.google.com/file/d/1ZbeSkQD2BY06JB1R17CT17te1H9ecRnI/view?usp=sharing Not sure if this is a question or some project you do. However, yes on all points for what we do. and childs can be aligned in container cell to: left. center, right, stretched. https://drive.google.com/file/d/1Xm4m7DLaUoPu5wzvPSalgW3i1-WkTeek/view?usp=sharing Yes. I love beauty UI too. :) Well, beauty lies in the eye of the beholder. I love fast perfect UI too. :-) And I do D Windows GUI too. :) Cool... so, anything to see? -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Visual D 1.0.0 released
On 2020-07-04 13:00:16 +, Rainer Schuetze said: after having passed the 10 year anniversary of public availability recently, it is finally time to release version 1.0 of Visual D, the Visual Studio extension that adds D language support to VS 2008-2019. Even I don't use an IDE, the debugger support alone is so valuable that I can't imagine wokring without it... Great job! -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: The ABC's of Templates in D
A bit late... but I don't understand this part: "Unlike x, p is not a member of the template. The type Pair is a member, so we can’t refer to it without the prefix." * Why is it not a member of the template (specification)? * Later it is a member... of what if not of the template (specification)? Confusing... -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Vision document for H2 2016
On 2016-07-07 19:55:51 +, Andrei Alexandrescu said: https://wiki.dlang.org/Vision/2016H2 -- Andrei A more "business / managment" view: If we want to achieve hihger adoption rate of D, which IMO should be the first priority as it's an enabler for a lot of the other things posted, the non-technical aspects are much more important. 1. Fixing (all) bugs before doing new things: If I look as a CTO, CIO or CEO on D I the first thing I ask is: "Are they doing a lot of new stuff? And if, is this thing / last releasae that bullet proof stable that there are not annoying open issued?" Any other answer then "yes" would get my "no" to use D. 2. Case-Studies: Yes, we have a lot of projects and things going on etc. However, beside the "audio plug-in" I'm not so much aware of any D products. This even becomes harder to market if there are backend use-case / success stories. I thin it makes sense to show, what D has been used for, what the advantages are (faster, less cost, better maintainability) and how to adopt it. 3. How about a "D Master" online certificate? scrum.org is doing that. You have to go through a pretty hard online exam and reach a certain point level to become a "Certified Scrum Master". Yes, it might be a bit early to think about his line, but IMO better early then late. It just shows, that D is taking care about all the non-technical stuff as well, which is a decision point for companies. Just my 2c here... -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Vision document for H2 2016
On 2016-07-08 18:07:39 +, Andrei Alexandrescu said: On 07/08/2016 09:51 AM, Robert M. Münch wrote: 1. Fixing (all) bugs before doing new things: If I look as a CTO, CIO or CEO on D I the first thing I ask is: "Are they doing a lot of new stuff? And if, is this thing / last releasae that bullet proof stable that there are not annoying open issued?" Any other answer then "yes" would get my "no" to use D. This needs to be balanced with the zeroth thing you ask, which is: "how does it help us with our work better than the competition?" We're not working on many new things, but we do work on things that impact that question. IMO D has a lot to put on the table, and that should work seemlessly. So, the elevator-pitch for D is possible. However, it's a personal taste what is "better than..." and if helps or not. My rule of thumb, after many years of experience is, that I'm very conservative when it comes to base technology stuff. Less is more, slow moving & high quality is better than fast & fancy. 2. Case-Studies: ... There are some. I'd love to see such. Are these listed somewhere? 3. How about a "D Master" online certificate? scrum.org is doing that. ... Will keep that in mind, although there's some stigma associated with this. Which? That these things are of low quality? -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: Vision document for H2 2016
On 2016-07-08 20:46:21 +, Walter Bright said: On 7/8/2016 6:51 AM, Robert M. Münch wrote: 1. Fixing (all) bugs before doing new things: If I look as a CTO, CIO or CEO on ... I have yet to find any engineering product in any field that doesn't have open issues. A more practical question is does the product deliver enough value to make up for its deficiencies. I totally agree. But often it takes quite some time & experience to understand how the open deficiencies impact my context. I have seen to many tools where you can reach 80% and than things get hard / impossible. IMO a good or bad products is decided on the last 20%... 3. How about a "D Master" online certificate? scrum.org is doing that. You have ... It's a great idea, do you want to work on it? I would love to but it's unrealistic within the next 6 months... sorry. I brought it up as an idea that can be put on the mid / long term roadmap, to shape the picture of D in the long run. I think these things are important for companies to see / know about before they will make a decision. It's a long, very long journey to establish a language in the "mainstream"... -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: yet another event loop
On 2016-08-24 18:03:39 +, Eugene Wissner said: I want it to become not an event loop only but a general purpose library that has an event loop. Hi, well, I would re-think this since the danger is, that everything is so connected that I can use either all or nothing at all. I'm searching for a configurable (network, timer, GUI) stand-alone event-loop library, that abstracts away platform differences for years. Those that I found are so tighly deep coupled with the rest, that you can't get them out. IMO general purpose libraries building their own context and world-view are waste of time... -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: yet another event loop
On 2016-08-26 19:37:19 +, Eugene Wissner said: Do you mean that the library can have different modules but they should be independent of each other as much as possible (like phobos) or that every part that can be separated belongs to its own repository? I don't see both related. The 1st property is about library design, the 2nd about code management. If I can somehow only use the event part without having to get all other stuff in that's perfect. Putting everything into one repository is OK for me as well, makes handling the lib simpler. -- Robert M. Münch http://www.saphirion.com smarter | better | faster