Archive for February, 2010
This post continues the series on the Data Warehouse, product retirement project I’m currently leading. The previous post in this series was Descending Into Microsoft Analysis Services.
Update – Where We Have Reached
- The Analysis Services Object model traversing program has made a migration to a Windows Forms Tree Viewer. The program is a “lazy” evaluator, in that it only traverses an object (or collection) when the user selects the type. This makes the thing pretty quick to use. It is also all driven by reflection, so in theory could be applied to any object structure. That is a feature which I’ve not implemented, but I may do some time in the future. I should probably should refactor the code and make a subclass of the TreeView with the reflection code as a “custom control”.
- The define a “Cube” from the XML, and SQL Tables, is working well. A couple of refinements, have been made to it. These have included:
- Getting the display order working better. It’s not perfect, in that to do that we would need to add a presentation order column to all of the SQL tables which are used to build the dimensions.
- Reusing dimensions across “Cubes” which are built from the same SQL table. One little step forward for better data management. There still is a long way to go with improving the data management. But, almost all of those improvements will have to come in subsequent projects.
- The data comparer has progressed, but taken a detour. I’ll cover that in the “dancing goal posts” section (next).
Dancing Goal Posts
There are, or have been, a couple of “extra” requirements for the project. These have included:
- A “data salvage” aspect to the project. There are a number of years worth of data which we are going to salvage from the existing system. Hence, the data compare function, has taken on board an extra requirement to extract all of the base data from the existing data. This is a detour which may lead to a couple of choices needing to be made. These choices are:
- To pour all of the data into one “Cube”. This exposes a number of issues:
- The “cookie cutter” which builds the SSAS cubes would need to be enhanced to add a time dimensions (to hang the different “cubes” of data from).
- There could be revision to the data, which has resulted in different “cubes” being created. Developing a dimensional model which caters for this as well could be a “bridge too far” for this project.
- There have bee changes to the dimensions over time. These changes have just resulted in different “cubes” with different labels sets, in the old system. Building up an approach which implements “Slowly Changing Dimensions”, again could be a “bridge too far” for the project.
- My Analysis Object Viewer many well need some enhancements. To get a better understanding of the scope of the dimensional issues, which are mentioned above. These enhancements could include:
- Creating a cube for each of the salvaged datasets. This would be done by the existing “cookie cutter” we have for creating “Cubes”
- Building something visual to show the dimensionality of each of the cubes. Would need to get into something which gets me a “table like” view of the dimensions. Would need to have hierarchy, and code set information as well. Probably a big job. Or,
- Build something which selects the set of cubes, then uses LINQ over the object model to determine the following:
- Sets the “time 0” cube then runs time forward from there.
- Identifies “New Dimensions”. These would be dimensions which did not exists in the”time 0” Cube.
- Identifies Changed Dimensions. There are a number of classes of change which will need to be detected. These include:
- New Codes, or Labels
- New Levels
- Different Hierarchy
- Differences in the Key pointing to a Label.
- The data presentation layer for the project needs to be sorted through. There are a number of alternatives here which include:
- Excel, and the Pivot table. I’ve already pointed Excel at some of the Cubes we have built. They did work OK. I’m not sure how good an Excel solution will work with some of the low bandwidth sites that this solution will need to support. Hence, the next couple of alternatives.
- SharePoint, with the Excel parts. I’ve never explored how this works, so it will be a “voyage of discovery”. This solution has a number of the benefits:
- it may work better in the low bandwidth sites,
- it may allow delegation of the management of the security of the cubes to clients,
- it may provide a better environment for doing “big” analysis jobs.
- SharePoint, with PowerPivot. A new thing from Microsoft. I’ve yet to see it in action. So, I’ve no idea what it gives above and beyond standard Excel functions.
- Reporting Services. This may need to be part of the mix, just for the routine reporting requirements, or maybe more wide spread. Again, sight unseen, I’m not sure what this will give to the mix.
This is an ongoing “voyage of discover”. I’m positive about the prospect of getting something which satisfies the “project brief”. What will need to be done in the future is something which we will have to put on the “to do list” for sometime in the future.
|Patch Number||Patch Grouping||Patch Name|
|P005||Blues||Deluxe + boost|
|P009||Blues||Early UK Blues|
|P013||Soul Funk||Tight Comp Clean|
|P014||Soul Funk||Delayed Twin|
|P015||Soul Funk||Groove Clean|
|P016||Soul Funk||Groove Lead|
|P017||Soul Funk||Crunchy Trem|
|P018||Soul Funk||Crunch Phase|
|P019||Soul Funk||Fat Clean|
|P029||Liverpool||Match for Chord|
|P035||70’s Hard Rock||Stack Lead|
|P036||70’s Hard Rock||Clean Reverb|
|P037||70’s Hard Rock||Rock Crunch|
|P038||70’s Hard Rock||Rock Riff|
|P039||70’s Hard Rock||Clean Vibe|
|P040||70’s Hard Rock||Deep Highway|
|P041||70’s Hard Rock||JB Lead|
|P042||70’s Hard Rock||Swamp Rock|
|P043||70’s Hard Rock||Erupting|
|P044||70’s Hard Rock||Walk That Way|
|P045||70’s Hard Rock||Texas Riff|
|P046||70’s Hard Rock||Texas Tusher|
|P047||70’s Hard Rock||Freedom Bird|
|P048||70’s Hard Rock||Rocker Bottom|
|P049||80’s Metal||Tone Journey|
|P050||80’s Metal||80s Loud MS+OD-1|
|P052||80’s Metal||Chorus Lead|
|P053||80’s Metal||MS Riff|
|P054||80’s Metal||More Than Lead|
|P055||80’s Metal||Flange Clean|
|P056||80’s Metal||Photo! Riff|
|P058||80’s Metal||Mull It Over|
|P059||80’s Metal||Broken Dime|
|P060||80’s Metal||Effected Q|
|P061||Modern Metal||Modern Higain|
|P62||Modern Metal||Solid Scoop|
|P063||Modern Metal||R-Fier Lead|
|P064||Modern Metal||Clean Theater|
|P065||Modern Metal||Bulls on Rage|
|P066||Modern Metal||Blood Reign|
|P067||Modern Metal||Down Sickness|
|P068||Modern Metal||HiGain Metal|
|P069||West Coast||Deluxe Lead|
|P070||West Coast||Long Train|
|P071||West Coast||Drive Phase|
|P072||West Coast||Chorus Twin|
|P073||West Coast||Pro Crunch|
|P047||West Coast||Reelin Clean|
|P075||West Coast||BG Delay|
|P076||Fuzz Rock||Uni-V Lead|
|P077||Fuzz Rock||60s Fuzz|
|P079||Fuzz Rock||Fat Fuzz|
|P080||Fuzz Rock||Cross in the Road|
|P081||Fuzz Rock||Wing Ballad|
|P082||Fuzz Rock||Raw Fuzz|
|P083||Fuzz Rock||Fuzz Boost|
|P092||Studio||For Acoustic Gtr|
|P103||Surf Rock||Light Fuzz|
|P104||Surf Rock||Surfing Bird|
|P105||Surf Rock||Combo Drive|
|P106||Surf Rock||Clean Solo|
|P108||Country||Driven Twin Dly|
|P114||Punk Pop||Grunge Spirit|
|P115||Punk Pop||Driven Rock|
|P116||Punk Pop||Sedated Punk|
|P117||Punk Pop||Radio Creep|
|P118||Punk Pop||Green Punk|
|P119||Punk Pop||DS Drive|
|P125||Bass||Sens Slap Wah|
Well I’m turning into a collector of guitar gear. Another guitar toy have been added to my gear collection. My latest acquisition has been a BOSS eBand JS-8 (see below).
What is it?
That’s a very good question. It’s the combination of the following:
- MP3 and WMA file player,
- A vast array of Guitar Effects. There are a number of “stomp boxes” built into the unit.
- A vast array of BOSS COSM® preamp models. Own a multitude of amplifier and cabinet combinations in a single box.
- Guitar Tuner.
- Phrase Trainer. You can select select a segment of a song to play along with repeatedly (sorry neighbours), with some cancelling capability (take out parts of the song mix).
- Record function.
- A bunch of rhythm tracks as well.
- USB (cable) connect to a PC.
- USB Memory stick to load in songs.
What do I like?
Well, the variety of the effects available is great. Playing around with them “vanilla” (as they came in the box) has been fun. Playing tracks works well. I’ve a bit of a "child trying to synchronise with the jump rope” syndrome at the present. I hope to find ways to overcome this with more practice (my wish list will follow).
The ways of getting music into machine (USB cable, and UBS memory stick) both work well. The Song List Editor, is a bit primitive, but gets the simple transfer job done.
The thing sounds great! I’ve it plugged into my Roland 30x Cube, and it sounds awesome. The Ibanez sound great through the box. But, I’ve not prompted myself to ask the question, can I get a “vanilla” (completely clean sound). I think that the answer is that you can switch off all the “stomp boxes” and just select the head and cabinet you want. That’s probably as close to the “vanilla” that you can get. (I’ll probably try and set up a set of user defined patches which do this, could be an interesting experiment).
The Wish List
There are a couple of things I’d put on the wish list at this point. These include:
- I’d love a count in on the track I’m trying to play with. Just the old band “1-2-3-4”, of maybe a snare and bass drum lead in. Something which can set the temp, and show where, and when, to start. I may have to explore getting some Digital Audio Workstation software and edit up the tracks I want to practice against.
- I’d love a visual (PC based) way to compose a patch (the effects, head, and cabinet). The files on the machine are in a format which must contain all of the information about the patch, which the system then interprets (or implements). I’ll have to have a browse around the net and see if the file format is documented anywhere. (You never know your luck in a big city). I could end up writing one for myself.
- A catalogue of the patches which came with the box would be nice to have. I may have to collate one and post it up here. You never know who else could be looking for this type of list. The names and patch number could be simple to create, the complete settings could be a bit more work.
I like it (so far). Not sure how it will grow on me, I’ll wait and see.
The creation of patches through the “twiddle the knob” method is not the most appealing. It always strikes me as the “UI the sound engineers” are happy” with so, that’s what you get. I’m more of a create a “UI which fits the users”, and I’m not a “sound engineer” (more of a software engineer).
I’ll post more into this thread as I learn, explore, and play with this new toy.