Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   FusionEdit v0.1 (http://www.chiefdelphi.com/forums/showthread.php?t=49973)

et1337 14-11-2006 14:03

FusionEdit v0.1
 
1 Attachment(s)
I've only posted a couple times during build season and I've been pretty inactive on Chief Delphi during off season, but bear with me.

SVN was really difficult for my team last year, even though we used a decent utility. We were constantly resolving conflicts, waiting on other people to finish building, and trying to tell SVN that we actually didn't want to resolve conflicts in the .MSW file. :(

Anyway, a couple months ago I decided to start coding a free alternative to the MPLAB IDE, called FusionEdit. The killer app would be a sweet SVN system that allows multiple users to work simultaneously on the same file, letting them see each other type in real-time.

Now, several months later, the first beta is done. No real-time typing, but it's getting close.

Attached is the installer, which includes documentation in the start menu folder. Let me know what you guys think! :D

[edit] Application requires .NET Framework 2.0 or higher.

Matt Krass 14-11-2006 14:17

Re: FusionEdit v0.1
 
Also, there's a freely available collaborative editor called Gobby here: http://darcs.0x539.de/trac/obby/cgi-bin/trac.cgi

It's supposedly very good, I haven't tried it yet, I plan to tonight.

EHaskins 14-11-2006 14:28

Re: FusionEdit v0.1
 
You beat me to it! :D

I started working on something similar a few months ago!
http://www.chiefdelphi.com/forums/sh...ight=first+IDE

Would you be willing to let me see a copy of the source?

et1337 14-11-2006 14:39

Re: FusionEdit v0.1
 
Sure thing, I don't want to release the source publicly quite yet, it's just a wee bit ugly. :) If you want to PM me your email address, I can send it to you. I'd put it up on a free host, but I'm having problems with my internet filter. :(

EHaskins 14-11-2006 14:42

Re: FusionEdit v0.1
 
If you need a place to host it I can get some space on my teams site.

X-Istence 14-11-2006 15:30

Re: FusionEdit v0.1
 
If you want a good colloborative editor get yourself some macs, and use SubEthaEdit. Realtime live editing using the standard Bonjour network. It is an awesome application, that has access permissions and other such things, it can be hosted as a general server, and then let other people access it. Then when it is saved, one can script it using Apple Script to auto check the new source code into svn, and then you can check outa copy on a windows machine with MPLab and compile it.

Also, tell SVN to just ignore certain files. With SVNTortoise you can do this easily. It will from then on not care if a file has been changed or not.

6600gt 14-11-2006 15:48

Re: FusionEdit v0.1
 
I haven't used it yet, but from the looks of it, nicely done. These are the exact features I am looking for. Thanks.

bear24rw 14-11-2006 15:50

Re: FusionEdit v0.1
 
Can you post a screen shot?

et1337 14-11-2006 16:00

Re: FusionEdit v0.1
 
@X-Istence: I realize there are more than one collaborative IDEs available. The idea was to write an IDE specifically for FIRST that other people can modify and/or make suggestions. With this post, I wanted to introduce the idea and open the floor to suggestions.

EHaskins 14-11-2006 16:06

Re: FusionEdit v0.1
 
This thread has some good ideas.

http://www.chiefdelphi.com/forums/sh...ad.php?t=45934

This has some other info that could be helpful.
http://www.chiefdelphi.com/forums/sh...ad.php?t=45814

Tom Bottiglieri 14-11-2006 16:38

Re: FusionEdit v0.1
 
Awesome!

Make it work like this http://www.sourceinsight.com/ and you will have a great product!

bear24rw 14-11-2006 16:58

Re: FusionEdit v0.1
 
You should try to figure out how to make collapsable regions.. Like in Visual Studio

et1337 14-11-2006 18:41

Re: FusionEdit v0.1
 
1 Attachment(s)
Collapsible regions and syntax highlighting are on my to-do. :)

