[squeak-dev] International text input on X11

Yoshiki Ohshima Yoshiki.Ohshima at acm.org
Thu May 5 23:01:29 UTC 2016


Great.  Thanks.

I'll give it a try... I might not do NFS but seems good.  So the VM
would be the one I would produce by checking out the svn repository on
squeakvm.org, go to the branches/Cog directory and compile?  Is there
a dev image you use?

On Thu, May 5, 2016 at 3:33 PM, tim Rowledge <tim at rowledge.org> wrote:
>
>> On 05-05-2016, at 2:34 PM, Yoshiki Ohshima <Yoshiki.Ohshima at acm.org> wrote:
>>
>> Sorry for posing a vague question...  I do have a couple of Pis (Pi
>> and Pi2, but not Pi3), and have done some graphics stuff in C over
>> SSH.  So I invoke my program from a shell running emacs on an SSH
>> session and things appear on a display connected to a Pi.  But I have
>> not tried VNC there.  I haven't done any real Squeak stuff on Pi and
>> for Pi; if running Squeak on Pi and interacting with it over VNC is
>> reasonably fast, I'd go with that path.  But this one involves some C
>> programs and if people does some cross compiling more on a host
>> computer, that is also an interesting option.
>
> Ah, I see.
>
> When the first Pi came out and I started on improving Scratch, things were sufficiently slow in Scratch that I did much of my work on my iMac and just test-ran the system on the Pi. Compiling the VM etc has always been on the Pi, since
> a) it’s fast enough to be no problem even on a Pi B
> b) I’m not about to start messing around setting up a cross-compiling system. Gcc is enough of a nuisance as it is without that extra layer of madness.
>
> The first improvements to Scratch were to make its image run on a more recent VM, which didn’t take a lot and on the circa 2012 interpreter it was ok to do some Squeak work on the Pi. Morphic was still a bit painful in a development image. That combination sufficed to get Scratch running around 4-8X faster as measured by an assortment of example projects; it wasn’t difficult to find and fix a rather large collection of poor code.
>
> After that I moved all the source to a modern image (4.4? 4.5?) and rewrote almost everything to use layout properly, events, etc etc. That meant we could jump to a stack vm as well - and then the Pi 2 arrived. A Pi 2 running Squeak 4.5 on a stack vm is a decent development machine and by that stage I was doing all my work on the Pi. Then Eliot & I got the Cog vm working as well, and Squeak 5/Cog/spur on a Pi 2 is pretty damn fast.
>
> I got my first Pi 3 last august, just as we got Cog going, which is why the PICs had to be rewritten - it turned out the the first version had a curious bug that didn’t cause a fatal error on a ‘real’ ARM v7 but does on an ARM v8 running v7 emulation. A production Pi 3 with cog/spur/5 benchmarks at around 100 dorado, 10% or so of my i7 3GHz iMac  (using the shootout bmarks) and 280m bc/sec & 12m sends/s. Running my  latest Scratch version you can run power hungry projects like PacMan around twice as fast as the original Scratch on my 2011 era macbook, which I suspect is around twice as fast as one fro m’07 when Scratch was initially released.
>
> So, don’t waste time on cross-compiling or treating a Pi as some sort of arduino/toy; it’s a real computer.  I see that kind of assumption everywhere; people asking what IDE to use to make programs for a Pi and how to download it and make it run. Argh! It’s a quad-core 1.2GHz unix supercomputer!
>
> I recommend installing
> sudo apt-get install netatalk libnss-mdns xrdp i2c-tools
> then for dev work
> sudo apt-get install  libX11-dev uuid-dev libcairo2-dev libpango1.0-dev autoconf libasound2-dev libssl-dev
> then save some space
> sudo apt-get remove wolfram-engine
>
> set up nfs
> On Pi-
> `sudo aptitude install nfs-common portmap` (in jessie, no need to install)
> On the current version of Raspbian, rpcbind (part of the portmap package) does not start by default. . To enable it manually, so we can mount our directory immediately:
> sudo service rpcbind start
> sudo update-rc.d rpcbind enable
> mkdir /home/pi/DizietFS <- obviously change to suit
> sudo mount -t nfs 192.168.1.65:/Users/tim /home/pi/DizietFS <- obviously, your ip & path
>
>
> Now, to make it permanent, you need to edit /etc/fstab to make the directory mount at boot. I added a line to the end of /etc/fstab:
>
> `192.168.1.65:/Users/tim /home/pi/DizietFS nfs rsize=8192,wsize=8192,timeo=14,intr,noauto,x-systemd.automount 0 0`
>
> On iMac-
> in a terminal
> `sudo nano /etc/exports` (which won’t normally exist until you save it)
> and add the line
> `/Users/tim -mapall=tim -alldirs -network 192.168.1.0 -mask 255.255.255.0`
> `sudo nfsd restart`
> should restart the daemon.
>
> After all that, reboot the Pi and DizietFS ought to be visible and accessible.
>
> On windows -
> no idea. Don’t do windows.
>
> Make the LXDE GUI less irritating
>
> edit .xsessionrc (creating if required)
> add
> xsetroot  -cursor_name left_ptr&
>
> chmod a+x .xsessionrc
> reboot to get proper cursor in X instead of a big ugly X
>
> Use an rdp client on your mac/windows machine - I use the msoft one on my iMac and it’s fine. If you expect to use xrdp most of the time, use raspi-config to set the Pi to boot to command line rather than desktop.
>
> Pi 3 has wifi & bt built in. Sound output is via a typically lousy ( and lossy) headphone socket or the hdmi, or add a nice HAT. Sound input is only via usb sound dongle or HAT.
>
>
> tim
> --
> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
> Never do card tricks for the group you play poker with.
>
>
>



-- 
-- Yoshiki


More information about the Squeak-dev mailing list