September 3, 2008

My Book Reading Journal

I'm keeping a reading journal on my wiki. I'm trying as time permits to write some reactions and thoughts that are churned up by the reading in sub pages, but lately I've just posted a link indicating that I've read something.

I'm posting some of my past readings to but only if I re-look at the book or find myself recalling/using the resource in some way. I also sometimes reference a good article on the reading list, but I read so many of those I don't think I could manage listing them.

I found a nice little tool to pound material into my head when I don't have motivation to read an article. It is called Spreeder as in Speed/Reader. I usually turn it up to 450 word per minute and let'r rip. (my poor brain!)

Continue reading "My Book Reading Journal" »

February 7, 2007

Transformation: Ruby Smells

I keep hearing people say they couldn’t possibly use Ruby because it lacks automatic refactoring tools.

Marting Fowler tells us that Refactoring is the art and science of turning smelly code into good code, in small, incremental steps. Provably correct, by construction. Algorithms for giving your code a makeover without breaking it in the process.

Continue reading "Transformation: Ruby Smells" »

February 6, 2007

Beyond Javas: Chapter 6. Ruby in the Rough

Java's leadership run, at least for applications, might be drawing to an end. This book points out one language and two frameworks (one in Ruby and one in Smalltalk) that have something special to offer. One possible alternative language, Ruby. It improves on Java, but that doesn't mean that Ruby will succeed, or that it's the best possible alternative. Dynamic Languages...

Continue reading "Beyond Javas: Chapter 6. Ruby in the Rough" »

Scott Gu's Blog: ASP.NET AJAX 1.0 Released

Microsoft extends the Common Type Library to the client-side. This provides cross platform, cross browser support for a core JavaScript type-system, JSON-based network serialization stack, JavaScript component/control model (Observer Pattern), as well as common client JavaScript helper classes.

Continue reading "Scott Gu's Blog: ASP.NET AJAX 1.0 Released" »

February 1, 2007

Chapter 5. Rules of the Game

The premise of the book: conditions are ripe for an alternative applications programming language to emerge, because Java is abandoning its base. I'm not going to pretend to know what's next. Hopefully, I'll lay out some interesting languages and frameworks that have promise. This chapter, then, suggests the characteristics that the language should have to have broad commercial success.

Continue reading "Chapter 5. Rules of the Game" »

Patterns Of Enterprise Applicaton Architecture (by Martin Fowler) Chaper 1 and 2

Chapter 1: Layering
Most common technique to break apart a complicated software system. Layers is the cake analogy for software. Each layer rests on a lower layer. Higher layers use services of the lower layers. Lower layers are unaware of the higher. Layers hide layers beneath them.

Chapter 2: Organizing Domain Logic
Simple logic doesn't require decomposition and can be done in a "Transaction Script". But complex logic is where objects come in, and handle this problem with a "Domain Model", primarily around the nouns of the domain. Logic for handling calculations and validations are placed in the model.

Continue reading "Patterns Of Enterprise Applicaton Architecture (by Martin Fowler) Chaper 1 and 2" »

January 29, 2007

Chapter 4 [Why Java Now Sounds Like] Glass Breaking

Java is now in danger, it's getting too difficult to manage, and both evolutionary and revolutionary steps to remedy the problem are failing us. The basic problems.

4.1. Java's New Job Description

Once Java moved to the server side, it became the core server-side development language. Java carries an increasing load in enterprise development, from object-relational mapping with distributed transactions to messaging with XML binding for service-oriented architectures. So the job that we use Java to do is ever changing. The language is remarkably flexible, so it's lived up to the challenge so far.

But all of the extra power comes with added complexity.

Continue reading "Chapter 4 [Why Java Now Sounds Like] Glass Breaking" »

Chapter 3 [Java's Technological] Crown Jewels

If you're to understand what might possibly come after Java, you need to ask questions about Java's continued success:

  • What makes Java hip, and draw such a wide variety of people?
  • How has the open source community thrived, in times, despite Sun and the power vendors?
  • What are the indispensable technical underpinnings that make Java successful?
  • What makes Java so adaptable that programmers can build everything from web sites to databases?

Continue reading "Chapter 3 [Java's Technological] Crown Jewels" »

January 27, 2007

Architectural Improvement by use of Strategic Level Domain-Driven Design

Basically Domain-Driven design can be divided into three areas:

  • Basic building blocks – Addresses how the domain is separated from technology by use of a layered architecture, combined with practical object oriented design patterns.
  • Sophisticated models – Addresses how the software is aligned with domain expert thinking, domain concepts are made explicit in code and refactoring of the code is driven by domain insight.
  • Strategic design – Addresses model integrity and management of complexity in large systems. Strategic design provides three core building blocks:

    • Context mapping
    • Distillation
    • Large scale structures

Continue reading "Architectural Improvement by use of Strategic Level Domain-Driven Design" »

Spring Framework Reference - Chapters 1 and 2

Spring provides a light-weight solution for building enterprise-ready applications, while still supporting the possibility of using declarative transaction management, remote access to your logic using RMI or web services, and various options for persisting your data to a database. Spring provides a full-featured MVC framework, and transparent ways of integrating AOP into your software.

Continue reading "Spring Framework Reference - Chapters 1 and 2" »

Human-Computer Interaction - Chapter 1 The Human

Focus on cognative psychology of the human. Model Human Processor basically looking at the human as yet another storage system and processing unit, albeit a small and slow one.

Continue reading "Human-Computer Interaction - Chapter 1 The Human" »

January 24, 2007

Beyond Java (by Bruce A Tate, O'Reilly)

Notes and [thoughts] as I read this book. Mostly I'll paraphrase the author. I'll note something if it is my thoughts or insight by [enclosing it in brackets].

Common topics include: Java development, frameworks, Spring, Struts, Hibernate, Ruby on Rails, developer productivity, etc.

Here is Chapter 1 "Owls and Ostriches" and Chapter 2 "The Perfect Storm"

Continue reading "Beyond Java (by Bruce A Tate, O'Reilly)" »

Weak versus strong languages, who wins the fight?

Static vs. Dynamic

Languages where the type of references can change are usually called dynamic (weak), languages where the type of a reference is fixed are called static (strong).

Continue reading "Weak versus strong languages, who wins the fight?" »