Angel \”Java\” Lopez on Blog

April 25, 2013

Mass Programming Language (1) Inception

Filed under: .NET, C Sharp, Mass, Open Source Projects, Programming Languages — ajlopez @ 9:09 am

Next Post

Three weeks ago, I was working on the implementation of an interpreted language, written in C#. The new language is called Mass (dedicated to  @MArtinSaliaS):

https://github.com/ajlopez/Mass

The current solution has three projects: a class library, its tests, and a console program, mass.exe, that launches Mass programs

You can run a hello.ms:

mass hello.ms

The classic Hello world source code:

println("Hello, world")

An example with classes and objects

class Person
	define initialize(firstname, lastname)
		self.firstname = firstname
		self.lastname = lastname
	end
	
	define getName()
		return self.lastname + ", " + self.firstname
	end
end

adam = new Person("Adam", "TheFirst")

println(adam.getName())

An example with access to .NET types and objects:

dirinfo = new System.IO.DirectoryInfo(".")

for fileinfo in dirinfo.GetFiles()
	println(fileinfo.Name)
end

The idea is  to have a dynamic language that leverages an underlying language provided with a rich class library and ecosystem, like in AjSharp and other of my projects. Before Mass, I was working on:

- Implementing Python in C# (see PythonSharp)

- Implementing Ruby in C# (see RubySharp)

- AjSharp (see repo and post)

But this time I wanted to implement something with simple sintax and semantic. Indeed, I was playing with “simple” ideas for a compiler over Javascript, see SimpleScript (1) First Ideas.

Then, with Mass, I deliberately wanted to avoid:

- Multiple commands in the same line (I discarded ‘;’ like in Ruby)

- Syntax based in spaces and indentation (Python discarded)

- Function invocation using only the name; Mass impose the explicit use of parenthesis (Ruby discarded; Mass is like JavaScript)

- Base values and classes (integers, strings, lists, etc…) having a crowd of methods (like Ruby and Python). No, Mass prefers to expose and use the underlying language/class library.

Then, I wanted:

- Functional values, as first-class citizens, like in JavaScript. So, having to put explicit parenthesis to invoke a function allows me to use the name of the function as a functional value

- Dynamic objects: each object can be extended at any moment, with new instance variables, object functions, a la JavaScript

- Syntax based in lines: each command has its own line. No command separation

- Syntax based in keywords: the end of a command list is marked with ‘end’, no braces

- As far as possible, only one way to do something, instead of the many ways motto a la Perl

- Complete keywords, then ‘define’ instead of ‘def’

- Simple inheritance at classes. But Mass could be expressive without written classes, using native classes from .NET framework and other libraries. It could be used as an scripting language.

- Explicit setting of variables that are out of the local scope (a topic for next posts)

- Variable scope by file, like in the require of JavaScript/NodeJs/CommonJS

- Module by file, with a require that automatically searches in directories, a la NodeJs/CommonJs. Notably, Mass can consume node_modules folder, so Mass module can be published and installed using NPM!

- Package manager, using NPM. You can use package.json to declare the dependencies, and publish new modules at NPM (using ‘mass-‘ as the suggested namespace).

In upcoming posts, I will write more details about implementation, guiding design ideas, examples. But now, you can see the code and the test examples at public repo. And yes, all was written by baby steps, using TDD.

Keep tuned!

Angel “Java” Lopez

http://www.ajlopez.com

http://twitter.com/ajlopez

April 13, 2013

Scalability: Links, News And Resources (3)

Filed under: Links, Scalability, Software Architecture, Software Development — ajlopez @ 6:24 pm

Previous Post

The C10K problem
http://www.kegel.com/c10k.html
It’s time for web servers to handle ten thousand clients simultaneously

The Underlying Technology of Messages at Facebook
https://www.facebook.com/notes/facebook-engineering/the-underlying-technology-of-messages/454991608919

Memcached
http://memcached.org/
Free & open source, high-performance, distributed memory object caching system

An Easy Way to Build Scalable Network Programs
http://blog.nodejs.org/2011/10/04/an-easy-way-to-build-scalable-network-programs/

NuoDB
http://www.nuodb.com/

How to beat the CAP theorem
http://nathanmarz.com/blog/how-to-beat-the-cap-theorem.html
The CAP theorem states a database cannot guarantee consistency, availability, and partition-tolerance at the same time.

The LMAX Architecture
http://martinfowler.com/articles/lmax.html
LMAX is a new retail financial trading platform. As a result it has to process many trades with low latency. The system is built on the JVM platform and centers on a Business Logic Processor that can handle 6 million orders per second on a single thread.

Redis Virtual Memory: the story and the code
http://antirez.com/post/redis-virtual-memory-story.html

Improving Web Site Performance and Scalability While Saving Money
http://channel9.msdn.com/Events/aspConf/aspConf/Improving-Web-Site-Performance-and-Scalability-While-Saving-Money
Scalable JavaScript Design Patterns
http://www.slideshare.net/AddyOsmani/scalable-javascript-design-patterns

Cinchcast Architecture – Producing 1,500 Hours Of Audio Every Day
http://highscalability.com/blog/2012/7/16/cinchcast-architecture-producing-1500-hours-of-audio-every-d.html

The Netflix Simian Army
http://techblog.netflix.com/2011/07/netflix-simian-army.html

C Is For Compute – Google Compute Engine (GCE)
http://highscalability.com/blog/2012/7/2/c-is-for-compute-google-compute-engine-gce.html

How we got rid of the database
http://lostechies.com/gabrielschenker/2012/06/20/how-we-got-rid-of-the-databasepart-4/

Improving performance on twitter.com
http://engineering.twitter.com/2012/05/improving-performance-on-twittercom.html

Against the Grain: How We Built the Next Generation Online Travel Agency using Amazon, Clojure, and a Comically Small Team
http://www.colinsteele.org/post/23103789647/against-the-grain-aws-clojure-startup

Building a Website To Scale
http://www.youtube.com/watch?v=RlkCdM_f3p4&feature=g-all-u

Vert.x vs node.js simple HTTP benchmarks
http://vertxproject.wordpress.com/2012/05/09/vert-x-vs-node-js-simple-http-benchmarks/

vert.x
http://vertx.io/
Effortless asynchronous application development for the modern web and enterprise

Introducing Resque
https://github.com/blog/542-introducing-resque
Resque is our Redis-backed library for creating background jobs, placing those jobs on multiple queues, and processing them later.

How to take advantage of Redis just adding it to your stack
http://antirez.com/post/take-advantage-of-redis-adding-it-to-your-stack.html

PubSub with Redis and Akka Actors
http://debasishg.blogspot.com.ar/2010/04/pubsub-with-redis-and-akka-actors.html

MagLev
http://maglev.github.com/
The MagLev VM takes full advantage of GemStone/S JIT to native code performance, distributed shared cache, fully ACID transactions, and enterprise class NoSQL data management capabilities to provide a robust and durable programming platform.

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

Keep tuned!

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

April 4, 2013

Scalability: Links, News And Resources (2)

Filed under: Links, Scalability, Software Architecture, Software Development — ajlopez @ 5:00 pm

Previous Post
Next Post

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

Spain Scalability Group
https://sites.google.com/site/spainscalabilitygroup/

The Instagram Architecture Facebook Bought For A Cool Billion Dollars
http://highscalability.com/blog/2012/4/9/the-instagram-architecture-facebook-bought-for-a-cool-billio.html

Just how big are porn sites?
http://www.extremetech.com/computing/123929-just-how-big-are-porn-sites

Scalability at YouTube
http://www.youtube.com/watch?v=G-lGCC4KKok

7 Years Of YouTube Scalability Lessons In 30 Minutes
http://highscalability.com/blog/2012/3/26/7-years-of-youtube-scalability-lessons-in-30-minutes.html

NoSQL Data Modeling Techniques
http://highlyscalable.wordpress.com/2012/03/01/nosql-data-modeling-techniques/

Akka 2.0: Scalability of Fork Join Pool
http://letitcrash.com/post/17607272336/scalability-of-fork-join-pool

Scaling Erlang
http://inaka.net/blog/2011/10/07/scale-test-plan-simple-erlang-application/

Tumblr Architecture – 15 Billion Page Views A Month And Harder To Scale Than Twitter
http://highscalability.com/blog/2012/2/13/tumblr-architecture-15-billion-page-views-a-month-and-harder.html

How Facebook pushes new code live
http://agilewarrior.wordpress.com/2011/05/28/how-facebook-pushes-new-code-live/

Can Simplicity Scale?
http://blog.regehr.org/archives/663

Amazon DynamoDB – a Fast and Scalable NoSQL Database Service Designed for Internet Scale Applications
http://www.allthingsdistributed.com/2012/01/amazon-dynamodb.html

Implementing Scalable HA Architectures with Spring Integration
http://www.infoq.com/presentations/Implementing-HA-Architectures-Spring-Integration

Arquitectura de un buscador vertical escalable con Hadoop
http://www.datasalt.es/2011/10/arquitectura-de-un-buscador-vertical-escalable-con-hadoop/

What is Zing? A Scalable, Elastic, High-Performance Java Virtual Machine (JVM)
http://www.azulsystems.com/products/zing/whatisit

Azul Making Java “Zing”
http://java.dzone.com/articles/azul-making-java-zing

Autoscaling with Enterprise Library Integration Pack for Windows Azure
http://blogs.msdn.com/b/jdom/archive/2011/12/02/autoscaling-with-enterprise-library-integration-pack-for-windows-azure.aspx

DataSift Using MySQL, HBase, Memcached to Deal With Twitter Firehose
http://nosql.mypopescu.com/post/13540746376/datasift-using-mysql-hbase-memcached-to-deal-with

DataSift Architecture: Realtime Datamining At 120,000 Tweets Per Second
http://highscalability.com/blog/2011/11/29/datasift-architecture-realtime-datamining-at-120000-tweets-p.html

Scaling at Gowalla: Databases & NoSQL
http://engineering.gowalla.com/2011/11/17/scaling-and-gowalla/

Microsoft drops Dryad; puts its big-data bets on Hadoop
http://www.zdnet.com/blog/microsoft/microsoft-drops-dryad-puts-its-big-data-bets-on-hadoop/11226

How StackOverflow Scales with SQL Server (Video)
http://www.brentozar.com/archive/2011/11/how-stackoverflow-scales-sql-server-video/

Scaling Isomorphic Javascript Code
http://blog.nodejitsu.com/scaling-isomorphic-javascript-code
Javascript is now an isomorphic language. By isomorphic we mean that any given line of code (with notable exceptions) can execute both on the client and the server.

One million!
http://blog.whatsapp.com/index.php/2011/09/one-million/

Building Scalable Systems: an Asynchronous Approach
http://www.infoq.com/presentations/Building-Scalable-Systems-Asynchronous-Approach

jdegoes / blueeyes
https://github.com/jdegoes/blueeyes
A lightweight Web 3.0 framework for Scala, featuring a purely asynchronous architecture, extremely high-performance, massive scalability, high usability, and a functional, composable design.

NOSQL Patterns
http://cloud.dzone.com/news/nosql-patterns

Wikimedia Architecture
http://highscalability.com/wikimedia-architecture

Stuff The Internet Says On Scalability For August 5, 2011
http://highscalability.com/blog/2011/8/5/stuff-the-internet-says-on-scalability-for-august-5-2011.html

Keep tuned!

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

April 2, 2013

New Month’s Resolutions: April 2013

Filed under: Open Source Projects — ajlopez @ 11:05 am

A new month starts. Review of my March’s resolutions:

- Start ClojSharp [complete] see repo
- Start NodeAima [pending]
- Update AjGenesisRuby [pending]
- Start RubySharp [complete] see repo
- Update SimpleGo [complete] see repo
- Update SimpleChess [pending]
- Update Inmob [complete] see repo
- Update AjConsorSite [complete] see repo

Instead of working on AjGenesisRb, I was working on

- Update and publish AjLispRuby as a gem [complete] see repo
- Migrate and update Todocontenidos to GitHub [complete] see repo
- Publish current version of AjGenesis, and migrate it to GitHub [complete] see downloads, see repo, see Spanish post 

Additionally to ClojSharp and RubySharp, I started a new simple interpreted language

- Start Mass [complete] see repo

And

- Give a talk about TDD [complete] see Spanish post

April’s resolutions:

- Update Mass
- Start NodeAima
- Give a one-day course on Node.js
- Update AjGenesis
- Update AjGenesisRuby
- Update SimpleGo
- Update RubySharp
- Update ClojSharp

More work and fun is coming.

Keep tuned!

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

March 26, 2013

Scala: Links, News And Resources (3)

Filed under: Functional Programming, Java, JVM, Links, Programming Languages, Scala — ajlopez @ 3:46 pm

Previous Post

Scalaz
http://code.google.com/p/scalaz/
https://github.com/scalaz/scalaz
Scalaz: Type Classes and Pure Functional Data Structures for Scala
 
CLOJURE VS SCALA
http://hammerprinciple.com/therighttool/items/clojure/scala
Suppose you had to choose between Clojure and Scala, which would you pick?
 
ScalaIDE for Eclipse
http://scala-ide.org/

Scala for the Intrigued: Creating Higher Order Functions
http://pragprog.com/magazines/2012-02/scala-for-the-intrigued
 
Scala for the Intrigued: Working with Collections
http://pragprog.com/magazines/2012-01/scala-for-the-intrigued
n this fifth installment of his series on the Scala programming language, Venkat mixes object oriented and functional styles to reveal the power and grace of Scala collections.
 
Scala for the Intrigued: Cute Classes and Pure OO
http://pragprog.com/magazines/2011-11/scala-for-the-intrigued
This third installment of his series on Scala shows how Scala’s OO purity leads to simple, elegant code.
 
Scala for the Intrigued: Functional Style of Programming
http://pragprog.com/magazines/2011-12/scala-for-the-intrigued
Venkat delves into the functional style of programming in Scala.
 
Languages, Verbosity, and Java
http://www.informit.com/articles/article.aspx?p=1824790
With the new spate of programming languages emerging for the Java virtual machine and other platforms, it’s more important than ever that the rules of a language make code clear and concise. But clarity and conciseness don’t exactly go hand in hand.
 
Running Spring Java and Scala Apps on Heroku
http://www.infoq.com/presentations/Running-Spring-Java-and-Scala-Apps-on-Heroku
 
A little scalaz IO action
https://gist.github.com/1552195

Functional IO in Scala with Scalaz
http://www.stackmob.com/2011/12/scalaz-post-part-2/
 
Everything I Ever Learned about JVM Performance Tuning @twitter
http://www.infoq.com/presentations/JVM-Performance-Tuning-twitter
Attila Szegedi discusses performance problems encountered at Twitter running Java and Scala applications, presenting how they solve them through JVM tuning.
 
Offbeat: Scala by the end of 2011 – No Drama but Frustration is Growing
http://gridgaintech.wordpress.com/2011/12/11/offbeat-scala-by-the-end-of-2011-no-drama-but-frustration-is-growing/
 
Real life Scala feedback from Yammer
http://blog.joda.org/2011/11/real-life-scala-feedback-from-yammer.html

Actors: can we do better?
http://vimeo.com/20307408
Paul Chiusano presents to the Northeast Scala Symposium nescala.org

scala symposium Boston
http://nescala.org/
 
Continuations and Other Functional Patterns
http://vimeo.com/20305325

Building an HTTP streaming API with Scala
http://vimeo.com/20306881
 
Guerrilla Guide to Pure Functional Programming
http://vimeo.com/20293743

Referentially transparent nondeterminism
http://pchiusano.blogspot.com/2011/06/referentially-transparent.html
 
Scala’s version fragility make the Enterprise argument near impossible
http://lift.la/scalas-version-fragility-make-the-enterprise
An attribute of Scala is that the Scala compiler generates fragile byte-code.  This means that all the code in an executable (JAR or WAR) must be compiled with the same library and compiler versions.

Functional Scala: Curried Functions and spicy Methods
http://gleichmann.wordpress.com/2011/12/04/functional-scala-curried-functions-and-spicy-methods/
 
Functional Programming For Java Programmer Scala Or Clojure?
http://www.nairaland.com/nigeria/topic-718309.0.html

Scala vs Ceylon vs Kotlin
https://plus.google.com/105933370793992913359/posts/4ihU1TdzSA8

Scala feels like EJB 2, and other thoughts
http://blog.joda.org/2011/11/scala-feels-like-ejb-2-and-other.html
 
My Links
http://delicious.com/ajlopez/scala

Keep tuned!

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

March 17, 2013

AjGenesis Code Generation: News and Ideas

Filed under: AjGenesis, Code Generation — ajlopez @ 2:56 pm

Past week, I moved my open source code generation project AjGenesis (.NET version) from Codeplex to GitHub. The Codeplex site has a new compiled version (with source code and examples), AjGenesis 0.6 (Some time ago, GitHub removed the hosting of binaries downloads) (my posts about AjGenesis).

That new version is only the compiled one from Codeplex trunk. It has minor fixes and improvements, and it was used in real projects. Now, it’s time to work on the next version. Some ideas to implement:

- Refactor test, to use Visual Studio tools

- Refactor AjGenesis Web Studio, to ASP.MVC 3, using C#, Razor, and Bootstrap 2.0

- New console main program, renamed to ajgen (instead of AjGenesis.Console, a long name for this times).

- Support for commands in repositories. That is, there will new names to use with console program, like:

ajgen generate <parameters>

ajgen newentity <parameters>

that is

ajgen <verb> <parameters>

The verbs will be defined in repositories, and everyone can write the commands (at first, usual AjGenesis tasks). In this way, I could support code generation in a easy way: instead of specifying explicit task files and models, they could be located in predefined locations. In the previous versions of AjGenesis, I was reluctant to use such kind of search for tasks, but after reviewing other code generation tools integrated in frameworks (like Ruby on Rails, Django, Express) I want to explore this path.

The usual

ajgen <task or model files>

will be supported, too, without changes.

Long term goals:

- JSON support for models

- AjSharp/AjBasic as scripting languages for AjGenesis (now, AjBasic is internally coupled to the tool)

Don’t forget they are new versions of AjGenesis: AjGenesisNode implemented using Node.js and AjGenesisRuby using Ruby.

Keep tuned!

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



	

March 14, 2013

Scala: Links, News And Resources (2)

Filed under: Functional Programming, Java, JVM, Links, Programming Languages, Scala — ajlopez @ 3:52 pm

Previous Post
Next Post

More about Scala programming language and ecosystem

Learning Scala? Learn the Fundamentals First
http://tataryn.net/2011/10/learning-scala-learn-the-fundamentals-first/

Injectors and Extractors in Scala
http://blog.jayway.com/2011/10/11/injectors-and-extractors-in-scala/

How to maintain compatibility and language quality
https://gist.github.com/1241465

Akka 2.x roadmap…
https://docs.google.com/document/pub?id=1CMz_MEQA8oPcGw9oaFdq_KYYFB_5qZjsDYYwuXfZhBU&pli=1

Look ma…. location transparency

London Scala Users’ Group:Practical Scalaz: making your life easier the hard way
http://skillsmatter.com/podcast/home/practical-scalaz-2518/js-2679

jdegoes / blueeyes
https://github.com/jdegoes/blueeyes
A lightweight Web 3.0 framework for Scala, featuring a purely asynchronous architecture, extremely high-performance, massive scalability, high usability, and a functional, composable design.

Actors that Unify Threads and Events
http://lamp.epfl.ch/~phaller/doc/haller07actorsunify.pdf

Clojure vs Scala – anecdote Options
http://groups.google.com/group/clojure/browse_thread/thread/b18f9006c068f0a0?pli=1

Contrasting Performance : Languages, styles and VMs – Java, Scala, Python, Erlang, Clojure, Ruby, Groovy, Javascript
http://blog.dhananjaynene.com/2011/08/cperformance-comparison-languages-styles-and-vms-java-scala-python-erlang-clojure-ruby-groovy-javascript/

Scala: Making it easier to abstract code
http://www.markhneedham.com/blog/2011/07/23/scala-making-it-easier-to-abstract-code/

Scala: Companion Objects
http://www.markhneedham.com/blog/2011/07/23/scala-companion-objects/

Scala programming tutorial part 1. (environment setup)
http://www.youtube.com/watch?v=zicyW1EeRIU

Scala programming tutorial part 2. (executable, print)
http://www.youtube.com/watch?v=9mFV9pfUenU

Working Hard to Keep It Simple in Scala
http://www.softdevtube.com/2011/08/01/working-hard-to-keep-it-simple-in-scala/

Good article on Functional Programming #FunctionalProgramming #Scala #ErLang
http://vikasgoel.tumblr.com/post/8369381751/good-article-on-functional-programming

Working Hard to Keep It Simple
http://www.oscon.com/oscon2011/public/schedule/detail/21055

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

More Scala resources are coming

Keep tuned!

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

March 10, 2013

TDD: Links, News And Resources (8)

Previous Post

Towards a Theory of Test-Driven Development | Java Code Geeks
http://www.javacodegeeks.com/2013/01/towards-a-theory-of-test-driven-development.html

jrcryer/phpunit-watchr · GitHub
https://github.com/jrcryer/phpunit-watchr
Simple node app to watch a directory and run phpunit tests

Investing in your tests–A lesson in object composition | Josh Arnold’s Blog
http://lostechies.com/josharnold/2012/12/22/investing-in-your-testsa-lesson-in-object-composition/

The No Mocks Book « Arlo Being Bloody Stupid
http://arlobelshee.com/post/the-no-mocks-book

James Shore: Blog: Lets-Play
http://www.jamesshore.com/Blog/Lets-Play/

Continuous Delivery with Maven and Go into Maven Central « Esko Luontola – Random Thoughts
http://blog.orfjackal.net/2012/08/continuous-delivery-with-maven-and-go.html

Let’s Code « ORFJackal.NjET
http://www.orfjackal.net/lets-code

On Being A Journeyman Software Developer: Roman Numerals Kata with Commentary
http://programmingtour.blogspot.com.ar/2012/12/roman-numerals-kata-with-commentary.html

jaycfields/expectations · GitHub
https://github.com/jaycfields/expectations

SUnit Explained
http://stephane.ducasse.free.fr/Programmez/OnTheWeb/SUnitEnglish2.pdf

SUnit
http://wiki.squeak.org/squeak/1547

Camp Smalltalk SUnit – Manual
http://sunit.sourceforge.net/manual.htm

What are the most widely used .NET practices and tools?
http://www.infoq.com/research/net-practices-tools?utm_source=infoqresearch&utm_campaign=rr-topicpages

Test your JavaScript skills with js-assessment | Hey, designer!
http://heydesigner.com/test-your-javascript-skills-with-js-assessment/

TDD for legacy code, graphics code, and legacy graphics code?
http://www.altdevblogaday.com/2012/04/08/tdd-for-legacy-code-graphics-code-and-legacy-graphics-code/

c++ – Is it possibile to use TDD with image processing algorithms? – Stack Overflow
http://stackoverflow.com/questions/1283147/is-it-possibile-to-use-tdd-with-image-processing-algorithms

Backwards Is Forward: Making Better Games with Test-Driven Development | Games from Within
http://gamesfromwithin.com/backwards-is-forward-making-better-games-with-test-driven-development

midje – ClojureSphere
http://www.clojuresphere.com/midje/midje

Seika/GameOfLife
https://github.com/Seika/GameOfLife

Classic TDD or "London School"? – Software People Inspiring
http://codemanship.co.uk/parlezuml/blog/?postid=987

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

March 7, 2013

Uncle Bob: Links and Resources (1)

Lot of interesting post about programming. And about one of my favorite topic: TDD, Test-Driven Development:

The Start-Up Trap | 8th Light
http://blog.8thlight.com/uncle-bob/2013/03/05/TheStartUpTrap.html

Clean Coders, Liskov
http://www.cleancoders.com/codecast/clean-code-episode-11-p1/show

Keynote: Architecture the Lost Years – Robert Martin – Ruby Midwest 2011
http://www.confreaks.com/videos/759-rubymidwest2011-keynote-architecture-the-lost-years

NO DB | 8th Light
http://blog.8thlight.com/uncle-bob/2012/05/15/NODB.html

Skills Matter : In The Brain of Uncle Bob (Robert C. Martin)
http://skillsmatter.com/podcast/agile-testing/uncle-bob-expert-insights/wd-23

ArticleS.UncleBob.ThePrimeFactorsKata
http://www.butunclebob.com/ArticleS.UncleBob.ThePrimeFactorsKata

Flipping the Bit | 8th Light
http://blog.8thlight.com/uncle-bob/2012/01/11/Flipping-the-Bit.html

The Barbarians are at the Gates | 8th Light
http://blog.8thlight.com/uncle-bob/2011/12/11/The-Barbarians-are-at-the-Gates.html

The delivery mechanism is an annoying detail – Coding the Architecture
http://www.codingthearchitecture.com/2011/11/06/the_delivery_mechanism_is_an_annoying_detail.html

Skills Matter : In The Brain of Uncle Bob (Robert C. Martin)
http://skillsmatter.com/podcast/agile-testing/bobs-last-language/js-2958

Simple Hickey | 8th Light
http://blog.8thlight.com/uncle-bob/2011/10/20/Simple-Hickey.html

Scrum Alliance – The Land that Scrum Forgot
http://scrumalliance.org/articles/300-the-land-that-scrum-forgot

Amazon.com: Agile Principles, Patterns, and Practices in C# (9780131857254): Robert C. Martin, Micah Martin: Books
http://www.amazon.com/Agile-Principles-Patterns-Practices-C/dp/0131857258

The Transformation Priority Premise – Uncle Bob’s Blog
http://cleancoder.posterous.com/the-transformation-priority-premise

What Killed Waterfall Could Kill Agile. – Uncle Bob’s Blog
http://cleancoder.posterous.com/what-killed-waterfall-could-kill-agile

OmelasBlog: Lo que mató a Waterfall podría matar a Agile
http://blog.omelas.net/2010/11/lo-que-mato-waterfall-podria-matar.html

Best In Class: Taking Uncle Bob to school
http://www.bestinclass.dk/index.clj/2010/10/taking-uncle-bob-to-school.html

Clojure with Uncle Bob
http://www.financialagile.com/reflections/8-software/21-clojure-with-uncle-bob

gist: 632303 – Prime factors Kata in Clojure- GitHub
http://gist.github.com/632303

Best In Class: Taking Uncle Bob to school
http://bestinclass.dk/index.clj/2010/10/taking-uncle-bob-to-school.html

Uncle Bob Martin’s "Clojure – Up Close and Personal" on Vimeo
http://vimeo.com/15046335

The Clean Coder: Why Clojure?
http://thecleancoder.blogspot.com/2010/08/why-clojure.html

YouTube – RailsConf 09: Robert Martin, "What Killed Smalltalk Could Kill Ruby, Too"
http://www.youtube.com/watch?v=YX3iRjKj7C0

ArticleS.UncleBob.TheThreeRulesOfTdd
http://butunclebob.com/ArticleS.UncleBob.TheThreeRulesOfTdd

InfoQ: Craftsmanship and Ethics
http://www.infoq.com/presentations/craftmanship-ethics

My Links
https://delicious.com/ajlopez/unclebob

March 3, 2013

New Month’s Resolutions: March 2013

Filed under: Open Source Projects — ajlopez @ 5:54 pm

Time for review my February 2013 resolutions:

- Start SimpleDatabase [complete] see repo
- Update SimplePermissions [pending]
- Update SimpleStorm (implements ack, maybe integrate with MultiNodes) [pending]
- Update SimpleMapReduce [complete] see repo
- Update SimpleKeeper, leader, distributed example [complete] see repo
- Update AjFabriqNode, integrate with new SimpleMessages, maybe with MultiNodes [pending]
- Update MultiNodes [complete] see repo
- Update AjGenesisNode, to use global commands and tasks [pending]
- Give a full-day course about Node.js [complete] see Spanish post

Additionally, I was working on:

- Update Inmob [complete] see repo
- Update AjConsorSite [complete] see repo
- Update AjGroupsJs [complete] see repo
- Update SimpleBoard [complete] see repo
- Update SimpleChess [complete] see repo
- Update SimpleGo [complete] see repo
- Update NodeSamples [complete] see repo

My resolutions for March 2013:

- Start ClojSharp
- Start NodeAima
- Update AjGenesisRb
- Start RubySharp
- Update SimpleGo
- Update SimpleChess
- Update Inmob
- Update AjConsorSite

More work, more fun ;-)

Keep tuned!

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

« Newer PostsOlder Posts »

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

Follow

Get every new post delivered to your Inbox.

Join 28 other followers