New beginnings - looking for part-time D programming help
Hi. For those that didn't hear, I resigned from Symmetry in September and my last day was a couple of weeks back. I don't have any concrete plans yet, but I've agreed not to do anything in the hedge fund world for quite some time and I've also agreed not to hire anyone that's an employee or consultant for Symmetry. Out of little acorns do great oaks grow and the best beginnings are often not much, just a little hobby project. I sat down in early 2014 and wrote down what I called hedge fund in a box - what are the things I am going to need to build so I never have to worry about them again. Not always quite in that form, but it's remarkable how many of those little beginnings ended up coming to fruition in what was an 11bn hedge fund by the time I left. With that said for now I don't have much, just a few ideas about how to solve some of my own problems, knowing there's just a chance they might be useful down the line to others. I'm paying out of my own pocket and my budget is modest for now so this isn't going to be an opportunity interesting for someone currently embedded in big tech ! You can speak to some of the people I hired at Symmetry - if this ever becomes anything then I will pay well to very well over time. But you shouldn't bet on it becoming anything at all. If you do good work but nothing comes of it and you're interested in getting a job in finance I can help you navigate that world and the experience may help you achieve your goals. But I am not sure I would recommend most jobs in finance. What kind of work? Initially some scripting in D to integrate things and a little bit of work with LLM embeddings and fine tuning, STT transcription, classifiers, parsing. Some presentation work - gui or web I don't mind. What kind of person? You need to be a talented hacker that's interested in learning and accomplishing things. You don't need an impressive CV - my best documentation Dev hire was a Spanish baker with no enterprise experience. (Just the kernel, lol). What's the vision? Well I will say more when I can but how people do work today in organisations is broken and it's miserable and I would like to play a part in transforming that. Full remote is ideal as I live on an island. If you happen to live near Rennes, Saint Malo or Amsterdam then it's easier for me to visit you. Let me know any questions. laeeth+reboot at laeeth.com
Semi - OT: LLVM blog on calling most of C++ from a DSL written in D
https://blog.llvm.org/posts/2021-03-25-cling-beyond-just-interpreting-cpp/
Talk before Compiler Research Group at IRIS-HEP Princeton on SIL-cling
https://youtu.be/7teqrCNzrD8 https://t.co/2iAWdO9cXA Alexandru Militaru speaks to Compiler Research Group, IRIS-HEP at Princeton about his work at @SymmetryInvest using CERN's cling to compile and call C++ from our internal domain specific language, SIL. #dlang #cling
Re: FeedSpot Recognizes the GtkDcoding Blog
On Friday, 7 February 2020 at 16:00:07 UTC, bachmeier wrote: On Friday, 7 February 2020 at 15:05:13 UTC, Russel Winder wrote: True companies have convinced themselves that only licences that allow stealing of others' intellectual work are acceptable to business, but then that is the point, they can steal the intellectual work with impugnity. A rant of my own: The push against the GPL is mostly by those who want free software to mean "free labor". GPL software can be dual licensed. Companies can pay for an alternative licensing arrangement if it's that valuable to them. Instead they want "free" software that allows them to avoid payment while imposing restrictions on how others use the software. How do you pay for an alternative licensing arrangement when there are a gazillion contributors some of whom are untraceable and when in practical terms any one of those saying no might make it in practical terms impossible? Software can be dual licensed, but it often isn't, particularly with community developed software. Most software is internal software I think. But a company needs to make decisions strategically in the face of uncertainty. Suppose you are considering a library for internal use and not planning to redistribute. But business is uncertain. Maybe it could be you want to redistribute your software to a future partner. Now if you use a viral license library that doesn't give you an option to pay for it then you are shutting off that option.
Re: My Android project nearing beta
On Monday, 6 January 2020 at 14:37:54 UTC, Adam D. Ruppe wrote: On Sunday, 5 January 2020 at 03:56:37 UTC, visitor wrote: Not a single line of java! so i got kinda excited for creating a class 100% in D as well, but. https://developer.android.com/training/articles/perf-jni.html "DefineClass is not implemented. Android does not use Java bytecodes or class files, so passing in binary class data doesn't work." I haven't tried, but: https://github.com/linkedin/dexmaker
Re: Article about D in the iX magazine
On Sunday, 22 December 2019 at 13:05:02 UTC, Robert M. Münch wrote: 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. I think it's much better to spend most time on those receptive to it anyway, which is a very small proportion of the programmers many people might know in real life. The beauty of being the challenger is you can keep growing by persuading only a small proportion of people who were already poised on the edge or would be if they knew of D. Yes - I agree that delivering value speaks the loudest. But of course in a competitive market it's not necessarily going to be something people discuss. It's outside the reality of many others, what can be achieved with D, and at the same time you don't necessarily want to actually make it vivid to your competitors how they could do what you did. I think also that enthusiasm and working code might be more effective than logic and feature comparison. The biggest asset the D community has might be the calibre of people that are drawn to it and that stick with it...
Re: LDC 1.18.0
On Wednesday, 23 October 2019 at 02:22:56 UTC, zoujiaqing wrote: On Thursday, 17 October 2019 at 04:04:41 UTC, Newbie2019 wrote: On Wednesday, 16 October 2019 at 22:31:41 UTC, kinke wrote: Thanks for keep up the good work. Android CI is really a great for mobile users, I wish some day there also include IOS cross build binary package. Yes, I wish it too. LDC for iOS needed. We use iOS. If somebody were willing to do the work of bringing LDC up to date and maintaining it maybe we could support the work, or at least contribute to it.
Re: Five Projects Selected for SAOC 2019
On Tuesday, 27 August 2019 at 17:32:30 UTC, Max Haughton wrote: On Monday, 26 August 2019 at 18:51:54 UTC, Vladimir Panteleev wrote: On Sunday, 25 August 2019 at 13:38:24 UTC, Mike Parker wrote: The Symmetry Autumn of Code 2019 application selection process has come to an end. This year, we've got five projects instead of three. Congratulations to everyone who was selected! You can read about them and their projects over at the D Blog: https://dlang.org/blog/2019/08/25/saoc-2019-projects-and-participants/ Sorry, I haven't been following. Don't we already have an implementation of the "Create a CI or other infrastructure for measuring D’s progress and performance" project? I just haven't been maintaining it because there hasn't been a lot of interest in it while it was being maintained. Here's the original blog post: https://blog.thecybershadow.net/2015/05/05/is-d-slim-yet/ I'll give it a kick and get it back online if there is interest. Seems wasteful to reimplement it from scratch, though. I was aware of the site when i wrote the proposal, but the idea is to create the infrastructure to add more measurements too, e.g. profiling the compiler or testing it under limited memory (I found out how much memory my CTFE thing was using the other day!). Assuming I can get it to work I'd also like to throw the Linux perf system in there too, Take a look at BPF. Might be some work to wrap and if I recall right some of the C headers are a bit gnarly. But it's pretty powerful. https://github.com/brendangregg/bpf-docs
PoC: Runtime Reflection in D on C++ code
It's rough and ready - no proper build and not at all well-tested. But it will definitely work in time since it uses the fork of libcling for cppyy that's used at scale for CERN. cppyy generates python bindings for C++ code on the fly using the cling interpreter (it handles templates by doing the specialisation at python runtime). I'm a bit short of time, so putting this out here in case it's useful for anyone - might be some months before I get to look at it again. https://github.com/kaleidicassociates/cpp-reflect-d ROOT: https://github.com/root-project/root https://cppyy.readthedocs.io/en/latest/ http://wlav.web.cern.ch/wlav/Cppyy_LavrijsenDutta_PyHPC16.pdf
Re: Autonomous driving company is looking for D software engineers
On Sunday, 23 June 2019 at 12:22:18 UTC, XavierAP wrote: On Tuesday, 18 June 2019 at 19:05:05 UTC, Dragos Carp wrote: AID GmbH (https://aid-driving.eu) a subsidiary of AUDI AG is looking for experienced D-evelopers in Munich. If you want to employ your D expertise and be part of the autonomous driving revolution, apply under: https://jobs.lever.co/aid-driving/c4b243bd-c106-47ae-9aec-e34d5bbe0ce1?lever-via=vcPRnEaCR3 Thank you very much for sharing. You work at AID? As Laeeth says, could you let us know whether it would be ok to add a mention to AID to the Dlang website? https://dlang.org/orgs-using-d.html https://www.reddit.com/r/programming/comments/c4f1hu/dlang_being_used_for_autonomous_driving_research?sort=confidence
Re: Autonomous driving company is looking for D software engineers
On Tuesday, 18 June 2019 at 19:05:05 UTC, Dragos Carp wrote: AID GmbH (https://aid-driving.eu) a subsidiary of AUDI AG is looking for experienced D-evelopers in Munich. If you want to employ your D expertise and be part of the autonomous driving revolution, apply under: https://jobs.lever.co/aid-driving/c4b243bd-c106-47ae-9aec-e34d5bbe0ce1?lever-via=vcPRnEaCR3 Nice work. Could somebody perhaps check with AID and if it's okay add their name to the list of companies using D.
Re: my first kernel in betterC D
On Wednesday, 19 June 2019 at 13:45:45 UTC, matheus wrote: On Sunday, 16 June 2019 at 16:14:26 UTC, Laeeth Isharc wrote: ... Nice indeed, maybe you should mention this on reddit? Matheus. Feel free to. But I didn't do any work - I changed a few lines in the C code and of course it just worked. So I would feel embarrassed posting to Reddit because the original author did the hard bit and I just made trivial changes. You know I think Atila is right about social factors and integration being everything. The objections to using D are just that - it's not really about what people say mostly, but those are excuses to rationalize how they feel. One aspect of that is just showing something is possible. Adam Ruppe's talk at dconf a while back has had a lasting influence on how we approach things, mostly for giving me permission to do what I'm naturally inclined to do anyway. If you're not sure then bet a little time to try - the worst thing that can happen in user code is a segfault and so what. For example our business is not primarily about network programming at a lowish level. But when people say file transfers to Asia are slow because of the speed of light and latency one doesn't need to accept that. It's quite a similar problem - latency and packet loss - to the days of 300 baud models and XModem and there's an obvious solution. But before doing it myself I figured someone must have solved it and I found UDT. I spent half a Saturday wrapping it so it built but wouldn't work and Robert Schadek finished the job in a day or two. What's a decent performance improvement these days? Well I'm pretty happy with a 300 times (not 300%) improvement in file transfer speed between regions! And we can pull that plus libzfs in D plus our little language to have a tool for managing zfs snapshots and replication that makes everything simple because it's coherently designed and integrated. Anyway I think sometimes a barrier to adoption is sometimes just nobody has yet shown the problem is easily solved using D in your domain. We are in an age that's short on daring and ambition, which means a little bit of courage goes a long way. Nobody could break the four minute mile. One guy did it and then lots of people followed. Most people closest to using D that aren't I guess will have a decent size C or C++ code base. DPP keeps getting better in relation to C++ and we want to get it to a stage where it can be used to expose an internal library that's still got a C++ interface but is being replaced step by step with D. Thanks, Daniel Murphy for showing the way there, though we aren't able to do the translation programmatically. DPP has paid for the modest support we provided many times over already even just considering direct benefits. I wonder a bit about translation from C. Rust 2C was a multi million DoD project. We could steal the front end that dumps out the libclang C AST as CBOR. I suppose it shouldn't be hard to translate that to C-style D programmatically. It "adds nothing" to libclang in theory but it saves a lot of time as libclang is not the most complete or pleasant API I have seen. If we had something dependable it would be much easier to move a C codebase incrementally to D because you could just do what you can manage at that time and you don't need that much imagination or courage because it doesn't end up being a big binary bet. I guess translating C++ programmatically is a much harder, maybe almost impossible problem. But C would be a start. I have my hands full right now but I would play with doing it myself if I had more time... Laeeth
my first kernel in betterC D
https://github.com/kaleidicforks/mkernel-d I spent a few minutes on just turning the C code to betterC D - was curious to see if it would work. It seems to. I didn't try loading with GRUB. The dub.sdl isn't quite right, so best run ./build.sh Cannot push to code.dlang.org - it complains about registering a forked package, even after renaming.
Re: DConf 2019 Livestream
On Wednesday, 8 May 2019 at 08:04:08 UTC, Mike Parker wrote: On Wednesday, 8 May 2019 at 08:00:15 UTC, Andrej Mitrovic wrote: On Wednesday, 8 May 2019 at 07:57:40 UTC, Mike Parker wrote: The venue uses WebEx for livestreaming. All the information is available in this PDF: https://drive.google.com/open?id=1yekllbfOmxHqJNuuWIVeP9vNeROmfp1I "When joining: Please connect using Internet Explorer, not Google Chrome or another web browser." You guys can't be serious, you're using WebEx? Not us. The venue. Sorry about that. It was supposed to be streaming to YouTube, but it fell through the cracks. We are looking into it now. Laeeth
Re: DConf 2019: Shepherd's Pie Edition
On Thursday, 27 December 2018 at 17:00:05 UTC, Robert M. Münch wrote: On 2018-12-22 21:38:42 +, Laeeth Isharc said: On Saturday, 22 December 2018 at 18:47:40 UTC, Robert M. Münch wrote: On 2018-12-22 12:18:25 +, Mike Parker said: Thanks to Symmetry Investments, DConf is heading to London! We're still ironing out the details, but I've been sitting on this for weeks and, now that we have a venue, I just can't keep quiet about it any longer. Hi, you should consider the upcoming Brexit chaos, which is expect to have a high impact on all airlines. Currently I wouldn't bet that all parties involved get things sorted out until May... I would be happy to bet they do. The EU and US are already agreed. https://www.bbc.co.uk/news/business-46380463 Well, we will see. But it's not the EU and US, but UK and US that agreed after your reference. Since I'm not from the US this information doesn't help a lot. And the significant part of your reference is this: "Theresa May's Brexit agreement with Brussels says that the UK and EU have agreed to negotiate a "comprehensive air transport agreement" for UK-EU flights during the planned transition period but it would not apply if the UK left the EU without a deal. In September the government warned a no-deal Brexit could cause disruption to air travel between the UK and European Union countries." You might be aware that the "No Deal Scenario" is currently much more likely... but again, everyone is free to do what they want. In the event of no-deal, flights will continue as before except UK operators flying _within_ Europe on domestic or intra-EU flights will need to get a license. UK operators can continue to fly to Europe, and we already said the European operators can fly here. This is a relatively recent official confirmation of what was always fairly obvious - a negotiating position is not quite the same thing as the position in actuality. http://www.travelweekly.co.uk/articles/319768/updated-european-commission-reiterates-flights-will-go-ahead-post-brexit You can read the technical guidance if you wish. Naturally it comes with the spin you would expect. And since flights to and from the EU will continue to operate, I doubt very much that flights between Britain and anywhere else will cease to operate. Britain has a current account deficit with every European nation bar Ireland and I think Malta, meaning we import more than we export. The wilder scenarios painted assume that one of the two parties would deliberately sabotage their own economy. I don't think so. I had lunch with a lawyer who advised Cameron and Osborne in their negotiations with the EU. He has written five books on Brexit, approaching it from a technical rather than political perspective. He pioneered the suggestion of enhanced equivalence which will likely be the roadmap for financial services. He says Brexit consists of a multitude of small problems which will have to be overcome by the people closest to them. But a no-deal Brexit would be fine and quite quickly rather positive. All of this stuff "if there is a no-deal Brexit, Theresa May _could_ run out of insulin" - that word could is like nasal demons in UB with C. It's a funny use of the word could - the lawyer called the insulin suggestion an insult to the intelligence. And my sister in law is a partner in a pharmaceutical regulatory firm here in Germany where I write from, and she agrees the suggestion is nonsense. There's a lot of such stuff about, generated for partisan reasons. The track record of such suggestions is pretty dire - both Mervyn King, former Governor of the Bank of England,and Paul Krugman, a former trade economist, haha, suggested that the Bank was damaging its reputation by making such political arguments. So it's best to go to the primary sources and technical documentation. There are more entertaining ways to scare oneself if that's what one wants. But flights will be running as good or bad as they ever do,as best I can tell.
Re: DConf 2019: Shepherd's Pie Edition
On Saturday, 22 December 2018 at 18:47:40 UTC, Robert M. Münch wrote: On 2018-12-22 12:18:25 +, Mike Parker said: Thanks to Symmetry Investments, DConf is heading to London! We're still ironing out the details, but I've been sitting on this for weeks and, now that we have a venue, I just can't keep quiet about it any longer. Hi, you should consider the upcoming Brexit chaos, which is expect to have a high impact on all airlines. Currently I wouldn't bet that all parties involved get things sorted out until May... I would be happy to bet they do. The EU and US are already agreed. https://www.bbc.co.uk/news/business-46380463
Re: D compilation is too slow and I am forking the compiler
On Wednesday, 28 November 2018 at 13:30:37 UTC, Guillaume Piolat wrote: On Wednesday, 28 November 2018 at 12:48:46 UTC, Laeeth Isharc wrote: Nassim Taleb raises the question of how do you choose between two surgeons, both recommended. One looks the part and hangs his many certificates on his office wall. The other looks scruffy with the appearance of a tradesman. Who do you pick? Taleb says pick the guy who doesn't look the part because if he got there without signalling he must have something going for him. It's definately the kind of surgeon one should choose - programmers that are not necessarily well groomed etc.. - but is it the kind of surgeon people will actually recommend? I'm doubtful. If X has the social signalling then people will recommend X even without trying, because it's socially safe. If one doesn't have the signalling, I've found the hard way even supporters will hesitate a bit before making recommendations, because of the social standing _cost_ it may have. But then, perhaps recommendations don't matter, because opinions don't matter much? I think they matter to be even heard on public places. And I think early adopters need a nudge, the influent need to be bothered by less influents (influencers are not especially on the lookout for new options, as they are already influent). Above all I think the niche of early-adopters is smaller than the larger market for languages, and the early-adopters are going elsewhere. The innovator's dilemma, which is really an insight that dates back to Toynbee, and before that Ibn Khaldun, is not so obvious. I am not sure that you have understood it. I suggest reading the book if you are interested, but otherwise I unfortunately don't have so much time at the moment to try to persuade you of what this phenomenon is like and there's limited value to talking about talking rather than having a discussion based on a shared understanding of what this is about.
Re: D compilation is too slow and I am forking the compiler
On Wednesday, 28 November 2018 at 13:05:34 UTC, Guillaume Piolat wrote: On Wednesday, 28 November 2018 at 12:48:46 UTC, Laeeth Isharc wrote: D isn't really marketed and it's definitely not sold. That's an implicit strategy in itself. What I see in my (absurdly competitive) market is that the people that truly do no-marketing tend to close shop, sometimes despite very competitive offerings. It colors my perception of course, since it can be very tempting to appeal to a limited pool of discerning customers; but that would mean death. What is the ratio of expenditure of your best customer to an average customer? Not much. That's one main reason why your intuition developed by organising your emotions according to your business domain fits this domain less. What is the ratio of expenditure of the biggest 'customer' of Python to the average 'customer'? Measured by resources lent to the community directly or indirectly, or by the wage bill of programmers at that firm working in Python this ratio is enormous.
Re: D compilation is too slow and I am forking the compiler
On Monday, 26 November 2018 at 16:00:36 UTC, Guillaume Piolat wrote: On Thursday, 22 November 2018 at 04:48:09 UTC, Vladimir Panteleev wrote: On Wednesday, 21 November 2018 at 20:51:17 UTC, Walter Bright wrote: Unfortunately, you're right. The title will leave the impression "D is slow at compiling". You have to carefully read the article to see otherwise, and few will do that. Sorry about that. I'll have to think of two titles next time, one for the D community and one for everyone else. If it's of any consolation, the top comments in both discussion threads point out that the title is inaccurate on purpose. Please don't get me wrong, it's an excellent article, a provocative title, and fantastic work going on. I didn't meant to hurt! In my opinion language adoption is a seduction/sales process very much like business-to-consumer is, the way I see it it's strikingly similar to marketing B2C apps, unless there will be no "impulse buy". I think that there are different strategies - decent appeal to a broad market and having a very high appeal to a small market (but there has better be something good about your potential customer base ie 'D, if you find VBA too difficult' is probably not a good strategy!). And you probably don't get to pick which situation you are in, and then one had better realise it and play the game you're in. The particular kind of market will shape what works - in my business you approach a retail client base differently from regular institutional investors and then the worlds' largest pools of money involved something else again. D isn't really marketed and it's definitely not sold. That's an implicit strategy in itself. Nassim Taleb raises the question of how do you choose between two surgeons, both recommended. One looks the part and hangs his many certificates on his office wall. The other looks scruffy with the appearance of a tradesman. Who do you pick? Taleb says pick the guy who doesn't look the part because if he got there without signalling he must have something going for him. But in general you can appeal on merits mostly to an audience that is highly discerning and very capable. If you haven't got any money to appeal to an audience that judges based on heuristics and social factors well then you can try to avoid accidentally putting people off, you can be creative with guerilla marketing but the key thing is to make the most of what you got. If everyone else does things a certain way then if for some reason that's closed off to you for now then if you look closely, with active perception,you may well see opportunities that are neglected to approach the problem another way. Actually no less than 3 programmer friends came to (I'm the weirdo-using-D and people are _always_ in disbelief and invent all sorts of reasons not to try) saying they saw an article on D on HN, with "D compilation is slow", and on further examination they didn't read or at best the first paragraph. But they did remember the title. They may rationally think their opinion of D hasn't changed: aren't we highly capable people? It doesn't matter what most people think. It matters what people who are on the fence or using D already a bit think. Or people who have a lot of problems to which D is in part a solution only they didn't know about or think of D yet. The messenger matters too. If someone you trust and rate highly tells you something based on their experience that counts for a lot more than all the blog posts in the world. And working code and lived experience dominates the social talk about it. I've talked about D with the CTO of Bloomberg, the outgoing COO of Barclays investment bank, the number two guy at a 30bn hedge fund, the COO of the largest hedge fund in the world (depending on how you count) and more. That's not going to change anything tomorrow but in time those kinds of conversations matter much more than what people might say on Reddit. It's not either /or of course, but it's just not worth sweating your reviews. Finally the reasons people buy things are not what you might reasonably think! Ask Walter how he was able to compete successfully for so long as a one man band with Microsoft. I don't think his edge was in the beginning something calculated. Reasonable people may think marketing and biases don't apply to them but they do, it works without your consent. The thing is that we had a bubble in synthetic manufactured marketing. And now increasingly people are tired of that and seek what's authentic, real and that doesn't pretend to be perfect. That doesn't mean a bit of thought is a bad idea,just that it might matter less than you think that the D community isn't particularly interested in marketing. Sometimes one can see that hidden in what superficially seems to be a weakness is a strength.
Re: xlsxd: A Excel xlsx writer
On Wednesday, 7 November 2018 at 16:49:58 UTC, H. S. Teoh wrote: On Wed, Nov 07, 2018 at 04:41:39PM +, Robert Schadek via Digitalmars-d-announce wrote: https://code.dlang.org/packages/xlsxd Announcing xlsxd a OO wrapper for the C library libxlsxwriter [1]. Run: import libxlsxd; auto workbook = newWorkbook("demo.xlsx"); auto worksheet = workbook.addWorksheet("a_worksheet"); worksheet.write(0, 0, "Hello to Excel from D"); and you have created a Excel spreadsheet in the xlsx format with name demo.xlsx that contains the string "Hello to Excel from D" in row 0, column 0. [1] https://github.com/jmcnamara/libxlsxwriter Is there support for reading xlsx files too? T There are various C libraries.you could just use DPP to call them..
Re: Wed Oct 17 - Avoiding Code Smells by Walter Bright
On Thursday, 1 November 2018 at 22:37:59 UTC, unprotected-entity wrote: On Thursday, 1 November 2018 at 03:10:22 UTC, H. S. Teoh wrote: Actually, code within a module *should* be tightly coupled and cohesive -- that's the whole reason to put that code inside a single module in the first place. If two pieces of code inside a module are only weakly coupled or completely decoupled, that's a sign that they should not be in the same module at all. Or at the very least, they should belong in separate submodules that are isolated from each other. How does one determine, whether a 10,000 line module, is tightly coupled and cohesive? You take a look through it and make a judgement. Only the author can make that statement - which they naturally will, even if it's not true. ? An outsider, seeking to verify that statement, has a hell of a job on their hands...(I for one, think code smell immediately). There is a basic question in life. Do you believe in discernment (if possible informed by data) or are you someone who makes decisions on the basis of evidence and believes that anything else is completely arbitrary and nothing more than a matter of opinion. My impression is that the values of the D community tend more in the direction of recognising the importance of discernment. If someone is somebody who believes more in 'evidence', policy and rules then it probably isn't going to be satisfying expecting one's values to be shared on a wide scale here. People also differ in their working memory and the degree to which they naturally think associatively. Chopping up everything into small pieces favours those who have a smaller working memory and who think more analytically but it's a disadvantage for those who have a large working memory and think associatively. For a private project that's something to be resolved between the relevant people, but I don't think it's reasonable to say that large files per se are wrong, just because they aren't your cup of tea personally. I think that lots of things seem clear in theory but the difference between theory and practice is often quite large. In practice Phobos is very readable. And on the other hand, I have seen an experienced and capable C# programmer struggle to understand an intranet site written in the approved way by an experienced person who was well-trained at Microsoft. I couldn't understand it either so I concatenated all the little itty bitty files, pulled out the data structures and then it was easy. I don't use a particular language. I'm more interested in design and architecture. Can one really speak of that kind of design in the abstract ? Language features shape your choices and lead to large shifts in the optimum. If you don't have design by introspection as a possibility you are going to pick something else. In the age of 'lock-down-everything', increased modularity is becoming more important. A monolithic module approach, is already outdated, and risky, in terms of developing secure, maintainable software If you can't understand the program does that make you more or less secure? Security requires also to understand the behaviour of the system as a coherent whole. I think D programs are pretty easy from that perspective. Is that really such a bad idea? Are there no programmers out there in the D world that might think this could be a good, additional tool, to give programmers, so they can better architect their solution? Burden of proof is on you to write a DIP and make an argument for it. I am not sure you would find it easier to get a change into C++. Look at how difficult it is for Walter sometimes ; and he has just a little earned credibility. Same thing for Guido - he had such little fun with a recent PEP he decided to retire from BDFL of python. The amount of push back in the D community on this idea, is really odd to me. I'm still trying to understand why that is. Persuading people isn't easy even if it's a good idea. Look at the pushback from C++ over static if. They crippled it when they finally did relent. It's a bit entitled to think that if you can't persuade people without having written a DIP that it's them not you! Are D programmers just hackers, insterested in getting their code to work, no matter what? Are their not enough Java/C# programmers coming to D - and bringing their design skills with them? Would you mind explaining why you think that people from mass communities have design skills by virtue of having come from a mass community? Walter and Andrei are just a little bit known for their design capabilities so the bar is quite high. I think it's possible you might have things topsy turvy. Making D code work is rarely a problem. Every nation has its own strengths and weaknesses and the same is true of language communities. Having worked with D professionally since 2015 and with a decent size codebase in re
Re: New Initiative for Donations
On Friday, 26 October 2018 at 06:19:29 UTC, Joakim wrote: On Friday, 26 October 2018 at 05:47:05 UTC, Neia Neutuladh wrote: On Fri, 26 Oct 2018 02:38:08 +, Joakim wrote: As with D, sometimes the new _is_ better, so perhaps you shouldn't assume old is better either. There's no assuming going on. Cryptocurrencies are worse than credit cards for everything that normal people care about, Such as? I already noted that they're easier and cheaper, you simply flatly state that "normal people" find them worse. and they're better than credit cards for illegal transactions. Yes, just like cash, and have other benefits that come with cash too. This might eventually change, and we can re-evaluate then. If for some reason cryptocurrencies become popular and sufficiently stable to be used as currency, I have no doubt that existing credit card companies will start offering automatic currency exchange, so you can have an account in USD and pay a vendor who accepts only Ethereum, or vice versa. As such, accepting credit card payments is good enough. I don't know what we'd be waiting for, the tokens I mentioned are all worth billions and widely used, particularly by techies: https://coinmarketcap.com Why would I wait for antiquated credit-card companies to accept these tokens? The whole point of these new tokens is to obsolete the credit card companies. Cryptocurrencies are worse is better for some people in some contexts. HSBC started the process of shutting down my company bank account because payments to programmers in Russia triggered some alerts and you get caught up in this Kafkaesque maze where there is nobody reasonable to talk to. I wrote to the Chairman in Hong Kong and only then could I get them to see reason and apologize. So for making payments to Russia, yes if the other side accepts them, worse is better in this case. For Venezuela or some African countries worse is obviously better quite a lot of the time. For making smaller payments overseas cryptocurrencies with low fees like BCH can be more efficient than a bank wire, even in the West. As regards particular currencies, deadalnix, member of the D community and creator of SDC compiler project is the man behind Bitcoin ABC, the largest Bitcoin Cash client, and one of the key people technically for Bitcoin Cash overall.
Re: New Initiative for Donations
On Saturday, 27 October 2018 at 14:33:43 UTC, Neia Neutuladh wrote: On Sat, 27 Oct 2018 10:54:30 +, Joakim wrote: I see, so you want other taxpayers to bail you out for your mistakes, interesting. One of the major points of having a government is to create these regulations that make it less likely for individuals to suffer from the actions of other people and organizations. Another major point is to help people in need using the collective efforts of society. Programs like FDIC in the United States exist to serve both of these: it's an extra set of regulations for banks, and compliant banks will be bailed out if circumstances require. If I choose an FDIC bank and the owners run off with my money, I didn't make an avoidable mistake, any more than being mugged in the street is me making a mistake. If you oppose that, you're gunning for an eventual repeat of the Great Depression. Banks are special because of the payments system and because of lending. In October 2008 Gordon Brown was within two hours of shutting down the banking system and declaring a state of emergency. If that had happened nobody would have been able to make payments and new lending would have come to a halt. In 2038 you won't need banks to make payments because cryptocurrencies will be a viable alternative. And lending is already being provided by asset managers. So the justification for the combination of leverage and the mismatch in liquidity and risk of banks deposit liabilities and their assets will disappear. The component of TARP that constituted aid to the financial system made a profit, but nonetheless there will be very little public appetite for a repeat the next time around. At the request of the UK debt management office, I met the representative of the IMF financial stability review in early 2005. He had a bee in his bonnet about the dollar yen carry trade and hedge funds: generals always fighting the last war. I told him to worry about the banks and what they were buying. He didn't listen. So regulators have little skill when it comes to understanding systemic risk posed by the asset and liability decisions of banks and so it will be good to make that function redundant. So cryptocurrencies matter. They are far from mature right now though and it's not the most important thing if you have limited resources to accept them. The best way to get the Foundation to accept them might be to do the work to help...
Re: D kernel for Jupyter notebook
On Tuesday, 4 September 2018 at 04:58:41 UTC, Shigeki Karita wrote: On Monday, 20 August 2018 at 00:14:03 UTC, Shigeki Karita wrote: On Sunday, 19 August 2018 at 20:33:45 UTC, Laeeth Isharc wrote: Proof of concept works, but it requires some further development to be useful to do work in. [...] Great. I have tried DUB integration. It seems to work. https://github.com/ShigekiKarita/grain/blob/master/example/repl.d I'm making a jupyter based tutorial for my library. It might be the first example for jupyterd. https://github.com/ShigekiKarita/grain/blob/master/tutorial.ipynb Very cool. Thank you. I was looking into Jupyter widgets. I ported over some of it and had to add the extension to protocol for widgets into the notebook. It's not that bad and might be pretty useful to be able to access widgets from D. Half-finished code right now that doesn't even build but I don't have so much time and won't for a couple of months.
D kernel for Jupyter notebook
Proof of concept works, but it requires some further development to be useful to do work in. https://github.com/kaleidicassociates/jupyterd It uses D repl currently - this was written for a console interface and probably you will encounter difficulties running it in a notebook environment. I guess one would like to treat all functions defined in a single notebook as part of the same session and to execute immediate statements as part of a main specific to that cell. The kernel is a bit flakey - takes time to come on line and you might need to reconnect to it sometimes. To Do: 1.Add HTML and markdown table output to display arrays of structs or of dicts in a useful manner 2.Integrate with mir and other numeric libraries 3.Integrate with charting 4.Consider adding to Dlang tour and run.dlang.io when stable 5.Integrate with dpp 6.Integrate with dub 1 and 3 should be quite simple. One wouldn't want to write a large program in Jupyter, but it's helpful for exploratory data analysis and programming where the code that does the work is already in D.
Re: Dpp on run.dlang.io
On Monday, 6 August 2018 at 13:32:23 UTC, bachmeier wrote: On Sunday, 5 August 2018 at 22:43:42 UTC, Laeeth Isharc wrote: One benefit of D is as a better glue language that integrates well with other languages and ecosystems. Many people who know a bit about D have no idea that interop can work so easily or well. So it might be worth mentioning this benefit as one link from main page and then linking from that to new page that mentions and has runnable examples (using HAR) for: Python (via autowrap:python and pyd) C (via dpp) C++ (extern(C++) for now) R (via embedr) Julia (via C interface, including julia.h via dpp) Lua (if LuaD stable enough) And Octave (via the .mex interface) - this one's important because it opens the door to using D as an extension language to Matlab If an Octave extension written in D works, do you have anywhere to point me to on what's needed to make it work with Matlab? (Is it usually drop-in compatible?)
Re: Dpp on run.dlang.io
On Saturday, 4 August 2018 at 13:15:24 UTC, Seb wrote: On Saturday, 4 August 2018 at 01:27:49 UTC, Laeeth Isharc wrote: Thanks to Seb and Atila it is now very easy to show a D program just #includeing C headers. If just works. Modulo bugs. In time I am hopeful Atila will start to have more of C++ headers working too. https://run.dlang.io/is/JlH3Th It now also supports multiple files (and compiling C files) with the Har format [1]: https://run.dlang.io/is/WwpvhT This should hopefully make it even more useful. [1] https://github.com/marler8997/har Thanks v much for this. One benefit of D is as a better glue language that integrates well with other languages and ecosystems. Many people who know a bit about D have no idea that interop can work so easily or well. So it might be worth mentioning this benefit as one link from main page and then linking from that to new page that mentions and has runnable examples (using HAR) for: Python (via autowrap:python and pyd) C (via dpp) C++ (extern(C++) for now) R (via embedr) Julia (via C interface, including julia.h via dpp) Lua (if LuaD stable enough) with just screenshot for: Excel (via autowrap excel / excel-d) C# via Binderoo Jupyter via pydmagic and just link for web assembly. Obviously a lot of work, but if you think a good idea we could work away at over time.
Re: autowrap v0.0.1 - Automatically wrap existing D code for use in Python and Excel
On Sunday, 5 August 2018 at 20:01:22 UTC, Nikos wrote: On Tuesday, 31 July 2018 at 09:09:11 UTC, Nicholas Wilson wrote: On Sunday, 29 July 2018 at 18:14:31 UTC, Nikos wrote: But when I try to export the whole dmdEngine export: auto engine(char[] txt) { return interpreter(dmdEngine()); } Can you export an instance of `interpreter(dmdEngine())`? e.g. __gshared auto dmdi = interpreter(dmdEngine()); export ref dmd() { return dmdi; } or if that doesn't work, proxy it __gshared auto dmdi = interpreter(dmdEngine()); struct Dmd { mixin Proxy!dmdi; } export auto dmd() { Dmd d; return d; } That is pretty much required if you want to maintain state across. Also I'm working on a D kernel for Jupyter notebook which should be done soon. Thank you very much for your feedback. Unfortunately, none of the above worked. By the way, the reason I'm trying all this is to create a Jupyter notebook. I've already made a simple version of it some time ago (https://github.com/nikoskaragiannakis/d-jupyter-kernel). Since you are also working on a D kernel, maybe we could work together? Working example of Python calling D Repl is here. https://github.com/kaleidicassociates/pydrepl
Dpp on run.dlang.io
Thanks to Seb and Atila it is now very easy to show a D program just #includeing C headers. If just works. Modulo bugs. In time I am hopeful Atila will start to have more of C++ headers working too. https://run.dlang.io/is/JlH3Th
Re: Symmetry Autumn of Code
On Wednesday, 18 July 2018 at 10:42:04 UTC, Andre Pany wrote: On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote: Thanks to the sponsorship of Symmetry Investments, the D Language Foundation is happy to announce the Symmetry Autumn of Code! We're looking for three university students to hack on D this autumn, from September - January. We're also in search of potential mentors and ideas for student projects. Head to the Symmetry Autumn of Code page for the details. Spread the word! https://dlang.org/blog/symmetry-autumn-of-code/ Another proposal: Adding D support to gRPC I started to add D support to gRPC but paused it due to lack of knowledge and time. One solution would be to add a D wrapper to https://github.com/grpc/grpc/tree/master/src by making use of the C interface of gRPC (https://github.com/grpc/grpc/tree/master/include/grpc). As template e.g. C++ or python could be used (https://github.com/grpc/grpc/tree/master/src). Kind regards André Juniper have an alpha C higher interface on top of the low level C core grpc API. It didn't look too bad, but I didn't have time to finish what I started (making a crude D grpc API). https://github.com/Juniper/grpc-c
Re: dpp now compiles julia.h headers
On Friday, 13 July 2018 at 22:22:25 UTC, Meta wrote: On Friday, 13 July 2018 at 19:02:56 UTC, Laeeth Isharc wrote: Atila Neves' d++ now compiles julia.h. Modulo bugs this makes it possible to embed Julia in D (and probably the other way around, but I have not tried). https://github.com/kaleidicassociates/juliad Very cool. It's awesome to be able to directly #include C++ headers. C++ headers with all basic features are not yet there. Atila thought it might be a couple of months work full-time to be able to do #include It's not out of the question to make that investment, but we need to hire a few more programmers locally first.
Re: Symmetry Autumn of Code
On Saturday, 14 July 2018 at 07:09:21 UTC, Timoses wrote: On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote: Thanks to the sponsorship of Symmetry Investments, the D Language Foundation is happy to announce the Symmetry Autumn of Code! We're looking for three university students to hack on D this autumn, from September - January. We're also in search of potential mentors and ideas for student projects. Head to the Symmetry Autumn of Code page for the details. Spread the word! https://dlang.org/blog/symmetry-autumn-of-code/ Typos "D programming lagnauge" (looks a bit french) : D "accept yor offer." Thanks for corrections. Great! Wish I was a student still : D. Me too ! Kidding aside, if you would be interested in a job programming mostly or partly in D please see our website. Lots of roles we haven't yet had time to post.
Re: Symmetry Autumn of Code
On Saturday, 14 July 2018 at 07:30:26 UTC, Joakim wrote: On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote: Thanks to the sponsorship of Symmetry Investments, the D Language Foundation is happy to announce the Symmetry Autumn of Code! We're looking for three university students to hack on D this autumn, from September - January. We're also in search of potential mentors and ideas for student projects. Head to the Symmetry Autumn of Code page for the details. Spread the word! https://dlang.org/blog/symmetry-autumn-of-code/ "join us" for "submit an application" -> apply (confusing otherwise) Maybe sum up and make clear that each student can earn between $3000-4000, instead of capped at $1k. Why limit it to students? If the goal is to have a youth injection, just use an age limit- say 18-25- I see no reason for the stupid college bias. Hi Joakim. Thanks for suggestions. I don't know what legal aspects there are relating to targeting age in different countries. We are definitely targeting people earlier in their careers. I agree with you that talent isn't only found amongst students, and I've in the past hired someone that didn't even finish high school and has gone on to do good work for the D community. So as far as Symmetry goes we are very open to unusual talent. A degree is just one piece of interesting information. https://symmetryinvestments.com/careers/ There's quite a lot of work involved in organising something like this, and I'm very grateful to the D Foundation for doing such an excellent job. We can refine this for next year, but I wanted to make a start. Laeeth
Re: dpp now compiles julia.h headers
On Friday, 13 July 2018 at 19:42:56 UTC, bachmeier wrote: On Friday, 13 July 2018 at 19:02:56 UTC, Laeeth Isharc wrote: Atila Neves' d++ now compiles julia.h. Modulo bugs this makes it possible to embed Julia in D (and probably the other way around, but I have not tried). https://github.com/kaleidicassociates/juliad This is great news for me. A lot of new Julia code is being written by economists. I was going to work on this once I had a block of time. Glad to return the favour. We started using embedr to call R libraries from D - thanks for that. I guess the next stage would be to work on autowrapping Julia -> D and viceversa.
dpp now compiles julia.h headers
Atila Neves' d++ now compiles julia.h. Modulo bugs this makes it possible to embed Julia in D (and probably the other way around, but I have not tried). https://github.com/kaleidicassociates/juliad
Symmetry Investments is recruiting developers in London and Hong Kong
Hi. Walter+Andrei said this was okay to post here since it relates to D. This is for one role working with our analytics and research groups; more in the pipeline. Feel free to ping me directly if you are involved with the community already. Laeeth. Symmetry About Us: At Symmetry Investments, we seek to engage in intelligent risk-taking to create value for our clients, partners and employees. Symmetry Investments is a global investment company with offices in Hong Kong and London. We have been in business since 2014 after successfully spinning off from a major New York-based hedge fund. Currently we have about 110 full time employees and manage approximately US$4.2 billion of capital. We derive our edge from our capacity to generate Win-Wins – in the broadest sense. Win-Win is our fundamental ethical and strategic principle. By generating Win-Wins, we can create unique solutions that reconcile perspectives that are usually seen as incompatible or opposites, and encompass the best that each side has to offer. We integrate fixed-income arbitrage with global macro strategies in a novel way. We invent and develop technology that focuses on the potential of human-machine integration. We build systems where machines do what they do best, supporting people to do what people do best. We are creating a collaborative meritocracy: a culture where individual contribution serves both personal and collective goals - and is rewarded accordingly. We value both ownership thinking AND cooperative team spirit, self-realization AND community. D/C++ Quantitative Developer This is an outstanding opportunity for the right person in terms of the intrinsic challenges of the role, the responsibility, the exposure to senior management, the opportunity to shape the development of something new, and over time the compensation. Whilst we are a commercial enterprise, we highly value deep technical expertise and the cultivation of craft. You will be working closely with the Partner in charge of technology, who is a contributor to the open source community and a change agent for adopting modern development practices within the company. https://github.com/symmetryinvestments/overview https://github.com/atilaneves/dpp https://dlang.org/blog/2017/05/31/project-highlight-excel-d/ https://github.com/libmir/mir-algorithm As a D/C++ Quantitative developer you will work closely with the analytics and research groups to develop analytics and tools to support the investment and research processes of Symmetry. Hard Requirements: We are looking for mature hackers with a moral compass and sense of responsibility who have kept their imaginativeness. We value interest and capabilities as much as formal experience. Academic credentials are not a requirement if you can demonstrate outstanding capabilities, but for this role you should have a strong knowledge of quantitative techniques and computer science - data structures and algorithms. You should also have strong knowledge of declarative programming. You should be comfortable with the finer points of D and C++, and you should be ready and able to go deep when necessary to identify and address the root cause of problems. You are able to write and develop domain-specific languages where they are an appropriate solution to a business challenge. You will be working in a creative, often less-structured environment, with a high degree of autonomy to implement solutions. You are comfortable asking for help when you need it. You are capable of accepting direction should the longer-term strategic goals of the firm favour a particular solution fit. You are able to communicate both at the level of ideas and concretely either in writing or in person/by telephone. The ability to be diplomatic is valuable, but not absolutely required. You have a pragmatic devotion to excellence: the ability to recognize and evaluate interim solutions, while not being satisfied about retaining a hack in the long run. You should recognise the costs of boilerplate and appreciate the aesthetic and commercial benefits of designs that involve writing as little code as possible. You should care deeply about design and code quality, and recognise that performance matters more often than not. You are able to think about problems in a generic, high-level way AND pragmatically use common sense. You can think associatively and hold a complex mental picture in your head as well as work sequentially. An ability to think clearly and to act decisively in occasional high-pressure moments is desirable. Soft Requirements: Knowledge of the below will be helpful: Languages: 5 years or more experience with D and C++; Python and Haskell or Ocaml Location: We currently work with certain remote developers as consultants. We view remote work as a way to collaborate with outstanding talent beyond the locations where we curre
Re: autowrap v0.0.1 - Automatically wrap existing D code for use in Python and Excel
On Sunday, 13 May 2018 at 16:23:49 UTC, Nikos wrote: I'm trying to wrap drepl (https://github.com/dlang-community/drepl) My dub.sdl files is import autowrap.python; mixin( wrapAll( LibraryName("drepl"), Modules("drepl.interpreter"), ) ); I also flagged `export` the interpreter function export Interpreter!Engine interpreter(Engine)(return scope Engine e) if (isEngine!Engine) { // workaround Issue 18540 return Interpreter!Engine(() @trusted { return move(e); }()); } I build the library with python35, but when I import it from python idle, I cannot access the `interpreter` function at all. I have the feeling I miss something essential here, but I don't know what it is. Any ideas? Eg turn this into a function and try wrapping this instead: auto intp = interpreter(dmdEngine());
Re: autowrap v0.0.1 - Automatically wrap existing D code for use in Python and Excel
On Sunday, 13 May 2018 at 16:23:49 UTC, Nikos wrote: I'm trying to wrap drepl (https://github.com/dlang-community/drepl) My dub.sdl files is import autowrap.python; mixin( wrapAll( LibraryName("drepl"), Modules("drepl.interpreter"), ) ); I also flagged `export` the interpreter function export Interpreter!Engine interpreter(Engine)(return scope Engine e) if (isEngine!Engine) { // workaround Issue 18540 return Interpreter!Engine(() @trusted { return move(e); }()); } I build the library with python35, but when I import it from python idle, I cannot access the `interpreter` function at all. I have the feeling I miss something essential here, but I don't know what it is. Any ideas? It won't wrap a templated type or function. You will have to make a little shim that instantiates the templated function with a particular type.
Re: autowrap v0.0.1 - Automatically wrap existing D code for use in Python and Excel
On Thursday, 10 May 2018 at 19:50:40 UTC, Nikos wrote: In my dub.sdl file I have configuration "python35" { subConfiguration "autowrap" "python35" } and I run dub build --config=python35 which still tries to find python36. Why doesn't it look for 3.5? Hi. On my phone so can't copy paste. Edit your dub.sdl under the python35 subconfiguration and change python 36 to python35.
Re: A bit more Emscripten
On Thursday, 10 May 2018 at 08:32:07 UTC, Vladimir Panteleev wrote: On Tuesday, 8 May 2018 at 08:53:36 UTC, Vladimir Panteleev wrote: https://github.com/CyberShadow/dscripten-tools Progress update: - std.stdio.writeln() works - Using a D main() works (though unittests and static constructors still don't) - WebAssembly output works! - std.allocator works (at least, Mallocator + building-blocks do) Very cool, Vladimir. When I get time we will try to see if it's useful for some internal prototype tools.
Re: A bit more Emscripten
On Tuesday, 8 May 2018 at 18:44:06 UTC, Vladimir Panteleev wrote: On Tuesday, 8 May 2018 at 09:51:11 UTC, Mike Franklin wrote: I've been recently assigned the task of building a web-based Ladder Logic editor/compiler (https://en.wikipedia.org/wiki/Ladder_logic). This would not be a short-lived application, however. Hmm, sounds like this would be an interactive application that would need access to the HTML DOM. Currently, this isn't directly possible - when running in an asm.js VM, there is no D type to represent a JavaScript object. It is possible to call out to / eval JavaScript, though, so perhaps it could be possible using a shim, where a JavaScript array holds JavaScript/DOM objects, and D refers to them by index. Maybe we could port something like this to D. Or wait till someday dpp can #include the STL. https://github.com/mbasso/asm-dom/blob/master/README.md
Re: Announcing Mecca
On Friday, 4 May 2018 at 05:23:51 UTC, Shachar Shemesh wrote: Hello everybody, I am very happy to announce that Mecca version 0.0.1 (sorry, no more zeros than that) is now officially available. You can get the source code at https://github.com/weka-io/mecca. The API documentation is at https://weka-io.github.com/mecca/docs. [...] https://www.reddit.com/r/programming/comments/8gxrkg/wekaio_open_sources_mecca_dlang_library_for_nogc?sort=new
Re: autowrap v0.0.1 - Automatically wrap existing D code for use in Python and Excel
On Wednesday, 18 April 2018 at 15:28:07 UTC, Atila Neves wrote: http://code.dlang.org/packages/autowrap This came out of the need at work to take existing D code and make it available for both Excel and Python. Both pyd and excel-d make the reasonable assumption that one is using them to write code specifically for those environments. That breaks when there's existing production D code one wants to wrap. https://www.reddit.com/r/programming/comments/8eb12m/autowrap_v001_automatically_wrap_existing_d_code/
Re: Who says we can't call C++ constructors?
On Saturday, 21 April 2018 at 12:41:02 UTC, Atila Neves wrote: From https://dlang.org/spec/cpp_interface.html: "C++ constructors, copy constructors, move constructors and destructors cannot be called directly in D code". O RLY? Atila https://www.reddit.com/r/programming/comments/8eat5o/calling_c_constructors_from_d/ https://github.com/atilaneves/dpp
Re: Vision document for H1 2018
On Sunday, 11 March 2018 at 19:58:51 UTC, rumbu wrote: On Sunday, 11 March 2018 at 17:15:28 UTC, Seb wrote: [...] Yes, I'm the typical lazy convenient Windows user scared of the terminal window. [...] I am happy for Posix users. Theoretically the process is the same on Windows. [...] This will need Linux subsystem as a Windows feature installed. Bash scripts do not work on Windows. Or other third party applications that are not listed as prerequisites on wiki. [...] make -fwin32.mak release Error: don't know how to make 'release' Ok, let's skip this, make it without "release". Now test it: cd test make all -j8 Command error: undefined switch '-j8' Why are you adding -j8 ? Does it say to do so in the instructions ? Try without it. (I can't test here as typing from my phone).
Re: Vision document for H1 2018
On Sunday, 11 March 2018 at 07:59:53 UTC, rumbu wrote: On Sunday, 11 March 2018 at 01:10:28 UTC, psychoticRabbit wrote: On Sunday, 11 March 2018 at 00:36:19 UTC, Dylan Graham wrote: And personally, depending on the problem, C# is better to program in than D. I still don't know why C# programmers are willing to give up C# and prefer to use D. C# is vastly surperior for what it does. Because, even the language creators seem to not recognize this, D looks like C# with *native compilation*, the syntax is 95% identical. Basically, if my source code doesn't use any .NET framework function, it will compile successfully with dmd without any (major) change. I suppose that every C# programmer is enthusiastic on the first contact with the D language, but fails to keep his enthusiasm when he sees Phobos. C# programmer's mind is locked in the OOP world and Phobos looks like a mess from his point of view. The problem is that D stagnates and in the same time C# evolves. Sometimes I feel like the C# language team is using D as inspiration for the new features, starting with C# 7.0, a lot of D concepts were introduced in the language: local functions, '_' as digit separator, binary literals, ref returns, tuples, templates, immutability. Guess what the next version of C# has on the table: slices. In the same time, D delegates new features (and sometime existing ones) to library implementation, instead of assume them in the language syntax. My opinion is that the day when C# will compile to native (on any platform), the C# developer interest in D will drop instantly. It's a good thing not bad that other languages are inspired by what works. Languages aren't in a vicious battle to the death, a Hobbesian war of all against all. If C# gets better, that's great! I don't think D is stagnating at all - on the contrary, it's amazing to see the ecosystem flourishing, no matter where you look - documentation, adoption, libraries, commercial adoption. I think it's reasonable to disagree with the strategic decision made to move capabilities from compiler to libraries. But you really have to make an argument about why you disagree if you are you expect to be persuasive because there is a thought-through argument for the choices made, which I am sure you must be familiar with. I don't think it matters much whether you are right about what happens to C# programmer interest in D dies as soon as C# native cross-platform is ready because D is quite an ambitious language and doesn't need to depend on adoption from any one community to continue growing at an impressive rate. As it happens though, as an empirical matter I doubt it. C# slices look great. I wanted to use them for generating wrappers for our analytics. Not that easy for that purpose, from what I could see. Looks like the primitives are stack only, and I tried to figure out how to use them elsewhere and gave up because it wasn't that easy. If Phobos looks like a mess to C# programmers, so much the worse for C# programmers. However I doubt they this is true in the general case. It's better in many ways, but different and unfamiliar and everything unfamiliar is disconcerting in the beginning.
Re: Vision document for H1 2018
On Sunday, 11 March 2018 at 16:15:22 UTC, rumbu wrote: On Sunday, 11 March 2018 at 14:37:28 UTC, bachmeier wrote: And this clarifies the source of your confusion. The D programming language is an open source project, not a for-profit company. D is not the language you're looking for. There are 3 years since C# is also open source project. Last week 72 pull requests form 24 contributors were merged on ~master. And this is only for Roslyn (the C# compiler). The difference (at least for me) is that contributing to C# is a no-brainer. Contributing to D needs an advanced degree in computer science. Using the information on the D wiki didn't helped me until now to successfully compile and test a fresh copy of dmd or phobos. Funnily enough, becoming a significant contributor to the ecosystem - compiler or Phobos - demonstrably does not require even a complete graduation from high school or any industrial programming experience. I know of what I speak, but I don't say who as it's not for me to say. I was in Munich over new year and I asked someone else who has been a star contributor how he got involved. It was really easy for him to start contributing, so he did. But different people find different things easy. You don't need to have subsystem for Linux to use bash. Just the standard git client for Windows is enough. I agree the Windows experience could be easier upfront. Still, it's better than it used to be and next year it will be better again. You can't really compare the C# ecosystem to the D ecosystem because they are organised around different principles. Yes, the pain is upfront with D, and it's not for everyone. However on the basis of rational calculation the pain in learning something new is a small part of the total cost of the technology choice and for some people by far not the most relevant question. And it's an advantage in hiring because the D community filters for people who have a tolerance for discomfort upfront. It would be wonderful to be able to wave a wand and make all of life's little frustrations disappear. But in my experience, that's not what is possible - one picks from the choices available and the new ones one thinks up. People have a tendency to think that leadership has more power to just change things then is actually the case. I'm going to be building standard developer images from scratch programmatically. Transform froma Windows ISO into a VM image.Maybe I could open source those scripts and then it's easier to get to the bottom of any install and build problems and one can replicate difficulties.
Re: excel-d v0.2.16 - now with more @Async
On Friday, 22 December 2017 at 22:08:23 UTC, Mengu wrote: On Friday, 22 December 2017 at 00:41:31 UTC, Atila Neves wrote: excel-d lets you write plain D code that can be run from Excel unmodified via the magic of compile-time reflection. [...] can we use excel-d with office for mac? I don't think so but I am not familiar with the Excel API on Mac so it's possible not too many changes required. Pull requests welcomed :)
Re: London senior DevOps job and two London [D-ish] developer roles
On Friday, 20 October 2017 at 09:11:17 UTC, Arjan wrote: On Thursday, 19 October 2017 at 20:01:20 UTC, Laeeth Isharc wrote: Hi. Symmetry Investments is looking to hire ... Please feel free to drop me a line if you're interested or know of someone who might be - for this role or for the others. How would one contact you? devops.hiring at symmetryinvestments.io
London senior DevOps job and two London [D-ish] developer roles
Hi. Symmetry Investments is looking to hire one senior platform engineering / devops person in London (and also looking for two developers - one for building native/Jupyter GUI front-end of tools, and the other to work with our research team). So far, I've only had time to write and post the job description for the devops role (I'll do the others shortly). You can see that one here: https://jobs.github.com/positions/8e98eac8-b504-11e7-9da8-0737a3dcef18 We would consider someone with less formal experience/seniority. Some stuff about the firm here: http://symmetryinvestments.com/about-us/ https://stackoverflow.com/jobs/companies/symmetry-investments Please feel free to drop me a line if you're interested or know of someone who might be - for this role or for the others. How much of this work can be in D? It very much depends on the person, and what's sensible for the job. Potentially quite a lot, probably not all of it. Thanks. Laeeth.
Re: Netflix opensources its first D library: Vectorflow
On Thursday, 3 August 2017 at 03:46:11 UTC, Matt wrote: On Wednesday, 2 August 2017 at 21:31:19 UTC, Walter Bright wrote: https://www.reddit.com/r/programming/comments/6r6dwp/netflix_opensources_its_first_d_library_vectorflow/ Speakng of D in data science (where I think it can get traction), is there a standardized linear algebra library in D? Perhaps some hooks to Eigen? I saw a few upstarts LA libraries, but none that I would consider "the one to use in D", like numpy in python or Eigen in C++ We're using D in finance. D libraries are far from the maturity of Python, but they are developing quickly. https://github.com/kaleidicassociates/lubeck Library we have open-sourced https://github.com/libmir/mir-algorithm Mir library we sponsor Other mir libraries: https://github.com/libmir/mir-lapack https://github.com/libmir/mir-blas https://github.com/libmir/lapack https://github.com/DlangScience/cblas Performance matters: http://blog.mir.dlang.io/glas/benchmark/openblas/2016/09/23/glas-gemm-benchmark.html
Re: Update to Bare Metal STM32F4 (ARM Cortex-M4) LCD Demo Proof of Concept
On Thursday, 20 July 2017 at 12:23:31 UTC, Mike wrote: A few years ago I created a bare metal demo on an ARM Cortex-M4 microcontroller entirely in D. It was just a demonstration that one could do bare metal programming for microcontrollers in D without any dependencies on C or assembly. It was also a proof of some ideas I had about leveraging compile-time features of D to generate highly-optimized code (both small and fast) for these resource constrained systems. I hit a wall, however, with Issue 14758[0], and ultimately abandoned D for other alternatives. Well, that issue was recently fixed in GDC [1]. In addition, he GDC developers did some work to reduce the number of phony stubs one had to add to the runtime to get a build [2], removed the "shared is volatile" hack, and implemented the `volatileLoad/Store` intrinsics so I no longer need to do volatile access in assembly. So, I decided to give it another try, and updated that demo. You can see the results at https://github.com/JinShil/stm32f42_discovery_demo Congratulations, Mike. https://www.reddit.com/r/programming/comments/6pn31c/d_on_bare_metal_stm32f4_redux/ Could someone post to Hacker News? I don't have enough rep for it to propagate.
Re: static foreach is now in github master
On Monday, 17 July 2017 at 18:14:35 UTC, Andrei Alexandrescu wrote: For those who want to play with our new static foreach feature and are willing to take the steps to building their own dmd, the feature is now merged in master: https://github.com/dlang/dmd/pull/6760 Happy hacking! Andrei Maybe good subject for an AMA (though not many upvoted so far). It's pretty cool that it was added on an afternoon during the hackathon. https://www.reddit.com/r/programming/comments/6pn257/static_foreach_added_to_d_compiler_nightly/ Could someone post to Hacker News - I don't have enough rep there for stories to propagate. Can always post another story later on explaining the practical benefits of static foreach (good topic for a D blog post) - marketing is about repetition.
Re: Dynamic binding to the Mono runtime API
On Saturday, 3 June 2017 at 17:30:05 UTC, Jakub Szewczyk wrote: Mono runtime is a cross-platform, open-source alternative to Microsoft's .NET framework [1], and it can be embedded in other applications as a "scripting" VM, but with JIT-compilation enhanced performance and support of many languages such as C#, F# or IronPython [2]. It provides a C API, so I've bound it to D as a Derelict-based project, available at https://github.com/kubasz/derelict-mono, and as a DUB package (http://code.dlang.org/packages/derelict-mono). It currently wraps the Mono 5.0 API. There's also a simple example of calling a C# main from D code, and C# code calling a native function implemented in D. PS: Because I don't own a Mac I have no idea what the correct paths to the Mono shared library are, so it'd be great if someone could post/create a PR of them. [1] http://www.mono-project.com/ [2] http://www.mono-project.com/docs/advanced/embedding/scripting/ This is very cool - thank you for doing this. It could prove very helpful. Have you thought of/any interest in looking at automatically generating C# wrapper and bindings for D code? (I'm interested myself mostly in nested templated structs/arrays rather than classes). It may not be relevant for you, but if it is please drop me an email on laeeth ... at kaleidic.io Thanks. Laeeth.
Re: D for Android beta
On Thursday, 1 June 2017 at 19:31:28 UTC, Joakim wrote: The beta release of ldc 1.3, the llvm-based D compiler, is now out: https://github.com/joakim-noah/android/releases It is accompanied by a non-trivial sample app from the Android NDK, ported from C++ to about 1.2 klocs of D: the classic Utah Teapot (https://en.wikipedia.org/wiki/Utah_teapot), updated with mobile touch controls. This app also demonstrates calling Java functions from your D code through JNI, though most of it is written in D. There are two builds of ldc, a cross-compiler that you can use from a linux/x64 shell to compile to Android/ARM, and a native compiler that you can run on your Android device itself. As I pointed out last year, not only is ldc a large mixed D/C++ codebase that just worked on ARM, but it is possible to build arbitrarily large Android apps on your Android device itself, a first for any mobile platform: http://forum.dlang.org/thread/ovkhtsdzlfzqrqneo...@forum.dlang.org This is the way the next generation of coders will get into coding, by tinkering with their Android devices like we did with Macs and PCs decades ago, and D is one the few languages that is already there. I will write up instructions on how to write an Android app in D _on_ your Android device by using ldc and the Termux app, and get ldc into the Termux packages, a package repository for Android: https://play.google.com/store/apps/details?id=com.termux&hl=en Congratulations, Joakim! https://www.reddit.com/r/programming/comments/6eqv46/write_mixed_dc_android_apps_even_build_them/ and news.ycombinator.com Looking forward to termux.
Re: Trip notes from Israel
On Friday, 26 May 2017 at 16:55:44 UTC, Joakim wrote: On Friday, 26 May 2017 at 11:32:21 UTC, Andrei Alexandrescu wrote: Documentation of vibe.d was also mentioned as an important problem. More precisely, it's the contrast between the quality of the project and that of the documentation - someone said his team ended up with a different (and arguably inferior) product that was better documented. Literally they had the same engineer try each for a day. Reportedly it was very difficult to even figure whether vibe.d does some specific thing, let alone tutorials and examples of how to do it. Eh, documentation is going to be sparse for a non-corporate OSS project. If they're building products with vibe.d, presumably they can throw some consulting dollars Sonke's way and get him to help. A reasonable presumption, but I do not know if Sonke himself has capacity for such as he seems quite busy. So it might be worth thinking about alternative ways to move towards better docs for vibe.d (in collaboration with Sonke).
Re: Dconf - lightning talk: Excel add-ins in D
On Wednesday, 17 May 2017 at 21:17:37 UTC, jmh530 wrote: On Wednesday, 17 May 2017 at 20:58:05 UTC, Laeeth Isharc wrote: https://www.reddit.com/r/programming/comments/6brj2x/dconf_lighting_talk_excel_addins_in_d/?ref=share&ref_source=link (submitted to Hacker News - news.ycombinator.com too) The header says it's for the lightning talk on excel add-ins, but the link goes to Walter's talk. For me the link goes to the lightning talk, but Reddit displays inline Walter's talk. Strange.
Dconf - lightning talk: Excel add-ins in D
https://www.reddit.com/r/programming/comments/6brj2x/dconf_lighting_talk_excel_addins_in_d/?ref=share&ref_source=link (submitted to Hacker News - news.ycombinator.com too)
Re: excel-d v0.0.1 - D API to write functions callable from Excel
C++ example for XLW: LPXLFOPER EXCEL_EXPORT xlStats(LPXLFOPER inTargetRange) { EXCEL_BEGIN; XlfOper xlTargetRange(inTargetRange); // Temporary variables. double averageTmp = 0.0; double varianceTmp = 0.0; // Iterate over the cells in the incoming matrix. for (RW i = 0; i < xlTargetRange.rows(); ++i) { for (RW j = 0; j < xlTargetRange.columns(); ++j) { // sums the values. double value(xlTargetRange(i,j).AsDouble()); averageTmp += value; // sums the squared values. varianceTmp += value * value; } } size_t popSize = xlTargetRange.rows() * xlTargetRange.columns(); // avoid divide by zero if(popSize == 0) { THROW_XLW("Can't calculate stats on empty range"); } // Initialization of the results Array oper. XlfOper result(1, 2); // compute average. double average = averageTmp / popSize; result(0, 0) = average; // compute variance result(0, 1) = varianceTmp / popSize - average * average; return result; EXCEL_END; } D example (didn't get time to test, but something like this) is a little bit more concise! : import std.algorithm:map,sum; import std.range:front; @Register(ArgumentText("input range to calculate statistics for"), HelpTopic("excel-d"), FunctionHelp("calculates mean and variance for input array"), ArgumentHelp(["input range to calculate statistics for"])) auto xlStats(double[][] inTargetRange) { auto numCells = (inTargetRange.length > 0) ? inTargetRange.length * inTargetRange.front.length : 0; auto means = inTargetRange.map!(row => row.sum).sum / numCells; auto sumSquares = inTargetRange.map!( row => row.map!(cell => cell*cell).sum).sum; return [means, sumSquares / numCells - means]; }
Re: excel-d v0.0.1 - D API to write functions callable from Excel
On Monday, 24 April 2017 at 21:59:34 UTC, Atila Neves wrote: Now with more `@nogc`. Before, this worked fine: double func(double d) @nogc nothrow { return d * 2; } The function is `@nogc`, the wrapper function (i.e. the function that Excel actually calls) is also `@nogc` via the magic of compile-time reflection. So far, so good. But what if you want to return a string or an array back to Excel. Oh, oh... Enter the `@Dispose` UDA: And Bob's your uncle. Atila Very nice. On reddit here since it's a pretty nice example of how you don't need to use dark magic to write code in D without depending on the GC: https://www.reddit.com/r/programming/comments/67dogy/writing_excel_addins_in_d_without_using_the/
Re: excel-d v0.0.1 - D API to write functions callable from Excel
On Wednesday, 22 March 2017 at 02:30:50 UTC, Saurabh Das wrote: On Monday, 20 March 2017 at 20:09:58 UTC, Atila Neves wrote: http://code.dlang.org/packages/excel-d This dub package allows D code to be called from Excel. It uses compile-time reflection to register the user's code in an XLL (a DLL loaded by Excel) so no boilerplate is necessary. Not even `DllMain`! It works like this: [...] This is too good. We already use a cobbled-together Excel runner type thing. It will be so much better to use excel-d. Thanks so much Atila! Glad it's helpful. Pull requests welcomed :)
Re: excel-d v0.0.1 - D API to write functions callable from Excel
On Tuesday, 21 March 2017 at 13:59:56 UTC, Jacob Carlborg wrote: On 2017-03-20 21:09, Atila Neves wrote: http://code.dlang.org/packages/excel-d This dub package allows D code to be called from Excel. It uses compile-time reflection to register the user's code in an XLL (a DLL loaded by Excel) so no boilerplate is necessary. Not even `DllMain`! It works like this: It's cool that this is possible to do in D, but I feel sorry for anyone that has a reason :) It's the current year, but for the time being for many practitioners in the investment world there is no better alternative to using a spreadsheet as one window onto server side processes used for certain things. Not the only window. I'd personally be thrilled to say goodbye both to spreadsheets and to Windows, but one also has to be somewhat pragmatic. And actually it's by far better to be able to write things for spreadsheets in D quickly versus the conceivable alternatives...!
Re: excel-d v0.0.1 - D API to write functions callable from Excel
On Tuesday, 21 March 2017 at 00:25:46 UTC, Steven Schveighoffer wrote: On 3/20/17 4:09 PM, Atila Neves wrote: http://code.dlang.org/packages/excel-d This dub package allows D code to be called from Excel. It uses compile-time reflection to register the user's code in an XLL (a DLL loaded by Excel) so no boilerplate is necessary. Not even `DllMain`! It works like this: If I wanted to replace our horrifying web queries from Excel with this, I'm assuming I could? That would be awesome. -Steve so calling curl c bindings should definitely work, or there might be some nogc curl type library on code.dlang.org.
Re: excel-d v0.0.1 - D API to write functions callable from Excel
On Monday, 20 March 2017 at 20:32:20 UTC, Stefan Koch wrote: On Monday, 20 March 2017 at 20:09:58 UTC, Atila Neves wrote: http://code.dlang.org/packages/excel-d This dub package allows D code to be called from Excel. It uses compile-time reflection to register the user's code in an XLL (a DLL loaded by Excel) so no boilerplate is necessary. Not even `DllMain`! It works like this: [...] Ah Interesting to see how this turned out. Thanks for your help on this, Stefan. I'll publish Bloomberg API too when we have had time to tidy it up a bit more. Reddit link here: https://www.reddit.com/r/programming/comments/60koa6/dlang_wrapper_to_write_excel_functions_ctfe_magic/
Re: excel-d v0.0.1 - D API to write functions callable from Excel
On Tuesday, 21 March 2017 at 00:25:46 UTC, Steven Schveighoffer wrote: On 3/20/17 4:09 PM, Atila Neves wrote: http://code.dlang.org/packages/excel-d This dub package allows D code to be called from Excel. It uses compile-time reflection to register the user's code in an XLL (a DLL loaded by Excel) so no boilerplate is necessary. Not even `DllMain`! It works like this: If I wanted to replace our horrifying web queries from Excel with this, I'm assuming I could? That would be awesome. -Steve Yes - you could, provided the function is nogc. Have done some work on using std.experimental.allocator (well I had a working version, but was trimmed a bit), and will publish a revised version when we get time, but it wouldn't be hard to add directly yourself. PRs welcome. If you allocate memory just make sure that you hook into the xlautofree callback (or whatever it's called - long time since I touched this) to free it. I try to keep the excel functions as simple as possible, because I don't want to crash a trader's spreadsheet. So we end up with a little local server running as a windows service that does the work. (We use nanomsg tcp/ip on localhost as struggled with IPC on windows, but you could talk to it however is convenient). Look forward to catching up at dconf in Berlin. Atila will be there too (and Stefan of course). I'm staying at the Beethoven too. Laeeth.
Re: DConf 2017 Hotel - book now!
On Thursday, 16 March 2017 at 19:35:31 UTC, Steven Schveighoffer wrote: On 3/14/17 12:39 PM, Bastiaan Veelo wrote: On Saturday, 4 March 2017 at 20:08:39 UTC, Vladimir Panteleev wrote: On Thursday, 2 March 2017 at 02:24:50 UTC, Walter Bright wrote: http://www.ibis.com/gb/hotel-5694-ibis-berlin-neukoelln/index.shtml Last year, some people booked late and it was full and they had to stay at another hotel. Aaand it's sold out. 2 months before the conference. Wow :) I just booked Erlanger Hof. It too is filling up fast. That was booked when I tried. Anyone else staying at the Hotel Ludwig Van Beethoven (just booked that one)? -Steve I'm there too. Laeeth.
Re: Alexa Skill written in D
On Wednesday, 11 January 2017 at 12:16:06 UTC, extrawurst wrote: On Tuesday, 10 January 2017 at 11:46:22 UTC, Laeeth Isharc wrote: On Saturday, 7 January 2017 at 13:17:35 UTC, extrawurst wrote: Thank you for doing this - really happy about it. A perfect open source moment - I was wondering about how to go about getting Alexa working. But I had shared the AWS Lambda stuff which proved useful for you, and now you solved the problem for me and helped others on top. Laeeth. Hi Laeeth, thanks again for your post about aws lambda + D - wouldn't have thought about this whole thing otherwise. I wanted to ask you if you thought about using another platform but nodejs wrap the D exe in lambda. They support java and C# aswell. I was wondering if it is a performance difference to use them instead ?! Looking forward to your input. Cheers, Stephan Hi Stephan. I think at the time C# was not possible, and not sure if java was. I don't know those languages so well, but if someone would like to try and see if it makes a difference, I would be happy to grant them rights to co-maintain the repo and add those as options. If I recall right, there shouldn't be a performance difference - just a question of latency to start. Will Java or C# be better in those respects given time needed to start the VM? Laeeth.
Re: Alexa Skill written in D
On Saturday, 7 January 2017 at 13:17:35 UTC, extrawurst wrote: Hi guys, the last 2 weeks I jumped on a new toy project: An Alexa Skill written in D. It is a skill that allows me to voice control my TV receiver with commands like: Alexa, ask Telly to go to standby Alexa, ask Telly what is currently running The project and all the source code sits on github: https://github.com/Extrawurst/alexa-openwebif I created two new dub libraries that this app uses: https://github.com/Extrawurst/openwebif-client-d https://github.com/Extrawurst/alexa-skill-kit-d *openwebif-client-d* is the REST api that my receiver speaks. *alexa-skill-kit-d* is the base class and the types that amazon throws at when the user activated your skill. you can find the blog post here: http://blog.extrawurst.org/programming/dlang/alexa/2017/01/06/alexa-in-d.html Feel free to share, to spread the word about using D for this fancy new tech. ~Stephan Thank you for doing this - really happy about it. A perfect open source moment - I was wondering about how to go about getting Alexa working. But I had shared the AWS Lambda stuff which proved useful for you, and now you solved the problem for me and helped others on top. Laeeth.
Re: Facebook is using D in production starting today
On Saturday, 4 June 2016 at 00:41:33 UTC, Meta wrote: On Friday, 11 October 2013 at 00:36:12 UTC, Andrei Alexandrescu wrote: Today I committed the first 5112 lines of D code to Facebook's repository. The project is in heavy daily use at Facebook. Compared to the original version (written in C++) we've measured massive wins in all of source code size, build speed, and running speed. In all likelihood we'll follow up with a blog post describing the process. Andrei Since this thread has been brought back to life anyway, does anyone know if Facebook is still using D now that Andrei has left? Spoke quite recently to a chap still there and he said yes, they are.
Re: Adventures in D Programming
On Thursday, 12 May 2016 at 21:08:58 UTC, Matthias Klumpp wrote: To elaborate a bit more on the version incompatibilities thing: E.g. me as a new user reads about std.concurrency.Generator, wants to use it, and it turns out that the standard library doesn't contain it yet (in GDC). Same for std.experimental.logger. Okay, means I can't use these. I haven't tried myself for these, but it might turn out to be not so much work just to copy the relevant files over and clean up the rough edges if you want to use these in GDC/LDC. But I know that it's harder and a nuisance if you aren't that familiar with the language and just want to get your job done. Then, I want to use D-YAML, which depends on std.stream. But std.stream is completely deprecated, with no clear path for me to see to replace it. That's really bad, and it also means I can't compile my code with making the use of deprecated stuff fail the compilation. https://github.com/DigitalMars/undeaD/blob/master/src/undead/stream.d You might want to submit a pull request so D-YAML depends on this (where removed parts of Phobos go to live) rather than std.stream. That was by far the most frustrating things I experienced in D. So ideally the docs would be split for different Phobos versions, that would already be a great help. Then, when deprecating stuff, showing a thing that replaces it or the proper way to write code using it would also be really nice. I agree. It would actually be really awesome if Phobos wasn't tied to a compiler, and all D compilers which are standard-compliant could compile it. Then, one could assume that people have the most recent Phobos. But it looks like it will take a longer time to get there, if at all. A matter of maturity and resources. It's quite astonishing the value that the small number of people working on LDC and GDC have been able to create. (DMD too, but there are more people). Maybe there ought to be a way to express concrete appreciation for their work.
Re: DlangUI on Android
On Thursday, 21 April 2016 at 13:28:18 UTC, Vadim Lopatin wrote: I've implemented initial support of Android in DlangUI. Congratulations, Vadim. This is a very exciting development. (And impressive in the 'consequent' department, as the Germans say - you said you would have DlangUI ported to Android some weeks after the working compiler, and that's what you did!). Might be useful for me to port some D code for internal enterprise apps to Android that currently runs on linux (I recognise how experimental it is, but I'm okay with that since mobile is just nice to have, and not yet necessary). Will you be at dconf?
Re: Graylog Extended Log Format (GELF) for D
On Saturday, 9 April 2016 at 20:06:01 UTC, angel wrote: But what about this ? https://forum.dlang.org/thread/eryphpbznrrovjvxj...@forum.dlang.org That arose out of a project that we are working on where it is convenient to be able to integrate with std.experimental.logger. Internal work that has been opensourced, rather than written with the primary target of open source, and if we had more time I would have suggested basing off Adil's work. As it is, it was just a write from scratch by Ilya. I thank Adil for making me aware of Graylog and Gelf format, as I wouldn't have known about it otherwise. Main benefit for us is to be able to reap the benefits of std.experimental.logger - very easy to switch logging source, and I think runtime cost of trace statements should be zero if turned off. Little fiddly state machines with a few things that need to be ironed out that only show up now and then, so writeflns and debugging in an IDE don't cut it. Graylog is a bit of a monster that uses Mongo, elasticsearch and who knows what else - for some things might be easier to use the Gelf format with a D back end. But it's a very nice way to think about the problem.
running D on AWS lambda
http://awslambda-d.readthedocs.org/ http://code.dlang.org/packages/awslambda_d https://github.com/kaleidicpublic/awslambda_d AWS Lambda is a 'compute service that runs your code in response to events and automatically manages the new compute resources for you, making it easy to build applications that respond quickly to new information'. Current supported runtimes (at least when I wrote the code, some months back) were Javascript (node.js) and Java, but I wanted to be able to write scripts in D, since that's what I use for my existing work.
Re: nanomsg for Deimos collection
On Saturday, 27 February 2016 at 15:48:53 UTC, Ilya Yaroshenko wrote: Hi all, D interface to nanomsg library http://nanomsg.org/ was released. This bindings follows Deimos style. 90% of tests was ported to D. github: https://github.com/9il/nanomsg dub: http://code.dlang.org/packages/nanomsg BTW, what should I do to include it to Deimos collection? https://github.com/D-Programming-Deimos See also https://github.com/Laeeth/d-nanomsg Best regards, Ilya Nice work, Ilya. I mentioned on the nanomsg gitter channel, but you might want to mention on the mailing list too (nanomsg.org then community), so it gets added to the list of bindings on the main page.
Re: Article: We're Overlooking A Key Part of C/C++ to D User Migration
On Friday, 5 February 2016 at 05:40:35 UTC, Laeeth Isharc wrote: On Wednesday, 3 February 2016 at 17:05:57 UTC, Nick Sabalausky wrote: Something that's been on my mind for a few months, finally got around to a little write-up about it. We're Overlooking A Key Part of C/C++ to D User Migration: https://semitwist.com/articles/article/view/we-re-overlooking-a-key-part-of-c-c-d-user-migration can SWIG be made efficient? forget that - it's the wrong way around...
Re: Article: We're Overlooking A Key Part of C/C++ to D User Migration
On Wednesday, 3 February 2016 at 17:05:57 UTC, Nick Sabalausky wrote: Something that's been on my mind for a few months, finally got around to a little write-up about it. We're Overlooking A Key Part of C/C++ to D User Migration: https://semitwist.com/articles/article/view/we-re-overlooking-a-key-part-of-c-c-d-user-migration can SWIG be made efficient?
Re: Vision for the first semester of 2016
On Thursday, 28 January 2016 at 10:00:59 UTC, Ola Fosheim Grøstad wrote: This is what a good system programming standard library should provide: 1. Types needed to specify library APIs. 2. Functionality for accessing hardware in a non-emulated fashion. 3. Functionality that most _libraries_ need to build on (like arrays/iterators/ranges). 4. Functionality that is tied to the individual compiler (like intrinsics). 5. Memory management. The primary goal of the standard library should not be to support building applications, but to enable building frameworks and libraries and the interaction between them. So if one user says "My app needs to read WAV which is RIFF, therefore RIFF should be in the standard library" then the sensible response is: "Do most _libraries_ need RIFF? Why don't you use the recommended audio library which has optimized WAV support.". Surely everyone uses string processing on a daily basis? No. I personally almost never do string processing in system level programming languages, what I need is binary serializing support. Or Collada support. Or audio file format support. I'd be happy to use a recommended string procesessing library when or if I need it. But a standard library MUST have great support for SIMD intrinsics, i.e. interfacing the hardware, that is much more critical for system level programming and is tied to the specific compiler. I do like the building-block idea you suggest, but one must think about the deeper reasons for why things are owned by which people. (I have found the Coase theorem and work on industrial organisation to be quite stimulating in thinking about this question). In theory it's completely irrelevant as to whether is something is in the standard library or can just be imported via dub or a git clone, but in practice that's not the case. As you yourself have mentioned, the size of the D community as it stands today presents some impediment to the possible maintenance and stability of alternative libraries. If something is in Phobos you know that you can depend on it, that bugs will get fixed, and that changes to the language won't stop the code from compiling (since it will be fixed). Being in Phobos is a focal point, whereas there simply isn't for now any kind of focal point for external libraries. The bus factor is high for external libraries - people get sick, divorced, change interest, and so on. There are also benefits from coherence, since the code will tend to converge on a similar style. I appreciate that your own interests are quite different, but perhaps you can see that they are only part of what's important for the community as a whole. It would be nice to have SIMD intrinsics, and in the time you have spent arguing over the years perhaps it would have been possible to help the process of having a high quality and consistent implementation along. People would also be much more inclined to listen to what you say because then it comes from someone with serious skin in the game. (Walter himself has spoken about the importance of listening to people who like your stuff and use it already over those who say if only you did X we could use it on a large scale - and that's also plain good business sense). The gadfly can play a useful role in a community, but not if he continually diminishes the worth of what people are working hard trying to do (in inevitably imperfect human ways). It really doesn't do any good to worry about what the crowd says and the applause you receive. If you focus on doing good work (and have some reinforcement along the way because people are using your work to do serious things) then recognition will come. The work that dlangscience is doing (and one could see ndslice as a part of that) opens up new possibilities that I am quite excited about. I should say that John Colvin is a contractor for me, but I am not talking up dlangscience because he is helping me, but rather I asked him to help me because I was impressed by what he is doing. It strikes me as a bit silly to get hung up over language specifications as some kind of mystical talisman. C was used for years in a serious way before the ANSI spec. Same for Ruby. I couldn't immediately see what the situation was for Python. There isn't the manpower to go that route yet, and nor would it be constructive when certain aspects are not yet as polished as they will eventually be. Ultimately the test of a language is in whether people can use it to do good work. Compound growth can be very powerful, and more complex things take time to mature to the point where they are useful in certain domains. I couldn't have used D for work five years ago, but I can now. There are these threshold effects, just as Christensen described in the Innovator's Dilemma. D continues to grow and isn't going to disappear any time soon. It would be much better to put one's energy i
Re: Ever want to compile D on your Android phone? Well, now you can!
On Wednesday, 27 January 2016 at 07:48:53 UTC, Joakim wrote: On Wednesday, 27 January 2016 at 06:04:43 UTC, Laeeth Isharc wrote: https://www.reddit.com/r/programming/comments/42w404/dlang_llvmbacked_compiler_alpha_release_for/ Thanks, I wondered if it had been posted, as it's the kind of oddity they might enjoy. :) Currently 9th with 215 upvotes. Just submitted to hacker news too.
Re: Vision for the first semester of 2016
On Wednesday, 27 January 2016 at 09:15:27 UTC, Ola Fosheim Grøstad wrote: On Wednesday, 27 January 2016 at 06:17:44 UTC, Laeeth Isharc wrote: On Tuesday, 26 January 2016 at 22:48:23 UTC, Ola Fosheim Grøstad wrote: I am not sure if that is the right motivation. Sounds like recipe for bloat. Good libraries evolve from being used in real applications. Many applications. sayeth a low-level guy (if I understand correctly), which will certainly create a distinct perspective about what you would like to see in the standard library, and yet this may not be the right thing for the language as a whole. I am both low-level and high level, but D's primary advantage is that it allows low level programming. Surely, that is C's primary advantage! The whole point of D is that it doesn't just have one primary advantage, and that is why the front page no longer describes it is as a systems language, even though it's approaching suitable as such. fwiw, people that do use D on a serious scale have remarked that the richness of the standard library (even as it stands today) was a major advantage - in bioinformatics, at a London hedge fund, and I think AdRoll. Do you consider Angular to be low level? It was used in 100s if not 1000s of applications, but was considered inadequate and scrapped in favour of Angular2. This is the typical pattern for libraries and frameworks. I really don't see how this relates to the point at hand. You seemed to suggest that the standard library should be small, and I pointed out that many serious users in industries that are likely to be key markets for D do say that they find what's provided in the standard library to be quite appealing. Nothing lasts forever, and all is change - that's something I agree with. But it doesn't seem to have much bearing on the decision about what to put in the standard library. Your suggestions that because some cloud environments don't have a conventional file system, D perhaps shouldn't even have this in the standard library really seemed to me to be a reductio ad absurdum of your own argument. Of course there will be lots there that one doesn't need and can't use. But over time things that were once cutting edge become bog standard, and it makes sense to have coherence and convenience rather than to have to search out the best library for the purpose each time.
Re: Vision for the first semester of 2016
On Tuesday, 26 January 2016 at 22:48:23 UTC, Ola Fosheim Grøstad wrote: On Tuesday, 26 January 2016 at 22:33:32 UTC, tsbockman wrote: 1) The prospect of getting something into the standard library is a huge motivator for (at least some) potential contributors. I am not sure if that is the right motivation. Sounds like recipe for bloat. Good libraries evolve from being used in real applications. Many applications. sayeth a low-level guy (if I understand correctly), which will certainly create a distinct perspective about what you would like to see in the standard library, and yet this may not be the right thing for the language as a whole. fwiw, people that do use D on a serious scale have remarked that the richness of the standard library (even as it stands today) was a major advantage - in bioinformatics, at a London hedge fund, and I think AdRoll.
Re: Ever want to compile D on your Android phone? Well, now you can!
On Sunday, 24 January 2016 at 15:12:30 UTC, Joakim wrote: An alpha release of ldc, the llvm-based D compiler, for Android devices is now available. It is best used with the excellent Termux app (https://play.google.com/store/apps/details?id=com.termux&hl=en) and a bluetooth keyboard. ;) Updated test runners, that run most tests from the standard library on any Android device, are also available (results have been reported for everything from a TomTom BRIDGE GPS navigation device to a Huawei Watch): https://github.com/joakim-noah/android/releases/tag/polish You can install a test runner app or run a command-line binary. Please report your results in this thread in the ldc forum, which requires no registration, with the info and format requested there, particularly for Android 4.1 or earlier: https://forum.dlang.org/thread/bafrkjfwmoyriyhmq...@forum.dlang.org If you try out the native compiler, take a look at the README that comes with it for instructions. If you have a D/OpenGL app you'd like to port to Android and submit to the Play Store, let me know if I can help with that process. https://www.reddit.com/r/programming/comments/42w404/dlang_llvmbacked_compiler_alpha_release_for/
Re: Flipboard collection of D articles
On Sunday, 10 January 2016 at 10:48:39 UTC, florin wrote: On Saturday, 9 January 2016 at 16:23:05 UTC, jamonahn wrote: On Friday, 8 January 2016 at 08:43:52 UTC, florin wrote: However as I'm programming less and less in D lately /@sunre/d-programming-language-e87f94iky Florin May I ask why / what language you are now using? I just recently became a big fan of D, and just watched your 2014 talk. Is the network messaging framework still in use / maintenance? Just getting to your github now. Hi, I guess you got me confused :) While I did wish I'd at least attend a Dconf, I've never given a talk on D. Most of my work is related to machine learning where there's no getting around C/C++ for CUDA and BLAS stuff. Also efficiency trumps pretty much everything in this field. However I am still very fond of D, it's the language that introduced me to generic programming. Hi Florin. What do you make of Ilya's proposal on BLAS? What would you need to be able to use D there ? Or is it tricky as you are working with other libraries on top of that ? There are people here with private CUDA libraries that may be open sourced in time. (I understand that in the meantime one needs to get stuff done). Laeeth
Re: D runs on watchOS! and on Android Wear too!
On Wednesday, 6 January 2016 at 17:35:07 UTC, Dan Olson wrote: Laeeth Isharc writes: I think it is a good hijack! Thanks.. Somebody should do a blog post about this (and how to get it to work step by step - it's easy when you know how, but the set of people that don't and would like to but will get stuck is quite large). For watchOS, soon there will be a binary release of cross compiler with phobos and will have instructions like I have for the iOS release. What is holding me up is I still am trying to decide how to manage multiple releases (iOS, tvOS, and watchOS) since the libraries are all different but the compiler is the same. It doesn't fit the mold but I'd like to have a single bin with multiple libs. Yes can imagine it gets messy quickly yet is a lot of work to integrate. I might have a commercial use for this in coming months (both on Android and watchOS). Since it's an internal application the rough edges are of less concern to me than if one expects 100,000+ users. Laeeth, note that app store approval may be a ways off since they want to use their own LLVM to compile bitcode and I have patches not in official LLVM. If you only need to side load watchOS, then you will soon be good to go. Appreciate the colour. Side loading fine for now, and actual use is realistically some way off as I have a lot of other things to do as well. I am in a funny business where the fewer the users I have the better (for x>=1) so my concerns are different from someone making a consumer app. Wrappers for everything would help a lot (and then some tutorials) - I guess the Apple stuff is under way. The D Objective-C interface is not in LDC yet and I think what is in dmd so far only supports a subset (instance method calls I think). There are other ways, depending on what you need to do, but right know it seems best to do all the UI stuff in Swift or Objective-C and use D for everything else. Yes - I haven't looked at Apple at all as I have too many computers already as it is and don't have a Mac. I wonder if it is possible to implement something like what I understand Corona have done for C# in D: make a common layer for what can be shared so work involved in customisation for each platform is minimised. I guess we are at a point now that the heavy lifting is done where some small success stories can inspire others to have a try and the ecosystem can grow.
Re: D runs on watchOS! and on Android Wear too!
On Monday, 28 December 2015 at 01:17:15 UTC, Dan Olson wrote: A little progress report. More to come later when I get something pushed to github. I bought a returned Apple Watch yesterday at discount for $223.99 US and tried to see how much of D would work on it using my iOS fork of LDC. There were a few bumps, like dealing with embedded bitcode (a watchOS requirement). After 4-hours of baby steps, little D programs with incremental druntime support, I was able to download a huge watch app extension with all druntime and phobos unittests and run most of them alphabetically. Everything zipped along fine, only a std.math error, then mysteriously a exit after running std.parallelism test a long time. It was late for me so decided that was enough progress. This means all of druntime worked and probably most of phobos. The Apple Watch uses a new chip with armv7k, a different ABI, and different exception handling than iOS, so kinda surprised it worked as well as it did. Of course much thanks goes to LLVM with recently added watchOS, tvOS support, and all the LDC contributors that have kept master building with the latest 3.8 LLVM. Fantastic news, Dan. I can confirm that D also runs on Android Wear (Huawei watch) and passes all unit tests. Forgive the slight hijack, but I mention this here as people might see this thread and not the obscure one where I reported this previously. Somebody should do a blog post about this (and how to get it to work step by step - it's easy when you know how, but the set of people that don't and would like to but will get stuck is quite large). I might have a commercial use for this in coming months (both on Android and watchOS). Since it's an internal application the rough edges are of less concern to me than if one expects 100,000+ users. Wrappers for everything would help a lot (and then some tutorials) - I guess the Apple stuff is under way. Joakim has a binding for JNI, but would be nice to wrap so easier to use (and then build Android SDK wrappers on top of that. I saw this project here, but haven't yet tried: https://github.com/Monnoroch/DJni I guess the spirit of what Xamarin do with their stuff might be a model. Could this be a useful Google Summer of Code Project? Or is it too dull for the kinds of people that might be interested.
Re: [OT] bitcoin donation
On Monday, 23 November 2015 at 14:02:30 UTC, Joakim wrote: On Monday, 23 November 2015 at 12:11:36 UTC, Steven Schveighoffer wrote: One could ask the same thing about any currency that isn't the one accepted at a store. Sure, online is much less of a hassle, but it's still a little time to sign up and administer. Is that much of Ali's time worth spending for at least three donations, likely more? I bet it would be. I looked with a tinge of fascination at what bitcoin was a while ago. I think there is a natural averse reaction to something that is valuable but that you cannot understand. --snip-- I know bitcoin has real math and genius behind it, and this is a silly example, but for those who do not understand how it actually works (including myself), it seems very similar in nature. Dollars (or whatever local currency you use) are understandable, and generally accepted at places where I shop. It's easy to see how one cannot duplicate them without evidence of doing so (the fundamental characteristic of currency). Online bits don't seem so uncopyable. I'm by no means steeped in the tech, but it's pretty straightforward to understand the broad strokes. It's just a giant distributed ledger with some crypto to keep it secure and hashing to avoid double-counting, ie the duplication you're worried about. But ultimately that doesn't really matter, as almost nobody knows how Dollars or other local currencies are created or what makes them tough to copy either. ;) All that matters for a currency is that many buyers and sellers will accept it, or at least exchange it quickly and easily for your currency of choice, and bitcoin certainly passes that bar. Regimes vary in how they accommodate some kinds of financial innovation. If you're dealing with dollars anyway, that's one thing, but quite another if you have to figure out the peculiar local tax treatment (which may well not yet be determinate or written down anywhere). Plus in some places it might invite unwelcome scrutiny. So I agree that bitcoin is a very interesting technology, and this may be the real world application of an idea that goes back to the 90s of the new monetary economics (a book by cowen and kroszner), where the unit of account, medium of exchange, and store of value functions of money become unbundled. But its use unreasonable to expect people to behave in an optimising manner in every part of their lives, particularly when tax and regulation (and uncertainty surrounding them) get in the way.
Re: DConf 2016, Berlin: Call for Submissions is now open!
On Sunday, 1 November 2015 at 02:41:37 UTC, Andrei Alexandrescu wrote: The good news is Sociomantic wants to ... more generally get more involved in helping the Foundation and the language. Hey - this is great news, and not a complete surprise for those of us reading between the lines ... (who else could the corporate sponsor have been ? ;) But are you and they going to send out a press release or something and announce it on Reddit and Hacker News? [BTW you mentioned a desire to have more lieutenants to do such things, and that's definitely a better way to organize things, but at the same time it's not that clear what the status of things is. Eg I waited for a while to post news of your leaving Facebook to reddit because I didn't know if you were ready]. I am speaking at codemesh on D tomorrow, and I don't want to take any risk in stealing the thunder by leaking it to a broader audience prematurely. Ie if you could be clearer in desired communications strategy that would help I think.
Re: Calypso progress report (+ updated MingW64 build)
Elie - thanks for posting the build. Have been working on something else past day, but this is on my list to look at next. Having quantlib work would be very nice for many financial users. Lots of people use it, even just as a check on their own stuff. Russell, I agree about the plotting, although the stuff I do for now is very simple as regards generating the image. (I just need a bit of interactivity). Speaking about charting today, someone mentioned that there are two cultures - science esp physics where purity is valued and pretty stuff is seen as not serious, and rest of world where people are only human and quite like the pretty stuff. Bachmeier - great to hear about R. looking forward to it. Laeeth
Re: Calypso progress report (+ updated MingW64 build)
On Monday, 26 October 2015 at 01:39:52 UTC, Elie Morisse wrote: On Sunday, 25 October 2015 at 21:42:15 UTC, Stefan wrote: Hello, // compile with: ldc2 -cpp-args -std=gnu++11 main.d modmap (C++) "cmath"; import (C++) std._; import std.stdio; int main() { writeln(sin(cast(float)0.8159)); return 0; } gives a lot of "error: constexpr function never produces a constant expression" messages. Not sure this is supposed to work? It's fixed with the latest commit. any chance of some release builds on github when the time is right? I've tried a few times, and somewhat embarrassingly each time I get a bit further, but still never made it to a usable version of ldc-calypso. I didn't want to file bug report as figure you have better things to do at this stage and it's a moving target. ldc itself I can compile fine (without your mods). I'd be interested in seeing if quantlib is usable. it's a library that's quite popular in finance world, and might open up the set of people that are interested in exploring D.
Re: Fastest JSON parser in the world is a D project
On Thursday, 22 October 2015 at 20:10:36 UTC, rsw0x wrote: On Thursday, 22 October 2015 at 19:16:00 UTC, Laeeth Isharc wrote: On Thursday, 22 October 2015 at 18:23:08 UTC, Andrei Alexandrescu wrote: On 10/22/2015 09:08 AM, Walter Bright wrote: [...] This has been a homerun. Congratulations for this work and also for publicizing it! (Consider it might have remained just one forum discussion read by all of 80 persons...) -- Andrei We really do need to stop hiding our light under a bushel. Thinking in marketing terms doesn't always come easy to technically minded people, and I understand why, but ultimately the community benefits a great deal from people becoming aware of the very real benefits D has to offer (alas people won't just get it, even if you think they should), and there are personal career benefits too from helping communicate how you have applied D to do useful work. It's hard to find great programmers and showing what you can do will pay off over time. D has no well defined area to be used in. Everyone knows D, when written in a very specific C-mimicking way, is performant. But nobody is using C# or Scala or Python for performance. You reply to my post, but I don't entirely see how it relates. D is very flexible, and that's its virtue. Because splitting a codebase across multiple languages does have a cost, even if it's often worth paying the cost in order to use the right till for the job when those tools are by their nature specialised. I don't think everyone knows D is performant, and I wouldn't say fast JSON is written in a C mimicking way, taken as a whole. Choices are based on making trade-offs, and the relevant data are not static, but constantly shifting. When an SSD in 2015 that isn't especially pricey gives 2.1 Gig a sec throughput and one has many terabytes of text data a month to get through, and that's today and datasets keep growing and what I write today may be in use for years then the right decision will be a very different one to that five years ago. That's not just my perception, but those in other fields where the problems are similar - bioinformatics and advertising data being some of the many others. AdRoll is known for their Python work, but their data scientists use D. And my point, which you didn't really reply to, is that as a community we should do a bit more to share our experiences on how D can be useful in doing real work. As Walter observes, that's also something that pays off personally too.
Re: Fastest JSON parser in the world is a D project
On Friday, 23 October 2015 at 19:48:31 UTC, Jacob Carlborg wrote: On 2015-10-22 22:53, Marco Leise wrote: There is at least one hurdle. I don't have a place to publish articles, no personal blog or site I contribute articles to and I don't feel like creating a one-shot one right now. :) You could have a look at this blog implementation by Dicebot [1]. You still need to host it though. [1] https://github.com/Dicebot/mood Mood is very nice, and I plan on using it in the medium term (made a pull request so it would compile using gdc or ldc). But you might want to wait a little while as you want a blog to be stable, and I think there is a problem with segfaulting right now - perhaps to do with the caching of posts, although it shouldn't be hard either to fix that or rewrite it your own way (as I started doing). It's worth setting one up though - what you use doesn't matter (look at Nikola or one of the other static site generators) - and Walter is right.
Re: Fastest JSON parser in the world is a D project
On Thursday, 22 October 2015 at 18:23:08 UTC, Andrei Alexandrescu wrote: On 10/22/2015 09:08 AM, Walter Bright wrote: On 10/21/2015 1:38 PM, Laeeth Isharc wrote: On Wednesday, 21 October 2015 at 19:03:56 UTC, Suliman wrote: Could anybody reddit this benchmark? done https://www.reddit.com/r/programming/comments/3pojrz/the_fastest_json_parser_in_the_world/ It's item 9 on the front page of https://news.ycombinator.com/ too! This has been a homerun. Congratulations for this work and also for publicizing it! (Consider it might have remained just one forum discussion read by all of 80 persons...) -- Andrei We really do need to stop hiding our light under a bushel. Thinking in marketing terms doesn't always come easy to technically minded people, and I understand why, but ultimately the community benefits a great deal from people becoming aware of the very real benefits D has to offer (alas people won't just get it, even if you think they should), and there are personal career benefits too from helping communicate how you have applied D to do useful work. It's hard to find great programmers and showing what you can do will pay off over time.
Re: Fastest JSON parser in the world is a D project
On Thursday, 22 October 2015 at 17:35:48 UTC, Nick Sabalausky wrote: On 10/21/2015 12:17 AM, Laeeth Isharc wrote: I already have JSON files of a couple of gig, and they're only going to be bigger over time, Geez, if they're that big, is JSON really the best format to be using? Of course not. I don't much like JSON myself anyway. But I am not in control of the format it arrives in. Obviously I will eventually pick something better for the existing dump. But that two gig will be updated at least every week, and that's just one provider of 20 plus (mostly smaller). I have 2 Tb of Reddit JSON too. A one off conversion job, but there will be others.
Re: Fastest JSON parser in the world is a D project
On Wednesday, 21 October 2015 at 22:24:30 UTC, Marco Leise wrote: Am Wed, 21 Oct 2015 04:17:16 + schrieb Laeeth Isharc : Very impressive. Is this not quite interesting ? Such a basic web back end operation, and yet it's a very different picture from those who say that one is I/O or network bound. I already have JSON files of a couple of gig, and they're only going to be bigger over time, and this is a more generally interesting question. Seems like you now get 2.1 gigbytes/sec sequential read from a cheap consumer SSD today... You have this huge amount of Reddit API JSON, right? I wonder if your processing could benefit from the fast skipping routines or even reading it as "trusted JSON". The couple of gig were just Quandl metadata for one provider, but you're right I have that Reddit data too. And that's just a beginning. What some have been doing for a while, I'm beginning to do now, and many others will be doing in the next few years - just as soon as they have finished having meetings about what to do... I don't suppose they'll be using python, at least not for long. I am sure it could benefit - I kind of need to get some other parts going first. (For once it truly is a case of Knuth's 97%). But I'll be coming back to look at best way, for json, but text files more generally. Have you thought about writing up your experience with writing fast json? A bit like Walter's Dr Dobbs's article on wielding a profiler to speed up dmd. And actually if you have time, would you mind dropping me an email? laeeth at kaledicassociates.com Thanks. Laeeth.
Re: Fastest JSON parser in the world is a D project
On Wednesday, 21 October 2015 at 19:03:56 UTC, Suliman wrote: Could anybody reddit this benchmark? done https://www.reddit.com/r/programming/comments/3pojrz/the_fastest_json_parser_in_the_world/
Re: Fastest JSON parser in the world is a D project
On Wednesday, 21 October 2015 at 09:59:09 UTC, Kapps wrote: On Wednesday, 21 October 2015 at 04:17:19 UTC, Laeeth Isharc wrote: Seems like you now get 2.1 gigbytes/sec sequential read from a cheap consumer SSD today... Not many consumer drives give more than 500-600 MB/s (SATA3 limit) yet. There are only a couple that I know of that reach 2000 MB/s, like Samsung's SM951, and they're generally a fair bit more expensive than what most consumers tend to buy (but at about $1 / GB, still affordable for businesses certainly). Yes - that's the one I had in mind. It's not dirt cheap, but at GBP280 if you have some money and want speed, the price is hardly an important factor. I should have said consumer grade rather than consumer, but anyway you get my point. That's today, in 2015. Maybe one can do even better than that by striping data, although it sounds like it's not that easy, but still. "The future is here already; just unevenly distributed". Seems like if you're processing JSON, which is not the most difficult task one might reasonably want to be doing, then CPU+memory is the bottleneck more than the SSD. I don't know what outlook is for drive speeds (except they probably won't go down), but data sets are certainly not shrinking. So I am intrigued by the difference between what people say is typical and what seems to be the case, certainly in what I want to do.
Re: Fastest JSON parser in the world is a D project
On Wednesday, 14 October 2015 at 07:01:49 UTC, Marco Leise wrote: The test is pretty simple: Parse a JSON object, containing an array of 1_000_000 3D coordinates in the range [0..1) and average them. The performance of std.json in parsing those was horrible still in the DMD 2.066 days*: DMD : 41.44s, 934.9Mb Gdc : 29.64s, 929.7Mb Python : 12.30s, 1410.2Mb Ruby: 13.80s, 2101.2Mb Then with 2.067 std.json got a major 3x speed improvement and rivaled the popular dynamic languages Ruby and Python: DMD : 13.02s, 1324.2Mb In the mean time several other D JSON libraries appeared with varying focus on performance or API: Medea : 56.75s, 1753.6Mb (GDC) libdjson : 24.47s, 1060.7Mb (GDC) stdx.data.json: 2.76s, 207.1Mb (LDC) Yep, that's right. stdx.data.json's pull parser finally beats the dynamic languages with native efficiency. (I used the default options here that provide you with an Exception and line number on errors.) A few days ago I decided to get some practical use out of my pet project 'fast' by implementing a JSON parser myself, that could rival even the by then fastest JSON parser, RapidJSON. The result can be seen in the benchmark results right now: https://github.com/kostya/benchmarks#json fast: 0.34s, 226.7Mb (GDC) RapidJSON: 0.79s, 687.1Mb (GCC) (* Timings from my computer, Haswell CPU, Linux Very impressive. Is this not quite interesting ? Such a basic web back end operation, and yet it's a very different picture from those who say that one is I/O or network bound. I already have JSON files of a couple of gig, and they're only going to be bigger over time, and this is a more generally interesting question. Seems like you now get 2.1 gigbytes/sec sequential read from a cheap consumer SSD today...
dnsmadeeasy API
http://code.dlang.org/packages/dnsmadeeasy DNS Made Easy is a commercial provider of DNS services. This is a D language implementation of their REST API. It uses the HMAC code from the 2.069 version of Phobos, so requires either the beta language version or manual backporting. (Pull requests to do this welcomed). API here: http://www.dnsmadeeasy.com/integration/restapi/ It's particularly useful to be able to manipulate the DNS if you are launching many cloud instances from an application and wish each of them to have a DNS entry that may be set from code. Others may find other applications helpful. Alpha quality - not well-tested and I haven't made much use of it myself as yet.
Re: Run D on AWS Lambda
On Sunday, 26 July 2015 at 03:55:17 UTC, Laeeth Isharc wrote: https://aws.amazon.com/lambda/ https://github.com/Laeeth/awslambda_d http://blog.0x82.com/2014/11/24/aws-lambda-functions-in-go/ No proper docs yet, but you can figure it out from the go example. https://aws.amazon.com/about-aws/whats-new/2015/10/aws-lambda-supports-python-versioning-scheduled-jobs-and-5-minute-functions/ Now runs functions taking up to 5 minutes. Also Python tasks. (Already can run D - see above)
D Language Implementation of DIgitalOcean API
I'm sorry, but I posted in the wrong group before. Digital Ocean provide cloud infrastructure (KVM servers). They serve a somewhat different market to Amazon's AWS and similar offering a much less complex product for a significantly lower price (especially if you pay the sticker price for Amazon). Unlike some other VPN providers, their servers are fast and my experience and that of others has been there is less contention for resources compared to some alternative lower-priced providers. https://www.digitalocean.com/features/technology/ https://www.digitalocean.com/pricing/ $10/mo for 1GB RAM + 30 Gb SSD I have ported their API v2 to D. It's not very well-tested for the time being, and given the conceivable risks if your software should go haywire, it might not be a good idea to use in production just yet. But perhaps somebody may find it useful. Link to the code.dlang.org is here: http://code.dlang.org/packages/digitalocean_api DNSMadeEasy API coming up. Laeeth.
Re: D-Day for DMD is today!
On Saturday, 29 August 2015 at 16:07:37 UTC, Daniel Murphy wrote: "Jacob Carlborg" wrote in message news:mrsigg$1574$1...@digitalmars.com... I'm pretty sure we already have a tool that generates C/C++ headers for D modules. Adam started one, I don't think it got to the point where it would work for this, and I don't agree that the json output is a good way to do it. I guess he means dstep...