Web Based Services
Mike Huselton
Posts: 746
Has anyone given thought to developing Web based services using standard APIs for utilities such as compilers for Spin and Pasm?
Web API specifications are mature enough now for Microsoft and Java compilers to be written and the binary image output to be downloaded.
Also, in the same vein, has anyone given thought to Wolfram's computational tool recently released for integrating a browser and Mathematica?
Wolfram has plans to offer the API for Wolfram Alpha and this would lead to a Spin and Pasm compiler capability.
This would make tools independent of local computer hardware and allow for a PC running just a browser to take advantage of these tools.
The speed penalty would be traded for local PC independence of machine architecture and operating systems.
Just a thought...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Post Edited (James Michael Huselton) : 5/18/2009 10:43:55 PM GMT
Web API specifications are mature enough now for Microsoft and Java compilers to be written and the binary image output to be downloaded.
Also, in the same vein, has anyone given thought to Wolfram's computational tool recently released for integrating a browser and Mathematica?
Wolfram has plans to offer the API for Wolfram Alpha and this would lead to a Spin and Pasm compiler capability.
This would make tools independent of local computer hardware and allow for a PC running just a browser to take advantage of these tools.
The speed penalty would be traded for local PC independence of machine architecture and operating systems.
Just a thought...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Post Edited (James Michael Huselton) : 5/18/2009 10:43:55 PM GMT
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"VOOM"?!? Mate, this bird wouldn't "voom" if you put four million volts through it! 'E's bleedin' demised!
Every computer has a browser. Resources are not an issue.
Resources are pretty much unlimited for web services. I have written C# and Java Web services that are blindingly fast. The tools available make writing these services easy. Professional coders are embracing this technology in droves, and business side folks love it for moving application development to the cloud.
Again, I am inviting thoughts and comments, both good and bad. Let the skeet shoot begin!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Post Edited (James Michael Huselton) : 5/18/2009 11:00:05 PM GMT
If you can upload your code, compile it on the web server and download it again faster than I can compile it locally on my cheapest Acer Aspire One netbook I'll eat my hat.
Having said that, build it and they might come...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"VOOM"?!? Mate, this bird wouldn't "voom" if you put four million volts through it! 'E's bleedin' demised!
Paragraphs 1 and 3 make sense, and would be fairly easy to do with a simple ASP.NET wrapper around propellant.dll
No idea how you think Alpha or Mathematica fit into this.
I can see the power of what he has unleashed. If only people will use it for what it is and will be.
Of course, I can see it becoming a flop if the business model flops...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Right, but what does any of that have to do with a web-based Propeller compiler?
Also, do yourself a favor and see what Mathematica really does.
Could be California dreamin'.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
The Propeller tools and other similar "stuff" are very modest tools.· They're cheap as these things go, even free and require only modest computing ability to support.· Given that there are Spin and C compilers and matching utilities that run under Linux, it doesn't take much hardware to run them.· A tiny embedded Linux system running off an SD card or CF card would work just as well as any laptop as far as the tools are concerned.· This isn't to say that some "cloud"-based Propeller tools wouldn't be handy occasionally, but that's not a place to put much effort unless one has a personal interest in it.
Hmmm ....
Not even a significant minority of computers have browsers, let alone "every" computer. I presume you mean personal desktop computers - but even there you can only say "most" computers. Don't forget that in these forums you're talking to the people who make computers, not just to people who use them.
And resources are (by definition) always an issue.
Excuse my skepticism, but over the years I've learned that whenever you hear this kind of thing said, it is nearly always a hardware vendor who says it (the rest of the time it's a software vendor).
And I am also having trouble seeing the relevance to the Propeller. Do you see a need for a "Cloud" based toolset? Don't you think embedded software development is complex enough already?
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina
Overall I think the cloud capability is neat and a Propeller complier over the cloud is a simple example to implement. With such a tool one could write code on their iPhone while waiting in line or while commuting on a train without opening a laptop top. I also like MagIO2 idea of a Y-Box (or similar like device) to be able to write code, compile and redownload to itself.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter, E.I.
www.brilldea.com - Prop Blade, LED Painter, RGB LEDs, 3.0" LCD Composite video display, eProto for SunSPOT
www.tdswieter.com
@BradC,
Here's an application that might be interesting..
How about running a program which will allow me to upload from
my PropNIC (or compatible) and download it again directly from my
Propeller? Then the entire laptop part can stay stashed under my seat.
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
I can see the benefits of a web sited server where you specify a configuration to it and 'nanoseconds later' you get the custom linux kernel and bootable CD image you asked for using the raw horse power they can afford which I can only dream of having. Even if it took a day or more it would be more worthwhile than tying up my own PC for that time.
For hands-on rapid application development I'm sure it would also be fine if we all had Gigabit ethernet connections with no caps or bandwidth throttling, and no worse than a local thin client setup, but the real world's not like that. Also, Propeller development is more than just compiling source no matter where the compiler is hosted.
I cannot really see a compelling reason for remote hosting or any overwhelming advantage. It shouldn't be too hard to wrap Propellent or other tools within some CGI and stick it on a server if someone wanted to try it.
Reference: Delphi for PHP
www.codegear.com/products/delphi/php
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Aka: CosmicBob
I like the idea of "test drives without commitment." Maybe Parallax should have a demo server with connections to Sumo-bots or something for a limited time. This would be quite easy to do and would be a good project ... just make sure the bots are fool-proof [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
I have done, and I still have no idea what you're talking about.
Neither Mathematica nor Alpha are tools for generic custom cloud computing. You could *theoretically* write a SPIN compiler using the Mathematica language, but I really don't think it would be a good fit, and you'd be starting from scratch, and paying for licenses for all of your servers.
Seems like a far better idea to wrap one of the existing compilers in a lightweight REST API, and host it somewhere. You send it a few kilobytes of code, it sends you back a 32KB EEPROM image. If you insist on hosting it "in the cloud", Amazon's EC2 service would work fine.
Or a binary which could be directly executed... [noparse]:)[/noparse]
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
Please stop concentrating on Mathematica. I brought it up as a throw-away idea.
My suggestion to offload software development to Web based computing used a compiler as an example, not an end-all and be-all focus for this discussion. Step back and look at the bigger picture. Maybe most of you haven't actually coded a Web Service. I don't know.
But I have written several Java and Windows Web service modules in my incarnation as a professional coder.
Once you get past a few key concepts, it is just a SMOP (Simply a Matter OF Programming). I can envison helper
applications that make Parallax programming less of a pain. You can too.
Read up on the subject. I want to share my ideas and this is an exercise in food for thought.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Post Edited (James Michael Huselton) : 5/19/2009 9:08:01 PM GMT
Okay, I accept that you're only talking about desktops or laptps here, and you're not talking about anything Propeller-specific such as compilers. But this is a forum specifically for Propeller development, so you can understand people's confusion.
If you have a particular need or suggestion related to Propellers, then by all means try and explain it. If you are just wanting to discuss web services and cloud computing in general, perhaps you could move this discussion to the Sandbox forum?
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina
I have decided to write these tools myself, rather than trying to explain the concept.
I'll post the code, so everyone can share this idea freely.
Nothing to see here, move along...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Post Edited (James Michael Huselton) : 5/19/2009 11:10:03 PM GMT
It's all about control, guys. When you join the cloud, you may be cutting the umbilical to your PC (a phrase I don't quite get, BTW), but you're connecting an even heftier umbilical to the Goliaths; and, once connected, they've got you right where they want you: totally dependent.
That said, I can see browser-based apps for lesser chores that you don't need myriad small programs cluttering your desktop for. There is a plethora of such apps spread across the internet already, such as generating barcodes and solving electrical and optical equations. I've even got one online that some of you may have used: formatting Spin code for this forum.
But it will be a cold day in hell before I trust a long document, CAD drawing, or any other critical data to the cloud. Being subject to companies going out of business, data loss, and data breaches, the cloud computing model has too many inherent defects. The mantras from the early '80s still ring true in my ears: it's my stuff, and it'll be processed on my computer, by golly, until it's wrenched from my cold, dead hands!
-Phil
Rick
Hey I still use terminal server software (SSH) to get to my web server in a similar way I used a VT101 for Unix long ago.
X-terminals (VNC, etc... now) were a step up. VNC made it possible to collaborate on projects in Bangalore and get access to India's 40 million cheap programmers.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
I love this idea.. Anyone want to collaborate on a solution?
Here's a thought. If we add a couple special remarks to the top
of the code we could specify the use of a standard OBEX object
in the OBJ section and prevent the requirement of transmitting
more than we needed to the remote compiler.
Geesh, it's been a couple years since I've written PERL it
might take me a bit to warm up. [noparse]:)[/noparse]
I'll establish a thread for this project as soon as I get the
box hooked back to the network.
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
I've programmed in a lot of languages and I am sure many of you have too. C# and Java are fine, but what do you think of VB6 or VB5 to keep it simple and clear to as many folks as possible? I was thinking about Hippy and his preference for VB. Just about anything will do, but keep in mind that many folks are new to programming. I think that I have SOAP wrappers done in VB.
Hey, I just had this idea this afternoon. Give me a break
OBC, how is the WiKi coming?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Post Edited (James Michael Huselton) : 5/20/2009 5:21:38 AM GMT
I can see four scenarios -
1) Local processing on one's own PC - Typical PropTool, Visual C, etc, use which we are all familiar with.
2) A local IDE running on the PC with a server somewhere providing the grunt for number crunching or compiling. Looks like (1) but the "Compile" button throws source code into the ether and gets back an executable / error report.
3) Everything hosted on a remote server with a web browser to connect to it which provides an interface which in a perfect world looks like an IDE. Similar to Telnetting in to a box or using Remote Desktop.
4) As (3) but with a local App running on the PC which disguises the fact it's really a web browser.
Any and all those are valid, and we use them all in various forms today, which is why I don't see what the hype is about. Maybe I'm missing something.
The end-user should see no differences in use and operation no matter what scenario there is and you could swap scenarios and the end-user would be none the wiser. It really boils down to where the application executables and one's own source code and object code resides, and what benefits each offers; local or remote hosting.
Local's fine if you have resources, remote is the solution if not, but then remote hosting fails if you cannot get access to the remote and local has the advantage.
Notionally remote hosting has an advantage as the provider can throw large iron and huge resources at it, but that has to be shared amongst all users, which is why personal computing took off when we all had our own personal resources. The "Cloud" seems to be an attempt to move back the other way but it seems rationale is a bit hit and miss for that. Sure it makes sense for Google Search and similar to be remote hosted services but I don't see the same rationale for software development.
I'm not saying it's wrong, if that's what people want to use then it's fine. If it wasn't for my firewall logger I wouldn't know if PropTool had a compiler built-in or all source was posted back to Parallax for compilation. I wouldn't particularly care as long as it always worked and there were no loss of performance.
Post Edited (hippy) : 5/20/2009 11:57:08 AM GMT
Surely we can find better uses for the collective talents on this forum than programming web applications in VB?
And does this really have anything to do with the Propeller?
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina