Archive for May, 2007

What Silverlight must implement in the next release

Silverlight needs a quick and easy way for non-professional developers to create style/theme-files to provide styling to Silverlight controls, whether this controls are shipped with Silverlight or are 3rd party ones created by other developers and companies.

We need this for small shops that don’t have designers and also to give developers who also have designer roles, the ability to quick an easy style controls much like many developers today style html controls using the quick and easy CSS style sheets, or perhaps using the more logical  approach that was used for creating theme files for styling asp.net controls.

This might or might not be an easy thing to implement, it all depends on how complex the particular controls looks or how many graphical objects are contained in the actual graphical representation of the control.

Perhaps the styling transformation could be performed by the Silverlight runtime and would happen just before the controls is rendered by overriding or creating look and feel properties that are specified in the particular Silverlight stylesheet/theme file.

The Silverlight “stylesheet/theme-file” could declare the look and feel of a particular control type, by declaring the control type as an XML element and then setting the graphical attributes that make sense to enable styling for that particular control type, at the moment the things that I see useful would be anything that can  apply to XAML tags to override/create the graphical experience such as colors, borders, location, opacity, etc and the ability to specify them using the level of nesting for the XAML that the controls represents or better yet using selectors to select particular element in the control tree like the way templates in XSLT stylesheet use selectors to match specific XML elements.

Currently styling existing Silverlight controls must be done programmatically or specified in the XAML, both approaches have its cons and pros. When using controls is very convenient since the controls have defaults values and the developers just need to worry about the logic behind the UI, however there are scenarios where it would be useful to quickly provide rules for styling controls in a control-by-type basis, which will allow the developer to modify and override the default graphical representation of controls to fit the needs of the project.

This will provide the developer a quick and easy way to standardized controls across Silverlight applications and also defines multiple styles for the Silverlight controls that would be used in different scenarios, any developer would beneficial from this, specially if they are able to do it right in the IDE with out the need to switch to different tool to create the quick and easy design.

Nice Intro to using LINQ to SQL

What’s better than reading about one of the coolest technology that the .NET framework 3.0 has? 

Watching an actual demo that is, In this demo you can very easy get an idea how useful LINQ is and how you could use it to speed up your development and also make your life much easier as well, by saving you time, you can use LINQ to create a more practical and descriptive data layer without writing lots of lines of SQL code, since LINQ will provide you a object model that maps to your relational database using object relational mappings. The video is short, to the point and shows you the key aspects of dealing with data access using LINQ
Get the video here

WPF is cool stuff

So I was trying out the other day the new features that are available in Windows Presentation Foundation (WPF), I really like the idea of developing and creating 3D object and scenes because it is very easy compared to what it used to be in the past, now I can construct my 3D object programmatically using code like C# or I can also define the the 3D objects in the XAML file.

In this case I started with a demo application that show some of the features of a WPF library called 3D tools, I used that as my skeleton application and build on top of that and create teh 3D object that I want to display.

I first started with a sphere where inside that sphere I  created an icosahedron, for all of the triangular faces of the icosahedron I recursively dived it into 4 more triangles and projected the new vertices into the sphere to create more triangles in my mesh,  so the more recursive calls I make then the more triangles I get in my mesh.

Finally after my desire resolution of triangles I paint every triangle with a color depending on the area of each triangle in relation to the area of all the triangles.

It sounds complicated but its pretty simple, and the application app looks pretty cool specially because the 3D tools library allows to zoom and rotate the object in my scene without me having to write that.

Sunset + the moon, in a single picture

I was looking at my old archives of pictures and I found found that I shot a long time ago, at the time when I took the pictures I didn’t seem that big of a deal but later when I saw it again it looked very impressive so I am doing sharing this one in case case you don’t have the time to look for it in one of my sunset albums for the  photo gallery. At the time I took the pictures, I was at the beach looking at the sunset, and noticed the moon but it was pretty far from the sunset horizon to get them both in a single pictures, I flip the camera 90 degrees to create the portrait shot and boom, I had the moon and the sunset both in a single picture. I am glad it came out good because it was the only pictures I took where the moon and the sunset  are in the same shot.

C# and Anonymous Types

The other day I was reading a pretty good post about anonymous types from Scott Guthrie,  the post is very easy to read and follow and the samples screens gives you a good idea of how powerful and convenient are these new anonymous types in the .NET framework, here is the link to the article.

Periodic table of visualization methods

This post comes thanks to Mark Madsen, a while ago mark posted about this web site that has a table that looks like the periodic table of chemical elements but this is about visualization methods instead of chemical elements, this one is pretty cool because it has the letters for the visualization methods, and as you hover the letters of the visualization method it also gives you an example for that particular way of visualizing data, its pretty cool to check out specially if you work with reports and would like to know other ways to graphically display data. Check it out the periodic table of visualization methods.

 

Mix 07 video

In case you didn’t have the time or the money, or both to go to Las Vegas to checkout the the Mix 07 event where web designers, Web developers, industry decision-makers and marketing professionals gather together to checkout the new technologies from Microsoft and see what’s ahead in the technology fields. To find out more about the mix go to www.visitmix.com

You can watch the the video that contains some keynotes and demos:

The videos contains:
Ray Ozzie key note
Scott Guthrie key note
How Netflix uses Silverlight Demo
Expression media encoder, expression designer, expression blend
Silverlight demos Silverlight

Mix 07 Video: 500k 300k 100k

ETL Tools

What is ETL?

ELT stands for Extraction Transformation and Loading of data from source to target. Is the process used to extract data from different data sources like databases, and data files, etc, and transforming the data using cleansing, profiling and business set of rules which then translate into a defined series of steps necessary to ensure that the data being loaded to the target system is compliant, valid and accurate to the specifics of each application.

What ETL tools do?

ETL tools execute one of the most challenging aspects in a data warehouse; the Extraction Transformation and Loading process. Their main tasks are:

  1. The discovery and connection with required information sources
  2. Extract the selected information, efficiently as specified.
  3. Transform the information from heterogeneous sources to a common architecture.
  4. Profile and clean the data according to target system constrains and business rules
  5. Load (insert or update) the transformed data into a homogeneous data source.

What happens in ETL Transformations?

The transformation procedures can be as simple as converting data types, formatting values, changing column names, eliminating bad data, correcting misspelling errors, filling missing data and so on, or they can be very elaborate based on complex rules for time dependencies, reporting errors, and data mapping and data flow paths between the source and targets can change depending on time and data values, load of data based on previous loads an the interdependencies of the data etc.

Why ETL?

The ETL process plays an important factor in the development work of a data warehouse, mainly because a large amount of time is dedicated to the design and implementation of ETL processes. In this days of information age, the large amounts of data that is generated in any business is grown faster and faster, with faster computer and faster networks, the ability to produce and record incredible amounts of transactions, or information from the many different departments in an enterprise is so overwhelming that no single person in the organization knows where are all the operational data sources for each department is; just simply putting that generating reports and comparing numbers with other departments might yield discrepancies for the same data. There fore every business needs one an only one centralize place to go for historical information of the enterprise. This type of information structure allows for smarter business intelligence (BI) which should be heart of any business because it will enable them to understand, business trends, improve decisions, support and justify daily operations

Thanks to the ETL process this centralized source of information is kept updated and synchronized with data from all the different sources across the business required for effective business intelligence.

Where is ETL used?

ETL tools can be used for data integration to integrate existing data with other differently designed and structured kinds of data, making the migration process of data less painful and this type of tools are more commonly used to extract information from mainframes and them feed (load and update) the data to an integrated data warehouse, which is typically a very large database that contains all the important historical information of an enterprise business, and it is used to facilitate better intelligent decision making trough the use of query reporting and analysis, enabling the data warehouse users to work off a single set of data and therefore obtaining a single version of the truth.

What types of ETL tools technologies exist?

There are 3 mayor types of ETL tools:

  1. The traditional ETL engine based product, which generates code within its engine to accomplish the task.
  2. ETL solutions included with the RDBMS
  3. ETL tools based on SQL generation to take advantage of the specific RDBMS optimizations

ETL tool buy or built?

If it is the first time you ever get involved in the project of developing a data warehouse, sooner or later you will have to decide whether to purchase an off-the-shelf ETL software or build your own ETL solution, and of course the best answer to this question is the typical contractor answer: it depends on your situation. Whether or not you have enough resources, time and knowledge to build your own or you prefer to deal with the operating cost of evaluating, choosing, purchasing, installing and learning the ins and outs of an ETL package. Definitely both approaches have to be carefully and meticulously analyzed using advantages and disadvantages for each option to see which solution is the best to quickly and efficiently meet the needs of your business.

Buying an ETL tool:

Advantages

- The amount of ETL development time will be drastically reduced

- Tool will come with wide range of rich built-in features

- The tool can be reused for future phases of the project, or future projects.

- The ETL rules will be more readable for easy of debugging

- Simplicity of ETL process maintenance

Disadvantages

- Increase time spend for evaluation, selection and learning of the product

- The higher cost of purchasing, training and licensing fees might be out of budget

- Because is not custom build, might not fit 100% to your needs.

Building custom ETL processes:

Advantages

- Lower financial costs of developing the home grown ETL vs. buying

- There is no training costs involved

- Is 100% specifically designed to match your needs

- More flexibility for complex data sources or transformation mappings

Disadvantages

- Time need for the development process life cycle

- Not having all the rich functionality of an ETL software package

- All the overhead involved in maintaining custom code

- Difficulty or reusability for different projects

The bottom line when it comes to ETL is that not matter how much progress and how good the ETL package has improved, it still have a higher cost of acquisition while building a custom solutions is expensive to own and maintain. Each approach has its own particularities across industries and they vary a lot depending on your requirements, sometimes is easy to spot the solution you must have and sometimes is not; just remember all time when evaluating possibilities that the general tendency is to integrate data quickly, practically, and cost effectively.

The final word on ETL

In general ETL solutions truly depend on the circumstances of your scenarios, and the best way to decide is to conduct a deep evaluation of both methods for your needs.

In my experience if you have the budged and want to reduce the number of headaches, buying the tool could be the way to go because of the speed of deployment and the reusability in other projects.

How much are you paying for gas?

I was surfing the Internet today and I ran in the gas buddy Webster, which is basically a very cool way of visualizing the gas  prices around the USA and Canada and can also help you find where is the gas cheaper near where you live, you can zoom into your city and view and even the regions are colored by county. My advise would be to use this tool with caution, not everything will be an up to date representation, the best thing to do will be to check your usual gas station to see what the price of gasoline is or ask your friends which gas station has cheaper gas and you can use both information to see which is place is more convenient to where you live.

Its also fun so see how other areas around your state are charging for gasoline using the interactive map.

Why I use Google reader

I have been using Google reader a lot lately so I compiled a list of reasons why I like Google reader, perhaps if you are not using Google reader now, you should give it a try for a few days, even if you are already using an RSS reader, try Google reader its pretty nice, specially if you are like me and like to read news from a handful of sites that you visit very often. Here is why I love Google reader:

Easy Navigation: Its pretty easy to navigate around and setting up your feeds and grouping them with tags, the navigation is very intuitive and not complicated.

User interface: the user interface has nice colors looks very slick not over done, and supper fast because they are using some cool JavaScript behind like scenes like Ajax. I myself am very surprise how fast Google reader is.

On the go: does not matter if you forgot your laptop or PDA , if you can access the Internet then you have access to your Google reader feeds wherever you are since its browser based.

Automatically track new and read Items: Google reader automatically tracks which items you have read as you scroll past them either using the scroll bar in the browser or using the previews and next buttons,  that way you don’t have to wonder in limbo which one you have read and which one you haven’t

Time Saver: you can use the feeds from all the sites you visit frequently, like news and your friends blogs and you get all your information in one place, and not wasting time visiting every single  web site, you get the news from all of them right into one place. This is probably the one of the biggest advantages combined with the fact that it is web based, I keep my friends blog’s feeds in my Google reader along with feeds from sites I used to visit often. Now I don’t have to go to all those sites, just fire up Google reader and I am reading all the stuff from the sources I want in one place

Import and export of subscription list: This way you can easily share your entire collections of rss feeds with other people or simple populate your Google reader feeds from other sources easily

Automatic Updates of the feeds and auto discovery of feeds: the feeds are updated automatically and can be updated on demand too, that way you always have the latest items, and if you don’t know the feed URL just time the web site URL and the reader will auto discover the feed URL for you.

Reading Trends: It also keeps track of all the items you see and read and can give you the trends  like number of items and percentage read for each feed subscription as well brake down by item or site feed, that way you can see how much time you spend reading more.

Feed entry rating: This is pretty cool, because if there is a feed that you really like, you can rate it and mark it with a star, there is no multiple starts raking mechanism for now, so maybe in the future we can hope to see that.

Lets you share feed entries: Just as you can mark feed items with a star, you an also mark them as shared, and you can send the LINK of all your shared items to your friends so they can see your shared items.

Display your shared Items in your site: with a simple script that you can copy and past into your web site, you can display the items that you have marked as shared

Next Page »

Close
E-mail It