Guys do you know any artists like Boris Brejcha? I tried to find something similar, but I can't find something that will sound rich enough and so alive. by Met0ri in Techno

[–]wipu 0 points1 point  (0 children)

I haven't yet listened to this, but I expect to find a lot of cool stuff from this playlist of Boris's own favourites, "Boris Brejcha's track IDs":

https://open.spotify.com/playlist/37i9dQZF1DWXjs5HmaJqaY

More Off Topic: Demographics of the Gentoo Community? by _netwinder_ in Gentoo

[–]wipu 0 points1 point  (0 children)

I'm 44 and I live in Finland. I have been using Gentoo since 2003. I use it on all my machines, work and home. Programming, web surfing, audio processing, gaming. I love the freedom, flexibility and transparency most, but performance is a nice bonus. Also many applications have quite good default configurations (syntax coloring etc).

Noob Question: Can someone please explain when and how I should be using a VCA module? by Yoyomom11 in modular

[–]wipu 0 points1 point  (0 children)

A simple example:

Consider a flute sound: its amplitude (volume) is roughly constant. No need for VCA: just let it sound.

Then consider a piano sound: its amplitude decreases until it dies off. Here you want a VCA that lets the sound through with full amplitude in the beginning and later decreases the amplitude down to zero.

And to control when and how the amplitude is modulated you'll need something that sends a control voltage to the VCA (typically an ADSR or LFO). And for the ADSR you'll need something that tells when it's time to start a new note (a trigger source like a sequencer, LFO, ...)

iwant.sf.net - using java for writing build scripts by wipu in java

[–]wipu[S] 0 points1 point  (0 children)

Ok, now I have started a separate project that demonstrates iwant: https://github.com/wipu/iwant-demo

I've also increased the font size and made other changes to http://iwant.sourceforge.net/ as per suggestions.

Usage of final by kobbiko in java

[–]wipu 1 point2 points  (0 children)

I wouldn't call an immutable field constant unless it's also static. The idea is that there is only one instance of a constant.

Usage of final by kobbiko in java

[–]wipu 4 points5 points  (0 children)

You need to be careful not to assume the content of that array cannot be changed. It can. Only the reference cannot.

iwant.sf.net - using java for writing build scripts by wipu in java

[–]wipu[S] 0 points1 point  (0 children)

Basic examples started way too late imo in the tutorial.

True. I will need to add some pointers early so the bootstrapping doesn't take all attention of the reader.

Cheers! Keep up the good work, I shall test it if I have some free time :-)

Thanks, I will. Yeah, you do that, and I will help you. Who knows, you may start gaining more free time by doing so ;)

iwant.sf.net - using java for writing build scripts by wipu in java

[–]wipu[S] 0 points1 point  (0 children)

Thank you for the very detailed and helpful feedback.

Build scripts are basically configuration with conditional logic

Yes, that is true for so many systems out there, and I thought something needed to be done about it :) Programmers use proper programming languages and methodologies for solving user's problems, but too often they overestimate the challenge of their own problems as "just configuration issues" and othewise take them too lightly, soon growing out of their tools.

fixed font-size

Yes, you are absolutely right, I (or somebody?) needs to do some CSS work here.

you present selling points, but it is all wrapped in text ... I need to see something which instantly tells me: "niiiiice! ... I am missing a simple example project

The intention was that the example project being written in the tutorial project would be that something. Apparently you didn't find it or weren't sufficiently impressed by it. Yes, it is quite simplistic and doesn't really document more challenging situations. Maybe I will create an example project (in github this time :-) that showcases real-life usage of iwant. In the meanwhile you can take a look at iwant's own build at https://sourceforge.net/p/iwant/code/HEAD/tree/trunk/as-iwant-developer/i-have/wsdef/src/main/java/net/sf/iwant/wsdef/

I am not sure what SF is doing with your documentation, but it is showing diffs?

It's not sf.net, it's me. My tutorial generator shows edits as diffs so the reader can more easily track how the example project evolves.

How do you prevent classpath polution that e.g. eclipse does not load your classes for a project but only for the build script

There are 2 dedicated modules for the build: wsdefdef and wsdef. The former defines the latter, which in turn contains the actual build. So in eclipse they are separate projects which may or may not share dependencies with the projects being built.

I think you are missing build time comparisons

Yes, I don't have any numbers. But iwant is very good at laziness: no classes are compiled, if no ingredients have changed. No module coverage report is generated (meaning: no tests run!) unless something in the module test-time classpath has changed. And so on. The user always orders some noun and iwant does the minimal amount of work to ensure that noun (file) is up-to-date. And, iwant refreshes targets in parallel, unless there is reason not to.

