Sempf's Laws


Sempf's First Law: In any system, no single effect has a single cause.
 
Sempf's Second Law: All systems can be decomposed into binary decisions.
 
Sempf's Third Law: Given the correct catalyst, all systems will accelerate descent into entropy.

How you know you were a geek in the eighties

  1. You remember when AD&D went to Second Edition, and were ticked off about it.
  2. You know the Commodore 64 bootup sequence.
  3. Wargames was your favorite movie.
  4. After watching Wargames, you dialed into Delta's system and ordered tickets to Paris.
  5. You subscribed to Dragon Magazine and Boy's Life.
  6. You listened to Dr. Demento.
  7. There are three bins of Space Legos in your basement.
  8. There are CDs in your collection that are twenty years old.
  9. You ran a BBS from your TRS 80.
  10. You remember Donkey Kong's four screens, and know who Jumpman is now.
  11. Johnny Five - scaring the SHIT outta me since 1986.
  12. There is a a Mac Classic in your basement you have been meaning to turn into a Macquarium.
  13. You know at least one method for bypassing physical copy protection on floppy disks.
  14. After the Challanger disaster, you were the one that explained to everyone exactly what happened.
  15. You still have your big fuzzy marching band hat.
  16. You have a working IBM Luggable in the basement.
  17. If you STILL jump after the phones ring because of Lawnmower Man.

Describing one-to-many relationships in M

In M you can describe values and use MGraph to infer a data model.  for instance, I can tell it a little data, like this:

module TheStates
{
  States  => { "Ohio", "Indiana", "Kentucky" };
}

… and get back the SQL code for my inferred table:

set xact_abort on;
go

begin transaction;
go

set ansi_nulls on;
go

if not exists 
(
    select *
    from [sys].[schemas]
    where [name] = N'TheStates'
)
    execute [sp_executesql] N'create schema [TheStates]';
go

create table [TheStates].[States]
(
    [Item] nvarchar(max) not null
);
go

insert into [TheStates].[States] ([Item])
    values (N'Ohio'),
        (N'Indiana'),
        (N'Kentucky');
go

commit transaction;
go

The problem is with a real world model, say a collection of states that represents a route.  if you try to model that with an extent, like this:

module Proto
{
  Representative =>
  {
    Id => "4";
    Name => "Bill";
    States  => { "Ohio", "Indiana", "Kentucky" };
  } where identity Id;
}

Well, at least it is a Not Yet Implemented error.

untitled3  4,3-8,22    Error   M3999   Not yet implemented: Initializing a collection with an expression that yields a collection (Microsoft.M.SemanticGraph.FromExpressionSymbol)

Still, without something that straightforward implemented, it is tough to call this a modeling language for data.  Hopefully it is in the works soon.

CodeMash v2.0.1.0. Burndown

Codemash 2010 is in the books, and once again it has proved that sub-1000 attendee regional conferences can provide at least as good – if not a better – experience than the PDCs and the TechEds of the world.  Every single attendee that I spoke with was blown away by the speakers, the open spaces, the staff, the location, the food and everything else.  With the exception of the local area network and AT&Ts poor showing signal-wise, I don’t think I heard a single complaint.

It was the best one yet, and I believe they will outdo themselves next year as well.  It’s a great con, and I think all of the people who put it together: Jim Holmes, Brian H. Prince and Jason Gilmore, along with the speaker board, the vendors and the countless volunteers.  It was a great team effort.

Honestly, I didn’t go to too many sessions this year.  I did manage to go do the Ruby Koans with EdgeCase, and that was eye opening.  Not only did I get started learning a new language, I also learned a fantastic way to teach a new language.  My other precompiler session was with Mary Poppendieck, on the topic of leadership and building sustainable competency in an IT organization.  She knows her stuff, and I think I found the mentor I needed going forward with the Technical Evangelist project at ICC.

Mary Poppendieck at CodeMash

The breakout sessions were not as mind blowing as I thought they would be.  There was a distinct shift in the presenters this year, with many fewer local speakers, and a lot of names I didn’t know, but with impressive titles.  I don’t think any one company had more than one presenter, except EdgeCase, who presented a remarkable SEVEN TIMES through the con.  Those guys are smart, but SEVEN TIMES?  I just don’t know.

Honesty, the quality of breakouts that I went to was about the same.  Rob Gillen had a very well delivered presentation on using Azure for parsing weather data, and that was really eye opening.  Other than that, though, it seemed to be a lot of the same old stuff.  Nothing was bad, mind you, just a little less inspiring than I thought given the 500 presentations that they had to pick from.

<sigh> No matter how I say that it just sounds bad.  I was really happy with the breakouts.  There, I said it.  I just thought there would be more ANAZING stuff.

Anyway, I was really honored to be asked to speak this year.  I did my Economics of Cloud Computing presentation, and it was really well received.  Many people stopped me afterward and mentioned how they liked the information (and then there was Pete Gordon, who told me my math was wrong.)

DSC_0268

Anyway, I had the classic stupid technical problem at the beginning, but a reboot fixed it, and everyone waited patiently.  I could have used the time though – I had to rush through the cloud breakdown a little.  It was a bummer.  Oh:

Here is the link to the Economics of Cloud Computing Presentation.

Here is the link to the orginal Economics of Cloud Computing paper.

Here is my new SpeakerRate.com page.  Go rate me – since I am not sure if evals were actually taken.

There is a lot to be said about holding a developer conference at the largest indoor waterpark in the country, too.  Aside from that there was a game room set up by Jeff Blankenburg, KidsMash, and this huge ball cannon tree root air swoosh thingie:

2010-01-13 19.15.03

A good time was had by all.

econofcloud.pptx (7.08 mb)

Bill Sempf

Husband. Father. Pentester. Secure software composer. Brewer. Lockpicker. Ninja. Insurrectionist. Lumberjack. All words that have been used to describe me recently. I help people write more secure software.

PageList

profile for Bill Sempf on Stack Exchange, a network of free, community-driven Q&A sites

MonthList