7. December 2011




Composite C1 web content management system


Composite C1I have been recently busy with a couple of projects and had to decide on a new CMS framework to build them on. I had tried Umbraco in the past and found I had some issues with the installation and just never couldn't quite "get" it right away. I looked at Orchard after seeing it at MIX in Las Vegas and finally also tried Composite C1 from Denmark. I fell in love with the last one.

It is not so much the features that come with the framework, but more the freedom it gives you to write your code whichever way you want. You can use the provided XSLT extension or provide your own and use them as controls. If you prefer to write your controls in C# code, you can do that to and cll them exactly the same as you would the built-in XSLT functions. You can use it with existing masterpages, MVC or old-school ASP.NET. It is free and comes with a bucket of ready to go plug-ins. Some of these components are to be paid for, but very few of them. 

I understand that the choice of picking a CMS is based on requirements, technology, capabilities and finally personal preference, but this is one I would highly recommend.

Read more here:  http://www.composite.net/


by Miguel Moreno

Category: Programming | Tools | Tags: ,

2. August 2011




Screen capture software...

ZscreenI find myself taing screenshots often at mostly portions of the screen; whether it is to show work in progress to others or something else. For those instance, I have been using Snagit from techSmith for years. This is a relatively cheap solution for performing these tasks. I loved having the ability to add arrows to the screenshot or a shadowed border that can then be immediately copied and pasted in an email or anywhere else. However, it is $49 and releases about once every year. 

So, I stumbled upon Zscreen, an open-source screen capture program for Microsoft Windows. I find this app very powerful and has more option than I have use for. Including automatic uploading to ftp servers, emailing, naming conventions, silent operations and performing custom actions on any images captured: I am thinking this free option will be my choice for screen capture for the future.


by Miguel Moreno

Category: Tools | Tags:

17. March 2011




Hyperlink in RichTextBox

Today I learned that the default RichTextBox control does not handle hyperlinks out of the box. If you do want to have hyperlinks work, you need to do the following: 

  • DetectUrls property on the RichTextBox control is set to True

  • Open the Designer.cs file and find the generated code block for the RichTextBlock properties and handlers. Add the following line:
    this.myRichTextBox.LinkClicked +=
      new LinkClickedEventHandler (this.myRichTextBox_LinkClicked);
  • Add the eventhandler to the .cs file:
    private void myRichTextBox_LinkClicked(object sender, LinkClickedEventArgs e) {
      System.Diagnostics.Process.Start(e.LinkText);
    }

That is it...


by Miguel Moreno

Category: Programming | Tags: ,

6. March 2011




nopCommerce ASP.NET ecommerce platform

While researching options for a shopping cart module for an ASP.NET application, I came across several packages. Of course, I had already gone through the list of the popular players in this market: 

And there are lilkely several more. However, most of these listed carry a hefty price tag and the ones that don't just didn't feel like the right choice for the app I am developing, based on reviews of developers who have had to work with them.

However, one package, NopCommerce, impressed me out of the box: it is an open source e-commerce solution that is based on ASP.NET 4.0 and installs using Microsoft Web Platform Installer (in my case, on Arvixe Hosting). I was able to use it right away and the list of customizable features and options is vast.

The jury is still out until I play with it some more, but from my initial research, this is the one I will be using for this project. I have also found some goodlooking templates on http://www.n-theme.com/

Read more: http://www.nopcommerce.com/


by Miguel Moreno

Category: Programming | Tools | Tags:

4. October 2010




Swype for mobile devices...

SwypeI have had a Nexus One cellphone for a while and with so many applications available, it is usually a common topic to ask what the best application for an Android device is. The same is true with many iPhone users trying to brag about how cool their phone is compared to an Android.

When that happens, I mention Swype. Unlike many apps that are cool, I have yet to see something as truly revolutionizing as Swype, not just for mobile devices, but for all keyboard entry enabled devices. Swype is an alternative virtual keyboard, that instead of recognizing single letters (it can do that too, by the way), it recognizes a shape drawn over the letters that make up a word. It then compares the trajectory of the shape within its library and guesses the word for you. 

