2012-11-13

Scott Hanselman's ASP.NET Interview Questions



ASP.NET Interview Questions - Scott Hanselman:
  • From constructor to destructor (taking into consideration Dispose() and the concept of non-deterministic finalization), what the are events fired as part of the ASP.NET System.Web.UI.Page lifecycle.
  • Why are they important?
  • What interesting things can you do at each?
  • What are ASHX files?
  • What are HttpHandlers?
  • Where can they be configured?
  • What is needed to configure a new extension for use in ASP.NET?
  • For example, what if I wanted my system to serve ASPX files with a *.jsp extension?
  • What events fire when binding data to a data grid?
  • What are they good for?
  • Explain how PostBacks work, on both the client-side and server-side.
  • How do I chain my own JavaScript into the client side without losing PostBack functionality?
  • How does ViewState work and why is it either useful or evil?
  • What is the OO relationship between an ASPX page and its CS/VB code behind file in ASP.NET 1.1? in 2.0?
  • What happens from the point an HTTP request is received on a TCP/IP port up until the Page fires the On_Load event?
  • How does IIS communicate at runtime with ASP.NET?
  • Where is ASP.NET at runtime in IIS5? IIS6?
  • What is an assembly binding redirect?
  • Where are the places an administrator or developer can affect how assembly binding policy is applied?
  • Compare and contrast LoadLibrary(), CoCreateInstance(), CreateObject() and Assembly.Load().


2012-10-31

Learn Faster - Only Competitive Advantage



"The ability to learn faster than your competitors may be the only sustainable competitive advantage."


Arie de Geus

2012-10-26

Simple F# for Complex Problems; CQRS and Event Sourcing; Windows 8 Apps with HTML, CSS, and JavaScript


MSDN Flash Newsletter
MSDN Flash Newsletter
Customize MSDN Flash | Unsubscribe
Volume 16, Number 24 | October 8, 2012
 
  Top Stories  
 
Master Simple F# Code to Solve Complex Problems with Try F#
Try the new Try F# Beta that makes F# 3.0 programming easy to learn, simple to use and share, all through the browser. Experience F# 3.0's unique information-rich programming features for Big Data analytics, and solve complex problems more efficiently. Try the new Try F# Beta today.

Free Ebook: Exploring CQRS and Event Sourcing
This guide from Microsoft patterns & practices is focused on building highly scalable, highly available, and maintainable applications with the Command & Query Responsibility Segregation and the Event Sourcing architectural patterns. It describes the experiences of a development team with no prior CQRS proficiency in building, deploying (to Windows Azure), and maintaining a sample real-world, complex, enterprise system to showcase various CQRS and ES concepts, challenges, and techniques.

Jump Start October 10 - 11: Developing Windows 8 Apps with HTML, CSS and JavaScript
This free Jump Start offers accelerated, engaging, demo-rich virtual learning. It also helps developers seeking the MCSD: Windows Store Apps certification prepare for Microsoft certification exams 70-480 and 70-481. Learn from two seasoned Microsoft Technical Evangelists with real-world experience developing applications using a wide array of platforms and languages.
Your Featured Content
patterns & practices Symposium 2013 Registration Open
January 15 - 17, 2013, Redmond, WA
Learn about practices, patterns, and technologies that will save you time and reduce risk when creating web, mobile, cloud and Windows solutions. The Symposium is also an opportunity to influence p&p and other product teams face-to-face to address the scenarios most important to you.

Building an App for Both Windows Phone and iOS
Find out how you can create an app from scratch that targets both Windows Phone and iPhone, while staying true to the design philosophy and UX features of each platform.

MSDN Virtual Lab: Windows 8 Lab 5: Process Lifetime Management - JavaScript
Process Lifetime Management is one of the most important concepts for a developer building modern UI style apps to understand. Unlike traditional Windows applications, modern UI style apps execute only when they are in the foreground. Get started - download Visual Studio Win8 Express.

MSDN Virtual Lab: Introduction to Cloud Services
Learn to create applications in Windows Azure using web roles and worker roles, use Storage services including blobs, queues, and tables, and publish an application to Windows Azure Cloud Services. Try Windows Azure free for 90 days.

Bytes by MSDN: Windows 8 User Experience
Do design principles hinder innovation? Bonny Lau explains the reasoning behind the Windows 8 user experience and urges developers to leverage design templates as a starting point (not an end point) for design, to push the envelope and build great looking apps. Learn how to make your app the best experience for your users at Generation App.

 
Free One-Day Windows Azure Developer Camp
Join the free, one-day Windows Azure Developer Camp and leave with code running in the cloud. The camp starts with the basics and builds to more advanced topics throughout the day. Developers of all languages are welcome, so register now and then download the free trial.

OData, the Entity Framework, and Windows Azure Access Control
When Sean Iannuzzi was asked to secure a web service for an existing database and web application, he saw the benefits of using OData, but he didn't think it was secure enough. See how he developed his own custom implementation with extra security.

MSDN Virtual Lab: Windows 8 Lab 6: Settings and Preferences - JavaScript
Add About and Preferences commands to the settings pane in Contoso Cookbook. Expose a user preference that can be toggled, and use roaming settings to store that preference so it will follow users wherever they go. Get started - download Visual Studio Win8 Express.

MSDN Virtual Lab: Introduction to Windows Azure Virtual Machines
Learn how to deploy a simple ASP.NET MVC4 web application to a web server hosted in Windows Azure, using SQL Server and configuring load balancing. Try Windows Azure free for 90 days.

Bytes by MSDN: Windows 8 User Interface
Chris Anderson, long-time UI architect at Microsoft (Windows Forms, WPF), discusses the innovative new standards and features introduced in Windows 8 that enable web developers to build Windows 8 apps more easily. Chris has been focused on the Windows Libraries for JavaScript and urges developers to leverage resources at the Windows devcenter to build apps.

 
 
MSDN Flash Sponsors
 
What's Happening Near You

Desert Mountain District
Upcoming Local Events

Get One Step Ahead with the Cloud OS Signature Event Series
October 10, Denver, CO

Southwest Fox and Southwest XBase++
October 18 - 21, Gilbert, AZ

Desert Code Camp
November 17, 8:00 A.M., Chandler, AZ

  ADVERTISEMENT

Delight Your Users - Create Apps Designed for the Device
With DXTREME, multi-channel means building stunning applications that span devices and optimize the best parts of each platform, from Windows 8 to smartphones.
 
 
Events
Attend a Windows 8 Event in Your Community
Looking for a Windows 8 event in your community? Find Windows 8 Developer Camps, Hackathons, and other community-led events.

Windows Azure Hands-on Labs Online
Through October 31, 2012, Online
As you work on your labs, Microsoft experts can assist and provide guidance by chatting with you one-on-one or by virtually taking control of your lab. Sign up soon, as seating is limited.
 
  ADVERTISEMENT

Visual Studio 2012 - Free Trial Software
No matter the size of your team, or the complexity of your project, Visual Studio 2012 can help turn your ideas into modern, multi-platform apps.
 
 
Resources
 
 
This newsletter contains information based on your preferences. Customize which topics you receive (changes will be reflected from the next newsletter sent after your confirmation).
 
You can also see a version of the newsletter containing all topics.


 




MSDN | Sign up for other newsletters | Unsubscribe | Update your profile
©2012 Microsoft Corporation Terms of Use | Trademarks | Privacy Statement


Microsoft
Microsoft respects your privacy. To learn more please read our online Privacy Statement.

If you would prefer to no longer receive this newsletter, please click here.
To set your contact preferences for other Microsoft communications click here.

Microsoft Corporation
One Microsoft Way
Redmond, WA 98052 USA

2012-10-22

Success is not the key to happiness.


Success is not the key to happiness. Happiness is the key to success. If you love what you are doing, you will be successful.


Albert Schweitzer

2012-10-04

Coders to Inherit the Earth? No!



Can we trust the code that increasingly runs our lives?


By Jane Wakefield - Technology Reporter

NASA Engineers weren't the only ones praying for a smooth landing when Curiosity landed on Mars.

Imagine how different the first pictures sent from the Mars Rover would have been if there had been a software failure.


Not to mention pretty hard to get someone along from the IT department to fix it.

One person breathing a sigh of relief when everything worked was Jack Chou, founder of software testing firm Coverity.

Software designed by his firm worked its way through two million lines of Mars Rover code, debugging and fixing problems as the software was being created.

"We were ecstatic that everything worked well," he told the BBC.

"One of the team did say that it found critical defects that could have caused problems if they hadn't been found," he said.

It seems pretty obvious that complex spacecraft would be hugely reliant on software but these days so are many of the more mundane things that we take for granted

...from our mobile phones to the cars we drive, from the sites we shop and bank with, to medical devices that keep us healthy.

And just as software designed for space obviously needs to be bug free so too does code that binds us ever more closely to the connected world.

But, with an estimated 50-70% of software projects ending in failure, how can we put our trust in code?

Making mistakes


Improving software's somewhat tarnished reputation was one of the driving forces behind setting up Coverity in 2003, Mr Chou admits.

"To me as a young computer science graduate I felt it was a shame software was seen as unreliable," he said.

One defect per 1,000 lines of code isn't a bad mistake rate

...says Jack Hughes. Along with three other PhD students and a professor at Stanford University, Mr Chou set out to create something different - software that could look for bugs as code was being written rather than wait until after the project was completed.

"Software ticks over a lot of different things. It is becoming autonomous and is controlling aspects of daily life that only a few years ago we couldn't imagine," he said.

On average the systems developed by Coverity detects one defect per 1,000 lines of code.

"If you think about 1,000 lines of code that is equivalent to 15 printed pages and if in an essay of that length you only had one error then that is pretty impressive."

But, he admits, there are always going to be below-average software developers.

"Even great developers make mistakes so the important thing is to make sure we put safety nets below so that the mistakes get caught," he added.

As we become ever more reliant on code, firms such as Coverity will become increasingly important.

Freelance Coders

But some believe a more radical overhaul of the way software is designed is also needed.

Topcoder is a growing community of more than 420,000 programmers, all of who compete in coding competitions to design software for both business and educational projects.

"Software projects become complex very quickly and they can go off the rails pretty quickly," said Topcoder founder Jack Hughes.

Jack Hughes hopes Topcoder can become an industry standard
"The software industry is a new one compared to say manufacturing. When you buy a product you expect it to work but software design just hasn't had that process behind it," he said.

By offering projects up to a community of programmers you get better results, much faster, he added.

"We do think that these models will become predominant in the industry."

With skilled programmers in great demand, tech firms are staring to follow what happens on sites such as Topcoder.

It ranks its programmers based on a range of criteria, gold-dust for potential employers.

"A Topcoder rating becomes an important element to people's CVs. Larger companies check this out," said Mr Hughes.

The community is starting to win some high-level clients, such as Medicare, the US government-run health programme. Topcoder recently won the contract to revamp its systems.

"They felt that they had to do something different and really wanted to try something that was a big departure from the usual way of doing things," said Mr Hughes.

Gone Golfing

Programmers also seems to love the Topcoder model, often because they can work when they want, ideal for a group of people not renowned for enjoying the nine to five routine.

"They can also work on multiple projects and spread their skills," said Mr Hughes.

Justin Gaspar runs a Topcoder team and says that it the most efficient place he has ever worked.

"With Topcoder you are basically paid to get something done rather than to sit somewhere for eight hours a day," he said.

It also results in far better code, he thinks.

"There is way more oversight and in terms of reviewing, code is looked at by two or three members. Peer review plays a big part."

Mr Gaspar admits that when he is heads down on a project it can mean a lot of late nights, but, on the flip side, when he isn't coding he has time off to play golf.

As the world becomes more connecting, so will our reliance on coders.

It has long been predicted that the geek will inherit the Earth.


Let's just hope that they have got enough sleep.

Original Article: BBC

2012-09-24

Some Questions Cannot Be Answered


It occurred to me that the perceived importance of a question is in direct inverse proportion to the ability to answer it.

This troubles me at the most fundamental level; and yet I know somewhere in my mind that it simply must be that way...anything else would be all the more wrong.

I can only wonder (as I don't feel particularly comforted by this knowledge): Is this what is meant by "acceptance"?

If so, why do I feel shortchanged in some way?

I suppose acceptance was billed as something entirely different to me.

2012-09-16

HTML5 Audio Player Code

2012-08-20

"The Best Programming Advice I Ever Got"





Rob Pike, now a Distinguished Engineer at Google, worked at Bell Labs as a member of the Unix Team and co-created Plan 9 and Inferno. He was central to the creation of the Go and Limbo programming languages. Rob shares an experience at Bell Labs that changed his approach to debugging.
Be sure to check InformIT for a new article every Wednesday. See more advice from other programmers here.

Name:
Rob Pike
Job Experience:
I worked at Bell Labs for many years. I was in the Computing Sciences Research Center, the (surprisingly small) lab that created Unix, although I was not there until after the Seventh Edition was released. Since 2002 I've been at Google, working on various pieces of infrastructure and infrastructure infrastructure.
Most Notable Achievement:
I'm probably best known for my books with Brian Kernighan, The Unix Programming Environment (still in print almost 30 years on!) and The Practice of Programming. The most widespread thing I've done was develop UTF-8 with Ken Thompson. But I've also done significant work in computer graphics, operating systems, software tools, and most recently helped develop the Go programming language.
Most Frequently Used Programming Language:
For too long to admit to here, C was my language of choice, but I have used many languages through my career. Nowadays almost everything I write is in Go; it is the most productive language I have ever used and has displaced C completely from my toolbox.
Advice:
A year or two after I'd joined the Labs, I was pair programming with Ken Thompson on an on-the-fly compiler for a little interactive graphics language designed by Gerard Holzmann. I was the faster typist, so I was at the keyboard and Ken was standing behind me as we programmed. We were working fast, and things broke, often visibly—it was a graphics language, after all.
When something went wrong, I'd reflexively start to dig in to the problem, examining stack traces, sticking in print statements, invoking a debugger, and so on. But Ken would just stand and think, ignoring me and the code we'd just written. After a while I noticed a pattern: Ken would often understand the problem before I would, and would suddenly announce, "I know what's wrong." He was usually correct.
I realized that Ken was building a mental model of the code and when something broke it was an error in the model. By thinking about *how* that problem could happen, he'd intuit where the model was wrong or where our code must not be satisfying the model.
Ken taught me that thinking before debugging is extremely important. If you dive into the bug, you tend to fix the local issue in the code, but if you think about the bug first, how the bug came to be, you often find and correct a higher-level problem in the code that will improve the design and prevent further bugs.
I recognize this is largely a matter of style. Some people insist on line-by-line tool-driven debugging for everything. But I now believe that thinking—without looking at the code—is the best debugging tool of all, because it leads to better software.
"The Best Programming Advice I Ever Got" with Rob Pike | | InformIT.

2012-08-18

Can meditation make you smarter?

Wildmind Buddhist Meditation


Laura Schwecherl, Time: Most of us know that meditating is a great way to reduce stress. But meditative practice goes beyond taking a chill pill. Meditating is also associated with structural changes in the brain that help sharpen focus and improve memory and multitasking skills. But can this mind-body practice really help you get straight A's?

Smarty (Yoga) Pants — Why It Matters
It's not just tree huggers and ultra-yogis who meditate. In 2007, about 9% of American adults tried getting into their Zen zones at least once in the past year. Most people say they meditate to manage stress, but meditative practice affects …

Read the original article »


Sent with Reeder

The Social Media Recruitment Survival Guide

Mashable!


FB twitter istock


At least 90% of recruiters are already using social media to find, source and connect with talented candidates. With Facebook at 901 million members and Twitter with 500 million accounts, an increasing number of employment-eligible people spend a good part of their day on one or more of these popular social platforms. It's easy to see why these networks are becoming key sources for employers and recruiters to find potential employees. When used effectively, social media can give an unprecedented boost to a company's recruiting capabilities.

Social media activity rose rapidly in recent years and the bigger platforms touch people's lives multiple times everyday, but using soci…
Continue reading...

More About: Facebook, Google, Jobs, Recruiting, Social Media, Twitter, features, job search series, mashable

Sent with Reeder

2012-08-07

Managing the PATH Environment Variables On Mac OS X



How To Edit Your PATH Environment Variables On Mac OS X

If you are new to Mac OS X, you may need to know how to edit your PATH. The good news is that this is an easy task on Mac OS X.

The recommended way is by editing your .bash_profile file. This file is read and the commands in it executed by Bash every time you log in to the system. The best part is that this file is specific to your user so you won’t affect other users on the same system by changing it.

Step 1: Open up a Terminal window (this is in your Applications/Utilites folder by default)

Step 2: Enter the follow commands:

touch ~/.bash_profile; open ~/.bash_profile

This will open the .bash_profile file in Text Edit (the default text editor included on your system). The file allows you to customize the environment your user runs in.

Step 3: Add the following line to the end of the file adding whatever additional directory you want in your path:

export PATH="$HOME/.rbenv/bin:$PATH"

That example would add ~/.rbenv to the PATH. The $PATH part is important as it appends the existing PATH to preserve it in the new value.

Step 4: Save the .bash_profile file and Quit (Command + Q) Text Edit.

Step 5: Force the .bash_profile to execute. This loads the values immediately without having to reboot. In your Terminal window, run the following command.

source ~/.bash_profile

That’s it! Now you know how to edit the PATH on your Mac OS X computer system. You can confirm the new path by opening a new Terminal windows and running:

echo $PATH

You should now see the values you want in your $PATH system variable...

Original Article

Mad at Apple...

2012-07-31

Live Connect Developer Center

http://msdn.microsoft.com/en-us/live//default.aspx

Live SSO - Signing In in different langs.

http://msdn.microsoft.com/en-us/library/live/hh826543.aspx

Windows Live SSO Code

http://blogs.msdn.com/b/windowsappdev/archive/2012/06/26/best-practices-when-adding-single-sign-on-to-your-app-with-the-live-sdk.aspx

Microsoft Office 2013 Preview: Hands On | PCWorld Business Center

http://www.pcworld.com/businesscenter/article/259260/microsoft_office_2013_preview_hands_on.html

Why I'm So Excited About Microsoft This Year

http://antjanus.com/blog/daily-gibberish/why-im-so-damn-excited-about-microsoft-and-what-makes-microsoft-so-cool/

Tseczka Preview

http://antjanus.com/tseczka/

Nokumo: A Promising Project Management App

With so many task management, GTD, and to-do apps available, for a new task management app to be worth the trouble to try out, it has to give you that extra bang for your buck. A good task management application has to identify a hole and try to fill it, and do a really good job at the same time, or it's just not worth moving from another task app that's getting the job done.

Currently available to download for free while in beta, Nokumo is attempting to solve your task management woes, make your workflow more productive, and make it worth your while to switch to a new app. Giving you a space to keep your contacts, events, tasks, and projects under one roof, Nokumo looks to be a powerful application. But can it deliver on its promises?

Serious Project Management

The contacts view gives you an overview of all of your contacts on your Mac. There's also a tab to view just organizations, which is incredibly handy, as getting your best friends mixed up with the company that cleans your carpets or mows your lawn isn't the most effective way to manage your rolodex.

Viewing contacts in Nokumo

Viewing contacts in Nokumo

You can tie contacts to tasks or calendar events, useful for people management if you're planning a party or a get-together. Similarly, link organizations to documents inside Nokumo or to projects you're working on. This will allow you to see the history of a relationship with a business or partner over time and easily keep track of what you've worked on together in the past.

Tasks can be created in Nokumo or synced from Calendar. You'll be able to set start and end dates, allowing you to create tasks that begin in the future and won't appear on your radar until you're ready to start working on them. You can categorize tasks and link them to different projects. There's also an alarm feature that will let you alert yourself just before the task begins, just before it's due, or even at the halfway point.

Creating a Nokumo project

Creating a Nokumo project

Projects are similar to tasks, but you can assign projects to multiple people. You'll set start, due, and end dates, just like a task, but you can also create milestones. Within the project, you can track its progress, so you have a good idea if things are going to plan or if it's not going so well.

An example of a very important document

An example of a very important document

Notes and Documents allow you to store data for your projects and tasks. Keeps notes about what's going on and link them to your projects for reference. If you have any files that are relevant to your projects, you can browse for them in the Documents tab and then link them where appropriate. You can even link notes and documents to contacts and calendar events, and your documents can really be any sort of file, not just text or PDF files.

Where Things Didn't Work

This is the first beta for Nokumo, or so the splash screen says when I open the app, and it shows. The interface isn't at all intuitive, and it took me awhile to figure out what I was even supposed to use the app for. The help file was no help, as each feature gets a one sentence description but no actual explanation.

Nokumo is still referring to Calendar as iCal, and that's okay in a beta, especially as the Mountain Lion shift is so new. However, Nokumo is a cross-platform app, and while it works well on the Mac, there are some PC remnants in the menus and in the interface. I hope as Nokuma moves out of beta, compatibility on the Mac isn't an afterthought.

A huge problem for me was the inability to sync with Google Calendar. The majority of my calendars, and I have more than a few, are managed in Google Calendar and are synced with Calendar on OS X and iOS. I have one really out of date calendar on my Mac, and that's the only one Nokumo could find or do anything with. For me to be able to do any sort of meaningful task or project management, I'd need access to those calendars, and it just wouldn't be practical for me to move all of that to Calendar right now.

The not at all useful preferences

The not at all useful preferences

There were a few other annoyances with the UI, but the biggest of the small bugaboos was how difficult it was to create new categories, project types, groups, and tags. These are all similar ways of organizing the different pieces that make up Nokumo task management. However, you can't just create a new tag or type when you're creating a new project or task. You have to open up the application preferences and create each one at a time. It's time consuming and counterintuitive, as I know what I want to tag a project when I'm creating it, not an hour ahead of time.

Conclusion

There's still a lot of good here, and Nokumo is a robust project management app. If you haven't already found something that's working for you, this is one to give a try. The ability to link contacts to tasks to projects to documents is incredibly useful, so that you have everything you need organized in one place.

Nokumo is still in beta, and hopefully when they get to the final release, they'll have all their ducks in a row. With a more intuitive user interface and syncing, Nokumo could really show itself to be a powerhouse. Until then, it's usefulness is only so-so.