Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

Reply
 
Thread Tools Display Modes
Old Jul 23rd, 2007, 10:02 PM   #1
bigguy
Professional Programmer
 
bigguy's Avatar
 
Join Date: Sep 2005
Location: Arkansas
Posts: 292
Rep Power: 0 bigguy is an unknown quantity at this point
Send a message via AIM to bigguy Send a message via MSN to bigguy Send a message via Yahoo to bigguy
CodeRun - Programming on the Run

Ok, I dont know about yall but when I have an idea I have to site down and write some code to see if it works. I know most of you probably take your laptops with you when you travel, and probably have your compilers and everything with you on said laptop.

I don't know if this would benefit anyone but me, because I don't take my laptop with my everywhere I go, including family vacations, where I have most of my ideas. So here is my idea:
CodeRun is a piece of software/website that allows you to program in a language you choose, and then you are able to compile it via a web service, or through the website, and it is compiled on the server, and the compiled code is then downloaded onto the users computer, as a exe, allowing you to debug and everything. All the debugging would be done on the server and then the errors and everything would be displayed back to the user

My friends and I have thought of some different ways to do this. Here is one, The first one is a piece of software like a small text editor that you download it connects to a web service on our server, and you can code and compile and everything else. The second thought is just a website like a pastebin, where you put your in, press compile it compiles on the server downloads the compiled code to the users computer. The last idea was to have a file upload where you upload your code files, where you can do them in notepad or something upload them to the server, and it compiles them there, and then downloads code to users computer. I have had some questions like, since it will be compiled on the server wouldnt that allow people who might hack into the server be able to see people's code. The answer is no, everything a user compiles will be put into a their own Temp folder while their are connected, and when the connection is terminated that folder will be deleted.

I don't know if this would benefit anyone but me and my friends, but just in case we have started a sourceforge.net project and are workign on it. So tell me what you think, and if you think it would be useful.

Also, we cant figure out how to use FTP with sourceforge, we can connect to shell.sf.net but when we are waiting for welcome message it times out and we are disconnected So if you can help me there it'd be great.
__________________
Forgiveness is the fragrance that the violet sheds on the heal that has crushed it. - Mark Twain

We all make mistakes. If it doesn't kill us, it will make us stronger. If it does kill us, then it's to late, but it was a great ride while it lasted. - Seth Hall
bigguy is offline   Reply With Quote
Old Jul 23rd, 2007, 10:26 PM   #2
DaWei
Resident Grouch
 
DaWei's Avatar
 
Join Date: Jun 2005
Posts: 6,453
Rep Power: 10 DaWei is on a distinguished road
So if you don't take your computer on vacation, are you going to bust the day up to traipse over to the local library, or what?

Suppose you're working on a real program, many lines of code. Will you send a diff to the server, or have to send the whole humongous file over a connection?

Is your intended audience the pro without a computer, or just the restless hobbyist who is missing being online while out of pocket?
__________________
Abstraction doesn't make it impossible to write bad code; it makes it possible to write superior code.
Contributor's Corner: Grumpy on C++ Exceptions DaWei on Pointers
DaWei is offline   Reply With Quote
Old Jul 23rd, 2007, 11:14 PM   #3
bigguy
Professional Programmer
 
bigguy's Avatar
 
Join Date: Sep 2005
Location: Arkansas
Posts: 292
Rep Power: 0 bigguy is an unknown quantity at this point
Send a message via AIM to bigguy Send a message via MSN to bigguy Send a message via Yahoo to bigguy
It would be for anyone, anywhere. Most hotels now have computers you can use, if you are close to family or staying at a relatives, Im sure they would have a computer.
I dont know if people would make a huge project, but I guess I could, I was thinking of it being used for small stuff, but who knows.
__________________
Forgiveness is the fragrance that the violet sheds on the heal that has crushed it. - Mark Twain

We all make mistakes. If it doesn't kill us, it will make us stronger. If it does kill us, then it's to late, but it was a great ride while it lasted. - Seth Hall
bigguy is offline   Reply With Quote
Old Jul 23rd, 2007, 11:59 PM   #4
lectricpharaoh
Caffeinated Neural Net
 
lectricpharaoh's Avatar
 
Join Date: Jun 2005
Location: Wet west coast of Canada
Posts: 889
Rep Power: 4 lectricpharaoh will become famous soon enough
You know, I think this is a pretty cool idea. While I generally bring my laptop with me when I go places for more than just the day, some people don't. It would also be useful for those who don't have a laptop, as well as possibly distributed programming projects.

I don't think compiling the code on the server will be a big deal. Providing the server is run on an OS for which the compiler in question is available, you can have that compiler, and invoke it through, say, CGI. Languages like C, C++, C#, and Java have freely available compilers for multiple platforms, so this part is entirely doable. Of course, you'll need appropriate permissions on the server, but this goes without saying.

The big challenge, though, will be designing the interface to provide all the tools that a programmer might be accustomed to. Things like code completion (such as the 'intellisense' in Microsoft IDEs), syntax highlighting, font and tab stop customization, and organization of source files into projects/workspaces/whatever will probably require the bulk of the work.

Anyways, like I said, it's a unique and cool idea. Best of luck with it. Hopefully it doesn't die at 'we got a sourceforge page'.
__________________
A man's knowledge is like an expanding sphere, the surface corresponding to the boundary between the known and the unknown. As the sphere grows, so does its surface; the more a man learns, the more he realizes how much he does not know. Hence, the most ignorant man thinks he knows it all. - L. Sprague de Camp
lectricpharaoh is offline   Reply With Quote
Old Jul 24th, 2007, 1:28 AM   #5
Jimbo
Battle Programmer
 
Jimbo's Avatar
 
Join Date: Feb 2006
Location: Bellevue, WA, USA
Posts: 742
Rep Power: 3 Jimbo is on a distinguished road
There's a lot of backend logistics to work out too. You'll likely want to allow users to develop for a specific platform (with compiled languages at least), so you'll need at least a Windows and a Linux server. You might look into hosting various VMs though; I believe Microsoft's Virtual Server 2005 has a web interface for the VM (it's called the Virtual Machine Remote Console (VMRC); we use it at work, and it's pretty sweet. Pretty sure it requires IE for the client, but you basically get the VM desktop in your IE window). Using VMs would also make it slightly harder for someone to wreck your box, but you'd still have to be very careful with that (which you have to be anyways).

There'd also be legal issues to work out. If it's on your machine, do you get any rights to the work? If someone creates a virus on your machine, are you responsible for it? If your machine is hacked and someone's project is stolen, are you responsible? If (when?) you get to this stage, definitely consult a lawyer.
__________________
<insert disclaimer here>
<insert shameless plug for Visual Studio here>
Jimbo is offline   Reply With Quote
Old Jul 24th, 2007, 2:07 AM   #6
lectricpharaoh
Caffeinated Neural Net
 
lectricpharaoh's Avatar
 
Join Date: Jun 2005
Location: Wet west coast of Canada
Posts: 889
Rep Power: 4 lectricpharaoh will become famous soon enough
It might be advantageous to start with 'portable' VM-based code, like .NET or Java. This way, you can compile the source without being too concerned about the user's OS. Of course, restricting the user's OS selection works too, so it will depend in part on your language familiarity, and that of your coding partners.
Quote:
Originally Posted by bigguy
I have had some questions like, since it will be compiled on the server wouldnt that allow people who might hack into the server be able to see people's code. The answer is no, everything a user compiles will be put into a their own Temp folder while their are connected, and when the connection is terminated that folder will be deleted.
You might not want to take this approach. Remember that HTTP is a stateless protocol; any perception of a constant connection (or 'session') is entirely artificial.

As such, you run the risk of timing out, and deleting the user's code. Imagine the poor guy who gets up to make some coffee, and comes back to find his code's deleted off the server. An alternate approach would be to give each user a directory (as you mentioned), and encrypt the contents. Access to the page could use SHTTP if you have security concerns, but in all fairness, you need to keep in mind that it might not be warranted.
__________________
A man's knowledge is like an expanding sphere, the surface corresponding to the boundary between the known and the unknown. As the sphere grows, so does its surface; the more a man learns, the more he realizes how much he does not know. Hence, the most ignorant man thinks he knows it all. - L. Sprague de Camp
lectricpharaoh is offline   Reply With Quote
Old Jul 24th, 2007, 10:32 AM   #7
Infinite Recursion
Programming Guru
 
