bharvey wrote:
If you wanted to write your own 3D library in BYOB, then you'd learn some trigonometry. But if we do that work for you, I don't see where the math comes in.
P.S. You and fullmoon should just learn Scheme.
The 3d math wouldn't be very compelling without 3d representation :\
Offline
Jens wrote:
Oh, one more thing: The Scratch Team has been working on Scratch 2.0 since the summer of 2009, and they already had several flash-based prototypes to build on. And they've got developers (plural) working fulltime. And they aren't done yet. There's just no way we're going to port more (i.e. BYOB) to a less feature-rich environment (JS as opposed to Flash) in less time.
I know you guys work incredibly quickly and efficiently on your own. but have you thought about submitting some projects for Google Summer of Code? Someone like me isn't really going to be able to help you, but surely there are people out there who would kill for the chance to help develop the Programming Languages of the Future(tm)?
Offline
ProgrammingFreak wrote:
ProgrammingFreak wrote:
Jens wrote:
Hi ProgrammingFreak, are you asking how to add an expand/collapse toggle to a custom block in BYOB? That happens when you set the argument slot in the long form slot dialog to "Multiple inputs".
Or are you asking how to do it in Squeak, because that's hard to answer, since BYOB uses its own block formatting and rendering mechanism (e.g. for inner-block line breaks) which is quite different from Scratch's (but designed to make BYOB's block look and behave like Scratch's). But you're welcome to take what you need from the source code!I'm talking about the squeak code. I'd like to make a certain block that would use it. Is it possible to share?
maybe if could contact you somehow i could tell you my idea for a block.
Offline
clintonhackers wrote:
have you thought about submitting some projects for Google Summer of Code?
Interesting idea. I think we'd want to have our plans less handwavy before we brought strangers in. We do have some JS-experienced programmers in on this conversation, and I have a Berkeley student or two to throw at the project. That should be plenty -- the biggest team that ever produced great software was six people (the Fortran II compiler). But. maybe after April we can start thinking about this.
Offline
Jens wrote:
Hi ProgrammingFreak,
please feel free to contact me via E-Mail if you wish. But I really don't mind discussing this in this thread at all. Maybe your idea is cool for BYOB, also!
Well, I'm not sure if I would like to tell you it here. I don't want anyone to steal it. So, I will be contacting you soon!
EDIT: um, I will need your email to contact you that way...
Last edited by ProgrammingFreak (2011-02-15 10:34:07)
Offline
bharvey wrote:
Yet another experimental release:
Jens wrote:
This build once again changes invisible things:
- the ATTRIBUTE reporter can now be dropped into Boolean slots
- the functionality of the experimental GET _ OF _ block has been merged into the _ OF _ block
There are some hairy details to this, so please let me know if you come upon any major glitches (aside from the fact, that recent projects that use the interim OF block will no longer be able to use it).
Enjoy!
--Jens
Hi Jens,
I've converted with success my most recent project plenty of GET/OF, except instructions with <ATTRIBUTE name >. The <name> attribute has been lost ! Now it is impossible to <SAY name OF Sprite>
Ps : My project uses extensively the <anchor> (ex-nested) feature which proves to be useful and fruitful in many situations.
Offline
xly wrote:
The <name> attribute has been lost ! Now it is impossible to <SAY name OF Sprite>
Hmmm, you're right. Problem is, internally Scratch isn't first-class-y about sprites at all but looks them up by their names. That's why we're getting into trouble if two sprites share the same name. Therefore let me suggest to ignore sprite names altogether. Alternatively we could make them read-only for 3.1. In future versions we'll be first-class all the way down anyway, so it won't matter in the long run
Offline
ProgrammingFreak wrote:
Well, I'm not sure if I would like to tell you it here. I don't want anyone to steal it. So, I will be contacting you soon!
EDIT: um, I will need your email to contact you that way...
Well, my email address is all over... BUT I'm really uncomfortable with keeping secrets
Offline
Jens wrote:
xly wrote:
The <name> attribute has been lost ! Now it is impossible to <SAY name OF Sprite>
Hmmm, you're right. Problem is, internally Scratch isn't first-class-y about sprites at all but looks them up by their names. That's why we're getting into trouble if two sprites share the same name. Therefore let me suggest to ignore sprite names altogether. Alternatively we could make them read-only for 3.1. In future versions we'll be first-class all the way down anyway, so it won't matter in the long run
Thanks Jens. Not a problem. By the way it's annoying that presently Byob accepts 2 sprites having the same name.
ps : Anyway, try to have a look at : http://www.xleroy.net/ByobTuto/New/Thumbnails.html with a project experimenting your new instructions/features
Offline
bharvey wrote:
Sure, but I'm saying you should write yourself, in BYOB, the code to project the 3D world onto the 2D computer screen.
I've thought about that but just haven't grasped projection math yet, not to mention it would be pretty slow in BYOB still.
Offline
New version of Morphic.js
I updated Morphic.js so that it once again passes the latest edition of JSLint. Make sure to delete your browser's cache for the download, so you get today's release if you want to get a head start in contributing to BYOB4.
For JavaScript code contributions I'm considering the following guidelines:
Please put any additions into separate files (not into Morphic.js itself) and validate them with JSLint using "The Good Parts" options and assuming a browser. Your code should also pass strict mode, but you don't have to put the silly tag into every function. Limit each line to a maximum of 72 characters including white space, indenting with tabs of 4.
Another good (albeit less strict) source is the Google JavaScript Style Guide sans the section about comments conforming to the horrible JSDoc format (we'll use different commenting guidelines).
Oh, and for the especially ambitious there's always http://enterprise-js.com/ to refer to
Last edited by Jens (2011-02-15 17:14:01)
Offline
Huh. I keep trying to run it, but Google Chrome just displays it as a text file and ie9 crashes.
EDIT: Firefox also displays it as text...
Last edited by shadow_7283 (2011-02-15 18:08:10)
Offline
shadow_7283 wrote:
Huh. I keep trying to run it, but Google Chrome just displays it as a text file and ie9 crashes.
EDIT: Firefox also displays it as text...
Yup, that's right, the text file is the JavaScript Morphic library file. That's the one you want to download.
If you want to run it in your browser you need to set up a web page with at least one Morphic World as in the Morphic demo page. Instructions how to create such a web page are found in the documentation that's in the JS file.
Offline
Oh. Sorry 'bout that.
Offline
Jens wrote:
Yup, that's right, the text file is the JavaScript Morphic library file. That's the one you want to download.
If you want to run it in your browser you need to set up a web page with at least one Morphic World as in the Morphic demo page. Instructions how to create such a web page are found in the documentation that's in the JS file.
Jens & Brian let me tell you a nice story ...
"Is this byob one Nth programming language , No, Madam it is a revolution" (*) . No doubt the future Byob 4 will be revolutionary, and I'm happy to be one of its witness.
1 - Based on Scratch a well-proven user-friendly interface if you consider its success amongst a large audience of kids/teens and its large range of applications : games, math, art, simulation, story-telling, multimedia...
2 - Now topped by a sophisticated layer adding the double power and functionalities of high-level 1-st class + Object Oriented Programming languages, thus enlarging the audience, the level and the range of applications.
3 - In parallel the present engine of Scratch, a mix of Squeak+ Morph if I'm right, will be replaced by a Javascript based engine, Morph.js , without modyfying the 2 upper levels. And there comes the revolution. With this new engine you get the speed. Your application runs in any web-browser window either Computers or Tabs. You benefit through APIs to come of thousands of existing Js libraries **.
This extraordinary new programming tool is the direct heir of 40 years of research and devlopments mainly at MIT and Berkeley : Lisp, Smalltalk, Logo, Scheme, Squeak, Scratch added to significant role of innovative companies : Xerox machine, Unix + C language, Windows, Apple.
This does not come by chance : Brian Harvey has been for all this period a major actor and contributor of this extraordinary intellectual adventure, and Jens Moening has already proved an impressive amount of significant achievements (we can judge him at the foot of the wall !)
(*) to paraphrase the words of the Queen of France watching at the agitation of a mob in the street.
Offline
Don't tell me you're working on BYOB4! Was 3.1 even officially released?
Offline
xly wrote:
"Is this byob one Nth programming language , No, Madam it is a revolution" (*) . No doubt the future Byob 4 will be revolutionary, and I'm happy to be one of its witness.
You are much too kind!
without modyfying the 2 upper levels.
Well, this is true in spirit -- the result will be recognizably Scratch-inspired and will include first class lists, blocks, sprites, costumes, and sounds. But the implementation will be totally different inside, and we might take the opportunity to rethink aspects of the UI as well, e.g., the resizable stage that fullmoon wants.
This extraordinary new programming tool is the direct heir of 40 years of research and devlopments mainly at MIT and Berkeley : Lisp, Smalltalk, Logo, Scheme, Squeak, Scratch added to significant role of innovative companies : Xerox machine, Unix + C language, Windows, Apple.
Much as I'd like to take the credit for my institution, Berkeley has really been a leader only in this last step. The crucial invention of OOP and Smalltalk was done at Xerox PARC by Alan Kay, Dan Ingalls, Adele Goldberg, and others. Lisp and Scheme are MIT. Berkeley's strength in the early days was more in operating systems (e.g., adding virtual memory to Unix) than in programming languages.
This does not come by chance : Brian Harvey has been for all this period a major actor and contributor of this extraordinary intellectual adventure,
*blush* The kernel of truth in here is that I've been lucky enough to study at the feet of the people who led the work at both MIT and PARC. And I wrote a (good, I admit I think) series of CS books for teenagers using Logo which about five people have read.
and Jens Moening has already proved an impressive amount of significant achievements (we can judge him at the foot of the wall !)
Here we agree -- Jens is an incredible force of nature.
Last edited by bharvey (2011-02-16 09:43:35)
Offline
scimonster wrote:
Don't tell me you're working on BYOB4! Was 3.1 even officially released?
3.1 is scheduled for release in March, in time for the SIGCSE (computer science education) conference in Dallas. The conference is a sort of deadline because we Berkeley folks are giving a BYOB workshop and I'd like the people who come to that to see sprite OOP.
In parallel with that we're talking about 4.0, for which the deadline is late August, when the next session of Berkeley's CS 10 starts. We really, really have to improve the speed of BYOB projects to make the language usable. The only actual code so far is the Morphic implementation that Jens posted about, which will underpin the user interface.
Offline
Jens wrote:
New version of Morphic.js
I have to ask...:
var Morph; //... Morph.prototype = new Node(); Morph.prototype.constructor = Morph; Morph.uber = Node.prototype; //... function Morph() { this.init(); }
Why not use either an anonymous function when you declare the variable:
var Morph = function(){this.init()}; Morph.prototype = new Node(); //...
or assign to the prototype after declaring the function and not use a var statement at all?
Offline
Idea:
This would be somewhat momentous for BYOB because you could then have somewhat of a package based system for updating projects using an 'index' file to point to objects, sounds, images, and other text files. (It also would be nice if you could get a list of files and folders in any given directory and could output files.)
Last edited by 14God (2011-02-16 17:34:08)
Offline
14God wrote:
Interesting! I'd like that!
Offline