Re: Build Master: Progress toward 2.065
Dicebot, el 10 de December a las 16:18 me escribiste: On Tuesday, 10 December 2013 at 15:09:13 UTC, Leandro Lucarella wrote: I don't understand. Rebasing the release branch on top of master shouldn't be an option, as it means you are taking all the changes to master and put them in the release branch. That's just using master as a release branch. The other way around would be crazy. Yes, of course, it is not a normal thing to do. As far as I understand, Andrew wants to restart release branch from scratch, based on current master state (because old base happened before he started working on release management). In that case it is a natural (and exceptional) solution. Ah, perfect, then ignore my previous message :) -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ -- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) -- ELLA FUE INFIEL, PERO EX POLOLO PAGÓ -- TV CHILE
Re: Build Master: Progress toward 2.065
On Thursday, 12 December 2013 at 15:09:12 UTC, Leandro Lucarella wrote: Ah, perfect, then ignore my previous message :) P.S. I have just made a test rebase to provide better instructions for Andrew and can confirm that cherry-picked commits still cause conflicts (as well as any other same-content-but-different-hash commits). There was one such commit in current 2.065 state
Re: OT: Your accomplishments in 2013 and plans for 2014
On 12/12/2013 4:44 AM, Andrej Mitrovic wrote: Ok, so who's next who wants to share? 2013 The biggest thing for me is that the hot dog shop I opened in at the end of October of last year really took off this past spring. We got a great review in a local expat magazine and a number of Korean power bloggers at naver.com and elsewhere have driven a lot of traffic our way. We've done no active marketing whatsoever. It's all been word-of-mouth. The guy from the magazine heard about us that way. It's hard to find really good hot dog shops in Seoul, so that's been a big plus on our side. And on a personal note, I won NaNoWriMo. This was my first year participating. I thought it was going to be difficult, but it was so much fun that I hardly broke a sweat. This was a very big deal for me. I've always loved writing, but I hadn't written any fiction in over ten years. And I had never written anything novel-length before. It was very liberating. 2014 I need to finish a project in D! I've got a dozen D projects in various states of completion just bit-rotting on my hard drive. My biggest goal in 2014 is to put all of my attention on *one* of them and get it done. To facilitate that, I also want to grow the hot dog business somewhat. We're planning to expand the menu and I'm hoping that, coupled with some promotional activities we're considering, will bring in enough new business for us to hire a couple of regular employees so I can take some time off. Right now, I'm only off two days in a month. And I still have a handful of classes to teach, besides. I need more coding time! --- This email is free from viruses and malware because avast! Antivirus protection is active. http://www.avast.com
Re: Delegate Memory Usage Optimization
On 12/12/2013 05:16 AM, Manu wrote: Don does it to bind static functions to delegates in his C++ FastDelegate library. I wonder if there's a helper in phobos? You can be sure when assigning functions to delegates in this way that there will never be any associated state. std.functional.toDelegate
Re: OT: Your accomplishments in 2013 and plans for 2014
On 11 December 2013 23:32, Francesco Cattoglio francesco.cattog...@gmail.com wrote: Damn you guys speaking about food, now I'm hungry again! On Wednesday, 11 December 2013 at 21:12:20 UTC, Brian Schott wrote: I lost -15 pounds or so this year. Does that count? Lost -15 pounds = gained 15 pounds, right? 2014 is the year I (finally) get my master degree. That one is a given. My _dream_ for 2014 is having a chance to prove that D + ZeroMQ can earn a place in the scientific computing world (I got so much tired of C/C++ and MPI), but I will have to fight people that still think that there's nothing a good FORTRAN77 code can't compute. Also, I would like to contribute more to the D language. Will I succeed? Only time will tell! Oh, also, I hope to run away from Italy, and spend a good year somewhere in Europe! :D Come to Brighton (UK). :-)
Re: OT: Your accomplishments in 2013 and plans for 2014
On 11 December 2013 21:30, Joseph Rushton Wakeling joseph.wakel...@webdrake.net wrote: On 11/12/13 22:00, bearophile wrote: I am glad to read all this. And yes, good vegetables are very good food. I also suggest raw fennel, raw carrots, raw celery stalks, raw cucumber, steamed broccoli (and related: brassica oleracea var capitata rubyball, purple cauliflower, romanesco broccoli, curled cabbage, lacinato kale, both steamed and in soups with some breads and carrot pieces, zucchine (cucurbita pepo)), eggplants, plus several fruits as pomegranate, etc. :-) Take sliced fennel, sliced celery, partially-crushed walnuts, mix together, grate flakes of parmesan over the top, and finally drizzle over with a really good olive oil. (Optionally also drizzle over with lemon juice, freshly squeezed.) One delicious salad is yours. :-) With one butternut squash diced and oven roasted till tender, and a pasta of your choice (linguine or farfalle are my preferred). Make an onion, garlic and sage saute in a deep pan, mix in butternut squash (mash it) and pasta, sprinkle in pine nuts and serve with parmesan and optionally drizzle of olive oil. - One pasta dish that melts in your mouth hot or cold. :o)
D Devs in Berlin (Germany)
Hi everyone, lately I got the feeling that there might be at least a higher density of D devs in the Berlin area, at least due to the sociamatic company. And since I am there over the weekend I wanted to suggest to grab a beer sometime. Anyone in the area interested ? Cheers, Stephan
Re: Inherent code performance advantages of D over C?
On Thursday, 12 December 2013 at 03:34:16 UTC, Walter Bright wrote: On 12/11/2013 6:11 PM, ed wrote: BTW, this sounds a lot like when I used to develop real mode MSDOS programs. An errant pointer in MSDOS would frequently crash the system and even scramble the hard disk. It was pretty bad. Therefore, I'd do all my development on a protected mode operating system (Windows NT or OS/2 16 bit), and only when it was bug free would I even attempt to bring it up under MSDOS. This approach saved me endless hours of misery. I used Turbo Pascal instead. :)
Re: D Devs in Berlin (Germany)
On Thursday, 12 December 2013 at 08:51:47 UTC, extrawurst wrote: Hi everyone, lately I got the feeling that there might be at least a higher density of D devs in the Berlin area, at least due to the sociamatic company. And since I am there over the weekend I wanted to suggest to grab a beer sometime. Anyone in the area interested ? Cheers, Stephan There is also one JVM/.NET developer, Rust/ML/D advocate, in Düsseldorf. :) -- Paulo
Re: Inherent code performance advantages of D over C?
On Thursday, 12 December 2013 at 02:12:00 UTC, ed wrote: On Wednesday, 11 December 2013 at 03:33:47 UTC, Walter Bright wrote: [snip] The issue is convenience of writing C code in D vs C. So you're trying to say that it's easier to write C code in D, rather than in C? I thought this thread was about the inherent advantages of D over C. I was referring specifically to Dicebot's post as ancestor: [snip] I am finding C is much easier and more pleasant to write with DMD. At work we're forced, under duress, to write C. I just got a new project with a loose deadline so I thought I'd do a crazy experiment to make it interesting... (NOTE: I say under duress but I secretly like C/C++, especially C++11/14.) I'm writing my C code with DMD. When tested and tweaked I do a final compile with C compiler (test once more) then commit for our QA to pick up. Occasionally I'll compile with the C compiler to ensure I haven't leaked any D into the code and to minimise the #include fixups at the end. Currently this is about 20 C-(D) files with approx. 12,000-15,000 LOC. I doubt this workflow would scale much further, although it doesn't look like becoming an issue yet. My experiment is a success IMO. My C code is much cleaner, safer and more maintainable because of it. Yes, I know I could write C like this without DMD ... but I'm lazy and fall back into bad C habits :-) I now advocate that students should be taught C programming with the DMD compiler :D Cheers, Ed Currently I always advocate that C and C++ development should always be done with warnings as errors enabled, coupled with static analyzers at very least during CI builds, breaking them if anything is found. Nice story though, thanks for sharing. -- Paulo
Re: OT: Your accomplishments in 2013 and plans for 2014
On 12/12/13, Iain Buclaw ibuc...@gdcproject.org wrote: With one butternut squash diced and oven roasted till tender, and a pasta of your choice (linguine or farfalle are my preferred). Make an onion, garlic and sage saute in a deep pan, mix in butternut squash (mash it) and pasta, sprinkle in pine nuts and serve with parmesan and optionally drizzle of olive oil. - One pasta dish that melts in your mouth hot or cold. :o) This thread seems to have taken a delicious turn!
Re: DIP 52 - Implicit conversions
On 2013-12-12 00:23, deadalnix wrote: On Wednesday, 11 December 2013 at 12:44:52 UTC, Simen Kjærås wrote: http://wiki.dlang.org/DIP52 Abstract: Implicit conversion to and from other types are useful, and is to some extent covered by existing language features. Some cases are currently not covered, but could be worthy additions to the toolbox. I've tried to figure out good ways to add some sorely-needed implicit conversions to the language, but I'm sure there are details that need to be ironed out. In other words - destroy! -- Simen Implicit conversion has proven to be a really bad idea in C++. What make your solution superior to existing ones ? C++ has shown that having implicit conversion *by default* is a really bad idea. For instance, C# also has implicit conversion, but you have explicitly ask for it. If there's any critique of that anywhere (I expect there to be), I've been unable to find it. And of course it'll be possible to abuse implicit conversions, just like one can abuse function names - this is the old example of 'What does add(1,2) return? Why, empty string, of course. After connecting to a database.'. There's a simple solution to that problem - fire the person who wrote that code, fix the code, and move on. Simply put, implicit conversions are not bad, nor good. They are exactly what you use them for. -- Simen
Re: How do you deal with scoped allocations?
08.12.2013 2:32, Namespace пишет: Since my last thread doesn't get much attention I like to ask here: How did you deal with temporary memory? The algorithm is always this: 1. Use function stack frame for small allocations. 2. Use thread local stack allocator if temporary allocations corresponds LIFO principle and use thread local heap otherwise. As for usability it must be a single function call and D type system have to rest. And what do you use? As I answered in previous thread: http://forum.dlang.org/thread/nxrxojbzbrfwv...@forum.dlang.org#post-l77th1:24icc:241:40digitalmars.com -- Денис В. Шеломовский Denis V. Shelomovskij
Re: OT: Your accomplishments in 2013 and plans for 2014
On Wednesday, 11 December 2013 at 19:45:25 UTC, Andrej Mitrovic wrote: As for my future plans, I'm hoping to land myself a nice programming-related job next year. I've never had a programming job, most of the paid work I ever did was physical work, such as drilling through bricks, rock, concrete, installing and repairing air conditioners, installing central heating systems, lighting and electrical work, and stuff like that. I'm actually baffled to hear that someone of your caliber has is not a professional programmer. Passion and theory alone will only get you so far... (IMO). So, I hope you land yourself that job. I also want to and plan to study algorithms this year. Whenever some algorithm-related discussion popped up in the newsgroups I would typically avoid giving any input as most of the conversation would go over my head. But I'm gonna bite down and study hard, I really want to grok it. Algorithms are a major branch of programming, and, IMO, one of the funnest ones to study. Having solid knowledge of all the major algorithms (as well as data structures in general, they are also forms of algorithms) will *always* help you tremendously, no matter what you are doing. I (personally) really enjoy thinking in terms of complexity (in operations or memory), worst case complexity or amortized cost. Having a background in math helps, but if you don't have it, it means ever more stuff to learn! Learning is fun. My first mini-geek is due in June :D Awesome! So it's a he? Who said girls can't be geeks? Seriously though, I don't know yet.
Re: D Devs in Berlin (Germany)
On Thursday, 12 December 2013 at 09:03:57 UTC, Paulo Pinto wrote: On Thursday, 12 December 2013 at 08:51:47 UTC, extrawurst wrote: Hi everyone, lately I got the feeling that there might be at least a higher density of D devs in the Berlin area, at least due to the sociamatic company. And since I am there over the weekend I wanted to suggest to grab a beer sometime. Anyone in the area interested ? Cheers, Stephan There is also one JVM/.NET developer, Rust/ML/D advocate, in Düsseldorf. :) -- Paulo Oh cool, thats not too far from where I live. So we can start a D round-table in the pott :D
Re: OT: Your accomplishments in 2013 and plans for 2014
On 12/12/2013 12:09 AM, Mike Parker wrote: And on a personal note, I won NaNoWriMo. Wow! If winning means completing 50K words, my daughter did the same! :) Ali
Re: OT: Your accomplishments in 2013 and plans for 2014
On 12/12/13, monarch_dodra monarchdo...@gmail.com wrote: I'm actually baffled to hear that someone of your caliber has is not a professional programmer. Passion and theory alone will only get you so far... (IMO). So, I hope you land yourself that job. Thanks. I'm currently somewhere in a pre-interview stage with Sociomantic, we'll see how it goes!
Re: Inherent code performance advantages of D over C?
ed sillymong...@gmail.com wrote in message news:ibnfbsvxqzjxyfpnz...@forum.dlang.org... I'm writing my C code with DMD. When tested and tweaked I do a final compile with C compiler (test once more) then commit for our QA to pick up. Occasionally I'll compile with the C compiler to ensure I haven't leaked any D into the code and to minimise the #include fixups at the end. I used to do this for all my university assignments in C/C++/java.
Re: OT: Your accomplishments in 2013 and plans for 2014
On Wednesday, 11 December 2013 at 19:45:25 UTC, Andrej Mitrovic wrote: 2013 Wrote a D code base for a screen reader plugin (NVDA) and a rudimentary server for mobile phones (vibe.d). Learned more about D. 2014 Bring old bits of my D code up to modern D-standards. Dig deeper and use the full power of D (where necessary). A general spring cleaning for code. Make the plugin and the web service available (for free). Try to re-write in D or at least interface to some of the algorithms developed by colleagues and other people in other languages (e.g. try MatD), and create a solid code base. Keep on learning and promoting D and write the odd blog about how D can help solve _practical_ problems. Think about how D's features and the freedom it provides can help develop new approaches to structuring programs (something that's been on my mind for a few months now).
Re: OT: Your accomplishments in 2013 and plans for 2014
On 12/12/13 01:56, bearophile wrote: Look better, Julia aims also at partially replacing Python as golden glue in scientific computing, and it seems to have some of the numbers for it. It's statically typed, it has type inferencing, a refined type system with multi-methods and more, and a good LLVM-based JIT (that's in my benchmarks produces a performance no more than 2-4 times slower than D compiled with ldc2. If you compile D with dmd Julia is often faster for FP-heavy code. This means it's much faster than any Python code). Is that taking into account stuff like NumPy/SciPy which is C underneath and (according to colleagues who use it; I don't) super-fast? It's better than Matlab about as much as D is better than C, and it's already better than Python for some things :-) And Julia is currently much more flexible than D (there's a REPL, lot of scientific routines in the std lib, and the JIT). In two years its easy to write code has allowed lot of people to write more standard library than D community has done in 7 years. Interesting. I did take a look at Julia after discovering that a colleague used it; it certainly has many friendly features, but I found myself worrying that some of the easy mathematical notation might very readily lend itself to unfortunate typos that in turn would generate bugs and wrong results. That said, when it comes to stuff like MATLAB/Octave you are often not writing extended code bases but short and easy stuff for data analysis, so there is much less need for concern over this kind of thing. I imagine the same might apply to Julia, which at the same time looks like it should make it easier to develop larger-scale stuff if it's wanted, despite the things I'm worried about.
Re: OT: Your accomplishments in 2013 and plans for 2014
On 12/12/13 00:32, Francesco Cattoglio wrote: Oh, also, I hope to run away from Italy, and spend a good year somewhere in Europe! :D La situazione corrente chiaramente non è buono ... :-( Where in Italy are you based, out of curiosity?
GuitarHero/RockBand fans... side project anyone?
So, I'm a massive fan of music games. I'll shamefully admit that I was tragically addicted to Dance Dance Revolution about 10 years ago. Recently, it's Guitar Hero and Rock Band. I quite like the band ensemble games, they're good party games, and great rhythm practise that's actually applicable to real instrument skills too. The problem is though, that Neversoft and Harmonix completely fucked up the GH and RB franchises. Licensing problems, fragmented tracklists. It's annoying that all the songs you want to play are spread across literally 10 or so different games, and you need to constantly change disc's if you want to play the songs you like. I've been meaning to kick off a guitar hero clone since GH2 came out. I started one years ago as a fork of my Guitar Hero song editor for PS2, and I added support for drums before GH4 or RB were conceived, but then when they announced those games they stole my thunder and it went into hibernation. I'm very keen to resurrect the project (well, start a new one, with clean code, in D). Are there any music game nerds hanging around here who would be interested in joining a side project like this? It's a lot more motivating, and much more fun to work in a small team. It's an interesting union of skills; rendering, audio processing, super-low-latency synchronisation, mini and communications processing, animation, UI and presentation. I have done all this stuff commercially, so I can act as a sort of project lead of people are interested, but haven't tried to write that sort of software before. It also seems like a good excuse to kick off a fairly large scale and performance intensive D project, which I like to do from time to time.
Re: OT: Your accomplishments in 2013 and plans for 2014
On Thursday, 12 December 2013 at 10:34:40 UTC, Joseph Rushton Wakeling wrote: On 12/12/13 01:56, bearophile wrote: Look better, Julia aims also at partially replacing Python as golden glue in scientific computing, and it seems to have some of the numbers for it. It's statically typed, it has type inferencing, a refined type system with multi-methods and more, and a good LLVM-based JIT (that's in my benchmarks produces a performance no more than 2-4 times slower than D compiled with ldc2. If you compile D with dmd Julia is often faster for FP-heavy code. This means it's much faster than any Python code). Is that taking into account stuff like NumPy/SciPy which is C underneath and (according to colleagues who use it; I don't) super-fast? It's better than Matlab about as much as D is better than C, and it's already better than Python for some things :-) And Julia is currently much more flexible than D (there's a REPL, lot of scientific routines in the std lib, and the JIT). In two years its easy to write code has allowed lot of people to write more standard library than D community has done in 7 years. Interesting. I did take a look at Julia after discovering that a colleague used it; it certainly has many friendly features, but I found myself worrying that some of the easy mathematical notation might very readily lend itself to unfortunate typos that in turn would generate bugs and wrong results. That said, when it comes to stuff like MATLAB/Octave you are often not writing extended code bases but short and easy stuff for data analysis, so there is much less need for concern over this kind of thing. I imagine the same might apply to Julia, which at the same time looks like it should make it easier to develop larger-scale stuff if it's wanted, despite the things I'm worried about. My colleagues use Matlab for prototyping, but you cannot use it for serious programs. The thing is that all languages like R/Matlab/Python etc. are good for testing scientific algorithms, but if you want to use them in real world programs (say speech recognition), you'll have to re-write it in a language like D/C/C++.
Re: OT: Your accomplishments in 2013 and plans for 2014
On 12 December 2013 10:36, Joseph Rushton Wakeling joseph.wakel...@webdrake.net wrote: On 12/12/13 00:32, Francesco Cattoglio wrote: Oh, also, I hope to run away from Italy, and spend a good year somewhere in Europe! :D La situazione corrente chiaramente non è buono ... :-( Where in Italy are you based, out of curiosity? Sì, non è affatto buono. Most of my recent friends (and my partner) have moved from Spain or Italy in the last year or two. The street I live on has quite literally turned into a little italy.
Re: OT: Your accomplishments in 2013 and plans for 2014
On 12 December 2013 10:48, Iain Buclaw ibuc...@gdcproject.org wrote: On 12 December 2013 10:36, Joseph Rushton Wakeling joseph.wakel...@webdrake.net wrote: On 12/12/13 00:32, Francesco Cattoglio wrote: Oh, also, I hope to run away from Italy, and spend a good year somewhere in Europe! :D La situazione corrente chiaramente non è buono ... :-( Where in Italy are you based, out of curiosity? Sì, non è affatto buono. Most of my recent friends (and my partner) have moved from Spain or Italy in the last year or two. The street I live on has quite literally turned into a little italy. Minus the mafia. ;)
Re: Inherent code performance advantages of D over C?
On 12/12/13 10:01, Paulo Pinto wrote: Currently I always advocate that C and C++ development should always be done with warnings as errors enabled, coupled with static analyzers at very least during CI builds, breaking them if anything is found. I do think I owe quite a bit to the university professor who took the scientific programming course, for instructing us to compile with gcc -ansi -pedantic -Wall Not as comprehensive as -Werror etc., but still a good way to be started off in programming life. It's meant that I've always subsequently appreciated the existence and value of language standards. And it's generated much amusement among academic colleagues: Finally, there is such a virtuous saint among us! or words to that effect :-P
Re: OT: Your accomplishments in 2013 and plans for 2014
For me 2013 has been very interesting. Learnt a huge amount with regards to D and system level programming. Basically knew nothing before hand. Have done a lot with my tertiary institute with regards to helping others (in an official capacity). Before the end of the year I'll be doing streaming and considering D tutorials on youtube. My goal at least before I start back at my degree next year is get DOOGLE released, have my web service in a showable condition. For 2014 the goal is: a) Get my degree in ICT b) Have a fully functioning gui toolkit c) Have my web service live with support of at least one tertiary institute and maybe a conference (its educational in nature and does fill a need). d) A stretch goal of getting or starting diploma in adult education. So if anyone in Christchurch or New Zealand in general needs a D dev I'll be available second half of next year as part of my degree (project with a company). Would help me a lot! So for me it will definitely be very exciting.
Re: OT: Your accomplishments in 2013 and plans for 2014
On Thursday, 12 December 2013 at 10:51:29 UTC, Iain Buclaw wrote: On 12 December 2013 10:48, Iain Buclaw ibuc...@gdcproject.org wrote: On 12 December 2013 10:36, Joseph Rushton Wakeling joseph.wakel...@webdrake.net wrote: La situazione corrente chiaramente non è buono ... :-( Diciamo non buona abbastanza ;) I like Italy a lot, don't get me wrong, but I think I need a decent experience somewhere in northen Europe if I want to find any good chance for professional growth. Where in Italy are you based, out of curiosity? Milano right now. But no, I don't support neither Milan nor Inter :D Sì, non è affatto buono. Most of my recent friends (and my partner) have moved from Spain or Italy in the last year or two. The street I live on has quite literally turned into a little italy. You said Brighton, didn't you? Minus the mafia. ;) Trust me, some kind of mafia is everywhere :P We have an idiom here: Tutto il mondo è paese
Re: Inherent code performance advantages of D over C?
On Thursday, 12 December 2013 at 09:01:17 UTC, Paulo Pinto wrote: Currently I always advocate that C and C++ development should always be done with warnings as errors enabled, coupled with static analyzers at very least during CI builds, breaking them if anything is found. I literally can't imagine any large C project surviving any long without mandatory doing all listed stuff. It gets to state of unmaintainable insanity so fast. That said, there are very different C projects. When I am speaking that coding C in D is less convenient than in C I don't mean some normal but performance-intensive application. I can't imagine anyone picking C motivated only by performance - it is more about being very controllable. Of course with modern optimizers C can no more be called macro assembler but it is still much much closer to that than D. To remove all smart side-effects in D you need to get rid of all druntime, avoid using some language features and resort to inline assembly relatively often. It is definitely possible and Adam has done some very nice job to prove it. But it leaves you with a very crippled language that does not even help you in sticking with that crippled subset. At this point you really start asking yourself - what does this give me over raw C to motivate the transition? So far I don't see anything convincing.
Re: Inherent code performance advantages of D over C?
On Thursday, 12 December 2013 at 11:16:07 UTC, Dicebot wrote: what does this give me over raw C to motivate the transition? So far I don't see anything convincing. Every time I write #define in one of my 8bit μC pet projects, I know a reason.
Re: OT: Your accomplishments in 2013 and plans for 2014
Heh, nice thread :) For me this year was absolutely insane. Main accomplishment pretty much says all about it - I have survived through it. Literally. Got hit by cerebral stroke (this must be the term) in previous December, almost died there - unconscious for a week, blind for a month, unable to walk for 4 more months. Still no one knows why it has happened. To own surprise have eventually recovered almost perfectly with only a few balance issues remaining. This crap has removed half of 2013 from my life though. After that I have deciding that programming in embedded/kernel C environment is just too unhealthy and something needs to be done. Noticed that Sociomantic are hiring, casually applied, surprisingly got accepted. Moved to Berlin. Have discovered that I completely dislike Germany / Berlin but working with D is just too good to just move somewhere else :) Still struggling with that internal conflict, is definitely one of issues to address in 2014. Also major goal for 2014 is to finally start devote some regular time to open-source projects instead of current chaotic rampaging migration between different points of interest in D domain.
Re: Inherent code performance advantages of D over C?
On 12/12/2013 11:12 AM, Daniel Murphy wrote: ed sillymong...@gmail.com wrote in message news:ibnfbsvxqzjxyfpnz...@forum.dlang.org... I'm writing my C code with DMD. When tested and tweaked I do a final compile with C compiler (test once more) then commit for our QA to pick up. Occasionally I'll compile with the C compiler to ensure I haven't leaked any D into the code and to minimise the #include fixups at the end. I used to do this for all my university assignments in C/C++/java. I've actually visited a course where submissions in D were allowed.
Re: GuitarHero/RockBand fans... side project anyone?
On Thursday, 12 December 2013 at 10:43:24 UTC, Manu wrote: So, I'm a massive fan of music games. I'll shamefully admit that I was tragically addicted to Dance Dance Revolution about 10 years ago. Recently, it's Guitar Hero and Rock Band. I quite like the band ensemble games, they're good party games, and great rhythm practise that's actually applicable to real instrument skills too. The problem is though, that Neversoft and Harmonix completely fucked up the GH and RB franchises. Licensing problems, fragmented tracklists. It's annoying that all the songs you want to play are spread across literally 10 or so different games, and you need to constantly change disc's if you want to play the songs you like. I've been meaning to kick off a guitar hero clone since GH2 came out. I started one years ago as a fork of my Guitar Hero song editor for PS2, and I added support for drums before GH4 or RB were conceived, but then when they announced those games they stole my thunder and it went into hibernation. I'm very keen to resurrect the project (well, start a new one, with clean code, in D). Are there any music game nerds hanging around here who would be interested in joining a side project like this? It's a lot more motivating, and much more fun to work in a small team. It's an interesting union of skills; rendering, audio processing, super-low-latency synchronisation, mini and communications processing, animation, UI and presentation. I have done all this stuff commercially, so I can act as a sort of project lead of people are interested, but haven't tried to write that sort of software before. It also seems like a good excuse to kick off a fairly large scale and performance intensive D project, which I like to do from time to time. I would be happy to help with the gui side of thing just to get DOOGLE more inline with what is required from it. Assuming DOOGLE is ok for it. It is designed to work on top of games so it is perfect for this type of thing I'm just worried of its state and being ready.
Re: GuitarHero/RockBand fans... side project anyone?
On Thursday, 12 December 2013 at 10:43:24 UTC, Manu wrote: So, I'm a massive fan of music games. I'll shamefully admit that I was tragically addicted to Dance Dance Revolution about 10 years ago. Recently, it's Guitar Hero and Rock Band. You're 6 years behind the curve =). My brother got Guitar hero 2 for Christmas one year and I was instantly hooked. Guitar Hero 3 still remains my most played game besides maybe Civilization IV. The problem is though, that Neversoft and Harmonix completely fucked up the GH and RB franchises. Licensing problems, fragmented tracklists. It's annoying that all the songs you want to play are spread across literally 10 or so different games, and you need to constantly change disc's if you want to play the songs you like. Did they ever... It's really Activision's fault for running Guitar Hero into the ground. I remember them releasing a statement around 2009 saying that they planned to release 6 new Guitar Hero games within that year alone. It was then that I knew it was over. I've been meaning to kick off a guitar hero clone since GH2 came out. I started one years ago as a fork of my Guitar Hero song editor for PS2, and I added support for drums before GH4 or RB were conceived, but then when they announced those games they stole my thunder and it went into hibernation. Have you heard of Frets on Fire? http://en.wikipedia.org/wiki/Frets_on_Fire I remember trying this out several years ago, though it didn't really have that smoothe Guitar Hero feel. I'm very keen to resurrect the project (well, start a new one, with clean code, in D). Are there any music game nerds hanging around here who would be interested in joining a side project like this? It's a lot more motivating, and much more fun to work in a small team. I wish I had the time.
Re: Inherent code performance advantages of D over C?
On 12 December 2013 21:16, Dicebot pub...@dicebot.lv wrote: On Thursday, 12 December 2013 at 09:01:17 UTC, Paulo Pinto wrote: Currently I always advocate that C and C++ development should always be done with warnings as errors enabled, coupled with static analyzers at very least during CI builds, breaking them if anything is found. I literally can't imagine any large C project surviving any long without mandatory doing all listed stuff. It gets to state of unmaintainable insanity so fast. I feel quite the opposite, I would say that about C++ personally. I've built a C codebase from the ground over the course of a decade with ~25 programmers. It takes discipline, and a certainly sense of simplicity in your solutions. I personally advocate C over C++ for this very reason, it emphasises simplicity in your solutions. It's impossible to get carried away and create the sort of unmaintainable bullshit that C++ leads to. I like C, I just find it verbose, and prone to boiler plate, which has a tendency to waste programmers time... and what is more valuable than a programmers time? That said, there are very different C projects. When I am speaking that coding C in D is less convenient than in C I don't mean some normal but performance-intensive application. I can't imagine anyone picking C motivated only by performance - it is more about being very controllable. Of course with modern optimizers C can no more be called macro assembler but it is still much much closer to that than D. To remove all smart side-effects in D you need to get rid of all druntime, avoid using some language features and resort to inline assembly relatively often. It is definitely possible and Adam has done some very nice job to prove it. But it leaves you with a very crippled language that does not even help you in sticking with that crippled subset. At this point you really start asking yourself - what does this give me over raw C to motivate the transition? So far I don't see anything convincing. I still consider C a macro assembler... I can easily (and usually do) visualise the asm output I expect the compiler to produce while I'm coding. If I'm writing performance intensive code, I am constantly disassembling and checking that the compiler is producing the code I am expecting. This feels normal to me. What would you want inline assembly for in D? Inline assembly is almost always a mistake, unless you're writing a driver. You can't possibly schedule code better than the compiler. And in my experience, without breaking the ABI, I don't know any constructs I could produce manually in assembly that I can't easily coerce the compiler to generate for me (with better scheduling). Perhaps prefetching branch prediction hinting, which the compiler would typically require running a profile guided optimisation pass to generate, but there are intrinsics to insert those manually which don't interrupt the compiler's ability to reschedule the function.
Re: DIP 52 - Implicit conversions
On Thursday, 12 December 2013 at 09:15:56 UTC, Simen Kjærås wrote: C++ has shown that having implicit conversion *by default* is a really bad idea. For instance, C# also has implicit conversion, but you have explicitly ask for it. If there's any critique of that anywhere (I expect there to be), I've been unable to find it. ...Explicitly implicit conversions?
Re: DIP 52 - Implicit conversions
On Thursday, 12 December 2013 at 11:42:23 UTC, Meta wrote: On Thursday, 12 December 2013 at 09:15:56 UTC, Simen Kjærås wrote: C++ has shown that having implicit conversion *by default* is a really bad idea. For instance, C# also has implicit conversion, but you have explicitly ask for it. If there's any critique of that anywhere (I expect there to be), I've been unable to find it. ...Explicitly implicit conversions? explicitly defined, implicitly applied.
Re: OT: Your accomplishments in 2013 and plans for 2014
On 12 December 2013 05:44, Andrej Mitrovic andrej.mitrov...@gmail.comwrote: Ok, so who's next who wants to share? Hmmm, it's been a very weird one for me. 2013: Suffered an occupational burn-out/breakdown, returned home to a beautiful quiet little seafront home on a tiny island off the east coast of Australia with around 5000 inhabitants, where I've managed to socialise as little as possible, and spend lots of time working entirely on hobby projects, while not getting paid a cent. I've had a lot of trouble with focus since burning out; don't feel like myself, but I'm starting to feel relaxed again. I've also become a competent gardener, sailor, and learned to work a chainsaw at the top of trees... 2014: Recover from my rut, finish some of my projects, maybe return to work... if I can stomach the thought of it. I'm not sure the Mrs loves the idea of me being a bum forever ;) Fortunately, my bitcoin stash is worth a fortune now, so maybe I can take a few more years off work, and dedicate myself to projects I love. Also, make more time for music, which for some reason I just haven't really touched since not feeling well... Rather un-D-related :/ ... although all my hobby projects are in D these days. I *really* need to finish std.simd. I'm kinda blocked on the unittests and portability issues...
Re: Inherent code performance advantages of D over C?
On Thursday, 12 December 2013 at 11:42:12 UTC, Manu wrote: On 12 December 2013 21:16, Dicebot pub...@dicebot.lv wrote: On Thursday, 12 December 2013 at 09:01:17 UTC, Paulo Pinto wrote: Currently I always advocate that C and C++ development should always be done with warnings as errors enabled, coupled with static analyzers at very least during CI builds, breaking them if anything is found. I literally can't imagine any large C project surviving any long without mandatory doing all listed stuff. It gets to state of unmaintainable insanity so fast. I feel quite the opposite, I would say that about C++ personally. I've built a C codebase from the ground over the course of a decade with ~25 programmers. It takes discipline, and a certainly sense of simplicity in your solutions. I personally advocate C over C++ for this very reason, it emphasises simplicity in your solutions. It's impossible to get carried away and create the sort of unmaintainable bullshit that C++ leads to. I like C, I just find it verbose, and prone to boiler plate, which has a tendency to waste programmers time... and what is more valuable than a programmers time? I favor C++ over C, thanks to the safer constructs it offers me with a type safety closer to the Pascal family of languages, that C will never be able to offer. However I tend to code very seldom in C or C++ nowadays, besides hobby projects, as the enterprise world nowadays is all about GC enabled languages, with a little C++ for performance hotspots. In any case, given my enterprise experience with subcontractors, I think it is very hard to find good developers that are able to write error free C or C++ code without lots of enforced guidelines to guide them screaming along the way. -- Paulo
Re: GuitarHero/RockBand fans... side project anyone?
On 12 December 2013 21:14, Rikki Cattermole alphaglosi...@gmail.com wrote: On Thursday, 12 December 2013 at 10:43:24 UTC, Manu wrote: So, I'm a massive fan of music games. I'll shamefully admit that I was tragically addicted to Dance Dance Revolution about 10 years ago. Recently, it's Guitar Hero and Rock Band. I quite like the band ensemble games, they're good party games, and great rhythm practise that's actually applicable to real instrument skills too. The problem is though, that Neversoft and Harmonix completely fucked up the GH and RB franchises. Licensing problems, fragmented tracklists. It's annoying that all the songs you want to play are spread across literally 10 or so different games, and you need to constantly change disc's if you want to play the songs you like. I've been meaning to kick off a guitar hero clone since GH2 came out. I started one years ago as a fork of my Guitar Hero song editor for PS2, and I added support for drums before GH4 or RB were conceived, but then when they announced those games they stole my thunder and it went into hibernation. I'm very keen to resurrect the project (well, start a new one, with clean code, in D). Are there any music game nerds hanging around here who would be interested in joining a side project like this? It's a lot more motivating, and much more fun to work in a small team. It's an interesting union of skills; rendering, audio processing, super-low-latency synchronisation, mini and communications processing, animation, UI and presentation. I have done all this stuff commercially, so I can act as a sort of project lead of people are interested, but haven't tried to write that sort of software before. It also seems like a good excuse to kick off a fairly large scale and performance intensive D project, which I like to do from time to time. I would be happy to help with the gui side of thing just to get DOOGLE more inline with what is required from it. Assuming DOOGLE is ok for it. It is designed to work on top of games so it is perfect for this type of thing I'm just worried of its state and being ready. It would be a good test for any UI framework. Hooking it up to project-specific input api, and producing project specific outputs (in the way of rendering backend). The biggest challenge for any UI system though, is tooling. You can't be expected to lay out rich and natural UI's by typing magic numbers in text files... are there's open-source tools you use for construction and layout?
Re: Inherent code performance advantages of D over C?
On Thursday, 12 December 2013 at 11:42:12 UTC, Manu wrote: I've built a C codebase from the ground over the course of a decade with ~25 programmers. It takes discipline, and a certainly sense of simplicity in your solutions. It may work if you can afford to guarantee certain level of competence of majority of programmers in the team but I think is exception in practice, not rule. Also I had a bit larger teams in mind as it tends to happen with enterprise C :) and what is more valuable than a programmers time? At some point new servers + server maintenance becomes more expensive than programmers time. Much more expensive. I still consider C a macro assembler... I can easily (and usually do) visualise the asm output I expect the compiler to produce while I'm coding. If I'm writing performance intensive code, I am constantly disassembling and checking that the compiler is producing the code I am expecting. This feels normal to me. Did you use many different compilers? I am afraid that doing that on a common basis is feat of strength beyond my imagination :) What would you want inline assembly for in D? Inline assembly is almost always a mistake, unless you're writing a driver. I can't find code Adam used to provide minimal d runtime stubs to compile C-like programs but he was forced to use in-line assembly there in few cases. Can't remember details, sorry. And of course I am speaking about drivers / kernels / barebone. I can't imagine any other domain where using C is still absolutely necessary for practical reasons. You can't possibly schedule code better than the compiler. ... I am not implying that one should do anything by hand because compiler is bad at it. I have not actually used inline assembly with C even a single time in my life. That wasn't about it.
Re: OT: Your accomplishments in 2013 and plans for 2014
On 12/12/2013 6:51 PM, Ali Çehreli wrote: On 12/12/2013 12:09 AM, Mike Parker wrote: And on a personal note, I won NaNoWriMo. Wow! If winning means completing 50K words, my daughter did the same! :) Yes, it does. Congrats to your daughter!
Re: GuitarHero/RockBand fans... side project anyone?
On Thursday, 12 December 2013 at 12:17:22 UTC, Manu wrote: On 12 December 2013 21:14, Rikki Cattermole alphaglosi...@gmail.com wrote: On Thursday, 12 December 2013 at 10:43:24 UTC, Manu wrote: So, I'm a massive fan of music games. I'll shamefully admit that I was tragically addicted to Dance Dance Revolution about 10 years ago. Recently, it's Guitar Hero and Rock Band. I quite like the band ensemble games, they're good party games, and great rhythm practise that's actually applicable to real instrument skills too. The problem is though, that Neversoft and Harmonix completely fucked up the GH and RB franchises. Licensing problems, fragmented tracklists. It's annoying that all the songs you want to play are spread across literally 10 or so different games, and you need to constantly change disc's if you want to play the songs you like. I've been meaning to kick off a guitar hero clone since GH2 came out. I started one years ago as a fork of my Guitar Hero song editor for PS2, and I added support for drums before GH4 or RB were conceived, but then when they announced those games they stole my thunder and it went into hibernation. I'm very keen to resurrect the project (well, start a new one, with clean code, in D). Are there any music game nerds hanging around here who would be interested in joining a side project like this? It's a lot more motivating, and much more fun to work in a small team. It's an interesting union of skills; rendering, audio processing, super-low-latency synchronisation, mini and communications processing, animation, UI and presentation. I have done all this stuff commercially, so I can act as a sort of project lead of people are interested, but haven't tried to write that sort of software before. It also seems like a good excuse to kick off a fairly large scale and performance intensive D project, which I like to do from time to time. I would be happy to help with the gui side of thing just to get DOOGLE more inline with what is required from it. Assuming DOOGLE is ok for it. It is designed to work on top of games so it is perfect for this type of thing I'm just worried of its state and being ready. It would be a good test for any UI framework. Hooking it up to project-specific input api, and producing project specific outputs (in the way of rendering backend). The biggest challenge for any UI system though, is tooling. You can't be expected to lay out rich and natural UI's by typing magic numbers in text files... are there's open-source tools you use for construction and layout? Currently its all hard coded. At some point I want to build a WYSIWYG editor for it. However there is a lot of infrastructure that would go into that unfortunately so not really short term goal. Its unfortunately really does need I need to do x for reason y please provide it type of thing. You can only do so much theoretical planning of the library without getting bored.
Re: GuitarHero/RockBand fans... side project anyone?
On 12 December 2013 21:37, Meta jared...@gmail.com wrote: On Thursday, 12 December 2013 at 10:43:24 UTC, Manu wrote: So, I'm a massive fan of music games. I'll shamefully admit that I was tragically addicted to Dance Dance Revolution about 10 years ago. Recently, it's Guitar Hero and Rock Band. You're 6 years behind the curve =). My brother got Guitar hero 2 for Christmas one year and I was instantly hooked. Guitar Hero 3 still remains my most played game besides maybe Civilization IV. I wouldn't say I'm 6 years behind... I just haven't gotten over it yet. I'm like that. I still break out my Amiga from time to time when I feel nostalgic (I was stuck on that wagon way too long aswell). I was on to Guitar Hero from day one. I imported it from the US shortly after launch, so I had it 6 months before everyone else in Australia (we always get stuff a year late!). During GH1, 2, 3 (world tour), there was a big custom-song community, with loads of torrents of the bootleg PS2 game, re-fitted with custom songs floating around on the internets. I was involved in the birth of the GH custom song movement, initially reverse engineering the PS2 song formats so I could import the songs off the PS2 disc's into my custom engine (I wanted to play on other platforms initially). Others got involved, people started working on tools. My GH engine transformed into an editor which was the go-to tool for creating custom guitar hero songs, and I even heard word that some preferred it to the in-house tools at Harmonix and Neversoft, apparently they had staff who preferred to use my editor at work ;) I met with some of the guys at GDC and asked them where my credit was at the end of the game... and maybe a cheque would be nice (that game was worth billions!). They become uncomfortable ;) The problem is though, that Neversoft and Harmonix completely fucked up the GH and RB franchises. Licensing problems, fragmented tracklists. It's annoying that all the songs you want to play are spread across literally 10 or so different games, and you need to constantly change disc's if you want to play the songs you like. Did they ever... It's really Activision's fault for running Guitar Hero into the ground. I remember them releasing a statement around 2009 saying that they planned to release 6 new Guitar Hero games within that year alone. It was then that I knew it was over. Indeed. So the first goal of my resurrected project, is to collate the entire back-catalog into one unified experience. I was involved in a similar project called StepMania back when, which solved the same problem with Dance Dance Revolution. Guitar Hero/Rock Band needs the same treatment. It also needs a proper editor and a webstore allowing any indy musicians to create songs and sell them for a dollar each. Nothing gets you into a bands songs more than physically playing them over and over again with friends. I've been meaning to kick off a guitar hero clone since GH2 came out. I started one years ago as a fork of my Guitar Hero song editor for PS2, and I added support for drums before GH4 or RB were conceived, but then when they announced those games they stole my thunder and it went into hibernation. Have you heard of Frets on Fire? http://en.wikipedia.org/wiki/ Frets_on_Fire I remember trying this out several years ago, though it didn't really have that smoothe Guitar Hero feel. Yes, it's fucking terrible. It's also written in Java, which might partly explain the first bit... Fortunately, I'm a professional, and I'm certain I can accurately reproduce the feel of the proper games. My editor already does. It just needs to be fleshed out with lots of presentation work. I also expect it to run on my consoles. Obviously console ports are important! :) I'm very keen to resurrect the project (well, start a new one, with clean code, in D). Are there any music game nerds hanging around here who would be interested in joining a side project like this? It's a lot more motivating, and much more fun to work in a small team. I wish I had the time. I don't really have time either, but some things just have to be done! :)
Re: GuitarHero/RockBand fans... side project anyone?
On 12/12/2013 7:43 PM, Manu wrote: Are there any music game nerds hanging around here who would be interested in joining a side project like this? It's a lot more motivating, and much more fun to work in a small team. It's an interesting union of skills; rendering, audio processing, super-low-latency synchronisation, mini and communications processing, animation, UI and presentation. I have done all this stuff commercially, so I can act as a sort of project lead of people are interested, but haven't tried to write that sort of software before. It also seems like a good excuse to kick off a fairly large scale and performance intensive D project, which I like to do from time to time. I've never played any of those guitar games, but I do play guitar. And this project sounds intriguing. Time management is always a problem for me, but I could be motivated to put a few hours a week into something like this in the New Year.
Re: GuitarHero/RockBand fans... side project anyone?
On 12 December 2013 22:35, Mike Parker aldac...@gmail.com wrote: On 12/12/2013 7:43 PM, Manu wrote: Are there any music game nerds hanging around here who would be interested in joining a side project like this? It's a lot more motivating, and much more fun to work in a small team. It's an interesting union of skills; rendering, audio processing, super-low-latency synchronisation, mini and communications processing, animation, UI and presentation. I have done all this stuff commercially, so I can act as a sort of project lead of people are interested, but haven't tried to write that sort of software before. It also seems like a good excuse to kick off a fairly large scale and performance intensive D project, which I like to do from time to time. I've never played any of those guitar games, but I do play guitar. And this project sounds intriguing. Time management is always a problem for me, but I could be motivated to put a few hours a week into something like this in the New Year. Yeah, it's a problem for me too. That's the main reason I post for interest from others. If there's team involvement, I feel a greater sense of enthusiasm and responsibility, and it becomes a lot harder to ignore :) What's your key skillset? Mmm, I'm a guitar player too, and have decent rhythm, but never really played drums. Guitar Hero/Rock Band alone took me from not being able to play drums, to being able to physically play drums reasonably well. I knew I reached a milestone when I was playing Neil Peart songs without trouble! :P Actually, these games are much better for drums than guitar, since the drums on hardest difficulty is an accurate representation of the recording artist's skills, whereas the little plastic guitars are only good for hand-eye coordination and rhythmic skill.
Re: Inherent code performance advantages of D over C?
On 12 December 2013 22:21, Dicebot pub...@dicebot.lv wrote: On Thursday, 12 December 2013 at 11:42:12 UTC, Manu wrote: I've built a C codebase from the ground over the course of a decade with ~25 programmers. It takes discipline, and a certainly sense of simplicity in your solutions. It may work if you can afford to guarantee certain level of competence of majority of programmers in the team but I think is exception in practice, not rule. Also I had a bit larger teams in mind as it tends to happen with enterprise C :) Completely true. Fortunately I've always worked on tech/engine teams, which are mostly populated with seniors, or competent up-and-comers. and what is more valuable than a programmers time? At some point new servers + server maintenance becomes more expensive than programmers time. Much more expensive. But that's not a concern for typical programmers. That the responsibility of sysadmins. What I meant was, 'what's more valuable [to a programmer]...' I still consider C a macro assembler... I can easily (and usually do) visualise the asm output I expect the compiler to produce while I'm coding. If I'm writing performance intensive code, I am constantly disassembling and checking that the compiler is producing the code I am expecting. This feels normal to me. Did you use many different compilers? I am afraid that doing that on a common basis is feat of strength beyond my imagination :) Yup. Over the past 10 years, my day job involved: VisualC (it's changed a LOT over the years), GCC (for many architectures), CodeWarrior (for many architectures), SNC (for many architectures), Clang, and some other proprietary compilers. You learn each of their quirks with time, and also how to reconcile the differences between them. You also learn every preprocessor trick imaginable... Worse than the compilers is the standard libraries, which are anything but standard. In the end the ONLY function from the CRT that we called, was sprintf(). We had our own implementations of everything else we used. I'm absolutely conscious of these sorts of issues when I consider my approach to D. Many of my vocal opinions stem from a desire to mitigate these sorts of problems in the future, and make sure it is possible to directly express codegen concepts that I've previously only been able to indirectly express in C compilers, which often requires some coercion for different compilers, and invariably leads to #ifdef. It's important to be able to explicitly express low-level codegen concepts, even if these are rarely used features, it means it's possible to write code that is reliably portable. Sadly, most people really don't care too much about portability. What would you want inline assembly for in D? Inline assembly is almost always a mistake, unless you're writing a driver. I can't find code Adam used to provide minimal d runtime stubs to compile C-like programs but he was forced to use in-line assembly there in few cases. Can't remember details, sorry. Right. It's usually necessarily for hacks that have to interact with, or bend/subvert the ABI. But that's a pretty rare necessity, not a requirement in day-to-day code. And of course I am speaking about drivers / kernels / barebone. I can't imagine any other domain where using C is still absolutely necessary for practical reasons. You mean C-like-native-languages? There's not really anything C offers that C++/D doesn't also offer at the lowest level. Our choice to use C rather than C++ was in a sense, a funny way to enforce a coding standard. Like I say, it forces simplicity, and a consistent approach to problems. You can't possibly schedule code better than the compiler. ... I am not implying that one should do anything by hand because compiler is bad at it. I have not actually used inline assembly with C even a single time in my life. That wasn't about it. The only thing I've ever had to use it for in recent years is manually fiddling with flags registers, or interacting with hardware-specific concepts that C/C++ doesn't have ways to express (interrupt levels, privilege control, MMU control, context switching). Also, SIMD. C++ compilers traditionally didn't have any vector support, so before intrinsics were common, you had to do all SIMD code in asm _ .. Fortunately, that's a thing of the past.
Re: GuitarHero/RockBand fans... side project anyone?
On 12/12/2013 9:50 PM, Manu wrote: What's your key skillset? I've been making dinky little 2D games for years. So I've got what's required for that much down pretty well (simple AI, networking, 2D graphics, basic audio). I've also dabbled with 3D, I've never done anything complex there beyond simple terrain rendering, though.
Re: OT: Your accomplishments in 2013 and plans for 2014
On 12 December 2013 11:07, Francesco Cattoglio francesco.cattog...@gmail.com wrote: On Thursday, 12 December 2013 at 10:51:29 UTC, Iain Buclaw wrote: On 12 December 2013 10:48, Iain Buclaw ibuc...@gdcproject.org wrote: On 12 December 2013 10:36, Joseph Rushton Wakeling joseph.wakel...@webdrake.net wrote: La situazione corrente chiaramente non è buono ... :-( Diciamo non buona abbastanza ;) I like Italy a lot, don't get me wrong, but I think I need a decent experience somewhere in northen Europe if I want to find any good chance for professional growth. Where in Italy are you based, out of curiosity? Milano right now. But no, I don't support neither Milan nor Inter :D Sì, non è affatto buono. Most of my recent friends (and my partner) have moved from Spain or Italy in the last year or two. The street I live on has quite literally turned into a little italy. You said Brighton, didn't you? Yes, moved to Brighton. :-) Minus the mafia. ;) Trust me, some kind of mafia is everywhere :P We have an idiom here: Tutto il mondo è paese Haha, :o)
Re: GuitarHero/RockBand fans... side project anyone?
On Thursday, 12 December 2013 at 12:57:42 UTC, Manu wrote: the drums on hardest difficulty is an accurate representation of the recording artist's skills. Well apart from dynamic control* and any real sense of groove/feel. There a lot more to being a drummer than just hitting the drums like a metronome with arms. Nevertheless, it's a lot more representative than the guitars and it does teach some of the necessary skills. *or did that get included later in the franchise?
Re: GuitarHero/RockBand fans... side project anyone?
On Thursday, 12 December 2013 at 10:43:24 UTC, Manu wrote: I'm very keen to resurrect the project (well, start a new one, with clean code, in D). Are there any music game nerds hanging around here who would be interested in joining a side project like this? It's a lot more motivating, and much more fun to work in a small team. I absolutely agree, small teams keep you motivated and discussing ideas makes the work so much faster. I can tell you I am interested. I have been thinking about music-based games for quite a long time, and even took part of the team that produced a music-based game in a Videogame Design and Programming class in University. Unfortunately the group leader was... well... a bad leader in my opinion, and the tool used was Unity. This said, if you plan on starting your code from scratch, you might actually want to do something different from Guitar Hero. EG: Have you ever played Synaesthete? https://www.youtube.com/watch?v=Lp0Gasls0Sg I find it both amazing and ADDICTING AS HELL, every time I listen to the songs I feel like playing it over and over and over again.
Re: OT: Your accomplishments in 2013 and plans for 2014
On Thursday, 12 December 2013 at 09:21:46 UTC, monarch_dodra wrote: On Wednesday, 11 December 2013 at 19:45:25 UTC, Andrej Mitrovic wrote: As for my future plans, I'm hoping to land myself a nice programming-related job next year. I've never had a programming job, most of the paid work I ever did was physical work, such as drilling through bricks, rock, concrete, installing and repairing air conditioners, installing central heating systems, lighting and electrical work, and stuff like that. I'm actually baffled to hear that someone of your caliber has is not a professional programmer. Passion and theory alone will only get you so far... (IMO). So, I hope you land yourself that job. clip Andrej is like Matt Damon's character in Good Will Hunting (hopefully without all the psychological issues). Good luck in the job hunt. I am sort of the Anti-Andrej. My big accomplishment for 2013 was to complete my Ph.D. in Computer Science (after many years), but I am actually not a fantastic programmer. My degree is in 'theoretical' computer science, a number of the profs in my research group would likely have been happy to do all their work with just paper and pencils. I kept asking my supervisor to let me do some implementation project as part of my research, but he kept answering No, it will take too long. Finally, a reviewer for one of our papers said the only way he would except it was if we included 'experimental results'. So I got to implement something, and of course I used D! Considering I have a BES and M.Sc. in Geography, and no extensive math background, I figure getting a Ph.D. in CS is a bit of a coup on my part. With that out of the way my goal for 2014 is to improve as a programmer and hopefully start making some contributions to the D community. I actually started making some small documentation corrections to various D projects this past year, and want to work my way up to something more substantial. Congratulations to all the new parents out there. Cheers, Craig
Re: OT: Your accomplishments in 2013 and plans for 2014
On 12/12/13 11:48, Iain Buclaw wrote: Sì, non è affatto buono. Most of my recent friends (and my partner) have moved from Spain or Italy in the last year or two. The street I live on has quite literally turned into a little italy. Quite apart from any other reason, you get loads of people coming to Brighton for the language schools, no? But the sad thing is almost all the talented young Italians I know are considering when and how they should move somewhere else. As for the mafia -- they get everywhere. ;-) You'd be amazed how many legit businesses in the UK are actually mafia investments.
Re: OT: Your accomplishments in 2013 and plans for 2014
On 12/12/13 10:21, monarch_dodra wrote: I'm actually baffled to hear that someone of your caliber has is not a professional programmer. Passion and theory alone will only get you so far... (IMO). I don't know if this speaks to Andrej's situation, but you'd be amazed at how much it can matter in some countries that one doesn't have a degree or a professional qualification. Somehow an actual record of excellent work doesn't cut it in some places. So, I hope you land yourself that job. Me too -- good luck! :-)
Re: OT: Your accomplishments in 2013 and plans for 2014
On Wednesday, 11 December 2013 at 19:45:25 UTC, Andrej Mitrovic wrote: I thought we'd enjoy a bit of reminiscing of the past year and talk about our plans for the future, whether it's something personal or D-related that anyone is willing to publicly talk about. It should be a fun topic, or so I hope! :) So let me begin.. Generally this has been an awesome year for me. This year I've become a part of the D core team, which is not something I even planned for, but I'm really grateful it happened. It's an awesome team to be in! Another thing that happened, is that after many years promising myself that this year was going to be the one where I get in shape and live a healthy life, it turns out that 2013 was that year! I've lost 20 Kg (44 lbs) this year and now my BMI is in the normal range at around 22.4 BMI. It was 28.4 BMI at 95 KG (209 lbs) at the start of the year. It wasn't just frequent exercise that helped me lose weight. I started eating healthy food, and now spinach, kale, beets, and other vegetables are a permanent part of my diet. I wouldn't dream of saying this last year, but steamed veggies are absolutely delicious!! As for my future plans, I'm hoping to land myself a nice programming-related job next year. I've never had a programming job, most of the paid work I ever did was physical work, such as drilling through bricks, rock, concrete, installing and repairing air conditioners, installing central heating systems, lighting and electrical work, and stuff like that. I also want to and plan to study algorithms this year. Whenever some algorithm-related discussion popped up in the newsgroups I would typically avoid giving any input as most of the conversation would go over my head. But I'm gonna bite down and study hard, I really want to grok it. Ok, so who's next who wants to share? 2013: Got myself accepted and funded for a Physics PhD to do research in to data-analysis techniques for magnetic-containment fusion. Completed my research masters, as a matter of fact I'm making the final corrections to my thesis now. Started the PhD and I'm learning at a greatly accelerated rate compared to previous study. It's great. Learned a lot more about various bits of programming, thanks mostly to D and its community. Cheers :) 2014: Learning. Learning learning learning. Research. Research research research. I'd love to get back in to playing music regularly. Coding and reading textbooks/papers every waking hour is too much. Get in shape. Again, too much time reading and coding. Complete a few of my D related projects. I'm terrible for starting things and then abandoning them before they properly take shape.
Re: DIP 52 - Implicit conversions
On Wednesday, 11 December 2013 at 21:00:19 UTC, Joseph Rushton Wakeling wrote: On 11/12/13 13:44, Simen Kjærås wrote: I've tried to figure out good ways to add some sorely-needed implicit conversions to the language, but I'm sure there are details that need to be ironed out. In other words - destroy! Since you brought up std.complex: some of the issues here are subtle. For example, it's appropriate to allow implicit conversion from numerical = Complex (although this can be done fairly readily by just calling complex(x) where x is a numerical type); it's also appropriate to allow implicit conversion from Imaginary = Complex; but it'd be wrong to allow implicit conversion from numerical = Imaginary. Conversely, I'm not certain whether it'd be appropriate to allow implicit conversion Complex = numerical or Complex = Imaginary, even if the imaginary or real parts respectively were zero. I don't think Imaginary should exist at all. Mathematically, it's nonsense. It's exactly like defining a NegativeInteger. It has horrible properties, such as, it's not closed under multiplication! I don't think there are many applications for pure imaginary numbers, I tried to come up with one but failed. Kahan only provides one example in his paper, and it's contrived. It eliminates one subtlety but introduces far more. In practice it is always far better to just operate directly on the real and imaginary parts.
Re: GuitarHero/RockBand fans... side project anyone?
Have you heard of Frets on Fire? http://en.wikipedia.org/wiki/ Frets_on_Fire I remember trying this out several years ago, though it didn't really have that smoothe Guitar Hero feel. Yes, it's fucking terrible. It's also written in Java, which might partly explain the first bit... I'm pretty sure it has been written in python (to prove one could write games using python), also there is FoFix a (better?) clone also python. My kids do play FoFix from time to time. But nothing beats minecraft.
Re: DIP 52 - Implicit conversions
On 12/12/13 15:31, Don wrote: I don't think Imaginary should exist at all. Mathematically, it's nonsense. It's exactly like defining a NegativeInteger. It has horrible properties, such as, it's not closed under multiplication! I don't think there are many applications for pure imaginary numbers, I tried to come up with one but failed. Kahan only provides one example in his paper, and it's contrived. It eliminates one subtlety but introduces far more. In practice it is always far better to just operate directly on the real and imaginary parts. Well, there have been discussions and requests for it recently because of the errors that can arise when you take 2 numbers, one with a purely imaginary part, and multiply -- which arise out of the fact that then you have to contend with a 0 * something calculation. AFAICS there are also some benefits of precision that one can gain for some calculations.
Re: DIP 52 - Implicit conversions
On 12/12/13 00:08, Simen Kjærås wrote: To be honest, I don't find that subtle - it's basic dimensional analysis. :p The maths is simple, the subtleties come with the social side of managing a codebase and the potential for someone to want some feature because it serves their use-case, and a reviewer accidentally missing that it might open a horrible can of worms somewhere else ... :-) I'm certain it would not. At least in my mind, that's almost as bad as allowing implicit conversion from string to integer, based on the confused notion that it *might* be valid. TBH I agree. I just didn't want to assume that there wasn't some valid case someone else might make, that I hadn't considered.
Re: DIP 52 - Implicit conversions
On 12/12/13 10:15, Simen Kjærås wrote: Simply put, implicit conversions are not bad, nor good. They are exactly what you use them for. Conversely, sometimes you want to be able to say, absolutely explicitly, This function _must_ receive input of _this exact type_ with no implicit conversion allowed even if it normally would be. You and I both encountered that with Don's BigInt code, and I found his solution to be elegant but fragile (inasmuch as it's easy for a later maintainer to misunderstand why it's the way it is and wrongly correct it). So, you might want to factor that need also into your DIP.
Re: GuitarHero/RockBand fans... side project anyone?
On 13 December 2013 00:19, John Colvin john.loughran.col...@gmail.comwrote: On Thursday, 12 December 2013 at 12:57:42 UTC, Manu wrote: the drums on hardest difficulty is an accurate representation of the recording artist's skills. Well apart from dynamic control* and any real sense of groove/feel. There a lot more to being a drummer than just hitting the drums like a metronome with arms. Nevertheless, it's a lot more representative than the guitars and it does teach some of the necessary skills. *or did that get included later in the franchise? Sure. But you can still work on those things while playing the game, those aspects of your performance just won't be accurately recorded or scored. My drums (from 'band hero', typically considered the best ones they ever made) do report impact sensitivity, although it's not used by the game for some reason. For me, I never played drums, and there's a lot of motor skills required to tightly synchronise all those limbs that are perfectly applicable skills I developed while playing those games. I was so sloppy synchronising hands and feet at first, and my left hand was kinda gump, would never keep up with my right hand in rolls, and when i tried to synchronise fast double kicks with hand rolls... keeping all those motions tight is stuff I wouldn't have if I didn't play those games.
Re: GuitarHero/RockBand fans... side project anyone?
On Thursday, 12 December 2013 at 14:38:54 UTC, Arjan wrote: My kids do play FoFix from time to time. But nothing beats minecraft. In terms of resource hog? Sure thing! :D
Re: GuitarHero/RockBand fans... side project anyone?
On 13 December 2013 00:38, Arjan ar...@ask.me.to wrote: Have you heard of Frets on Fire? http://en.wikipedia.org/wiki/ Frets_on_Fire I remember trying this out several years ago, though it didn't really have that smoothe Guitar Hero feel. Yes, it's fucking terrible. It's also written in Java, which might partly explain the first bit... I'm pretty sure it has been written in python (to prove one could write games using python), also there is FoFix a (better?) clone also python. My kids do play FoFix from time to time. But nothing beats minecraft. Oh yeah, you're probably right. I just remembered that it wasn't written in a real language ;) It doesn't feel very tight, and the synchronisation window is super wide. I suspect this is because the libraries they use aren't really meant for low-latency real-time use, and they have no access to the hardware/drivers directly, so they have to allow for a huge margin of error.
Re: GuitarHero/RockBand fans... side project anyone?
On Thursday, 12 December 2013 at 14:52:10 UTC, Manu wrote: On 13 December 2013 00:38, Arjan ar...@ask.me.to wrote: Have you heard of Frets on Fire? http://en.wikipedia.org/wiki/ Frets_on_Fire I remember trying this out several years ago, though it didn't really have that smoothe Guitar Hero feel. Yes, it's fucking terrible. It's also written in Java, which might partly explain the first bit... I'm pretty sure it has been written in python (to prove one could write games using python), also there is FoFix a (better?) clone also python. My kids do play FoFix from time to time. But nothing beats minecraft. Oh yeah, you're probably right. I just remembered that it wasn't written in a real language ;) It doesn't feel very tight, and the synchronisation window is super wide. I suspect this is because the libraries they use aren't really meant for low-latency real-time use, and they have no access to the hardware/drivers directly, so they have to allow for a huge margin of error. I have no idea what is required for a game like that, but I've been on a project where python is used in machine control (wafer handling) at control frequencies / sampling rates up to 100Hz. Although 100Hz was not achieved easily. Indeed no direct access to hw/drivers from python it usually goes through c-wrappers.
Re: GuitarHero/RockBand fans... side project anyone?
On 13 December 2013 00:18, Francesco Cattoglio francesco.cattog...@gmail.com wrote: On Thursday, 12 December 2013 at 10:43:24 UTC, Manu wrote: I'm very keen to resurrect the project (well, start a new one, with clean code, in D). Are there any music game nerds hanging around here who would be interested in joining a side project like this? It's a lot more motivating, and much more fun to work in a small team. I absolutely agree, small teams keep you motivated and discussing ideas makes the work so much faster. I can tell you I am interested. I have been thinking about music-based games for quite a long time, and even took part of the team that produced a music-based game in a Videogame Design and Programming class in University. Unfortunately the group leader was... well... a bad leader in my opinion, and the tool used was Unity. This said, if you plan on starting your code from scratch, you might actually want to do something different from Guitar Hero. EG: Have you ever played Synaesthete? https://www.youtube.com/watch?v=Lp0Gasls0Sg I find it both amazing and ADDICTING AS HELL, every time I listen to the songs I feel like playing it over and over and over again. It looks like Beatmania meets Geometry Wars meets... something that I can't quite recall what it is. It still has the element of a timed sequences against a music track, so that maps perfectly. The presentation of that game is a project in itself, but I don't see why such an extensible system shouldn't be supported. For me, the entire point is to make a GH/RB engine. I want to play those games, but I'm sick of swapping disc's all the time, and I also want to open it up to a proper custom song community. I like to make projects like that as extensible and customisable as possible. You could add a Synaesthete plugin for instance, or probably more universally, add support for any other instruments or presentation modes people like. Bring back dance pad mode! ;) The core of the work is an extensible frontend, and a good input recognition system combined with tight synchronisation. The frontend, UI, presentation, etc is probably 80% of the work. I can probably knock the GAME part together in a weekend. It needs a good extensible theme system where the front-end experience can be scripted to mimic existing games, or evolved to do new and interesting things that people can tinker with. StepMania did this well. There were community skins for the official Dance Dance Revolution games, but the default one extended the game in ways Konami never did. People also added other game modes/styles on top of it which made it an interesting game in its own right, even though it stated as an engine/emulator for an existing game. I think the starting point is important though to gain initial users/contributors, who all agree on initial goals, ie, to accurately emulate the GH/RB experience.
Re: GuitarHero/RockBand fans... side project anyone?
On 2013-12-12 11:43, Manu wrote: So, I'm a massive fan of music games. I'll shamefully admit that I was tragically addicted to Dance Dance Revolution about 10 years ago. Recently, it's Guitar Hero and Rock Band. I quite like the band ensemble games, they're good party games, and great rhythm practise that's actually applicable to real instrument skills too. I wouldn't agree with that, at least not for Guitar Hero. I had issues with the timing. When I played I tried to time the music, but that didn't work. Instead I had to time the screen to get any points. The problem is though, that Neversoft and Harmonix completely fucked up the GH and RB franchises. Licensing problems, fragmented tracklists. It's annoying that all the songs you want to play are spread across literally 10 or so different games, and you need to constantly change disc's if you want to play the songs you like. I've been meaning to kick off a guitar hero clone since GH2 came out. I started one years ago as a fork of my Guitar Hero song editor for PS2, and I added support for drums before GH4 or RB were conceived, but then when they announced those games they stole my thunder and it went into hibernation. I'm very keen to resurrect the project (well, start a new one, with clean code, in D). Are there any music game nerds hanging around here who would be interested in joining a side project like this? It's a lot more motivating, and much more fun to work in a small team. Cool idea. -- /Jacob Carlborg
Re: Inherent code performance advantages of D over C?
On Thursday, 12 December 2013 at 12:21:31 UTC, Dicebot wrote: I can't find code Adam used to provide minimal d runtime stubs to compile C-like programs but he was forced to use in-line assembly there in few cases. Can't remember details, sorry. http://arsdnet.net/dcode/minimal.zip (not sure if it still compiles on new dmd, I haven't played with it for months and druntime is a moving target) The main inline asm usage was to make system calls on Linux without libc or to poke the hardware on bare metal; there isn't a lot of it that is strictly necessary. On Thursday, 12 December 2013 at 11:16:07 UTC, Dicebot wrote: But it leaves you with a very crippled language that does not even help you in sticking with that crippled subset. At this point you really start asking yourself - what does this give me over raw C to motivate the transition? So far I don't see anything convincing. There's still some nice benefits, you can use the compile time stuff of D, exceptions, classes, custom array types; a lot of the language actually works if you spend the time on it. Though i never did anything serious with it, I stopped at the proof of concept phase.
Re: DIP 52 - Implicit conversions
On 12/12/13 6:31 AM, Don wrote: On Wednesday, 11 December 2013 at 21:00:19 UTC, Joseph Rushton Wakeling wrote: On 11/12/13 13:44, Simen Kjærås wrote: I've tried to figure out good ways to add some sorely-needed implicit conversions to the language, but I'm sure there are details that need to be ironed out. In other words - destroy! Since you brought up std.complex: some of the issues here are subtle. For example, it's appropriate to allow implicit conversion from numerical = Complex (although this can be done fairly readily by just calling complex(x) where x is a numerical type); it's also appropriate to allow implicit conversion from Imaginary = Complex; but it'd be wrong to allow implicit conversion from numerical = Imaginary. Conversely, I'm not certain whether it'd be appropriate to allow implicit conversion Complex = numerical or Complex = Imaginary, even if the imaginary or real parts respectively were zero. I don't think Imaginary should exist at all. Mathematically, it's nonsense. It's exactly like defining a NegativeInteger. It has horrible properties, such as, it's not closed under multiplication! I don't think there are many applications for pure imaginary numbers, I tried to come up with one but failed. Kahan only provides one example in his paper, and it's contrived. It eliminates one subtlety but introduces far more. In practice it is always far better to just operate directly on the real and imaginary parts. Great. I'm all for keeping it simple :o). Can you fix Kahan's example (or class of examples) with a glorious hack and call it a day? Andrei
Re: DIP 52 - Implicit conversions
On 12/12/13 17:04, Andrei Alexandrescu wrote: Great. I'm all for keeping it simple :o). Can you fix Kahan's example (or class of examples) with a glorious hack and call it a day? FWIW: I intend to land the Imaginary type code I've been working on, but I'll have no problem if it gets rejected out of hand; it's been a worthwhile learning exercise. OTOH, if I can be pointed to Kahan's example, I can also take a look at workarounds for that instead.
Re: GuitarHero/RockBand fans... side project anyone?
On 13 December 2013 01:47, Jacob Carlborg d...@me.com wrote: On 2013-12-12 11:43, Manu wrote: So, I'm a massive fan of music games. I'll shamefully admit that I was tragically addicted to Dance Dance Revolution about 10 years ago. Recently, it's Guitar Hero and Rock Band. I quite like the band ensemble games, they're good party games, and great rhythm practise that's actually applicable to real instrument skills too. I wouldn't agree with that, at least not for Guitar Hero. I had issues with the timing. When I played I tried to time the music, but that didn't work. Instead I had to time the screen to get any points. Sounds like your system was calibrated poorly, or there is latency in your AV setup, or your TV/stereo is cheap. There's lots of sources of latency that can affect those games. You just have to make sure to eliminate them before you can play it properly. I can easily play those games without looking at the screen at all. But I did need to do some fiddling to get it properly synchronised. I felt about 30-40ms latency when I first switched to the 360 versions. The old PS2 games were much better since they had no digital outputs, there's no buffering anywhere along the chain. Still depends on your TV displaying the signal it receives immediately though. The problem is though, that Neversoft and Harmonix completely fucked up the GH and RB franchises. Licensing problems, fragmented tracklists. It's annoying that all the songs you want to play are spread across literally 10 or so different games, and you need to constantly change disc's if you want to play the songs you like. I've been meaning to kick off a guitar hero clone since GH2 came out. I started one years ago as a fork of my Guitar Hero song editor for PS2, and I added support for drums before GH4 or RB were conceived, but then when they announced those games they stole my thunder and it went into hibernation. I'm very keen to resurrect the project (well, start a new one, with clean code, in D). Are there any music game nerds hanging around here who would be interested in joining a side project like this? It's a lot more motivating, and much more fun to work in a small team. Cool idea. -- /Jacob Carlborg
Re: OT: Your accomplishments in 2013 and plans for 2014
2013 was a very bizarre year for me; I ended up doing three things I never expected that I'd actually do: 1) got a dog, 2) joined a church, and 3) started writing a book (on D!) My todo list for 2014, remember most of these probably won't actually get done: * get my finances fixed up after a weak 2012 and downright awful 2013. I might have to get a new job but I really don't want to do that. I like writing D from home, just my D clients don't have the cashflow like they used to :( * Finish my D book in time for dconf. This is well ahead of the publisher's schedule, but they said if I can write it that fast, they'll move things up. Right now though, I'm barely keeping up with their deadlines so idk if this is realistic. * speaking of dconf, I *might* even go this year, and visit my parents while i'm on that side of the country. But I've never been on a real airplane before and I kinda like it that way so we'll see. * I want to get back into blogging. Been saying this for years but I really should actually do it. Same with writing some games, I really really want do write the RPG that I learned how to program to write one of these days! * My candidates for std.net.http and arsd.minigui should be finished at some point too. lol it is like my whole life revolves around D. But the rest of it I'll just do as it comes.
Re: OT: Your accomplishments in 2013 and plans for 2014
On Thursday, 12 December 2013 at 14:28:41 UTC, Joseph Rushton Wakeling wrote: On 12/12/13 10:21, monarch_dodra wrote: I'm actually baffled to hear that someone of your caliber has is not a professional programmer. Passion and theory alone will only get you so far... (IMO). I don't know if this speaks to Andrej's situation, but you'd be amazed at how much it can matter in some countries that one doesn't have a degree or a professional qualification. Somehow an actual record of excellent work doesn't cut it in some places. I think it is more of a stereotype nowadays. Still true for some extremely conservative areas like banking but in general companies become increasingly aware of fact that they simply can't afford that attitude anymore because of global lack of programmers. It has changed a lot as long as I have been observing the industry and I am only doing it for ~6 years.
Re: OT: Your accomplishments in 2013 and plans for 2014
On Thursday, 12 December 2013 at 16:21:38 UTC, Adam D. Ruppe wrote: * Finish my D book in time for dconf. This is well ahead of the publisher's schedule, but they said if I can write it that fast, they'll move things up. Right now though, I'm barely keeping up with their deadlines so idk if this is realistic. Really looking forward that one :) Need moar books!
Re: OT: Your accomplishments in 2013 and plans for 2014
On Thu, Dec 12, 2013 at 03:28:35PM +0100, Joseph Rushton Wakeling wrote: On 12/12/13 10:21, monarch_dodra wrote: I'm actually baffled to hear that someone of your caliber has is not a professional programmer. Passion and theory alone will only get you so far... (IMO). I don't know if this speaks to Andrej's situation, but you'd be amazed at how much it can matter in some countries that one doesn't have a degree or a professional qualification. Somehow an actual record of excellent work doesn't cut it in some places. [...] My dad was wise when he advised me, many years ago, to pursue higher studies in spite of the fact that at the time I'd already mastered assembly language programming and could easily pick up any language in a short time. He told me that just because I had the ability doesn't necessarily mean people would recognize it, and that having that piece of paper (i.e., a degree) to show would open many doors. I'm very thankful I took his advice. T -- Meat: euphemism for dead animal. -- Flora
Re: GuitarHero/RockBand fans... side project anyone?
On Thursday, 12 December 2013 at 15:47:48 UTC, Jacob Carlborg wrote: On 2013-12-12 11:43, Manu wrote: So, I'm a massive fan of music games. I'll shamefully admit that I was tragically addicted to Dance Dance Revolution about 10 years ago. Recently, it's Guitar Hero and Rock Band. I quite like the band ensemble games, they're good party games, and great rhythm practise that's actually applicable to real instrument skills too. I wouldn't agree with that, at least not for Guitar Hero. I had issues with the timing. When I played I tried to time the music, but that didn't work. Instead I had to time the screen to get any points. As a lifelong musician this annoyed the hell out of me. The whole experience ends up like reading annoying flashy sheet music. Low latency is critical.
Re: GuitarHero/RockBand fans... side project anyone?
On 13 December 2013 02:28, John Colvin john.loughran.col...@gmail.comwrote: On Thursday, 12 December 2013 at 15:47:48 UTC, Jacob Carlborg wrote: On 2013-12-12 11:43, Manu wrote: So, I'm a massive fan of music games. I'll shamefully admit that I was tragically addicted to Dance Dance Revolution about 10 years ago. Recently, it's Guitar Hero and Rock Band. I quite like the band ensemble games, they're good party games, and great rhythm practise that's actually applicable to real instrument skills too. I wouldn't agree with that, at least not for Guitar Hero. I had issues with the timing. When I played I tried to time the music, but that didn't work. Instead I had to time the screen to get any points. As a lifelong musician this annoyed the hell out of me. The whole experience ends up like reading annoying flashy sheet music. Low latency is critical. It is quite sad how few people seem to know how, or make the effort to setup their system properly, or know what the typical sources of latency are... or even that there's such a thing as latency in the first place. It's possible to make it near-perfect... but when I go to other peoples houses and try to play, it never is. And then I start fiddling with their AV system for an hour while everyone get's angry at me and tells me it's perfect, and have no idea what I'm fussing about _
Re: OT: Your accomplishments in 2013 and plans for 2014
On 12 December 2013 14:24, Joseph Rushton Wakeling joseph.wakel...@webdrake.net wrote: On 12/12/13 11:48, Iain Buclaw wrote: Sě, non č affatto buono. Most of my recent friends (and my partner) have moved from Spain or Italy in the last year or two. The street I live on has quite literally turned into a little italy. Quite apart from any other reason, you get loads of people coming to Brighton for the language schools, no? But the sad thing is almost all the talented young Italians I know are considering when and how they should move somewhere else. That we do - my Spanish neighbours actually only planned to stay in the country for a year to learn English. They have since decided to stay for a further year, so I'm quite interested to see where they will go with this delaying... :)
Re: GuitarHero/RockBand fans... side project anyone?
On 12/12/13 16:47, Jacob Carlborg wrote: Instead I had to time the screen to get any points. Not defending Guitar Hero here, but sometimes it is necessary to follow visual rather than sonic cues in performance -- e.g. the brass players and others at the back of a symphony orchestra will often play ahead of musicians at the very front, because the sound takes longer to get from them to the audience. There's a lot of subtle internal stuff that goes on with different sections of the orchestra having to react and play differently in order to keep the whole together, and a lot of that needs to be be modulated by following visual cues of one kind or another from various different people, sometimes against the grain of what your ears are getting. Then there are things like some extreme contemporary music where different musicians are effectively in different tempi -- you can play with a click-track, but sometimes it's easier or preferable to have flashing lights give you your own personal tempo. Plugged-in performance isn't really my area, but it wouldn't surprise me if having to deal with latency is an occasional occupational challenge there -- can anyone confirm? :-)
Re: OT: Your accomplishments in 2013 and plans for 2014
On 12/12/13, Dicebot pub...@dicebot.lv wrote: surprisingly got accepted. Moved to Berlin. Have discovered that I completely dislike Germany / Berlin but working with D is just too good to just move somewhere else :) What didn't you like about Berlin?
Re: DIP 52 - Implicit conversions
On 12/12/13 8:09 AM, Joseph Rushton Wakeling wrote: On 12/12/13 17:04, Andrei Alexandrescu wrote: Great. I'm all for keeping it simple :o). Can you fix Kahan's example (or class of examples) with a glorious hack and call it a day? FWIW: I intend to land the Imaginary type code I've been working on, but I'll have no problem if it gets rejected out of hand; it's been a worthwhile learning exercise. OTOH, if I can be pointed to Kahan's example, I can also take a look at workarounds for that instead. A few searches returned this: http://www.eecs.berkeley.edu/Pubs/TechRpts/1992/6127.html The PDF is a scan... Andrei
Re: Inherent code performance advantages of D over C?
On 12/12/2013 3:16 AM, Dicebot wrote: To remove all smart side-effects in D you need to get rid of all druntime, avoid using some language features and resort to inline assembly relatively often. I don't see why you'd have to resort to inline assembler in D any more than in C. But it leaves you with a very crippled language Not more crippled than C is. that does not even help you in sticking with that crippled subset. Is there a point to having a compiler flag that'll warn you if you use pure? At this point you really start asking yourself - what does this give me over raw C to motivate the transition? So far I don't see anything convincing. Off the top of my head: 1. compile speed 2. dependable sizes of basic types 3. unicode 4. wchar_t that is actually usable 5. thread local storage 6. no global errno being set by the math library functions 7. proper IEEE 754 floating point 8. no preprocessor madness 9. modules 10. being able to pass array types to functions without them degenerating to pointers 11. inline assembler being a part of the language rather than an extension that is in a markedly different format for every compiler 12. forward referencing (no need to declare everything twice) 13. no need for .h files 14. no ridonculous struct tag name space with all those silly typedef struct S { ... } S; declarations. 15. no need for precompiled headers 16. struct alignment as a language feature rather than an ugly extension kludge 17. no #include guard kludges 18. #define BEGIN { is thankfully not possible 19. no need for global variables when qsorting 20. no global locale madness And if you use D features even modestly, such as auto, purity, out variables, @safe, const, etc., you can get a large improvement in clarity in function APIs.
Re: DIP 52 - Implicit conversions
On 12/12/13 18:59, Andrei Alexandrescu wrote: A few searches returned this: http://www.eecs.berkeley.edu/Pubs/TechRpts/1992/6127.html Thanks! :-)
Re: GuitarHero/RockBand fans... side project anyone?
On 12 December 2013 17:43, Joseph Rushton Wakeling joseph.wakel...@webdrake.net wrote: On 12/12/13 16:47, Jacob Carlborg wrote: Instead I had to time the screen to get any points. Not defending Guitar Hero here, but sometimes it is necessary to follow visual rather than sonic cues in performance -- e.g. the brass players and others at the back of a symphony orchestra will often play ahead of musicians at the very front, because the sound takes longer to get from them to the audience. There's a lot of subtle internal stuff that goes on with different sections of the orchestra having to react and play differently in order to keep the whole together, and a lot of that needs to be be modulated by following visual cues of one kind or another from various different people, sometimes against the grain of what your ears are getting. You know, I've never had that... but then again I haven't had the fortune of being in a band where distance between the first and back musicians is 200 metres. (Because sound doesn't travel *that* slow ;) Then there are things like some extreme contemporary music where different musicians are effectively in different tempi -- you can play with a click-track, but sometimes it's easier or preferable to have flashing lights give you your own personal tempo. Plugged-in performance isn't really my area, but it wouldn't surprise me if having to deal with latency is an occasional occupational challenge there -- can anyone confirm? :-) Only in the recording studio - if the time it takes for sound to leave your instrument, into the microphone, through the walls into the studio booth, into the mixer (and assuming digital) from the mixer to the sound card, to the DAW software mixer which is taking the recording and mixing it in with the playing tracks (optional live effects processing being done) back to the sound card, to the mixer, through the walls into the studio room, into the headphones of the receiver playing the instrument... is greater than 22ms, then the person playing experiences a delay in the time he plays to the time he hears himself in the song. If that happens, you are not in a good situation. =)
Re: GuitarHero/RockBand fans... side project anyone?
On 12/12/13 19:15, Iain Buclaw wrote: You know, I've never had that... but then again I haven't had the fortune of being in a band where distance between the first and back musicians is 200 metres. (Because sound doesn't travel *that* slow ;) Well, it's not _just_ about the speed of sound, there are also things like the speed of attack of different instruments and so on. Then again, ever been to a performance of one of those pieces that ask for some musicians to be placed in different locations round the back of the concert hall for spatial effects? Things can get fun with that ... :-) Only in the recording studio - if the time it takes for sound to leave your instrument, into the microphone, through the walls into the studio booth, into the mixer (and assuming digital) from the mixer to the sound card, to the DAW software mixer which is taking the recording and mixing it in with the playing tracks (optional live effects processing being done) back to the sound card, to the mixer, through the walls into the studio room, into the headphones of the receiver playing the instrument... is greater than 22ms, then the person playing experiences a delay in the time he plays to the time he hears himself in the song. If that happens, you are not in a good situation. =) So, if your latency is 22ms, think of how that corresponds to sound travelling in space: you only need to be separated by about 7.5m for that kind of delay to kick in.
Re: Inherent code performance advantages of D over C?
On Thursday, 12 December 2013 at 17:56:12 UTC, Walter Bright wrote: 5. thread local storage I think this is a negative. D's TLS has caused me more problems than it has fixed: for example, if you write an in-process COM server in Windows XP, it will crash the host application if you hit almost any druntime call. Why? Because the TLS stuff isn't set up properly when the dll is loaded. Windows Vista managed to fix this, but there's a lot of people who use XP, and this is a big problem. Same thing running D on bare metal. Maybe I can fix this by setting up the segment registers or reading the executable, idk, but __gshared just works in that environment, whereas tls doesn't. As I understand it, the Android and Macintosh operating systems has, or at least had, TLS problems too. I agree with the rest of them, but D's default TLS has been a big pain to me.
Re: GuitarHero/RockBand fans... side project anyone?
On Thursday, 12 December 2013 at 17:04:32 UTC, Manu wrote: On 13 December 2013 02:28, John Colvin john.loughran.col...@gmail.comwrote: On Thursday, 12 December 2013 at 15:47:48 UTC, Jacob Carlborg wrote: On 2013-12-12 11:43, Manu wrote: So, I'm a massive fan of music games. I'll shamefully admit that I was tragically addicted to Dance Dance Revolution about 10 years ago. Recently, it's Guitar Hero and Rock Band. I quite like the band ensemble games, they're good party games, and great rhythm practise that's actually applicable to real instrument skills too. I wouldn't agree with that, at least not for Guitar Hero. I had issues with the timing. When I played I tried to time the music, but that didn't work. Instead I had to time the screen to get any points. As a lifelong musician this annoyed the hell out of me. The whole experience ends up like reading annoying flashy sheet music. Low latency is critical. It is quite sad how few people seem to know how, or make the effort to setup their system properly, or know what the typical sources of latency are... or even that there's such a thing as latency in the first place. It's possible to make it near-perfect... but when I go to other peoples houses and try to play, it never is. And then I start fiddling with their AV system for an hour while everyone get's angry at me and tells me it's perfect, and have no idea what I'm fussing about _ You just described my life :p
Re: GuitarHero/RockBand fans... side project anyone?
On Thursday, 12 December 2013 at 18:31:58 UTC, Joseph Rushton Wakeling wrote: On 12/12/13 19:15, Iain Buclaw wrote: You know, I've never had that... but then again I haven't had the fortune of being in a band where distance between the first and back musicians is 200 metres. (Because sound doesn't travel *that* slow ;) Well, it's not _just_ about the speed of sound, there are also things like the speed of attack of different instruments and so on. Then again, ever been to a performance of one of those pieces that ask for some musicians to be placed in different locations round the back of the concert hall for spatial effects? Things can get fun with that ... :-) Only in the recording studio - if the time it takes for sound to leave your instrument, into the microphone, through the walls into the studio booth, into the mixer (and assuming digital) from the mixer to the sound card, to the DAW software mixer which is taking the recording and mixing it in with the playing tracks (optional live effects processing being done) back to the sound card, to the mixer, through the walls into the studio room, into the headphones of the receiver playing the instrument... is greater than 22ms, then the person playing experiences a delay in the time he plays to the time he hears himself in the song. If that happens, you are not in a good situation. =) So, if your latency is 22ms, think of how that corresponds to sound travelling in space: you only need to be separated by about 7.5m for that kind of delay to kick in. Delay between people isn't really the problem, it's delay in hearing yourself that's the killer. Although 22ms is the normally quoted limit for noticing the latency, it actually depends on frequency. Even regardless of frequency, i typically find that anything less than 64ms is ok, less than 128ms is just about bearable and anything more is a serious problem for recording a tight-sounding performance.
Re: GuitarHero/RockBand fans... side project anyone?
On Thursday, 12 December 2013 at 17:43:57 UTC, Joseph Rushton Wakeling wrote: Plugged-in performance isn't really my area, but it wouldn't surprise me if having to deal with latency is an occasional occupational challenge there -- can anyone confirm? :-) It's a big deal when recording. Low latency drivers for lower-end audio interfaces are a constant source of problems, and it's common to run out of time in the prescribed latency (defined by buffer size and the sample rate) to do the audio processing you want, leading to having to render things offline or use less cpu intensive plugins. Digital mixers of the sort that are ubiqitous at modern gigs have had a lot of work put in to them to achieve as much as possible at as low a latency as possible.
Re: Inherent code performance advantages of D over C?
On 12/12/2013 10:46 AM, Adam D. Ruppe wrote: I agree with the rest of them, but D's default TLS has been a big pain to me. You're right that TLS on XP with DLLs is a miserable problem. Fortunately, with TLS now standard at least in C++, this problem is going away. And, of course, you can use __gshared instead.
Re: GuitarHero/RockBand fans... side project anyone?
On 2013-12-12 17:16, Manu wrote: Sounds like your system was calibrated poorly, or there is latency in your AV setup, or your TV/stereo is cheap. There's lots of sources of latency that can affect those games. You just have to make sure to eliminate them before you can play it properly. I can easily play those games without looking at the screen at all. But I did need to do some fiddling to get it properly synchronised. I felt about 30-40ms latency when I first switched to the 360 versions. The old PS2 games were much better since they had no digital outputs, there's no buffering anywhere along the chain. Still depends on your TV displaying the signal it receives immediately though. Most likely a calibration issue. I don't own Guitar Hero myself so I've never tired to calibrate it. -- /Jacob Carlborg
Re: Inherent code performance advantages of D over C?
On Thursday, 12 December 2013 at 17:56:12 UTC, Walter Bright wrote: 11. inline assembler being a part of the language rather than an extension that is in a markedly different format for every compiler Ahem. If we admit that x86 is not the only ISA in exsistence, then what is (under)specified here http://dlang.org/iasm.html is a platform-specific extension.
Re: Inherent code performance advantages of D over C?
On Thu, Dec 12, 2013 at 08:57:42PM +0100, Max Samukha wrote: On Thursday, 12 December 2013 at 17:56:12 UTC, Walter Bright wrote: 11. inline assembler being a part of the language rather than an extension that is in a markedly different format for every compiler Ahem. If we admit that x86 is not the only ISA in exsistence, then what is (under)specified here http://dlang.org/iasm.html is a platform-specific extension. I've always wondered about that. What is D supposed to do with asm blocks when compiling for a CPU that *isn't* x86?? What *should* a conforming compiler do? Translate x86 asm into the target CPU's instructions? Abort compilation? None of those options sound particularly appealing to me. T -- Let's not fight disease by killing the patient. -- Sean 'Shaleh' Perry
Re: Inherent code performance advantages of D over C?
On 12/12/2013 11:57 AM, Max Samukha wrote: On Thursday, 12 December 2013 at 17:56:12 UTC, Walter Bright wrote: 11. inline assembler being a part of the language rather than an extension that is in a markedly different format for every compiler Ahem. If we admit that x86 is not the only ISA in exsistence, then what is (under)specified here http://dlang.org/iasm.html is a platform-specific extension. I know of at least 3 different C x86 inline assembler syntaxes. This is not convenient, to say the least.
Re: Inherent code performance advantages of D over C?
On Thursday, 12 December 2013 at 20:06:37 UTC, Walter Bright wrote: On 12/12/2013 11:57 AM, Max Samukha wrote: On Thursday, 12 December 2013 at 17:56:12 UTC, Walter Bright wrote: 11. inline assembler being a part of the language rather than an extension that is in a markedly different format for every compiler Ahem. If we admit that x86 is not the only ISA in exsistence, then what is (under)specified here http://dlang.org/iasm.html is a platform-specific extension. I know of at least 3 different C x86 inline assembler syntaxes. This is not convenient, to say the least. I know that too. I appreciate that you attempted to standardize the asm for x86. But the question is what to do about other targets? What about ARM, MIL, LLVM IR or whatever low-level target a D compiler may compile too? Will those be standardized as part of the language?
Re: GuitarHero/RockBand fans... side project anyone?
On 12/12/13 19:52, John Colvin wrote: Delay between people isn't really the problem, it's delay in hearing yourself that's the killer. Think people listening to people they hear with delay for their musical cues, and the people they are listening to listening to _them_ for their musical cues, and the feedback effect that might result ... :-) You have to get used to the fact that the right time to play may sound like the wrong time to play relative to some other group spatially separated from you. By the same token, if everyone plays precisely with the conductor, they don't actually play precisely together as far as the audience is concerned, which is why professional orchestras tend to play a bit behind the conductor's beat.
Re: Inherent code performance advantages of D over C?
On 12/12/2013 12:16 PM, Max Samukha wrote: But the question is what to do about other targets? What about ARM, MIL, LLVM IR or whatever low-level target a D compiler may compile too? Will those be standardized as part of the language? I certainly think they ought to be.
Re: Inherent code performance advantages of D over C?
Am 12.12.2013 21:08, schrieb H. S. Teoh: On Thu, Dec 12, 2013 at 08:57:42PM +0100, Max Samukha wrote: On Thursday, 12 December 2013 at 17:56:12 UTC, Walter Bright wrote: 11. inline assembler being a part of the language rather than an extension that is in a markedly different format for every compiler Ahem. If we admit that x86 is not the only ISA in exsistence, then what is (under)specified here http://dlang.org/iasm.html is a platform-specific extension. I've always wondered about that. What is D supposed to do with asm blocks when compiling for a CPU that *isn't* x86?? What *should* a conforming compiler do? Translate x86 asm into the target CPU's instructions? Abort compilation? None of those options sound particularly appealing to me. T I already argued a few times here that although inline assembly seems convenient, I do favour the use of external macro assemblers. There will always be some ISAs that are more special than others. So I rather have clean higher level code that drops out to assembly, that having version() for each processor and lack thereof. So far I have only used dmd, but as far as I know both gdc and ldc don't follow the same asm syntax anyway. -- Paulo
Re: Inherent code performance advantages of D over C?
On 12/12/2013 12:08 PM, H. S. Teoh wrote: I've always wondered about that. What is D supposed to do with asm blocks when compiling for a CPU that *isn't* x86?? Give an error. asm blocks should be protected with version statements for the CPU type. The asm format should be what the CPU manufacturer lists as the format in their CPU data sheets.
Re: Inherent code performance advantages of D over C?
On Thursday, 12 December 2013 at 20:24:19 UTC, Walter Bright wrote: On 12/12/2013 12:16 PM, Max Samukha wrote: But the question is what to do about other targets? What about ARM, MIL, LLVM IR or whatever low-level target a D compiler may compile too? Will those be standardized as part of the language? I certainly think they ought to be. Don't you find it somewhat alarming that both alternative compilers follow neither the standard inline asm nor ABI? Maybe it would be wiser to call those standard extentions or whatever than claiming they are part of the language?
Re: GuitarHero/RockBand fans... side project anyone?
If, when writting mini and communication processing, you meant MIDI (Musical Instrument Digital Interface) instead of mini, you may be interesting by my bindings to the RtMidi library: - https://github.com/remy-j-a-moueza/drtmidi - RtMidi website: http://www.music.mcgill.ca/~gary/rtmidi/index.html On 12/12/2013 11:43 AM, Manu wrote: So, I'm a massive fan of music games. I'll shamefully admit that I was tragically addicted to Dance Dance Revolution about 10 years ago. Recently, it's Guitar Hero and Rock Band. I quite like the band ensemble games, they're good party games, and great rhythm practise that's actually applicable to real instrument skills too. The problem is though, that Neversoft and Harmonix completely fucked up the GH and RB franchises. Licensing problems, fragmented tracklists. It's annoying that all the songs you want to play are spread across literally 10 or so different games, and you need to constantly change disc's if you want to play the songs you like. I've been meaning to kick off a guitar hero clone since GH2 came out. I started one years ago as a fork of my Guitar Hero song editor for PS2, and I added support for drums before GH4 or RB were conceived, but then when they announced those games they stole my thunder and it went into hibernation. I'm very keen to resurrect the project (well, start a new one, with clean code, in D). Are there any music game nerds hanging around here who would be interested in joining a side project like this? It's a lot more motivating, and much more fun to work in a small team. It's an interesting union of skills; rendering, audio processing, super-low-latency synchronisation, mini and communications processing, animation, UI and presentation. I have done all this stuff commercially, so I can act as a sort of project lead of people are interested, but haven't tried to write that sort of software before. It also seems like a good excuse to kick off a fairly large scale and performance intensive D project, which I like to do from time to time.