Freitag, 23. September 2011

Using Amber with a free WebDAV-Service

I really love Amber - but there's one thing i could not get used to. To persist the code you produce you need to setup a local WebDAV-Server or you need to run the Amber server-tool based on node.js.
The Problem i had is that i wanted to work only with a browser. Do some work on my PC, then switch to my wifes notebook, work in an internet-café, have a quick look at some code when i'm at my mothers house and so on.
My first attempt was a project on the google-app-engine, where jtalk (now "Amber") code was saved to a database. That approach was a quick hack and somehow proprietary. I also ran JTalk on the JVM on the serverside using google-backend-technology. Everything was much too complicated.
My current idea is to keep everything simple, use free services and have a real cloud-approach. I needed a free WebDAV-Service, accessible by a Webbrowser and the possibility to sync my files with a local folder on my harddisc.
I had the idea to use Dropbox, because Dropbox has an easy to use syncing tool and a nice web-view. I used Dropbox to server my Twitterwall demo for Amber. It would be quite easy to put a git-repository in my public Dropbox-folder and server Ambers index.html to the Cloud. But since Dropbox has no WebDAV-support it would not be possible to work from somewhere and save code and then push the changes to github when i'm back to a PC with git installed. To solve this problem, i would need to use the Dropbox-API. But that approach has other difficulties ...
On my quest i was experimenting with a lot of Cloud, WebTop and Filehosting Services and the only one that was easy and free to use and was working with Amber was the gmx MediaCenter.
There are just a few steps:
  1. Register a gmx account
  2. Navigate to the MediaCenter
  3. Upload the git-repository with Amber sources (drag & drop)
  4. Navigate to and login with your gmx-passwort
  5. Go to the index.hmtl in your amber-folder, do some coding and press "commit package"
The commited Category js will be updated in the gmx MediaCenter!
When you want to push your code to github, you just need to go to a PC where you can sync your gmx MediaCenter to a local disc and where a git-client is available.
It's possible to share WebDAV-folders with other gmx users so you easily could collaborate outside of github.
There's only one drawback - you can't grant access to everybody, it's restricted to gmx-users. So if you want to show something to a wider audience you would need to copy the files e.g. to your Dropbox folder.

Mittwoch, 21. September 2011

A Twitterwall with Amber

Amber, formerly known as JTalk, is evolving. It is so much fun playing with Smalltalk just only with a browser - it's addictive! So i wanted to contribute a little Example of how Amber can be used to mesh-up Web2.0 stuff.
The result was a very simple Twitterwall using the restful Twitter-Search API. I pushed it to my amber-fork on github and made a pull-request. Nicolas already pulled it and now it's in the amber examples-section.
You can have a look at it in my public Dropbox folder. You can examine the two responsible classes Tweet and TwitterSearch in the Examples category from there too.

Dienstag, 20. September 2011

An Eclipse-Plugin for Redline Smalltalk

I just started the development of an eclipse-plugin for redline smalltalk. It is the very first preview but i wanted to release this early to be prepared for any wishes/ commets etc. The project ist hosted on github.
I'm using Xtext for parsing/ syntax coloring/ code completition etc. So i have to reimplement parts of the parser, but Xtext is very powerful and we can use all of the nifty features of the eclipse plugin development environment.
Currently it's only an Editor but it could be enhanced to an own "Perspective" with more Smalltalk-Development Tools, e.g. 
  • Class Hierarchy Browser (by switching to that perspective all .st-files would get parsed to an ecore-model)
  • Debugger (it's already there)
  • Transcript (a console, it's already there too)
  • a Workspace (we could use something like the eclipse-scrapbook-pages for that)
This Perspective could be packaged as an own RCP-Application so we would have a standalone Smalltalk-IDE ... 

The plugin registers a viewer for files with the extension ".st"
The viewer has two tabs. You can switch between the source view with syntax coloring and code completition and the class view, where you can select from a list of methods and see the associated method-source.
Any Ideas and wishes are welcome!