Author Archives: lkeyes70

Five Trends in 2008 affecting Non-Profits

Price of Energy Rising

The price of energy is starting to be felt. Meals-On-Wheels will be more costly to deliver, and any agency that runs a shuttle or transports goods or people will be dealing with a permanent increase fuel costs.

Web Commerce Comes of Age for Non-Profits

After receiving a newsletter from my local cross-country skiing association, I was pleased to be able to go online and quickly renew my yearly membership, and order an updated map (which now I’m not sure I needed), and order a couple of skiing hats. I also paid for a family membership instead of my usual individual membership. So, with virtually no live-intervention I “up-selled” myself from a single membership of $35.00 to a total expenditure of almost $100. More importantly, I felt great doing it. I didn’t feel as if I was responding to pressure from a phone salesperson. The take-away here is that organizations that allow frictionless interaction with their members will profit in 2008. Those organizations that make it difficult to give them money will miss out on revenue opportunities.

Scandals Affect Large Non-Profits

Red Cross, Smithsonian, United Way, and other large non-profits have substantial work to do to re-earn the trust of their donors and constituents. The Non-Profit Quarterly, the New York Times, and other outlets documented the wretched excesses of their boards and executives. The era of autopilot donations to such organizations is over. We need board members and staff who are committed to the agency mission, and that see service as something other than just another notch on the resume.

Recession Spillover: Donors

With discretionary funds drying up, individual donors will pick and choose where they donate (see above). In our household we practice “zero-based” giving and we re-evaluate our donations every year. First come organizations from which we receive a product (public radio, public television, trail and bicycling groups). Next come health-care and welfare agencies in our local community; breast-care, rape crisis, homeless shelter. We have long stopped giving to national groups.

Recession Spillover: Clients

It is going to be tougher for the middle class to stay in the middle. Rising energy costs, rising health-care costs, the mortgage lending meltdown; there is substantial financial pressure on the 99% of the American population who didn’t have their taxes cut. So what is this environment like for people already on the margins? We saw in our local area that some homeless shelters were managing double their previous year’s case-load. Food shelves had fewer donations and double-digit increases in people looking for help.
So, how can you position your organization to be more effective in 2008?

  • Update your web site to allow on-line payments with credit-cards and PayPal.
  • Create membership packages and products that allow you to effectively upsell your donors when they log on to donate. It takes as much effort to sell a $35.00 membership as it does to sell $125 or more membership+merchandise.
  • Provide a web-based project management system for board and staff to publish minutes, status reports and information for internal use. Board members and staff need to have a “frictionless” way of interacting, just as your donors and clients do.
  • Can all of your staff tele-commute when necessary? Could you obtain the services of top-notch talent via telecommuting or videoconferencing?

Microsoft Office update breaks backward compatibility

In the “why am I not surprised” dept:

Via slashdot, there is a note that the latest update to Microsoft Office disables a number of older file formats. There is a lengthy workaround published by Microsoft to fix the problem…which you’ll never figure out anyway…since this will probably crop sometime in the next year when you are trying to read somebody’s older Quattro spreadsheet.

Project Status

Ok, we’ve got several things going on; some things stalled out. Here is a quick update on some recent posts:

Windows 2008 Server Beta
I installed this on my spare office workstation over the weekend, and then chickened out on cutting over because that is the bookkeeper’s workstation with QuickBooks, and the bookkeeper was due that Monday. If there is anything I’ve learned about finance, you don’t want to upset the staff. When its not the financial staff’s machine, that machine is used by the Spousal Unit as their workstation… and the same thing applies.

One thing that was kind of nice is that Win 2008 automatically installs as a dual-boot configuration if it finds another version of Windows on the installation machine. It automatically creates a dual-boot menu, with itself as the default choice, and “Legacy Windows” as an alternative. You can go into the “System” applet in the control panel on Windows XP, and turn that back to Legacy Windows, so that the aforementioned personnel don’t even realize they are using a dual boot machine. Bwaaaahaaaaa!

Apple Macintosh MacBoook
Using a Mac is an enriching experience; a little like learning a foreign language. What’s good?

  • The Hardware. The MacBook is hands-down the most elegant laptop around. It looks and is sleek; relatively light weight, and has a 3-4 hour battery life. It includes built-in wireless, and I find myself wandering around the house, or the campus with just the book, unconnected by an umbilical cord. This is the way portable computing should be. Oh sure, I’d like an eight-hour battery life and two pounds..but this is an order of magnitude better than what I’ve had before.
  • The built-in camera and microphone. They work great.
  • The keyboard. After really suffering with the Dell keyboards with the cursor jumping around like a jumping bean, I can actually type at length on the Mac keyboard. I’m still learning the quirks; the “Apple” key, the weird behavior of the delete key, which I would have called a backspace key, but mechanically, it works well.

As for the Apple software, the core Leopard operating system functions seem to work fine. As for the applications, like iLife and iWork, they really don’t seem that much better or worse than similar Microsoft applications. So if think you’ll change your life by switching, you won’t, or at least I haven’t. What is nice is that I seem to be able to switch back and forth between Windows and the Mac with out a great deal of confusion or downtime. I’ve resisted installing Windows as a dual-boot or virtual machine, partly to force me to work with the Mac applications. I’m waiting for Mac Office 2008 due early next year. I think that will be worth a look.
I don’t mind the glossy MacBook screen, which has gotten decidedly mixed reviews. Of course, I’m still always happy to go back to dual 20″ monitors for programing. And all the grousing about Leopard, the recent update of the Mac OS is blessedly irrelevant, because I never used the earlier versions of the Mac.

Trixbox
Stalled out. This is the IP PBX phone system that I’ve been fooling with for over a year. I bought their “appliance” a couple months ago. I’m thinking about replacing the fan in the Trixbox box with what I hope would be a quieter version. My few tests with internet phone calls have been favorable, and the box appears to stay registered with my VoIP provider VoicePulse. Further work includes installing the Sangoma card to interface with my regular phone line, and I’ve now got two possible remote office connections that I can test for making extensions.

Tech Friday: Amazon’s Web Services – Database

Every so often somebody makes a prediction which at the time seems plausible, but maybe somewhat out in front of things. They always with start with the word “Someday…” For example:

  • Someday, you will be able to go to a machine and withdraw money from your checking account.
  • Someday, there will be a little box that knows where it is at all times.
  • Someday we’ll all buy our computing power just like we buy electricity.

So it was interesting to see an announcement by Amazon yesterday about the Amazon SimpleDB database, a sort of do-it-yourself pennies per hour Oracle database. Well, maybe not Oracle, but a substantial database back end that can be used to host a major application. Actually, the SimpleDB appears to be primarily a querying component; for hosting a large dataset, Amazon offers S3, the Simple Storage Service.

Just a quick browse around shows support for C# and Ruby-on-Rails, among other development languages. In addition, Red Hat is offering Red Hat Enterprise servers as part of the Amazon offering. Their FAQ about “cloud computing” is located here.

This is something to keep an eye on, perhaps the next logical step after virtualization of existing servers in your machine room. Why have any servers at all? Why have a machine room?

Creative/Tech Career Jam: Vermont 3.0

Vermont 3.0: Creative/Tech Career Jam - Saturday, January 26, 2008

We’re having a great time putting together our Creative/Tech Career Jam, scheduled for January 26th in Burlington Vermont. This is a project that the Vermont Software Developers’ Alliance was especially interested in pursuing when we realized that we had a profound difference in perception about the whole job market in our local area.

On the one hand we heard from our vtSDA member companies, all of whom want to double their headcount in the next three-five years that there were no local employees available. On the other hand, we kept hearing from kids, colleges, and high-school guidance counselors that there were no local jobs available; once students received their training they needed to go to Boston, or Montreal, or Silicon Valley to get a decent-paying job as a software developer.

Turns out it isn’t just software companies confronting these issues, so we have teamed up with fifty companies, the colleges and high schools, for this event in January 2008.

There will be “green-technology” companies, including solar, wind and alternative energy companies, software and IT companies, high-tech manufacturing companies, computer game developers, musicians and ad agencies. Media coverage in print and VLOG will be provided by Seven Days, our local arts weekly, and we have support from several government and community development groups including Burlington’s CEDO and the State of Vermont.

