PHP vs. ...
Moderator: General Moderators
Well, C is the enemy, it once tried to conspire with all my Linux boxes to kill my family in their sleep.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?
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.
Well what about a future (or potentially immediate) port to a desktop client? Can Smalltalk code for a desktop environment?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.
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).
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.
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.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)
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.
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?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.
- Kieran Huggins
- DevNet Master
- Posts: 3635
- Joined: Wed Dec 06, 2006 4:14 pm
- Location: Toronto, Canada
- Contact:
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.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!
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.
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.Theory? wrote:Cool deal, I'll look into it. Any good reads to get started with?