Did you know… Facts about blogging

In my endeavor to become the ultimate blogging guru I came across some facts about just how popular blogging has become.

  • There are Bloggers Choice Awards awards given out to best blogs in a given category.
  • There are over 175,000 new blogs every day.
  • Bloggers update their blogs regularly at a rate of over 1.6 million posts per day, or over 18 updates a second.
  • People actually get paid to write blog posts usually for a pre-determined rate of pay.
  • It can take Google as long as 4-6 weeks to fully index your blog.
  • Google has their own blog search engine.
  • 83% of corporate bloggers saw a traffic increase to their site.
  • 6 million Americans get their news and information from RSS aggregators.
  • Blog promotion is just as important as its content.

Sources
http://technorati.com/about/
http://www.movabletype.org/documentation/business-blogging/facts-and-figures.html
http://www.web-strategist.com/blog/2008/05/29/the-many-challenges-of-corporate-blogging/
http://thewrongadvices.com/2007/05/03/why-do-blogs-fail/

More

It’s been five months and counting

… since this blog was first made and I’ve finally decided to get my hands dirty with PHP and start my very own WordPress blog. My opinion of WordPress has changed from the last time I tested out version one of their platform. I’ve always wanted to host one of my own for quite some time and I’m happy now that I have much more control over the blog than my previous host. The reason I chose WordPress was how easy it is to create my own skin and make customizations to their template engine. Upon some investigation I found that many of the features that I had in mind were already available in the wordpress plugins directory. This meant more time focused on the content and less on the “how to”.

If you’re interested in starting to customize your own WordPress blog then there is no better resource then the wordpress documentation codex on their website. You can find my “Chilled v1.0” theme that this blog is currently using in the downloads section. And finally, no WordPress blog would be complete without a twitter plugin.

More

Useful shortcut for getting Photoshop files ready for web

Just like in other applications, shortcut keys can make using software so much easier and Photoshop is no exception.  One of the more useful shortcuts that I’ve come across involves the process that once made me scratch my head and wonder why it needs to be such a pain.  Working with layered Photoshop files meant that to copy a section of the composite image I used to either merge all visible layers (Ctrl+Shift+E) which can be dangerous since its a destructive action (you’re essentially flattening your layers into one image) or save a copy of the file as a separate flattened image.  The latest edition of Photoshop (CS3) allows you to copy all visible layers within a selection using (Ctrl+Shift+C).  Luckily for those of us who are still using CS2 there is a shortcut that I’ve recently come across which lets you copy all visible layers and paste them into a new layer inside of your PSD by pressing (Ctrl+Alt+Shift+E).  This is useful since you can make multiple copies of different areas of the composite image and save them as part of the same PSD.  Its also important to note that because you’re making a copy the action is NOT destructive unlike the previously mentioned merge all command.

 

image

More

Extreme Programming Tidbits

Extreme programming is a language-independent approach to project planning and quality control which aims to lower the cost of changes in development.  There is little to no up-front documentation which allows for a more flexible approach to tackle software problems.  With that said there is controversy which surrounds the subject matter as these practices don’t come without its drawbacks.

Over the last few days I’ve been getting into some of the Extreme programming concepts in the book eXtreme .NET.  The first chapter gives a concise overview of how XP fits into common day business needs.  Here are some key concepts that I took from it:

  1. Whole Team: the customer is always available to discuss and resolve issues.
  2. Planning Game: where developers sit down with the customer to discuss features of the software which are brainstormed and given priorities.
  3. Pair Programming: is the practice of having two developers working alongside one another solving a single problem.  Both programmers learn from each other and send along the knowledge to the next person who they pair with.
  4. Test-Driven Development: writing your test cases before beginning to code your solution not only helps you stay focused on the task at hand, it essentially acts as a safety net against breaking existing logic.
  5. Constant Refactoring: the process of optimizing your code without loosing functionality.
  6. Spiking: making the effort to experiment and drive your efforts in such a way to learn a new skill which pertains to the project development.  It is often done by solo developers who need a break from pairing.
  7. Continuous Integration: code gets integrated with the solution after each tasks allowing for the team to ship early and often.
  8. Stand-Up Meetings: team members meet every day to discuss progress made as well as spread knowledge to the team.

 

The Four Five Key Values of XP

 

Communicationskateboard-dog

A person’s work environment can persuade his or her empowerment to communicate freely.  It is likely there there will be problems if communication is not done properly and frequently.  Even worse, a newcomer to the project could be left out on some important piece of information that would cause a delay in development.

Simplicity

Doing the simplest thing possible to move the project forward.  By writing simple code, it is more likely to work.  Only begin to rewrite a more complex solution when the business need calls for it.

Feedback

Constant feedback from the customer is essential so you can understand exactly what needs to be done and should be done in small iterations.  This is especially true when priorities change while deadlines need to be met.  Your unit tests provide immediate feedback if your test fails when modifying code.

Courage

By working more intensely for a shorter length of time, you are using your time more efficiently as well as allowing yourself more time to be out enjoying life.  Additionally, you must also have the courage to throw away unneeded parts of your code as needs change.

Respect

Having respect for fellow team members by not doing anything which will break the XP practices put in place.  Always striving to produce high quality code throughout the project lifecycle.

More

Using Enumerated Properties on User Controls

In this example we’re going to create a user control with an enumerated property that you will be able to choose via Intellisense.

I’m going to begin by creating my user control NewsHeadline.ascx:

clip_image002

Then in my code behind I’ll create an enumeration that contains all of the news categories I’ll be dealing with:

public partial class NewsHeadline : System.Web.UI.UserControl

{

 

}

 

public enum NewsCategory

{

    BreakingNews=0,

    Business=1,

    Sports=2,

    Money=3,

    Local=4

}

My public enumeration property

using System.ComponentModel;

 

public partial class NewsHeadline : System.Web.UI.UserControl

{

    public NewsCategory _category { get; set; }

    [Browsable(true)]   // Needed to display in Intellisense popup

    public NewsCategory View

    {

        get

        {

            return _category;

        }

        set

        {

            _category = value;

            DisplayNewsByEnum(_category);

        }

    }

}

I’m then passing in the selected NewsCategory into another method:

I choose to use a switch statement since Visual Studio will auto-generate your cases once you enclose the enumeration in the parenthesis.

    private void DisplayNewsByEnum(NewsCategory value)

    {

        switch (View)

        {

            case NewsCategory.BreakingNews:

                Label1.Text = “Breaking News”;

                break;

            case NewsCategory.Business:

                Label1.Text = “Business”;

                break;

            case NewsCategory.Sports:

                Label1.Text = “Sports”;

                break;

            case NewsCategory.Money:

                Label1.Text = “Money”;

                break;

            case NewsCategory.Local:

                Label1.Text = “Local”;

                break;

            default:

                Label1.Text = “No selection made”;

                break;

        }

    }

That’s all you need, you may need to build the site once before the enumeration shows up but be patient and it should recognize it no problem.

image

As well as in design mode

image

More