We have had many alternative pointing devices in the last 20 years...however, keyboard devices have stayed relatively pretty much the same, other than a slight variation in shape. Imagine a glass keyboard with no buttons to press; just slide one finger around... what a relieve for people with carpal tunnel syndrome or repetitive stress disorder in their hands because of the miniscule, but constant impact on their fingers of pressing 1000's of keys every day.... this approach could technically and literally change the way we type...

Read more: http://www.swypeinc.com 


by Miguel Moreno

Category: Tips for life | Tools | Android | Tags: ,

12. February 2010




Silverlight Validation & Tootip Styles...

SSilverlight Validation Tooltip stylesilverlight 3 comes with built-in validation for many of the input controls. Setting them up is fairly easy and they are styled well enough that you could use them right out of the box.

If you would like to know how to set it up and also would like to customize the look and feel of the fields and validation message, this short tutorial will explain how to do just that. 

See more here: Silverlight Validation & Tootip Styles...


by Miguel Moreno

Category: Programming | Tags:

18. January 2010




Wavelength to Colors in Silverlight

IWavelength to Colors haven't done many experiments lately and thought I'd do a quick one I have been meaning to do for a while.

It is basically a slider that runs from 350nm to 780nm (visible spectrum) and displays (I think accurately) the resulting color and graphical wavelength.

I had done something failry identical in a Windows application several years back, but wanted to do it in Silverlight.

See it here: wavelength to colors.


by Miguel Moreno

Category: Programming | Tags:

27. September 2009




Another Silverlight Clock experiment...

Continue TimeI thought I had told myself I wouldn't do anymore watch or clock-related experiment. Well, maybe one more and this is it...!

In this case, I saw a YouTube movie showcasing a beautiful and elegant clock designed by Sander Mulder. The simple clock has a single arm, fragmented in three parts, representing the hours, minutes and seconds arm all correlated and pointing in the correct direction at any time. 

In this simple experiment I attempt to recreate the motion of the arms of this clock in Silverlight 3.

See the experiment here...


by Miguel Moreno

6. July 2009




Vacheron Constantin watch experiment..

This morning I ran across an article about some watches and there is one that caught my attention. It is a Vacheron Constatin Mercator America and it is a beautifaul watch. A bit pricey, but if I ever have $47.500 that I don't need, maybe I'll get it some day.

The hands of the clock represent what are called nautical dividers and are used by navigational officers to quickly determine distance on a maritime chart.

Here is my attempt at recreating the design of this watch in Silverlight: Vacheron Constantin Mercator America watch experiment.


by Miguel Moreno

Category: Programming | Tags:

27. June 2009




Web.Config inheritance tip...

web.config tipMainly writing this entry so I don't spend hours looking for a solution when I need it again, since I tend to forget rather quickly how exactly I solved a problem. In this case, I have a website that is ASP.NET 3.5 and a folder which contains a different .NET application. I understand that the web.config in the root of the site, will cascade down into the applications within by default. What if our application within uses different settings... how do we prevent the settings in the root to affect the child applications?

Well, I learned that this can be accomplished in two parts. First there is a somewhat undocumented trick to instruct IIS that we do not want the settings to be inherited by child applications. You will need to wrap your <system.web> tag in a new tag, named <location> with the attributes as shown below: 

<location path="." inheritInChildApplications="false" >
  <system.web>  
    [...]  
  </system.web>
</location>

Note that this will show a red squigly line in Visual Studio since the inheritInChildApplications attribute is unknown to VS. 

Now, this only seems to work with <system.web>...what if we need to do the same with, let's say the <configsections>...? Assume we are pointing to System.Web.Extension dll, version 3.5 in the root and we want to point to a version 1.1 in the childApplication? In that case, we cannot use the <location> trick mentioned above. Instead, we can to do a runtime binding redirect in the web.config of the childApplication as shown below: 

<configuration>
  [...]
  <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
              <assemblyIdentity name="System.Web.Extensions"
                                          publicKeyToken="31bf3856ad364e35"/>
              <bindingRedirect oldVersion="3.5.0.0"
                                       newVersion="1.0.61025.0"/>
          </dependentAssembly>
      </assemblyBinding>
  </runtime>
</configuration>

Enjoy!

by Miguel Moreno

4. May 2009




Google Android phone...

Although I have pretty much always had one, I have never really cared much for the functionality of a cellphone, other than what it was meant to do...like placing phonecalls. I have an uninteresting Motorola Rzr, so anything is pretty much an upgrade.

So I decide to get a new phone. Windows Mobile? no thanks. I have had experience with a couple of pda's and until Microsoft comes out with something completely new, I will not go through that again...iPhone? no thanks... and although I have an open mind to maybe sometime try anything that Apple makes, it seems that everyone has one and I would have to switch providers.

What else...: Google Android...? all my Google apps constantly synchronized? Built-in GPS and Google Maps...? Unlimited Internet via 3G in my area? I now understand what is so interesting about a smart phone. The amount of productive apps that are available, the variety of functions they can performs is impressive, especially the location-aware applications. The one drawback is that if I ever want to write an application for it, I am going to need to learn some Android OS and Java.

Other than that, I have had it for only a couple of days and really love it...


by Miguel Moreno

Category: Tools | Tags: ,

14. April 2009




Desktop fences...

FencesOn occasions, I come across some software that saves me a ton of time or help me be a bit more organized. Here is one that definitively helps me both ways.

I use my desktop as somewhat of a clipboard for temporary files and end up with a cluttered workspace. When it gets out of control, I then tend to create a folder called "old desktop" and must have several of these in my backups. 

This software allows you to create these regions or fences that hold your shortcuts and files together. You can create as many as you want and basically group your files. There is a ton more features and even more good products from their site. Oh, and did I mention it is free...?

Read more: http://www.stardock.com/products/fences


by Miguel Moreno

Category: Tools | Tags:

15. March 2009




Silverlight 2.0 Moonlander game...

Silverlight MoonlanderA quick post here on an experiment that has taken way too long and maybe I have lost interest over time or it just became a bit more than a short experiment. In essence, it is a replica of the 1980's Moonlander arcade game.

I was shockingly surprised that Silverlight 2.0 does not have an obvious built-in HitTest or collision detection method for individual objects and the known workaround is quite clever, but somewhat less than elegant nor efficient, especially when checking many objects at the same time.   

I haven't really formed an opinion yet, since I may have overlooked features that are in the Silverlight 2.0 box and will post so, if I come across such feature. In any case, here is the game.

See it here...


by Miguel Moreno

Category: Programming | Tags:

22. January 2009




More free stuff from DevExpress...

DevexpressIn a previous post I had mentioned about 60 free .NET components available at no cost at all. These are high quality controls and I still have to try many of them. 

Well, looking for a Silverlight Datagrid, I came across Devexpress again and noticed they are offering these two compoent sets for free, including their source code. 

  • Silverlight Datagrid Control - here
  • Silverlight Menu - Toolbar controls - here

I used to love Xceed andComponentOne controls, but they are expensive and Devexpress has become one of my favourites since they make it nearly impossible not to try/use their components and become a fan of them...

I just thought I'd post this, because there aren't many Silverlight Datagrid controls and this one is free. I will likely be doing some experiments with these controls, as soon as I am done with another Silverlight experiment I am working on..


by Miguel Moreno

Category: Programming | Tools | Tags:

21. January 2009




What is the Windows Key for...?

Windows KeyI don't know...it is just a key that doesn't seem to do anything when pressed and it is just in the way. So many years staring at it and wondering what it was good for.

Well, it appears this little key is actually quite useful, as I have recently learned. By combining the Windows Key with other key, it allows you to perform frequently used task with hardly any effort. For example, to launch Windows Explorer, you may go to Start > Accessories, etc or maybe rightclick the Start button and select Explore or...... you could just hit Windows Key + E. That simple. Check out this list of shortcuts that I am sure you will start using, if you didn't know them already. 

[Windows Key] + L: Locks the workstation
[Windows Key] + E: Launch Windows Explorer

[Windows Key] + Tab: Cycle through the buttons in the Task Bar.

[Windows Key] + R: Launch the Run dialog box
[Windows Key] + Pause/Break: Launch System Properties dialog box

[Windows Key] + D: Minimize or restore all windows
[Windows Key] + M: Minimizes all open windows.
[Windows Key] + Shift + M: Undo minimize all windows

[Windows Key] + F: Launch Search for Files
[Windows Key] + Ctrl + F: Launch Search for Computers

[Windows Key] + U: Launch the Utility Manager

PS: In Office 2003 SP1 and 2007 the Windows Key has even more functionality. For example, by pressing Windows key + S in OneNote you can take an instant screen clipping - just drag the cursor over the area you want to "clip". Then paste the clipping wherever you need it.


by Miguel Moreno

Category: Tips for life | Tools | Tags:

25. December 2008




Another Silverlight clock experiment...

ExperimentAnother attempt at yet another approach of representing time in an unusual manner. I saw this clock implemented in Flash and wondered what it would take to do this in Silverlight. Let's call it Mark II...

Here is my attempt... Again, as with many of these experiments, I thought I could make something work in a matter of a couple of hours and, especially this one, took me a bit more than that. I managed to consolidate a lot of the repetitive looping into one single method that moves all gears... 

See it for yourself here...


by Miguel Moreno

Category: Programming | Tags:

18. December 2008




Silverlight Error when adding objects

Silverlight Instance NameI have done a couple of Silverlight experiments where I programmatically generate objects on the fly and then attempt to add them to the Canvas. In one scenario, I was trying to generate 10 circles, give them some properties and then add them to the parent object, a Canvas, in this case.

However, when I did this, I got the following runtime error: "{System.ArgumentException: Value does not fall within the expected range." right when I try to add the instances to the parent (Children.Add()).

I wasn't able to find out exactly why this is happening, but after some digging, I figured that this happens because the newly created object instances have not been given a name and therefore the runtime cannot dynamically add two instances with the same name, or no names, for that matter...

So, to avoid this run time exception, all you have to do is to give your newly created instances a name, thus, in our case, simply add:  e.SetValue(Canvas.NameProperty, <name>); to your loop...

for (int i = 0; i < 10; i++)
{
   Ellipse e = new Ellipse();

   e.SetValue(Canvas.NameProperty, "e_" + i.ToString());

   e.Stroke    = new SolidColorBrush(...);
   e.Fill        = new SolidColorBrush(...);

   e.Width = 10;
   e.Height = 10;

   LayoutRoot.Children.Add(e);
}

Not sure whether this is the cause and the fix for this issue, but it seemed to fix it...


by Miguel Moreno

Category: Programming | Tags:

14. December 2008




Two more Silverlight 2.0 experiments...

ExperimentsI have been meaning to get some more Silverlight 2.0 experience under my fingertips and have taken a couple of Sunday mornings to acomplish a couple of experiments.

Nothing spectacular, but interesting nonetheless.

  • Silverlight Clock: emulating the concept of a fantastic animated clock I had seen done in Flash.

  • Silverlight Snow: Figuring that I would see so many ads, banners and logos with falling snow, I figured I ty my own approach. 

Stay tuned, as I will be working on more Silverlight experiments in the near future..

Read more...


by Miguel Moreno

Category: Programming | Tags:

1. December 2008




Joining Microsoft...

Microsoft StoreWell, that didn't take very long... a good opportunity presented itself almost immediately and although I was hoping for some downtime, I have decided to accept a job offer at Microsoft's headquartes in Redmond Washington.

I will be joining the development team of the brand new store.microsoft.com site as a web developer starting tomorrow. The store was launched just a couple of weeks ago and provides an online presence where one can buy any Microsoft product directly from the source.

It sounds like a great opportunity that I don't want to let pass....


by Miguel Moreno

Category: | Tags:

20. November 2008




Added a couple of SharePoint Experiments...

SharePoint ExperimentsNot really experiments, but two brief articles I had been meaning to write for some time, simply to share some interesting approaches to developing Features for SharePoint:

  • A handy approach to automating your build process when writing a Feature: deactivation, uninstallation, unregistration, registration, installation, activation and recycling the application pool, all in one easy step.

  • Automatically extract data from an InfoPath form when uploaded to a SharePoint Form Library. Indispensable approach, especially when automating business processes or integrating non-homogenous enterprise applications.
Check them out here...

by Miguel Moreno

Category: Programming | Tags: ,