# Come try out my program

**URL:** <https://boards.straightdope.com/t/come-try-out-my-program/563616>\
**Category:** Miscellaneous and Personal Stuff I Must Share\
**Created:** [December 10, 2010, 2:41am UTC](https://boards.straightdope.com/t/come-try-out-my-program/563616 "2010-12-10T02:41:42Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Strinka](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/strinka/32/512_2.png) [@Strinka](https://boards.straightdope.com/u/Strinka)\
**Post date:** [December 10, 2010, 2:41am UTC](https://boards.straightdope.com/t/come-try-out-my-program/563616/1 "2010-12-10T02:41:42Z")

</div>

I made a program, called AlDraw, for making geometrical constructions, like [these](http://picasaweb.google.com/apstrinka/Pictures?feat=directlink).

I’ve been working on it more recently, and I just put it up on [SourceForge](https://sourceforge.net/projects/aldraw/). It’s released under the GNU GPLv3, so you can download the source code or the executable for free. I realize that instructions on how to use it are kinda non-existent. I’m working on that.

It’s all done in Java, so that’s all you need to run it.

So, try it out. See if it makes sense, and if you can figure it out despite the current lack of instructions. I’ll of course answer any specific questions.

I’d very much appreciate any feedback.

---

<div class="post-metadata">

**Author:** ![Darryl\_Lict](https://avatars.discourse-cdn.com/v4/letter/d/7cd45c/32.png) [@Darryl\_Lict](https://boards.straightdope.com/u/Darryl_Lict)\
**Post date:** [December 10, 2010, 3:12am UTC](https://boards.straightdope.com/t/come-try-out-my-program/563616/2 "2010-12-10T03:12:36Z")

</div>

It looks like a completely cool application. Unfortunately, after filling out that rather invasive Citrix application, nothing happened. Am I supposed to get an email notification or something? I’m particularly interested in the Penrose tiling.

---

<div class="post-metadata">

**Author:** ![Strinka](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/strinka/32/512_2.png) [@Strinka](https://boards.straightdope.com/u/Strinka)\
**Post date:** [December 10, 2010, 3:24am UTC](https://boards.straightdope.com/t/come-try-out-my-program/563616/3 "2010-12-10T03:24:30Z")

</div>

I don’t know anything about a Citrix application. You should be able to download the .zip which contains the executable directly from SourceForge. If you have Java installed, you shouldn’t need to do anything but extract the files to run it.

---

<div class="post-metadata">

**Author:** ![Derleth](https://avatars.discourse-cdn.com/v4/letter/d/b9e5f3/32.png) [@Derleth](https://boards.straightdope.com/u/Derleth)\
**Post date:** [December 10, 2010, 9:35am UTC](https://boards.straightdope.com/t/come-try-out-my-program/563616/4 "2010-12-10T09:35:42Z")

</div>

> [@Darryl\_Lict](#):
>
> Unfortunately, after filling out that rather invasive Citrix application, nothing happened.

I think you clicked the wrong link or something: The program is just a few files and a directory archived together in a .zip file. There’s no application to fill out and certainly nothing to do with Citrix.

I can email you the files if you want.

**Strinka** : Thanks for releasing this and making it Open Source. It’s certainly an appealingly simple little program and all of the features it has certainly work. It seems like it would be a wonderful little aid to someone learning Euclidean geometry. The only problem is that exporting to SVG doesn’t seem to work: It only exports the base circle, not any of the stuff the user actually added. (BTW, I’m running it on Linux.)

(On looking at the source, I see you’ve dummied out the stuff that actually writes the lines and rays. Next release, then?)

---

<div class="post-metadata">

**Author:** ![Strinka](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/strinka/32/512_2.png) [@Strinka](https://boards.straightdope.com/u/Strinka)\
**Post date:** [December 10, 2010, 11:23am UTC](https://boards.straightdope.com/t/come-try-out-my-program/563616/5 "2010-12-10T11:23:29Z")

</div>

> [@Derleth](#):
>
> The only problem is that exporting to SVG doesn’t seem to work: It only exports the base circle, not any of the stuff the user actually added. (BTW, I’m running it on Linux.)
> 
> (On looking at the source, I see you’ve dummied out the stuff that actually writes the lines and rays. Next release, then?)

It definitely should export any line segments, arcs and circles that are there. If any of those don’t get exported correctly, that’s a bug.

It doesn’t export rays and lines because the svg format doesn’t support infinite lines and rays. I figure I can save them as segments that extend to or past the edge of the screen, but I obviously haven’t gotten to that yet.

---

<div class="post-metadata">

**Author:** ![Derleth](https://avatars.discourse-cdn.com/v4/letter/d/b9e5f3/32.png) [@Derleth](https://boards.straightdope.com/u/Derleth)\
**Post date:** [December 10, 2010, 12:12pm UTC](https://boards.straightdope.com/t/come-try-out-my-program/563616/6 "2010-12-10T12:12:26Z")

</div>

> [@Strinka](#):
>
> It definitely should export any line segments, arcs and circles that are there. If any of those don’t get exported correctly, that’s a bug.
> 
> It doesn’t export rays and lines because the svg format doesn’t support infinite lines and rays. I figure I can save them as segments that extend to or past the edge of the screen, but I obviously haven’t gotten to that yet.

If I may suggest, you obviously don’t want ‘infinite’ lines: A line is just a segment that extends from one edge of the page to another, and a ray is just a segment that has a distinct start point on the page and extends to the edge in a given direction.

Also, I probably would have used a library to generate the XML, but doing it by hand the way you did is a perfectly elegant solution given what you are actually doing. I also found your code perfectly discoverable and readable.

---

<div class="post-metadata">

**Author:** ![not\_alice](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/not_alice/32/7283_2.png) [@not\_alice](https://boards.straightdope.com/u/not_alice)\
**Post date:** [December 10, 2010, 12:24pm UTC](https://boards.straightdope.com/t/come-try-out-my-program/563616/7 "2010-12-10T12:24:10Z")

</div>

the images look very interesting, could be fun for logo sketching, and also for recreating a lot of japanese crests in vector format.

---

<div class="post-metadata">

**Author:** ![Strinka](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/strinka/32/512_2.png) [@Strinka](https://boards.straightdope.com/u/Strinka)\
**Post date:** [April 13, 2011, 1:22am UTC](https://boards.straightdope.com/t/come-try-out-my-program/563616/8 "2011-04-13T01:22:58Z")

</div>

I’ve released an [update](http://sourceforge.net/projects/aldraw/) to this.

I fixed a bug affecting arc deletion. I made it so lines and rays do get exported as segments that extend to the edge of the window. I’ve also added the ability to print directly from the program. I’ve only tested that last part with my printer using letter sized paper, so I’m not sure what it will do in different circumstances.

---

<div class="post-metadata">

**Author:** ![beowulff](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/beowulff/32/542_2.png) [@beowulff](https://boards.straightdope.com/u/beowulff)\
**Post date:** [April 13, 2011, 2:02am UTC](https://boards.straightdope.com/t/come-try-out-my-program/563616/9 "2011-04-13T02:02:11Z")

</div>

I get the following errors when I try to run it on my PPC Mac running OS X 10.5.8:

Exception in thread “main”  
java.lang.UnsupportedClassVersionError: Bad version number in .class file  
java.lang.ClassLoader.defineClass1(Native Method)  
java.lang.ClassLoader.defineClass(ClassLoader.java:676)  
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)  
java.net.URLClassLoader.defineClass(URLClassLoader.java:260)  
java.net.URLClassLoader.access$100(URLClassLoader.java:56)  
java.net.URLClassLoader$1.run(URLClassLoader.java:195)  
java.security.AccessController.doPrivileged(Native Method)  
java.net.URLClassLoader.findClass(URLClassLoader.java:188)  
java.lang.ClassLoader.loadClass(ClassLoader.java:317)  
java.lang.ClassLoader.loadClass(ClassLoader.java:252)  
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375)  
java.lang.Class.forName0(Native Method)  
java.lang.Class.forName(Class.java:242)  
org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)

---

<div class="post-metadata">

**Author:** ![Panurge](https://avatars.discourse-cdn.com/v4/letter/p/fbc32d/32.png) [@Panurge](https://boards.straightdope.com/u/Panurge)\
**Post date:** [April 13, 2011, 11:31am UTC](https://boards.straightdope.com/t/come-try-out-my-program/563616/10 "2011-04-13T11:31:32Z")

</div>

Works fine in Kubuntu 10.10 64bit. Nice tool!

---

<div class="post-metadata">

**Author:** ![QuercusMax](https://avatars.discourse-cdn.com/v4/letter/q/8baadc/32.png) [@QuercusMax](https://boards.straightdope.com/u/QuercusMax)\
**Post date:** [April 13, 2011, 12:18pm UTC](https://boards.straightdope.com/t/come-try-out-my-program/563616/11 "2011-04-13T12:18:59Z")

</div>

PPC macs don’t support Java 1.6. Maybe if you’re lucky OpenJDK will get a ppc version, but for now you’re out of luck.

> [@beowulff](#):
>
> I get the following errors when I try to run it on my PPC Mac running OS X 10.5.8:
> 
> Exception in thread “main”  
> java.lang.UnsupportedClassVersionError: Bad version number in .class file  
> java.lang.ClassLoader.defineClass1(Native Method)  
> java.lang.ClassLoader.defineClass(ClassLoader.java:676)  
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)  
> java.net.URLClassLoader.defineClass(URLClassLoader.java:260)  
> java.net.URLClassLoader.access$100(URLClassLoader.java:56)  
> java.net.URLClassLoader$1.run(URLClassLoader.java:195)  
> java.security.AccessController.doPrivileged(Native Method)  
> java.net.URLClassLoader.findClass(URLClassLoader.java:188)  
> java.lang.ClassLoader.loadClass(ClassLoader.java:317)  
> java.lang.ClassLoader.loadClass(ClassLoader.java:252)  
> java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375)  
> java.lang.Class.forName0(Native Method)  
> java.lang.Class.forName(Class.java:242)  
> org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)

---

<div class="post-metadata">

**Author:** ![Doug\_K](https://avatars.discourse-cdn.com/v4/letter/d/b5ac83/32.png) [@Doug\_K](https://boards.straightdope.com/u/Doug_K)\
**Post date:** [April 13, 2011, 3:26pm UTC](https://boards.straightdope.com/t/come-try-out-my-program/563616/12 "2011-04-13T15:26:59Z")

</div>

> [@Strinka](#):
>
> I don’t know anything about a Citrix application. You should be able to download the .zip which contains the executable directly from SourceForge. If you have Java installed, you shouldn’t need to do anything but extract the files to run it.

I’ve noticed that lately SourceForge has some ads (I haven’t seen a Citrix one but I have seen some from HP) that look like a form you have to fill out to download the field. The download link is easy to miss, but the form fills up most of the page.

---

<div class="post-metadata">

**Author:** ![Strinka](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/strinka/32/512_2.png) [@Strinka](https://boards.straightdope.com/u/Strinka)\
**Post date:** [August 22, 2011, 10:25pm UTC](https://boards.straightdope.com/t/come-try-out-my-program/563616/13 "2011-08-22T22:25:00Z")

</div>

I’ve made another update to [this](https://sourceforge.net/projects/aldraw/). Now it does color! It also does copy and paste.

More example drawings are [here](https://picasaweb.google.com/apstrinka/Constructions?authuser=0&feat=directlink).