I forgot about SourceForge, which my filter doesn't block. I'm waiting approval of the project right now.

@bear24w: jpg attachments are limited to 100 kb, so it's low quality, but you get the idea. ;)

EHaskins 14-11-2006 18:49

Re: FusionEdit v0.1
 
Quote:

Originally Posted by ETodd
Sure thing, I don't want to release the source publicly quite yet, it's just a wee bit ugly. :) If you want to PM me your email address, I can send it to you. I'd put it up on a free host, but I'm having problems with my internet filter. :(

Your code isn't that ugly. It has a few bugs, but not bad. I may be able to help with syntax highlighting. That is one of the things I was able to make work with my FRC IDE. :D

I think it might be beneficial if we join forces to try to get a working version of this as soon as possible. :D

Cuog 14-11-2006 19:08

Re: FusionEdit v0.1
 
Quote:

Originally Posted by EHaskins
You beat me to it! :D

I started working on something similar a few months ago!
http://www.chiefdelphi.com/forums/sh...ight=first+IDE

Would you be willing to let me see a copy of the source?

Oops i knew there was something I was supposed to be working on

I would also like to help out with the project some. either when you have it on sourceforge or if you could email me w/ with(just send a PM and ill send you my email)

bear24rw 14-11-2006 22:19

Re: FusionEdit v0.1
 
Quote:

Originally Posted by ETodd
Collapsible regions and syntax highlighting are on my to-do. :)

I forgot about SourceForge, which my filter doesn't block. I'm waiting approval of the project right now.

@bear24w: jpg attachments are limited to 100 kb, so it's low quality, but you get the idea. ;)

Oh wow, that looks really clean and really nice.. if you can get customizable syntax highlighting and collapsable regions i will defiently being looking into using this

Being a .Net programmer myself I would defiently like to see a sourceforge project go up!

Awsome job

EHaskins 14-11-2006 22:57

Re: FusionEdit v0.1
 
The code is very clean, but could use some more comments. :)

et1337 14-11-2006 23:23

Re: FusionEdit v0.1
 
As soon as the SourceForge site is up, I'll let you guys know and you can join. I know three other people on my team who might be willing to help out as well.

EHaskins, would you allow me to see some of your code?

EHaskins 14-11-2006 23:57

Re: FusionEdit v0.1
 
I'm not at the computer with that code and I'll be out of town for about a week, but, I don't have any problem with that. :)

Sorry I can't get it to you faster.

shawger 15-11-2006 22:46

Re: FusionEdit v0.1
 
Hi,

I'm glad that you are undertaking the work to get a quality IDE working for FIRST. However, I'm confused about a couple of things.

Why are you writing an entirely new program when you could create scripts or plugins for one of the incredibly functional editors already out there? (VIM, EMACS, Eclipse, jEdit etc.) Not that I have a big problem with another editor, but it seems like you're reinventing the wheel a little bit here.

Also, why .NET? That leaves out a significant userbase of Linux and Mac users. Then these users will have to duplicate the fine work you're doing on the Windows platform if they want similar functionality. See the problem?

Again, please take these as suggestions, not angry demands.

EHaskins 16-11-2006 00:19

Re: FusionEdit v0.1
 
Quote:

Originally Posted by shawger
Hi,

I'm glad that you are undertaking the work to get a quality IDE working for FIRST. However, I'm confused about a couple of things.

Why are you writing an entirely new program when you could create scripts or plugins for one of the incredibly functional editors already out there? (VIM, EMACS, Eclipse, jEdit etc.) Not that I have a big problem with another editor, but it seems like you're reinventing the wheel a little bit here.

Also, why .NET? That leaves out a significant userbase of Linux and Mac users. Then these users will have to duplicate the fine work you're doing on the Windows platform if they want similar functionality. See the problem?

Again, please take these as suggestions, not angry demands.

What else are we going to do during the 10 months out of the year we're not building a robot?d :D

But, really I think the ide a behind this and other projects similar us that the technology er're using for FIRST has been stolen from other purposes. We should have an all in one soultion for programming, downloading, SVN, and any other things I can't think of right now.

As for using .NET .net is fast, easy, and the people who are using linux or Mac for programming are the people who have akready used another IDE, and won't change anyway.

Ryan M. 16-11-2006 11:44

Re: FusionEdit v0.1
 
Hypothetically (of course), the Mono project will allow you to run this on Linux. It doesn't because he uses a Window Form control which isn't supported yet, but I'm planning on trying to port this to GTK# at some point.

Good work, E. :D

et1337 16-11-2006 11:51

Re: FusionEdit v0.1
 
I used .NET mostly because it's really easy to create great interfaces. Visual C# is just drag-n-drop. Also, I had just learned the basics of C# and wanted to test my knowledge on a real project. .NET isn't the best choice, but if I chose Java or some other multi-platform language, it probably wouldn't be where it is right now.

I see what you mean about reinventing the wheel. I'll be completely honest and say the thought of writing scripts or plugins for another editor never entered my mind. I just saw a need for a FIRST-only IDE, and started writing one. Maybe a little rash, but we'll see. :D

Hope that answers your question.

shawger 16-11-2006 17:26

Re: FusionEdit v0.1
 
Quote:

Originally Posted by ETodd
I used .NET mostly because it's really easy to create great interfaces. Visual C# is just drag-n-drop. Also, I had just learned the basics of C# and wanted to test my knowledge on a real project. .NET isn't the best choice, but if I chose Java or some other multi-platform language, it probably wouldn't be where it is right now.

I see what you mean about reinventing the wheel. I'll be completely honest and say the thought of writing scripts or plugins for another editor never entered my mind. I just saw a need for a FIRST-only IDE, and started writing one. Maybe a little rash, but we'll see. :D

Hope that answers your question.

Yes that does answer my question.

Thanks for your reply.

Astronouth7303 16-11-2006 20:19

Re: FusionEdit v0.1
 
Quote:

Originally Posted by EHaskins
But, really I think the ide a behind this and other projects similar us that the technology er're using for FIRST has been stolen from other purposes. We should have an all in one soultion for programming, downloading, SVN, and any other things I can't think of right now.

How about a distribution of Eclipse that includes the CDT, the MCC18 toolchain, the PIC C highlighting/indexing extensions, Subclipse, pyctools, and other stuff I can't think of right now? (Plus downloads for python, mcc18 wine wrappers, and win32 make.)

I'm going to be up-front with this: You can't top Eclipse. Between the code completion, going-to-definitions-of-functions, automatic compilation, managed make & multiple targets, plug-in architecture, projects, versioning, and broad user base (not to mention IBM), beating it is somewhere between hard and a miracle.

Any home-brewed IDE I'm going to be skeptical of. (Take that as a challenge.)

BTW, how much would it cost to produce 1200 CDs?

et1337 16-11-2006 20:24

Re: FusionEdit v0.1
 
1200 CDs? About $200. Why?

Shinigami2057 16-11-2006 20:43

Re: FusionEdit v0.1
 
I think it would be a great idea if we started a development team to write a fully open-source toolchain for the FIRST competition - with your IDE, my program loader (which will be very easy to integrate into your idea, the code is designed to be used as a shared library), and some other useful collaboration tools (I agree that svn is a little overboard for most team's programming groups, too much work).

This may sound a little insane, but I've been more and more interested in writing a free software compiler for the FRC. It would take a hell of a lot of research and work, and probably wouldn't be usable for this year's competition, but it would be a great learning experience for anyone willing to help out and would greatly benefit the competition in general, IMHO.

In my opinion, we should try to centralize all these small programming projects for FIRST to encourage collaboration and making better and more robust tools for the competition. :)

shawger 16-11-2006 21:12

Re: FusionEdit v0.1
 
Quote:

Originally Posted by Shinigami2057
I think it would be a great idea if we started a development team to write a fully open-source toolchain for the FIRST competition - with your IDE, my program loader (which will be very easy to integrate into your idea, the code is designed to be used as a shared library), and some other useful collaboration tools (I agree that svn is a little overboard for most team's programming groups, too much work).

This may sound a little insane, but I've been more and more interested in writing a free software compiler for the FRC. It would take a hell of a lot of research and work, and probably wouldn't be usable for this year's competition, but it would be a great learning experience for anyone willing to help out and would greatly benefit the competition in general, IMHO.

In my opinion, we should try to centralize all these small programming projects for FIRST to encourage collaboration and making better and more robust tools for the competition. :)

Yes, I agree with you that a open-source workflow would be ideal here. I personally am not pleased with the open-source-hostile actions FIRST has been taking.

As for your compiler idea, that sounds insanely hard, but if you want to, go for it. This project might be useful. Also, you might want to go look what the gcc people are doing. Its possible they are planning on a compiler for Microchip stuff, or they might have some discussions about it (I haven't looked yet).

Astronouth7303 16-11-2006 22:15

Re: FusionEdit v0.1
 
Quote:

Originally Posted by ETodd
1200 CDs? About $200. Why?

I was thinking of coming up with such a package and sending one to every team. (Too late for the KOP?)

shawger 16-11-2006 22:25

Re: FusionEdit v0.1
 
Quote:

Originally Posted by Astronouth7303
I was thinking of coming up with such a package and sending one to every team. (Too late for the KOP?)

Why not just make it available for download? A lot less work for you, and just as convenient for all of us :)

SamC 16-11-2006 22:27

Re: FusionEdit v0.1
 
You may want to upload this to FIRST Software Repository when it is all finished.

Astronouth7303 17-11-2006 18:42

Re: FusionEdit v0.1
 
Quote:

Originally Posted by shawger
Why not just make it available for download? A lot less work for you, and just as convenient for all of us :)

I thought I might save teams (and the servers) the 100~150MB download. And by putting it in the kit, teams are more likely to use it.

chris31 17-11-2006 21:01

Re: FusionEdit v0.1
 
Quote:

Originally Posted by Astronouth7303
I was thinking of coming up with such a package and sending one to every team. (Too late for the KOP?)

The thing is i dont think it would get used by to many teams. However if we made a Live CD with all the files we needed then that would be perfect. Boot the CD, load your code from a USB drive, write, compile, load onto robot, save the code, log off. The end. And it would work nice and smooth. I have worked alot with Slax, a live cd based off of Slackware. If someone is interested maybe ill start that project.

shawger 18-11-2006 00:10

Re: FusionEdit v0.1
 
Quote:

Originally Posted by Astronouth7303
I thought I might save teams (and the servers) the 100~150MB download. And by putting it in the kit, teams are more likely to use it.

100MB! I had no idea it was that big. But that still only takes a couple minutes to download, and you can host it for free at a place like Sourceforge.

And if you wanted to put it in the kit, that would require all sorts of approval from the higher-ups, and it would have to work perfectly or near-perfectly, unless you want hundreds of emails/forum posts complaining about how it won't work for whatever reason.

Ryan M. 18-11-2006 07:03

Re: FusionEdit v0.1
 
Quote:

Originally Posted by Astronouth7303
I thought I might save teams (and the servers) the 100~150MB download. And by putting it in the kit, teams are more likely to use it.

Uh... It's only around 1.5MB. :)

chris31 18-11-2006 17:26

Re: FusionEdit v0.1
 
Quote:

Originally Posted by Ryan M.
Uh... It's only around 1.5MB. :)

I think he is talking about having Eclipse in the kit with pycloader and the eclipse plugin. Eclipse is like 120mb iirc.

et1337 19-11-2006 18:46

Re: FusionEdit v0.1
 
Alright, the SourceForge site is up!

Website: http://fusionedit.sourceforge.net

SourceForge Project site: http://sourceforge.net/projects/fusionedit

shawger 19-11-2006 21:50

Re: FusionEdit v0.1
 
Quote:

Originally Posted by ETodd
Alright, the SourceForge site is up!

Website: http://fusionedit.sourceforge.net

SourceForge Project site: http://sourceforge.net/projects/fusionedit

Glad to see you released it under the GPL! I'm trying it now and will let you know what I think.

One small problem - you need to distribute the GPL with the source code.

et1337 20-11-2006 18:20

Re: FusionEdit v0.1
 
Quote:

Originally Posted by shawger
Glad to see you released it under the GPL! I'm trying it now and will let you know what I think.

One small problem - you need to distribute the GPL with the source code.

Fixed. Thanks for pointing this out. :o

EHaskins 26-11-2006 12:32

Re: FusionEdit v0.1
 
So I went to test the program some more, and it wouldn't run. :ahh:

I went and tried to run it from source so I could find the problem, and I found that when the code tried to find my computers IP it found "::1". I can ping this address, but the software throws an incompatible IP address exception.

Is this a firewall problem?

EDIT: Exception data.

System.Net.Sockets.SocketException was unhandled
Message="An address incompatible with the requested protocol was used"
Source="System"
ErrorCode=10047
NativeErrorCode=10047
StackTrace:
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at FusionEdit.FusionServer.Initialize() in C:\Documents and Settings\Eric Haskins\Desktop\Source\Source\FusionServer.cs:line 59
at FusionEdit.FusionServerForm..ctor(String[] Arguments) in C:\Documents and Settings\Eric Haskins\Desktop\Source\Source\FusionServerForm.cs: line 38
at FusionEdit.StartupForm.ServerButton_Click(Object sender, EventArgs arguments) in C:\Documents and Settings\Eric Haskins\Desktop\Source\Source\StartupForm.cs:line 55
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallba ck(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.SendMessa ge(HandleRef hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at System.Windows.Forms.Control.SendMessage(Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.Control.ReflectMessageInterna l(IntPtr hWnd, Message& m)
at System.Windows.Forms.Control.WmCommand(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Mes sage& m)
at System.Windows.Forms.ContainerControl.WndProc(Mess age& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallba ck(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.CallWindo wProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at System.Windows.Forms.NativeWindow.DefWndProc(Messa ge& m)
at System.Windows.Forms.Control.DefWndProc(Message& m)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallba ck(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchM essageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager. System.Windows.Forms.UnsafeNativeMethods.IMsoCompo nentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.Run MessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.Run MessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at FusionEdit.Startup.Main(String[] Arguments) in C:\Documents and Settings\Eric Haskins\Desktop\Source\Source\Startup.cs:line 21
at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.Run UsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context( Object state)
at System.Threading.ExecutionContext.Run(ExecutionCon text executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

Astronouth7303 26-11-2006 21:13

Re: FusionEdit v0.1
 
Quote:

Originally Posted by EHaskins
So I went to test the program some more, and it wouldn't run. :ahh:

I went and tried to run it from source so I could find the problem, and I found that when the code tried to find my computers IP it found "::1". I can ping this address, but the software throws an incompatible IP address exception.

Is this a firewall problem?

Probably not. "::1" is the IPv6 equivalent of 127.0.0.1. The software is most likely expecting a IPv4 address (although I'm surprised it can't handle IPv6 addresses if windows does).

EHaskins 26-11-2006 21:21

Re: FusionEdit v0.1
 
When I looked at the code I found that I was getting an array of IP addresses, and the code only tried to use the first one. I rewrote the code so if the first one fails then it looks to next, then the next, ect.

The IPv4 vs. IPv6 incompatibility could be the problem, but I know I made it work so its ok for now. :rolleyes:


All times are GMT -5. The time now is 19:41.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi