Wednesday, September 9, 2009
Tuesday, August 25, 2009
Advanced ASP.NET MVC
Learn how to extend the ASP.NET MVC framework with dependency injection, view engines, action filters, and more. We’ll see how to apply Test Driven Development and write unit tests with mock objects.
The WTFs of a non-relational design in a relational database
Here are some facts about the Vision system:
- The data model comprised a single table named DATA.
- The DATA table had 240+ columns.
this application was something new, and that the way it stored data and metadata in the database would revolutionize computing
You are in a world of hurt. It takes six months to train a new maintenance person and a database consultant," waving at me, "says that the simplest of reports can only be created with the greatest difficulty using the most low-level reporting tools." He stood up, walked to the white board, picked up a pen, and wrote:
"RUN LIKE HELL!"
http://www.simple-talk.com/opinion/opinion-pieces/bad-carma/
Monday, August 24, 2009
NDC 2009 Videos
Mark Nijhof has created a list of presentations from the Norwegian Developers Conference 2009, that featured some of the best speakers around in the field of software development.
Here are some selected presentations. For the full list, see Mark's blog.
Tim Huckaby
Jump into Windows Presentation Foundation! ...and Become Immediately Effective
Seven Blind Alleys in Software Design
Jonas Follesø
MVVM Patterns for Silverlight and WPF applications
Rafal Lukawiecki
Architectual use of Business Intelligence in Application Design
Peter Provost
The Butterfly Effect
Understanding Test Driven Development
Jimmy Nilsson
Is Domain-Driven Design more than Entities and Repositories?
Kevlin Henney
Sustainable Software Architecture
Sql Antipatterns
Wednesday, July 8, 2009
Geotargeting With Google Webmaster Tools
Use Webmaster Tools to set geotargeting if it's not given by the TLD. E.g www.europe-for-australians.com.
Monday, July 6, 2009
Writing for the Web
Get rid of half the words on each page,
then get rid of half of what’s left
– Krug’s third law of usability
"Happy Talk Must Die" - Steve Krug, "Don't Let Me Think"
Some good resources for writing on the web and copywriting:
Charlie Morris http://wdvl.internet.com/Internet/Writing/
Jacob Nielsen http://www.useit.com/papers/webwriting/
Daniel Will-Harris http://www.efuse.com/Design/web_writing_basics.html
Copyblogger, Copywriting 101: http://www.copyblogger.com/copywriting-101/
Also see William Strunk, Jr. (Classic from 1918 http://www.bartleby.com/141/strunk5.html
Sunday, June 28, 2009
Video interviews with Uncle Bob aka Robert C. Martin
Wednesday, June 24, 2009
10 UI Design Patterns You Should Be Paying Attention To
- Lazy Registration: Allow user to check out the site before requiring registration-
- Progressive Disclosure: Show what's relevant now, hide details and reveal when requested.
- Forgiving Format: Allow different input formats, like ZIP or Address in the same input field.
- Clear Primary Actions: Emphasize the primary action (e.g "Save") and de-emphasize the secondary (e.g Cancel).
- Breadcrumbs: Show the path to the current information (e.g Shop > Laptops > Toshiba).
- Account Registration: Improve user experience by letting users register, only neccessary information.
- Required Field Marker: Clearly label required fields.
- Steps Left: Clearly show current steps in a registration sequence.
- Subscription Plans: When a product or service is provided, give different options to the user. Highlight what you want to sell.
- Hover Controls: Hide tools until objects are hovered (e.g show Edit button when an editable list is hovered).
Friday, June 19, 2009
Improve Your Adsense Revenue
Thursday, June 18, 2009
Custom Font Size in AdSense
We're now happy to announce the launch of a [-] feature you've been asking for -- the ability to change the font size of the text in your ad units. You can now select from small, medium, and large font sizes for ad units [-] ... the actual font size will vary for each format size, font face, and user-specific settings such as browsers and operating systems.
Wednesday, June 17, 2009
Econsultancy.com: Cool and usable
- Main menu opacity looks good
- Balloons.. cool header
- Tweet this: Promoted social bookmark, highly visible
- Not just tags - also topics and sectors (main site categories)
- Related content
- HTML / formatting in comments
- Nice footer. Notice search and extra footer with copyright / privacy policy
- "Popular" box: Tags, authors, sectors, topics
- Author info with Twitter and LinkedIn links
- Content: Pyramid - main point early, then details (conversion intent)
- Content: List - advises divided into short points, easy to scan
Tuesday, June 16, 2009
YouTube: Google Webmaster Central Channel
Friday, June 12, 2009
Why Cal Henderson Hates Django
Cal Henderson, the Flickr guy, gives one of the funniest presentations I've seen, at least in the nerdy sphere. Watch, and learn :)
Funny Presentation Recipe
- Be hung over and mention last night
- Use funny images from Flickr, with funny text
- Swear (a lot)
- Be a cocky, rich dude
- Use irrational logic (e.g founder has a big beard, these guys must be serious)
- Show a stupid, funny graph
- Get serious in the end
Wednesday, June 10, 2009
Tuesday, June 9, 2009
Util Classes Must Die
[...] know that there’s probably a better way. Since the problem I see with Utility classes is that they’re usually just a collection of a whole bunch of stuff that doesn’t really belong together, they probably exist for common reasons.
[-}the notion of functional decomposition is so easy that we drop to it when we come across an algorithm that doesn't seem to "fit" into our neat little object tree, and rather than understand the needs, analyze where we can get the best use of the technology, and place the method accordingly, we just toss it into a helper class. And that, my friends, is laziness.
The largest reusable code base that all your developers are already using is the .Net Framework. The vast majority of the framework uses instantiated classes, not static helper classes (there are exceptions, unfortunately). So, the need for reuse is NOT a good argument for helper classes.http://blogs.msdn.com/nickmalik/archive/2005/09/06/461404.aspx
I very much dislike them in an OOP design because inevitably they becomes a dumping ground for all kinds of things that don’t relate to each other at all in the problem domain. It’s an attractive nuisance, to use a legal term. [-] a real adherence to OOP means that you’ll have lots and lots of small, single-purpose classes.
I don't believe that software practices qualify in the moral sphere, so there is no such thing as evil code.
Saturday, June 6, 2009
Jeremy D. Miller: The Joys and Pains of a Long Lived Codebase (Video)
In this presentation recorded at QCon SF 2008, Jeremy D. Miller shares lessons learned while developing a project over 5 years. He talks about his mistakes, what to avoid and how to design, code and test better.
http://www.infoq.com/presentations/Lessons-Learned-Jeremy-Miller
Wednesday, June 3, 2009
...falling from application mode into framework mode
A client isn't interested in software that can be used to create software (frameworks).
Sunday, May 24, 2009
Clixpy
Clixpy is a web usability testing tool. It’s very easy to install, just by pasting a few lines of JavaScript code in your site’s HTML. When users browse your website Clixpy traces everything they do and then plays it for you, giving you the opportunity to extract any information you may need.
Seth Godin:Tribes
Seth Godin argues the Internet has ended mass marketing and revived a human social unit from the distant past: tribes. Founded on shared ideas and values, tribes give ordinary people the power to lead and make big change. He urges us to do so.
Friday, May 22, 2009
TUTORIAL: Entity Framework v2.0 - Model First using Visual Studio 2010 and .Net 4.0
Tuesday, May 19, 2009
Bug / Feature / Task Tracking Tools
Monday, May 4, 2009
Video: Learning from StackOverflow.com
YouTube Description:Until recently, searching for help on highly technical programming problems has been a mess. A lot of what the search engines found was old discussions in forums, where you have a lot of wrong answers and out-of-date answers that you have to sift through yourself. You also found a lot of answers at sites that were hidden behind a pay wall, which uncloaked themselves for Google and then demanded membership fees to see the answers. More
- Voting: Override by best solution
- Tags: Smart tags, what you can maybe answer
- Editing: Edit your own and other people's entries
- Badges: No money, status
- Karma: No money, status
- Pre-search: Previously asked questions
- Google is UI: Google search important traffic source
- Performance: ASP.NET, C#, Jquery, Sql Server, Dell
- Critical Mass: "Empty restaurant syndrome"
Video: Don Norman: The Design of Future Things
In this talk, Don discusses his latest book, The Design of Future Things, which is about the increasing intrusion of intelligent devices in the automobile and home with both expected benefits and unexpected dangers.
Cool Presentation Template (Google Docs)
A Few Good Resources on "Search"
Faceted search enables users to navigate a multi-dimensional information space by combining text search with a progressive narrowing of choices in each dimension.
http://en.wikipedia.org/wiki/Faceted_search
Yahoo Design Pattern Library
Sunday, May 3, 2009
How to create tabs with jQuery UI
Tabs are a space saver that are welcome on almost any site. This how-to shows you step-by-step how to quickly integrate them into your site using the jQuery UI.
Saturday, May 2, 2009
The Future of C#
Anders Hejlsberg is a Technical Fellow in the Developer Division. He is an influential creator of development tools and programming languages. He is the chief designer of the C# programming language and a key participant in the development of the Microsoft .NET framework.
Google Documents List Data API
The Google Documents List Data API allows client applications to upload documents to Google Documents and list them in the form of Google Data API ("GData") feeds. Your client application can request a list of a user's documents, and query the content in an existing document.
Find Tables With Foreign Key Constraint in Database
COL_NAME(fc.parent_object_id,
fc.parent_column_id) AS ColumnName,
OBJECT_NAME (f.referenced_object_id) AS ReferenceTableName,
COL_NAME(fc.referenced_object_id,
fc.referenced_column_id) AS ReferenceColumnName
FROM sys.foreign_keys AS f
INNER JOIN sys.foreign_key_columns AS fc
ON f.OBJECT_ID = fc.constraint_object_id
/*** The Result Set can be used to copy constraints to your testing DB or to keep on hand in case of errors. ***/
SELECT
‘ALTER TABLE ‘+FK.TABLE_NAME+
‘ ADD CONSTRAINT ‘+C.CONSTRAINT_NAME+’ FOREIGN KEY’+
‘(’+CU.COLUMN_NAME+’) ‘+
‘REFERENCES ‘+PK.TABLE_NAME+
‘(’+PT.COLUMN_NAME+’)’ ForeignKeyScripts
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS C
INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS FK ON C.CONSTRAINT_NAME = FK.CONSTRAINT_NAME
INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS PK ON C.UNIQUE_CONSTRAINT_NAME = PK.CONSTRAINT_NAME
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE CU ON C.CONSTRAINT_NAME = CU.CONSTRAINT_NAME
INNER JOIN (
SELECT i1.TABLE_NAME, i2.COLUMN_NAME
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS i1
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE i2 ON i1.CONSTRAINT_NAME = i2.CONSTRAINT_NAME
WHERE i1.CONSTRAINT_TYPE = ‘PRIMARY KEY’
) PT ON PT.TABLE_NAME = PK.TABLE_NAME
–WHERE PK.TABLE_NAME IN (’Table1′, ‘Table2′)
–WHERE FK.TABLE_NAME IN (’Table1′, ‘Table2′)
Friday, May 1, 2009
Microsoft .NET Framework 3.5 Commonly Used Types and Namespaces
Thursday, April 30, 2009
Pitfalls for Startups Driven by Software Developers
Some Useful T-SQL DateTime Functions
SELECT DATEADD(mm,-1,DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0))
----Last Day of Last Month
SELECT DATEADD(ms,-3,DATEADD(mm,0,DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0)))
Wednesday, April 22, 2009
WPF: Data Binding and More
CSLA @ DotNetRocs TV
Dot Net Rocks TV has a few videos with Rocky Lhotska talking about CSLA
Rocky Lhotka on CSLA.NET 2.0
http://www.dnrtv.com/default.aspx?showNum=12
http://www.dnrtv.com/default.aspx?showNum=13
and episodes about using CSLA.NET with a Data Access Layer, CSLA.NET in Web Services and ASP.NET
http://www.dnrtv.com/default.aspx?showNum=60
http://www.dnrtv.com/default.aspx?showNum=33
http://www.dnrtv.com/default.aspx?showNum=32
There is also an episode of the DNR podcast talking to Rocky
http://www.dotnetrocks.com/default.aspx?showNum=253
Monday, April 20, 2009
Most Interesting .NET StackOverflow Questions
MVVM (model-view-view model) example with Silverlight
[-] article uses the WPF Password Manager, Cipher Text application as fertile ground for exploring the WPF UI Design Pattern, Model-View-ViewModel or MVVM. The application sports many cool features and some WPF goodness.
Topics:Patterns and WPFMVP patternWhy MVVM is better for WPFBuilding an application with MVVMWPF, data binding
Saturday, March 14, 2009
Weekend Reading
Thursday, March 5, 2009
How to create a custom url protocol
HKEY_CLASSES_ROOT/
your-protocol-name/
(Default) "URL:your-protocol-name Protocol"
URL Protocol ""
shell/
open/
command/
(Default) PathToExecutable