
-----------------------------------
ttm
Fri Dec 02, 2011 11:13 pm

DWITE io allotted time
-----------------------------------
Completely not important, but on the DWITE, the language io is allotted 2500 ms while turing is allotted 6000, but in practice, io is 15x slower than turing.

The following io code takes 12,105 ms to run on my computer
[code]
fib := method (i, if (i .<
-Having compsci.ca host a project page would be much appreciated, but we don't have a website yet
-We can make do with git's built-in bug tracker for now.
-I'll get started fixing up the documentation soon (this weekend busy as hell :| seems like the world is due Monday)
-How do you propose we get started with unit testing?
-Your guidance is appreciated.

-----------------------------------
Tony
Sat Dec 03, 2011 11:15 pm

Re: DWITE io allotted time
-----------------------------------

-Having compsci.ca host a project page would be much appreciated, but we don't have a website yet

what kind of a website are you thinking of


-How do you propose we get started with unit testing?

research your options and find a decent unit testing framework that will be compatible with this project.

-----------------------------------
trishume
Sun Dec 04, 2011 9:26 am

Re: DWITE io allotted time
-----------------------------------
What I meant by minor changes was no changes that are good targets for unit testing. OpenGL is a library interface with no computation.

I have actually done testing (not huge industry-level testing but some) I have test suite files for both hash maps and OpenGL that I used to find bugs. I am now fairly confident in those features. For language testing I run my Turing in turing interpreter, which uses almost all turing language features (OO,exceptions,casting,pointers, etc...)

Thus I am fairly confident in those features. The master as dev thing was when I was learning github and developing on my own machine. That stopped as soon as I pushed to github. And the dev branch is always less stable than master.

Also, that time was the first time I had committed uncompiled code? Why? Ttm had made those changes and tested them but totally f'd up the git repo in his learning process. So I rolled back his changes and redid the good changes myself. I just needed them compiled to test for typos in the 10 characters I changed. The oops was me forgetting to add one of the changes ttm made.

I'm tagging this version 1.0 because: 
- It is fairly stable and tested (80+ people and the only bug found is your -run one.) I know this isn't as good as unit testing, but it is pretty good.
- I have to make something 1.0 or else not have version numbers. Which people seem to want.

-----------------------------------
ttm
Sun Dec 04, 2011 2:22 pm

Re: DWITE io allotted time
-----------------------------------
Ah-hem.

-What about the 9000+ places where it says Turing when it should say OpenTuring
-What about the bug where if you copy OpenTuring to another folder the splash and icons revert
-The editor crash bug still happens if you're holding down a letter and double click
-Structure complete doesn't completing functions marked as pervasive or body
-Lack of documentation of new features, etc etc.
-New features don't have syntax highlighting
-The drawpic function doesn't actually work
-etc

Not that these are going to be solved immediately, but there's more than 1 bug.

Anyways. I think 1.0 should have been just the exact original 4.1.12 with only a splash and name change, with hashmaps and whatever in 1.1, but seeing as 1.0 has already been done, there's not much we can do about that.


what kind of a website are you thinking of


research your options and find a decent unit testing framework that will be compatible with this project.

Doesn't really help but ok. VS has built-in unit testing features that may work.

-----------------------------------
Tony
Sun Dec 04, 2011 2:40 pm

RE:DWITE io allotted time
-----------------------------------
bugtracker -- github's or otherwise. It's unreasonable to keep track of bugs in forum posts.

versioning -- could very well start at v0.1.x. If, for whatever reason, it must be 1.x, then maybe 1.0.0_RC1 ?

Website -- Project Pages at github http://pages.github.com/ is likely your best bet. That could even be hooked up with a custom domain.

I'm not going to tell you what specific testing framework to use, just nudge you in the right direction. Open this up as an issue, propose choices, invite discussion. This might seem mundane at the surface, but it will (well, should) become an integral part of the project.

This is absolutely amazing -- http://www.sqlite.org/testing.html

By comparison, the project has 1177 times as much test code and test scripts


extensive testing also plays a vital role in maintaining and improving the quality of SQLite. This document has summarized the testing procedures that every release of SQLite undergoes with the hopes of inspiring the reader to understand that SQLite is suitable for use in mission-critical applications.


Sure, OpenTuring might not have a goal of "production use". Fine. But you'd have a much easier time convincing people (teachers, school boards?) to switch from Turing, if you can show a reasonable level of stability. (A solid test suite also makes it incredibly easier to develop new features in the long run. This is from years of industry experience.)

-----------------------------------
trishume
Sun Dec 04, 2011 4:19 pm

Re: DWITE io allotted time
-----------------------------------
Ah-hem.

-What about the 9000+ places where it says Turing when it should say OpenTuring
-What about the bug where if you copy OpenTuring to another folder the splash and icons revert
-The editor crash bug still happens if you're holding down a letter and double click
-Structure complete doesn't completing functions marked as pervasive or body
-Lack of documentation of new features, etc etc.
-New features don't have syntax highlighting
-The drawpic function doesn't actually work
-etc

Not that these are going to be solved immediately, but there's more than 1 bug.

Anyways. I think 1.0 should have been just the exact original 4.1.12 with only a splash and name change, with hashmaps and whatever in 1.1, but seeing as 1.0 has already been done, there's not much we can do about that.


what kind of a website are you thinking of


research your options and find a decent unit testing framework that will be compatible with this project.

Doesn't really help but ok. VS has built-in unit testing features that may work.

Github bug tracker!! Put them up!

-----------------------------------
trishume
Sun Dec 04, 2011 4:31 pm

Re: RE:DWITE io allotted time
-----------------------------------
bugtracker -- github's or otherwise. It's unreasonable to keep track of bugs in forum posts.

versioning -- could very well start at v0.1.x. If, for whatever reason, it must be 1.x, then maybe 1.0.0_RC1 ?

Website -- Project Pages at github http://pages.github.com/ is likely your best bet. That could even be hooked up with a custom domain.

I'm not going to tell you what specific testing framework to use, just nudge you in the right direction. Open this up as an issue, propose choices, invite discussion. This might seem mundane at the surface, but it will (well, should) become an integral part of the project.

This is absolutely amazing -- http://www.sqlite.org/testing.html

By comparison, the project has 1177 times as much test code and test scripts


extensive testing also plays a vital role in maintaining and improving the quality of SQLite. This document has summarized the testing procedures that every release of SQLite undergoes with the hopes of inspiring the reader to understand that SQLite is suitable for use in mission-critical applications.


Sure, OpenTuring might not have a goal of "production use". Fine. But you'd have a much easier time convincing people (teachers, school boards?) to switch from Turing, if you can show a reasonable level of stability. (A solid test suite also makes it incredibly easier to develop new features in the long run. This is from years of industry experience.)

I know of the benefits of unit testing and am a firm believer in them. I am writing unit tests for the new editor and my compiler.
From now on any new features I write I will write tests for.

Unfortunately, unit tests are only effective if they have reasonable code coverage. It would be damn near impossible for the meagre amount of unit tests we could write even if we had time to properly check all of the Turing interpreter. Also, it isn't easy to test code you didn't write. You end up looking at the code and thinking, "This is what it's meant to do" and coding buggy behaviour into the tests. Yes, you can figure out proper behaviour but this is hard in large confusing code bases.

Even an efficient 11:1 code-test ratio would take 2+ million lines of code.

-----------------------------------
Tony
Sun Dec 04, 2011 4:42 pm

Re: RE:DWITE io allotted time
-----------------------------------
Unfortunately, unit tests are only effective if they have reasonable code coverage.
You would be right, if we were talking about regression testing only.

Edit: you are right that unit testing the existing code base comes with too high of a benefit per effort ratio. It could be covered with functional tests though. I think you've mentioned feeding a complicated source file to see if it compiles, which is basically the idea. Perhaps a more fine grained suite of functional tests, with validated outputs, could be put together with reasonable amount of effort.

-----------------------------------
Dan
Sun Dec 04, 2011 5:09 pm

Re: DWITE io allotted time
-----------------------------------

Github bug tracker!! Put them up!

Better then nothing, but personaly i think you should try to keep the barrier to users reporting bugs as small as possible. Requireing them to sing up for a GitHub account may deter people from reporting bugs.

I think the best method might be setting up public mailing lists for devloper discussion and one for user support/bug reporting (which devlopers could then create issues for). 


Another current issue is your licensing. Right now you have GPL, confidential and copyrighted code in the repo with the OpenTuring code. As it stands you could proably be sued or get a DMCA take down from sun microsystems, microsoft, and others. You also have a copy of the SciFi novel writer, Michelle Sagara's home page in there which is really crazy.

-----------------------------------
Tony
Sun Dec 04, 2011 5:32 pm

Re: DWITE io allotted time
-----------------------------------
sun microsystems Oracle.

-----------------------------------
ProgrammingFun
Sun Dec 04, 2011 5:43 pm

Re: DWITE io allotted time
-----------------------------------
sun microsystems Oracle.
I pointed that out when UTSC recently said that their coop partners include Sun Microsystems :lol:

-----------------------------------
trishume
Sun Dec 04, 2011 6:38 pm

Re: DWITE io allotted time
-----------------------------------

Github bug tracker!! Put them up!

Better then nothing, but personaly i think you should try to keep the barrier to users reporting bugs as small as possible. Requireing them to sing up for a GitHub account may deter people from reporting bugs.

I think the best method might be setting up public mailing lists for devloper discussion and one for user support/bug reporting (which devlopers could then create issues for). 


Another current issue is your licensing. Right now you have GPL, confidential and copyrighted code in the repo with the OpenTuring code. As it stands you could proably be sued or get a DMCA take down from sun microsystems, microsoft, and others. You also have a copy of the SciFi novel writer, Michelle Sagara's home page in there which is really crazy.

Oops. That was in the original package I got from Tom West, who is married to Michelle Sagara.

I now notice that there is some libraries, mostly for images. I will look into their licenses.

Confidential and copyrighted though? I don't know what code you mean by that.

-----------------------------------
Tony
Sun Dec 04, 2011 6:42 pm

RE:DWITE io allotted time
-----------------------------------
https://github.com/Open-Turing-Project/OpenTuring/blob/master/ready/src/jni/jawt.h


/*
 * @(#)jawt.h	1.8 01/12/03
 *
 * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */


-----------------------------------
trishume
Mon Dec 05, 2011 4:11 pm

Re: DWITE io allotted time
-----------------------------------
Friggin ready Java. Clutterin' up the code base.

After I finish my application essay for Shad Valley I will go on a problem fixing blitz.

-----------------------------------
A.J
Tue Dec 06, 2011 5:58 pm

RE:DWITE io allotted time
-----------------------------------
Straying off topic guys...you keep giving me the hope that a post is somehow related to DWITE everytime a new post is made.

-----------------------------------
coolgod
Wed Dec 07, 2011 1:20 am

Re: RE:DWITE io allotted time
-----------------------------------
Straying off topic guys...you keep giving me the hope that a post is somehow related to DWITE everytime a new post is made.
lol exactly. How is open turing even related to io anyways?
