Monthly Archives: February 2012

AjBase (1) Implementing an In-Memory Database

In mid 2009, I started to write an in-memory database, as a coding exercise in C#. These days, I resumed work on that project. Now the code resides in my GitHub repository:

https://github.com/ajlopez/AjBase

Nice history image at Github:

The current solution:

As usual, it was developed using Test-Driven Development. All tests in green:

The key implemented elements are:

Engine: It has a list of created databases (in memory, there is no persistence).

Database: It is the container for tables.

Table: A table has rows, and a RowDefinition.

RowDefinition: it manages the list of columns in a table.

Row: it keeps the values of the table columns, in an object array.

I have a doubt: to keep the schema (RowDefinition) per table, or go for a schema-less (free columns) per row. Now, I will keep the schema approach.

This year, I started to parse SQL statements. SQL is not my preferred languages (too many quirks, etc…), but the project can parse the simplest commands:

I want to add an ADO.NET provider, see the Data namespace:

I have a simple ADO.NET DbConnection, with some very basic (incomplete) ExecuteQuery, ExecuteNonQuery support.

Next steps: complete ADO.NET provider, more SQL parse support, concurrency and transaction support (big challenges! :-).

Next posts: examples for creating a database, creating a table, inserting data, selecting data, by code and by SQL statements. Meanwhile, you can explore the tests code, to see how to code those examples.

Keep tuned!

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

Ruby On Rails (2): Links, News and resources

Previous Post

More links about this popular Ruby web framework (and some discussions):

Crazy, Heretical, and Awesome: The Way I Write Rails Apps
http://jamesgolick.com/2010/3/14/crazy-heretical-and-awesome-the-way-i-write-rails-apps.html

Rails Went Off The Rails: Why I’m Rebuilding Archaeopteryx In CoffeeScript
http://gilesbowkett.blogspot.in/2012/02/rails-went-off-rails-why-im-rebuilding.html

Frontend Code Doesn’t Have to Suck: 5 Tips for Rails Developers
http://starrhorne.com/2012/02/16/building-front-ends-that-dont-suck-five-tips-for-rails-developers.html

Moving from Sinatra to Rails
http://blog.steveklabnik.com/posts/2012-01-17-moving-from-sinatra-to-rails

ruby-debug in 30 seconds (we don’t need no stinkin’ GUI!)
http://pivotallabs.com/users/chad/blog/articles/366-ruby-debug-in-30-seconds-we-don-t-need-no-stinkin-gui-

What programming language is GitHub written in?
http://www.quora.com/What-programming-language-is-GitHub-written-in

Rails: Presenter Pattern
http://blog.jayfields.com/2007/03/rails-presenter-pattern.html

Ruby/Sinatra/Rails failing at Start
http://support.cloudfoundry.com/entries/515384-ruby-sinatra-rails-failing-at-start

Sinatra vs. Rails
http://stackoverflow.com/questions/3989438/sinatra-vs-rails

Rails Caching Benchmarked: MongoDB, Redis, Memcached
http://nosql.mypopescu.com/post/13493023635/rails-caching-benchmarked-mongodb-redis-memcached

r/CircleJerk
http://lostechies.com/ryanrauh/2012/01/04/circlejerk/
Lately there has been a lot posts about how Ruby on Rails might not follow the best practices.

ActiveRecord (and Rails) Considered Harmful
http://blog.steveklabnik.com/posts/2011-12-30-active-record-considered-harmful

Composition Of Responsibility vs Interface Implementation
http://lostechies.com/derickbailey/2012/01/03/composition-of-responsibility-vs-interface-implementation/
ActiveRecord might truly be a horrible beast with far too many concerns in one given place. I haven’t dug into that source code very much. From what I remember of it, it’s huge and difficult for me to understand (but then, it does a metric-ton-squared of meta-programming, so I guess I’m not surprised that it’s hard for me to understand).

Rails Has Turned Me Into a Cannibalizing Idiot
http://wekeroad.com/2012/01/03/rails-has-turned-me-into-a-cannibalizing-idiot/
Some interesting posts flying around about how ActiveRecord is rotting people’s brains and how Rails is "pants on head retarded". I figured I might as well respond.

spree / spree
https://github.com/spree/spree
Spree is a complete open source e-commerce solution for Ruby on Rails
http://spreecommerce.com

Is it better to use routes or mod_rewrite to forward old URLs?
http://stackoverflow.com/questions/1876843/is-it-better-to-use-routes-or-mod-rewrite-to-forward-old-urls

How to make Rails do not ignore trailing slashes in the routes?
http://stackoverflow.com/questions/6486758/how-to-make-rails-do-not-ignore-trailing-slashes-in-the-routes

SEO, Heroku, Ruby on Rails and removing those darn trailing slashes
http://nanceskitchen.com/2010/05/19/seo-heroku-ruby-on-rails-and-removing-those-darn-trailing-slashes/

El maldito libro de los descarrilados
http://emanuelpeg.blogspot.com/2011/02/el-maldito-libro-de-los-descarrilados.html
Tutorial de Ruby on Rails en castellano

Using Redis with Ruby on Rails
http://jimneath.org/2011/03/24/using-redis-with-ruby-on-rails.html

To Redis or Not To Redis? (Key-Value Stores Part 4)
http://www.engineyard.com/blog/2009/key-value-stores-for-ruby-part-4-to-redis-or-not-to-redis/

Delivering email with Amazon SES in a Rails 3 app
http://robots.thoughtbot.com/post/3105121049/delivering-email-with-amazon-ses-in-a-rails-3-app

Activity Logs and Friend Feeds on Rails & pfeed
http://www.travisdunn.com/activity-logs-and-friend-feeds-on-rails-pfeed

Ruby On Rails español
http://www.youtube.com/cspmoreno

Entrenando con Ruby y RoR
http://recorriendootrosrumbos.blogspot.com/2011/12/entrenando-con-ruby-y-ror.html

Learning how to Learn Rails
http://rails.nuvvo.com/lesson/543-learning-how-to-learn-rails

nicksieger / refactoring-to-rails
https://github.com/nicksieger/refactoring-to-rails
Example of refactoring a Spring/Hibernate application to Rails

Configuration for Rails, the Right Way
http://blog.carbonfive.com/2011/11/23/configuration-for-rails-the-right-way/

Ruby clouds: Engine Yard vs. Heroku
http://www.computerworld.com/s/article/9222258/Ruby_clouds_Engine_Yard_vs._Heroku

Memcached Internals: Memory Allocation, Eviction Policy, Consistent Hashing
http://nosql.mypopescu.com/post/13506116892/memcached-internals-memory-allocation-eviction

Heroku and Rails 3.1
http://bostonrb.org/presentations/heroku-and-rails-31

Ruby on Rails 3.0 Release Notes
http://edgeguides.rubyonrails.org/3_0_release_notes.html

Instalar Ruby on Rails 3 en Windows
http://www.developeando.com/2010/12/instalar-ruby-on-rails-3-en-windows.html

Rails QRCode Generator
http://qrcode.heroku.com/

How do I add a field in Ruby on Rails?
http://stackoverflow.com/questions/1608751/how-do-i-add-a-field-in-ruby-on-rails

Why Bother With Cucumber Testing?
http://www.jackkinsella.ie/2011/09/26/why-bother-with-cucumber-testing.html

Mini reviews of 19 Ruby template engines
http://www.hokstad.com/mini-reviews-of-19-ruby-template-engines.html

Ruby on Rails Tutorial
http://ruby.railstutorial.org/chapters/beginning

Rails Searchable API Doc
http://railsapi.com/

Bundler
http://gembundler.com/
Bundler manages an application’s dependencies through its entire life across many machines systematically and repeatably.

Getting Started with Rails
http://guides.rubyonrails.org/getting_started.html

Updating Ruby / Rails
http://allaboutruby.wordpress.com/2009/08/30/updating-ruby-rails/

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

More links about Ruby, Ruby web development, Sinatra, etc… are coming.

Keep tuned!

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

AjRools (1) Rule Engine in C#

Since last year, I was conducting a bit of research about rule engines, specially in Java:

http://delicious.com/ajlopez/ruleengine

