All posts in Web

This session is so awesome, I just had to post it here so that I can play it over and over again…
What great times are we living…


Theme update

Categories: MVP, Web
Comments: 1

Back in August when I migrated my blog to Windows Azure Websites and WordPress, I mentioned that I was also looking to change my theme. I wanted something fresh, and responsive so that anyone could navigate through it using any device and screen resolution, while adopting the Metro design principles at the same time. Unfortunately I couldn’t find anything I liked that would also fit all my requirements so I kind of stopped looking till today when I found the ideal theme.

Some of the new theme’s options are:

  • Responsive layout (1440px – 320px; on/ off via options)
  • Regular or Magazine homepage layouts available
  • Attractive slider (automatically resize images, auto-slide feature, supports video)
  • Tune background, panels’s opacity and 22 theme’s colors via Styling menu. Save your own color scheme or use 25 hand made skins
  • Your own logo (image) can be added
  • Google.Font support (500+)
  • 6 custom widgets (Blog, Portfolio, Twitter, Flickr, Facebook Like Box, Video)
  • Basic contact form builded-in (sends form data to email)
  • Facebook comments integrated (on/off via options)
  • Shortcodes generator, integrated to visual editor (Galleries, Pricing tables, Testimonials, Logos, Aligned Content, Buttons, Lists, Icons, Videos, Infopanes, Tabs, Pricing Tables, Dropcaps and etc.)
  • Galleries manager (possibility to create galleries in the separate section and insert to any post/ page with shortcodes)
  • Multiple portfolio pages
  • 380+ built-in icons + country flags set available via shortcodes
  • Breadcrumbs builded-in (on/ off via options)
  • Rich theme options
  • Full localization support (contains .po/.mo files)
  • Supports WPML (The WordPress Multilingual Plugin)
  • 2 layouts for Blog (Full, Lite)
  • 2 layouts for Portfolio (3 column, Masonry)
  • Additional page templates (Full-width)
  • Recent posts shortcode
  • Recent portfolios shortcode
  • Custom sidebar for every page/post available
  • Custom sidebar position (right/left side)
  • Sliding sidebar
  • Custom login logo
  • Demo  XML  file is included
  • Contact Form 7 WP plugin optimized
  • Nested comments for posts
  • SEO  friendly and fast Loading
  • Professional author’s support

I hope you like the new theme as much as I do. Drop me a line and let me know what you think.


Before HTML5 when it came to creating rich interactive maps where one could hover or click any region and see details about them, Flash was the right tool for the job.

Right now, though, it is much easier to create maps with JavaScript and, thanks to JS frameworks, it even gets much simpler and jVectorMap is such a JS framework.

jVectorMap

jVectorMap is a jQuery plugin for creating interactive maps very quickly.

It uses SVG as the map format and there are various ready-to-use map files provided. Also, using a vector graphics editor (like Expression Design), we can draw anything (like the map of a shopping mall), export it to SVG and add interactivity to it.

There are options provided for customization (colors, opacity, etc.) and callbacks exist on every level.


Crossfilter is a JavaScript library for exploring large multivariate datasets in the browser. Crossfilter supports extremely fast (<30ms) interaction with coordinated views, even with datasets containing a million or more records;

Since most interactions only involve a single dimension, and then only small adjustments are made to the filter values, incremental filtering and reducing is significantly faster than starting from scratch. Crossfilter uses sorted indexes (and a few bit-twiddling hacks) to make this possible, dramatically increasing the perfor­mance of live histograms and top-K lists. For more details on how Crossfilter works, see the API reference.

imageCheckout the Airline on-time performance


CaptureHow do you handle exceptions in your live web app?

Windows Event Logs?

Log files on the web server?

Log tables on a relational database?

Are you using an exception handling framework?

Of course not….. why bother when you can let your users know what the exception was and how they can exploit it to bring your system down?!!!!!


If you ever created a professional website/application you’ll probably know the value (you’ve probably learned it the hard way as I did Smile) of stress testing your web applications.

There are plenty of tools you can use in order to stress test your web site, ranging from Microsoft Visual Studio to CMD Line tools. Yesterday I found another one StresStimulus.

StresStimulus is an extension for Fiddler (an awesome and free web debugging proxy) which enables us to create instant load tests with virtual users.

stressing

You can record a browser activity (like creating a user), replay it under concurrent load and get the results for the performance of web pages and the entire test.

If you prefer a simple but powerful tool this one is for you.


I recently had a conversation with a client about the future of press and how digital magazines and newspapers are the future of the business. When we talked about that I had a few technologies in mind but nothing like Treesaver.

Treesaver is a JavaScript framework for creating magazine-style layouts that dynamically adapt to a wide variety of browsers and devices. Both content and design is shaped with standards-compliant HTML + CSS and no JavaScript programming is required.

treesaver-js

It simply searches for the <article> tags and displays the content inside them, makes browsing them possible with prev-next buttons and auto-generates a “contents” menu.

The JavaScript is under 25K gzipped (pretty important for mobile) and works with most modern browsers (degrades gracefully for others).

Note to self: Keep that in mind, it might come handy Winking smile


image

If you’ve started developing websites using HTML 5 you will surely like this.

W3C announced the official logo of HTML5 where you can insert into your HTML 5 built  websites.

Besides the HTML5 itself, there are also logos for the features and principles HTML5 is built around like semantics, offline and storage, CSS3 and more.

Other than the logos in multiple formats (including vector), there is an online badge builder provided where you can customize the icons to be used, select its orientation and get an embed code to start using instantly.


Last week two security researchers, Thai Duong and Juliano Rizzo, have discovered a bug in the default encryption mechanism used to protect the cookies normally used to implement Forms Authentication in ASP.NET.

Using their tool (the Padding Oracle Exploit Tool or POET), they can repeatedly modify an ASP.NET Forms Authentication cookie encrypted using AES and, by examining the errors returned, determine the Machine Key used to encrypt the cookie. The process is claimed to be 100 percent reliable and takes between 30 and 50 minutes for any site.

Everyone immediately focused on the bug not mentioning what is commonly known as good practice and applied to every production site by any decent software developer “Never expose your production server errors (exceptions) to the client” failing to do so exposes your server to a number of threats not only the one described in the above security vulnerability.

There are several ways you could achieve that and Scott Gu mentions the easiest one in his blog post. An other way you could hide errors from your clients is by handling the Application_Error event in the web app’s Global.asax like this

void Application_Error(object sender, EventArgs e)
{
  try
  {
    Exception ex = Server.GetLastError();

                //Log any way you feel like

    Server.ClearError();
  }
  catch (Exception ex){	}
  finally
  {
    Response.Redirect("~/error.htm");
  }
}

I’ve been involved for quite some time now with a new Microsoft project codenamed “WebMatrix” but couldn’t say anything about it since all the info was under NDA. Today though, the public availability of the Microsoft WebMatrix Beta was announced, so I guess I’m no longer bound by the NDA agreement and can let you in on a few things.

So first let me clarify a few things, and to do that I’m going to use an excellent explanation from David Ebbo’s blog.

WebMatrix: a stack and a tool

Let’s start with WebMatrix.  The term is actually used is two ways

  1. The WebMatrix stack contains a number of things that you get when you install it via WebPI:
    • The new ASP.NET Web Pages framework
    • The Razor templating engine
    • The WebMatrix tool (see #2)
    • IIS Express
    • SQL CE 4
  2. The WebMatrix tool, which lets you perform various tasks:
    • Create web apps that use the Web Pages framework and the Razor templating engine
    • Install existing sites from the Web Gallery.  Note that those sites don’t have to use the Web Pages framework, and in fact most don’t (e.g. ScrewTurn wiki, Subtext)
    • Manage IIS express
    • Manage SQL CE 4 databases

Key point: the WebMatrix tool is not by any mean the only way to create Web Pages apps.  In fact, the Web Pages framework was designed to be very notepad friendly.  On the other end of the tooling spectrum, it will later be fully supported by Visual Studio.

You can find more info on WebMatrix in ScottGu’s blog: