Saturday, March 27, 2010

2010-03-27 Saturday - Gen'ing XML from XSD

I spent a little time today researching tool alternatives to Altova XMLSpy for generating sample XML from XSD definitions.

The Eclipse XML/XSD editor provides the ability to generate XML - but it appears to have some limitations - it only generates an example for the first element it finds in the file.

Here are few other resources:

oXygen XML Editor

WMHelp.com - XMLPad

http://www.w3.org/XML/Schema

XML Schema Definition Tool (Xsd.exe)
http://msdn.microsoft.com/en-us/library/x6c1kb0s.aspx

XML in .NET Generating XML Documents from XML Schemas
http://msdn.microsoft.com/en-us/library/aa302296.aspx

2010-03-27 Saturday - Excel Tutorials

A friend asked for suggestions on some links to tutorials on advanced functions in Microsoft Office Excel. Here are a few resources I found after a quick search:

http://spreadsheets.about.com/


Excel Conditional Formatting
http://spreadsheets.about.com/od/advancedexcel/tp/090822-excel-conditional-formatting-hub.htm

Microsoft Excel 2007 Tutorial - Advanced Formulas
http://www.mstipsandtricks.com/tips-and-tricks/ms-office-tips-and-tricks/ms-excel/ms-excel.html


http://www.mstipsandtricks.com/tips-and-tricks/ms-office-tips-and-tricks/ms-excel/advanced-formulas.html



Advanced Excel Tutorial
http://www.ehow.com/topic_2573_advanced-excel-tutorial.html


http://www.lacher.com/toc.htm

Sunday, March 07, 2010

2010-03-07 Sunday - Misc. Resources Found

I installed the Pydev Eclipse plug-in today:
http://pydev.org/download.html

Python IDE for Eclipse, which may be used in Python, Jython and IronPython development.

It comes with many goodies such as:

* Code completion
* Code completion with auto import
* Syntax highlighting
* Code analysis
* Go to definition
* Refactoring
* Mark occurrences
* Debugger
* Remote debugger
* Tokens browser
* Interactive console
* and many others...


After installing Pydev, I discovered that there was a keyboard accelerator binding conflict between

Binding(CTRL+SHIFT+T,
ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type,
Open a type in a Java editor,

Binding(CTRL+SHIFT+T, ParameterizedCommand(Command(com.python.pydev.analysis.actions.pyGlobalsBrowserWorkbench,Python Show Class Browser,
Show Class Browser,


resolution: I simply removed the Pydev binding that was defined for the Window scope.

Tulip Graph Visualization Software
http://tulip.labri.fr/TulipDrupal/

Tulip is a software system dedicated to the visualization of huge graphs. It manages graphs with up to 500,000 elements (node and edges) on a personal computer (PIII 600 with 256MB RAM). The Tulip architecture provides the following features: 3D visualizations, 3D modifications, plugin support, support for clusters and navigation, automatic graph drawing, automatic clustering of graphs, automatic selection of elements, and automatic coloring of elements according to a metric.

The research by the information visualization community shows clearly that using a visual representation of data-sets enables faster analysis by the end users. Tulip, created by David AUBER, is a contribution of the area of information visualization, “ InfoViz ”. Even if the Tulip framework allows the visualization, the drawing and the edition of small graphs, all the parts of the framework have been built in order to be able to visualize graphs having more than 1.000.000 elements. Such a visualization system must draw and display huge graphs, allows the navigation through geometric operations as well as the extraction of subgraphs and the enhancement of the results obtained by filtering.
The Tulip architecture provides the following features :

* 3D visualizations
* 3D modifications
* Plug-in support for easy evolution
* Building of clusters and navigation into it
* Automatic drawing of graphs
* Automatic clustering of graphs
* Automatic selection of elements
* Automatic Metric coloration of graphs


Visifire
http://visifire.com/
Visifire is a set of data visualization components powered by Microsoft Silverlight. It lets you create and embed visually stunning animated Silverlight Charts within minutes. Visifire is easy to use and independent of the server side technology. It can be used with ASP, ASP.Net, PHP, JSP, ColdFusion, Ruby on Rails, or just simple HTML. Visifire's unique features are visually stunning animated charts, the ability to be embedded into any Web page in minutes, a tiny footprint (140 KB), and enterprise grade features.


docondev.blogspot.com > Contributing to a project you find on GitHub

2010-03-07 Sunday - Functional Programming Tutorials

I had a discussion two weeks ago with a fellow architect - and he asked for suggested areas to dive into to expand his professional development, I suggested that Functional Programming would be my first suggestion (with Scala, F#, Python, Erlang, Haskell being possible languages to consider adding to his repertoire).

My good friend, Dean Wampler, PhD, is the co-author of Programming Scala - an excellent book on Scala and Functional Programming



2010-09-24: Also, see a recent slide deck Dean uploaded: 
http://www.slideshare.net/deanwampler/seductions-of-scala


Bill Venners, who I had the pleasure of meeting at QConSF 2009, was kind enough to provide me with a copy of the book he helped co-author: Programming in Scala: A Comprehensive Step-by-step Guide


Apress Publishing was kind enough to provide me with copy to review of David Pollack's excellent book: Beginning Scala

(I also had the pleasure of meting David at QCon).


If you happen to ever have a chance to hear Josh Graham and/or Amanda Laucher speak on F# - do not miss it. I had the pleasure of hearing them speak at QCon 2009 in San Francisco.


I spent a little time last night looking for some interesting Functional Programming tutorials and found a few that I want to save for future recommendation to others:

In particular, I found Richard Bird's paper very interesting:

FUNCTIONAL PEARL, A program to solve Sudoku, by Richard Bird, Programming Research Group, Oxford University
http://www.cs.tufts.edu/~nr/comp150fp/archive/richard-bird/sudoku.pdf

An interesting blog post by Bosco on the direct practical application and utility of Functional Programming in the bio-informatics domain:
Our Parallel future: an introduction to functional programming
http://boscoh.com/science/our-parallel-future-a-introduction-to-functional-programming

David Jones ("Code Monk") PyCon UK presentation: Introduction to Functional Programming in Python
http://drj11.wordpress.com/2007/09/10/introduction-to-functional-programming-in-python-slides/

Dr. Dobbs > January 2010 > Introduction to Functional Programming

http://www.drdobbs.com/windows/222200479?pgno=1

Introduction to Functional Programming
COMPUTER SCIENCE AND ENGINEERING - Chalmers University of Technology and University of Gothenburg
http://www.cs.chalmers.se/Cs/Grundutb/Kurser/funht/index.html


Haskell Introduction
http://www.haskell.org/haskellwiki/Introduction


Functional Programming HOWTO
http://www.amk.ca/python/writing/functional



Python v3.1.1 documentation » Python HOWTOs » Functional Programming HOWTO
http://docs.python.org/3.1/howto/functional.html


CS 254: Introduction to Functional Programming, a course offered by Fritz Ruehr at the Computer Science Department of Willamette University.
http://www.willamette.edu/~fruehr/254/


The Code Project > Introduction to Functional Programming using F# - Part 1
http://www.codeproject.com/KB/net-languages/intro_functional_fsharp.aspx


Alan Guald's Functional Programming Tutorial
http://www.freenetpages.co.uk/hp/alan.gauld/tutfctnl.htm

Introduction to Functional Programming in C#, by Matthew Cochra

http://www.c-sharpcorner.com/UploadFile/rmcochran/IntroductionToFunctionalProgramming01122008083909AM/IntroductionToFunctionalProgramming.aspx


Introduction To Functional Programming with Scheme
http://docondev.blogspot.com/2010/01/introduction-to-functional-programming.html

University of Cambridge, Computer Laboratory
Introduction to Functional Programming (1996/7), John Harrison
http://www.cl.cam.ac.uk/teaching/Lectures/funprog-jrh-1996/


Introduction to Functional Programming (1997/8), John Harrison
http://www.cl.cam.ac.uk/teaching/Lectures/funprog-jrh/

http://www.cl.cam.ac.uk/teaching/Lectures/funprog-pag/



CSE536 Introduction to Functional Programming, Home Page
http://web.cecs.pdx.edu/~sheard/course/funprog/index.html

Summer School and Workshop on Advanced Functional Programming, St Anne's College, Oxford

http://people.cs.uu.nl/johanj/afp/afp4/