Angel \”Java\” Lopez on Blog

January 31, 2014

Smalltalk, JavaScript, NodeJs, C#, and Tutti Li Fiocci

Filed under: AjTalk, C Sharp, JavaScript, NodeJs, Smalltalk, Talks, Video — ajlopez @ 5:43 pm

Past year, I gave a talk at Smalltalks 2013, Rosario, Argentina. The conference was a great experience to me, and there were many interesting talks, implementations and ideas.

My talk was about implementing Smalltalk, in C#, and JavaScript. The main repos are:

http://github.com/ajlopez/AjTalk (I presented it at Smalltalks 2010)
https://github.com/ajlopez/AjTalkJs (I presented it at Smalltalks 2011)

My recorded talk:

http://www.youtube.com/watch?v=-KFjSneVE2s

The presentation:

https://github.com/ajlopez/Talks/tree/master/Smalltalks2013
http://ajlopez.github.io/Talks/Smalltalks2013/index.html
More talks at http://ajlopez.github.io/Talks/

The first project is an interpreted based on byte codes, written in C#. It can compile to JavaScript, but the key features is to have a VM based on bytecodes, that have access to native .NET types and objects, remote execution, actors, and more. See my posts.

The second project is an implementation of Smalltalk but in JavaScript. Internally, it have a compiler to JavaScript, but also a compiler to bytecodes and then, an interpreted VM written in JavaScript. Both projects now supports NPM (Node.js package manager) for new modules.

In 2013, I added Node.js support and access to AjTalkJs, so I can run an Express application from Smalltalk:

 

Next experiments: distributed message. That is, an object in one machine sends a message to an object in a remote machine/process,  in a fire and forget way. I think Node.js ecosystem is a good plate to host such experiments. My previous work at Distributed Applications with Node.js. I want a distributed Smalltalk machine/application. Maybe, if the communication protocol is easy or pluggable, I could add clients/servers implemented in other Smalltalk dialects. But baby steps first ;-)

Keep tuned!

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

November 19, 2013

November 12, 2013

End Of Iteration 2013w45

Previous Post
Next Post

I’m exhausted, after my Node.js Knockout participation, last week end.

Node Knockout

It is my main deliverable for past week. I wrote a web application, in two days, from scratch, using Node.js and Express. Video with demo:

http://www.youtube.com/watch?v=GQdyyNWCasI

It’s running online at:

http://soloninja.2013.nodeknockout.com/

Now, the repo is private, but I will clone it to my public GitHub account. You can see the votes at:

http://nodeknockout.com/teams/soloninja

TDD and JavaScript

I gave a talk at local JavaScript meetup

Code at:

https://github.com/ajlopez/TddRocks/tree/master/JavaScript

Slides at:

https://github.com/ajlopez/Talks/tree/master/TddJavaScript

Other works

Minor updates at https://github.com/ajlopez/RubySharp

Updated require algorithm at https://github.com/ajlopez/AjTalkJs

Keep tuned!

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

November 4, 2013

End Of Iteration 2013w44

Filed under: AjTalk, Iteration, JavaScript, NodeJs, Open Source Projects, Python, RedPython, Smalltalk — ajlopez @ 6:27 pm

Previous Post
Next Post

The main outcomes were: a talk, about my Smalltalk implementations, new sample code and a new project, inspired by Python and Smalltalk conference.

AjTalk Implementations

I reviewed and improved my implementations:

https://github.com/ajlopez/AjTalkJs
https://github.com/ajlopez/AjTalk

I added a sample using AjTalkJs, Node.js, Express.

My talk for Smalltalks 2013 at

https://github.com/ajlopez/Talks/tree/master/Smalltalks2013

RedPython

I want to implement a compiler/transpiler from reduced (subset of) Python to C, at first using JavaScript.

The project:

I have two samples running: simple hello world, and primes.py

https://github.com/ajlopez/RedPython

More ideas to implement this week. I should improve my Ruby in C# implementation, and maybe, write a Ruby implementation in JavaScript.

Keep tuned!

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

November 1, 2013

Smalltalk: Links, News And Resources (17)

Filed under: Links, Programming Languages, Smalltalk — ajlopez @ 11:16 am

Previous Post

Pharo Smalltalk Developers – #assert:equals: feels backwards
http://forum.world.st/assert-equals-feels-backwards-td3614760.html

Variables and Control Structures in Smalltalk
http://people.cs.clemson.edu/~turner/courses/cs428/current/webct/content/st/stctrl.html

Smalltalk – Compare two strings for equality – Stack Overflow
http://stackoverflow.com/questions/1641303/smalltalk-compare-two-strings-for-equality

Tutorial – Smalltalk basics
http://live.exept.de/doc/online/english/getstart/tut_2.html

closures – Does Smalltalk support local variable in blocks? If not, why? – Stack Overflow
http://stackoverflow.com/questions/6341067/does-smalltalk-support-local-variable-in-blocks-if-not-why

Why I love Smalltalk | Pablo’s blog
http://pupeno.com/2011/07/28/why-i-love-smalltalk/

Bare metal Raspberry Pi Squeak
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=72&t=57728

http://www.tecnodacta.com.ar/squeakfest/
http://www.tecnodacta.com.ar/squeakfest/

Jtalk presentation at ESUG’11 – Nicols Petton
http://www.nicolas-petton.fr/blog/2011/08/29/Jtalk-presentation-at-ESUG/

http://www.cl.cam.ac.uk/~dc552/papers/SmalltalkInACWorld.pdf
http://www.cl.cam.ac.uk/~dc552/papers/SmalltalkInACWorld.pdf

Installing PhaROS « CAR: Components, Agents, and Robots
http://car.mines-douai.fr/2013/09/installing-pharos/

Approaching the Speed of Light: SSD Drives for GemStone/S | (gem)Stone Soup
http://gemstonesoup.wordpress.com/2009/02/28/approaching-the-speed-of-light-ssd-drives-for-gemstones/

PhaROS VirtualBox image « CAR: Components, Agents, and Robots
http://car.mines-douai.fr/2013/09/pharos-virtualbox-image/

Germán Arduino: Again an argentinian project won the Innovation Technology Awards
http://germanarduino.blogspot.com.ar/2013/09/again-argentinian-project-won.html

First Tests of a Helper Robot in a Shopping Mall « CAR: Components, Agents, and Robots
http://car.mines-douai.fr/2013/09/roboshop-first-tests/

Self: The Movie; – YouTube
https://www.youtube.com/watch?feature=player_embedded&v=Ox5P7QyL774

Cog Blog :: About Cog
http://www.mirandabanda.org/cogblog/about-cog/

The Hitchhiker’s Guide to …: Graph-ET – charts for Pharo
http://astares.blogspot.de/2013/09/graph-et-charts-for-pharo.html

Sunburst Visualization – YouTube
http://www.youtube.com/watch?v=O2A2R8ZhMmQ&feature=em-upload_owner

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

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

October 28, 2013

End Of Iteration 2013w43

Previous Post
Next Post

The week was dedicated to prepare and give a talk, and prepare this week next talk.

JPyScript

My Python to JavaScript transpiler, written using JavaScript. It runs on node.js and browser.

https://github.com/ajlopez/JPyScript

It can use Node.js modules using import, and it can run Python scripts in the browser.

I gave a talk at PyCon Argentina 2013. My slides at:

https://github.com/ajlopez/Talks/tree/master/PythonJavaScript

AjTalkJs

My Smalltalk-like VM in bytecodes and JavaScript, written in JavaScript.

https://github.com/ajlopez/AjTalkJs

Now, I can use Node.js modules, run in server and browser. Example:

I was working in minor refactoring of:

https://github.com/ajlopez/RubySharp
https://github.com/ajlopez/PythonSharp

And I was working on two non-public projects: one in C#, in-memory OLAP, and another one in Java, with agile team.

This week I will give a talk about my Smalltalk implementations at Smalltalks 2013 Argentina:

http://www.fast.org.ar/smalltalks2013

More fun is coming.

Keep tuned!

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

October 21, 2013

End Of Iteration 2013w42

Filed under: AjTalk, Iteration, JavaScript, JPyScript, Open Source Projects, Python, Smalltalk — ajlopez @ 2:22 pm

Previous Post
Next Post

The past week was dedicated to two non-public projects, and prepare of my next talks.

SimpleBeams

Inspired by a work by @darachennis  (https://github.com/darach/beam-js) I wrote a simpler implementation of beams (piped message processors

https://github.com/ajlopez/SimpleBeams

I should write the README.md, but the tests are self-explanatory. A beam receives messages and emit messages. It can have a filter function, filtering the message to process. And a transform function, that can emits new messages.

JPyScript

It compiles a Python-like language to JavaScript. The compiler is written in JavaScript

https://github.com/ajlopez/JPyScript

Notable, I can write controllers in Python for Express web apps. See samples

AjTalkJs

My Smalltalk VM in JavaScript. Using JavaScript, it compiles Smalltalk fileouts to bytecodes. It started to compile directly to JavaScript code, instead of only bytecodes.

https://github.com/ajlopez/AjTalkJs

It can run from Node.js, and from the browser, too.

I worked on two non-public projects, one using C# with Visual Studio 2010, and other using Java, with Maven, Eclipse, JBoss 5.x

This week I will give a talk at Python Argentina 2013 http://ar.pycon.org/

Keep tuned!

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

October 3, 2013

New Month’s Resolutions: October 2013

Filed under: C Sharp, JavaScript, NodeJs, Open Source Projects, PHP, Scala, Smalltalk — ajlopez @ 4:55 pm

My September resolutions:

- Update SimpleForth [pending]
- Give a talk about SimpleMongo, SharpMongo [pending]
- Update SimpleMongo [complete] see repo
- Update SharpMongo [complete] see repo
- Update PageJs [complete] see repo
- Update ScalaSharp [complete] see repo
- Update JPyScript [complete] see repo
- Update AjTalkJs [complete] see repo
- Update Mass scopes [pending]
- Start Web Server example with AjTalkJs [pending]
- Update AjTalk [pending]
- Update AjLispJs [pending]
- Web Server example with AjLispJs [pending]
- Prepare a talk about Scala [partial]

Additional, I worked on:

- Create SimpleBot [complete] see repo
- Update GrammGen with a new sample [complete] see repo
- New PHP samples with Node.js [complete] see repo
- More compiler features in SimpleLisp [complete] see repo

This new month’s resolutions:

- Give a talk about PHP and Node.js
- Give a talk about TDD with ASP.NET MVC
- Give a talk about Scala implementation
- Give a talk about Python in JavaScript
- Give a talk about Smalltalk in JavaScript and C#

I will update the corresponding repos, too.

Keep tuned!

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

August 16, 2013

Smalltalk: Links, News And Resources (16)

Filed under: Links, Programming Languages, Smalltalk — ajlopez @ 6:24 pm

Previous Post 
Next Post

Back to the future
http://dl.acm.org/citation.cfm?id=263754

Index of /PharoByExampleTwo-Eng/latest
http://pharobooks.gforge.inria.fr/PharoByExampleTwo-Eng/latest/

References for “The Future of Programming”
http://worrydream.com/dbx/

Klein and Squeak VM architectures | Self
http://blog.selflanguage.org/2009/07/04/klein-and-squeak-vm/

Klein Metacircular Virtual Machine Kit
http://kleinvm.sourceforge.net/

Smalltalk.org™ |  versions |  SmalltalkExpress.html
http://www.smalltalk.org/versions/SmalltalkExpress.html

Smalltalk/X – Object-oriented programming language | eXept AG
http://www.exept.de/en/products/smalltalkx

ESUG: A Guided Tour through Smalltalk/X
http://esug.org/wiki/pier/Conferences/2011/Schedule-And-Talks/A-Guided-Tour-through-Smalltalk

Sep 19th, 2008 – Claus Gittinger talk at the UBA campus ~ ClubSmalltalk
http://www.clubsmalltalk.org/2008/10/sep-19th-2008-claus-gittinger-talk-at.html

Smalltalk MT – Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Smalltalk_MT

Huemul, a Smalltalk implementation
http://www.guillermomolina.com.ar/index.php/en/projects/huemul-smalltalk/74-huemul-a-smalltalk-implementation

Hardware/software codesign in neo smalltalk
http://dl.acm.org/citation.cfm?id=949357

Oliver
http://www.merlintec.com/swiki/hardware/9.html

Smalltalk Squeak demo
http://www.youtube.com/watch?v=ux7fS7g77TM&feature=youtu.be
by @morplenauta

http://www.stic.st/wp-content/conferences/2012/Wednesday/1415-Practical_Git_for_Smalltalk-Henrichs.pdf
http://www.stic.st/wp-content/conferences/2012/Wednesday/1415-Practical_Git_for_Smalltalk-Henrichs.pdf

Practical Git for Smalltalk
http://www.jarober.com/blog/blogView?showComments=true&title=Practical+Git+for+Smalltalk&entry=3509797949

BioSmalltalk: A pure object system and library for bioinformatics
http://bioinformatics.oxfordjournals.org/content/early/2013/07/09/bioinformatics.btt398.abstract

Screen Recording and Screencasting Software – ScreenFlow Overview – Telestream
http://www.telestream.net/screenflow/overview.htm

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

Keep tuned!

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

August 4, 2013

New Month’s Resolutions: August 2013

Time to review my July’s resolutions:

- Update Memolap [complete] see repo
- Update GrammGen [complete] see repo
- Update SimpleGrammar [complete] see repo
- Prepare a talk: Intro to Smalltalk [complete] see talk
- Start PHP compiler to JavaScript [complete] see repo
- Write PHP example with Node.js [pending]
- Update AjLispJs [[pending]
- Create a web site sample using AjLisp and Node.js [pending]

Instead of updating AjLispJs, I started another project:

- Start SimpleLisp, Lisp compiler to JavaScript [complete] see repo

Additionally, I worked on:

- Start SimpleContext, associate arbitrary data to simple JavaScript objects [complete] see repo
- Start SimpleProlog, Prolog language interpreter in JavaScript/Node.js [complete] see repo
- First version of KodeTokenizer [complete] see repo
- First version of KodeMutator [complete] see repo
- Publish Obops on Nuget [complete] see repo
- Publish my first Smalltalk samples [complete] see repo
- Create and pubish first version of Plagre, programming language recognizer [complete] see repo see demo
- Updated my TDD Rocks samples [complete] see repo
- Start SharpBase C# in-memory database [complete] see repo
- Start AjForce, applications in Node.js a la Force.com [complete] see repo
- Start OStore, in-memory JavaScript object store [complete] see repo
- Added Rack samples to my Learning Ruby [complete] see repo
- Write SimpleMule, simple Mule-like in JavaScript/Node.js [complete] see repo

Also, I published Google hangouts:

- TDD Rocks (1) Playing with Ruby
- TDD Rocks! (2) OStore with JavaScript/Node.js
- Exploring Smalltalk (1) (Spanish)
- TDD Rocks! (3) SharpBase in C#
- TDD Rocks! (4) SharpBase in C#

My new month’s resolutions, August 2013:

- Update SimpleProlog
- Update Mass
- Update AjTalkJs
- Update AjTalk
- Update SimpleLisp
- SimpleLisp web server sample
- New Google Hangout using Ruby and TDD
- New Google Hangout using C# and TDD

Lot of fun is coming ;-)

Keep tuned!

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

Older Posts »

The Shocking Blue Green Theme. Create a free website or blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.

Join 57 other followers