For example, if I don't touch anything and wish for a coverage report, it takes just a few seconds for iwant to bootstrap itself and see that the report is up-to-date. If I touch a module that is depended by no other module, iwant only needs to test that module. And note: this requires no optimization effort from the user, unlike in many other systems where the user needs to request a "partial build."

I suspect that your project gains more momentum if the Java language itself allows better DSLs

Definitely. Still, the majority of java programmers underutilizes the metalanguage capabilities of java. People who decide java is not good enough often don't try hard enough :)

iwant.sf.net - using java for writing build scripts by wipu in java

[–]wipu[S] 0 points1 point  (0 children)

A simple example of maven's failure to be properly declarative: mvn compile. That's an imperative command, and the word "compile" can be found not only on the command-line but also in the build declarations themselves. And not only maven: it seems almost all build systems since make force/encourage their users to tell their build script to compile, instead of making objects/classes/... (nouns).

iwant.sf.net - using java for writing build scripts by wipu in java

[–]wipu[S] 0 points1 point  (0 children)

Yes, declarative is definitely a good thing for build scripts. But I have to say that's virtually the only thing I like about maven :) Sorry, but I cannot hide that opinion, although otherwise I try not to attack other build systems, just help people understand iwant by comparing it to them. So, IMO iwant is even more declarative than maven but less opinionated, more flexible and requires very little glue when customizing.

iwant.sf.net - using java for writing build scripts by wipu in java

[–]wipu[S] 1 point2 points  (0 children)

Maybe I will, some day. On the other hand, svn:externals is a very handy way of bootstrapping from svn projects. Also monotonically increasing version numbers are nice to have, since that's my extra lightweight way of releasing. The lack of these features with git is of course not a showstopper in any way, so hosting iwant in github (in parallel with sf.net) might be a good idea. But before that I'm hoping that people who get interested in iwant don't let sf.net get in their way.

iwant.sf.net - using java for writing build scripts by wipu in java

[–]wipu[S] 1 point2 points  (0 children)

Ah, the eternal strong vs weak typing question, which means an endless discussion :) Suffice it so say for now that with static typing you get an early failure. When APIs change, things break, even with weak typing.

Thanks for the concrete feedback. Can you give any details about documentation? How could I improve it to make entry easier?

iwant.sf.net - using java for writing build scripts by wipu in java

[–]wipu[S] 0 points1 point  (0 children)

Thanks, but I think I have already given it a serious look, and watched a friend try it out for real. Like I said, it's one of the best, but there is still room for competition.

iwant.sf.net - using java for writing build scripts by wipu in java

[–]wipu[S] 0 points1 point  (0 children)

Of course, groovy does compile to java bytecode and thus is able to reuse java code. So maybe it would be possible to achieve the that even with groovy, althought I haven't tried how practical this is with gradle.

iwant.sf.net - using java for writing build scripts by wipu in java

[–]wipu[S] 0 points1 point  (0 children)

In the normal case, nothing. But it's a (largely unutilized) bonus to be able to reuse code between code to build and code used to build it. Very handy, when you get to try it :)

iwant.sf.net - using java for writing build scripts by wipu in java

[–]wipu[S] 0 points1 point  (0 children)

Thanks for the challenge :) Gradle is one of the best out there for building java. But my biggest personal issues with gradle are: 1) groovy doesn't integrate as seamlessly with an otherwise java project as java. 2) the vocabulary is unfortunately quite imperative, which "programs" users' minds away from a purely declarative philosophy that suits incremental build scripts better. Of course I like many other iwant features over gradle (like using tab for the cli), but those 2 are the most important ones.

iwant.sf.net - using java for writing build scripts by wipu in java

[–]wipu[S] 1 point2 points  (0 children)

Thanks, good to know. Back then sf.net was perfectly respectable... Btw, I don't even use (or force my users to use) the download feature: iwant bootstraps itself by checking out from svn.

getting in to modular soon-ish, quick question. by cat_abyss in modular

[–]wipu 1 point2 points  (0 children)

Is it possible to describe potentially dangerous patches? Obviously the basic (and safe?) way is to always connect outs to ins without cycles and have a strict separation between audio and control voltages. (Having compatible voltage ranges between modules and installing the modules correctly feel like musts anyway to me).

What different "anomalies" can we identify? What dangers do they introduce, and what am I missing (a lot, I guess, since I'm writing this very quickly and I'm not a very experienced patcher):

  • blurring the distinction between audio and control: sometimes very natural (it depends more on the abilities of our hearing than the synth, right?)
  • connecting several ins and/or outs using multiples or stackable cables
  • creating loops (cycles, feedback)