Tech Support Websites

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Monday, 20 February 2012

Free online services to find what a site is running on

Posted on 09:56 by Unknown
  • Netcraft is one of the oldest sites devoted to tracking technology on the Internet. Their service provides a site report that can tell you what web-server a site is running on, host info, uptime etc and also identify related subdomains.
  • BuiltWith lists technologies used by a specified site. As they profile thousands of sites, BuiltWith Trends provides consolidated information about the most popular technologies used on the web.
  • Snoopy is a bookmarklet for snooping on web pages. Snoopy can 'sniff' out of the page, such as the   doctype, what JS libraries are used in the page, what analytics, what font embedding technique is used, etc. I found it interesting that it also shows the generated source which can be useful to web developers for debugging.
     
Read More
Posted in WebApps | No comments

Saturday, 11 February 2012

Online IDEs for C# - frill free Visual Studio alternatives

Posted on 22:41 by Unknown
Got a quick C# snippet to try out but don't want to use Visual Studio or don't have the resources on your computer right-away? There are some great desktop alternatives to VS to run snippets but did you know, there are also online IDEs for running .NET code:
  • CodeRun
  • Compilr
  • ideone
  • MSDN Virtual Labs
This type of web applications that allow their users to upload snippets of text, usually samples of source code, for public viewing, are called Pastebins. There are plenty of Pastebins now, but the above list lets you run C# programs.

Also see:
Collaborative JavaScript debugging tools - jsFiddle & JS Bin
Read More
Posted in C#, Tools, WebApps | No comments

Friday, 10 February 2012

Beware of breaking changes in jQuery library versions

Posted on 22:37 by Unknown
I often re-use old code because it's mostly bug free and has withstood the test of time.

I recently copied a jQuery snippet from a perfectly working old project and was shocked to find that a particular piece of AJAX functionality wasn't working anymore. It turned out that there was a breaking change in the jQuery.ajax() method  in jQuery library version 1.5 and the code was failing because the original sample ran an older version of jQuery (1.4.2)!

The jQuery Blog appears to be the official place where breaking changes are announced along with the news of new releases.

Some jQuery plugins too will only work with a specific version of the jQuery library.

Related:
jQuery videos for ASP.NET developers
Free JavaScript & jQuery learning resources
Read More
Posted in Javascript, jQuery | No comments

Monday, 6 February 2012

Just using stored procedures doesn't prevent SQL Injection; use parameterized stored procedures

Posted on 21:47 by Unknown
This answer in dba.stackexchange.com puts in nicely -
Whether you use SQL statements or stored procedure doesn't matter. What matters is whether your SQL uses parameters or concatenated strings. Parameters prevent SQL injection; concatenated strings allow SQL injection.

The OWASP wiki has a more detailed explanation

The Stack Exchange family of websites lets you sort & view top voted questions in a specific area of interest identified through tags. They provide a RSS feed that you can keep following through a RSS Feed Reader like Google Reader, to stay abreast of hot questions in your favorite programming area.

The RSS feed for the top voted questions with the sql-injection tag on dba.stackexchange.com looks like this - http://dba.stackexchange.com/feeds/tag?tagnames=sql-injection&sort=votes
Read More
Posted in Security, SQL Server | No comments

Wednesday, 1 February 2012

Sample SQL Server database scripts

Posted on 12:21 by Unknown
From my old notes - a list of sample database scripts (.SQL files) that you can use for your SQL Server  experiments:

  • Pubs
  • Northwind  (download link:  archive.msdn.microsoft.com)   
  • BBC Countries Dataset
  • CIA World Factbook
  • Nobel Prize Winners
  • Music
  • Movie Database
  • ACME products
  • Top of the Pops
  • Musician
  • Southwind (download link: SQLzoo.net)
  • WordNet lexical database from Princeton University (download link: packaged as a SQL Server script by ObjectGraph )
  • Stack Exchange dump of public data 
Also see:
AdventureWorks OLTP Database Diagram
HOW TO use Wikipedia content in your application
HOW TO back up a database (schema and data) as a SQL Server script
Database Schema Samples
Read More
Posted in SQL Server, Trivia | No comments

Sunday, 29 January 2012

Notes from Pluralsight course - SQL Server Questions and Answers

Posted on 09:45 by Unknown
In the Pluralsight course "SQL Server Questions and Answers", Pinal & Vinod debunk some SQL Server misconceptions with examples and highlight uncommon facts -
  • Use SCOPE_IDENTITY() instead of @@IDENTITY or IDENT_CURRENT("tablename") to get the latest IDENTITY value for the table in the session
  • @@IDENTITY returns the last IDENTITY value produced on a connection
  • SCOPE_IDENTITY() returns the last IDENTITY value produced on a connection (explicity created by you rather than a trigger) and by a statement in the same scope
  • IDENT_CURRENT("tablename") returns the last IDENTITY value produced in a table, regardless of the connection
  • Identity column value can be positive or negative
  • Identity column can be reseeded with DBCC CHECKIDENT command
  • Deleting records from table using DELETE does not reset Identity values whereas deleting records from table using TRUNCATE resets Identity values.
  • TRUNCATE statements are logged and can be part of transaction. Such transactions can be rolled back.
  • Executing TRUNCATE is not possible when a table is referenced by a foreign key or if the table is used in replication or with Indexed views
  • WHERE can be used with SELECT, DELETE, UPDATE statements whereas HAVING is used along with GROUP BY clause in a SELECT statement
  • The order of the conditions in the WHERE clause does not affect index used. This can be verified from the Execution plan.
  • If parenthesis is used with a combination of OR & AND conditions, the result & index usage may vary
  • Table variables & Temporary tables both exist in TempDB
  • Table variables too can have a clustered index but they do not participate in the Transaction context.
  • A Table variable cannot be assigned to another Table variable
  • A Table variable cannot be truncated
  • Stored procedures are not compiled when created.
  • Stored procedures are compiled on first run & this can be verified by watching the SP:CacheInsert event in Profiler.
  • Using Filtered Index (uses WHERE in an UNIQUE INDEX) which is new in SQL Server 2008, it is possible to have multiple nulls even when UNIQUE constraint is imposed.
  • In SQL Server 2008, date and time can be stored independent of each other in a db using the DATE & TIME datatypes
  • DateTime2 datatype has a precision of 100th of a nanosecond.
  • Precision of SmallDateTime datatype is 1 minute
  • Multiple UNIQUE constraints can be defined on a table
  • A quick way to populate table rows - 
  • CREATE TABLE Test (id INT IDENTITY(1,1), Long_Name CHAR(7500) DEFAULT 'dummy') 
    INSERT INTO Test DEFAULT VALUES; GO 15; --inserts 15 rows
  • fn_dblog is an undocumented system UDF that lets you to read from your transaction log  
  • Lock duration is dependent on the ISOLATION LEVEL (READ COMMITTED, READ UNCOMMITTED, REPEATABLE READ, SERIALIZABLE)
  • When a nested transaction is rolled back it always rolls back to the outermost BEGIN TRANSACTION statement (unless SAVEPOINT is used)
  • DENY takes precedence over GRANT except at a column level GRANT
  • Blocked process report Event under Error & Warnings section of Events Selection tab in the Trace Properties dialog box in Profiler helps in analyzing Blocking issues
  • Recent Expensive Queries tab within Activity Monitor in SSMS shows queries that you can optimize.


Read More
Posted in SQL Server | No comments

Saturday, 14 January 2012

Explore console.log if you use JavaScript alert extensively for debugging

Posted on 23:00 by Unknown
The JavaScript alert method is something that most web developers use to debug their code. However, now with all popular browsers incorporating Developer tools within them, there are easier ways to debug client-side code. Firebug is an optional add-on for Firefox that adds richer features to those natively available & probably the motivator for browsers to develop their own Developer tools. I guess, it was IE that started using F12 as keyboard shortcut to start up Developer tools and now that's synonymous with Developer tools on almost all browsers.


Within the Developer tools, a Console panel exists for executing script statements on-the-fly. You can make use of Console methods to expose information that is flowing through your scripts. The console.log method can be used as an alternative to the obtrusive JavaScript alert method to track what's going on within your code without having to click OK for every dialog box that alert throws up. This will work only if you have the Console opened though.


So to remove your debugging code when you deploy to production, use this:
if ( window.console ) {
  // console is available
}


While console.log is one of the more common methods supported in popular browsers(IE, Firefox Firebug, Chrome, Safari), there are other methods as well for which support may vary -


  • console.info
  • console.warn
  • console.error
  • console.assert


Ctrl+Shift+J shortcut lets you jump to the Console panel in Chrome.
Read More
Posted in Browsers, Chrome, Firefox, IE, Javascript | No comments
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)

Popular Posts

  • 10 ways to make laptop battery last longer
    Paraphrased from a Right Choice magazine article with my own opinions: Keep the brightness of the screen as low as possible. If portability ...
  • Words that leave Google Instant speechless
    2600 Magazine has compiled a list of objectionable words that Google Instant has blacklisted. Several volunteers have submitted blackliste...
  • Free JavaScript & jQuery learning resources
    There is a nice compilation of JavaScript & jQuery learning resources in this community wiki on StackOverflow.com . I picked those which...
  • A new JavaScript Reference to bookmark
    For years, the JavaScript section at W3Schools.com has been a indispensable source of reference for me . It will now not be my only source. ...
  • Manipulate PDF files for free with PDFRider
    PDFRider (currently in version 0.5) is an open source project on Codeplex. This utility provides a GUI for the command-line program  Pdftk ...
  • Look what Google Goggles visual search can do
    Google Goggles is a visual search application available currently for Android powered phones. It may possibly be available for phones of oth...
  • HOW TO read long text messages on the Samsung Omnia 652
    Samsung Omnia 652 clumps text messages from a single recepient together. Scrolling through a message doesn't reveal the entire message ...
  • Web Applications - Tips & Tricks
    Did you know, you can append +any-word to a GMail address & use that word to filter emails or distinctly identify where the mail has co...
  • What is the difference between Browser Mode & Document Mode in IE
    If you're a web developer and your job actively involves building web pages that work the same in all browsers including the last three ...
  • Dig deeper into jQuery with "jQuery Succinctly"
    jQuery Succinctly by Cody Lindley is an ebook that Syncfusion is offering as a free download (requires registration). I've been working ...

Categories

  • AJAX
  • Android
  • APIs
  • App
  • ASP
  • ASP.NET
  • ASP.NET-MVC
  • Azure
  • Azure SQL Database
  • AzureInPictures
  • Bing
  • Book Review
  • Bookmarklet
  • Browsers
  • C#
  • chart
  • Chrome
  • Cloud
  • CSS
  • CSS3
  • DidYouKnow
  • E-Commerce
  • Excel
  • FB
  • Fiddler
  • Firefox
  • Gadgets
  • GeoLocation
  • GMail
  • Google
  • Google Docs
  • Google Reader
  • Health
  • Hotmail
  • HOWTO
  • HTML
  • HTML/CSS
  • HTML5
  • Humor
  • Hyderabad
  • IE
  • IIS
  • India
  • Internet
  • IT
  • Javascript
  • jQuery
  • JSON
  • JSONP
  • Laptop
  • Learning Resources
  • Lists
  • Map
  • Metrics
  • Microsoft
  • miscellaneous
  • Mobile
  • NAPA
  • Office365
  • Opera
  • PDF
  • Performance
  • Personal
  • PHP
  • PM
  • PowerShell
  • Privacy
  • Programming
  • Rant
  • Safari
  • Science
  • Search Engines
  • SearchEngines
  • Security
  • SEO
  • Sharepoint
  • SharePoint2013
  • Silverlight
  • Software Engineering
  • Solutions
  • SQL Azure
  • SQL Server
  • TFS
  • Tip
  • Tips
  • Tools
  • Tools/Utilities
  • Trivia
  • TWIL
  • Twitter
  • UX
  • VM
  • VS.NET
  • VS2010
  • VS2012
  • WCF
  • WebApps
  • Websites
  • WF
  • Windows Phone
  • Windows7
  • Windows8
  • Word
  • WP7
  • WPF

Blog Archive

  • ▼  2013 (112)
    • ▼  October (16)
      • 10 ways to make laptop battery last longer
      • Learnings in S/W Engineering from the HealthCare.g...
      • TWIL - Week #29
      • MS currently has 21 apps on Google Play, incl. Wor...
      • Review: uCertify PMI PMP v-5 Online PrepKit
      • TWIL - Week #28
      • HOW TO highlight a Province within a Country with ...
      • My first impressions of Nexus 7 tablet
      • Free APIs, online services to generate screenshots...
      • TWIL - Week #27
      • HOW TO prevent mixed content warning in web pages
      • What's common between Kovid Goyal & Antony Lewis?
      • TWIL - Week #26
      • FB & Twitter spam me with similar subject line
      • Book Review: PMP Rapid Review by Sean Whitaker; MS...
      • Windows Azure Mobile Services - Error: Table 'some...
    • ►  September (14)
    • ►  August (8)
    • ►  July (8)
    • ►  June (13)
    • ►  May (12)
    • ►  April (12)
    • ►  March (8)
    • ►  February (15)
    • ►  January (6)
  • ►  2012 (127)
    • ►  December (11)
    • ►  November (14)
    • ►  October (13)
    • ►  September (14)
    • ►  August (16)
    • ►  July (16)
    • ►  June (6)
    • ►  May (5)
    • ►  April (11)
    • ►  March (12)
    • ►  February (7)
    • ►  January (2)
  • ►  2011 (98)
    • ►  December (5)
    • ►  November (2)
    • ►  October (5)
    • ►  September (7)
    • ►  August (7)
    • ►  July (15)
    • ►  June (10)
    • ►  May (7)
    • ►  April (8)
    • ►  March (10)
    • ►  February (11)
    • ►  January (11)
  • ►  2010 (163)
    • ►  December (14)
    • ►  November (19)
    • ►  October (19)
    • ►  September (15)
    • ►  August (18)
    • ►  July (17)
    • ►  June (20)
    • ►  May (17)
    • ►  April (19)
    • ►  March (5)
Powered by Blogger.

About Me

Unknown
View my complete profile