Plans for Greece

First evening in Athens. Then fly or fast catamaran to Santorini. When we get bored there, work our way back on the ferries. Ios, Paros, Naxos, Mykonos, Tinos. I’m thinking Naxos or Tinos.

I’ve already pre-judged Mykonos. It’s packed with drunks, gays, and cruise ships and decorated with “authentically restored” imitation windmills.

And Paros is the new Mykonos. I don’t think Ios has the cruise ships or the gay scene. I wouln’t mind stopping on Mykonos to see the ruins in Delos, but it’ll probably be a line like Disneyland. The best time to see archeology is the off season. Maybe you can get a ride from Tinos to Delos.

I’m sure there’s a real windmill in Greece somewhere, but probably even the locals don’t remember where it is. Silly British tourists, Cervantes never lived in Greece.

It’s easy to confuse it with Spain if you think “it’s that place where they have sunshine.” Seattleites are probably just as susceptible if less literary.

I’m going to open up a whitewash store in Greece.

More on Covenant Eyes

It’s a great idea.  It is intrusive, but not restrictive.  I read that they are coming out with a blocker, which is probably good for some.

 I would like to help out in this arena.  Maybe come up with a product of my own that works with Covenant Eyes or some other tool that helps to combat pornography and other troubles on the internet.

I see 3 main features:

1 – a scanner that logs traffic
2 – a filter that rates content
3 – a blocker that prevents inappropriate actions

I see immediately that it has commonality with other tools, both legitimate and nefarious.  Obviously it has similar features to anti-spam and anti-virus tools.  Just as obviously it has great similarity to the spyware tools that the spammers and hackers use.  But just as packet sniffers (another commonality) have good as well as bad uses, so can this.  Tools for corporate governance and enforcing traceability compliance policies also use these features.

What I want is to be able to use Covenant Eyes on Linux.  Or an iPod.  Or anything else unsupported.  And it’d be even nicer if I didn’t have to install it.  Or worry about circumvention.  Anti-circumvention is another, somewhat less obvious feature that a tool like Covenant Eyes has.  And it’s also one that corporate policies spend a great deal of time on.  The difficulty of anti-circumvention is a great value add.  

The other big one I see is the accuracy of the filter list, but I don’t have the resources for that.  Utilizing the manpower of the internet is one way to do that, but I’d rather leave that task to someone else.  There’s too much incentive to be proactive, and while those who are still struggling, or who are honest but do not see it as a personal moral problem could help, I could not have it on my head to ask them for it.

Non-intrusiveness or avoiding draconian restrictions is a nice to have as well.  Corporations and other large organizations do this by externalizing their monitors.  Place them at the network edges by your routers. 

Or on them! 

A lot of homes have dedicated routers nowadays.  They connect to the cable box or are used for local Wi-fi networks.  What if I put a linux image on a router (like a Linksys WRT-54GL) and installed a reverse proxy server, a packet sniffer, etc.  and set it to ping a server.  That’s pretty good anti-circumvention.  And I could even include anti-virus and anti-spyware/rootkit controls.  Regular security features. 

I think I could recreate this using mostly open source, some glue and reporting, and a central server.  If I could work out a deal with Covenant Eyes to use their filter for bulk, or license my software for them to distribute (I’d prefer the former),  I’d have a pretty useful product.  An always-on router is even easier to ensure is tamper proof and it takes a higher level of tech savvy to circumvent.

This isn’t a new idea.  I’ve been tossing it around for months as a project I’d like to implement. 

 The problem is getting the time.  I’m sure I could overcome most of the technical hurdles in a few months, and it’d probably be best to find others with more knowledge of particular products and security to help.  I don’t know how much I could afford to pay them, though.

Another added benefit of externalizing the scanner is you don’t have to worry about trusting the software installed on your PC.  If you don’t trust it, unplug the router, re-image it, replace it or whatever.   You don’t lose anything on your PC.  Even if you find out I’ve been sniffing your credit cards when you buy from Amazon, and spamming your grandma and everyone else you email, it’s a non-catastrophic operation to root me out.   Antivirus programs on your computer should be able to detect trojans I wrap around your downloads. 

Not having to trust your accountability / big-brother app is a huge plus.

Kelsey’s nervous

She got a covenant eyes report that looks very incriminating.  But it’s not.  I think she’s okay now. 

Covenant Eyes is an accountability report of what I browse on the internet.  It basically logs every site I went to and sends her an email with ratings of questionable URLs.   Things like mormon-sex.jpg (a scan of a purported letter to church leaders about the subject) and yoursextoybox-16.jpg (apparently an icon of some other blogger on wordpress with a racy name.)

I was worried I’d lost her, but was not willing to take any flak over something I didn’t do.  But then I saw how bad it looked.   Regardless, I hope we can both keep cooler heads.  

I realize she has justifiable trust issues and that’s part of what I’ll have to pay, but I hope she realizes that I love her and remembers that I’m only human.

Things to look at

I still need to settle on a PHP orm.  I’ll have to re-research.  What I really need though is the base framework that allows things like logging, unit tests, functional tests, sessions, db connections, object caching, actions, roles, etc.

Simple PHP I think for unit tests, vs. phpunit.

SimpleXML was fun, but it looks like once you start using it you want a DOM.  Maybe on the client — AJAX.

I’ll stick with PEAR:Log until I need to look again for performance reasons.  Adding “global $logger” to every function or class is a pain though.  That needs a framework.

I might try to extend Ambivalence again for MVC.   It’s ancient by now.

I’ll re-research ORM.  I’ve never been happy with anything out there though.  Maybe propel, or model.  Or the new Zend one. Model transfer objects and a ORM library that uses a DB abstraction later may be the answer, but what about caching?

Yeah right.  Caching in PHP.  The only answer is “save your interpreted parse trees to memory” and Zend  hires everyone who develops one of those.

If I could have caching, messaging, and access to the Apache stack (a la mod_perl) I might be happy with PHP, though my NIH gene means I’d be happy with PHP if I wrote all the rest.

PHP remedial basics

Every few months it seems I’m doing some remedial research. I often take pages of notes and do hours of evaluation only to forget it. Luckily my webserver is up and running, php is installed (the last time I went through this was with magickwand — which I still haven’t used yet to create a gallery upload app for kelsey and for don lee. Time again.)

This time, I’m rebuilding the basics of my php dev framework, what logger to use, db api, orm, form validation, etc.

It was relatively painless (1/2 hour) to get pear installed, so I installed PEAR::Log. I thought I’d give DB_Dataobjects a try, but that’s complaining about a dependency for Validate that I can’t resolve.

So anyway, one of the reasons for this blog was to note things like this.

steps to install PEAR:
1. go to http://go-pear.org
2. save the page as go-pear.php (what a dumb way to do it)
3. type php go-pear.php
The following line is added to php.ini
include_path=”.;C:\PHP\pear”
4. when that’s done, type pear install Log
Log.php and Log folder are created under C:\PHP\pear
I don’t see how Log.php references the Log folder.

5. In your file, add lines similar to:

require(“Log.php”);
$file = &Log::factory(‘file’, ‘file.log’, ‘TEST’);
$file->log(‘Logging to file.log.’);

I don’t want to be a leader of mice

I don’t want to excel at something mediocre. Some may be lulled by the realization, upon looking around at their peers, and deciding (for the sake of this argument, we’ll say “correctly”) that they are made of better stuff than those around them.

It is tempting to say to yourself, I could do that.  But if it’s not what you want, then why do it?

It’s like if I turned out to be a better soccer player than average, would I play soccer?  No, I wouldn’t.  I’d rather be a second string football player because I prefer that game.  And let’s be honest, the better athletes play football.  If you don’t believe me look at the salaries.

But metastatizing, it might be more accurate to say that “being the best” isn’t what I want.  Some people could fairly make a choice and decide that though they love football, their love of celebrity (or playing in general) is greater than their love of the individual sport.  (NOTE:  Don’t go into soccer for celebrity unless it’s only a very minor celebrity you crave.  David Beckham is 90% famous for having his name in the title of a small production film about a teenage girl from India.)  But supposing it were two equally popular sports, like say soccer and tennis (see, I am giving soccer some credit.)

If you could be Pele (Who? cry all the Beckham fans — go rent a Bollywood flick) or … (the name of a minor tennis celebrity escapes me), which would you choose?  For some people they’d rather be the Jordan of whatever it is.  For others, the question depends more on how much they prefer tennis to soccer.  Both fair answers.  But that’s a false dichotomy.

The real question is closer to:  if you were Robert Horry, would you rather play in the CBL, and feel like a star in Ibiza or pass the ball to Hakim and get a gold ring?

But that’s still not quite it.