Thursday, December 2, 2010

Dec mtng of St Louis MS BI Group

Erika Bakse (twitter | blog) gave a good presentation. I took some random notes:

Tuples: Location, Location, Location

e.g., Four dimensions Workbook, sheet, column, row
'[Bikes.xlsx]'Sales 2008'!$B$2

two dimensional grid
Mountain-200 Black, 1/1/2008 bucket has a value of $66,xxx

adding dimensions to your tuple makes your buckets smaller
removing dimensions has the opposite effect

Basic Set Theory
Union, Intersect, Difference, Transform, Project

domain and range of a function

Identities ... cf. DeMorgan's laws

Advanced Set Functions in MDX: Generate
acts like mathematical function f:A->B
transforms elements of A into elements of B
takes each product member from the first set, finds its parent member, then unions all the parents together


Advanced Set Functions in MDX: Extract
removes dimensions, which makes buckets bigger
acts like mathematical projection
f:(X x Y) -> X

first set take sthe cross join of Bikes & Countries and returns those tuples that have a nonempty sales amount
extract function returns just the country members - eliminates the [Product].[Category].[Bikes] member from all the tuples

MDX Essentials by William Pearson

------------------------------------
Clayton Groom (twitter | skydrive) gave a great presentation and demo as well.

Did a lot of demos with Microsoft SQL Server Management Studio (with Adventure Works cube).

Showed Visual Studio 2008 for building SSRS report that utilizes MDX

------------------------------------

Saturday, August 21, 2010

cool twitter 'places' feature

click image for larger view

click for larger view

I like how you can see in twitter who's tweeting near you:


It'd be cooler if it were powered by Bing Maps rather than G maps.

Friday, August 20, 2010

stldodn - Intro to Microsoft Business Intelligence

Dean Furness gave an excellent presentation on Microsoft Business Intelligence.

Excel Services allows dashboarding even without PerformancePoint

Excel Services allows multiple people to simultaneously edit Excel spreadsheet, without having Excel client installed on individual desktop

SQLServer
mdf primary data file Program Files ... MSSQL ... DATA
accompanying ldf file
load data, it allocates space, ...

Use SQL Server Management Studio to access data, don't access data files directly

cube is installed in (view it in Windows Explorer) Microsoft SQL Server ... / OLAP / Data
cube data has "*.dim" files ...
cube - different architecture for same data
when denormalize data for performance, changing structure ... similar for cubes ...

with SQL Server Management Studio pivot tables, drag and drop quickly to create slices of data
cube data architected for high speed performance reporting
use Excel (not MDX, no TRANSACT-SQL) ...
cube, structured differently, gives opportunity for drag-n-drop ...
trusted data built for high performance and reporting ...

Excel "Data" tab ...
ODC office data connection file ... stored in SharePoint ...
From Other Sources
from Analysis Services cube ...
instead of "From Other Sources" use "Existing Connections" to get from SharePoint site
bring into pivot table env in Excel ...

Excel as a report authoring tool ...

cube set of information that connects to data that's already out there

create a view on cube ... with Visual Studio and BIDS

save Excel to SharePoint ... saving can kick off a workflow to get ppl to approve it before it gets published ..
get ppl to stop attaching docs to emails

Excel Services - example
1) creates Excel with Excel 2010 on his desktop (thick client)
then thin client:
2) I go to SharePoint to open it ... I don't have Excel installed ... opens directly in my browser within SharePoint
view only mode ... office web applicaton, so "Edit in Browser" ... basic ribbon ...

status bar "1 person editing" ... last one to make a change wins

cube is data platform .... security ... multiple apps can access it

slicers ...Excel dashboard ... remove pivot table floating window... built on multiple pivot tables ...

every time click, running a query against cube ...

one axis months; categories;

Options ... Slicer

instead of 'IT, build me a report, show me where the data connection (and cube) is, and I'm empowered to do it..."

mixed mode SharePoint ... 5000 users use free SharePoint, buy 250 for ppl who need dashboards

office web apps, edit in browser is new in SharePoint 2010


PerformancePoint Services
healthcare demo

Balanced Scorecard

Financial Dashboard -- drill down, click and run another query ...


cube is development effort

first:
business and use case identification and translation
interface and navigation design when click, what shows up ... what shows up next ...
second:
technology
MDX (akin to Transact-SQL), t-sql, .NET


Book "Informaton Dashboard Design" The Effective Visual Communication of Data Stephen Few @OReillymedia
logo does not go in top left corner
top left corner is most important

lines, bars, grids ... try to get users to not scroll ...


SQL SERver 2008 Analysis Services Step by Step Scott Cameron

SQL Server 2008 MDX Step by Step ... Bryan C Smith

microsoft.com/bi -- tons of videos ...

get IT folks to add value to business community ... bus comm to be self-serving ...

StL Microsoft BI users Group ... Wed Aug 25 12:30 - 4PM ...

Thursday, August 19, 2010

St. Louis Atlassian User Group - First Meeting

At St. Louis Atlassian User Group mtng, Contegix is showing X DocBot and Atlassian's JIRA Studio.

Used for project & security management.

Showed Atlassian Crowd product.

Powerful JIRA workflows.

Monday, June 28, 2010

OData

Christopher DeWeese gave an excellent presentation on OData tonight at St. Louis .NET Users Group.

He mentioned SharePoint 2010 supports OData. So I found a couple of links:

Every SharePoint 2010 server is a Data Services server (blogs.msdn.com/b/pablo)

REST and SharePoint 2010 Quick Start Guide: The Open Data Protocol

Add Spark to Your OData: Consuming Data Services in Excel 2010 Part 2 (blogs.msdn.com/bethmassi)

notes on SharePoint 2010 Tools in Visual Studio 2010 at stlsug June 2010

Becky Bertram's SharePoint 2010 Tools in Visual Studio 2010 presentation on Jun-08-2010 at St. Louis SharePoint User Group was really well-presented and insightful:

Main takeaways: Visual Studio 2010 has many new features related to SharePoint 2010, making it easier to be productive in the development environment. The Feature Upgrading, sandboxing, and easier & enhanced debugging are some of the useful new features. SharePoint assets live on the filesystem, database, and the GAC, and projects in Visual Studio for SharePoint give a unified view into all assets.

Details:
Solution Package structure, files not changed from SharePoint 2007 to 2010. Visual Studio 2008 can be used to create SP 2010 solutions, but it's more work.
Visual Studio 2010 can be used to create SP 2007 solution package, but it's not recommended.
Microsoft says one can use Windows 7 to run SharePoint and create solutions with VS 2010, but her preference is to always use a VM of Windows Server 2008.

Solution Package is essentially cab file with wsp extension enabling the systematic
deployment and retraction of assets. The solution package gets added to the
Solution Store via PowerShell command:
stsadm -o addsolution
Solution Manifest xml file directs SharePoint 2010 where to place files on file system; adds safecontrol element in web.config file.

Farm vs Sandbox Solutions scoped at farm level generally run in the IIS worker process (w3wp.exe) and require an admin to deploy. Sandbox solutions run in SPUCWorkerProcess.exe, require site collection admin to deploy, and code has access to API at Site Collection level and lower (SPFarm, SPWebApplication not available).
There's enhanced multi-tenancy features
in SharePoint 2010. An admin can lock down system resources available to your solution, and when exceeded, your solution is retracted (and, optionally, redeployed and activated on schedule at midnight).

Feature - unit of functionality; can have dependencies on other features; and feature
dependencies can be daisy-chained. can be activated and reusable. Events
in features' life:
installed, activated, uninstalling, deactivating, upgrading event
receivers can be coded for these events. Note that the "-ing" receivers
hand event (to your code) before the event, while the "-ed" receivers hand
event after the event. For example, when SharePoint is deactivating a
feature, it might remove many lists from the site, so your code can check
permissions and cancel the deactivation.

Feature Upgrading new in SharePoint 2010 Adding additional features to a
Content Type. This could be painful in SP 2007. With this feature upgrading
in SP 2010, it's easy to bring older features up to a state of consistency
with newest solution. There's a good example in the SDK. See also
Upgrading Features.

There's a feature manifest file. This directs SharePoint to serialize the
file and store in SQLServer db.

Declarative vs Imperative programming. declarative is XML schema and XML,
where SharePoint instantiates objects as they are declared in the XML.
Imperative is using the SharePoint APIs, e.g., SPField, SPContentType,
SPList, SPListItem. There's a lot of discussion around which is 'better'
and it's analogous to 'which is a better route to take to downtown St.
Louis?' - there are many ways to solve the problems in SharePoint.

SharePoint tools now come standard with Visual Studio 2010; no need to
install SharePoint related extensions after installing Visual Studio 2010.

A walkthrough in Visual Studio 2010 of creating field, editing its XML file;
content type; list definition (beware scoping as it relates to the add list
instance for this list definition checkbox, which is checked by default);
add new list instance.
If you create a visual web part, know that it can't be deployed as sandbox
solution; only compiled web part can be deployed as sandbox solution.

The Feature Designer is a nice new tool in Visual Studio 2010 allowing you
to graphically edit the XML. There's also, within Feature Designer, the
ability to hand-edit the XML, while it simultaneously validates it.

One can add custom icons to one's featuers, so they're more readily
recognizable in browser in the SharePoint features gallery. Use the 'Add
Mapped Folder' feature in Visual Studio 2010. See pg 14 of A SharePoint Developer Introduction Hands-On Lab

As an example of adding code for the aforementioned Feature Deactivating
event:
using ( xxxxx ) { // always use using so as to dispose of objects; mem
mgmt
web.lists("vegetables").Recycle(); // will place into SP Recycle bin
}


In a Visual Studio 2010 project properties, right click the project itself, bring up 'properties.' context menu, and in the project's properties is a new "SharePoint" tab, where one can Edit Configurations and give predeployment command, post deployment command, etc. Since sometimes we want to deploy but not activate features (since features often must be activated in certain order), this tooling is available in Visual Studio 2010.
One can also direct SharePoint to retract the solution when we're done debugging it. With SharePoint 2007, to debug, we'd have to attach to IIS process itself (leading to timeouts, etc.), but with SharePoint 2010 feature receivers attach to timer job processes which makes debugging much nicer.

Tidbits / Misc:

"14 hive" terminology in SharePoint 2010. See SharePoint 14 hive directory structure

SharePoint 2010 is using .NET 3.5. Since .NET 4.0 was concurrently under development, the SharePoint team used .NET 3.5. One can set one's solution in VS 2010 to target .NET 4.0, but SharePoint will not use .NET 4.0 new features. We can make use of Silverlight 4.0.

There's an 'Import Reusable Workflow' feature in Visual Studio 2010 which enables importing SharePoint Designer workspace into Visual Studio 2010. Becky advises against this.

Slide deck is available at
http://blog.beckybertram.com/Lists/Posts/Post.aspx?ID=99

Thursday, April 29, 2010

Dot Net Rocks road tour - St. Louis report

I attended this dotnetrocks.com/roadtrip.aspx here in St. Charles tonight. It was entertaining and fun.

The silverlight.onterrasys.com/dnr_roadtrip site they are using is quite cool. (When I visited this site from home (Windows Vista and IE8), I had to upgrade Silverlight version; it was easy)

Kate Gregory was there and she was a good speaker. She mentioned something in passing about Fitt's Law.

Richard walked through something akin to Creating and Running a Load Test Containing Web Performance Tests and it was informative and good. He talked about relative tests and scaling tests. He mentioned webpagetest.org 12 threads by default per core... bytes in heap vs requests queued ... emergency gc --> all requests get queued ... on a 32 bit OS, 800MB heap max with .NET ... can compile as 32-bit and run on 64-bit on a machine with 8GB RAM and this gives you 4GB heap for worker process.

Mentioned that every 25 hours (by default) the IIS worker process is configured to restart.

Carl's presentation on silverlight was pretty cool. Check out silverlight.net and libra.franklins.net/RoadTrip01.wmv


One of the sponsors of the dot net rocks road trip is Telerik.

Monday, April 12, 2010

Visual Studio Team Edition for Software Testers

The Microsoft presentation on High Speed, Low Drag: Driving Application Quality with Minimal Friction tonight was fun. It was given by Mark Mydland from Microsoft.

He presented with Windows 7 and Visual Studio 2010.
A few notes I took during interesting parts of the presentation:
theory of constraints
fix bugs - all bugs - before adding new features.
what does CodeComplete mean?
unit test only validates what I as developer think the code does; still need another set of eyes.
He showed a few slides of "Ellen the vigilant tester"

A guiding principle he uses in his group, where it's a ratio nearly of one tester per developer: is the customer going to be delighted

need to communicate well what's in the build

actionable bugs - capture clickstream & environment info

I liked the story / parable he told about Qa / developer interaction. When playing table tennis with his daughter, he can return the ball like a father (nicely) or like a master table tennis champion, whereby the ball is hit at the highest possible velocity and jumps off the table and is hidden in a crevice of the wall so that it can't be found for a few days, enabling me to go off and do more coding. More often than not, it's better to be the fatherly table tennis player.

pathological bug - only a crazy person wuld have done that ...

IntelliTrace. This looks like a really cool feature. managed code only; can do it with unmanaged code, but have to instrument the binaries first.

developers have abdicated responsibilities in delegation of quality to QA

agile testing quadrants

some say they're doing agile but no unit testing, not continuous integration, not peer programming! Agile is about discipline and quality.

----------------
I got a cool t-shirt at the event. It's a Visual Studio t-shirt with words across the chest, "are you looking at my code?"

Also, there was a flyer for 40% off of a good book. "Professional Application Lifecycle Management with Visual Studio 2010"

Wednesday, March 3, 2010

gpars ... and FindBugs, CheckStyle, etc.

I attended, at Gateway Groovy, the last half or so of Alex Miller's talk on gpars.
The little bit of the talk on ParallelArrayUtil was good.
His code example is at github.com/puredanger/gpars-examples
In the Q&A portion, Scala Akka was mentioned.

In Darryl Parks presented a good presentation and talk at the Gateway JUG. It was on FindBugs, PMD, CheckStyle, Sonar and XRadar.

He mentioned two good books:
Code Complete
Clean Code

During Q&A, appsight was mentioned as a good but expensive product for run-time code problem detection. Jack mentioned a problem he and a team looked into; they over-anticipated that the performance problem was with web services, when in fact it was with XPath.
Also, jester was mentioned as a good mutation tester; something with which you can test your junit tests.

Upcoming talk will be on JPA 2.0 (and it including hibernate criteriaquery).

Monday, January 25, 2010

excellent .NET SOLID presentation

Sorry I was a little late for Chris Deweese's excellent presentation tonight at StlNET.

random notes from Java quiz night at StL Java User Group

Some of my notes after having participated in StL Java User Group Java Quiz
java.io
Interface Closeable

I learned that class file 'magic number' is CAFE BABE

java.sql.DriverManager !

execute, executeQuery, executeUpdate and executeBatch on Statement.

ListIterator

name three methods of java.util.Arrays

java.util.concurrent.atomic.AtomicInteger

java.util.concurrent
Interface ScheduledExecutorService

Java 7's JSR 292

javax.persistence
Interface EntityManager

Tuesday, January 5, 2010

What's New in Spring 3.0

Saw Jack Frosch's presentation tonight (at Gateway JUG) on What's New in Spring 3.0. Good stuff.

Grails tech talk

I attended Dave Klein's Grails talk tonight at GatewayGroovyUsers. It was pretty good. I learned a little bit about GSP and Grails dynamic instance methods.

They mentioned these are two very good books:
The Definitive Guide to Grails, Second Edition
Grails: A Quick-Start Guide