Re: DConf 2014 Lightning Talks
On 21/07/2014 20:13, Andrei Alexandrescu wrote: Now available from youtube by default. http://www.reddit.com/r/programming/comments/2bbklj/dconf_2014_lightning_talks/ https://twitter.com/D_Programming/status/491299147015012352 https://www.facebook.com/dlang.org/posts/888753774471638 Andrei In Átila's talk, there is an egregious misuse of the term syntax checking, applied to what is actually language *semantics*, not syntax... ^_^' But cool talk, and cool tool. One question though, I'm hoping people familiar with Emacs could clarify to me: I assume that for flycheck to work in the continuous (as-you-type) way that it is shown to be working, then the files being edited have to be saved on to the disk, so that dmd can check them. Is it this saving done to the actual underlying files, or to some sort of copy? (I'm guessing that it's to the actual underlying files) This is an interesting behavior I've come across, even before watching this talk: Recently I tried IntelliJ IDEA, and it also goes away with any explicit UI notion of saving a file. It just saves files automatically, as you type. This is interesting, and might well be a marked improvement in UI behavior... -- Bruno Medeiros https://twitter.com/brunodomedeiros
Re: DMD v2.066.0-rc1
On Wednesday, 6 August 2014 at 16:19:39 UTC, Brad Anderson wrote: I don't think it's difficult for them, I think they often just don't know they can. Environment variables just aren't as well known on Windows these days. If you are an 18 year old getting into programming you likely have never even heard of environment variables or batch files and may not even know how to use the command prompt (or open it for that matter). Windows Vista came out when they were 10 years old and the days of having to know and use the command prompt for typical users were long gone by this point. I'm thirty so I knew and used MS-DOS as a kid (I had to) but if you've never used these things how would you know you could? There are OS courses at institutes, where you have linux, gcc and learn, how pipes, shared memory and synchronization mechanisms work.
Re: D:YAML 0.5 (also, D:YAML 0.4.5, TinyEndian 0.1)
On Wednesday, 6 August 2014 at 21:18:00 UTC, Gary Willoughby wrote: On Wednesday, 6 August 2014 at 17:09:50 UTC, Kiith-Sa wrote: ## D:YAML 0.4.5 ## For compatibility with DMD 2.065, I also made a release out of the last state of git master before 2.066 was required. See the release at GitHub: https://github.com/kiith-sa/D-YAML/releases/tag/v0.4.5 Great thanks. One tiny issue however is that v0.4.5 is not available via the dub registry. It looks like the registry has only picked up v0.5.0. Is there any way to work this around? (I'm not in charge of the dub package, and even if I were I don't see how I could force it to detect the older tag) - the only thing I can think of right now is putting it into a separate repo and registering it as a separate package, which is rather unwieldy.
Re: DConf 2014 Lightning Talks
On 8/7/14, 4:18 AM, Bruno Medeiros wrote: This is an interesting behavior I've come across, even before watching this talk: Recently I tried IntelliJ IDEA, and it also goes away with any explicit UI notion of saving a file. It just saves files automatically, as you type. This is interesting, and might well be a marked improvement in UI behavior... This is a UI direction that Mac OSX is going in, presumably as part of their push to bring iOS behavior to the desktop. Apps that use it save as they go, and they have a standard UI to browse through previous versions of your document if you want to go back to (or crib from) something earlier.
Re: DMD v2.066.0-rc1
On Thursday, 7 August 2014 at 11:30:19 UTC, Kagamin wrote: On Wednesday, 6 August 2014 at 16:19:39 UTC, Brad Anderson wrote: I don't think it's difficult for them, I think they often just don't know they can. Environment variables just aren't as well known on Windows these days. If you are an 18 year old getting into programming you likely have never even heard of environment variables or batch files and may not even know how to use the command prompt (or open it for that matter). Windows Vista came out when they were 10 years old and the days of having to know and use the command prompt for typical users were long gone by this point. I'm thirty so I knew and used MS-DOS as a kid (I had to) but if you've never used these things how would you know you could? There are OS courses at institutes, where you have linux, gcc and learn, how pipes, shared memory and synchronization mechanisms work. These are just broad overview courses that barely scratch the surface. A 4 month course can barely teach you anything about such a broad topic.
Re: DMD v2.066.0-rc1
On 7 August 2014 21:30, Kagamin via Digitalmars-d-announce digitalmars-d-announce@puremagic.com wrote: On Wednesday, 6 August 2014 at 16:19:39 UTC, Brad Anderson wrote: I don't think it's difficult for them, I think they often just don't know they can. Environment variables just aren't as well known on Windows these days. If you are an 18 year old getting into programming you likely have never even heard of environment variables or batch files and may not even know how to use the command prompt (or open it for that matter). Windows Vista came out when they were 10 years old and the days of having to know and use the command prompt for typical users were long gone by this point. I'm thirty so I knew and used MS-DOS as a kid (I had to) but if you've never used these things how would you know you could? There are OS courses at institutes, where you have linux, gcc and learn, how pipes, shared memory and synchronization mechanisms work. It's not because it's hard, it's because it's perceived as totally backwards, and it undermines the trust in the ecosystem. It's all about perception. The Windows/Visual Studio development culture is pretty immature, and expects nothing less than the level of polish and presentation that Microsoft put into Visual Studio. I have direct experience with hundreds of these sorts of developers. The prevailing opinion is that Linux is rubbish for nerds, and if the ecosystem presents itself in that style, it won't be taken seriously. You can't gain the confidence of this community of developers unless you appeal to them on their terms. First impressions and basic presentation are extremely important to perception. I think configuration friction in particular is extremely important to eliminate; you are dealing with someone whose investment in D can be measured in seconds, probably knows absolutely nothing about the ecosystem technically, and is not yet sure if they even want to. Any friction between them and a helpful little wizard that generates a hello world project for them so they can start hacking about and see how it feels may quite possibly dismiss it on contact.
Re: DMD v2.066.0-rc1
On Thursday, 7 August 2014 at 15:35:11 UTC, Manu via Digitalmars-d-announce wrote: The Windows/Visual Studio development culture is pretty immature, and expects nothing less than the level of polish and presentation that Microsoft put into Visual Studio. I have no idea how one can call one shitty program that can't even install itself to just work as polished (reference to http://forum.dlang.org/post/xwfpcuavpdpwmvnbn...@forum.dlang.org)
Re: DMD v2.066.0-rc1
On 8 August 2014 01:41, Dicebot via Digitalmars-d-announce digitalmars-d-announce@puremagic.com wrote: On Thursday, 7 August 2014 at 15:35:11 UTC, Manu via Digitalmars-d-announce wrote: The Windows/Visual Studio development culture is pretty immature, and expects nothing less than the level of polish and presentation that Microsoft put into Visual Studio. I have no idea how one can call one shitty program that can't even install itself to just work as polished (reference to http://forum.dlang.org/post/xwfpcuavpdpwmvnbndmt@forum. dlang.org) Umm, I don't know what you're talking about exactly. But let me get this straight, it looks like you're saying you are annoyed that it didn't 'just work' out of the box? :P But regardless, you're talking about `make -f win64.mak`, which suggests that you're clearly not a windows/visual studio developer, and therefore wouldn't understand ;) You're meant to open the .sln file and press the build button...
Re: DMD v2.066.0-rc1
On Thursday, 7 August 2014 at 16:53:57 UTC, Manu via Digitalmars-d-announce wrote: Umm, I don't know what you're talking about exactly. But let me get this straight, it looks like you're saying you are annoyed that it didn't 'just work' out of the box? :P Yeah this is the inly compiler I have used so far where you can't just type `cl.exe helloworld.c` after installation and expect it to not crash - with an intention that you must use special environment wrapper before that is never mentioned to you during installation. You're meant to open the .sln file and press the build button... I'll tell my scripts next time that all they need is to press a build button, yeah
Re: D:YAML 0.5 (also, D:YAML 0.4.5, TinyEndian 0.1)
On Thursday, 7 August 2014 at 13:38:20 UTC, Kiith-Sa wrote: On Wednesday, 6 August 2014 at 21:18:00 UTC, Gary Willoughby wrote: On Wednesday, 6 August 2014 at 17:09:50 UTC, Kiith-Sa wrote: ## D:YAML 0.4.5 ## For compatibility with DMD 2.065, I also made a release out of the last state of git master before 2.066 was required. See the release at GitHub: https://github.com/kiith-sa/D-YAML/releases/tag/v0.4.5 Great thanks. One tiny issue however is that v0.4.5 is not available via the dub registry. It looks like the registry has only picked up v0.5.0. Is there any way to work this around? (I'm not in charge of the dub package, and even if I were I don't see how I could force it to detect the older tag) - the only thing I can think of right now is putting it into a separate repo and registering it as a separate package, which is rather unwieldy. Try asking for a solution here: http://forum.rejectedsoftware.com/groups/rejectedsoftware.dub/
Re: DMD v2.066.0-rc1
On 8 August 2014 02:57, Dicebot via Digitalmars-d-announce digitalmars-d-announce@puremagic.com wrote: On Thursday, 7 August 2014 at 16:53:57 UTC, Manu via Digitalmars-d-announce wrote: Umm, I don't know what you're talking about exactly. But let me get this straight, it looks like you're saying you are annoyed that it didn't 'just work' out of the box? :P Yeah this is the inly compiler I have used so far where you can't just type `cl.exe helloworld.c` after installation and expect it to not crash - with an intention that you must use special environment wrapper before that is never mentioned to you during installation. Yeah, the first I ever became aware about that environment script was when Walter pointed it out to me a few years ago. I've never encountered anybody try and use MSC from the command line in about 15 years professionally. That's what I mean about this culture; it's the opposite of linux, and it outright rejects practises that are linux-like. You're meant to open the .sln file and press the build button... I'll tell my scripts next time that all they need is to press a build button, yeah What's a script? Is that related to the command prompt? We left that behind in Windows95... ;)
Re: DMD v2.066.0-rc1
On Thursday, 7 August 2014 at 17:05:29 UTC, Manu via Digitalmars-d-announce wrote: On 8 August 2014 02:57, Dicebot via Digitalmars-d-announce digitalmars-d-announce@puremagic.com wrote: On Thursday, 7 August 2014 at 16:53:57 UTC, Manu via Digitalmars-d-announce wrote: Umm, I don't know what you're talking about exactly. But let me get this straight, it looks like you're saying you are annoyed that it didn't 'just work' out of the box? :P Yeah this is the inly compiler I have used so far where you can't just type `cl.exe helloworld.c` after installation and expect it to not crash - with an intention that you must use special environment wrapper before that is never mentioned to you during installation. Yeah, the first I ever became aware about that environment script was when Walter pointed it out to me a few years ago. I've never encountered anybody try and use MSC from the command line in about 15 years professionally. That's what I mean about this culture; it's the opposite of linux, and it outright rejects practises that are linux-like. well I don't mind that habits are totally different - but the fact that it is considered an excuse for distributing broken programs (and cl.exe is broken by most basic software usability principles) is frustrating at least. Polishing means exactly paying attention to details like that, making sure that features on one uses still work when stumbled upon. And making your GUI even more fancy is, well, making you GUI fancy. Nothing to do with polishing. I'll tell my scripts next time that all they need is to press a build button, yeah What's a script? Is that related to the command prompt? We left that behind in Windows95... ;) Yeah you know those old school things that allow us to spend time on something actually useful instead of pressing buttons ;)
Re: DMD v2.066.0-rc1
On Thursday, 7 August 2014 at 17:11:23 UTC, Dicebot wrote: well I don't mind that habits are totally different - but the fact that it is considered an excuse for distributing broken programs (and cl.exe is broken by most basic software usability principles) is frustrating at least. Polishing means exactly paying attention to details like that, making sure that features on one uses still work when stumbled upon. And making your GUI even more fancy is, well, making you GUI fancy. Nothing to do with polishing. And here I also mean that all other Windows builds of compilers / interpreters I have used / tried passed that simple sanity test. Some may require complicated setup to do complicated things but hello world is always just that simple. Microsoft seems to be the only company who can afford doing things like that with users and expect them to suck it _
Re: DMD v2.066.0-rc1
On Thursday, 7 August 2014 at 17:05:29 UTC, Manu via Digitalmars-d-announce wrote: I've never encountered anybody try and use MSC from the command line in about 15 years professionally. LOL. That's almost always how I use VS when I'm forced to use it at work. As soon as I figured out that I could build from the command line using VS, I stopped opening it unless I had to in order to run the debugger. But I'm not even vaguely a typical Windows developer. I'm pretty hardcore Linux, all things considered. - Jonathan M Davis
Re: DMD v2.066.0-rc1
On 2014-08-07 19:15, Dicebot wrote: And here I also mean that all other Windows builds of compilers / interpreters I have used / tried passed that simple sanity test. Some may require complicated setup to do complicated things but hello world is always just that simple. Microsoft seems to be the only company who can afford doing things like that with users and expect them to suck it _ On OS X both work well. You can either just press the button or use the command line, assuming you have installed the command line tools. -- /Jacob Carlborg
D:GameVFS 0.2
D:GameVFS is a (very) minimal virtual file system library for game development. https://github.com/kiith-sa/D-GameVFS I updated D:GameVFS to work with DMD 2.066 and put it on DUB. There are no major changes, just a bunch of small features I added over time as I use it. Note that at this point this isn't hugely useful. The only VFS backend that is implemented is... plain FS (I expect to implement a zip backend once I need it), the main useful feature is directory stacking (i.e. treating files in multiple directories as if they were one directory, where files from directories up the stack override those from directories below). As always, the API is not stable. GitHub release with changelog: https://github.com/kiith-sa/D-GameVFS/releases/tag/v0.2.0 API docs: http://defenestrate.eu/docs/dgamevfs/index.html DUB registry: http://code.dlang.org/packages/dgamevfs
Re: Cassowary.d
a small update for parser: it is now possible to parse so-called scripts (only from 'string' type for now). sample script can look like this one, which centers two buttons inside the panel, keepeng equal button sizes: ===[cutline]=== var(stay) panel.left = 0, panel.top = 0, panel.width = 80, panel.height = 20; // this is just a simple constants, // use 'define' to avoid introducing new vars define button.hpadding = 4, button.defheight = 10+6; // simple math var bt0.left, // default is 0 bt0.top, stay bt0.width = 30, stay bt0.height = button.defheight; // oh, yeah, this will be calculated in-place var bt1.left, bt1.top, bt1.width, bt1.height; // some useful macros define panel.right = (panel.left+panel.width), panel.bottom = (panel.top+panel.height), bt0.right = (bt0.left+bt0.width), bt0.bottom = (bt0.top+bt0.height), bt1.right = (bt1.left+bt1.width), bt1.bottom = (bt1.top+bt1.height); // button-button placement and sizes // default strength is required bt1.left = bt0.right+button.hpadding; // buttons padding bt1.height == bt0.height; // same height bt1.width == bt0.width; // same width bt1.top == bt0.top; // same vertical position // button-panel placement (this should center buttons) // horizontal bt0.left-panel.left == panel.right-bt1.right; // vertical bt0.top-panel.top == panel.bottom-bt0.bottom; // print values (for debug mode) print panel.left; print panel.top; print panel.width; print panel.height; print bt0.left; print bt0.top; print bt0.width; print bt0.height; print bt1.left; print bt1.top; print bt1.width; print bt1.height; ===[cutline]=== there is no support for any kind of 'autobinding' variables to class/struct properties yet, and parser code is awful. but the whole thing is slowly growing… anyway, it's really fun to play with various layout scripts. try it yourself!
Re: Miscelaneous D tool updates
On Thursday, 7 August 2014 at 23:36:59 UTC, Brian Schott wrote: Tags and DUB support for all of this will happen when I get around to it. (Or when you get around to it and make a pull request) libdparse: https://github.com/Hackerpilot/libdparse * The lexer/parser/ast code for D written in D is no longer a part of the dscanner project. (This also means that DCD no longer includes a static analysis tool as a submodule. Yay.) dscanner: https://github.com/Hackerpilot/Dscanner * Static analysis check for declaring methods or variables named init or otherwise overriding built-in properties. (Why does the compiler let you do this in the first place?) * Tweaks to the opEquals, opCmp, toHash checks. * Static analysis checks are now configurable through an ini file. * Lots of random bug fixes. dcd: https://github.com/Hackerpilot/DCD * Autocomplete for selective imports. * Autocomplete for auto variables. (Finally!) * Show call tips for compiler-generated struct constructors. * Autocomple global-scoped symbols more accurately. * Several updates to editor integration scripts (Mostly EMACS) * Lots of bug fixes harbored: https://github.com/economicmodeling/harbored * Documentation - docs - harbor? * Documentation generator that is independent of DMD and its JSON output. * Example output: http://economicmodeling.github.io/containers/index.html * Lots of bug fixes. libddoc: https://github.com/economicmodeling/libddoc * D implementation of the DDoc macro system * Lots of bug fixes Thanks for all the nice work. :) I was just looking at using libdparse yesterday to help me with some phobos cleanup (https://github.com/D-Programming-Language/phobos/pull/2337) and I want to eventually try using it with dstep to separate out Glibc declarations in druntime.