
Caffeine: Livecoding environment for web browsers, Node.js, and WebAssembly - memexy
https://caffeine.js.org/
======
galaxyLogic
Interesting. The welcome page is unfortunately not very readable, gray text on
another shade of gray background.

Not sure I quite understand what this does, where does it store the changes
you edit on the browser?

~~~
memexy
I think it stores it in IndexedDB but there are other backends as well. I
didn't look too closely how it handles persistence. It was something I came
across while doing some research on smalltalk. Didn't pursue it any further
other than thinking it was an interesting project.

------
mynegation
25 years ago or so I was introduced to a Smalltalk and VisualAge. I would not
be able to put up more than two lines of Smalltalk right now but back then I
created some UI interfaces and non trivial software in the amount of time that
floored me. Smalltalk and VisualAge were way more advanced than anything I was
working with back then (think Turbo C++ or AIX). Not sure what happened to all
of this, but it looks like there are efforts from few remaining enthusiasts on
that front.

My best guess as to what happened is that IBM likely lost interest in
Smalltalk and VisualAge as a strategic direction. Also, even now all the
efforts I see on that front cling to the design aesthetic of the OS/2 of the
early 90s which does not help the cause either.

------
adreamingsoul
I can barely read that webpage. Needs more contrast.

~~~
darepublic
Just add caffeine to it and do a live edit

------
johnmw
Wow, a live coding web based Smalltalk environment! What a great topic for a
tech discussion! And maybe a discussion on how this could sort of thing could
be the future - the original dream of Sir Tim Berners-Lee of a real "read
write" web, where people are no longer passive consumers of content pushed on
them by large corporations?

Instead - 5 separate comments complaining about the colors used on the first
landing page, and one comment complaining about its choice of name. Sigh. (
edit - this video might be a better intro to Caffeine -
[https://vimeo.com/286872152](https://vimeo.com/286872152) )

~~~
musicale
I agree - I've been excited about this sort of thing ever since the early days
of asm.js (now webasm), not to mention the Internet Archive's classic game
collection.

In addition to this Squeak (et al.) implementation, recent HN discussions have
covered web browser implementations of Smalltalk-80 as well as BBC BASIC and
Multics. I'd really like to see more of this; for example, it should be easy
to make a browser version of Oberon - I'm sure someone has done it already.

I think there are lots of great opportunities for creating modern programming
environments (Pharo...) and also making interactive, usable versions of
important historical environments such as Smalltalk-80 or UNIX.

~~~
xkriva11
[https://schierlm.github.io/OberonEmulator/](https://schierlm.github.io/OberonEmulator/)

------
simonebrunozzi
I am tempted to experiment a bit with web programming - perhaps I'll create a
simple game or something, just for fun.

I haven't developed for the web in a long time. What would you suggest as the
best language and platform to do that?

------
cutler
Gave up after trying to read the first sentence. Great color scheme.

------
GrumpyNl
Thats one of the worst pages to promote your product, unreadable.

------
vardump
Text contained in the apps is hard to read, very blurry on HiDPI/retina
displays.

~~~
musicale
I'm not sure how well Morphic deals with HiDPI. Presumably it should be
fixable, though the performance could drop.

Of course the beautiful part is that the rendering engine is written in
Smalltalk, so anyone can fix it in the environment itself. ;-)

I think there is also an alternative UI that uses DOM text and widgets? Note
the bidirectional JavaScript bridge allows you to access the DOM easily.
Presumably DOM text and widgets would render fine in HiDPI mode.

Personally I'd be fine with some sharp bitmap fonts and UI elements; bitmap
fonts work great for programming, and they are quick to render, fun, and
nostalgic (also there are some beautiful classical bitmap fonts created for
the Alto, Smalltalk-80, Macintosh, etc..)

------
_0o6v
What on earth am I looking at?

~~~
mynegation
This is supposed to be a webpage that you can edit live, in place, in
Smalltalk programming environment.

No surprise that you are confused given the design of from quarter of century
ago, and ideas behind it and the programming language were relegated to a very
small community of enthusiasts.

------
fulafel
Which source languages does it support?

~~~
memexy
It uses SqueakJS so in theory it supports whatever SqueakJS supports:
[https://squeak.js.org/](https://squeak.js.org/).

> SqueakJS executes Squeak in a web page without a plugin. It is a fully
> capable virtual machine implemented in pure JavaScript running unmodified
> Squeak images. Squeak is a modern implementation of Smalltalk, the original
> dynamic object-oriented programming environment. It runs bit-identically on
> virtually any platform, and now in the web browser, too.

~~~
mark_l_watson
I had not seen SqueakJS before, cool idea.

I have played with Amber, which is a mature Smalltalk development system in a
browser experience.

------
barbs
I know naming can be difficult, but "Caffeine" is already taken and well
known.

[http://lightheadsw.com/caffeine/](http://lightheadsw.com/caffeine/)

~~~
jedberg
Not to mention [https://www.caffeine.tv/](https://www.caffeine.tv/)

~~~
smileybarry
Yeah, I remembered that one and at first I thought this one had something to
do with livestreaming coding.

