Hacker Newsnew | comments | show | ask | jobs | submit | login

I suggest you build the sequencer in Max[1] or Pure Data[2]. Their advantages are:

1. You don't need to write any codes for UI objects

2. Simple things are faster to accomplish in these software.

3. For common complex tasks (fft etc.), Max or pd have built-in solutions that are likely better than the ones you build on your own.

4. You can script Max using js/lua/java. Hence if you want to build something complex and unusual, you can still fall back to programming.

5. You don't need to worry about timing in general. For example you can generate complex rhythm patterns in advance using lua/js/java and trigger them using Max/pd in real time. It will definitely perform better than some random web technology.

[1]: https://cycling74.com/ [2]: http://puredata.info/

-----


I saw the best minds of my generation wasted by coding everything in javascript

-----


Better than the last batch where everything was done in Java.

-----


Is it though? At least Java has reasonably sensible semantics and something resembling a type system. Dynamically typed languages have their place, but for me - that place is not absolutely everywhere.

-----


Java is a considerably better language than JavaScript. "Considerably" should be emphasized.

-----


It's unfortunate that you see javascript, or that any engineer would see any language, that way. JavaScript is an incredibly expressive language and has a very real and beneficial place alongside strongly-typed and compiled languages.

We ought to recognize the use cases, as much as humanly possible, for all languages or frameworks or platforms (etc.) and simply use the best tools for any given job.

-----


> We ought to recognize the use cases, as much as humanly possible, for all languages or frameworks or platforms

I wouldn't exactly consider Operating Systems to be one of those use cases for Javascript. The flip side of knowing the use cases is knowing the limitations and understanding that "everything" isn't exactly a valid use case, which I believe is what larme was trying to say.

-----


I do see your point, and agree there. I initially (perhaps mistakenly) read larme's comment as "everything coded in javascript is a waste."

I will say, though, that exploring the possibilities for a language is not a waste of time or mind. From stretching both mind and tool to do new things, new insight can be gained or patterns formed that might never have been considered.

Additionally, nobody ever said an OS has to be the best at everything either. It could be that a javascript-based OS, while perhaps not as efficient at generating machine code, may end up being much more efficient for humans. This would certainly be a win for many tasks such as management that should be optimized for human use.

-----


I agree. Didn't mean to say that this project wasn't interesting or a waste of time or anything like that -- it definitely has its own merits.

-----


> We ought to recognize the use cases, as much as humanly possible, for all languages or frameworks or platforms (etc.) and simply use the best tools for any given job.

Well, isn't that a bit of the point the parent makes? It is not necessarily the best tool for _everything_.

(Not criticizing the project, many package managers are written in some scripting language)

-----


It has its good part (though only 176 pages), it has its bad part, just like every other language. But let's be honest, the primary reason that javascript succeeds is that it's a major part of web. I'm not against using it for web, but using it everywhere where other (possibly superior) solutions exist is a waste IMHO.

-----


I agree. There is too much hype going on with JavaScript.

There are a few great features in JavaScript (seamless closures, asynchronism, etc). However, JavaScript has a few flaws as of today, and even though it's one of the most widely used out there, that doesn't mean it'll work for anything. There are other languages out there!

They may not be garbage-collected, the syntax may not be straightforward, you may need to declare your functions and define interfaces, but they also have great features when you learn to use them.

Any programmer should be able to understand basic C programs and reason with pointers, know how to write simple Java classes (without an IDE) and most of all, use UNIX tools (echo/cat/grep/less at least, pipes being a plus, sed/awk/cut/diff would be perfect). These are basic skills which are taught in CS courses, but many fail to have one of these, yet blabber about Node.js all the time.

-----


That's also what I feel. You either has iPad battery life or has kindle battery life. Anything in-between does not worth the effort.

-----


I hope luajit will backport the utf-8 library.

A little bit OT here but I always think the situation of lua 5.1/5.2 is just like python2/python3. E.g. lots of applications' embedded lua version is still 5.1 (Lightroom, Max 7, WoW?, Codea on iPad). Some packages like Metalua still only run on 5.1.

-----


There are a few utf-8 libs for lua, some in pure Lua.

https://github.com/starwing/luautf8

https://github.com/luapower/utf8/blob/master/utf8.lua

-----


I believe the main issue is there are too many such libraries and text is such an elementary piece of exchanged data.

-----


utf-8 is trivial. There aren't major issues with processing code points. Having several libraries is fine.

-----


They are much closer together though. 5.3 is a bigger change because of integers.

-----


Korg has something similar on 3DS: http://www.youtube.com/watch?v=Lpq3FpKPX68

-----


Can you change the column type from lg to others like xs?

-----


What do you mean? You can change them to any by clicking on the left side different "views" and then change the column width to anything, and when you click back and forth between the responsive sizes you'll see it change live, and you'll see the HTML and Less change.

-----


Now I get it. Thanks :)

-----


I will look at the UX on that and make some improvements.

-----


Max now have gen[1] so you can write audio/sample rate code.

[1]: http://cycling74.com/products/gen/

-----


yea want to try it but i'm stuck on max 5... max upgrades are more expensive than they're worth & now its splitting into multiple products (max4live,gen) so i'm kindof on an every other generation plan unfortunately.