Time Tracking with Harvest

I’ve been using TraxTime from Spud City Software (is that a great name or what?) for yonks to track billable time. TraxTime is a Windows program which runs on a single computer. (There is also a multi-user version which works on a LAN, and allows for aggregate reporting). Now that I’ve got a Mac, though, I’ve been looking at web-based time tracking. The problem with Web-based time tracking is that you need to have an open browser running.

But now, Harvest includes widgets for both the mac and the pc which interface with their web-based tracking application. So you can run cross-platform outside of a browser. It has passed the five-minute test.

Windows 2008 Server: Joining my existing domain

Or not. I attempted to join my existing domain with this server being a member server, and received a message:

An attempt to resolve the DNS name of a DC in the domain being joined has failed. Please verify that this client is configured to reach a DNS server that can resolve DNS names in the target domain.

OK…I actually know how to fix this, I think… when configuring IP addresses, I didn’t put the local address of my domain controller in as one of the DNS possibilities. Once this change was made…it worked.

So far so good. Now I’m trying to promote the Win 2008 server to a domain controller; it will be interesting to see if this works with Small Business Server as the master domain controller; I recall that one of the restrictions of SBS was that it could be the only DC.

So I can run this remote desktop. I change the permissions to allow logging in under Remote Desktop. Now I can watch this run from my main workstation, with full video support, and avoid the maddening mess on the native monitor screen.

Before actually running the upgrade wizard, there is a utility called adprep which is provided win Win2008. This version is run on the master DC (ie the SBS 2003) to upgrade the AD database to match the level of the Win2008 database. A message suggests that this upgrade takes the existing AD level 30 to AD level 40.
So, I copy the entire adprep folder from the Win2008 machine to the SBS2003 machine, then on SBS2003, I run the following commands:

adprep /forestprep

adprep /domainprep

Then in response to a message from the result of the domain prep, I run the following to update permissions on the group objects:
adprep /domainprep /gpprep

There is a nice help screen which explains this process.

Now, in on the new machine, running the AD Domain Services Installation Wizard, I will “Add a domain controller to an existing domain.”

Now I get an error: “You will not be able to install a read-only DC in this domain because adprep /rodcprep was not yet run. Do you want to continue?” Since I don’t want a RO DC here, that is fine, and I just continue.

It asks to select a site:
Defualt-First-Site-Name

It now asks if I want to install additional services; a DNS server, and a Global catalog. This dialog includes some additional stuff about a Read-Only domain controller, that is irrelevant because I don’t want to install a Read Only domain controller.

So, while I would prefer not to install the DNS server and Global catalog, since eventually I want to promote the Win2008 machine to the master domain controller, I’ll allow these two items to be installed. I hit the “next” button.

Now an error message comes up:

A delegation for this DNS Server will not be created because the authoritative parent zone cannot be found or it does not support dynamic updates. To ensure this DNS Server can be resolved as authoritative for the domain mxdesign.local, you can create a delegation to this DNS Server manually in the parent zone. Do you want to continue?

Well, OK…let’s continue.

Now it asks for locations for the database, log files and SYSVOL, suggesting that these should be on separate volumes. Ain’t gonna happen. Next.

The Directory Services Restore Mode Administrator account is different from the domain Administrator account. Assign a password for the Administrator account that will be used when this domain controller is started in Directory Services Restore Mode.

I give it my normal admin password. There is this talk about the password being the correct complexity and length, and conforming to the correct history.

So far so good, the DNS install goes ahead and completes in about two minutes. This requires a reboot, so I’m psyched to see how this will work when it comes back up.

Windows Server 2008

I’ve installed a beta of Windows Server 2008 on a new partition that I carved out on my secondary workstation. Installation went fairly smoothly, but both my sound card and the onboard Intel graphics chipset are not supported, so I’m stuck with the generic VGA driver which, frankly, looks like hell. Still, since most server management will take place remotely, this shouldn’t be a show stopper.

The install creates a dual-boot menu at startup, which allows me to choose betweein Win 2008 or a “legacy windows system”…that is, my existing Windows XP workstation.

The beta is good until April 2008. After about 20 minutes, everything is copied to the hard drive, and you can start playing.

A major advantage of 2008 is that the wizards previously available on small business server have been added to 2008 to provide “accidental network managers” some additional support.

I quickly changed the default IP address obtained from the DHCP server on my router to a fixed IP4 address. I also nailed down the admin password.

Right out of the box the server doesn’t do a thing; you have to assign “roles” from the extensive list provided:

  • Active Directory (several items)
  • Application Server
  • DHCP server
  • DNS server (and is this required for AD as in previous versions?)
  • Fax server (the application that apparently will never die)
  • File Services (our first role)
  • Network Policy and Access services (functionality provided by the previous add-on application, including VPN services and fewalling)
  • Print Services (shared printers)
  • Terminal Services
  • IIS
  • SharePoint
  • Windows Deployement Services

Picking one of the roles above then allows you to pick additional functionality related to the main role.

Roles that require other roles as a prerequisite will automatically let you know.For example you can’t install Sharepoint without installing IIS and the Net Framework 3.0. Makes sense, of course.

For starters, I’ve installed print services and file services. Once the installation is complete, I received a message saying I had to restart the server.

Tech Friday: Notes & Visual Studio 2008

 

Bob and Chris MSDN Road Show

Spent yesterday, Thursday at the Bob and Chris MSDN Roadshow. They had introductions for Visual Studio 2008 and Microsoft’s suite of “Adobe Killers”…. the expression series. Imagine a day-long master class, or set of high-level lectures, (for free!) and you’ll have an idea of what these days are like. Because of the amount of time available, it is possible to talk about issues in more depth than during most of the half-day TechNet/MSDN days. Recommended. They provided pizza and soft drinks for lunch. At 4:00 we went directly into this month’s meeting for the .NET Developer’s Group, and they provided us with Visual Studio Professional 2008 installation CDs. Everyone who came close to completing an installation was included in a drawing for a Zune. The really good news is that they provided install IDs which we can use for obtaining a full copy of VS2008 professional. My rough notes follow:

08 AP/Honors Accelerated Class
cbowen@microsoft.com http://blogs.msdn.com/cbowen

Multi-Targeting: found under new project and new web site
Choose the version of the framework enable and disable features of the IDE.
WCF – for example does not appear when you choose a framework <3.0
Need to maintain two versions of the solution file if you are using 2008 and 2005.
Rick Strahl does a nice walk-through of the project and solution files.
New controls in Ajax 3.5
You may have to go to the AJAX CodePlex to get the latest controls.
Anything that is in a referenced assembly, it gives you the oportunity to add the call the “using system” call at the top
Expression Web design sufaces shared with VS2008
Ajax is native
Javascript is really well integrated
Sliverlight focused on javascript

Idea of master pages with content in particular rectangles within a page
IDE now supports the idea of “nested” master pages.

Has a “design view” which shows the image
Has a split view with code and design view like Dreamweaver.
There is a very nice GRID view which allows you to align
Turn on formatting marks (like tags and formatting, kind of like a paragraph mark within Word)
A lot easier to work with CSS in 2008. There is a CSS properties view that show the hierarchy of the CSS values.
Manage Styles View – a higher level way of managing CSS styles and there is a really neat “CSS preview” (like in Word 2007) which shows what something would look like if you apply the CSS style.
There is a kind of “refactoring” thing which will move the CSS reference from an inline to a CSS style sheet page.

Formatting and Validation – two new features (not in the Orcas betas)
You can treat validations as warnings instead of errors. (which would normally stop the app from running if they are errors). Validate html, xml, accessibility, different browsers/versions etc.

Ajax minimizes the full page refresh. Only a small part of the form updates. This is a feature of Ajax. Stock Ticker, Scoreboards, etc.

Ajax master page, Ajax web form, etc. The only difference in these project pages is that the Ajax library code is already includes the Ajax Script Manager. The S.M. control is key for Ajax.

Javascript Suport
Intellisense support for Javascript
for example, type document. and a full list of properties called up.
Drag and Drop script referencing . Just drag a snippet into the editor and the editor will create the references to the library. This is similar to C# and VB.

Javascript is loosly typed. The IDE will tell you if you change a type definition in the code. Changes are automatically detected in the IDE. So the loose typing is supported…

Debugging Javascript
You can set breakpoints.
VB uses IE script debugger. Tools| Options| Advanced — enable script debugging. so that VB can talk to IE. So when a script goes bad it pops right back into VB.

Stepping.

“Visualizer” allows you to see full code when expanding a tool-tip.
“Dataset visualizer” shows a grid of the current record set, for example.

Web Deployment Projects – separate download.

Windows Forms- user settings on the web
“Click Once” will now work with FireFox.

WWPF /Windows Forms InterOp
Add WPF to existing Windows Forms (“Crossbow”) allows you to WPF with WinForms and vice-versa.
There are controls for InterOp.
WPF: WindowsFormsHost
WinForms: ElementHost

Client Application Services
Share user authentication and authorization between Client and Web applications
Store user settings on the web
Handles web services communication

WCF Services
Secure, reliable, transacted and interoperable distributed applications
“Contracts”

Tools for Office
Visual designers for Ribbon, Task and Action Pane
Workflow and SharePoint Support
Application-level add-ins for most client programs
Document level add-ins for Excel and Word 2007
Projects for OutLook Add-in, PowerPoint Addin, In OutLook, it automatically docks a form at the bottom of a particular eMail.
This is now integrated directly into 2008.

Team System
AJAX support
Data-driven
Easy to use wizard
Bind XML and CSV files
Deployment assistance

Load Testing – Take any non-manual test and beat on it.
Unit Testing – Available in Pro!
You can right-click on a class, and there is an option to “unit test”. Automatically creates the framework for a unit test for the class. An example of a data-driven test would be run this

Mobile Development
Smart Devices
Device Emulation

Resources
http://www.msdn.com/vstudio
White Paper: 14 page overview (non-technical) of the feature sets

================================
Bob:

Software + Services
Example:
XBox Live – device, has a community aspect, allows for multi-user gaming, there is a web component, combination of device+data center services. The New York Times has a WPF client for reading the Times offline.

What is Software + Services
Software deployed as a hosted service accessible over the internet + a mobile device

Multi-tenant data architecture (single instance)
Similar to a conventional three-tier database client/server
Metadata Services are the unique addition…..allows: configurability, authentication, branding (logo), unique fields/reports, etc. Custom Business Rules

Authentication:
Centralized: ASP.NET membership, profile storage, groups of users with roles and authorization.
Decentralized: Federated approach/allow the customer to manage their own authentication via the customer’s Active Directory

Separate Databases

Shared Database /Separate Schemas (each tenant has their own tables within a single database)
Restoring a single tenant is a problem. – additional maintenance costs

Shared Database/ Shared Schemas
Tenant ID/UserID/RoleID

Regularity Issues: SOX requirements

Implmenting the Configurabilty
Extension Table
Fixed Columns
XML Columns

Extension Table
Example: Employee table offered with base set of fields. Extra fields are added by the customer.
Create a View for Each Tenant . Table Employee, Table Employee_Extension.

White Papers
Published on the road show
All code is available LitWare HR CodePlex

Multi-Headed Client:
Browser
WinForms
Offline with Synchronization
Mobile

Example: Salesforce.com

======================================
Bob
Silverlight 2.0
Scott Gutherie’s blog
bob.familiar@microsoft.com
http://blogs.msdn.com/bobfamiliar

Takes a subset of Windows Presentation Foundation
Vector Graphics, Animation, Streaming Video, Vector fonts

Silverlight is cross platform

Version 2.0 will include a subset of the .NET framework

Tools for developing in Silverlight include Expression Blend, and VS.
Remix07Boston.com

SkyDrive = 500 megs of storage in the cloud. Currently In beta available for those with an Windows Live ID. Try this out!

======================================
Chris Bowen
LinQ

Allow data expressions and SQL queries within VB and C#… LinQ is an evolution of ADO
How have the languages been enhanced to incorporate this stuff

Type inferencing
Compiler infers the correct type from variables which are initialized in-line.
Only works for local variables, not parameters or return variables

Class and Collection Initializers
Shorter Form of Object Creation Syntax
Anonymous Types
You can create an object which is not typed. Compiler creates the type anonymous
Frequently used by Linq
Extension Methods
Extend existing type without having to subclass it
Add Methods without Derivation
Accesses Public Members of Extended Types
Must be:
public and status
housed within a static class
Use this keyword before parameter of extended type
Lambda Expressions
Inject code into something else. Formerly delegates, or C# anonymous methods
Reduces code needed to write
Based on anonymous methods
Might be used to translate syntax.
Predicate “(p) => p.Gender == “F”
“All persons p, such that person’s Gender is F”
Projection
Query Expressions
Embedded SQL within native VB and C# syntax.

Question LK — What is Reflection, or reflector?

5 types of LinQ

LINQ to Objects (in memory)
LINQ to DataSets, SQL, or Entities. (Julie is one of the experts on Entites).
LINQ to XML

Deferred query evaluation, – means that the query is really executed during foreach

Deferred Query Execution – is huge…because the query itself isn’t actually run until the foreach

SEveral extension methods are really helpful working with data including:
intersection
in A but not in B
Except B
Union

100 useful examples in LINQ

LINQ to SQL
ORM Designer
Maps Relational Structures to Classes

Listview is a new control in 3.5

Use the ENTITY FRAMEWORK as a way to create an abstract mapping between the relational data and object-based applications. This is better than LinktoSQL because it will allow you to mess with the back-end database .

Scott Guthrie’s Blog

Bob
=====================
Microsoft Expression Studio
New product line from Microsoft
Set of tools used primarily by web designers
Import and Export capabilities for Adobe products
The goal is to help the designer be a first-class citizen with Microsoft development prodcuts.
5 products
Media, Encoder, Web, Design, Blend

Media
Manage all graphic assets
How does this integrate with source-code control?
Searching for metadata
Makes a lot of sense when you have a lot of assets
Creates a metadata dictionary with pointers to the actual data
Create web galleries, slide shows, videos, etc.
Looks a lot like Outlook…allows the classification of objects. Allows you to give the items ratings. You can add custom people to a file or custom fields
Includes a thumbnail viewer (videos play as well)
“Light table”
You can share the catalogs with Mac users (how? requires a download for the Mac)

Encoder
Encode Video for use with Silverlight
VC1 codec
Sony Vegas Pro or Finalcut for editing although you can
Add a leader, add a trailer
Scrub the beginning or end.
Import .AVI, QuickTime, MPEG, WMV
Will encode in real-time for streaming for live video broadcast
HiDef 720p
You can do an AB compare = see the original video and compare it with the compressed version
There is a batch mode, or batch job definition. encode a bunch of things in a folder.

Markers can be set within a video. Example: Guy riding around London, markers trigger a javascript call to virtual earth to show the guy’s position on a map. They can also generate thumbnails to go to the beginning of each stream.

You can generate a WMV file, or to full Silvelight application with templates. classic, glassy, expression,

Web
=Dreamweaver
Follow on to FrontPage? Yuck
Fully integrated with ASP.NET
Same/similar Visual Studio IDE
For the person who wants to spin up an html site without a lot of work… there are templates included.
Master Pages – parts that are editable and parts that are not.
Understands data bindinding and ASP.NET controls

LK Question: what is a div?

Good for creating style sheets
Targeted at the designer/end-user

Design
= Ilustrator ?
Can it do color separations?

Blend (December CTP)
= Flash? no actually, that is Silverlight.

When should I use WPF instead of WinForms – when you need to differentiate your user interface, think about using WPF, or when you are using Windows Media or Documents.

http://www.microsoft.com/expression
Training http://www.totaltraining.com for self-paced training
also training for expression defalt.apsx
Wintelect or Pluralsite

Silverlight
VS 2008
Silverlight Tools for VS2008
Blend CTP (December)

======== end of notes =========
Swag was available too….pens, squishy balls, tee-shirts, and a Silverlight book. They came in with two giant screens and put up four-player versions of Halo-3 for the breaks. They also provided sandwiches while we did our installations of VS2008. If you are able to get to one of the cities they are visiting, be sure to check out the Roadshow.