Infinite Recursion's Avatar
 
Join Date: Jul 2004
Location: United States
Posts: 3,453
Rep Power: 7 Infinite Recursion is on a distinguished road
Send a message via MSN to Infinite Recursion Send a message via Yahoo to Infinite Recursion
Interesting project...

On my last trip out-of-state, I took two laptops and a palm pilot.
I also SSHed to my home network and had access to most of what I needed to get my "coding fix" while away.

Normally, if I have some idea that can't wait for me to get my hands on a compiler. I write it down, chart it out, design the interface on paper... optimize and streamline it... by then I would be behind a compiler.

The approach you take to accomplish this has a potential for reuse in other areas as well... library creation, document conversion, animated GIF creation, an automated newbie hand holder, etc. Good idea man. Keep us posted on the progress.
__________________
http://jasonpowers.net

"There are a thousand hacking at the branches of evil to one who is striking at the root."
Infinite Recursion is offline   Reply With Quote
Old Jul 25th, 2007, 3:34 PM   #8
bigguy
Professional Programmer
 
bigguy's Avatar
 
Join Date: Sep 2005
Location: Arkansas
Posts: 292
Rep Power: 0 bigguy is an unknown quantity at this point
Send a message via AIM to bigguy Send a message via MSN to bigguy Send a message via Yahoo to bigguy
We got our servers today, and we are currently setting them up, working on the interface and everything as I type. We have thought about it where, a user can register with us, and they can save their code on our servers, and also have a guest account, but let them know that their code could be deleted. We still thinking about how to go about this. We all have full time jobs, so we are doign it during our freetime, but I will keep you posted, and thanks for the feedback. Jimbo, we will look into those VM's you mentioned for multi platform development. Thanks
__________________
Forgiveness is the fragrance that the violet sheds on the heal that has crushed it. - Mark Twain

We all make mistakes. If it doesn't kill us, it will make us stronger. If it does kill us, then it's to late, but it was a great ride while it lasted. - Seth Hall
bigguy is offline   Reply With Quote
Old Jul 26th, 2007, 4:22 PM   #9
Infinite Recursion
Programming Guru
 
Infinite Recursion's Avatar
 
Join Date: Jul 2004
Location: United States
Posts: 3,453
Rep Power: 7 Infinite Recursion is on a distinguished road
Send a message via MSN to Infinite Recursion Send a message via Yahoo to Infinite Recursion
I wanted to procrastinate a bit, so I took a stab at this earlier just tinkering around... basically, how you mention in your second potential method. The user copy-pastes their code into a text box and they hit compile... and then the binary is available for download or error messages are displayed along with the source code (each line is numbered, so the user can reference it when reading the error messages from the compiler).

It is extremely basic and I have no intention of modifying it beyond the proof of concept phase. The main problem, in addition to security, is that the binaries will only work under Linux (or whatever architecture your server is). So you will definitely need some sort of server virtualization to accomodate the different flavors and environments and all of the different parameters you expect your users to request.
__________________
http://jasonpowers.net

"There are a thousand hacking at the branches of evil to one who is striking at the root."
Infinite Recursion is offline   Reply With Quote
Old Jul 31st, 2007, 11:37 PM   #10
Wizard1988
Professional Programmer
 
Wizard1988's Avatar
 
Join Date: Oct 2005
Location: Chitown
Posts: 414
Rep Power: 3 Wizard1988 is on a distinguished road
Send a message via AIM to Wizard1988
Check this out, http://www.codeide.com/
__________________
JG-Webdesign
Wizard1988 is offline   Reply With Quote
Reply

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Programming without post secondary education Eric the Red Other Programming Languages 6 Mar 7th, 2006 5:56 PM
Does Programming Make You Smarter? Sane Coder's Corner Lounge 43 Oct 2nd, 2005 6:12 AM
MIT's Metaphor For Software Programming Infinite Recursion Other Programming Languages 2 Jun 12th, 2005 6:42 AM




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 6:35 AM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC