Articles

May 30

RSS / Twitter Feed Reader using jQuery

In this article we will build an RSS / Twitter news-feed-reader-ticker. Yeah, that’s a mouth full, but you know what I’m talking about, right? This news/RSS/Twitter ticker will query web services using jQuery and return JSON results which we will then display in a scrolling ticker. Oh, hell just click the example below and see for yourself.

Click here to view scrolling ticker

There’s probably a handful of plugins that will achieve the same result, but as you will see there’s not much code needed to do it yourself. Let’s look at the code now.

Click to continue reading »

Jan 26

Test Questions for 70-519 – Pro: Designing and Developing Web Applications Using Microsoft .NET Framework 4

So last week I passed the Microsoft test 70-519 and thought I would share a sample of the test questions with you. It’s quite daunting the range of skills the test pulls from. I have been a software developer for over twelve years and this test seems to have found a way to span almost my entire arsenal of skills. Or at least my Microsoft skills. Here are some of the skills measured:

– ASP.NET (both Web Forms and MVC)
– C#
– Ajax
– jQuery
– Windows Communications Foundation (WCF)
– ADO.NET
– ASP.NET Web Services
– LINQ and Entity Framework
– IIS
– Unit Testing, debugging and deployment
– Application state, session state, and request state (for example, ViewState, ControlState, Cache object, cookies, and client-side persistence)
– Globalization – designing to support local, regional, language, or cultural preferences

There’s probably more that I’m forgetting. Bottom line is wow, it’s a good thing that I have played with [most] of this stuff at one time or another because you aren’t just going to get lucky when it comes to passing this test.

Some questions include:

You need to recommend appropriate technologies for designing Web forms for entry and retrieval of news items.
Which technologies should you recommend? (Each correct answer presents a complete solution. Choose two.)

A. ASMX and SOAP
B. WCF Data Services and jQuery
C. ASP.NET MVC 2 and Microsoft AJAX
D. Entity Framework and Microsoft Silverlight

Answer: B and C

You are designing an ASP.NET MVC 2 Web application. You have the following requirements:
“Type safety must be validated at compile time.”
“Code must not require explicit run-time type casting.”
You need to pass data between the controllers and the views within the Web application. Which approach should you recommend?

A. Use the View Data Dictionary class
B. Use the Temp Data Dictionary class
C. Use strongly typed view model classes
D. Use dynamic object view model classes

Answer: C

You are designing a deployment process for a new ASP.NET Web application.
The company requires the application to be compiled to a single DLL for deployment.
You need to design a deployment process that meets the requirement.
Which approach should you recommend?

A. Use MSDeploy
B. Use the Web Deployment tool
C. Use a Web Deployment project
D. Use the ASP.NET Compilation tool

Answer: C

You are designing an ASP.NET MVC 2 application.
You need to centralize the logic for handling and logging unhandled exceptions.
Which approach should you recommend?

A. Use try and catch on every method
B. Override the One Exception method of each controller
C. Decorate all controllers with a custom Handle Error attribute
D. Decorate all controllers with the default Handle Error attribute

Answer: C

You need to design a solution for incorporating NTFS permissions in the Web application.
Which two approaches should you recommend? (Each correct answer presents part of the solution. Choose two.)

A. Grant the Network Service account only Read permission to the root directory
B. Grant Read permission and Write permission to the root directory
C. Grant the Network Service account Full Control permission to the Upload folder
D. Grant the Network Service account Read permission and Write permission to the Upload folder

Answer: A and D

You need to design a solution for capturing an exception. Which approach should you recommend?

A. Use a Page_Error method
B. Use a HandleError attribute
C. Use a CustomErrors element
D. Use an Application_Error method

Answer: B

Good luck to all, you’re gonna need it…

Oct 26

Building a Better, Faster, Stronger Navigation Menu

In this article we are going to look at some very common mistakes that are made when building a navigational menu. We will then look at how to rebuild it making it better, faster and stronger. Okay, maybe not stronger, but certainly better, faster, lighter, more search-engine friendly and all around less sucky…

The navigational menu that we are going to rebuild is the one for the Rock Bottom Brewery restaurant that we love here in Denver.

Have a look at their main menu. It’s the one with: Home, Find A Restaurant, Menu, Beer & Spirits and Contact Us. You might be thinking, “What? Works just fine.” Yes is does, but why settle for “just fine” when we can make it better?

Now look at our Re-factored main menu. Once again, at first glance both menus work and look reasonable, but stick around and let’s see what makes the re-factored menu better.

Click to continue reading »

Apr 30

Flash Is Dying, But It’s Not Apple Killing It

After receiving many emails and instant messages the last couple days over the whole Apple vs Flash tit-for-tat that’s been going on. I feel compelled to give my thoughts.

For starters Steve Job’s article, Thoughts on Flash, is full of truth and fiction. The biggest part that rubbed me the wrong way was his lack of distinguishing between Flash and the SWF file format that Flash produces; Jobs conveniently leaves this out. Of course the average person knows nothing about the distinction between Flash, the tool that is used to create a SWF file and the actual SWF file that is used on a website. The SWF file is ‘open’ and there are other products, not made by Adobe, that can create SWF files. So it is fair for Abobe to wave the ‘open’ flag.

As far as Apple being ‘open’. Not so fast there Jobs. I can’t even use the SDK on my Windows machine. You must own a Mac if you want to create applications for an iDevice.

Is there anyone that truly believes Apple could not get Flash to play on their devices if they wanted to? Just say it Jobs, I don’t want to support Flash. Period.

Now my final thought and it’s not a good one for you Flash developers is this: Flash is dying, but it’s not Apple that’s killing Flash. It’s three things: 1.) Ajax 2.) jQuery and 3.) HTML5. These technologies have been slowly killing Flash the last few years. Look around, sites that once used Flash have fazed it out: Yahoo, MSN, IGN and many many others. Because of these technologies, Flash’s strengths are no longer there. It’s been relegated to advertisements and entertainment sites.

Apr 26

ASP.NET, LINQ, jQuery, JSON, Ajax – Oh my!

In this article we will be looking at a different type of architecture. One in which we utilize jQuery’s ability to easily transfer data (via Ajax and JSON) from the client to the server. We then use ASP.NET and LINQ to SQL to query the database and return a collection of data which gets (automatically) serialized to JSON and sent to the client. The benefits of combining these technologies include: more responsive applications, more processing on the client, less processing on the server and reduced network traffic. Everything runs faster and uses fewer resources.

Still not convinced? Here are some additional benefits of this architecture:

Benefits of the Architecture

  1. Unlike an ASP.NET UpdatePanel we only pass what we need; we only receive what we need. We don’t pass ViewStates, in fact we don’t even have a ViewState. We also don’t pass entire HTML chunks and receive HTML chunks we don’t use. For more on this; read: Why ASP.NET AJAX UpdatePanels are dangerous.
  2. By using jQuery to call the web service directly, we’ve eliminated over 100 KB of JavaScript and three extra HTTP requests that’s included when you use ASP.NET Ajax.
  3. Less dependencies – because all our code is simply xHTML we could switch to a PHP or a Java backend and none of our code for the UI would have to change. That’s right, there are no server-controls; that means no GridViews, no Repeaters, no ListViews, nothing that uses runat server will be found on the page. Not even a ScriptManager.
  4. Usability – We can create RIA interfaces AND maintain usability, giving us the best of both worlds.
  5. Cross-Browser friendly – We use nothing but xHTML code and jQuery which works across browsers.
  6. The entire presentation for the UI is done via CSS. Change the CSS and the entire UI can look different.
  7. We maintain a ‘Separation of Concerns‘ – this means we have 3 distinct and wholly separate code bases. A content or HTML level. A presentation or CSS level and a behavior or JavaScript level. We don’t have code mixed together in a web-page jambalaya.
  8. Switching architectures from Web Forms to MVC is a breeze.

Hopefully you are salivating at these benefits enough to decide to get your feet wet and follow along.

In this article will be leveraging these technologies to build a grid (or what looks like a table). Later on, in future articles, I will then show you how to implement sorting, paging and filtering on the grid. I have divided this article up into four sections: 1. Sever-side code (ASP.NET). 2. HTML 3. jQuery and lastly CSS.

Click to continue reading »

Jan 14

jQuery Enlightenment Review

jQuery Enlightenment

Over the past month I have been reading jQuery Enlightenment by Cody Lindley. Let me say now, that if you use jQuery or are thinking about using jQuery then you should most certainly buy this book. It’s a quick read (122 pages) that includes colorized code samples, easy to follow examples and solid explanations.

Author Cody Lindley is a member of the jQuery team and explains why he wrote the book.

jQuery Enlightenment was written to express, in short-order, the concepts essential to intermediate and advanced jQuery development. Its purpose is to instill in you, the reader, practices that jQuery developers take as common knowledge. Each chapter contains concepts essential to becoming a seasoned jQuery developer.

This book is intended for three types of readers. The first is someone who has read introductory books on jQuery and is looking for the next logical step. The second type of reader is a JavaScript developer, already versed in another library, now trying to quickly learn jQuery. The third reader is myself, the author. I crafted this book to be used as my own personal reference point for jQuery concepts. This is exactly the type of book I wish every JavaScript library had available.

I would argue that this book is perfectly suitable for beginners too. It’s simply a must have jQuery book. It’s the only one you need; it will take you from beginner to competent user.

I do ASP.NET / C# web development where I build web-based software for school districts. My preferred architecture is one in which I use NO server-controls. That means no GridViews, no Repeaters, no ListViews. If fact, nothing that uses runat server will be found on the page. The page will only consist of XHTML. So there is no need for a viewstate either. We end up using jQuery a lot in this architecture. We use jQuery / Ajax to call Web services that then query the database using LINQ to SQL and pass our data back to the client where we can then populate our XHTML controls. It works great and is extremely fast and efficient. The code couldn’t be cleaner. In addition, this methodology would allow you to easily change to a PHP or Java backend and you wouldn’t have to change a single thing on the frontend. I will give a full example on this methodology another time, but the point is – you need to learn jQuery.

For more information on the jQuery Enlightenment book, including a breakdown of each chapter go here. I would recommend buying the full color book from lulu.com as it’s well designed and very handy to have on your desk.

Oct 09

CSS – A Sticky Subject

CSS is a sticky subject in the best of times and to make it more sticky I thought I’d run down the techniques needed to make a sticky footer that works in all modern browsers. This is unlike most examples on the web that break in either Opera, IE8, IE7 or indeed in all three.

Try any of those footers from the Google search above in IE8 or Opera (some don’t work in IE7 either). Load the page then grab the bottom of the window (not the side or corner of the window) and drag it up or down and you will see that the footer usually sticks in the wrong place, messing up the display.

Now try it on my old original sticky footer version (circa 2003 which pre-dates all those above) and you will see that my version is working in all browsers including IE8.

Before we get into details I should first explain what a sticky footer is.

What is a Sticky Footer

A sticky footer is one that sits at the bottom of the viewport when there is not enough content in the page to push the footer down. If there is a lot of content then the footer sits at the bottom of the document and will be below the fold as usual. Why this is desirable is because on short content pages you won’t have a footer right at the top of the screen looking very strange indeed as shown from Figure 1 below.

Figure 1 – normal footer close to content.
Normal footer

Figure 2 – Sticky footer at bottom of viewport.
f2

Note that a “fixed positioned” footer is not the same thing as a sticky footer as a fixed positioned footer is one that sits at the bottom of the viewport at all times and never moves. Don’t get confused between the two.

Overview

Before we get into the nitty gritty detail I will briefly explain the concept in getting a sticky footer to work.

The first thing we need to do is create a 100% high container which is achieved by setting the html and body elements to 100% height and then creating a container that is a minimum of 100% high. The footer is then placed after this container which means it will be invisible as it will be below the fold of the page but by the magic of negative margins we can bring it back into view at the bottom of the viewport.

Of course this means that the sticky footer must be a fixed height (pixels or ems will do) so that we know how to accommodate it with the exact negative margins that bring it into view. This also means that our footer is now overlapping content on the page so we will also need to protect this content with either padding on an inner element, or some other similar approach as you will see when we get into specifics later.

That’s basically all there is to it except that we have to squash a few bugs on the way to make it work everywhere.

Click to continue reading »

mulberry sale spyder womens jacket cheap new balance 574 mulberry outlet cheap new balance 574 arcteryx outlet mulberry sale spyder womens jacket mulberry sale spyder womens jacket mulberry outlet mulberry outlet new balance 574

Popular Articles

Friends


Subscribe to this feed! Subscribe by Email!

Random Bits Podcast

You need to download the Flash player from Adobe

Blogs Worth Reading