Angel \”Java\” Lopez on Blog

May 2, 2012

New Month’s Resolutions: May 2012

A new month begins, and it’s time to review the past month resolutions and to write down the new ones. Status:

- Complete Acquarella (comment, number detection, new styles, language extension..) partial see repo
- Add features to AjTalk in Javascript/NodeJs (class support, fileouts processing) complete see repo see online demo
- Add features to AjLogo in Javascript/NodeJs (canvas support) complete see repo see online demo
- Complete verb support in SetTuples pending
- Give a talk about Programming Languages (Javascript/NodeJs, Clojure, Erlang, Python, Ruby, Scala) complete see video 1, video 2 (Spanish)
- AjContab inmemory model pending

Additionaly, I did:

- Give a talk about Clojure complete
- Add features to DartSharp complete see repo

This month’s resolutions:

- AjContab in-memory model
- Add verbs in SetTuples
- Add features to Acquarella (extend by language, multi-line comments…)
- Add features to AjLogo in Javascript
- Add features to AjTalk in Javascript
- Add features to AjTalk .st to javascript compiler
- Give a talk about implementing programming languages in Javascript
- Start AjConsorSite coding (condo and real estate site)

A lot of things, but I will have fun ;-)

Keep tuned!

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

 

April 6, 2012

New Month’s Resolutions: April 2012

It’s time to write down my list of resolution for this month, April 2012. First, a review of my March ones:

- Templates in AjGenesis in Ruby pending
- Support for flow control in AjLang complete
- Support for native objects in AjLisp in Java pending
- First structures, simple matching, simple REPL in AjErl (erlang-like in C#) partial
- First web site pages in AjContab, simple ASP.NET MVC, with an in-memory domain pending
- Move AjPython to GitHub, and review internal implementation complete
- Move AjSudoku to GitHub, and review test, code coverage complete
- Start internal refactoring AjRools algorithm, towards Rete-like one pending
- Start form and invoice processing in AjComprobantes complete

Hmmm.. too many pending items ;-) Ok, to balance them, I had new items:

- Start Acquarella Syntax Highlither complete
- Start AjTalk in Javascript/NodeJs complete
- Start AjLogo in Javascript/NodeJs complete
- Start SetTuples set programming in C# complete

This month’s resolutions:

- Complete Acquarella (comment, number detection, new styles, language extension..)
- Add features to AjTalk in Javascript/NodeJs (class support, fileouts processing)
- Add features to AjLogo in Javascript/NodeJs (canvas support)
- Complete verb support in SetTuples
- Give a talk about Programming Languages (Javascript/NodeJs, Clojure, Erlang, Python, Ruby, Scala)|
- AjContab inmemory model

Keep tuned!

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

March 12, 2012

CQRS: Links, News And Resources (3)

Filed under: CQRS, Links, Software Architecture, Software Development — ajlopez @ 5:23 pm

Previous Post

The third installment of this link series. This time, tutorial resources.

CQRS Starting Page
http://abdullin.com/cqrs/
This page lists learning materials, documents, videos, tips and reference implementations about getting started with Command and Query Responsibility Segregation.

Clarified CQRS
http://www.udidahan.com/2009/12/09/clarified-cqrs/

Towards an immutable domain model – introduction (part 1)
http://blog.zilverline.com/2011/02/01/towards-an-immutable-domain-model-introduction-part-1/

Aclarando CQRS (traducción)
https://docs.google.com/document/d/1-5rmzY48aXZp3A-uaULnwU0gV7r1E1ZkEV1i5YBn-LI/edit?pli=1

CQRS Documents by Greg Young
http://cqrs.files.wordpress.com/2010/11/cqrs_documents.pdf

In The Brain of Udi Dahan: CQRS, race conditions, and sagas – oh my!
http://skillsmatter.com/podcast/open-source-dot-net/udi-dahan-cqrs-race-conditions-and-sagas

CQRS
http://martinfowler.com/bliki/CQRS.html

Why I Still Love CQRS (and Messaging and Event Sourcing)
http://blog.jonathanoliver.com/2011/05/why-i-still-love-cqrs-and-messaging-and-event-sourcing/

CQRS, Task Based UIs, Event Sourcing agh!
http://codebetter.com/gregyoung/2010/02/16/cqrs-task-based-uis-event-sourcing-agh/

cqrs for dummies – an interlude – has it all been a waste of time?
http://www.blogcoward.com/archive/2011/04/24/cqrs-for-dummiesndashan-interlude-ndash-has-it-all-been-a.aspx

Use CQRS When Constrained on Developers and Time
http://abdullin.com/journal/2011/4/23/use-cqrs-when-constrained-on-developers-and-time.html

Event Sourcing and CQRS, Let’s use it.
http://thinkbeforecoding.com/post/2009/11/02/Event-Sourcing-and-CQRS-Lets-use-it

DDDD: Why I Love CQRS
http://blog.jonathanoliver.com/2009/10/dddd-why-i-love-cqrs/

CQRS – The Domain Events
http://elegantcode.com/2009/11/20/cqrs-the-domain-events/

Command / Query service in WCF
http://www.codinginstinct.com/2010/11/command-query-service-in-wcf.html

Theory of CQRS Command Handlers: Sagas, ARs and Event Subscriptions
http://abdullin.com/journal/2010/9/26/theory-of-cqrs-command-handlers-sagas-ars-and-event-subscrip.html

Race Conditions Don’t Exist
http://www.udidahan.com/2010/08/31/race-conditions-dont-exist/

Event Sourcing
http://martinfowler.com/eaaDev/EventSourcing.html

My Links
http://delicious.com/ajlopez/cqrs+tutorial+toblog

More links are coming.

Keep tuned!

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

CQRS: Links, News And Resources (3)

Filed under: CQRS, Links, Software Architecture, Software Development — ajlopez @ 5:21 pm

Previous Post

The third installment of this link series. This time, tutorial resources.

CQRS Starting Page
http://abdullin.com/cqrs/
This page lists learning materials, documents, videos, tips and reference implementations about getting started with Command and Query Responsibility Segregation.

Clarified CQRS
http://www.udidahan.com/2009/12/09/clarified-cqrs/

Towards an immutable domain model – introduction (part 1)
http://blog.zilverline.com/2011/02/01/towards-an-immutable-domain-model-introduction-part-1/

Aclarando CQRS (traducción)
https://docs.google.com/document/d/1-5rmzY48aXZp3A-uaULnwU0gV7r1E1ZkEV1i5YBn-LI/edit?pli=1

CQRS Documents by Greg Young
http://cqrs.files.wordpress.com/2010/11/cqrs_documents.pdf

In The Brain of Udi Dahan: CQRS, race conditions, and sagas – oh my!
http://skillsmatter.com/podcast/open-source-dot-net/udi-dahan-cqrs-race-conditions-and-sagas

CQRS
http://martinfowler.com/bliki/CQRS.html

Why I Still Love CQRS (and Messaging and Event Sourcing)
http://blog.jonathanoliver.com/2011/05/why-i-still-love-cqrs-and-messaging-and-event-sourcing/

CQRS, Task Based UIs, Event Sourcing agh!
http://codebetter.com/gregyoung/2010/02/16/cqrs-task-based-uis-event-sourcing-agh/

cqrs for dummies – an interlude – has it all been a waste of time?
http://www.blogcoward.com/archive/2011/04/24/cqrs-for-dummiesndashan-interlude-ndash-has-it-all-been-a.aspx

Use CQRS When Constrained on Developers and Time
http://abdullin.com/journal/2011/4/23/use-cqrs-when-constrained-on-developers-and-time.html

Event Sourcing and CQRS, Let’s use it.
http://thinkbeforecoding.com/post/2009/11/02/Event-Sourcing-and-CQRS-Lets-use-it

DDDD: Why I Love CQRS
http://blog.jonathanoliver.com/2009/10/dddd-why-i-love-cqrs/

CQRS – The Domain Events
http://elegantcode.com/2009/11/20/cqrs-the-domain-events/

Command / Query service in WCF
http://www.codinginstinct.com/2010/11/command-query-service-in-wcf.html

Theory of CQRS Command Handlers: Sagas, ARs and Event Subscriptions
http://abdullin.com/journal/2010/9/26/theory-of-cqrs-command-handlers-sagas-ars-and-event-subscrip.html

Race Conditions Don’t Exist
http://www.udidahan.com/2010/08/31/race-conditions-dont-exist/

Event Sourcing
http://martinfowler.com/eaaDev/EventSourcing.html

My Links
http://delicious.com/ajlopez/cqrs+tutorial+toblog

More links are coming.

Keep tuned!

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

March 8, 2012

CQRS: Links, News And Resources (2)

Filed under: CQRS, Links, Software Architecture, Software Development — ajlopez @ 3:59 pm

Previous Post
Next Post

More CQRS links, this time oriented to examples:

Greg Young Simple CQRS Sample
https://github.com/gregoryyoung/m-r/

Command-Query Separation on Windows Azure
http://ntotten.com/2011/10/command-query-separation-on-windows-azure/

jamuhl / nodeCQRS
https://github.com/jamuhl/nodeCQRS
CQRS Sample in node.js

CQRS and Event Sourcing with NCQRS
http://www.nicholascloud.com/2011/09/cqrs-and-event-sourcing-with-ncqrs/

ddd-cqrs-sample
http://code.google.com/p/ddd-cqrs-sample/
Domain Driven Design & Command-query Responsibility Segregation sample project – Java, Spring, JPA

archfirst
https://code.google.com/p/archfirst/
Sharing software best practices through real-world examples

Case Study CQRS
http://abstractiondev.wordpress.com/case-study-cqrs/

Scalable and Simple CQRS Views in the Cloud
http://abdullin.com/journal/2011/1/19/scalable-and-simple-cqrs-views-in-the-cloud.html

Eventual Consistency and Set Validation
http://codebetter.com/gregyoung/2010/08/12/eventual-consistency-and-set-validation/

Event Sourcing and CQRS, Let’s use it.
http://thinkbeforecoding.com/post/2009/11/02/Event-Sourcing-and-CQRS-Lets-use-it

Event Sourcing and Read Model generation
http://stackoverflow.com/questions/4064067/event-sourcing-and-read-model-generation

tyronegroves / SimpleCQRS
https://github.com/tyronegroves/SimpleCQRS
A framework for building applications using the CQRS and Event Sourcing patterns

CQRS Starting Page
http://abdullin.com/cqrs/
This page lists learning materials, documents, videos, tips and reference implementations about getting started with Command and Query Responsibility Segregation.

Command / Query service in WCF
http://www.codinginstinct.com/2010/11/command-query-service-in-wcf.html

Release of Lokad-CQRS for Windows Azure, Community Credits.
http://abdullin.com/journal/2010/10/15/release-of-lokad-cqrs-for-windows-azure-community-credits.html

Teach Visual Studio Your Own Language – Easy!
http://abdullin.com/journal/2010/10/12/teach-visual-studio-your-own-language-easy.html

EDA CQRS Betting Sample
http://fornax-sculptor.blogspot.com/2010/09/eda-cqrs-betting-sample.html

Simple CQRS + NHibernate event store
http://jasondentler.com/blog/2010/10/simple-cqrs-nhibernate-event-store/

jhicks / EventSourcing
https://github.com/jhicks/EventSourcing
The event sourcing piece of a CQRS framework

Lokad CQRS
http://lokad.github.com/lokad-cqrs/
Lokad.CQRS is a .NET framework and a set of guidance materials for building distributed and scalable applications to be run on-premises or in the cloud. This project helps to design and develop decoupled systems locally and bring them to the distributed environments

Ncqrs Framework
http://ncqrs.org/
Ncqrs is a framework for .NET helps build scalable, extensible and maintainable applications by supporting developers apply the CQRS architectural pattern.
https://github.com/ncqrs/ncqrs

CQRS and Event Sourcing
http://codebetter.com/gregyoung/2010/02/13/cqrs-and-event-sourcing/

Recording of Mark Nijhof on CQRS @ E-VAN 18 November 2009
http://europevan.blogspot.com/2009/11/recording-of-mark-nijhof-on-cqrs-e-van.html

MarkNijhof / Fohjin
https://github.com/MarkNijhof/Fohjin

My Links
http://delicious.com/ajlopez/cqrs+example

March 7, 2012

New Month’s Resolutions: March 2012

First, a review of my February resolutions:

- Implements first ADO.NET commands in AjBase (in memory database) complete
- Implements Id and read/write properties in AjCoRe (simple Content Repository) complete
- Start to write AjComprobantes, a simple PHP app (in Spanish) using AjFwkPhp complete
- Prepare a presentation about programming languages (to give at local Microsoft User Group on March) complete
- Give a presentation about AjLisp in Ruby at Ruby Buenos Aires Meetup complete
- Prepare a presentation about Clojure (I hope to give it at local Java group on March) partial
- Write a REPL in my AjLisp in Ruby complete
- More coding on AjContab (I should decide if I will do it on PHP or .NET version) pending
- Templates in AjGenesis in Ruby pending
- Add first object support in AjRools Expert complete
- Add method with parameters in AjLang complete
- Post about my work on AjRools complete
- New post about my work on AjLisp in Ruby pending
- Post about my work on AjBase complete
- Play with Clojure REPL complete
- Post about Understanding Node.js (first of a series) pending
- Post about Understanding Git (first of a series) pending

Lots of pending! and completes ;-) Key points: prepare the programming languages talk (Javascript on NodeJs, Scala, Clojure, Erlang, Python, Ruby) tooks a lot of time (+- 40hs). So I should review my complex talks time preparation. This month, March, will be dedicated to write code, no talk preparation, no post writing:

- Templates in AjGenesis in Ruby
- Support for flow control in AjLang
- Support for native objects in AjLisp in Java
- First structures, simple matching, simple REPL in AjErl (erlang-like in C#)
- First web site pages in AjContab, simple ASP.NET MVC, with an in-memory domain
- Move AjPython to GitHub, and review internal implementation
- Move AjSudoku to GitHub, and review test, code coverage
- Start internal refactoring AjRools algorithm, towards Rete-like one
- Start form and invoice processing in AjComprobantes

Keep tuned!

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

February 14, 2012

TDD: Links, News and Resources (2)

Previous Post

If TDD is about design why do I need it?
http://programmers.stackexchange.com/questions/102649/if-tdd-is-about-design-why-do-i-need-it/103276#103276

How to Introduce a Test Driven Mindset
http://www.agileadvice.com/2011/09/07/uncategorized/how-to-introduce-a-test-driven-mindset/

Better is Better
http://www.infoq.com/presentations/Better-is-Better

Karate Chop Kata in C#
http://www.youtube.com/watch?v=D3BbjRo2MxY&feature=related

caolan / nodeunit
https://github.com/caolan/nodeunit
Easy unit testing in node.js and the browser, based on the assert module.

mfncooper / mockery
https://github.com/mfncooper/mockery
Simplifying the use of mocks with Node.js

On The Testing In Clojure Debate
http://philcalcado.com/2011/10/08/on_the_testing_in_clojure_debate.html
Recently, Rich Hickey said something at the Strange Loop conference comparing Test-Driven Development to driving a car around banging into the guard rails…

Simple Made Easy
http://www.infoq.com/presentations/Simple-Made-Easy

Vows
http://vowsjs.org/
Asynchronous behaviour driven development for Node.

qmock
http://code.google.com/p/qmock/
A JavaScript mocking library

Writing a Business-Oriented JavaScript Web Application
http://msdn.microsoft.com/en-gb/magazine/hh475811.aspx

Tests Unitarios. Cuándo usarlos y pistas para conseguir un sistema robusto
http://www.etnassoft.com/category/tdd-2/

Clean Code Episode VI – TDD – Part 1
http://www.cleancoders.com/codecast/clean-code-episode-6-part-1/show

How to write and unit-test universal JavaScript modules (browser, Node.js)
http://www.2ality.com/2011/08/universal-modules.html

Bridging the module gap between Node.js and browsers
http://www.2ality.com/2011/11/module-gap.html

Science or Snake Oil: Empirical software engineering
http://se9book.wordpress.com/2011/08/29/science-or-snake-oil-empirical-software-engineering/

How do I Jasmine: a tutorial
http://evanhahn.com/?p=181
Jasmine is a unit testing framework for JavaScript.

BDD and TDD for node.js?
http://stackoverflow.com/questions/4706020/bdd-and-tdd-for-node-js

Testing Backbone applications with Jasmine and Sinon – Part 1
http://tinnedfruit.com/2011/03/03/testing-backbone-apps-with-jasmine-sinon.html

Continuos Tests
http://www.continuoustests.com/

The Land that Scrum Forgot
http://scrumalliance.org/articles/300-the-land-that-scrum-forgot
We need to go fast, and we need to stay clean so we can keep going fast.  How can we incent the team to achieve both goals?  Simple.  We measure both and reward them equally…
We can measure messes by implementing engineering disciplines and practices like Test Driven Development (TDD), Continuous Integration, Pair Programming, Collective Ownership, and Refactoring; i.e. the engineering practices of eXtreme Programming (XP)

TDD 101 Learning Series – Beginning Test-Driven Development in a Legacy System Webinar Recording
http://blogs.seapine.com/2011/08/tdd-101-learning-series-%E2%80%93-beginning-test-driven-development-in-a-legacy-system-webinar-recording/

Practical Testing Techniques for Windows Azure Applications
http://www.devproconnections.com/article/cloud-computing2/cloud-test-windows-azure-136179
How to use unit testing and mocking to build tests for an Azure-hosted website

Clojure FizzBuzz
http://tech.puredanger.com/2011/06/30/clojure-fizzbuzz/

The powershell continuously watch for file changes in a directory, then it executes PhantomJs with the Run-Qunit.js attached to your htm qunit test harness
https://gist.github.com/1125265

Growing instant legacy code with TDD and Mocks
http://theitriskmanager.wordpress.com/2011/07/05/growing-instant-legacy-code-with-tdd-and-mocks/

Test Driven Development (TDD) and Windows Phone 7
http://simonguest.com/2010/10/18/test-driven-development-tdd-and-windows-phone-7/

Test-Driven Development Is Not Slower
http://trycatchfail.com/blog/post/Test-Driven-Development-Is-Not-Slower.aspx

TDD: Keeping test intent when using test builders
http://www.markhneedham.com/blog/2009/09/20/tdd-keeping-test-intent-when-using-test-builders/

C#: Builder pattern still useful for test data
http://www.markhneedham.com/blog/2009/01/21/c-builder-pattern-still-useful-for-test-data/

TDD Kata in C++: String Calculator – Interactions
http://vimeo.com/26177491

TDD Kata 2 – Interactions
http://osherove.com/tdd-kata-2/

The thing about TDD and pretty pictures
http://looseneurons.com/2011/06/25/the-thing-about-tdd-and-pretty-pictures/

How We Built the Software that Processes Billions in Payments
http://www.braintreepayments.com/inside-braintree/how-we-built-the-software-that-processes-billions-in-payments

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

More links about agile, TDD, XP, software development, programming languages are coming.

Keep tuned!

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

February 2, 2012

New Month’s Resolutions: February 2012

Filed under: Open Source Projects, Programming Languages, Software Development — ajlopez @ 10:59 am

First, a short review of my January resolutions:

- Implements Id in Nodes in AjCoRe (simple Content Repository) Partial
- Implements Server/Client in AjKeyvs (Key Value Store) Complete
- Start a new version of my PHP simple framework, revamping old one, to publish in my GitHub account Complete see AjFwkPhp
- Publish a simple web server example at my Node.js samples Complete
- Publish a simple HTML5/Canvas game using Node.js as game server (at Node.js samples) Complete (instead of a game, a distributed canvas drawing app)
- Continue working on AjLang interpreter, Ruby-like syntax over .NET types and objects Complete
- Continue working on AjLisp in Java Pending
- Play with Clojure REPL Pending
- Start writing AjRools.Expert, rule engine in C#, a la JBoss Drools Expert (it will be published in GitHub account) Complete see AjRools

My February resolutions:

- Implements first ADO.NET commands in AjBase (in memory database)
- Implements Id and read/write properties in AjCoRe (simple Content Repository)
- Start to write AjComprobantes, a simple PHP app (in Spanish) using AjFwkPhp
- Prepare a presentation about programming languages (to give at local Microsoft User Group on March)
- Give a presentation about AjLisp in Ruby at Ruby Buenos Aires Meetup
- Prepare a presentation about Clojure (I hope to give it at local Java group on March)
- Write a REPL in my AjLisp in Ruby
- More coding on AjContab (I should decide if I will do it on PHP or .NET version)
- Templates in AjGenesis in Ruby
- Add first object support in AjRools Expert
- Add method with parameters in AjLang
- Post about my work on AjRools
- New post about my work on AjLisp in Ruby
- Post about my work on AjBase
- Play with Clojure REPL
- Post about Understanding Node.js (first of a series)
- Post about Understanding Git (first of a series)

Ok, a lot of work! As in the previous list, most of these items have a public outcome. A long list: I’m pushing my own envelop ;-)

