Archive for the ‘Uncategorized’ Category

Phil’s Windley CTO Breakfast April 2006

Friday, April 28th, 2006

The first hour digressed into a series of sales pitches that were lightweight on details and mostly sales speak.

A Nathan Conger from SUSE showed off SUSE Enterprise Desktop 10 and it’s xGL and Compviz effects.
Nathan mentioned Open Invention Network as a patent protection organization.
Later, I commented that patent collection is just the tech industry’s version of “Mutual Assured Destruction”.

One comment made was very telling, “Novell has feature parity with microsoft, short of third party software”.
Jeff Hunsaker from SCO showed the Edge Click platform and Me Inc suite.
The demo centered on audio recorded by top end phone running Windows Mobile. The voice was then able to be delivered digitally to email recipients, or another mobile device. Notification of events in the system used SMS messages to phones, etc.

Dallin Quass showed Werelate.org a new geneology search engine that has some integration with MediaWiki.
Werelate.org sends a XML version of it’s data as a hidden component of the html page. Microformats and xhtml with css could add some value here.
Dallin’s presentation was the best of the three because he understood his audience and communicated to that audience.

Twaingle, a mashup between flickr and twain drivers allowing one to import flicker photos into any twain compliant acquisition device was mentioned.

Sketchup is a new Google acquisition that has a plugin for Google earth that allows you to place Sketchup models on Google Earth.

Scott Lemon talked about Croquet a new 3D framework for creating virtual collaboration environments.

UUG: MythTV

Thursday, February 16th, 2006

I’m attending the BYU Unix Users Group tonight.
Andrew McNabb is presenting on MythTV. I’m interested in the particulars of which hardware to buy, HDTV support, and digital cable hangups.

Andrew pointed out that the discover channel often has the commentators speak very slow for dramatic effect. MythTV allows you to adjust the playback rate to something like 1.5x and an hour show is 20 minutes shorter.

MythWeb is a cool feature of MythTV that let you set up your MythTV box to record shows remotely.

Andrew’s MythTV Page

MPEG2 Encoders can be found as cheap as $30.
Sony makes the best learning remotes out there.

In related notes, if you haven’t seen this you should take a look at RIAA aims to ban CD ripping

Authorization vs Auditing and Accountability

Tuesday, January 17th, 2006

The following is a comment I placed on Phil Windley’s Blog.
Go there to get background if you need it. However it really this post is a self contained stream of thoughts for the most part.
Dan Greer uses the term access-control which I believe can be interchanged with authorization for the purposes of this post.

Comment:
We often think of authorizations as a boolean process resulting in either acceptance or denial.

In other words authorization is assumed to be a simple function of authenticated symbols being reduced to a boolean value True or False.

In the two dimensional case
SymbolType1 -> SymbolType2 -> Boolean
Which generalizes to
(SymbolType1, SymbolType2, …) -> Boolean

While we simplify the authorization process as a table lookup in order to explain the concept. I believe that almost all authorization processes are already computational processes, in order to make the problem more tractable.

Examining group membership attributes of an identity or role is an example of how current authorization processes use attributes associated with identity to reduce the table size, making the problem more manageable.

On the other hand we can argue that examining group membership attributes is really just
a subordinate table lookup. In which case we could view it as only on optimization to reduce the original identity/role vs resource lookup. We really haven’t changed the original problem.

What I find two things interesting with respect to the credit authorization problem:

1) The credit authorization function is a continuous function whereas we assume most authorization functions are discrete, returning only boolean values, Yes or No.

2) The credit authorization function uses statistics to see what segment of the population the applicant is most probable to be a member of, according to the presented credit attributes associated with the applicants identity.

If we take statistics away from the credit authorization process above, all we are left with is rules. Rules are just table lookups, such as: Is identity X a member of group Y. While rules optimize the tractability problem by reducing table size, we really haven’t changed the problem.

In my opinion, the statistics component in the credit authorization problem is the key. The statistics component is simply a feedback loop of auditing and accountability.

Some of this thinking comes from being neck deep in XQuery parsing and Perl6 rules.
Dan Greer, however was the one that pointed out that auditing and accountability scale, while access-control(authorization) doesn’t.

So I posit that scaling properties of credit authorization come from it’s use of past auditing and accountability data, not rules.
Notice that the credit authorization process depends an the authentication of the applicants credit attributes by trusted entities such as banks, employers, and credit reporting agencies.

These same trusted entities also provide the source auditing and accountibility data for the statistical model.

Ok this was a long comment. I may be crazy.
Comments and corrections welcome.

CTO Breakfast Recap – January 2005

Sunday, March 13th, 2005

Once a month I meet with a group of Entrepreneurs/Alpha Geeks. The topic of discussion jumps all over the place, but the conversation is always intriguing and insightful. Here is my attempt to recap today’s discussion and add some additional comments of my own. Credit for the majority of comments and ideas that follow belongs to the breakfast attendees. I am but the summarizer.

  • Presence information Cell phone providers could exploit.
  • Cellular providers know who you are and where you are as long as your cell phone is on. If you are with a group of people they could detect who you are with.

    The aggregate statistics and behaviors that could be mined from cell phone presence/position data must be worth billions.

    The identity and security implication are fun to think about. Your cell phone presence information becomes another part of your digital identity.
    How much presence information should a cell phone customer share with their peers?
    Maybe the customer would like to place delay loops for some of their contacts. Do you inform a peer that the information they see is delayed or do you want them to believe it is in real time? Perhaps you want you location to be fuzzy like consumer GPS. How fuzzy? It probably depends on who wants to know.

    I was surprised Digital Identity wasn’t discussed.

  • Some similarities between HP and Novell where discussed.
  • Both companies seem to be struggling to know who they are. Both at one time had a very clear idea. Novell was a networking company that should have become the next Cisco, according to some present. HP likewise lost their position and market to Dell. Novell may be finding some identity in being a Linux company, but I believe it is too soon to tell. One interesting comment was that Novell had a business strategy of destroying their competition, Microsoft. Irregardless of success or failure, Novell didn’t have a post game plan for their match with Microsoft. As a result their market share has dwindled. Phil commented that
    this idea, is often referred to as Vendor Sports by Doc Searls. Vendor Sports exists largely as a revenue stream for the tech press. Several attendees agreed
    that Customers don’t care about Vendor Sports. I agree that many customers disregard the vendor sport commentary, but I bet that customers waste more time and resources following vendor sports than we or they would like to admit.

    Item to note, Attempting to annihilate your competition is not a good business plan, Customers DON’T CARE.

  • Quick way to cash… Sell a product, Marketing folks can use without having to talk to IT
  • This was new to me, but makes sense. Blackberry is a prime example. NPR was the first to educate me on crackberry prayers.

  • iServer grows into Verio
  • It doesn’t take huge amounts of venture money to grow a business. In fact you can do it with just a little startup cash from friends and family.

Closing Remarks

Don’t be evil is a good guiding principle when dealing with personnel, customers, and competition in the technology sector. It isn’t always easybut I believe being evil will cost you in the long run. ITConversations is one of the best forms for continuing education and general IT awareness available. No one has the time or money to attend all the events or talk personally with all the people brought to you by ITConversations.

Attn: Eclipse Developers

Sunday, March 13th, 2005

Looking for an freelance eclipse developer.
If your interested let me know.

The group as an individual

Sunday, March 13th, 2005

I thought the following was very informative.
Group as User: Flaming and the Design of Social Software
I’m a huge proponent of education in general and continuing education all
through life. I see so many people around me that become complacent with
their skill set, interpersonal skills, etc. I have a lot to learn and refine
in regards to my own character. I have learned so many lessons by making an
active choice to be observant and learn from others mistakes or experiences.
In the article, Clark Shirky makes the point that those for whom
netiquette was designed for are the last ones to be educated by it. I
completely agree, However I share the article because, of its educational
value, Theories such as The Group as
the User
and The Tragedy of the
Commons
intrigued me.

Hope you find it enlightening as well…

Articles Every Programmer Should Read – Design By Contract

Sunday, March 13th, 2005

I’m going to start blogging article that I believe every good developer should read and thing about.
I took a Software Engineering class from Scott Woodfield. For some reason that was his worst semester teaching the class, but I did learn quite a few good things.

  • Abstract Object Oriented Programming Theory
  • Testing is important
  • Horror stories about large scale software gone bad
  • and DESIGN BY CONTRACT

Dr. Woodfield kept mentioning this old language called Eiffel and he taught us Design by Contract (DBC).
The way I thought about, designed, and wrote subroutines was for ever changed by that lecture.
There are reasons for getting a college education at a respected school, even if you spend most your time shaking your head at eccentric professors.
DBC is one of those reasons. It is a core theory in good design.

Using Design by Contract in C by Charlie Mills — Design by Contract is a programming approach that formalizes the interface between callers and callees, leading to more robust and disciplined code. If your language lacks formal support for DBC, though, are you stuck? No–Charles Mills describes the design and implementation of Design by Contract for the C programming language.

IMAP and MIME

Sunday, March 13th, 2005

I’m just finish up an implentation of IMAP.
I have been pretty impressed with nice interface the IMAP spec provides for
working with MIME encoded messages. Someone should take the Maildir spec and
add modify it so that each mime part has its own file. That would allow for
quick access to attachments and alternative text. Attachments could even be
stored as binary files. The enclosing mime part would just be a short text file
containing the filename. You wouldn’t have to do decode to stream to clients
mail readers. You would only have to encode to forward or send through SMTP.
Isn’t there an extension to SMTP that allows binary transfer?

Optimizations to Phylogenetic Inference

Sunday, March 13th, 2005

I’m working on improving Phylogenetic Inference

The following are interesting member of my current literature search.

The Ultimate Web Development Test Engine

Sunday, March 13th, 2005

I want a web application test engine that I can use to drive all aspects of a web application.


Here is what I’ve seen and it isn’t adequate.

  • PureTest – PureTest uses a proxy server to intercept all your interactions with a web server. A script consists of ant tasks that shadow http protocol operation ( GET, POST). PureTest also permits you to write custom ant tasks to emulate more elaborate user activity.
    Pros:
    • I like the proxy intercept feature for creating initial scripts
    • Extraction tasks which allow you to set variables with strings matched out of the response body
    Cons:
    • PureTest doesn’t really provide a client solution. It is stuck in the middle
    • PureTest doesn’t preserve response bodies after initial capture for easy access to variables that you want to extract
    • I don’t want to have to compile my custom task, make sure it is in the classpath and reload to write a new component of a test. I should be able to do all that inside the app. I could probably live with java if PureTest was a Eclipse component. Eclipse would provide on the fly compilation and syntax checking and would make the java requirement resemble an interpreted scipting language rather that a compiled one.
  • HttpUnit
  • JWebUnit