Saturday, March 07, 2009

NYTimes: Job Losses Hint at Vast Remaking of Economy

History happens in slow motion. This article looks like it's eerily foreshadowing the future. We go about our lives, worried about the situation around us, but the world is the same for the most part. After 9/11, everyone talked about how everything would change, yet the world continued as it did before. Irony did not die. But I think that the changes happening now will dwarf the post-9/11 changes that everyone was predicting at the time.
From The New York Times:

Job Losses Hint at Vast Remaking of Economy
By PETER S. GOODMAN and JACK HEALY

With unemployment at 8.1 percent, some economists believe that a wrenching restructuring is under way....

http://www.nytimes.com/2009/03/07/business/economy/07jobs.html

Thursday, March 05, 2009

Building Composite Data Bound Controls in ASP.NET

Describes how to build a CompositeDataBoundControl, overriding CreateChildControls() and so on.

Monday, February 23, 2009

Wednesday, February 11, 2009

How to determine iPhone firmware version

This didn't work for me. Brought up tons of diagnostics, but no version.
"How do I find out what firmware version my iPhone is?

You don't actually need to know this in order to unlock your iPhone with us, as our software works with all current iPhone firmware versions, but to check yours - simply dial *3001#12345#* then press the call button, compare your Modem version to the table below to find out your firmware version:

1. 04.04.05_G - OTB 1.1.4 iPhone
2. 04.03.13_G - OTB 1.1.3 iPhone
3. 04.02.13_G - OTB 1.1.2 iPhone
4. 04.01.13_G - OTB 1.1.1 iPhone"

Monday, February 09, 2009

ASP.NET AJAX partial update does not work with xhtmlConformance tag in web.config

What a pain! I spent hours troubleshooting this.

I converted a .NET 1.1 application to .NET 2.0. The web.config had this section:
  <system.web>
...
<xhtmlConformance mode="Legacy"/>
...
</system.web>

When I removed the xhtmlConformance tag, it began working again.

Tuesday, January 27, 2009

Temporal Data Techniques in SQL

Timestamps, holidays, etc., written by a member of the SQL-92 standards committee. Maybe coulda used this at Rockwell!

Monday, January 19, 2009

THE PALM PILOT AND THE HUMAN BRAIN

Interesting...

Part I.

and Part II.

Jeff Hawkins' web site is here: http://www.onintelligence.org/

Microsoft Naming Conventions

"The general format for a namespace name is as follows:

<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>]

For example, Microsoft.WindowsMobile.DirectX."

Sunday, January 18, 2009

Economy Made Few Gains in Bush Years

"President Bush has presided over the weakest eight-year span for the U.S. economy in decades, according to an analysis of key data, and economists across the ideological spectrum increasingly view his two terms as a time of little progress on the nation's thorniest fiscal challenges."

And yet there are those who will worship Dubya until the day they die. How can you take seriously any supposedly religious person who believes that Dubya was sent by God? Maybe he was sent by God to punish us for something -- like to punish us for voting Republican.

Friday, January 09, 2009

Developing a use case document, looking for guides or software to help

On StackOverflow.com, someone asked about a good reference guide and templates for writing use cases. The person with the best answer talked about Alistair Cockburn, and mentioned this document as well, which I haven't read yet: http://www.bredemeyer.com/pdf_files/functreq.pdf

Thursday, January 01, 2009

Friday, December 19, 2008

My first WSCF web service project. Contract first, code later.

We're using WSCF (Web Services Contract First) 0.7 at work, and this guy published a review of an earlier version (0.5). He loved it except for the following, which might be different in 0.7, but I haven't checked yet:
"So far using WSCF for building the web service is quite a success. But I did not use it for building the consuming client. My main problem was that every roundtrip of the contracts requires deploying (plain copy) the generated wsdl and the accompanying schema's to the client code. Instead I created just a server project which included the contract schema's. One clean and independent project. As all info needed by a consumer of the service is in the wsdl all the consuming client application needs is a reference to the wsdl. Which is exactly what add web reference in VS does. Having updated the service all I need to do in the client project is Update Web Reference. However, the proxy generated by WCSF does offer some nice extra's. It returns the data (when the option in the wizard is set) as a collection, the VS web reference just sees an plain array. I also have to set the service endpoint (the URL with it's location) by hand. The latter is something I'll have to do anyhow, as it will be read from a config file. And I can live with the arrays as a trade off for a cleaner development process. This is a point where WSCF could be improved."

Monday, December 15, 2008

LINQ support on .NET 2.0

Oh thank god!!!

I'm working in a shop with ancient servers which run only .NET 2.0, so this is a wonderful thing to know about. Woo hoo!

Here's what he has to say:
  1. "Create a new console application
  2. Keep only System and System.Core as referenced assemblies
  3. Set Copy Local to true for System.Core, because it does not exist in .NET 2.0
  4. Use a LINQ query in the Main method. For example the one below.
  5. Build
  6. Copy all the bin output to a machine where only .NET 2.0 is installed
  7. Run"


[Update Apr 2 2009: This didn't work for me because our server was using .NET 2.0 without SP1. Instead, I used the excellent LINQBridge.]

Tuesday, November 25, 2008

Monday, November 24, 2008

Google Advice for writing testable code

From Miško Hevery's blog:

Warning Signs

  • new keyword in a constructor or at field declaration
  • Static method calls in a constructor or at field declaration
  • Anything more than field assignment in constructors
  • Object not fully initialized after the constructor finishes (watch out forinitialize methods)
  • Control flow (conditional or looping logic) in a constructor
  • Code does complex object graph construction inside a constructor rather than using a factory or builder
  • Adding or using an initialization block

Flaw #2: Digging into Collaborators

Warning Signs

  • Objects are passed in but never used directly (only used to get access to other objects)
  • Law of Demeter violation: method call chain walks an object graph with more than one dot (.)
  • Suspicious names: contextenvironmentprincipalcontainer, or manager

Flaw #3: Brittle Global State & Singletons

Warning Signs

  • Adding or using singletons
  • Adding or using static fields or static methods
  • Adding or using static initialization blocks
  • Adding or using registries
  • Adding or using service locators

Flaw #4: Class Does Too Much

Warning Signs

  • Summing up what the class does includes the word “and”
  • Class would be challenging for new team members to read and quickly “get it”
  • Class has fields that are only used in some methods
  • Class has static methods that only operate on parameters"

LINQ Reference Documentation

From Charlie Calvert's Community Blog:

"The LINQ documentation created by Microsoft is available both inside Visual Studio, and for free via the MSDN library found on the WEB. Here are some important pages from that documentation that can help you navigate through the online reference material that Microsoft has prepared for LINQ developers:

· The Root MSDN Library Page: http://msdn.microsoft.com/en-us/library/default.aspx

· .NET Development: http://msdn.microsoft.com/en-us/library/aa139615.aspx

· .NET Framework 3.5: http://msdn.microsoft.com/en-us/library/w0x726c2.aspx

· System.Linq: http://msdn.microsoft.com/en-us/library/system.linq.aspx

· System.Data.Linq: http://msdn.microsoft.com/en-us/library/system.data.linq.aspx

· System.Xml.Linq: http://msdn.microsoft.com/en-us/library/system.xml.linq.aspx

· Code Generation: http://msdn.microsoft.com/en-us/library/bb399400.aspx

· More on Joins: http://msdn.microsoft.com/en-us/library/bb311040.aspx

· For more information on the operators, see the section of the online help called “The .NET Standard Query Operators.” It is written by Anders Hejlsberg and Mads Torgersen. The URL is http://msdn.microsoft.com/en-us/library/bb394939.aspx

I would not suggest using these references materials as a primary means of learning LINQ. However, if you have a book or other guide to LINQ development, then this reference material can be a useful addendum to that text. If you understand in a general way how LINQ works, but need answers to detailed questions, the links provided here may sometimes help you find answers."

Saturday, November 22, 2008

Money-Saving Meal Plans at Whole Foods

Advice for constructing a menu for the week, from Whole Foods. Kind of a cool idea!

Wednesday, November 19, 2008

How To: Use Impersonation and Delegation in ASP.NET 2.0

Has an API to login as a different user. See also this link: How To: Encrypt Configuration Sections in ASP.NET 2.0 Using RSA

And this link: Encrypting configuration files using protected configuration, to avoid the dreaded "The RSA key container could not be opened" error. It tells you to encrypt using this command:
aspnet_regiis -pa "NetFrameworkConfigurationKey" "ASPNET"

So, for example, to encrypt user identity (in one line):
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pa "NetFrameworkConfigurationKey" "ASPNET" -pef system.web/identity C:\Inetpub\wwwroot\SimpleEmailWebService


The relevant code is this:
    // From http://msdn.microsoft.com/en-us/library/ms998351.aspx

public class NativeWindowsSecurity
{
// Declare signatures for Win32 LogonUser and CloseHandle APIs
[DllImport("advapi32.dll", SetLastError = true)]
public static extern bool LogonUser(
string principal,
string authority,
string password,
LogonSessionType logonType,
LogonProvider logonProvider,
out IntPtr token);
[DllImport("kernel32.dll", SetLastError = true)]
public static extern bool CloseHandle(IntPtr handle);

public enum LogonSessionType : uint
{
Interactive = 2,
Network,
Batch,
Service,
NetworkCleartext = 8,
NewCredentials
}

public enum LogonProvider : uint
{
Default = 0, // default for platform (use this!)
WinNT35, // sends smoke signals to authority
WinNT40, // uses NTLM
WinNT50 // negotiates Kerb or NTLM
}
}

Saturday, November 15, 2008

CSU Library Research Databases

  • EBSCOhost Research Databases: Menu of databases provided through EBSCO Publishing.
  • Business Source Complete (1886- some full text): Index, abstracts, and full text covering scholarly business journals on management, economics, finance, accounting, international business and much more.
  • Wall Street Journal (1984-): Contains full text articles from the Wall Street Journal from January 2, 1984 through today's issue. Browse issues, or search for terms in citation, abstract, or article text.
    • Use keyword search on:
      • your company
      • supply chain
      • logistics
      • quality
      • strategy
      • etc