Showing posts with label smalltalk. Show all posts
Showing posts with label smalltalk. Show all posts

Monday, July 06, 2009

New website

I finally took the time to redo my website properly :)

Obviously, I had to use Seaside, and as I did play with Pier some time ago, this looked like a good fit.

For those who do not know, Seaside is the best web application server I know of -- it really is something when you want to quickly write extremely complex sites or webapps. Pier is a CMS developped on top of Seaside, which provides a wiki system amongst other things.

The new theme is also frankly much better than my previous one -- it's actually nearly exactly the same as the default Pier theme, but hey, I really like it, and it _is_ cleaner :)

The site also automatically pull the last posts from this blog as well as my last commits and some recent twitter posts, and display all this as the main page.

Finally, one thing that wasn't great on the previous site was the pictures section; I resumed some earlier work I did on a Pier component (Pier Gallery) and cleaned it up to get what's shown now... more on that in a next post.

Thursday, April 03, 2008

DabbleDB 8 minutes demo

DabbleDB is as impressive as ever. If you never heard about it, it's a fantastic database app, one of the few "webapp" that really manages to be as usable as it would be if it was a "normal" desktop app. It manages that by leveraging the power of Seaside, a web application server written in Smalltalk (hands down the best app server I ever seen, period. Beats even webobjects, and you code in Smalltalk. Can't be better, really!).

Discarding the impressive "webapp" aspect (which in a way is more of a sad commentary on the poor capacities of the "web" platform, although it is improving, as dabbledb can show, and as addons such as Gears improve the capacities), it's the only database I know that let you evolve your data model as smoothly as they do it, not even talking about the great tools to easily explore and enrich your data... This is a kind of flexibility that I think should be put back at the center of our computing experience and be adopted by more applications/domains.

Anyway, Avi Bryant released a new 8 minutes demo showing off DabbleDB, after their famous 7 minutes demo they did in 2006. If you never heard about DabbleDB, check it!

Saturday, March 24, 2007

NeXT videos & WebObjects



I found these two videos, the first one showing Steve Jobs demo NeXTstep 2.0, the NeXTCube 040 + Dimension, the slab, DBKit, in 1990.. it's always surprising to see how far ahead NeXT was, or reversely, how slowly did we progress on the software side, while the hardware we have now is insanely more powerful...



The second one shows again Steve Jobs, five years later. NeXT stations didn't sell, their state-of-the-art factory closed, they stopped producing hardware, and reconverted as a software only company. The tone of the talk seems to reflect those disappointment, with Steve trying to be excited about Distributed OLE and Portable Distributed Object (PDO), but you can feel it's not really anymore about changing the world... and yet, when analysing the state of the WWW and its future, Steve is absolutely dead on, and he then goes on to demo a beta version of WebObjects, which in the end will save the company (until it took over Apple). WebObjects was an absolutely amazing tech, and still is. The move to a J2EE implementation instead of the ObjC implementation, the availability of other solutions, and its curious downplay by Apple (while they use it for their store, they aren't exactly pushing it on the market, although they dramatically cut the price from hundred thousands of dollars to $500, to finally make it free). WebObjects had a huge impact on current "web application servers", many of them openly inspired by it. My preferred one is Seaside, a fantastic Smalltalk framework... for a great example of what you can do with Seaside, try dabbledb :-)

Note that there's two free software implementations of WebObjects in Objective-C, GNUstepWeb and NGObjWeb (part of SOPE, the web application framework used by Opengroupware.org).

Monday, August 29, 2005

VERY interesting videos

Following a link from the Squeak-dev mailing list... I watched theses two videos (a presentation in two parts) by Alan Kay, circa 87 ... They are brilliant, and extremely interesting. Definitely something to view !

Part 1

Part 2

(ps: Squeak is an incredible environment, and Seaside is a fantastic web app framework running in Squeak... worth your time..)

addendum: Interesting PDF about PARC's work ...

addendum 2: another interesting video, an interview of alan kay.

Wednesday, June 15, 2005

StepTalk Palette 1.0 released :-)

Well, I had the time this evening to create a small libStepTalkView library (containing... the StepTalkView widget...) and correct a few things, so I thought it was good enough for a release ! For once I'm trying to do "release early, release often". Although I'm not sure about the latter... ;-)

Anyway, the whole package (libStepTalkView and StepTalkPalette) is here: http://www.roard.com/gnustep/STPalette-1.0.tgz

What's wrong at the moment ? well, it seems the StepTalkView class is not properly exported somehow, so you need to reload manually the class in Gorm (Classes->load class, load StepTalkView.h from libStepTalkView) before drag'n dropping a StepTalkView -- I guess that's probably easy to fix. Else it seems to work..

What I'd like to do now is to create outlets/actions on the fly (well, actually, tell Gorm about them) -- if I can do that, then I can create an object that will let you dynamically create "StepTalk objects" -- add instance variables, methods, etc. Each "methods" will contains a script, executed on the fly, and each instance variables will be passed to the scripts. Not completely sure about methods parameters, but I'll probably find a nice way to deal with them...

Anyway, if I can do that (and that seem doable..), then you could really program entirely in Gorm :-)

(although it probably won't be very fast, for sure... but for prototyping that would be quite useful I think, and if you need perfs, you can create an ObjC object!).

Have fun, and contact me if you have ideas :-)

Monday, June 13, 2005

Steptalk integration ..

Now that I have something mostly working on the "stack" side .. what would be neat is to have a way of adding some little code snippets directly in Gorm and link them to actions; it's not meant to replace ObjC coding, but in my "hypercard"-like idea, it's ok -- you'll use small scripts to do some of the things, and if you want really complex stuff you can use objc objects. Well I guess people could abuse the script system, but hey..

So, the obvious way to add scripting is to use Steptalk, Stefan Urbanek's script engine for GNUstep. Furthermore, Steptalk isn't tied to a specific language (actually it can support a smalltalk-like language and scheme, and we could have something else like ruby in the future...).

I had a look to F-Script but I was disappointed by its IB palette.. basically it's not really useable for what I want ;-) -- even if I didn't want to use it, I was wondering how the palette was working, as I thought it permitted what I want... in fact, it kinda does, but by setting manually the targets/actions of objects in the script .. bah :-) -- I want something more easy to use.

Well, I compiled Steptalk on OSX to play a bit with it, and I'm trying to think about how the palette could work to provide an environment as easy to use as possible... F-Script palette's idea of defining a bunch of outlets (object1, object2, .. object9) on the F-Script view where you link objects to have them accessible from the script is a bit crude, but for a start it will do the work. Though I think it should be possible to create a custom editor/connector that will let you add outlets on the fly, which would be a better way. Need to ask greg about that :-)

So the idea is to create a Steptalk palette that will contain a "Steptalk object" (which will contains a steptalk environment and
a text containing the script). You will be able to connect outlets to this object (and theses outlets will then be accessible from the script), and also use it as a target (so you could connect a button to it, when the button is clicked it will execute the content of the script). That won't be a perfect system and not as transparent as visual basic / hypercard (eg, click on the button, you get a window with the corresponding code executed onClick), but that would be a start. This "Steptalk object" won't be a view, but we could have a simple view so you could put the script on your windows (this view won't show when the program is running...).

Something that could be interesting too is to use custom widgets that already contains a steptalk object, with their target/action set to it. For example, the Stack could (and probably should) contains such an object. Same for the cards. And we could have a custom button containing a steptalk object too, which will then permit the "I click on the button and the code appears" scenario...