Page 2 of 2

Posted: Wed May 09, 2007 7:53 am
by Selkirk
Spending a weekend or two with Squeak would not be wasted time.

Posted: Wed May 09, 2007 10:24 am
by Theory?
Kieran Huggins wrote:in my experience, PHP is the way to go unless you're dealing with a module that requires either shared memory of HEAVY lifting... in which case, write that module in C and compile it for the system. PHP can still do what it does best while outsourcing the specialized functions to a pre-compiled C library. Come to think of it, PECL is exactly that... maybe you should look into writing your own PECL?
Well, C is the enemy, it once tried to conspire with all my Linux boxes to kill my family in their sleep.

However, I DO need modules to handle some serious heavy lifting. This particular app deals in heavy-duty media streams, physical compression (no transcoding), and subsequent data manipulation (f'ing with the audio) so I do need something that can handle simultaneous instances of this app as well as the obvious simultaneous streams of mutiple audio files across many sessions. FOr those of you who are familiar with a DAW like Pro Tools or Cakewalk can imagine very very very stripped down versions of these applications operating (possibly on the client's side to save the load on the servers) and then streaming through our servers to communicate the data. That's multiple audio files which then get streamed simultaneously and who knows how many sessions will be open at once by multiple peoples. That's some pretty heavy lifting if you ask me.

Posted: Wed May 09, 2007 10:38 am
by Jenk
Heavy lifting that Smalltalk and Seaside would make very light work of. As would C and Java.

The difference being you would be programming at the web server level, not a sub-component of an existing web server, if you catch my drift.

Posted: Wed May 09, 2007 10:45 am
by Theory?
Jenk wrote:Heavy lifting that Smalltalk and Seaside would make very light work of. As would C and Java.

The difference being you would be programming at the web server level, not a sub-component of an existing web server, if you catch my drift.
Well what about a future (or potentially immediate) port to a desktop client? Can Smalltalk code for a desktop environment?

That's my only fear. I feel like this application is best done on the client side and have my server simply handle the streams, outbound compression and any other modules in the app itself that don't directly pertain to the audio streams (like the integrated chat tools and a few other things of that ilk, which can easily be handled server-side).

Posted: Wed May 09, 2007 11:41 am
by Jenk
Smalltalk is a bit like Java in that sense, it would need the client to have the runtime component (the c-binary used to initialise the image) installed (the same as the server would need) although there is absolutely no "installation" like the JRE, it is simply plonked on disk, then started with the image file.

Posted: Wed May 09, 2007 11:43 am
by Theory?
Jenk wrote:Smalltalk is a bit like Java in that sense, it would need the client to have the runtime component (the c-binary used to initialise the image) installed (the same as the server would need)
Is that a runtime commonly found on many machines? Keep in mind my target audience is musicians, not the brightest bulbs in the pack if you know what I mean.

Posted: Wed May 09, 2007 11:49 am
by Jenk
It's not exactly a "runtime" (may have been a bad phrase to use, apologies) more of an executable.

Squeak comes in two parts.

An executable file (this is the c-binary to start the ball rolling, versions available for just about any platform, file is no more than 3 or 4 MB)
an *.image file (this is what contains the smalltalk code - not just your code, but *everything*)

So when you offer a download, you could include a pre-made shortcut to bind the image file to the executable.

Also note that the executable will start a Virtual Machine to run the smalltalk image - (instead of MSWindows 'window') but don't fret, it is very, very clean. It's 20+years old so it has been optimised to the centre of the Earth and back again.

Posted: Wed May 09, 2007 1:19 pm
by Theory?
Jenk wrote:It's not exactly a "runtime" (may have been a bad phrase to use, apologies) more of an executable.

Squeak comes in two parts.

An executable file (this is the c-binary to start the ball rolling, versions available for just about any platform, file is no more than 3 or 4 MB)
an *.image file (this is what contains the smalltalk code - not just your code, but *everything*)

So when you offer a download, you could include a pre-made shortcut to bind the image file to the executable.

Also note that the executable will start a Virtual Machine to run the smalltalk image - (instead of MSWindows 'window') but don't fret, it is very, very clean. It's 20+years old so it has been optimised to the centre of the Earth and back again.
Cool deal, I'll look into it. Any good reads to get started with?

Posted: Wed May 09, 2007 1:20 pm
by Kieran Huggins
have you considered farming out the work to a 3rd party tool on the server like audacity (or insert-another-program-here)? You can use shell_exec() or backticks to issue shell commands, then simply collect the output. Sounds like a nice shortcut to me!

Posted: Wed May 09, 2007 1:44 pm
by Theory?
Kieran Huggins wrote:have you considered farming out the work to a 3rd party tool on the server like audacity (or insert-another-program-here)? You can use shell_exec() or backticks to issue shell commands, then simply collect the output. Sounds like a nice shortcut to me!
Well I don't need all the functionality of Audacity. The idea is the tool is meant to speed up collaboration, not necessarily manipulation. If I were to include support for plug-ins etc, I would either need to do larger bounces upon publishing or exchange proprietary data, which would be even larger to exchange and would limit my ability to do several other things I would like to do.

I would love to serve the entire thing in the browser, but I get the feeling that the mere task of rendering the audio properly could be better handled client side. Who knows. Maybe Flash/Flex is the answer.

This is all so very confusing.

Posted: Wed May 09, 2007 6:03 pm
by Jenk
Theory? wrote:Cool deal, I'll look into it. Any good reads to get started with?
Only http://www.squeak.org and sign up to the mailing list - be warned, it's very active at times so you could get flooded with emails from it.