Search This Blog

Wednesday, February 29, 2012

7 Habits Of Effective Programmers

good DZone article by Giorgio Sironi. His spin on the classic Stephen Covey habits.
1. Be Proactive: we can work with Test Doubles until a colleague has completed the implementation we need.
2. Begin with the end in mind: TDD and BDD are probably the best expression of beginning with a goal i
3. First things first: Refactoring is often applied as cowboy coding, instead of little transitions between working states of the code. But it is possible to refactor in different directions, horizontally (with the application of a new design across many subclasses or implementations) or vertically (moving code between inheritance and composition relationships).
4. Think win-win: The Agile movement prescribes a search for win-win scenarios between software developers and customers.
5. Seek first to understand, then be understood.  Especially when working with standards: the standard is likely to be more correct than us in many cases
6. Synergize.
7. Sharpen The Saw - Giorgio says he reads technical articles weekly and perform code katas, attend events and conferences. Personally I find inspiration and motivation in San Diego meetups for Java and Android. I also read a gazillion feeds on my Kindle Fire "JustReader" which formats Google Reader which consumes RSS feeds. I will make myself go to at least 1 large conference (JavaOne I hope).

Monday, February 20, 2012

A Programmer's List of Lists

Language popularity (Tiobe)  (Java, C, C++, C#, Objective C, PHP, ...)

Linux Flavors (Mint, Ubuntu, Fedora, Debian,.............., RHEL,....)

Free Programming EBooks (courtesy Hacker News)  (Thinking in Java, The Cathedral and the Bazaar, etc.)

NoSql Databases (Hadoop, MongoDb, MemCache, etc.)

Bits of Programming Advice ((Don't make objects that end with 'er'.))

Sunday, February 19, 2012

NoSQL Flavors

On my TODO list: try two of these. 

Big Table or Wide Column Store
-          Hadoop/HBase (Facebook)
-          Cassandra
-          HyperTable (Google)
-          Amazon SimpleDB

Document Store
-          MongoDB (JSON documents) (FourSquare)
-          CouchDB (JSON documents)

Key-Value
-          Amazon DynamoDB
-          Memcached
-          Oracle Coherence
-          Apache Voldemort (LinkedIn)

XML
-          MarkLogic
-          Apache Xindice (retired)

Saturday, August 20, 2011

PLoP Links And Other Pattern Links

PLoP = Pattern Languages of Programs, a group that collects good patterns like some people collect baseball cards.
Some interesting links:
Books On Patterns
Patterns Catalog
Some Random Interesting Patterns:
Avionics Patterns
Scrum Patterns

Other Links:
Pattern-Oriented Software Architectures
Patterns & Frameworks for 
Concurrent & Distributed Systems - Patterns For Real Time Avionics Messaging in UAV
Great Article on Inversion of Control Layer
Variability Patterns (Software Product Line)