My two cents about software development on the web


Linkflood #1-2012

  • 15 jQuery Calendar Date Picker Plugins on SmashingApps – In this collection, you will see some of the best jQuery Calendar Date Picker Plugins that will allow you output planners and calendars even more easily. Majority of these plugins are built on jQuery and jQuery UI (User Interface). With this collection, we tend to help those who need frameworks with great functionality.
  • BugNET Issue Tracker on CodePlex – BugNET is an issue tracking and project issue management solution built using C# and ASP.NET with MSSQL backend. The main goals are to keep the codebase simple, well documented, easy to deploy and scalable. The project has a clean look to it and is under active development. This is a mature project which has been hosted on since 2006 but has now moved across to CodePlex.
  • SQL Fiddle – SQL Fiddle is a tool for database developers to test out their SQL queries. If you do not know SQL or basic database concepts, this site is not going to be very useful to you. However, if you are a database developer, there are a few different use-cases of SQL Fiddle intended for you.
  • Building Twitter Bootstrap on A List Apart – A year-and-a-half ago, a small group of Twitter employees set out to improve our team’s internal analytical and administrative tools. After some early meetings around this one product, we set out with a higher ambition to create a toolkit for anyone to use within Twitter, and beyond. Thus, we set out to build a system that would help folks like us build new projects on top of it, and Bootstrap was conceived.
  • Learn jQuery in 30 Days – Each day you’ll be sent a free video lesson. At the end of the month, you’ll be able to confidently use jQuery in your projects, without help.


Linkflood #5-2011

  • AppHarbor – Azure Done Right AKA Heroku for .NET – Instant deployments and instant scaling. Stupid simple API. This is Heroku. It doesn’t sound like much, but when you think of how fast you can go from an idea to having someone else tinker with it, you can start to see its power. In literally seconds you can be looking at your rails application deployed and online. Then when you are ready to scale, you can do that. This is power. I’m not sure when I first heard about AppHarbor as a possible .NET version of Heroku. AppHarbor is awesome! It still has a ways to go to be considered Heroku for .NET, but it already has a growing community.
  • My 25 Favorite Programming Quotes that are Funny too – Recently I was looking for some good programming quotes for one of my presentation. I was amazed to find that there are some good programming quotes that are really funny and need some brains to figure out the fun part. Here are 25 of them I like in random order.
  • Inversion of Control : Practical usage of Interface, Delegate or Events – Inversion of control is an architectural design principle which modifies the general flow of control of a program. Inversion of control is a special circumstance where you will invert the predefined control flow to some arbitrary call defined way down the stream by the user who actually using the component. In this post, I will show you how you can implement inversion of control in your code and also approaches which help you while implementing your own class.
  • openredis – Redis Hosting Service – Redis is awesome. While it’s a perfect fit for many applications, just a few of them are using it. We want to help startups and small to medium sized businesses easily get up and running with Redis, without the hassle of setting up backups, monitoring and replication.
  • RazorEngine – A templating engine built upon Microsoft’s Razor parsing technology. The RazorEngine allows you to use Razor syntax to build robust templates. Currently we have integrated the vanilla Html + Code support, but we hope to support other markup languages in future.
  • The 7 deadly sins of software development – Being a good developer takes a lifetime of training and practice. But without proper discipline, even the best programmers risk falling prey to their worse natures. Some bad habits are so insidious that they crop up again and again, even among the most experienced developers. I speak of nothing less than the seven deadly sins of software development.
  • ILSpy – is the open-source .NET assembly browser and decompiler. Development started after Red Gate announced that the free version of .NET Reflector would cease to exist by end of February 2011.

User Interface, User Experience

  • Beginner’s Guide to Landing Pages on KISSmetrics – A well-designed landing page can greatly increase conversions for your PPC or email marketing campaigns. Rather than directing visitors from those sources to your general website (where they may have a hard time finding what they’re looking for), you can direct them to a specially-designed landing page that steers them in exactly the direction you want them to take.
  • Landing Page Best Practices: the definitive guide (with infographics) – We (at Visual Website Optimizer) are starting a series on the blog where the experts in A/B testing, landing pages, conversion rate optimization will share everything they know about how to increase sales and conversions online.
  • Responsive Web Design: What It Is and How To Use It – Responsive Web design is the approach that suggests that design and development should respond to the user’s behavior and environment based on screen size, platform and orientation. The practice consists of a mix of flexible grids and layouts, images and an intelligent use of CSS media queries. As the user switches from their laptop to iPad, the website should automatically switch to accommodate for resolution, image size and scripting abilities. In other words, the website should have the technology to automatically respond to the user’s preferences. This would eliminate the need for a different design and development phase for each new gadget on the market.
  • Fight Div-itis and Class-itis With the 960 Grid System – The 960 Grid System encourages the addition of <div> elements and class attributes, especially on complicated pages. Is this really an improvement over nested tables? Creating cleaner code means going beyond the framework and thinking about what it really represents.
  • 100+ free HTML email templates – For too long HTML email has been the ugly step-child of the web. It’s time for a change, so we teamed up with some seriously talented designers to bring their skills to the world of HTML email. Every template has been thoroughly tested in more than 20 of the most popular email clients like Outlook 2010, Gmail, Lotus Notes, Apple Mail, the iPhone, and more. They’re ready to roll and are completely free.


  • Creating a NuGet Package in 7 easy steps – Plus using NuGet to integrate ASP.NET MVC 3 into existing Web Forms applications – Last month I (Scott Hanselman) wrote a post called Integrating ASP.NET MVC 3 into existing upgraded ASP.NET 4 Web Forms applications where I showed a very manual and very painful way to add ASP.NET MVC support to an existing ASP.NET WebForms application. You’d then have a lovely hybrid that is both MVC and WebForms.
  • Integrating jQuery DataTables plugin into ASP.NET MVC applications – JQuery DataTables plugin is an excellent client-side component that can be used to create rich-functional tables in the web browser. This plugin adds lot of functionalities to the plain HTML tables that are placed in web pages such as filtering, paging, sorting, changing page length etc. By default it works with client side rows that are rendered in table (in <tbody> </tbody> section in the HTML code of the table) but it might be configured to use data from the server via Ajax calls. However, to integrate DataTables with server-side code developer must know protocols and parameters that are sent by DataTables and how to use them on server side. This article shows how JQuery DataTables plugin can be integrated into ASP.NET MVC application. It contains step by step examples that show how DataTables plugin interacts with server-side components.
  • Synchronicity – A Folder Synchronizing Application – I needed an app that would sync up folders that didn’t involve anything more tedious than just copying the files somewhere. Yes, I’m aware of programs like Microsoft Sync Toy and a third-party product called Sure-Sync, but being a programmer, I figured this would be a fairly straightforward application to write myself. After all, it doesn’t have to be battle-tested for public consumption, and I wanted a certain degree of control over precisely how it works. Besides, it’s more fun to write code than it is to install someone else’s. This article (and the code it describes) is the result.
  • SharpPcap – A Packet Capture Framework for .NET – Packet capturing (or packet sniffing) is the process of collecting all packets of data that pass through a given network interface. Capturing network packets in our applications is a powerful capability which lets us write network monitoring, packet analyzers and security tools. The libpcap library for UNIX based systems and WinPcap for Windows are the most widely used packet capture drivers that provide API for low-level network monitoring. Among the applications that use libpcap/WinPcap as its packet capture subsystem are the famous tcpdump and Wireshark. In this article, we will introduce the SharpPcap .NET assembly (library) for interfacing with libpcap or winpcap from your .NET application and will give you a detailed programming tutorial on how to use it.



Linkflood #4-2011

Android development

  • Get Started Developing For Android With Eclipse, Reloaded [28 mar 2011] – In this second part, we’ll continue developing the application by adding extra functionality. In doing this, you’ll be introduced to some important and powerful features of the Android SDK, including Persistent data storage, Activities and Intent as well as Shared user preferences.
  • Get Started Developing for Android with Eclipse [25 oct 2011] – In this tutorial, you’ll learn how to start writing applications for Android, the open-source mobile operating system popularized by Google.

Mobile development

  • Considerations for Mobile Design (Part 3): Behavior [22 mar 2011] – As we conclude our series, Considerations for Mobile Design, we wish to spend a little time looking at how users behave differently on handheld devices compared to desktops and laptops. In this final part of our introduction to mobile design, we explore how touch interfaces are different from more traditional means of user input, and how designers can start implementing new gestures into their own products.
  • 10 Ways Mobile Sites Are Different from Desktop Web Sites [21 mar 2011] by Shanshan Ma – The form-factor difference seems to have a dramatic impact on the success rates of users’ interactions, and therefore, should impact how we design mobile sites as well.

Designing a Product

  • The Process of Designing a Product [9 may 2000] by Joel Spolsky – We’ve talked about the principles of good design, but principles only give you a way to evaluate and improve an existing design. But… how do you figure out what the dang design should be in the first place?
  • Audio: The Interface is the Product [23 nov 2010] by Luke Wroblewski – I recently had the pleasure of talking with Justin Vincent and Jason Roberts on the TechZing podcast about the role of design and how it applies to product development, developers, and last but not least, customers.
  • Creating Web Design Wireframes: Tools, Resources and Best Practices [28 mar 2011] – Wireframes can be one extra step in the beginning of any web design project that can save a significant amount of time later on. Besides improving productivity, it also improves the final result of each single webpage, and the website as a whole. A wireframe is a “template” of simple lines, shapes, and labels that can be used to predefine a website’s layout before any of the design’s details are actually placed. Editing a simple wireframe in order to change a layout can be a lot simpler than trying to change the layout of a final coded design, or even a PSD. Of course, this is both true for personal and client projects. Showing a client a wireframe at the beginning of the design phase can allow the client and designer to collaborate more efficiently on the final content placement, and come to a set agreement to make the design process smoother, and reduce the number of major revisions.

Redesign and Reviewing

  • The Redesign Disease [17 mar 2011] – A redesign is a symptom of a disease. A good design works to make the thing perform well and to communicate how it works to the user. It’s an expression of function. A well designed thing is beautiful to us precisely because its design is optimal for its purpose—its form is in harmony with its function.
  • Good Designers Redesign, Great Designers Realign [24 oct 2005] by Cameron Moll – While this article won’t analyze the psychological ambitions of right-brained elites and their innate desire to recreate, it will attempt to describe the difference between redesigning and realigning, as well the advantages of one over the other.
  • Reviewing User Interfaces [23 feb 2009] By Rhonda Bracey – If you identify usability issues early, it’s much more likely the team can remedy them before launch, preventing bad reviews…, negative word-of-mouth, and the lost sales that result from them.


  • Beginning with jQuery – A Solid Foundation to Learn The Basics [22 feb 2010] by Mike Gleason – Why another “learn the basics of jQuery” article? Because I was told to do so ;) but more importantly, because I feel that there are some misunderstood concepts that programmers absolutely have to know if they want to do some serious web development.
  • Useful JavaScript and jQuery Tools, Libraries, Plugins [7 apr 2011] – In this round-up, you’ll find some of the useful JavaScript and jQuery tools, libraries and plugins that we have stumbled upon recently. Hopefully, you’ll find them valuable for your upcoming projects. Among other things, you’ll find handy services and online utilities, recently released JavaScript libraries and jQuery plugins.

SQL Server

  • Querying SQL Server Metadata, INFORMATION_SCHEMA, sysobjects, … [6 dec 2010] by manub22 – While writing complex code & business logic in my scrits & stored-procdedures most of the time I wonder… What table does a particular column belongs to? What all Stored Procedures effect a particular table? How can I see what particular constraint does my tables have? What all Foreign Keys defined in table’s columns are linked to? These and many more questions can be answered by querying the SQL Server System Catalog and metadata that SQL Server manages very beautifully.


  • The Building Blocks for a Successful API Strategy [19 mar 2011] by Sam Ramji – Many companies have launched API programs, and many more will in 2011. Some have used their API to become unstoppable market forces by empowering a new indirect channel. Others have seen minimal API adoption, and are unclear on why they haven’t succeeded. Even more are in the “mushy middle” between success and failure. At Apigee, we observe common patterns in API programs that succeed – in planning, management, and organization. Those that fail hit common pitfalls in these categories as well. So we have developed a nine-box model for API program management that helps track how both strategy and execution must come together to build a successful API effort.
  • Programmable Web: 3000 APIs and Growing [8 mar 2011] by Kin Lane – Congratulations to ProgrammableWeb for hitting the 3000th API in their directory.


  • CSS Typography: The Basics [3 mar 2011] by Kayla Knight on Six Revisions – This is the first part of a three-part series of guides on CSS typography that will cover everything from basic syntax to best practices and tools related to CSS typography.
  • CSS Typography: Techniques and Best Practices [10 mar 2011] by Kayla Knight on Six Revisions – This is the second part of a three-part series of guides on CSS typography. We are going to cover some excellent techniques, tips, tricks and best practices for dealing with typography on websites.
  • CSS Typography: Examples and Tools [22 mar 2011] by Kayla Knight – This is the third part of a three-part series of guides on CSS typography that will cover everything from basic syntax to best practices and tools related to CSS typography.
  • A Crash Course in Typography: The Basics of Type [28 mar 2011] by Cameron Chapman – Typography could be considered the most important part of any design. It’s definitely among the most important elements of any design project. And yet it’s often the part of a design that’s left for last, or barely considered at all. Designers are often intimidated by typography, which can result in bland typographical design or a designer always using one or two “reliable” typefaces in their designs.
  • How to Choose a Typeface [24 mar 2011] – Choosing a typeface can be tricky. The beauty and complexity of type, combined with an inexhaustible supply of options to evaluate, can make your head spin. But don’t be baffled — and don’t despair. While there are no easy-to-follow rules on how best to choose a typeface, there are many tried-and-true principles you can quickly learn and apply to make an appropriate typeface choice.
  • 8 siti da cui scaricare oltre 40mila fonts gratis! [7 mar 2011] – interessante ed utile raccolta di siti nei quali è possibile trovare font gratuiti.



Linkflood #3-2011

  • Unit Testing 101: Are You Testing Your JavaScript? by Christian Johansen [23 feb 2011] – Of course you are testing your code. Nobody writes any significant amount of code and drops it into production without ever running it. What I want to challenge you on in this article is how you are doing your testing. If you are not already automating as much of your testing as possible, be prepared for a productivity and confidence boost.
  • Sample datasets for benchmarking and testing [1 feb 2011] – Sometimes you just need some data to test and stress things. But randomly generated data is awful – it doesn’t have realistic distributions, and it isn’t easy to understand whether your results are meaningful and correct. Real or quasi-real data is best. Whether you’re looking for a couple of megabytes or many terabytes, the following sources of data might help you benchmark and test under more realistic conditions.
  • 3,000 Web APIs: Trends From a Quickly Growing Directory [8 mar 2011] – ProgrammableWeb has reached a major milestone by adding its 3,000th web service API to our API directory. We’ve come a long way when you consider there were only 105 listed at the end of 2005. As we’ve noted previously, the growth rate of APIs doubled, which led to an influx of new services. Below are some of the trends we’ve spotted as the directory marks a new high.
  • If I ran Twitter, this is what I would do. It’s about the service, stupid [12 mar 2011] by Kelly Sommers – What I would do .. oh boy, where to start. The primary thing that rings in my head is this: It’s about the service, stupid. If I was calling the shots I would take the direction that we must satisfy the needs of being a short messaging service and the best damn one possible. Going the route of ads embedded in the client is small potatoes profit wise I think compared to what the service has in it’s back pocket which is simply: data.
  • 10 best alternative operating systems [13 mar 2011] on TechRadar – We’ll look at the best alternative operating systems, with the potential to change the computing landscape over the next decade. There’s only one rule – no Microsoft, Apple or Linux. While some of these new operating systems are still relatively early in development, the technology that they’re introducing could make its way into the next round of updates for the mainstream OSes we use. Helpfully, you can try these projects without having to repartition your hard drive thanks to the excellent (and free) PC virtualisation and emulation tool available from
  • Build What You Know [21 dec 2010] by Ben Werdmuller on 24 Ways To Start – An old maxim for wannabe novelists is “write what you know.” That advice is more inspirational than it first appears to be. Nobody’s suggesting that authors should populate their novels with their friends, families and neighbourhoods. Rather, they should write what they know to be true. It’s a call for artists to address their beliefs about the world and write from the heart. It’s also great advice for entrepreneurs. Whether you’re building a technology business, opening a restaurant or providing a new kind of service, it’s not enough to simply identify a gap in the market and address it. Finding a problem is easy; the key is to find a solution that you’re passionate about, and then create what you know is needed. The best startups aren’t just new companies – they’re manifestos by people who seek to change the world.
  • Building an offline capable mobile web site with jQuery Mobile [12 mar 2011] by Raymond Camden on Coldfusion Jedi – One of the more interesting features of HTML 5 is offline support. As you can guess, this is the ability to cache and store content for use when offline. On a desktop this isn’t terribly useful. Most of us have continuous high speed connections. But on a mobile device it could be incredibly useful. I thought I’d create a simple demo based on the mobile hotel web site I built a few days ago. That site provided contact information for the hotel as well as a map and driving directions with GPS. If the user is offline, then the site won’t work at all.
  • Handle JSON Exceptions Gracefully in ASP.NET MVC 2 [21 apr 2010] by Malcolm Sheridan on DotNetCurry – One thing to keep in mind when using ASP.NET MVC is how to gracefully handle exceptions that are thrown when executing Ajax requests. Normally if an error is thrown on the server, without proper error handling, the client will never know about the error. Another thing I wanted to do was not to litter my action methods with try/catch/finally blocks. They’re good, but I want my action methods to look elegant! By the end of this article, you’ll be able to decorate your action method’s that return a JsonResult with an attribute derived from ActionFilterAttribute.
  • Using ASP.NET, Membership, and jQuery to Determine Username Availability [23 feb 2011] by Scott Mitchell on 4 Guys From Rolla – Many websites use Ajax techniques to check whether a visitor’s desired username is available as soon as they enter it (rather than waiting for them to submit the form). This article shows how to implement such a feature in an ASP.NET website using Membership and jQuery. This article includes a demo available for download that implements this behavior in an ASP.NET WebForms application that uses the CreateUserWizard control to register new users. However, the concepts in this article can be applied to ad-hoc user registration pages and ASP.NET MVC.
  • 6 Popular Content Presentation Design Patterns [1 mar 2011] by Cameron Chapman on Six Revisions – Content is what is considered the “meat” of a website. Content should be usable and displayed in a manner that makes it efficient to read and act on. Now that we have discussed website navigation design patterns, let us now explore popular design patterns for displaying content. Below, we’ve included a few current design trends in content presentation, all based on enhancing the user experience.
  • The Basics of Good Database Design in Web Development [17 mar 2011] by Kayla Knight on onextrapixel – In this article, we’ll go over the basics of how to design a good plan for a database, no matter what its final intended use. For all database designs, there are a set of standard rules and best practices to follow, all of which can help a database stay organized and help to team up with the respective site in a smart and efficient way.
  • 7 Basics to Create a Good Design Brief [17 mar 2011] by Cameron Chapman on Webdesigner Depot – A comprehensive, detailed brief becomes the guiding document for the entire design process, and spells out exactly what you, as the designer, need to do, and the constraints within which you need to do it. In this article we’ll examine the basics needed for a great design brief which should help ease your design work and avoid any problems with your clients.


User experience with jQuery

I think jQuery is a powerful Javascript library that allows the development of web applications with a better user experience. Here are some plug-ins I discovered and used in the last two months.

Starting learning  jQuery:

About plug-ins:

  • Any+Time™ DatePicker/TimePicker AJAX Calendar Widget – The Any+Time™ JavaScript Library includes a highly-customizable, jQuery-compatible datepicker/ timepicker (calendar/ clock widget) and a powerful Date/String parse/format utility.
  • jQuery UI Datepicker – The jQuery UI Datepicker is a highly configurable plugin that adds datepicker functionality to your pages. You can customize the date format and language, restrict the selectable date ranges and add in buttons and other navigation options easily.
  • jCarousel- jCarousel is a jQuery plugin for controlling a list of items in horizontal or vertical order. The items, which can be static HTML content or loaded with (or without) AJAX, can be scrolled back and forth (with or without animation).
  • jCarousel Lite – jCarousel Lite is a jQuery plugin that carries you on a carousel ride filled with images and HTML content. Put simply, you can navigate images and/or HTML in a carousel-style widget. It is super light weight, at about 2 KB in size, yet very flexible and customizable to fit most of our needs.
  • CLEditor – it is an open source jQuery plugin which provides a lightweight, full featured, cross browser, extensible, WYSIWYG HTML editor that can be easily added into any web site.
  • SimpleModal – it’s a lightweight jQuery Plugin which provides a powerful interface for modal dialog development. Think of it as a modal dialog framework. SimpleModal gives you the flexibility to build whatever you can envision, while shielding you from related cross-browser issues inherent with UI development.
  • UI Elements: Search Box with Filter and Large Drop Down Menu – Today we will show you some more UI elements: a search box with a filter and a large drop down menu. We will use jQuery in both elements for the effect. We will also use plenty of CSS3 properties to create some slick looking details.
  • Event Calendar for an ASP.NET MVC Application – This tutorial explains the steps required to integrate a Google-like interactive event calendar in an ASP.NET MVC application. We will use dhtmlxScheduler, an Open-Source JavaScript calendar that provides an event scheduling interface with drag-and-drop capabilities and AJAX support. Events can be displayed in Day/Week/Month/Year views and edited by the end-user on the client side.
  • Integrating jQuery DataTables plugin into ASP.NET MVC applications – JQuery DataTables plugin is an excellent client-side component that can be used to create rich-functional tables in the web browser. This plugin adds lot of functionalities to the plain HTML tables that are placed in web pages such as filtering, paging, sorting, changing page length etc. By default it works with client side rows that are rendered in table (in <tbody> </tbody> section in the HTML code of the table) but it might be configured to use data from the server via Ajax calls. However, to integrate DataTables with server-side code developer must know protocols and parameters that are sent by DataTables and how to use them on server side. This article shows how JQuery DataTables plugin can be integrated into ASP.NET MVC application. It contains step by step examples that show how DataTables plugin interacts with server-side components.
  • Facebox Image and Content Viewer – Facebox is a lightweight Facebook-style Lightbox that can display images, divs, and even entirely remote pages (via AJAX) inline on a page and on demand. It uses the compact jQuery library as its engine, unlike Lightbox v2.0, which uses Prototype.
  • jqGrid – jqGrid is a grid component for ASP.NET & PHP. It supports for all major databases (MS SQL, MySql, Postgre).
a solid basis from which to continue your learning.a solid basis from which to continue your learning.