Saturday, August 28, 2010

podcast: IT Conversations | Tech Nation | Aaron Blackledge

"Dr. Moria Gunn talks with Dr. Aaron Blackledge, Medical Director for Care Practice, who's medical practice is driven thru social media. Care Practice (San Francisco, Mission District) was opened like one would open a neighborhood restaurant with a focus on patient experience and developing a compelling identity and brand in a tough urban marketplace for doctors


Care Practice Fees

Friday, August 27, 2010

We Have Met the Enemy and He Is PowerPoint - NYTimes.com



“When we understand that slide, we’ll have won the war,” General McChrystal dryly remarked, one of his advisers recalled, as the room erupted in laughter. "

Thursday, August 26, 2010

InfoQ: Graph Databases, NOSQL and Neo4j

Not-only-SQL "databases" are, along with HTML5, are basis for "next big thing" (or bubble) in technology...

While the first objective of non-relational those data systems is "horizontal scalability" to be able to handle very large amount of data by using commodity systems, along the way they also change way of thinking about the data storage and APIs.

Currently there is a wide variety of NoSQL databases, much more diverse than SQL DBs. But there is something common they share: there is "theory" behind distributed systems, similar to relational theory behind SQL databases.

CAP theorem can also help classify various NoSQL databases...

  • Strong Consistency: all clients see the same version of the data, even on updates to the dataset - e. g. by means of the two-phase commit protocol (XA transactions), and ACID,
  • High Availability: all clients can always find at least one copy of the requested data, even if some of the machines in a cluster is down,
  • Partition-tolerance: the total system keeps its characteristic even when being deployed on different servers, transparent to the client.

    The CAP-Theorem postulates that only two of the three different aspects of scaling out are can be achieved fully at the same time


  • Wednesday, August 25, 2010

    Sal Khan: Bill Gates' favorite teacher - Aug. 24, 2010

    Article in Fortune Magazine describes a one-man education powerhouse, just endorsed by Bill Gates, who in as philanthropist investing heavily in education.

    "Khan Academy, with Khan as the only teacher, appears on YouTube and elsewhere and is by any measure the most popular educational site on the web. Khan's playlist of 1,630 tutorials (at last count) are now seen an average of 70,000 times a day -- nearly double the student body at Harvard and Stanford combined.
    ...

    Khan was long an academic star. With his MBA from Harvard, he has three degrees from MIT: a BS in math and a BS and a master's in electrical engineering and computer science. He also was the president of his MIT class and did volunteer teaching in nearby Brookline for talented children, as well as developed software to teach children with ADHD
    ...

    Khan Academy @YouTube
    Khan Academy web site

    Sunday, August 22, 2010

    Orchard Project

    "Orchard is a free, open source, community-focused project aimed at delivering applications and reusable components on the ASP.NET platform.

    Orchard will create shared components for building ASP.NET applications and extensions, and specific applications that leverage these components to meet the needs of end-users, scripters, and developers

    In the near term, the Orchard project is focused on delivering a .NET-based CMS application that will allow users to rapidly create content-driven Websites, and an extensibility framework that will allow developers and customizers to provide additional functionality through module extensions and themes. "

    FAQ
    What is the Orchard CMS application? How does it compare with Microsoft SharePoint?

    Orchard CMS is an open source project which aims to provide a simple solution for small web agencies who want to quickly create Internet-facing Web sites. For corporations wanting a fully-featured, Microsoft-supported, enterprise-level CMS solution out-of-the-box, including Workflow, Digital Asset Management, Advanced Search, Web Analytics, and Social Networking, Microsoft SharePoint™ is a more natural choice.

    Microsoft Web Platform Installer

    "The Microsoft Web Platform Installer 2.0 (Web PI) is a free tool that makes getting the latest components of the Microsoft Web Platform, including Internet Information Services (IIS), SQL Server Express, .NET Framework and Visual Web Developer easy. The Web PI also makes it easy to install and run the most popular free web applications for blogging, content management and more with the built-in Windows Web Application Gallery."

    Support Operating Systems: Windows 7, Windows Vista, Windows Vista SP1, Windows XP SP2+, Windows Server 2003 SP1+, Windows Server 2008, Windows Server 2008 R2.

    Saturday, August 21, 2010

    Book: Pragmatic Thinking and Learning
    Refactor Your Wetware

    by Andy Hunt (Pragmatic Programmers)

    Free chapter online:
    Journey From Novice to Expert

    Use the Dreyfus Model on the road to expertise:

    Stage 1: Novices


    Novices have little or no previous experience in this skill area. By “experience,” I mean specifically that performing this skill results in a change of thinking...
    They can, however, be somewhat effective if they are given context-free rules to follow, that is, rules of the form “Whenever X happens, do Y.” In other words, they need a recipe.

    Stage 2: Advanced Beginners


    Once past the hurdles of the novice, one begins to see the problems from the viewpoint of the advanced beginner. Advanced beginners can start to break away from the fixed rule set a little bit. They can try tasks on their own, but they still have difficulty troubleshooting.

    Stage 3: Competent


    Competent practitioners can now develop conceptual models of the problem domain and work with those models effectively. They can troubleshoot problems on their own and begin to figure out how to solve novel problems—ones they haven’t faced before. They can begin to seek out and apply advice from experts and use it effectively.

    Stage 4: Proficient


    Proficient practitioners need the big picture. They will seek out and want to understand the larger conceptual framework around this skill. They will be very frustrated by oversimplified information.

    Stage 5: Expert


    Experts are the primary sources of knowledge and information in any field. They are the ones who continually look for better methods and better ways of doing things. They have a vast body of experience that they can tap into and apply in just the right context.

    SW Paradigms: Waterfall, Agile, Craftsmanship

    Software Manifesto Paradigm Shifts:
    Waterfall, Agile, Craftsmanship

    I have combined "Manifesto for Software Craftsmanship"
    with "Agile Manifesto" (see both at the end of this text)
    to present natural evolution of software development processes.

    WaterfallAgileCraftsmanship
    3. comprehensive documentation2. working software1. well-crafted software
    1. following a plan4. responding to change2. steadily adding value
    4. processes and tools1. individuals and interactions3. community of professionals
    2. contract negotiation3. customer collaboration4. productive partnerships


    In addition, I have extended the evolution metaphor
    to "maturity models" (you => I => we), well known in psychology,
    and popularized by book "7 Habits of highly effective people".
    "Agile" principles are described in contrast with pre-Agile ("Waterfall"),
    and "Craftsmanship" principles are described in contrast with Agile.

    The order of principles has changed, I have added numbers in the table to show original priority. For "Waterfall" order of priorities, I am sure pre-Agile practitioners would have opinion of their own.

    Now, those "levels of thinking" could be related to paradigm shifts well known in psychology, and described by Dr. Stephen Covey in his seminal book "7 Habits of Highly Effective People"
    that represent maturity level of an individual or an organization.

    Dependence Independence Interdependence
    YOU I WE
    take care of me can do it myself can do it better together

    • At the beginning, a developer behaves as a child, dependent on a bureaucratic organization to do planning, monitor every step.

    • By accepting Agile principles, a developer becomes independent, able to solve problems on his/her own in efficient way.

    • Finally, at Craftsmanship level, it accepts ultimate response-ability for Quality of the work, and is able to work in interdependent effective teams to produce worthy results in a synergistic way!
    This progression is natural, and requires focused effort. It applies to all fields of human development, including software! There are no shortcuts, and focused practices help produce real professionals in the field.
    By extending the metaphor, we can describe "7 Habits of Highly Effective Software Developers", almost as a tutorial how to improve on Jurney from Novice to Expert described in excellent book Pragmatic Thinking and Learning by Andy Hunt, one signers of Agile Manifesto.



    Manifesto for Agile Software Development
    We are uncovering better ways of developing software by doing it and helping others do it.
    Through this work we have come to value:


    Individuals and interactions  
    over processes and tools
    Working software  over comprehensive documentation
    Customer collaboration  over contract negotiation
    Responding to change  
    over following a plan

    That is, while there is value in the items on the right, we value the items on the left more. 


    Manifesto for Software Craftsmanship "Raising the bar.
    As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. Through this work we have come to value:

    Not only working software, 
    but also well-crafted software
    Not only responding to change, but also steadily adding value
    Not only individuals and interactions, but also a community of professionals
    Not only customer collaboration, but also productive partnerships

    That is, in pursuit of the items on the left we have found the items on the right to be indispensable."



    Google makes Chrome devs dig into pockets | Reuters

    The payment must be made using Google Checkout, which links payments to a credit card, effectively creating a paper trail to the developer, or at least to the billing address and phone number recorded by the credit card company.

    On the plus side, Chrome extension developers will be able to charge for their wares when the Chrome Web Store opens for business later this year.

    Google has set the minimum price for an add-on, theme or Web app at $1.99 -- developers can continue to give away their work if they want -- and will take a 5% cut of the purchase price, along with a 30-cent transaction fee for each download and payment. A developer who charges the minimum for an extension would then receive $1.59 per download.

    Developers can charge a one-time fee or sell their software via monthly or annual subscriptions.

    Friday, August 20, 2010

    Herding Code 84: Ex-Microsoft Developer Panel with Mike Moore, Jeff Cohen, and Scott Bellware | Herding Code

    This week on Herding Code, the guys talk to Jeff Cohen, Mike Moore, and Scott Bellware about why and how they’ve moved away from Microsoft development and into the Ruby community.
    Manifesto for Software Craftsmanship

    "Raising the bar.

    As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. Through this work we have come to value:

    Not only working software,
    but also well-crafted software
    Not only responding to change,
    but also steadily adding value
    Not only individuals and interactions,
    but also a community of professionals
    Not only customer collaboration,
    but also productive partnerships
    That is, in pursuit of the items on the left we have found the items on the right to be indispensable."
    Manifesto for Agile Software Development

    We are uncovering better ways of developing
    software by doing it and helping others do it.
    Through this work we have come to value:

    Individuals and interactions over processes and tools
    Working software over comprehensive documentation
    Customer collaboration over contract negotiation
    Responding to change over following a plan

    That is, while there is value in the items on
    the right, we value the items on the left more.

    Thursday, August 19, 2010

    IEEE Spectrum: The iPad, the Kindle, and the Immutable Laws of the Marketplace

    A very nice comparison and reviews of eBook readers

    InfoQ: Graph Databases, NOSQL and Neo4j

    NOSQL (Not Only SQL) really is a very wide category for a group of persistence solutions which don't follow the relational data model, and who don't use SQL as the query language.

    In short, NOSQL databases can be categorized according to their data model into the following four categories:

    1. Key-Value-stores
    2. BigTable-implementations
    3. Document-stores
    4. Graph Databases

    Tuesday, August 17, 2010

    Best Java deal.... Twitter / Clemens Vasters:

    "Larry (Oracle CEO): 'So what's the best deal the Sun dudes ever made with Java?'
    Drones: 'Sue Microsoft and get $1.6bln?'
    Larry: 'Oh, really?'"



    Initial Thoughts on Oracle vs Google Patent Lawsuit @
    Miguel de Icaza's (Novell, Mono) web log

    Monday, August 16, 2010

    podcast Dan Grossman on Garbage Collection and Transactional Memory | Software Engineering Radio

    "This episode features a discussion with Dan Grossman about an essay paper he wrote for this year’s OOPSLA conference. The paper is about an analogy between garbage collection and transactional memory. In addition to seeing the beauty of the analogy, the discussion also serves as a good introduction to transactional memory (which was mentioned in the Goetz/Holmes episode) and – to some extent – to garbage collection."

    Saturday, August 14, 2010

    Book: TRANSCEND by Ray Kurzweil and Terry Grossman, MD
    Chapters 1-3 free online

    Ray Kurzweil is a leading futurist and inventor, actively exploring "singularity" and related ideas. This book provides very interest view on health and aging, as well as some good advices.

    The premise is that information technology is increasing its capability on exponential scale, doubling every year or two. This revolutionize many other fields, including health care.

    There are very interesting "dialogs" with authors in "year 2034", that is 25 years in the future.

    For example, on page 15 of chapter 1 (about brain and sleep) they talk about virtual reality by means of "nanobots" floating in bloodstream of brain...

    There is also a description of a useful problem-solving technique while you sleep, starting on page 23...
    Visual Studio LightSwitch | Microsoft® Visual Studio®

    A new set of tools from Microsoft, for building business applications.

    Based on Silverlight and RIA services.

    Will be shopped a level of Visual Studio, between "Express" and "Pro"

    LightSwitch links
    Microsoft WebMatrix

    "WebMatrix is everything you need to build Web sites using Windows. It includes IIS Developer Express (a development Web server), ASP.NET (a Web framework), and SQL Server Compact (an embedded database)."

    Microsoft "all-in-one" package for deploying simple web apps

    WebMatrix links

    Wednesday, August 11, 2010

    HP WebOS trouble
    HP preps Android e-reader as WebOS tablet pushes to 2011 - News - Linux for Devices

    "Palm Pre designer exits in wake of CEO resignation

    Peter Skillman, the lead designer on a team that created the Palm Pre smartphone has left the company, says a story in our sister publication, eWEEK.

    After HP purchased smartphone-maker Palm in July, Skillman was the final remaining member of the Pre design team, which had been assembled by then-Palm CEO Jon Rubinstein. Other members of the team have also departed for various ports of call over the last few months, says the story.

    Matias Duarte, who led development of the WebOS UI team, exited in June to join Google’s Android team. Michael Abbott, who left Palm in April, is now Twitter’s vice president of engineering, and Mike Bell, who had joined Palm from Apple, left HP last month to join Intel, says eWEEK.
    Devices

    Windows for Devices

    Linux for Devices

    Monday, August 09, 2010

    podcast: CometD project, websockets
    IT Conversations | Technometria with Phil Windley | Greg Wilkins

    Greg Wilkins, CTO of Webtide, the main developers of Jetty, discusses the ins and outs of so-called "long polling" or "server push" techniques and the technologies and projects that make them practical. Greg talks about the CometD project, websockets, and some of the problems these technologies solve. Just like AJAX before it, server push will open up new opportunities to create richer Web applications.
    Kurzweil Accelerating Intelligence

    The “AI” in KurzweilAI refers to “accelerating intelligence,” a core concept that underlies the exponential growth of the pervasive information-based technologies — both biological and machine — that are radically changing our world. These include biotechnology, nanotechnology, molecular electronics, computation, artificial intelligence, robotics, neuroscience, physics, Internet, energy, electronics, pattern recognition, virtual reality, human brain reverse engineering, and brain and body augmentation. The leading visionaries represented on this site cover these and other topics, and examine the trends that are profoundly impacting science, economics, the arts, politics, government, warfare, medicine, health, education, disabilities, behavior, and society.
    "The Singularity is Near", a movie by RAY KURZWEIL




    podcast interview with Ray Kurzweil by Dr. Moira Gunn, @TechNation

    Sunday, August 08, 2010

    Visual Guide to NoSQL Systems - Nathan Hurst's Blog

    there are three primary concerns you must balance when choosing a data management system: consistency, availability, and partition tolerance.

  • Consistency means that each client always has the same view of the data.
  • Availability means that all clients can always read and write.
  • Partition tolerance means that the system works well across physical network partitions.

    According to the CAP Theorem, you can only pick two.


    Microsoft Azure Table is missing from the picture. That is a strongly, not eventually, consistent storage, apparently to simplify programming.

    "Just say NoSQL" - SD Times
  • Saturday, August 07, 2010

    Microsoft WebMatrix

    WebMatrix is everything you need to build Web sites using Windows. It includes IIS Developer Express (a development Web server), ASP.NET (a Web framework), and SQL Server Compact (an embedded database).
    New Embedded Database Support with ASP.NET - ScottGu's Blog

    SQL CE 4.0 (Beta)

    SQL CE works with existing .NET-based data APIs, and supports a SQL Server compatible query syntax. This means you can use existing data APIs like ADO.NET, as well as use higher-level ORMs like Entity Framework and NHibernate with SQL CE.

    SQL CE does not require you to run a setup or install a database server in order to use it. You can now simply copy the SQL CE binaries into the \bin directory of your ASP.NET application, and then your web application can run and use it as a database engine.


    http://blogs.msdn.com/b/sqlservercompact/
    Introducing IIS Express - ScottGu's Blog

    IIS Express combines the best characteristics of IIS7 and Cassini, and will make it easier to build and run ASP.NET sites and applications.

    IIS Express will work with VS 2010 and Visual Web Developer 2010 Express, will run on Windows XP and higher systems, does not require an administrator account, and does not require any code changes to use. You will be able to take advantage of it with all types of ASP.NET applications, and it enables you to develop using a full IIS 7.x feature-set.
    Drizzle

    A Lightweight SQL Database for Cloud and Web

    The Drizzle project is building a database optimized for Cloud and Net applications. It is being designed for massive concurrency on modern multi-cpu/core architecture. The code is originally derived from MySQL.
    IronJS : JavaScript in .NET

    A non-Microsoft implementation of JavaScript (ECMAscript) on DLR/CLR (.NET dynamic languages runtime), apparently written in F#.

    JScript.NET is original Microsoft's implementation of JavaScript on CLR, not DLR
    and JScript.NET does not appear to be actively developed anymore.
    http://en.wikipedia.org/wiki/JScript_.NET
    JScript .NET scripts are not interpreted, but executed independently. When executed, a JScript .NET application will invoke the CLR

    Performance of IronJS appears to be very good, maybe even better than Google V8 engine.

    http://ugh.cc/ubench-ironjs-f-jit-vs-v8-vs-tracemonkey/

    Friday, August 06, 2010

    AMD's Six-Core Phenom II X6 1090T & 1055T Reviewed - AnandTech

    AMD vs Intel CPUs, multi-core detailed comparison and reviews
    Proposal Progress - Area 51 - Stack Exchange

    A web site for creating new "community" Q&A web sites, based on very successful "StackOverflow" platform and idea.

    Apparently there is already 20 people developing the platform backed by venture capital money...

    podcast:
    Herding Code 87: Jeff Atwood on Area 51 and Stack Overflow

    Thursday, August 05, 2010

    WEI Share
    "We Share - A community of windows experience scores"

    Windows 7 performance measures, called "experience indexes"
    measured on various hardware configurations...
    NHibernate Forge

    This site has links to NHibernate related projects.

    NHibernate is a mature, open source object-relational mapper (ORM) for the .NET framework. It's actively developed , fully featured and used in thousands of successful projects.

    Compared with Entity Framework (second version, called "4" shipped with .NET 4)
    NHibernate has support for many more database types...

    Hanselminutes podcasts

    Monday, August 02, 2010

    node.js

    Server side JavaScript framework, based on Google (Chrome) V8 engine.

    It apparently has better performance that many server side frameworks,
    including Ruby on Rails and PHP.