Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Caffeine: Livecoding environment for web browsers, Node.js, and WebAssembly (caffeine.js.org)
91 points by memexy on June 19, 2020 | hide | past | favorite | 23 comments


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?


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.


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.


I can barely read that webpage. Needs more contrast.


Just add caffeine to it and do a live edit


Check the GitHub directly: https://github.com/ccrraaiigg/caffeine


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 )


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.



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?


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


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


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


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..)


What on earth am I looking at?


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.


Which source languages does it support?


It uses SqueakJS so in theory it supports whatever SqueakJS supports: 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.


I had not seen SqueakJS before, cool idea.

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


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

http://lightheadsw.com/caffeine/



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


> I know naming can be difficult...

Pretty sure this was on purpose.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: