Monthly Archives: December 2012

Smalltalk: Links, News And Resources (7)

Previous Post
Next Post

9th Innovation Technology Awards
http://www.esug.org/wiki/pier/Conferences/2012/Innovation-Technology-Awards

BYTE Vol 06-08 1981-08 Smalltalk.pdf
https://docs.google.com/file/d/0Bzn23kCE_aNlRG5xaGpIaEZXWEk/edit

[Pharo-project] Android Cog VM/Pharo Builds at INRIA Jenkins
http://lists.gforge.inria.fr/pipermail/pharo-project/2012-August/068334.html

Welcome to Smalltalks 2012
http://www.fast.org.ar/smalltalks2012

Interview with Alan Kay
http://www.drdobbs.com/architecture-and-design/interview-with-alan-kay/240003442

Smalltalk/X
http://www.exept.de/en/products/smalltalkx/download/smalltalk

Esug 2012 Smalltalk/X
http://www.exept.de/en/details/esug_2012

What’s the difference of ANSI Smalltalk and Smalltalk-80?
http://stackoverflow.com/questions/6368337/whats-the-difference-of-ansi-smalltalk-and-smalltalk-80

microsqueak
http://web.media.mit.edu/~jmaloney/microsqueak/

The Bootstrap Chronicles – The end of a phase
http://playingwithobjects.wordpress.com/

The Virtual Machine
http://www.fit.vutbr.cz/study/courses/OMP/public/software/sqcdrom2/Tutorials/SqOnlineBook_(SOB)/englisch/sqk/sqk00096.htm

Whatever became of VistaSmalltalk aka Vista Script ?
http://www.linkedin.com/groups/Whatever-became-VistaSmalltalk-aka-Vista-100141.S.124441446

How to save a pharo image automatically every hour?
http://stackoverflow.com/questions/4655537/how-to-save-a-pharo-image-automatically-every-hour

A Simple Overview of Smalltalk Syntax
http://www.gnu.org/software/smalltalk/manual/html_node/The-syntax.html

Basic Aspects of Squeak and the Smalltalk-80 Programming Language
http://www.cosc.canterbury.ac.nz/wolfgang.kreutzer/cosc205/smalltalk1.html

Practical Git for Smalltalk
http://portal.sliderocket.com/vmware/STIC-2012-Practical-Git-for-Smalltalk

CampSmalltalk / cuis-cypress
https://github.com/CampSmalltalk/cuis-cypress
Monticello-style definitions for Cuis … needed for Cuis support of common Smaltalk source import/export format

dalehenrich / amber-skeleton
https://github.com/dalehenrich/amber-skeleton
A template project for creating your own Amber-based projects
http://gemstonesoup.wordpress.com/2012/04/22/amber-skeleton-lookout-kaliningrad/

CampSmalltalk / STIG
https://github.com/CampSmalltalk/STIG
Cypress implementation for VisualWorks

Spoon
http://squeak.joyful.com/Spoon
Spoon is a new Smalltalk kernel with a module system that uses remote message sending.

Modules as Objects in Newspeak
http://bracha.org/newspeak-modules.pdf

Generating Smalltalk
http://www.smalltalking.net/papers/stGen/stGenE.htm

Engendrando un Smalltalk
http://www.smalltalking.net/papers/stGen/stGen.htm

My Links
http://delicious.com/ajlopez/smalltalk

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

Smalltalk: Links, News And Resources (6)

Previous Post
Next Post

These days, I added features to my AjTalk Smalltalk VM (C# version): a simple web server module, a WebSide module (a la Seaside), a Templates module (for code/text generation), a simple web server using templates, a null object, etc…. See repo. But before writing posts describing those works, I share more links about Smalltalk:

The Bootstrap Chronicles Chapter 1 – Preparing the soil
http://playingwithobjects.wordpress.com/2012/06/08/the-bootstrap-chronicles-chapter-1-preparing-the-soil/

Bootstrapping: finding the missing link
http://playingwithobjects.wordpress.com/2012/06/02/bootstrapping-finding-the-missing-link/

Maui — A user-interface builder for Smalltalk
http://www.youtube.com/watch?v=kUdu8ImXJwU

Tektronix 4404 Smalltalk Demo
http://www.youtube.com/watch?v=8yxCJfayW-8&feature=youtu.be

Closing a phase. Good bye GSoC
http://concretetypeinference.blogspot.com.ar/

Writing Parsers with PetitParser
http://www.lukas-renggli.ch/blog/petitparser-1

Pharo by Example 2
http://rmod.lille.inria.fr/pbe2/

Hardware Hacking With Squeak
http://news.squeak.org/2012/05/21/hardware-hacking-with-squeak/

Eve Track
http://smallworks.com.ar/products/evetrack

pmon / Cuis-ProfStef
https://github.com/pmon/Cuis-ProfStef
ProfStef for Cuis Smalltalk

SergeStinckwich / PlayerST
https://github.com/SergeStinckwich/PlayerST
Player/Stage client for Smalltalk
Smalltalk Television Video Collection | Applications | WebClient/WebServer
http://smalltalk.org/videos/video_Applications_WebClientWebServer.html

jvuletich / Cuis
https://github.com/jvuletich/Cuis
Cuis is a free Smalltalk-80 environment originally derived from Squeak with a specific set of goals: being simple and powerful. It is also portable to any platform, fast and efficient. This means it is a great tool for running on any hardware, ranging from supercomputers to tablets and smart phones, and everything in between, including regular PCs.

maxwell’s equations of software
http://wingolog.org/archives/2009/12/11/maxwells-equations-of-software

Standard input in Pharo?
http://forum.world.st/Standard-input-in-Pharo-td2173080.html

How to write inline C code
http://www.inf.ufsc.br/poo/smalltalk/stx/english/programming/primitive.html

Smalltalk for Lispers
http://live.exept.de/doc/online/english/programming/stForLispers.html

garduino / Cuis-Cryptography
https://github.com/garduino/Cuis-Cryptography
Crypto classes for Cuis (Ported from Squeak, Pharo or written from scratch).

Producer: A tool for translating Smalltalk-80 to Objective-C
http://dl.acm.org/citation.cfm?id=38846

The Smalltalk-80 Implementation at Hewlett-Packard, in Smalltalk-80: bits of history, words of advice (1983)
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.117.4595

How to Create Smalltalk Scripts
http://www.esug.org/data/Articles/Columns/EwingPapers/filein_scripts.pdf

Smalltalk Interchange Format
http://www.math.sfedu.ru/smalltalk/standard/chapter4.html.en

My Links
http://delicious.com/ajlopez/smalltalk

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

PythonSharp (1) A minimal Web Server

Past month I presented my work on PythonSharp at Argentina PyCon 2012 (see Spanish post), a Python interpreter that I am writing in C#. As in other of my interpreter implementations, it can access native types. As a proof of concept, I wrote a minimal web server example:

from System import Array, Byte
from System.Net import HttpListener
from System.IO import Path, FileStream, FileMode, File

root = "c:/apache-tomcat-6.0.18/webapps/docs"

bytes = Array.CreateInstance(Byte,1024)

listener = HttpListener()
listener.Prefixes.Add("http://*:8000/")

def process(context):
    filename = context.Request.Url.AbsolutePath
    if not filename or filename == '/':
        filename = "index.html"
    if filename[0] == '/':
        filename = filename[1:]
    print(filename)
    filename = Path.Combine(root, filename)
    print(filename)
    if not File.Exists(filename):
        context.Response.Abort()
        return
    input = FileStream(filename, FileMode.Open)
    bytes = Array.CreateInstance(Byte, 1024 * 16)
    nbytes = input.Read(bytes, 0, bytes.Length)
    while nbytes>0:
        context.Response.OutputStream.Write(bytes, 0, nbytes)
        nbytes = input.Read(bytes, 0, bytes.Length)
    input.Close()
    context.Response.OutputStream.Close()

listener.Start()

while True:
    context = listener.GetContext()
    print("new request")
    process(context)
        

The file at repo:

https://github.com/ajlopez/PythonSharp/blob/master/Src/PythonSharp.Console/examples/httpserver.py

To run the example, you should compile the solution. PythonSharp.Console project compiles to pysh.exe console program. You can change the root variable value, now it points to a set of static files in my disk, with Tomcat docs 😉 :

 

The code is based on my previous examples:

A Minimal Http Server In C#

A Minimal Http Server in Java

I can import .NET namespaces and manage them as modules. I’m working with .NET 3.5 (I like to use the minimal requirements) so I could not use other approaches to copy a file to the output response stream, see:

Best way to copy between two Stream instances

Now, I’m working on having the same implementation for my AjTalk Smalltalk virtual machine. But that’s a topic for another post.

Keep tuned!

Angel “Java” Lopez

http://www.ajlopez.com

http://twitter.com/ajlopez

Smalltalk: Links, News And Resources (5)

Previous Post
Next Post

I’m working adding features in my Smalltalk VM implementation (C# version, see repo). I should write posts about my work. Now, more of my links about Smalltalk:

Design Principles Behind Smalltalk
http://www.cs.virginia.edu/~evans/cs655/readings/smalltalk.html

Simulating the Interpreter
http://wiki.squeak.org/squeak/2465

Dr. Alan Kay on the Meaning of “Object-Oriented Programming”
http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en

The Croquet Project
http://www.opencroquet.org/
The Croquet Project was an international effort to promote the continued development of the Croquet open source software development kit to create and deliver deeply collaborative multi-user online applications.
http://en.wikipedia.org/wiki/Croquet_Project

Alan Kay – Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Alan_Kay

F-Script Home
http://www.fscript.org/

MagLev – Ruby that scales
http://ruby.gemstone.com/
MagLev is a fast, stable, 64-bit open source implementation of the Ruby programming language and libraries built on top of VMware’s GemStone/S 3.1 Virtual Machine.

Squeak Syntax
http://stephane.ducasse.free.fr/Web/BotsInc/ExtraChapter-Syntax.pdf

Extending the Squeak Virtual Machine
http://stephane.ducasse.free.fr/FreeBooks/CollectiveNBlueBook/greenberg.pdf

Getting Started with Redline Smalltalk
http://www.redline.st/discover/getting-started.html

Jtalk, a Smalltalk for web developers
http://forum.world.st/Jtalk-a-Smalltalk-for-web-developers-td3354672.html

How to Create Smalltalk Scripts
http://www.esug.org/data/Articles/Columns/EwingPapers/filein_scripts.pdf

Smalltalk Interchange Format
http://www.math.sfedu.ru/smalltalk/standard/chapter4.html.en

The Smalltalk-80 Implementation at Hewlett-Packard, in Smalltalk-80: bits of history, words of advice
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.117.4595

Producer: A tool for translating Smalltalk-80 to Objective-C
http://dl.acm.org/citation.cfm?id=38846

Learning from Biology
https://www.tele-task.de/archive/podcast/10086/
Alan Kay

50th Anniversary of Objects?
https://www.tele-task.de/archive/podcast/10084/
Alan Kay

Programming and Scaling
https://www.tele-task.de/archive/lecture/overview/5819/
Alan Kay

Styled Text Editor for Cuis 4.0 Smalltalk
http://www.jarober.com/blog/blogView?entry=3512487277

Cuis and GitHub
http://www.jvuletich.org/Cuis/CuisAndGitHub.html

DYLA 2012: Dyla 2012
http://scg.unibe.ch/wiki/events/dyla2012
6th Workshop on Dynamic Languages and Applications.

About SOUL » The SOUL program query language
http://soft.vub.ac.be/SOUL/
Query and inspect your Java, Smalltalk, C and Cobol programs.

ESUG: 2012 – 20th International Smalltalk Conference
http://esug.org/Conferences/2012

My Links
http://delicious.com/ajlopez/smalltalk

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

New Month’s Resolutions: December 2012

Previous Post

The last month of the year! Time to write my new month’s resolutions. First, let’s review the past month ones:

– Work on PythonSharp [complete] see repo
– Give a talk about Implementing Python at PyCon 2012 (Argentina) [complete] see Spanish post
– Work on AjTalk for Java [pending]
– Work on AjTalk for Javascript [pending]
– Work on BasicScript (I want to use it in an example for my GameServer project) [partial] only demos
– Start .md pages Java tutorial (Spanish) [partial] only browsing/classifying my existing tutorial
– Start .md pages Node.js tutorial [pending]

Instead of AjTalk for Java or Javascript, I was working a lot on my C# version

– Work on AjTalk for C# [complete] see repo

I will gave one-day Node.js course and one poscast, then, these are my new resolutions:

– Work on PythonSharp
– Work on AjTalk for C#
– Give a Node.js course
– Start .md pages Java tutorial

I hope to write posts about the new AjTalk C# features and examples (load/save image, a web server, traits, tests with assert, environments, etc…)

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

 

Smalltalk: Links, News And Resources (4)

Previous Post
Next Post

I was very busy improving my AjTalk Smalltalk VM C# version (see repo). I should write posts about the new features I added. Meanwhile, more links about Smalltalk (I would like to implement a web server and a web framework over AjTalk, inspired by Aida, Seaside, Comanche or Swazoo).

Aida/Web Smalltalk Web Framework and Application Server
http://www.aidaweb.si/
This is how the Web works! Be on the web frontiers with Smalltalk, try Aida/Web!Aida is a Smalltalk web application framework for building complex web applications with latest seamlesly integrated HTML5 technologies for today’s real-time web. MVC, REST, Mobile, WebSocket, you name it!Start with our …

Seaside (software) – Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Seaside_(software)
Seaside is a free and open source web application framework for developing web applications in Smalltalk.Seaside provides a component architecture in which web pages are built as trees of individual, stateful components, each encapsulating a small portion of a page. Seaside uses continuations to …

Iliad – Home
http://www.iliadproject.org/
The Smalltalk web framework for developing modern applications with ease.
Defining methods – GNU Smalltalk User’s Guide
http://www.gnu.org/software/smalltalk/manual/html_node/Defining-methods.htm...
We have created a class, but it isn’t ready to do any work for us—we have to define some messages which the class can process first. We’ll start at the beginning by defining methods for instance creation:The best way to describe how this method works is to step through it. Imagine we sent a message …

Blog de Leo De Marco: U8 – A platform for social development with Smalltalk
http://leodemarco.blogspot.com.ar/2012/03/u8-platform-for-social-development-with.html
Finally U8 has arrived! I have been working on U8 with Elvio Fernandez, Miguel Isasmendi, Matias Castilla and Alejandro Reimondo since september 2011. During that days Ale presented to Smalltalking the S8 platform and decided that is going to have a MIT licence.

Practical Git for Smalltalk
http://www.jarober.com/blog/blogView?entry=3509797949
Last main talk of the conference – Dale Henrich’s on using Git with Smalltalk. Caveats:What about the stock stuff, like ENVY, Store, and Monticello? High cost of porting the tools between dialects, and they tend to be tightly coupled with their “home” toolsets. The implementation as it exists now …

Smalltalk? A quién le puede importar by Leandro Caniglia on Prezi
http://prezi.com/icnrpssww9wh/smalltalk-a-quien-le-puede-importar/

Squeak Quick Reference
ttp://firebirdmedia.com/squeak/quickref.pdf
squeakland : home of squeak etoys
http://www.squeakland.org/
In addition to its educational applications, eToy shows also how an end-user programming (EUP) system may be seamlessly integrated into an object-oriented programming environment.

Nautilus: the reborn of the SystemBrowser? « Mariano Martinez Peck
http://marianopeck.wordpress.com/2012/02/26/nautilus-the-reborn-of-the-systembrowser/
I have always had a problem regarding Pharo: how to help/collaborate with its developement while still be as much productive as possible? The thing is that to help you usually need to work with the bleeding edge. To help, an easy way is to just use it and report/fix the problems you find while …

Moving contexts and debuggers between images with Fuel « Mariano Martinez Peck
http://marianopeck.wordpress.com/2012/01/19/moving-contexts-and-debuggers-between-images-with-fuel/
Hi guys. During ESUG 2011, at the Awards, I was showing Fuel. The week before such event I was thinking what I could show to the people. This was a challenge because showing a serializer can be plain boring. I was working at home that afternoon, and suddenly I thought: “What happens if I try to …

ExperimentalBit « Mariano Martinez Peck
http://marianopeck.wordpress.com/2011/12/30/experimentalbit/
Last days I needed to migrate some old code I used to have in the VM for tracing objects usage. Luc Fabresse also wanted to be able to set and get the value of a bit in the object header to do some experiments. So…we thought it was a good idea to make it abstract and public. So….the following is …

SqueakSource — Magritte, Pier and Related Tools
http://source.lukas-renggli.ch/@m8fPjYtEU5S6CZu0/d1G4_Wnh
Welcome to SqueakSource, the smart Monticello code-repository of Lukas Renggli dedicated to Magritte, Pier and related tools.

Software Architecture for Smalltalk Web Applications that Scale
http://sebastianconcept.com/brandIt/software-architecture-for-smalltalk-web...
Since airflowing started commercial operations in august last year, people started asking questions about the internals of our web applications. Things like what are you using to develop that software? or… how are you configuring things server side? What they want to know about is the Software …

S8 in the Concrete Jungle – comp.lang.smalltalk | Google Groups
http://groups.google.com/group/comp.lang.smalltalk/browse_thread/thread/0f20bdae05045b8a?hl=en&pli=1
There is a lot of topics to talk about, the topic of most interest (to us) is to explain what we are doing with S8. A breaf description of our regional point of view about OT and Smalltalk, and our proposal of a modern formulation of development using Smalltalk will be the starting point of the …

U8 – Smalltalk 8
http://u8.smalltalking.net/s8.aspx
If you are looking for the source code; register here (it is free), all the images provided by U8 service contains the minimal code of S8.For more details on “How to use S8”; feel free to contact Ale and/or the U8 Team.If you use U8 platform to do social working using Smalltalk, you already have …

seaside.st: Persistence
http://www.seaside.st/documentation/persistence
When building an application with Seaside, one often has a need to persist data. There are a lot of different technological solutions for this problem. This document should help you decide what is the right solution for you.The number of different possible solutions is large:Seaside is available on …

Simple Image Based Persistence in Squeak
http://onsmalltalk.com/simple-image-based-persistence-in-squeak
One of the nicest things about prototyping in Smalltalk is that you can delay the need to hook up a database during much of your development, and if you’re lucky, possibly even forever.It’s a mistake to assume every application needs a relational database, or even a proper database at all. It’s all …

Pharo Networking by Example
http://www.slideshare.net/nourybouraqadi/pharo-networking-by-example
Invited Speaker at the first “Deep into Smalltalk” spring school. 7-11 march 2011. The pdf of this slides is also available onlie at: http://car.mines-douai.fr/noury/docs/deepIntoSmalltalk201Invited Speaker at the first “Deep into Smalltalk” spring school. 7-11 march 2011. The pdf of this slides is …

Welcome to U8!
http://u8.smalltalking.net/
A platform for social development with Smalltalk. You can join this community sharing your expertice, experiences and dreams to make Smalltalk a comfortable environment to execute your objects everywhere. U8 is an open and global service capable to evolve with your help. Use U8 to show the world …

Preparing Smalltalk for Cloud Foundry « Programming Gems (on GemStone)
http://programminggems.wordpress.com/2012/02/14/preparing-smalltalk-for-cloud-foundry/
In our last post we looked at how to add Perl as a runtime and framework to Cloud Foundry and in this post we examine some of the challenges raised by adding Smalltalk to Cloud Foundry. As part of exploring these issues, we set up a client Smalltalk environment that will be used to push an …

Ruby is the New Smalltalk « QuickSilver Smalltalk
http://silversmalltalk.wordpress.com/2012/01/28/ruby-is-the-new-smalltalk/

Why I love Ruby (Part 1)
http://duckpunching.github.com/2011/02/26/why-i-love-ruby-part-1.html
So, it occurred to me that so far, my posts (both of them) have been pretty negative. So I thought today, instead of ranting about something I detest, I’d rave about something I love. And that something is Ruby. I looooove Ruby. I got into Ruby because of the Rails web application framework, but my …

My Links
http://delicious.com/ajlopez/smalltalk

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez