[fonc] About the reduce of complexity in educating children to program
Hello, I am addressing this letter mainly to Mr. Alan Kay and his fellows at VPRI. I have an idea how to reduce complexity in educating children to program. This seems to be a part of a goal of the VPRI to improve powerful ideas education for the world's children. But in case my idea turns into success, a moral hazard emerges. If the children (6-14 years old) understand things better and can even program, can they become a victim of labor exploitation? Up to know they could be exploited physically. From now on they could be exploited mentally. OK, in the north in so called developed countries they may be protected, but in the south... On the other side, don't we owe to the tomorrow people the possibility to understand the world we leave to them? Or they will be savages that use tools, but do not know how work. So if you want to wear the burden of the moral hazard, I will send the description of my idea to you and help with what I can. You will judge, if it is worth to do it. It would be easily if people work cooperatively. That is a lesson children should learn too. The software could be made from one person, but there may be more challenges than one think. In case you agree to do it I will want you to publish online the results of the experiment. And if possible to make the program to run in a web browser and to release it freely too, just as you did in some of your recent experiments. It is strange that unlike more scientists, I will be equally happy from the success and failure of my idea. Best regards, Iliya Georgiev ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc
Re: [fonc] About the reduce of complexity in educating children to program
Hello Iliya. While you directed your inquiry to the people at VPRI (and I'm not there,) I hope you'll forgive my curiosity. Questions inline, and hopefully not too many of them. On Sep 19, 2014, at 2:16 AM, Iliya Georgiev ikgeorg...@gmail.com wrote: Hello, I am addressing this letter mainly to Mr. Alan Kay and his fellows at VPRI. I have an idea how to reduce complexity in educating children to program. This seems to be a part of a goal of the VPRI to improve powerful ideas education for the world's children. But in case my idea turns into success, a moral hazard emerges. If the children (6-14 years old) understand things better and can even program, can they become a victim of labor exploitation? All stop. Anyone can be exploited. It just takes a big enough gang of exploitive people. Is this really a question, or is it more of a statement? Up to know they could be exploited physically. From now on they could be exploited mentally. OK, in the north in so called developed countries they may be protected, but in the south... On the other side, don't we owe to the tomorrow people the possibility to understand the world we leave to them? Or they will be savages that use tools, but do not know how work. I made a half-assed promise at the top to only ask questions, but your phrasing here struck me as stunningly beautiful. The tomorrow people. If I'd written that, I'd be inclined to capitalize and underline the words. It'd be a great title for a science fiction novel. So if you want to wear the burden of the moral hazard, I will send the description of my idea to you and help with what I can. All stop. Why must I decide to bear a burden before I read your words? What risk is there in sharing them without contract? You will judge, if it is worth to do it. It would be easily if people work cooperatively. That is a lesson children should learn too. The software could be made from one person, but there may be more challenges than one think. In case you agree to do it I will want you to publish online the results of the experiment. And if possible to make the program to run in a web browser and to release it freely too, just as you did in some of your recent experiments. Isn't that asking a bit much? Would not asking for permission to publish your results yourself be enough? It is strange that unlike more scientists, I will be equally happy from the success and failure of my idea. Ouch. Yeah, I see what you're trying to say. Once again, I've failed to ask a question. What I'll say instead: I've never known a good scientist who would not be happy to know that her hypothesis was incorrect, because in doing so, she's learned something about the universe and our place in it, which is what she set out to do in the first place. Best regards, Iliya Georgiev Hope I haven't created unnecessary noise with this post. I assure you that you will forgive my curiosity! --Casey___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc
Re: [fonc] Morphic 3 defensive disclosure
Hi Dan, Quoting Dan Amelang daniel.amel...@gmail.com: Hi Juan, Thanks for the screenshots, that helps a lot! Now, it would be ideal to have a visual like this to for the comparison: http://typekit.files.wordpress.com/2013/05/jensonw-900.png. But, I know that you've got limited time to work on this, and such a thing wouldn't be very high priority. Maybe down the road. Yes, that would be cool. Maybe I find some time to do it in the soon. Also, comparing your renderer+stroke font to the recently open sourced Adobe font rasterizer would be interesting, too (http://blog.typekit.com/2013/05/01/adobe-contributes-cff-rasterizer-to-freetype/). As far as I can tell, Adobe's rasterizer is pretty much the the state-of-the-art rasterizer for outline font rasterization. If you're making the case that outline fonts are intrinsically unable to match the quality of your stroke font, this comparison would be a convincing way to do so. Yes, the CFF hinter does a great job. The difference between the 3 samples you is only in hinting. The three of them are drawn with whole pixel coverage AA. Hinting outlines is really hard. And very specific to not only to text but to a particular font specification: Hinting TTF and CFF requires 2 different algorithms. Besides, it is slow (really slow). Because of this, once drawn, the glyphs are usually cached for subsequent use. But this means that you need to draw glyphs at integer pixel coordinates, so you can reuse the cached rasterized glyphs. All this goes against several of my objectives. I want that: - Nothing is forced on a pixel grid. Any glyph can be drawn at any float coordinates anytime, without performance penalty. This precludes the use of a cache of rasterized glyphs. - The same algorithm is used for graphics and text. I don't want complex code that specific to TTF hinting. So, for TTF, I do no hinting at all! My TTF samples look reasonably good because (these are the focus of my defensive disclosure, and the heart of my engine): - I use something better than pixel coverage: prefiltering. - I sample at the subpixel position, not at whole pixels. So, I'm not claiming that my StrokeFont looks better than Adobe's CFF sophisticated hinting. I say that my StrokeFonts look better than TTF without any hinting at all, i.e. that my engine does a better job at StrokeFonts than it can do at TTF; and better than, for example, Apple, that doesn't do hinting either. I believe that Adobe's CFF hinting, but rasterizing with prefiltering and subpixel sampling (like I do) would give the best results of all. (if we restrict to pixel grid for glyph position, and admit having comples, text specific code). Going back to the topic of Morphic 3 rendering TrueType fonts, I'm attaching a few unfiltered zooms from your M3-TTF.png (your more recent M3-TTF-5.png looks the same in these areas). Notice the saturated colors in the middle of the black text. You mentioned that you have color fringing problems with 9 point sizes, but this font is about 12pt and the problem doesn't look like color fringing (i.e., the coloring isn't light nor just on the fringes, see http://typekit.files.wordpress.com/2010/10/gdi-cleartype.png for what I understand color fringing to look like). Maybe something else is going on here? Yes. Those look like bugs, and I'll look into them. Those need to be fixed! I'm attaching a sample of color fringes from M3-TTF.png, and the somewhate better M3-TTF-5.png to show what I meant. Back to your comments...I also like the idea of having a single rasterizer for text and general graphics. At least one that can be just parametrized or extended to handle text nicely as needed. Yes, there is no question that one can improve on the visual output of the popular rasterizers (cairo, skia, antigrain, qt, etc.). The question has always been at what cost to software complexity and at what cost to performance. Agreed. And I add to complexity and performace, the desire to draw glyphs not only at integer pixel positions, as I said above. I wasn't able to mentally separate your rasterization code from the rest of the Morphic 3 code (I'm not a big Smalltalker, so maybe it's just me), so I couldn't evaluate the complexity cost. It also looked like there were several optimizations mixed in that could have thrown off my understanding. It is not just you, you don't need to be polite! The engine is for a Morphic UI, and handles the nested coordinate systems, possible clipping to the owner's shape, and the identification of the morph at any pixel (to dispatch Morphic events). Besides, it is an early stage, full of nearly repeated code and experiments. It is even full of comments in Spanish that were meant to be transient, and just for me! It is far from the mean code quality of Cuis, for example. To get faster to the relevant parts, try following this with the debugger: (Morphic3Canvas onForm: Display) into: self runningWorld; intoLocation: (MatrixTransform2x3
Re: [fonc] Morphic 3 defensive disclosure
- I use something better than pixel coverage: pre filtering. I’m actually really curious about this. Is there a version of this paper that you own copyrights to that you could point us to? http://ip.com/IPCOM/000232657 Would you be interested in creating a clean, totally not optimized (and thus slow), stand alone version of the rasterizer just for exposition purposes? Something for people like me to learn from? Again, I know you have very limited time. No rush. Yes, I could do that. The features provided would be just drawing some shapes or glyphs, not unlike the snippet above, but trimmed of all superfluous Morphic stuff and experiments. Just give me a few days and I'll prepare it, in addition to fixing the saturated color pixels bug you mentioned. I’d also add that for a newcomer, it might even help your rasterization ideas spread more. Much of the discussion here http://www.jvuletich.org/Morphic3/Morphic3-201006.html starts with a discussion about improving on morphic, priming me to think about GUI toolkits and problems that arise there. Much of the meat of the content is about the rasterization ideas, which in my mind are quite different. e.g. you could build many things on the new rasterizer and you could build a new guy toolkit on many different rasterizers :) shawn ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc
Re: [fonc] About the reduce of complexity in educating children to program
Iliya Georgiev ikgeorg...@gmail.com writes: Hello, I am addressing this letter mainly to Mr. Alan Kay and his fellows at VPRI. I have an idea how to reduce complexity in educating children to program. This seems to be a part of a goal of the VPRI to improve powerful ideas education for the world's children. But in case my idea turns into success, a moral hazard emerges. If the children (6-14 years old) understand things better and can even program, can they become a victim of labor exploitation? Up to know they could be exploited physically. From now on they could be exploited mentally. OK, in the north in so called developed countries they may be protected, but in the south... On the other side, don't we owe to the tomorrow people the possibility to understand the world we leave to them? Or they will be savages that use tools, but do not know how work. So if you want to wear the burden of the moral hazard, I will send the description of my idea to you and help with what I can. You will judge, if it is worth to do it. It would be easily if people work cooperatively. That is a lesson children should learn too. The software could be made from one person, but there may be more challenges than one think. In case you agree to do it I will want you to publish online the results of the experiment. And if possible to make the program to run in a web browser and to release it freely too, just as you did in some of your recent experiments. It is strange that unlike more scientists, I will be equally happy from the success and failure of my idea. This is a choice only you can make (or a trusted friend who could keep it secret, but anything known by more than one person is not a secret anymore). In my experience, even dangerous ideas, that you refrain communicating, are soon discovered and publicated by others. Or rather, there are some people whose sole purpose is to find and exploit anything and any idea they can, and they will outguess you already. So if your idea can do some good, and if there can be some good people that may use it for good, instead of using it as an evil weapon, perhaps it would be worth sharing it. -- __Pascal Bourguignon__ http://www.informatimago.com/ “The factory of the future will have only two employees, a man and a dog. The man will be there to feed the dog. The dog will be there to keep the man from touching the equipment.” -- Carl Bass CEO Autodesk ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc