Monday, December 27, 2010

Kill That Util Class!

According to him, a static "Helper" or "Util" class is an anti-pattern in a language like C#, which has extension methods, so kill it!

Interesting take. I'd agree that it can greatly reduce the incidence of such classes, yes.

Kill That Util Class!: "According to me a Util class is a sign of misplaced responsibility (a missed opportunity to see an abstraction fulfilling that behavior), resulting in poor OO-ness. Often, utility methods are placed in classes with only static methods and disallow instance creation with new. If you listen carefully, these Utility classes cry out loud, telling you to find a home for the homeless child!"

Saturday, December 11, 2010

The protocol-relative URL

From Paul Irish: The protocol-relative URL: "There's this little trick you can get away with that'll save you some headaches:
<img src="//domain.com/img/logo.png">

If the browser is viewing that current page in through HTTPS, then it'll request that asset with the HTTPS protocol, otherwise it'll typically* request it with HTTP. This prevents that awful "This Page Contains Both Secure and Non-Secure Items" error message in IE, keeping all your asset requests within the same protocol."

Thursday, December 09, 2010

Algorithmia Source Code released on CodePlex - Frans Bouma's blog

This code library is used by the LLBLGen Pro 3.0 designer, so it's stable and tested.

The undo/redo looks intriguing.

Algorithmia Source Code released on CodePlex - Frans Bouma's blog: "One of the main design goals of Algorithmia was to create a library which contains implementations of well-known algorithms which weren't already implemented in .NET itself. This way, more developers out there can enjoy the results of many years of what the field of Computer Science research has delivered. Some algorithms and datastructures are known in .NET but are re-implemented because the implementation in .NET isn't efficient for many situations or lacks features. An example is the linked list in .NET: it doesn't have an O(1) concat operation, as every node refers to the containing LinkedList object it's stored in. This is bad for algorithms which rely on O(1) concat operations, like the Fibonacci heap implementation in Algorithmia. Algorithmia therefore contains a linked list with an O(1) concat feature."

Saturday, December 04, 2010

CODE Magazine - Article: Behavior-Driven Development

Uniting XP, Scrum, and BDD.

CODE Magazine - Article: Behavior-Driven Development: "Extreme Programming and Scrum compliment each other, but they weren’t made from the start to fit together hand in glove. Practicing Extreme Programming and Scrum are more effective when practiced together, and even more effective when practiced together as Behavior-Driven Development."

Wednesday, November 24, 2010

Naïve Bayesian Classification Using C# and ASP.NET

Gonna learn me some Bayesian inference. Maybe.

Naïve Bayesian Classification Using C# and ASP.NET: "THE BAYES RULE

To understand and code for the na ve Bayesian algorithm, we will do some math to understand the procedure. The primary equation for the Bayes rule is:

P(A|B) = (P(B|A) * P(A)) / P(B)"

There's also this: http://nbayes.codeplex.com/

and this: Inference in Belief Networks - CodeProject

InfoQ: Testing Techniques for Applications With Zero Tests

InfoQ: Testing Techniques for Applications With Zero Tests: "Agile techniques recommend having adequate unit and acceptance tests to build a robust test harness around the application. However, in the real world, not all applications are fortunate enough to have a test harness. In an interesting discussion on the Agile Testing group, members suggested ways to test applications which do not have any automated tests."

A six-step approach is outlined.

InfoQ: How To Do Large Scale Refactoring

InfoQ: How To Do Large Scale Refactoring: "Refactoring by definition means changing the internal structure of a program without modifying its external functional behavior. This is mostly done to improve the non-functional attributes of the program thus leading to improved code readability and maintainability. However, refactoring on a large scale often gives jitters to even seasoned Agilists. The Agile community discussed some ways of handling the large scale refactoring."

Strangling was mentioned as a good approach.

This article also discusses the Mikado Method, which is kind of interesting.

Tuesday, November 23, 2010

InfoQ: Fulfilling the Promise of MVC

Supposedly the original intent of MVC, which has since been bastardized. Check out his PhD dissertation, linked to in the article.

InfoQ: Fulfilling the Promise of MVC

Monday, November 22, 2010

So You Want to Interview for a Senior Developer Position…. « If & Else

So You Want to Interview for a Senior Developer Position…. « If & Else - "When my last company imploded in an epic fiery crash, I quickly found myself moving from Nashville, TN to Chattanooga, TN to become part of a growing team that was recruiting for several senior positions. While I’m the most recent full-time senior member to come aboard, we are still actively seeking senior level talent. Since August, I have sat through countless phone screens, phone interviews and a handful of in-person interviews as part of that search. To say that it has been eye-opening and disappointing would be an understatement. The opinions and observations I’m about to share are my own – and do not reflect the views of my employer (an employer who has been gracious and generous not only to me, but to many candidates, including the ones they’ve flown in from across the country, covering the cost of travel). I don’t intend for this post to be an exhaustive treatment of “what to ask senior architect or developer candidates in an interview” – consider it more a discussion of “the minimum requirements for someone (including you) interviewing for a senior developer or architect position”. I genuinely do not mean to come across as the ‘grumpy, impossible to please’ developer/architect. My frustration will be evident, though, so at least that’s out in the open…."

Saturday, November 20, 2010

10 Steps To Become Better .NET Developer - Blog - CQRS and Cloud Computing

10 Steps To Become Better .NET Developer - Blog - CQRS and Cloud Computing: "Here's a list of things you might want to learn about in order to become a better .NET developer. Better developers are eligible to higher paychecks, exciting projects and more freedom in their lifestyles."

Thursday, November 11, 2010

Jurassic - A Javascript Compiler for .NET

Might this come in handy some day?

Jurassic - A Javascript Compiler for .NET: "What is Jurassic?

Jurassic is an implementation of the ECMAScript language and runtime. It aims to provide the best performing and most standards-compliant implementation of JavaScript for .NET. Jurassic is not intended for end-users; instead it is intended to be integrated into .NET programs. If you are the author of a .NET program, you can use Jurassic to compile and execute JavaScript code.

Features
  • Supports all ECMAScript 3 and ECMAScript 5 functionality
  • Simple yet powerful API
  • Compiles JavaScript into .NET bytecode (CIL); not an interpreter
  • Deployed as a single .NET assembly (no native code)
  • Basic support for integrated debugging within Visual Studio
  • Uses light-weight code generation, so generated code is fully garbage collected"

Wednesday, November 10, 2010

Building iPhone Apps with HTML, CSS, and JavaScript

I'm a cheap bastard without a Mac, so ...

Building iPhone Apps with HTML, CSS, and JavaScript: "If you know HTML, CSS, and JavaScript, you already have what you need to develop your own iPhone apps. With this book, you'll learn how to use these open source web technologies to design and build apps for both the iPhone and iPod Touch. Buy the print book or ebook or purchase the iPhone App"

Saturday, November 06, 2010

Git Source Control Provider

I'll have to try this out too.

Git Source Control Provider: "Visual Studio users are used to see files' source control status right inside the solution explorer, whether it is SourceSafe, Team Foundation Server, Subversion or even Mercurial. This plug-in integrates Git with Visual Studio solution explorer."

FsCheck: A random testing framework

I'll have to check this out.

FsCheck: A random testing framework: "FsCheck is a tool for testing .NET programs automatically. The programmer provides a specification of the program, in the form of properties which functions, methods or objects should satisfy, and FsCheck then tests that the properties hold in a large number of randomly generated cases. While writing the properties, you are actually writing a testable specification of your program. Specifications are expressed in F#, C# or VB, using combinators defined in the FsCheck library. FsCheck provides combinators to define properties, observe the distribution of test data, and define test data generators. When a property fails, FsCheck automatically displays a minimal counter example."

Wednesday, November 03, 2010

Mockingbird

New (?) UI mockup tool similar to Balsalmiq and another one I can't remember.

Saturday, October 23, 2010

Test with Windows Live Writer

Everyone is telling me that this tool is really the cat’s meow. So far – about 20 words into it – it’s really not half bad.

Let’s insert a photograph, even though this blog isn’t so much of a blog as a glorified collection of bookmarks.

Hmmm, kinda cool!

I wonder if this would work with ScrewTurn Wiki? (Although I would tend to doubt it, but you never know.)

Saturday, October 16, 2010

A few thoughts on jQuery templating with jQuery.tmpl | Encosia

I have to create some email templates for use by (gulp) classic ASP. I thought I'd do a bit of reading on templates in order for (1) my template tag convention to be inspired by existing templates and thus be future-friendly, and (2) perhaps if I'm lucky, to find a template I can actually use on the server itself. (PURE, mentioned below, might be a candidate.)

A few thoughts on jQuery templating with jQuery.tmpl | Encosia: "I spent some quality time with Dave Reed’s latest revision of John Resig’s jQuery.tmpl plugin recently, migrating a small project from jTemplates. Since both the jQuery team and Microsoft team have requested feedback on jQuery.tmpl, I decided to write about my experience using it (as I am wont to do with these templating proposals).
Overall, jQuery.tmpl is a great step in the right direction. It’s small, it’s simple, and it’s fast. Overloading append() to allow the append(Template, Data) syntax is phenomenal. That approach feels more like idiomatic jQuery than anything else I’ve used, including jTemplates."

He mentions that it lacks composability, but this article is from May. Has Microsoft added it since then?

From the comments, a few more libraries to consider:
Spark - the new hotness, apparently. Included with the latest Microsoft MVC, if I'm not mistaken.
PURE - seems more decoupled than the others, but at first glance it doesn't seem to support to ubiquitous "${}" convention.

I'm still reading. This is kind of a brain dump for further research at some point when I have more time (i.e. when hell freezes over).

Monday, October 11, 2010

Teach Visual Studio Your Own Language -�Easy! - Journal - Rinat Abdullin

Teach Visual Studio Your Own Language -�Easy! - Journal - Rinat Abdullin: "In this article we'll see how simple it is to extend Visual Studio with a custom language. This language will have a real syntax that will be evaluated and transformed into the C# code on-the-fly, saving a few lines of repetitive code!"

BDD, Fluent Interface Generator, and a new .NET 3.5 Parser generator

StoryQ uses a fluent interface generated by Flit, the Fluent Interface Toolkit, which is turn was developed using Irony, a new development kit for writing parsers in .NET. (However, the last release was almost exactly a year ago, so who knows what's up with it?)

Tuesday, October 05, 2010

Javascript Libraries and ASP.NET: A Guide to jQuery, AJAX and Microsoft - Articles - MIX Online

Javascript Libraries and ASP.NET: A Guide to jQuery, AJAX and Microsoft - Articles - MIX Online: "When Microsoft announced they would begin providing official support for jQuery, few of us realized how profoundly that announcement would eventually impact client-side development on the ASP.NET platform. Since that announcement, using jQuery with ASP.NET has moved from the obscure, to a central role in ASP.NET MVC’s client-side story, and now to the point of potentially superseding ASP.NET AJAX itself."

NET jQuery Extensions at GitHub

Highlights include:
"Templating – Previously referred to as jQuery.tmpl or jQuery-tmpl, the jQuery Templating feature was Microsoft’s first foray into working with the jQuery team and community. Though its inclusion in jQuery isn’t planned until jQuery 1.5 is released, you can begin using it in plugin form immediately. That plugin is currently available on GitHub: http://github.com/jquery/jquery-tmpl"
and
"Data Linking – The next feature that may be a precursor to more official things to come is the jQuery-datalink plugin, which is also available on GitHub: http://github.com/nje/jquery-datalink. With this plugin, you can “link” JavaScript objects together so that they remain synchronized when changes are made to one or both of them. The canonical example of this is linking a JavaScript object’s properties to corresponding fields in a form, to eventually automate tasks such as change tracking and submission."

More from Scott Guthrie:
"jQuery Templates
The jQuery Templates plugin enables you to create client templates. For example, you can use the jQuery Templates plugin to format a set of database records that you have retrieved from the server through an Ajax request.
You can learn more about jQuery templates by reading my earlier blog entry on jQuery Templates and Data-Linking or by reading the documentation about it on the official jQuery website. In addition, Rey Bango, Boris Moore and James Senior have written some good blog posts on the jQuery Templates plugin:
When the next major version of jQuery is released -- jQuery 1.5 -- jQuery Templates will be included as a standard part of the jQuery library."

Thursday, September 09, 2010

jQuery Grid Recommendations - Stack Overflow

jQuery grid reference from StackOverflow:

jQuery Grid Recommendations - Stack Overflow: "The best entries in my opinion is Flexigrid and jQuery Grid (1st & 2nd in list). The others are included for completeness.

Flexigrid: http://flexigrid.info/
jQuery Grid: http://www.trirand.com/blog/
jqGridView: http://plugins.jquery.com/project/jqGridView
Ingrid: http://reconstrukt.com/ingrid/
SlickGrid http://github.com/mleibman/SlickGrid
I like the jQuery Grid (#2 above) better than Flexigrid mostly because it supports editable cells, and has very good documentation and samples on the website."

Saturday, August 28, 2010

How to

Fascinating -- from www.edwardtufte.com, in the section where he criticizes the PowerPoint culture at NASA that contributed to the Columbia disaster in 2001.

"How to make engineers write concisely with sentences? By combining journalism with the technical report format. In a newspaper article, the paragraphs are ordered by importance, so that the reader can stop reading the article at whatever point they lose interest, knowing that the part they have read was more important than the part left unread.

State your message in one sentence. That is your title. Write one paragraph justifying the message. That is your abstract. Circle each phrase in the abstract that needs clarification or more context. Write a paragraph or two for each such phrase. That is the body of your report. Identify each sentence in the body that needs clarification and write a paragraph or two in the appendix. Include your contact information for readers who require further detail.

-- William A. Wood (email), September 8, 2005"

Monday, August 23, 2010

The Marvels of Monads - Yet Another Language Geek - Site Home - MSDN Blogs

The Marvels of Monads - Yet Another Language Geek - Site Home - MSDN Blogs: "With all of the attention that monads get, why am I writing yet another explanation of monads?� Not to compare them to some everyday occurrence or to chronicle my journey to understanding.� I explain monads because I need monads.� They elegantly solve programming problems in a number of languages and contexts."

Thursday, August 19, 2010

Mastering the 960 Grid System | Nettuts

Looks a little complicated, but they claim it'll be easy peasy by the end of the article.

Mastering the 960 Grid System | Nettuts: "We’re already familiar with the 12- and 16-column variants of 960.gs, but did you know that a 24-column alternative exists too? In this article, you’ll master the 960 grid system by dissecting the 24-column version demo. If you’ve only used 960gs before for Photoshop mockups, consider this your lucky day. By the end of this article, you’ll be able to convert your designs to HTML and CSS in no time at all."

Don’t let jQuery’s $(document).ready() slow you down | Encosia

Don’t let jQuery’s $(document).ready() slow you down | Encosia: "... what if $(document).ready() is slowing you down? In this post, I’m going show you specific instances where postponing startup code until the document’s ready event slows perceived page load time, could leave your UI needlessly unresponsive, and even causes initialization code to run slower than necessary."

Thursday, August 12, 2010

Fiddler Extension – Request to Code | Chad Sowald


This one is particularly cool:

Fiddler Extension – Request to Code | Chad Sowald: "This Fiddler extension generates C# or VB.NET code to duplicate a web request. �You simply drag one or more Fiddler sessions into the newly created “Code” tab and the extension will produce appropriate code that you can copy and paste into your program that reproduces those requests."

There's also this: JSON Viewer

Tuesday, August 10, 2010

Scott Hanselman - How to Post Code To Your Blog and other Religious Arguments

Scott Hanselman - How to Post Code To Your Blog and other Religious Arguments: "If you've got a programming blog, chances are you'll want to post some code snippets. Posting code sounds easy but it's surprisingly tricky if you consider all the ways that people will be reading your blog. There's a number of ways. Here's a few and their pros and cons."

Saturday, August 07, 2010

Commonly Confused Bits Of jQuery

Commonly Confused Bits Of jQuery: "The explosion of JavaScript libraries and frameworks such as jQuery onto the front-end development scene has opened up the power of JavaScript to a far wider audience than ever before. It was born of the need — expressed by a crescendo of screaming by front-end developers who were fast running out of hair to pull out — to improve JavaScript’s somewhat primitive API, to make up for the lack of unified implementation across browsers and to make it more compact in its syntax."

Thursday, June 17, 2010

Friday, June 11, 2010

Cookieless Session Problems in ASP.NET

A web app needs to embed my web app in an IFrame. IE doesn't trust cookies from inside the IFrame, thus necessitating cookieless browsing. The caveats of cookieless browsing are discussed in this article.

Cookieless Session Problems in ASP.NET

Thursday, June 10, 2010

Git Reference

Wow -- this is great. From GitHub, an essential Git reference. Their documentation tends to rock.

Git Reference

Tuesday, June 08, 2010

Parameterized unit tests using Pex - reducing code written

Peli's Farm - Pex, Stubs, Moles, QuickGraph, MbUnit, Reflector Addins - Test Driven Development With Parameterized Unit Tests: "The key difference is the shortcut from step 4 (generating unit tests) to 3 (fix the code), without passing through step 1 (write a new test). This is illustrated by the yellow feedback loop in the diagram below:"

Thursday, May 06, 2010

Debugging classic ASP web application with Visual Studio 2010

If you Google that, you should be referred instead to Monster.com or to a mental health clinic.

Why, oh why, do people still use classic ASP?

Thursday, April 29, 2010

Using .NET: Tame Your Software Dependencies for Flexible Apps

It's from Microsoft, right, so it must be authoritative?

This uses Castle Windsor and Binsor, a Boo (!) DSL for wiring up dependencies.

Using .NET: Tame Your Software Dependencies for Flexible Apps

Wednesday, April 21, 2010

Git autocrlf problem revisited -- and solved!

Sometimes when switching from one branch to another, Git will pick a seemingly random set of files and complain that they've changed, when it's just line endings that apparently it doesn't like. The key symptom here is that "git diff" shows a ton of files whose entire contents have changed, while "git diff -w" shows no changes in those same files.

The following commands, issued in a row, will work:

git add -u
git config core.autocrlf false
git reset
git config --unset core.autocrlf


This assumes that you've got core.autocrlf normally on by default in the global settings file. If you do not, then replace the last line with the following:

git config core.autocrlf true

Or, to consolidate in one command, the first version is:

git add -u && git config core.autocrlf false && git reset && git config --unset core.autocrlf

while the second is:

git add -u && git config core.autocrlf false && git reset && git config core.autocrlf true

Reblog this post [with Zemanta]

MSLinqToSQLGenerator fails when there's a partial class having a Using at the top of the file | Microsoft Connect

Finally. Resolution!

MSLinqToSQLGenerator fails with partial class having a Using at the top of the file | Microsoft Connect: "If you add a partial class declaration to a Linq-To-SQL Data Classes context object, and then put a 'using' statement at the top of the file outside the namespace declaration, the following error occurs when you run the custom tool:

'The custom tool 'MSLinqToSQLGenerator' failed. Unspecified error'

Also, Visual Studio will then delete the corresponding '.designer.cs' file for your data context and nothing will compile after that point."

Thursday, April 01, 2010

Tuesday, March 30, 2010

Jeffrey rambles about Rx, .NET and programming in general. : Time flies like an arrow in Script#

Jeff Van Gogh of Microsoft demonstrates Reactive Extensions for Javascript (RxJS) and Nikhil Kothari's Script#

Jeffrey rambles about Rx, .NET and programming in general. : Time flies like an arrow in Script#: "Time flies like an arrow in Script#

As kouPhax requested this on the Rx forum, I decided to post a port to Script# of the Time flies like an arrow sample that ships with Rx for JavaScript.

Rx for JavaScript already ships with a binding for Script#, so that will make our lives a lot easier (you can find the binding in \Redist\ScriptSharp\RxJs.dll)"

Friday, March 19, 2010

Tsung

Tsung: "It can be used to stress HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and Jabber/XMPP servers. Tsung (formerly known as IDX-Tsunami) is a free software released under the GPLv2 license.

The purpose of Tsung is to simulate users in order to test the scalability and performance of IP based client/server applications. You can use it to do load and stress testing of your servers. Many protocols have been implemented and tested, and it can be easily extended. WebDAV, LDAP and MySQL support have been added recently (experimental).

It can be distributed on several client machines and is able to simulate hundreds of thousands of virtual users concurrently (or even millions if you have enough hardware ...).

Tsung is developed in Erlang, an open-source language made by Ericsson for building robust fault-tolerant distributed applications.

Tsung is supported by Process-One"

Wednesday, March 17, 2010

Create a self-signed SSL certificate with IIS 6.0 Resource Kit SelfSSL

Create a self-signed SSL certificate with IIS 6.0 Resource Kit SelfSSL: "The IIS 6.0 Resource Kit version 1.0 was released 5/30/2003. It contains a utility called SelfSSL.exe for instantly creating and installing a self-signed testing certificate into IIS. The resource kit is freely downloadable from the Microsoft website. Although the tool is intended for IIS 6.0, it works just as well on IIS 5.1. It is so simple to use that no instructions are required beyond the pointer to the download."

Wednesday, March 03, 2010

Introducing SelectorGadget: point and click CSS selectors

Danny Burkes showed this in a demo today.

Introducing SelectorGadget: point and click CSS selectors: "SelectorGadget is an open source bookmarklet that makes CSS selector generation and discovery on complicated sites a breeze. Just drag the bookmarklet to your bookmark bar, then go to any page and press it. A box will open in the bottom right of the website. Click on a page element that you would like your selector to match (it will turn green). SelectorGadget will then generate a minimal CSS selector for that element, and will highlight (yellow) everything that is matched by the selector. Now click on a highlighted element to remove it from the selector (red), or click on an unhighlighted element to add it to the selector. Through this process of selection and rejection, SelectorGadget helps you come up with the perfect CSS selector for your needs."

Tuesday, March 02, 2010

Glimmer: a jQuery Interactive Design Tool - Home

I heard about this on April 29, 2009, but I'll blog about it now.

Glimmer: a jQuery Interactive Design Tool - Home: "Without having to touch a piece of JavaScript code, harness the power of the jQuery. With Glimmer: a jQuery Interactive Design Tool, easily create interactive experiences and use the tool to discover ways to add animation and other effects to your site in new and unexpected places. Glimmer is a Windows application which generates jQuery, XHTML and CSS. If jQuery is the “write less, do more” JavaScript library, then Glimmer is the “write none, do more” jQuery design tool."

Quick and Dirty Guide to Configuring Log4Net For Web Applications

This line of code is a gem:
private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

Quick and Dirty Guide to Configuring Log4Net For Web Applications


My code:
private static readonly ILog Log { get; set; }

static ClassConstructor()
{
    Log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
    log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(HttpContext.Current.Server.MapPath("~/log4net.config")));
}

Monday, March 01, 2010

The Kayak Framework: An easy way to speak HTTP with .NET

I'll have to look into this. It's like a thttpd for .NET/CLR.

The Kayak Framework: An easy way to speak HTTP with .NET: "Kayak is a lightweight HTTP server for the CLR, and the Kayak Framework is a utility for mapping HTTP requests to C# method invocations. With Kayak, you can skip the bulk, hassle, and overhead of IIS and ASP.NET. Kayak enables you to do more with less syntax, and is easy to configure to work in any way you care to dream up."

Thursday, February 25, 2010

Rich Internet Application Screen Design | UX Magazine

Great article!

Rich Internet Application Screen Design | UX Magazine: "Designing a rich Internet application (RIA) can test even an experienced design team. The hardest challenge is to blend Web and desktop paradigms to create a responsive and intuitive experience. Some paradigms that exist in the desktop environment are ill-suited for the Web, while many of the Web paradigms people are familiar with (paging, explicit refresh) are no longer necessary with RIA technologies like Flex and Ajax. As this space matures, we are learning more and more about which boundaries can be pushed, and which patterns transcend time and technology. While working on the book Designing Web Interfaces, Bill Scott and I explored hundreds of Web applications searching for these patterns. Armed with a crazy amount of examples, we distilled the patterns into six principles:
  • Make It Direct
  • Keep It Lightweight
  • Stay in the Page
  • Provide Invitations
  • Use Transitions
  • React Immediately"

Wednesday, February 24, 2010

Flapjax

Very, very interesting:

Flapjax: "Flapjax is a new programming language designed around the demands of modern, client-based Web applications. Its principal features include:
  • Event-driven, reactive evaluation
  • An event-stream abstraction for communicating with web services
  • Interfaces to external web services
Flapjax is easy to learn: it is just a JavaScript framework. Furthermore, because Flapjax is built entirely atop JavaScript, it runs on traditional Web browsers without the need for plug-ins or other downloads. It integrates seamlessly with existing JavaScript code and other frameworks."

F# Web Tools | Projects | TomasP.Net

F# Web Tools | Projects | TomasP.Net

Looks interesting. There's a commercial product similar to this whose name escapes me at present.

Object Oriented JavaScript Class Library in C#/.NET Style - CodeProject

Object Oriented JavaScript Class Library in C#/.NET Style - CodeProject

This is a really good guide on C# coding style in Javascript! He shows how to make classes, public, private, event handlers, enums, etc. Smart guy!

Sunday, January 31, 2010

Upgrade causes loss of f5 networks host plugin

Upgrade causes loss of f5 networks host plugin: "I need the F5 Networks Host Plugin (version 6020.2009.0202.1108) too, so I managed to install and tested it on Firefox 3.5.2 and it works well as far as I have tested it.
Why F5 Network didn't fix it, I don't know...
To install it :
- download the urhostplg.xpi file
- rename it in urhostplg.zip and unzip it
- change the version limit in 'install.rdf' file :
From :3.1.*
To : 3.5.*
- zip and rename to urhostplg.xpi
- drag and drop the .xpi on Firefox to install it"

Pushing to a Git repository using the wrong case causes peculiar behavior (maybe involves --forcing)

I was fetching from a Github repository while working at home, and I kept getting the following error:

Unpacking objects: 100% (3/3), done.
From github.com:sidecut/Quest-Paperless
 + 22b4432...7d00da0 TRY-remove-LLBLGEn -> origin/TRY-remove-LLBLGEn  (forced update)
error: Ref refs/remotes/origin/TRY-remove-LLBLGen is at 7d00da03b4a76116ffbaf89a4b5f6d54aeba9810 but expected 22b4432207570926a71d969a7ff8da821bf68354
 ! 22b4432..cddedc1  TRY-remove-LLBLGen -> origin/TRY-remove-LLBLGen  (unable to update local ref)

As evident from gitk, the remote branch refused to advance farther, but I could continue to push to that branch from the office. (Notice the git fetch output mentioned a forced update. I don't remember, frankly, whether I pushed it in that way from the office

The culprit was hiding in plain site: the error message showed that the branch names that differed only in case:
TRY-remove-LLBLGEn
TRY-remove-LLBLGen


The solution? Dropped the branch TRY-remove-LLBLGEn and recreated it using the proper case:
git push origin :TRY-remove-LLBLGEn
git push origin TRY-remove-LLBLGen

Monday, January 25, 2010

Web Service Functional Testing - Tips and Tricks Login Security - soapUI

Web Service Functional Testing - Tips and Tricks Login Security - soapUI: "Before we look into the tests, we have to be aware of what we're looking for, so first let's state this; large part of hacking often is not about actually gaining access to a system, but rather exposing system behavior in order to be able to get access to it later. This means large parts of our testing is not about cracking the system, but rather expose behavior in your web service that exposes how it works. Our first Tip is an example of this."

Friday, January 22, 2010

Youssef Moussaoui's WCF blog : How to Change .NET Configuration Files at Runtime (including for WCF)

I gotta try this. This was brought to my attention by the wonderful blog The Morning Brew by Chris Alcock, a daily compendium of .NET news and product announcements. Chris is in the UK, so the news is available first thing in the morning for us Yanks before we've even gotten out of bed.

Youssef Moussaoui's WCF blog : How to Change .NET Configuration Files at Runtime (including for WCF): "How to Change .NET Configuration Files at Runtime (including for WCF)
One of the most common issues people run into with WCF configuration, and .NET applications in general, is that configuration files appear to be fixed. You only have one configuration file for an executable, and you can’t use different configuration files as your exe.config while the application is running. Of course, you can always shut down the application, change the configuration, and then restart it with the new configuration file, but that’s tedious and oftentimes undesirable. In this blog post, I’ll show you how to easily get around this limitation."

Wednesday, January 20, 2010

SharpTemplate � Xtreem Geek

Nikhilk (Script# author) himself pointed this out:

SharpTemplate � Xtreem Geek: "SharpTemplate is a HTML templating engine that seamlessly integrates with Script# to provide compile time, strongly typed, super efficient HTML templating capabilities for productive rich web application development.� Some of its advantages are listed below…

Converts HTML into C# that gets compiled by Script#
Benefits from strong typing for all variable / API references that occur within the HTML
Generated HTML templates are super efficient due to compile time pre-processing that helps avoid regex matching in JavaScript unlike many other templating engines
Familiar templating syntax (based upon Asp.Net)
If you are not already using some sort of compile time HTML templating with Script# then you must definitely give this a try and see the productivity boost for yourself.

SharpTemplate has Script# as its prerequisite.� It can work in VS2008, VS2010 and Visual C# express."

Thursday, January 14, 2010

[ANN] DC ALT.NET – 1/27/2010 - Clojure

Maybe I should look at Clojure? It targets .NET! (Emphasis added in the quote below.)
[ANN] DC ALT.NET – 1/27/2010 - Clojure: "Simply put, Clojure is a dynamic general purpose programming language that targets both the Java Virtual Machine as well as the .NET CLR. This language, which is a dialect of Lisp, combines the ease of an interactive development scripting language with something that makes it stand out, which is a robust concurrency infrastructure. Parts of the concurrency story that are interesting is both a software transactional memory (STM) system as well as a reactive agent system much like the Mailboxes we’ve covered here in F#. What also makes Clojure interesting is that it is predominantly a functional language with a rich set of immutable data structures.

The Clojure site is the best place to get started which includes the language features reference, basic tutorials, screencasts and more. For those who wish to get Clojure working on the CLR, there are great instructions at the Git repository for ClojureCLR. In the future, I’ll cover more of the language, but these two references should be enough to get you started."

Wednesday, January 13, 2010

DotNet JQuery (DNJ) : new features in version 0.4.0

DotNet JQuery (DNJ) : new features in version 0.4.0: "This articles describes new implemented features in version 0.4.0 : Client events, 3rd party extensions and resource management"

Wow. I will have to check this out.

Check Out the Newest Additions to the Control Gallery!

Check Out the Newest Additions to the Control Gallery!: "Download a free newsletter generator, a professional user dashboard toolkit, and a free image resizer in recent additions to the ASP.NET Control Gallery."

Maybe the dashboard will work for Vendor Web?