Keep tuned!

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

January 1, 2012

New Month’s Resolutions

In my opinion, using a year for resolutions is too much time. I prefer to have smaller periods for life iteration. One year gives a lot of time for procrastination and lost of focus. My proposal: to have monthly resolution. Yesterday, I wrote about my public not technical resolutions, in Spanish. Now, it’s time to write down a short list of technical resolutions, with public outcomes:

- Implements Id in Nodes in AjCoRe (simple Content Repository)
- Implements Server/Client in AjKeyvs (Key Value Store)
- Start a new version of my PHP simple framework, revamping old one, to publish in my GitHub account
- Publish a simple web server example at my Node.js samples
- Publish a simple HTML5/Canvas game using Node.js as game server (at Node.js samples)
- Continue working on AjLang interpreter, Ruby-like syntax over .NET types and objects
- Continue working on AjLisp in Java
- Play with Clojure REPL
- Start writing AjRools.Expert, rule engine in C#, a la JBoss Drools Expert (it will be published in GitHub account)

I could add some posts about these items, but all them have public repository, so the commits will serve as a proof of advance of this list.

After this first month (January 2012), I will write down a new list, maybe with improvements (better definitions, improved defined outcomes, etc.). Most of these resolutions are centered on studying new things, and practice, practice, practice, practice.

Keep tuned!

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

December 8, 2011

Second Sabbatical Week of the Year

Today, December 8th, is the first day of my second sabbatical week of the year. It ends on December 18th. So, I wrote down my personal backlog, list of commitments for these days. A sabbatical week is an opportunity to do some research, work and coding, beyond the common task of every day. It’s quality time employed to practice and improve. After some planning, this is the list of the technical topics to dive into (there is a list of non-tech ones, too, in Spanish):

Write code, working on:

- AjCoRe, implementing a IStore.
- AjContab, this time a .NET version.
- AjActors, based on the last AjAgents implementation.
- AjLispRb, completing primitives, macros, file parsing.

Write posts about:

- AjTalk generating AjScript (2 posts)
- Social Games (2 posts)
- AjLisp on Ruby
- AjLisp on Javascript
- Ruby Fun Day (2 posts, in Spanish)
- My day at RubyConfAr (2 posts, in Spanish)
- My day at Smalltalks 2011 (2 posts, in Spanish)
- jBPM5, Drools by JBoss (1 post)

Some of the above posts are part of a series.

Practice and Study:

- Clojure, via REPL, or simple Eclipse
- Ruby
- Python
- Web Service Security (.NET)
- Java and Maven (oops ;-)

Other:

- Assists to Ruby Buenos Aires Meetup

Most of these activities will have visible outcomes, ex. posts will be published here or in my Spanish blog, although they will probably posted during AND after the sabbatical week. The code will be published at my repos.

Keep tuned!

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

Older Posts »

Theme: Shocking Blue Green. Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.