I reviewed JBoss Drools Expert (see http://delicious.com/ajlopez/drools). Past December, I assisted to Buenos Aires JBoss Meetup (see Spanish post)

In the old eighties, I met Rete Algorithm (see The Rete Matching Algorithm, Dr.Dobb’s). After all that, I decide to implement my own rule engine, in C#. You can check my progress at:

https://github.com/ajlopez/AjRools

This is the current solution:

As usual, it was coded using TDD.

I have facts, that are asserted, like Temperature = 38. And rules, that based on the asserted facts, produce other asserted facts (I plan to add actions, too, beyond fact assertions). A rule example:

# Rules example
rules
# Rule for Child Fever
rule
	when
		Temperature > 38
		Age <= 12
	then
		HasFever is true
end
# Rule for Adult Fever
rule
	when
		Temperature > 37
		Age > 12
	then
		HasFever is true
end
end

I have ideas to extend the rule engine to support objects with properties, not only variables:

rule
when
	p is_a Patient
	p.Temperature is 39
then
	p.HasFever is true
end

but this feature is still in progress. I didn’t adopt the Rete algorithm, yet, or something similar. I want to have a running implementation, with tests. Then, changing internal algorithm is like an exercise on refactoring.

Pending work: more object+properties support, session (client use of the internal implementation), etc.

Keep tuned!

Angel “Java” Lopez

http://www.ajlopez.com

http://twitter.com/ajlopez

Node.Js: Links, News And Resources (6)

Previous Post
Next Post

More collected links about Node.js and its ecosystem, modules, critics, reviews, tutorial and samples.

The rise of Node.js: JavaScript graduates to the server
http://www.infoworld.com/d/application-development/the-rise-of-nodejs-javascript-graduates-the-server-185554
Microsoft and others have already adopted this technology to extend JavaScript beyond the browser — but it has limits developers must beware

tjanczuk / arrjs
https://github.com/tjanczuk/arrjs
HTTP and WebSocket application routing

Solving the upload progress bar problem–The History of Node.js
http://elegantcode.com/2012/02/06/solving-the-upload-progress-bar-problemthe-history-of-node-js/
If you would have asked me how Node.js came to be I probably would have guessed something along the lines of a Stanford research lab. That is, until I stumbled across this youtube video ‘Ryan Dahl – History of Node.js’ from a Pheonix user group back in Oct 11. I intended to watch just a few minutes, but it was really interesting and I ended up watching the whole thing. If you are into Node I recommend you check it out too.

Node.js Cluster
http://nodejs.org/docs/latest/api/cluster.html
A single instance of Node runs in a single thread. To take advantage of multi-core systems the user will sometimes want to launch a cluster of Node processes to handle the load.
The cluster module allows you to easily create a network of processes that all share server ports.

If you’re using Node.js, you’re doing life wrong
http://codeslinger.posterous.com/if-youre-using-nodejs-youre-doing-life-wrong

Patio
http://pollenware.github.com/patio/index.html
Patio-query is a Sequel inspired query engine.

Matador
http://obvious.github.com/matador/
An Obvious MVC Framework for Node.js

New Electronic Check-in System
http://www.cht.nhs.uk/news/news-item/article/new-electronic-check-in-system/
It uses Node.js

ShareJS – Live concurrent editing in your app.
http://sharejs.org/
ShareJS is an Operational Transform library for NodeJS & browsers. It lets you easily do live concurrent editing in your app.

Video Processing in node.js
http://fabric-engine.com/2012/01/video-processing-in-node-js/

Node.js Kansas City
http://nodekc.org/

Heroku, mongo, node.js – a problem
http://swizec.com/blog/heroku-mongo-node-js-a-problem/swizec/3565

visionmedia / jade
https://github.com/visionmedia/jade
Jade – robust, elegant, feature rich template engine for nodejs

The Reality of HTML5 Game Development and making money from it
http://www.photonstorm.com/archives/2759/the-reality-of-html5-game-development-and-making-money-from-it

Seriously.js: A Realtime, Node-Based Video Compositor for the Web
http://badassjs.com/post/16583192105/seriously-js-a-realtime-node-based-video-compositor

About restify
http://mcavage.github.com/node-restify/
restify is a node.js module built specifically to enable you to build correct REST web services. It borrows heavily from express (intentionally) as that is more or less the de facto API for writing web applications on top of node.js.

marcello3d / node-mongolian
https://github.com/marcello3d/node-mongolian
Mongo DB driver for node.js

benmills / robotskirt
https://github.com/benmills/robotskirt
A node wrapper for the C markdown parser, sundown.

bleakgadfly / node-irc
https://github.com/bleakgadfly/node-irc
Node.js socket wrapper for the IRC protocol (client-side)

evantahler / actionHero
https://github.com/evantahler/actionHero
node.js API framework for both tcp sockets and http clients

Node.js Web Application with Storage on MongoDB
https://www.windowsazure.com/en-us/develop/nodejs/tutorials/web-app-with-mongodb/
This tutorial describes how to use MongoDB to store and access data from a Windows Azure application written in Node.js.

Using the Windows Azure SDK for Node.js on Heroku
http://nodeblog.cloudapp.net/using-the-windows-azure-sdk-for-nodejs-on-heroku

omerucel / node-restapi
https://github.com/omerucel/node-restapi
node-restapi is a restful service creator

Benvie / Node.js-Ultra-REPL
https://github.com/Benvie/Node.js-Ultra-REPL
Starting with Node’s built in REPL, add in a completely redone inspect formatter, actual functioning separate V8 contexts, keybindings to create, switch, and delete between them, combine it with a bunch of color. ULTRA REPL

xxoo / node-fsWin
https://github.com/xxoo/node-fsWin
windows fs extensions for nodejs

einaros / GitAzure
https://github.com/einaros/GitAzure
Git hook for node.js apps running in Azure

Node.js Selected by InfoWorld for 2012 Technology of the Year Award
http://www.marketwatch.com/story/nodejs-selected-by-infoworld-for-2012-technology-of-the-year-award-2012-01-11

Meet Diego Araos, the winner of Geekli.st sponsored Hackathon, Santiago, Chile (Dec 2011)
http://andesbeat.com/2012/01/10/meet-diego-araos-the-winner-of-geekli-st-sponsored-hackathon-santiago-chile-dec-2011/
As an open source community contributor and fervient enthusiast in bleeding edge tech, in my inaugural post I decided to cover the story behind the team that won, and also, give them props for developing in Node.js.

Running socket.io on Windows Azure Web and Worker roles
http://nodeblog.cloudapp.net/running-socket-io-on-windows-azure-web-and-worker-roles

WindowsAzure / azure-sdk-tools
https://github.com/WindowsAzure/azure-sdk-tools

Tools for developing applications for Windows Azure
http://www.windowsazure.com/en-us/develop/overview/

Node.js Web Application using Express
https://www.windowsazure.com/en-us/develop/nodejs/tutorials/web-app-with-express/
Node.js includes a minimal set of functionality in the core runtime. Developers often use 3rd party modules to provide additional functionality when developing a Node.js application. In this tutorial you will extend the application created in the Node.js Web Application tutorial by using modules.

Node.js Web Application
https://www.windowsazure.com/en-us/develop/nodejs/tutorials/getting-started/

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

More links about Node.js, server-side javascript, and general use of javascript are comint.

Keep tuned!

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

Clojure: Links, News And Resources (4)

Previous Post
Next Post

More links about Clojure programming languages:

Event-Driven Programming in Clojure
http://www.infoq.com/presentations/Event-Driven-Programming-in-Clojure

Beginning with Clojure
http://clojurelx.blogspot.com/2012/01/beginning-with-clojure.html

The Making of Typkov
http://www.youtube.com/watch?v=uTwnoZEw7FE&feature=youtu.be
Build a little webapp in Clojure/Noir from scratch

Clojure GUI Demo of Planetary Orbitals
http://juliangamble.com/blog/2012/01/23/clojure-gui-demo-of-planetary-orbitals/

Metaweblog API
https://github.com/brehaut/necessary-evil/wiki/Metaweblog-API

Backlog: Ola Bini on Clojure/conj
http://www.leonardoborges.com/writings/2012/01/22/backlog-ola-bini-on-clojure-conj/

Why Jark
http://icylisper.in/jark/
Startup time of the Java Virtual Machine(JVM) is quite slow and thereby command-line applications on the JVM are sluggish and very painful to use. Jark is an attempt to run a persistent JVM daemon and provide a set of utilities to interact with it.

All Your HBase Are Belong to Clojure
http://twitch.nervestaple.com/2012/01/12/clojure-hbase/

Introducing ClojureScript One
http://clojure.com/blog/2012/01/11/announcing-clojurescript-one.html
Here at Relevance, we spent some time recently looking at the ClojureScript experience. We were specifically concerned with finding the pain points in ClojureScript development. To make the experience as real as possible, we chose to rewrite a client application which had been written in CoffeeScript.

ClojureScript One
http://clojurescriptone.com/
ClojureScript One shows you how to use ClojureScript to build single-page, single-language applications in a productive, effective and fun way.

Object-oriented Clojure
http://css.dzone.com/articles/object-oriented-clojure

Web application in Clojure: the starting poin
http://css.dzone.com/articles/web-application-clojure

Some Thoughts on Classes After 18 Months of Clojure
http://vimeo.com/34522837

Create a basic web application in clojure
http://www.agilogy.com/blog/create-a-basic-web-application-in-clojure.html

fogus / fojure
https://github.com/fogus/fojure
a dumb little fp language written in Clojure

Immutant
http://immutant.org/
Immutant is an application server for Clojure built on top of JBoss AS7. It is a new project, but we already support Ring handlers and asynchronous messaging, and we are working on additional features.

My Clojure Adventure
http://www.myclojureadventure.com/

ClojureCLR
http://clojureclr.blogspot.com/

Getting Started with Clojure-clr
http://www.myclojureadventure.com/2011/10/getting-started-with-clojure-clr.html

roman / clj-stream
https://github.com/roman/clj-stream
Oleg’s Iteratees in Clojure

Road-map – or n+1 steps to enlightenment (or loonybind)
http://clojurelx.blogspot.com/2011/11/road-map-or-n1-steps-to-enlightenment.html

geoffsalmon / bytebuffer
https://github.com/geoffsalmon/bytebuffer
Clojure lib for packing and unpacking binary data using a java.util.ByteBuffer

Survey says: viability is number one
http://clojureclr.blogspot.com/2011/11/survey-says-viability-is-number-one.html

ClojureCLR has a new home
http://clojureclr.blogspot.com/2011/11/clojureclr-has-new-home.html

Clojure
http://groups.google.com/group/clojure/msg/d52aff66b951b460?pli=1

What is a multimethod?
http://krisjordan.com/multimethod-js

4Clojure
http://www.4clojure.com/
4Clojure is a resource to help fledgling clojurians learn the language through interactive problems. The first few problems are easy enough that even someone with no prior experience should find the learning curve forgiving.

Testing Storm Topologies (in Clojure)
http://www.pixelmachine.org/2011/12/17/Testing-Storm-Topologies.html

Maven Settings and Repositories
http://dev.clojure.org/display/doc/Maven+Settings+and+Repositories

dmansen / boggle
https://github.com/dmansen/boggle
A boggle solver, in clojure

Fractals in Clojure – Distributed Buddhabrot Fractal Using ClojureScript
http://nakkaya.com/2011/12/15/fractals-in-clojure-distributed-buddhabrot-fractal-using-clojurescript/

marick / Midje
https://github.com/marick/Midje
Midje provides a migration path from clojure.test to a more flexible, readable, abstract, and gracious style of testing

The Barbarians are at the Gates
http://blog.8thlight.com/uncle-bob/2011/12/11/The-Barbarians-are-at-the-Gates.html
By @unclebob

(take 6 carin-meier)
http://clojure.com/blog/2011/12/12/take6-carin-meier.html
Carin Meier is a veteran of the Clojure Conj scene having attended both installments and a true asset to both the Ruby and Clojure communities.

Tips for using marginalia
http://www.lispcast.com/tips-for-marginalia

Converting Command Line String Integers To Integers
http://drknucklehead.wordpress.com/2011/12/08/converting-command-line-string-integers-to-integers/

bitsai / clojure-actors
https://github.com/bitsai/clojure-actors
Actors implemented on top of Clojure agents

Erlang style actors implemented using clojure agents
https://github.com/bertschi/clojure-stuff/blob/master/src/stuff/actors.clj

stathissideris / clarity
https://github.com/stathissideris/clarity
A wrapper for Swing aiming to provide more concise syntax and extra functionality. Still in heavy development, syntax may change radically.

Introducing Clarity: Swing application development for Clojure
http://skillsmatter.com/podcast/scala/lightening-talk-clarity-a-wrapper-for-swing

A Refreshed View on Community : Clojure Conj 2011
http://www.uiandtherest.com/ui/index.php/2011/11/11/a-refreshed-view-on-community-clojure-conj-2011/

Clojure: STMs vs Locks
http://www.azulsystems.com/blog/cliff/2008-05-27-clojure-stms-vs-locks

Clojure for dummies: a kata
http://java.dzone.com/articles/clojure-dummies-kata-0

Introducing Avout: Distributed State in Clojure
http://clojure.com/blog/2011/11/29/avout.html

The Clojure Community and Me
http://blog.raynes.me/blog/2011/11/27/the-clojure-community-and-me/

Clojure’s protocols influences?
http://stackoverflow.com/questions/3682011/clojures-protocols-influences

Evangelizing Clojure
http://rhebus.posterous.com/79870335

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

More links about Clojure, Lisp, Functional Programming and Languages are coming.

Keep tuned!

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

Scala: Links, News and Resources (1)

Next Post

These are my first Scala programming language links.

http://en.wikipedia.org/wiki/Scala_%28programming_language%29

Scala (play /ˈskɑːlə/ skah-lə) is a multi-paradigm programming language designed to integrate features of object-oriented programming and functional programming.[3] The name Scala is aportmanteau of “scalable” and “language”, signifying that it is designed to grow with the demands of its users. James Strachan, the creator of Groovy, described Scala as a possible successor to Java.[4]

The design of Scala started in 2001 at the École Polytechnique Fédérale de Lausanne (EPFL) by Martin Odersky, following on from work on Funnel, a programming language combining ideas from functional programming and Petri nets.[5][not in citation given] Odersky had previously worked on Generic Java and javac, Sun’s Java compiler.[5]

Scala was released late 2003 / early 2004 on the Java platform, and on the .NET platform in June 2004.[3][5][6] A second version of the language, v2.0, was released in March 2006.[3]

On 17 January 2011 the Scala team won a 5 year research grant of over €2.3 million from the European Research Council.[7] On 12 May 2011, Odersky and collaborators launched Typesafe, a company to provide commercial support, training, and services for Scala. Typesafe received $3 million investment from Greylock Partners.[8][9][10][11]

Scala comes to .Net | The Scala Programming Language
http://www.scala-lang.org/node/10299

Scala In 5 Years – My Prediction « GridGain – High Performance Cloud Computing
http://gridgaintech.wordpress.com/2011/06/28/scala-in-5-years-my-prediction/

Why Java Folks Should Look Forward to Scala | Javalobby
http://java.dzone.com/articles/why-java-folks-should-look

Scala eXchange opening
http://www.slideshare.net/Odersky/scala-exchange-opening

Ruminations of a Programmer: Composing Heterogeneous DSLs in Scala
http://debasishg.blogspot.com/2011/06/composing-heterogeneous-dsls-in-scala.html

Scala Labs – Home
http://scala-labs.github.com/

Spark Cluster Computing Framework
http://www.spark-project.org/
Spark is an open source cluster computing system that aims to make data analytics fast — both fast to run and fast to write.

Along Came Betty » Clojure and Akka: A match made in …
http://blog.darevay.com/2011/06/clojure-and-akka-a-match-made-in/?utm_source=twitterfeed&utm_medium=twitter

Scala: The Static Language that Feels Dynamic
http://www.artima.com/weblogs/viewpost.jsp?thread=328540

Compiling Scala to LLVM
https://days2011.scala-lang.org/sites/days2011/files/ws3-2-scalallvm.pdf

Why Java folks should look forward to Scala | /var/log/mind
http://blog.dhananjaynene.com/2011/05/why-java-folks-should-look-forward-to-scala/

Functional Languages will Rule (but not this year) – Good Stuff
http://goodstuff.im/functional-languages-will-rule-but-not-this-y

Scala: A Better Java for Android
http://robots.thoughtbot.com/post/5836463058/scala-a-better-java-for-android

Ruminations of a Programmer: Combinators as the sublanguage of DSL syntax
http://debasishg.blogspot.com/2011/05/combinators-as-sublanguage-of-dsl.html

Typesafe
http://typesafe.com/
Typesafe makes it easy to build web-scale software based on the open source Scala programming language and Akka middleware. From multicore to cloud computing, it’s purpose built for scale.

The Pragmatic Bookshelf | Programming Concurrency on the JVM
http://pragprog.com/titles/vspcon/programming-concurrency-on-the-jvm

InfoQ: Actor Thinking
http://www.infoq.com/presentations/Actor-Thinking

Clojure or Scala for bioinformatics/biostatistics/medical research – Stack Overflow
http://stackoverflow.com/questions/5250459/clojure-or-scala-for-bioinformatics-biostatistics-medical-research

InfoQ: Guardian.co.uk Switching from Java to Scala
http://www.infoq.com/articles/guardian_scala

Asynchronous Event Sourcing using Actors
http://jonasboner.com/2009/02/12/event-sourcing-using-actors.html

Functional Scala: Expressions, Extensions and Extractors « brain driven development
http://gleichmann.wordpress.com/2011/03/13/functional-scala-expressions-extensions-and-extractors/

iWork.com – JVM Languages
http://public.iwork.com/document/?d=JVM_Languages.key&a=p1045023190

Scala Team Wins ERC Grant | The Scala Programming Language
http://www.scala-lang.org/node/8579

Ruminations of a Programmer: Monads – Another way to abstract computations in Scala
http://debasishg.blogspot.com/2008/03/monads-another-way-to-abstract.html

Monads Are Not Metaphors – Code Commit
http://www.codecommit.com/blog/ruby/monads-are-not-metaphors

Algorithmically challenged: Sieve of Eratosthenes (the real one) Scala One-Liner
http://dcsobral.blogspot.com/2010/12/sieve-of-eratosthenes-real-one-scala.html

Code Monkeyism: Singletons without Singletons: Scala Type Classes
http://codemonkeyism.com/singletons-singletons-scala-type-classes/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+stephansblog+%28Code+Monkeyism+%7C+Stephans+Blog%29

Erik Engbrecht’s Blog: Higher-Level versus Higher-Order Abstraction
http://erikengbrecht.blogspot.com/2010/07/higher-level-versus-higher-order.html

Ruminations of a Programmer: Scala – To DI or not to DI
http://debasishg.blogspot.com/2008/02/scala-to-di-or-not-to-di.html

Real-World Scala: Introduction
http://jonasboner.com/2008/10/01/real-world-scala-introduction.html

Tom Morris’ wiki » Scala for Hackers
http://tommorris.org/wiki/Scala_for_Hackers

Scala Style Guide
http://davetron5000.github.com/scala-style/

Monads in Scala
http://lamp.epfl.ch/~emir/bqbase/2005/01/20/monad.html

Building Distributed Systems in Scala
http://www.slideshare.net/al3x/building-distributed-systems-in-scala

James Carr » Blog Archive » Learning Scala: Factorials and foldRight
http://blog.james-carr.org/2010/05/31/learning-scala-factorials-and-foldright/

Scala Beauty – Fun with Logic « Thinkmeta
http://thinkmeta.wordpress.com/2010/03/25/scala-beauty-fun-with-logic/

Beyond Mere Actors
http://docs.google.com/present/view?id=ddmk3f43_63zpg3jcgz&ncl=true

My Links
http://www.delicious.com/ajlopez/scala
http://www.delicious.com/ajlopez/scala+tutorial
http://www.delicious.com/ajlopez/scala+presentation
http://www.delicious.com/ajlopez/scala+video

More Scala links are coming.

Keep tuned!

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

Smalltalk: Links, News And Resources (3)

Previous Post
Next Post

10 reasons why I’m using Smalltalk for airflowing
http://www.reddit.com/r/programming/comments/ofwnc/10_reasons_why_im_using_smalltalk_for_airflowing

10 razones por las cuales estoy usando Smalltalk para airflowing
http://sebastianconcept.com/brandIt/10-razones-por-las-cuales-estoy-usando-smalltalk-para-airflowing

S8 – Smalltalk on the “Invisible Machine”
http://forum.world.st/S8-Smalltalk-on-the-quot-Invisible-Machine-quot-td3802015.html

Squeak VM: Compiling for Xcode
http://seandenigris.com/blog/?p=945

dbxtalk
http://code.google.com/p/dbxtalk/
The complete and open-source solution to relational database access.

S8 Release Candidate – Smalltalk on JS
http://www.nycsmalltalk.org/2012/01/10/s8-release-candidate-smalltalk-on-js/

Some Resources for People Who Want to Learn Smalltalk
http://patmaddox.com/blog/some-resources-for-people-who-want-to-learn-smalltalk.html

History of ObjectsAsMethods?
http://tech.groups.yahoo.com/group/squeak/message/164132

RE: U8 Release – Beta Testing
http://lists.squeakfoundation.org/pipermail/squeak-dev/2011-December/162491.html

[squeak-dev] Clamato
http://lists.squeakfoundation.org/pipermail/squeak-dev/2009-September/139299.html

Curso S8 – “Release Candidate”
http://www.smalltalking.net/Events/2011/Diciembre/curso_s8.htm

NoSQL OODB with Smalltalk-based Ruby VM: MagLev 1.0 Released
http://www.infoq.com/news/2011/11/ruby-maglev-10

Smalltalk Directions
http://www.stic.st/about/academic-advisory-council/smalltalk-directions/

the true power of pair programming
http://forum.world.st/the-true-power-of-pair-programming-td4084637.html

Smalltalk with Style
http://stephane.ducasse.free.fr/FreeBooks/WithStyle/SmalltalkWithStyle.pdf

Kaliningrad: Developing with Amber, Seaside and Monticello
http://gemstonesoup.wordpress.com/2011/10/08/kaliningrad-developing-with-amber-seaside-and-monticello/

Smalltalks 2011
https://plus.google.com/photos/100710351159005018378/albums/5671140029661302929?authkey=COGRjfninqK6Fg&banner=pwa

Coral: Pharo Smalltalk for scripting
http://rmod.lille.inria.fr/coral/

Fuel
http://rmod.lille.inria.fr/web/pier/software/Fuel
Fuel is an open-source general purpose framework to serialize and deserialize objects based on a pickling algorithm.

Opal Compiler
http://www.slideshare.net/jressia/opal-compiler

Athens vector graphics API
http://code.google.com/p/pharo/wiki/Athens

Amber Smalltalk Documentation
http://nicolaspetton.github.com/amber/documentation.html

Canvas and JTalk
http://i.imgur.com/dZuJO.jpg

PetitParser
http://source.lukas-renggli.ch/petit/

Clamato
http://clamato.net/
Clamato is a Smalltalk dialect that is designed to operate within the JavaScript runtime. (For non-Canadians: “clamato” is what you get when you add clams to tomato juice. Some consider this an unholy mixture; others, a tasty treat.)

Implementing Smalltalk-80 on the ICL PERQ
http://www.wolczko.com/msc-abstract.html

The Blue Book VM
http://www.wolczko.com/st80/

Lanzamiento de S8 en Smalltalking
http://leodemarco.blogspot.com/2011/09/lanzamiento-de-s8-en-smalltalking.html

ST2JS – Smalltalk to Javascript translator
http://www.squeaksource.com/ST2JS/

The first time I met Steve Jobs
http://tech.fortune.cnn.com/2011/08/28/the-first-time-i-met-steve-jobs/
I was a reporter-researcher at Time magazine on a 12-month probationary writer’s trial. I’d heard that the Lisa had something to do with work done at Xerox’s (XRX) Palo Alto Research Center, and to prep for the meeting I had read and re-read the only substantive story I could find about Xerox PARC — a long article in Byte magazine on Smalltalk.

ESUG 2011, Edinburgh
http://www.flickr.com/photos/damienpollet/sets/72157627452303791/

ALAN KAY ON LISP AND FEXPRS.
http://kazimirmajorinc.blogspot.com/2010/02/alan-kay-on-fexprs.html

Presently
http://esug.org/data/ESUG2011/Slides/22-Monday/05-22-ESUG-Presenty.pdf
User Interface Framework

The Pharo Roadmap
http://esug.org/data/ESUG2011/Slides/22-Monday/03-22-ESUG-PharoRoadmap.pdf

Lisp vs Smalltalk vs Ruby
http://kresimirbojcic.com/2011/07/31/lisp-vs-smalltalk-vs-ruby.html

Who looks at Smalltalk?
http://openskills.blogspot.com/2011/07/who-looks-at-smalltalk.html

Can Smalltalk blocks be better than Lisp Macros?
http://www.cincomsmalltalk.com/userblogs/mls/blogView?entry=3289922530

Object Spaces for Safe Image Surgery
http://www.marcusdenker.de/publications/Casa09aObjectSpaces.pdf

gnu smalltalk koans
http://skim.la/2011/06/21/gnu-smalltalk-koans/

Types are Anti-Modular
http://gbracha.blogspot.com/2011/06/types-are-anti-modular.html

IM 31: Seaside and Rails (AAC)
http://www.jarober.com/blog/blogView?entry=3484152524

Mariano Martinez Peck
http://marianopeck.wordpress.com/

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

More links and resources are coming.

Keep tuned!

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