<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Dec 10, 2019 at 10:31 AM tim Rowledge <<a href="mailto:tim@rowledge.org">tim@rowledge.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><br>
<br>
> On 2019-12-10, at 10:05 AM, Nicolas Cellier <<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank">nicolas.cellier.aka.nice@gmail.com</a>> wrote:<br>
> <br>
> Hi Christoph,<br>
> The image side is totally messy, <br>
> The VM side is also messy, so finding a combination that might work is a sport.<br>
<br>
You're not wrong. I had a bit of fun with this stuff making the Raspberry Pi Scratch system handle linux non-ascii type keyboard input. An interesting problem there was that enabling the linux extension completely broke something else (that I can't remember at all) and made the whole attempt moot.<br>
<br>
<br>
> To summarize: we have reached a point where we cannot change/add one feature without breaking one other (at least).<br>
> The consequence is that we have some sort of "stable" status because we cannot change anything (the statu quo).<br>
<br>
I suspect this is what happens to almost every complex project. I mean, look at how all the OS's get messed up and stall for years. They're all terrible right now.<br>
<br>
Supporting old images means keeping the old messy VM code around. Doing something new and clean means a lot of work and probably using new primitives or some variety of flag to request use of the new code. Then we'd want to decide on a time to drop the old mess.<br></blockquote><div><br></div><div>See can at least comment it and corral the old messy code in ifdef's such as</div><div><br></div><div>#if SUPPORT_OLD_IMAGE_CHARACTER_MAPPING_CRAP</div><div>...</div><div>#endif</div><div><br></div><div>so that we don't have to think too hard about what we delete the next time we have a major release that breaks image backward compatibility.  I personally don't mind the old cruft being there.  What I hate is not knowing what the cruft is.  The code, especially the C VM code, must be properly documented so that it doesn't require intimate knowledge with older versions, the history, but twiddling hacks, etc, etc.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<br>
Lovely project! ;-)<br>
<br>
tim<br>
--<br>
tim Rowledge; <a href="mailto:tim@rowledge.org" target="_blank">tim@rowledge.org</a>; <a href="http://www.rowledge.org/tim" rel="noreferrer" target="_blank">http://www.rowledge.org/tim</a><br>
Strange OpCodes: DPC: Double Precision Crash<br>
<br>
<br>
<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div></div>