Expert Texture Home Contact me About Subscribe Digipede Connect on LinkedIn rwandering on Twitter rwandering on FriendFeed

rwandering.net

The blogged wandering of Robert W. Anderson

Archive for Miscellaneous

Going to BEARS 2009

image I’ll be at the University of California, Berkeley EECS Annual Research Symposium (BEARS 2009) tomorrow, February 12th.

Looks like it will be an interesting program.

If you are going and want to meet up, email me at robert at digipede dot net.

Tags: , ,

National Bankruptcy Day Averted?

In December, I blogged about National Bankruptcy Day.  That was the term coined for today, February 10th, 2009.  Why?  Because of a piece of very bad – and according to these claimants, illegal – legislation:  the Consumer Product Safety Improvement Act (CPSIA).  A law intended to make our children safe by requiring companies to test all children’s products to prove they are free of lead and phthalates. 

The problem with the law is mainly that the tests are unnecessary in so many cases and the tests themselves are expensive and produce hazardous waste.  Lead in metal toys?  Reasonable to test.  Lead in fabric clothing and linens?  Unreasonable.

A great many businesses are already endangered in this economy, but these extra costs would drive many under.

Good news?

On January 31st, a stay of enforcement was granted (Stay of Enforcement of Testing and Certification Requirements).  This is because the CPSC has recognized that this law is a bad one and that they need to spend the next year providing guidance for a reasonable implementation of the law.

It is clear that the CPSC is attempting to provide clarification to and a reasonable framework around this whole issue.  Further clarification of the current policy was released yesterday.

So, no National Bankruptcy Day?

The answer is mixed.  Much damage has already been done.   The confusion created by this law and the CPSC’s poor handling of it has already hurt many small businesses.  In some cases this is merely the loss of productivity while the founders divert most of their attention to compliance.  In other cases, companies have already chosen to close their doors.

So, today is significant in that the law does go into effect today.  The limits are in place, egregious violators can be punished.  All good, but there has been much collateral damage along the way.

So I’ll say yes, today is still National Bankruptcy Day.  The new, as yet undrafted, policies will go into effect and be enforced on February 10th, 2010 – and they may be just as unreasonable as the current ones.

You can celebrate by giving a giant air-quoted thank you to the politicians and environmentals who rushed this terrible law into being.  I’ll keep my invectives to my self.

Tags: , , , , ,

Perils of #define

A couple of years ago, I wrote Three deficiencies in the C# preprocessor.  Those issues still exist, but a good thing about C# is you don’t get the following problem . . .

I’m working on a project for a customer that includes upgrading a VC++ 6.0 DLL to VC++ 2008.  There are some good resources on MSDN for breaking changes (for a starting point, see http://msdn.microsoft.com/en-us/library/bb531344.aspx).  Of course, I didn’t start there, I started by just trying it.  Pretty quickly I came across some of the breaking changes related to STL (specifically that iterators cannot be treated as pointers).

But I also had a pretty bewildering problem.  Hundreds of the following errors:

error C2371: 'std::tr1::placeholders::ks' : redefinition; different basic types 

The source of the error was C:\Program Files\Microsoft Visual Studio 9.0\VC\include\xxbind1, line 298. Looking there, I found:

    // PLACEHOLDER ARGUMENTS
        namespace placeholders {    // placeholders
static _Ph<_NARGS> _CLASS_NAME(_);
        }    // namespace placeholders

Doing some investigation I found that xxbind1 is related to the TR1 extensions to the Standard Library.  The errors didn’t help me figure out where my code was including this file, so using the process of elimination (and the trusty binary search), I found that excluding the STL map header (i.e., <map>) solved this problem.  Not an option, though, since the code in question relies on stl::map.

So, I tried several other avenues to figure out what I was doing wrong.  While scouring all the application header files leading up to this include, I found the following line:

#define _    ks._

I thought, “wow, that looks awfully general for a preprocessor constant in the main internal header file”.  Going back to the code in xxbind1, now that error makes sense.

Removed it, and everything is fine. 

Arbitrary string-replacement before compilation is a powerful thing, but it can allow seemingly unrelated and unintended havoc.

Tags: , ,

National Bankruptcy Day

Note: While not about technology, this post is relevant to startups. 

H.R. 4040, the Consumer Product Safety Improvement Act (CPSIA) was signed into law late 2008.  The intention is to protect children by outlawing the sale of children’s products containing lead and other harmful substances. 

Sounds good, right?

Unfortunately, the law is going to force a lot of small companies selling safe products to shutter on or before February 10th.  Welcome to National Bankruptcy Day.  From the site:

February 10, 2009 untold numbers of children’s products manufacturers and retailers will be closing their doors.

The problem is that the law was put together very hastily and has a completely infeasible implementation timeframe.  Oh yeah, and requires unreasonable testing to boot:

Not enough time:  The law was signed in August and goes into effect on February 10th.  So every kids product sold in the US has to be tested in the next 52 days?  That is impossible.

Unreasonable requirements:  Every component of every SKU has to be tested separately even if that component is used in multiple products.  For example, imagine a tag or button that is shared across ten SKUs.  That same button has to be tested ten times. 

Unreasonable cost:  Each test is expensive.  For example, one company has quoted each test at $500.  Continuing with the above example, imagine your ten SKUs with the buttons have 4 other components.  You would have to pay 10 x 5 x 500 = $25,000 to a testing company.

No allowance for existing tests:  Some companies have already had their products tested for harmful substances (e.g., kukunest is Oko-Tex certified).  That should count.

I am all for safe products and accountability, but this is really a draconian measure.  It will punish companies and people with an unreasonable set of rules and penalties. 

If this doesn’t get fixed soon, companies will go out of business, founders and innovators will lose their dreams.  Innovation in children’s products will be all but dead here in the United States.

It will happen unless the US Consumer Product Safety Commission and the US legislature do something to stop it. 

Call to action

Sign this petition: http://www.ipetitions.com/petition/economicimpactsofCPSIA/index.html

Contact your Congressperson and ask them to fix H.R.4040 now, before more damage is one.

Disclaimer:  Do I have a vested interest in this issue?  Definitely.  My wife is the co-founder of kukunest, a company that designs and sells children’s bedding and other products.  I’m a parent and don’t want to see our schools unable to get the products they need because the suppliers dry up.  And I’m an entrepreneur believing that reasonable laws can protect people and protect innovation and business interests.

[tags]kukunest, Government, Startup, CSPC, CPSIA, HR4040[/tags]

Tags: , , , , ,

Google, what is a beta?

Now Chrome is out of beta.  Cool.

Question: what on earth are Google’s standards for the word beta anyway?

Possible answers:

  1. Non-existent
  2. Non-existent with a dash of whimsy
  3. Variable based on $$$$$
  4. (Fairly) fixed based on the users requirement to understand relative product completeness / bugginess

Before Chrome left beta I would have said #1 or #2.

Now it seems that Google can’t get Chrome adoption from OEMs while it is a beta.  Shazam, we’re out of beta.  So I guess its #3.

I sure wish it were #4.  The term beta is actually pretty useful. Google has never taken it seriously, and this is just further evidence.

I’m generally a fan of the Google products and I use many of them, but Google, can you grow up a little here?  Show some respect for the term beta — you’ll be respecting your users too.

[tags]google, chrome, beta, sdlc[/tags]

Tags: , , ,

Podcast on PDC2008

Last Wednesday, while still at PDC2008, I did a quick podcast with Colin Steele of the Search IT Channel.  From his introduction:

In this podcast, Microsoft developer Robert Anderson checks in from the Microsoft PDC 2008 in Los Angeles. Anderson, the chief technology officer for Microsoft partner Digipede Technologies in Oakland, Calif., says Windows Azure has a leg up on the Amazon Elastic Compute Cloud, the Google App Engine and other cloud computing platforms. But when it comes to Windows 7, Microsoft has to do a lot more to move on from the “perceived failure” of Windows Vista.

Listen or download from here.

[tags]pdc2008, pdc, Microsoft, Azure, Windows7, podcast[/tags]

Tags: , , , , ,

Windows 7

[tags]Microsoft, PDC, PDC2008, Windows7[/tags]

Recently I lauded the new name in my post, Windows 7? Right on!  I led that post with

First of all let me say that I’m not that excited about the “Windows” part of Windows 7.  I’m sure that will change when I see it later this month at the PDC.

A Microsoft guy not involved with the Windows team emailed me to tell me that his experience with Windows 7 is that it performs dramatically better.

That got me interested.  And now I’ve seen it at PDC2008.  Am I excited?

Well, not really.  With Windows Vista I allowed my love for shiny new objects to drive some of my decisions.  Windows 7 does have plenty of new — and cool — features.  Some that struck me:  some real improvements in Windows management (finally), create and mount VHDs, bitlocker on thumb drives, boot from VHDs, better multi-monitor and high DPI support, multi-monitor remote desktop,

These are all good things that make Windows better, but what I really care about is that it perform better and that the features can be used without killing performance.  To this end, they have worked on reducing Windows memory footprint, reduced disk I/O for indexing, better power management, increase boot speed, device readiness and responsiveness

If Windows 7 enhances my productivity through performance and stability, then I can get excited.

Tags: , , ,

The Cloud Services Stack — Infrastructure

I posted Cloud Services Continuum a couple of weeks back.  In that post I articulated a simplified view of cloud services and how they fit together.  This was simple by design — others had found this view useful, so I wrote it down.  I intentionally ignored some kinds of services, greatly simplifying the Infrastructure piece.  In this post I delve deeper into infrastructure services.  I’ll move on to platform next.

BTW: Stack is a more fitting word than continuum for various reasons, so I’m using that instead.  And a shout out to Matias Wolsky — check out his SaaS Taxonomy Map.

Infrastructure as a Serviceimage

In my earlier post, I defined IaaS to include provisioning of hardware or virtual machines on which one generally has control over the OS; therefore allowing the execution of arbitrary software. This definition isn’t really enough, because there are many other kinds of infrastructure.  Take a look at the services that are out there:

  • connectivity / messaging services.  Examples: Microsoft BizTalk Labs and Connectivity Services, Gnip.
  • identity services. Countless OpenID identity providers, again the BizTalk Labs Identity Services.
  • data storage.  Examples: Amazon’s S3 and SimpleDB, Microsoft SQL Server Data Services.

One might argue that together these services create a “platform” — and they get close — but since none of these host general user-written code, they don’t quite get there.

Then, of course, there is flexible machine provisioning like Amazon EC2.  These are definitely infrastructure — where the platform is the OS, Web servers, and other software.

Calling this all IaaS is fine — it is all infrastructure — but, maybe we should further divide these:

  • Virtual Hardware Infrastructure
  • Storage Infrastructure
  • (Other) Infrastructure Services

Granted, these names need some work, but I think the categories are useful.  And I won’t make them into acronyms because I think we have enough of those.

Tags: , , , , , , , , , ,

identi.ca too

I am http://identi.ca/rwandering.  I am still http://twitter.com/rwandering.  I don’t expect to drop Twitter.  Oh, and I’m http://friendfeed.com/rwandering.

On its own, identi.ca is interesting because of its promise more than anything else.  I do like:

  • It has a clean UI.
  • It supports OpenID as a logon.
  • It supports XMPP.
  • Twhirl supports it with XMPP!  Very cool.
  • I would like to see it supporting GNIP.

A couple of observations about these kinds of services:

  • I want a simplified user experience here.  I want one consolidated view across these types of services and the ability to update once and submit everywhere. 
  • I believe Twhirl is working on this.
  • We need a web-only solution.  This might be Friendfeed, but only if Friendfeed can aggregate views of those I follow across services.
  • We need a Twhirl for mobile.  Maybe TwitterBerry can go this way?
  • I really like the XMPP update, and I like using my GMail account for it — because of searchable history — but I don’t like getting duplicate messages in GTalk and Twhirl.  One solution and a question:
    • I can use a separate GMail account for these kinds of updates.  Not ideal.
    • Can Jabber servers understand a preferred client for messages sent by a specific contact?  That way identi.ca updates could go only to Twhirl, if Twhirl is connected.

     

    BTW: this post is testing WordIdentica a WordPress plugin for Identi.ca.  This should send a dent to identi.ca when I update my blog.  I use http://twitterfeed.com to do the same for Twitter.

    [tags]identi.ca, twitter, twhirl, friendfeed, xmpp[/tags]

    Tags: , , , ,

    biztalk.net: a public Microsoft cloud service

    There are a lot of questions circling around the blogosphere about Microsoft’s plans in the cloud.  These plans are clearly secret and tangled up with code words, but some bits are public and getting more so. 

    If you haven’t checked out BizTalk Labs and the Internet Service Bus, you can get an overview here.  But more than an overview, you can download version 12 — OK, 0.12 — of the SDK and get started very quickly. 

    The Internet Service Bus consists of three main parts:

    • Identity Service.  A service to unify  authentication and authorization across the Internet Service Bus with support for other identity providers.
    • Connectivity Service.  A general service to connect applications with message relay when necessary.
    • Workflow.  A service that runs Windows Workflow Foundation workflows in the cloud.

    Workflow was added this week.  Before that, the Internet Service Bus looked mostly like infrastructure, but with this new addition, it is moving up the stack towards platform. 

    I played with the SDK earlier in the week.  The Workflow Service supports a set of cloud activities included in the SDK.  Using these activities as building blocks, you can build simple workflows hosted by Microsoft in the cloud.  The available activities for the cloud are only a subset of the standard .NET 3.0/3.5 activities, but I’ll bet more are added as the service matures.

    Now, this is all a CTP and final plans aren’t public, but, a quick glance at the ISB and some very interesting possibilities emerge.  For example, the existing features in the CTP today, would greatly ease the engineering effort of extending a Digipede Network into the cloud.  Pretty cool, huh?

    BTW: A recent comment on my blog shows that some people aren’t aware of another Microsoft Cloud service: SQL Server Data Services (or SSDS).  That one is in a limited beta, but you can sign up for it at Microsoft Connect.

    [tags]Cloud, Microsoft, IaaS, PaaS, BizTalk[/tags]

    Tags: , , , ,

    « Previous entries · Next entries »