especially annoying when features you like get deprecated (pluggo, ms. pinky) though i understand gen & max4live both kinda serve as pluggo replacements. all in all its just hard for me to pull the trigger on a $250 upgrade for a few extra integration points on a tool that should be mostly open source anyway.

http://puredata.info/

-----


And I should point out that I personally feel kinda guilty... I met Miller Puckette and he was so enthusiastic about PureData and how much more the community could grow. I realize the biggest reason Max is thriving is because of marketing and now integration with Ableton.

I feel like if something were done to prevent Pd from being wiped off the map we could have had an open source community by now rather than Cycling 74. hm.... the media production world is complicated for open source tho.

-----


> I feel like if something were done to prevent Pd from being wiped off the map we could have had an open source community by now rather than Cycling 74.

But we got another repeat of the scenario: the OSS project was unable to muster decent UI while the commercial variant was able to both fund the staff and draw out the needs from its user community to make continual UI improvements. (Speaking specifically to the vast improvements over time culminating in Max 6.) If I sound a bit testy here, it's because I've seen too many promising OSS projects killed by this same problem: terrible user experience.

> I realize the biggest reason Max is thriving is because of marketing

I strenuously disagree. It's because PD absolutely failed to deliver a sane user experience, period. Sure, marketing is important, but Cycling '74's work is what makes Max at all relevant today. About all that PD ever had going for it versus Max was being open source.

As someone who used Max/FTS back on the ISPW[1], even that old UI was vastly better than PD's. I enthusiastically gave PD a go when it first came out, even going back from time to time to check in on it. Every time I found it nigh unusable due to huge UI issues. Especially for what amounts to a visual programming language, this is the death knell. For comparison, it's not like early ISPW Max didn't have its pain points.

Max users owe Miller Puckette a substantial debt for his contributions to this excellent visual signal/event programming environment, so it's unfortunate that PD was never able to pull it together.

[1] https://en.wikipedia.org/wiki/ISPW

-----


yeahhhh i mean i guess part of the "guilt" i was expressing is a regret that I was too young/inexperienced to be able to contribute and I too just handed money over to Max/MSP when they were still on version 4, which IIRC was not very different from Pd at the time.

I think when Max 5 introduced "Presentation Mode" I knew it was over, and then Max for Live was the nail in the coffin, but prior to that I'd seen most students using Max because they believed it was more feature-rich even though most of our professors were using Pd to do more complex work than my Max-toting peers. Similar to Matlab/Octave... I've seen a few Octave users outpacing Matlab users simply because they were free to experiment without having the roadblocks of toolkit purchases.

Cycling 74 has done a good job over time for sure I'm just saying that as recently as 5-10 years ago there wasn't such a clear dichotomy, and the release of Max for Live really struck me because it was a proprietary integration, huge departure from pluggo's VST philosophy.

I think I just have to get used to the fact that despite the great work being done on projects like Pd/Jack/Ardour, audio technology is probably drifting further away from OSS than towards it

It's tough, I want to contribute to to some audio projects but most of the ones that are gaining traction seem to be putting up paywalls or are too rooted in platform-specific code. I'm toying with some audio stuff on the JVM, will see how that goes....

-----


There's a reasonably active community around PD, but it has the same problem as a lot of other open source software - it's hideously ugly. IIRC the user interface is done with TCL/TK. Given the large number of competing products in the same space, people who are not heavily committed to open source have little incentive to use it, unfortunately. I'd say a visual/UI makeover is a higher priority right now than extending the PD library or other tasks.

-----


PD and Max-MSP are from the same stable, and PD is the poor man's Max-MSP. I feel that PD is an excellent learning tool if you want to learn about synthesis or DSP more generally, but as a musician's tool it's just not ready. A lot of the music made with PD is pure crap, or even a type of anti-music, or puts forward some kind of alternate musical theory of its own which nobody can understand. PD music is usually too detached from normal conventions such as 12 TET, harmonies and progressions to be listenable. Typically the PD user will produce something with weird bell sounds, stuttering percussive noises or massive pad washes going in and out. Not conventional music. The reason is that PD doesn't provide enough built-in function shortcuts. If you want to make music, PD is a practically useless interface. By the time you've programmed a very basic synth, any inspiration has long gone. An instrument is something that should need no foreplay beyond just turning it on and picking it up, before actually playing it. If you want to make something recognizable as music with PD, you will need to first download someone else's synth patch or copy a subtractive or FM synth from a book first. And then you'll find it has no patches you can modify (unless you make them yourself). The time between turning on the computer, setting up your synth and playing your piece is simply too long.

-----


Glacier should be used for data that won't be changed frequently (e.g. purchased music/movies). Hence you can backup to glacier daily.

S3 is more suitable for things you are working on like codes.

-----


I actually agree with you. Macbook air + iterm2 + linode is a very good combination IMHO. You get a good GUI and a developer friendly linux environment.

-----


For all the people saying you need a local backup, in this case you not only need to keep a local backup, but also it have to be a versioned one.

-----


Backup isn't backup unless it's versioned. Otherwise, how do you restore that file you accidentally deleted a few days ago?

-----

More

Applications are open for YC Summer 2015

Guidelines | FAQ | Support | API | Lists | Bookmarklet | DMCA | Y Combinator | Apply | Contact

Search: