<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div>Hi Everyone,<br></div>
<div>&nbsp;</div>
<div>Thanks first off for the kind response.&nbsp; I hope to do more demonstrations in the future and report back about those. Unfortunately I did not make a recording of this demo, as the setup in the meeting room was somewhat primitive.&nbsp; To be honest though, the demo was aimed at people who had no experience with Smalltalk whatsoever and so it was pretty basic. I also tried to keep it short and sweet so it was probably only 20-25 minutes.&nbsp; As I build up to a more full-featured demo I will work to figure out a recording setup so that I can share it with the list.<br></div>
<div>&nbsp;</div>
<div>My main motivation in sharing my story was thinking back a few months to a discussion on the list where some of the regular Squeakers lamented feeling a bit down about the usage of squeak and the community surrounding it, feeling sort of like they were shouting into the void and no one was using the things being developed.&nbsp; So I just wanted to share a small success story to let people know that their work is being used, seen, and appreciated out in the "real world" (whatever that means).<br></div>
<div>&nbsp;</div>
<div>Anyway, thanks again to everyone for all the work that has gone into Squeak, and I hope to write back again with an update on another successful demo!<br></div>
<div>&nbsp;</div>
<div>Jeff<br></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>On Fri, Jan 22, 2016, at 02:46 AM, Dimitris Chloupis wrote:<br></div>
<blockquote type="cite"><div dir="ltr"><div>"Will you be publishing this Package in the SqueakMap or somewhere?<br></div>
<div>Could this work for other languages like&nbsp;<br></div>
<div>Haskell to Smalltalk<br></div>
<div>or&nbsp;<br></div>
<div><div>Haskell to C to Smalltalk?"<br></div>
</div>
<div>Yes I will publish it in github. Yes it can work for any language that gives access to memory mapped files . I will implement it also for python. I currently use sockets for this IPC , which allow me to use python libraries from pharo. But of course sockets are nowhere as fast as shared memory. However my implementation is not a magic pill and will need modifications to satisfy personal needs, but I plan to document it with a set of video tutorials that they will explain how it works. Currently you can use a C++ library from pharo/squeak if you export it as a C library so it does not do name mangling , however my approach with memory mapped files does not allow you only to use C++ as a library but even "hack" inside executables and even store the live state of those executables together with the live state of your image. Essentially it will allows to run pharo with C++ side by side and interface between the two in many different ways. <br></div>
</div>
<div>&nbsp;</div>
<div><div dir="ltr">On Fri, Jan 22, 2016 at 4:20 AM Kjell Godo &lt;<a href="mailto:squeaklist@gmail.com">squeaklist@gmail.com</a>&gt; wrote:<br></div>
<blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204, 204, 204);padding-left:1ex;"><div>Will you be publishing this Package in the SqueakMap or somewhere?<br></div>
<div>Could this work for other languages like&nbsp;<br></div>
<div>Haskell to Smalltalk<br></div>
<div>or&nbsp;<br></div>
<div>Haskell to C to Smalltalk?<br></div>
<div>I have thought about trying this but i don't do C or C++<br></div>
<div>Although i did do a Bank kiosk in TurboC in the 1980s<br></div>
<div>TuboC was nice &nbsp; &nbsp; it was good<br></div>
<div>&nbsp;</div>
<div>i got scarred for life trying to use an early&nbsp;<br></div>
<div>Microsoft C compiler<br></div>
<div>in the mid 1980s<br></div>
<div>that was just awrful<br></div>
<div>people in that class at the UW&nbsp;were dropping like flies<br></div>
<div>one&nbsp;girl was hiding under one of the tables in the lab on the final day<br></div>
<div>the professor was getting pretty&nbsp;sick and tired&nbsp;<br></div>
<div>of getting software handed in&nbsp;that didn't work<br></div>
<div>so he was giving out zero grades for the class project to anyone<br></div>
<div>who handed in a class project in Microsoft c&nbsp;<br></div>
<div>that didn't work<br></div>
<div>and i can tell you&nbsp;<br></div>
<div>there were a lot of zeros handed&nbsp;out&nbsp;that day<br></div>
<div>i think most of us got zeros<br></div>
<div>even though we worked really hard<br></div>
<div>using a c compiler that<br></div>
<div>basically was pretty much just emitting&nbsp;<br></div>
<div>random sequences of semi executable drivel<br></div>
<div>i tried using the UNIX C compiler to get it going<br></div>
<div>and then port it back to&nbsp;<br></div>
<div>Microsoft c<br></div>
<div>crashed and burned<br></div>
<div>out of time<br></div>
<div>no way hozay<br></div>
<div>yyyyyyou get zero<br></div>
<div>well if i was quick&nbsp;<br></div>
<div>i would have gotten down on all fours<br></div>
<div>and gone under the table with the girl<br></div>
<div>she was a jolly&nbsp;Asian girl<br></div>
<div>at least i could have gotten<br></div>
<div>a pretty good quip&nbsp;out of the deal<br></div>
<div>&nbsp;</div>
<div>so<br></div>
<div>&nbsp;</div>
<div>i swore off of&nbsp;c<br></div>
<div>right then and there<br></div>
<div>i swore off of&nbsp;it&nbsp;<br></div>
<div>for life<br></div>
<div>the instant that zero hit<br></div>
<div>the instant i could see zero&nbsp;coming and my name on it<br></div>
<div>and&nbsp;no way to dodge it left<br></div>
<div>just a helpless&nbsp;prisoner of war kneeling&nbsp;in the headlights&nbsp;<br></div>
<div><div>with hands behind&nbsp;my head<br></div>
<div>that moment when you just give up<br></div>
<div>because haint nothing more you can do<br></div>
<div><span style="font-size:small" class="size"><span style="background-color: rgba(255, 255, 255, 0)" class="highlight">but just get hit</span></span><br></div>
<div>and it's too late to cheat<br></div>
<div>too late&nbsp;to band together with the cheaters and collaborate<br></div>
<div>they probably all got zeroed out too anyway for being too similar<br></div>
<div>or maybe the prof just rolled up&nbsp;his eyes up and over and back&nbsp;and said<br></div>
<div>caint give every dang one of em&nbsp;a zero today<br></div>
<div><div>and i swore that on my death bed&nbsp;i would say<br></div>
<div>Haint touched it since<br></div>
<div>&nbsp;</div>
<div>but TurboC was pretty good<br></div>
<div>yeah TurboC was almost Smalltalk like<br></div>
<div>yeah TurboC was all right<br></div>
<div>i made a bank kiosk out of&nbsp;<br></div>
<div>TurboC&nbsp;and&nbsp;TurboProlog&nbsp;<br></div>
<div>which was noted for being&nbsp;<br></div>
<div>error free<br></div>
<div>&nbsp;</div>
<div>probably Borland figured that<br></div>
<div>based on all&nbsp;our heinous experiences with c<br></div>
<div>that building a C compiler that works<br></div>
<div>a C compiler&nbsp;that actual&nbsp;works<br></div>
<div>would be pretty near to a<br></div>
<div>wide open&nbsp;blue ocean deal<br></div>
<div>ie<br></div>
<div>no competition exists<br></div>
</div>
</div>
<div><div><div><div>&nbsp;</div>
<div>&nbsp;</div>
<div><div>&nbsp;</div>
<div><div>&nbsp;</div>
<div>On Thursday, January 21, 2016, Dimitris Chloupis &lt;<a href="mailto:kilon.alios@gmail.com">kilon.alios@gmail.com</a>&gt; wrote:<br></div>
<blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204, 204, 204);padding-left:1ex;"><div dir="ltr"><div><div>Great job, I think they will be suprised even more that you can use smalltalk as scripting language for C++ projects which is currently what I do :) <br></div>
</div>
<div>Though I am using pharo instead of squeak , there is little reason for the same concepts not to apply for squeak . I am actually trying to make a shared memory(based on memory mapped files)&nbsp; frameworks where pharo shares memory with a c++ executable and they can talk to each other, shared data and live state and use each other's functions and libraries , sort of C++ being pharo's best buddy and vice versa ;) <br></div>
</div>
<div>&nbsp;</div>
<div><div dir="ltr">On Thu, Jan 21, 2016 at 10:42 PM Jeff Gonis &lt;<a>jeffgonis@fastmail.com</a>&gt; wrote:<br></div>
<blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204, 204, 204);padding-left:1ex;"><div>Hi Squeakers,<br></div>
<div>&nbsp;</div>
<div>
I just wanted to write in with a quick report on a recent demonstration<br></div>
<div>
I did for my my colleagues at work.<br></div>
<div>&nbsp;</div>
<div>
At the company I work for we are given one Friday a month to work on any<br></div>
<div>
sort of project that interests us, whether or not it is related to the<br></div>
<div>
work we do for the company, and so I usually end up playing around with<br></div>
<div>
a project in Squeak. As part of the deal, we are asked to occasionally<br></div>
<div>
present what we are working on to our peers, in the hopes that they can<br></div>
<div>
do some learning from our projects as well.<br></div>
<div>&nbsp;</div>
<div>
I didn't have any projects ready to demonstrate in a compelling way so I<br></div>
<div>
decided to instead just show off Squeak itself and give people kind of<br></div>
<div>
an introduction to Smalltalk and what I find so compelling about it. I<br></div>
<div>
decided to go ahead and live code a version of the bouncing atoms morph,<br></div>
<div>
using submorphs for the atoms, and developing the code as the parent<br></div>
<div>
morph "stepped" away on screen, updating its behavior seamlessly.&nbsp; I<br></div>
<div>
demonstrated adding variables and method without stopping, changing the<br></div>
<div>
methods and debugging them when I made mistakes, changing the entire<br></div>
<div>
class of the onscreen morphs as the simulation ran and some of the cool<br></div>
<div>
things about the language itself as well, like "build-your-own" if<br></div>
<div>
statements and such.<br></div>
<div>&nbsp;</div>
<div>
Overall I think that I kind of blew a bunch of people's minds, what with<br></div>
<div>
our day to day work being in C++ and always being in that<br></div>
<div>
edit-compile-run-test cycle. Several people came up to me afterwards to<br></div>
<div>
say how much they enjoyed seeing a different view of programming and<br></div>
<div>
what it could represent and I hope to put together a few more<br></div>
<div>
demonstrations in the coming months.<br></div>
<div>&nbsp;</div>
<div>
Anyway, I just wanted to let you know that Smalltalk is still surprising<br></div>
<div>
people and exceeding their expectations 35 years on, and a large part of<br></div>
<div>
it is thanks to all the great work that goes into Squeak from its<br></div>
<div>
contributors.<br></div>
<div>&nbsp;</div>
<div>
Thanks for your efforts!<br></div>
<div>
Jeff<br></div>
<div>&nbsp;</div>
</blockquote></div>
</blockquote></div>
</div>
</div>
</div>
</div>
</blockquote></div>
<div>&nbsp;</div>
</blockquote><div>&nbsp;</div>
</body>
</html>