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?

Thursday, December 31, 2009

Eureka! SoapExtension problems solved! - Jan Tielens' Bloggings

This guy had my same problem. I'm recording this here for posterity's sake.

Eureka! SoapExtension problems solved! - Jan Tielens' Bloggings: "Maybe you've read my post about the problems I had while using a custom SoapExtension class. Thanks to an anonymous reaction, I found the sollution!! I was testing the webservice by using the default test page from Internet Explorer, but the testpage in IE uses the GET protocol, not the SOAP protocol. So there was nothing wrong with my code (I started believing I really sucked ;-), I only had to make a very simple test application. Thanks again to the person who submitted this tip!"

Wednesday, December 30, 2009

ASP.NET.4GuysFromRolla.com: Exception Handling Advice for ASP.NET Web Applications

ASP.NET.4GuysFromRolla.com: Exception Handling Advice for ASP.NET Web Applications:

Excerpt:
"The Crib Notes
My advice for handling exceptions in an ASP.NET application can be boiled down to the following guidelines:
  • Create and use a meaningful custom error page.
  • In general, do not catch exceptions. Let them bubble up to the ASP.NET runtime. Some cases where catching an exception makes sense include:
    • When there is a plausible way to recover from the exception by performing some alternative logic,
    • When a peripheral part of the application's workflow throws and exception and that exception should not derail the entire application, and
    • When you need to include additional information with the exception by throwing a new exception that has the original exception as its inner exception.
  • Log all exceptions to some persistent store and use email (or some other medium) to notify developers when an exception occurs in production. Consider using ELMAH or ASP.NET's built-in Health Monitoring system to facilitate this process.
Read on for a more in-depth look at these suggestions."

Tuesday, December 29, 2009

How to Make Your ASP.NET Third Party Component 10x Faster > Web/Cloud Applications Development Platform > White Papers

How to Make Your ASP.NET Third Party Component 10x Faster > Web/Cloud Applications Development Platform > White Papers:

I wonder how well this works. I tried making a control using Visual WebGui, but it was extremely expensive to load up a hundred of them on one page (yes, that's my requirement).

"The following document will explore the basics of enhancing 3rd party ASP.NET components performance by leveraging the Empty Client (an ASP.NET extension) pipeline.

1.1�What is the Empty Client?
This architecture is an emerging open source methodology which offers a different approach to architecting, developing and deploying AJAX applications. In order to shed some light on this methodology, we will compare it to the classic Thin and Thick (also referred to as Fat or Smart) client approach and to traditional AJAX structures. Empty Client offers a new balance between the Thin and Thick client approaches and a new channeling of the AJAX calls."
Reblog this post [with Zemanta]

Monday, December 21, 2009

Making Sense of ASP.NET Paths

Making Sense of ASP.NET Paths: "ASP.Net includes quite a plethora of properties to retrieve path information about the current request, control and application. There's a ton of information available about paths on the Request object, some of it appearing to overlap and some of it buried several levels down, and it can be confusing to find just the right path that you are looking for."

Tuesday, December 15, 2009

How to commit in Git when there are "suspicious patch lines" with trailing whitespace

Try the following:

1. Stage desired files using "git add" or "git add -p" or "git gui" or "git citool" etc.
2. Use "git commit --no-verify"

Actually, was this really worth a blog post? Since this blog acts to augment my memory, I guess it does.

Friday, December 04, 2009

Dynamic LINQ - Development With A Dot

Dynamic LINQ - Development With A Dot: "Included with Microsoft's .NET samples, which you can get here lies an hidden gem: a set of method extensions for IQueryable and IQueryable that allow execution of lambda expressions specified as strings, which is handy if you want to generate expressions dynamically."

Saturday, November 21, 2009

ASP.NET 2.0: Playing a bit with GridView "Sort Grouping"

ASP.NET 2.0: Playing a bit with GridView "Sort Grouping":

Thank the Lord!

"I am on bit experiment mood today, so I did a little tryout to see what it requires to add so called "sort grouping" into GridView. E.g when you have tabular data in GridView and you sort it based on some criteria, you'd want to better express those distinct items, based on which the grid is sorted. Here's a few screenshots of what I did, to demonstrate what I mean."

A few ASP.NET 2.0 GridView Sorting Tips and Tricks

A few ASP.NET 2.0 GridView Sorting Tips and Tricks:

From an old Scott Guthrie blog post from 2006. This seems to be exactly what I need to revamp the GridView that I'm working on! I'm also having good results with GaiaWare.

"I saw a few interesting posts today that talked about ways to implement some sorting tips and tricks with the ASP.NET 2.0 GridView:

Mike has a nice post that walksthrough how to implement custom bi-directional sorting with the GridView. Souri uses a similar approach to implement multi-column GridView sort semantics.

Teemu then has a cool post that shows how to implement 'sort grouping' where you can sub-group/band row values within the GridView:

Hope this helps,

Scott"

Monday, November 09, 2009

jQuery Performance Rules

Very useful! Here are the rules, with my personal favorites highlighted in bold:
  1. Always Descend From an #id
  2. Use Tags Before Classes
  3. Cache jQuery Objects
  4. Harness the Power of Chaining
  5. Use Sub-queries
  6. Limit Direct DOM Manipulation
  7. Leverage Event Delegation (a.k.a. Bubbling)
  8. Eliminate Query Waste
  9. Defer to $(window).load
  10. Compress Your JS
  11. Learn the Library