« May 2003 | Main | July 2003 »
June 27, 2003
Anonymous Faxing
It seems the Hartford Advocate has had a most interesting run in with the Office Of Homeland Security. While the OHS has been hastily thrown together, and many of it's actions questionable this is really interesting. Not sure how this should be taken considering the FCC requires that this information be put in the headers for an incoming fax. Nice.
[EDIT - The FCC requirement in question is the Telephone Consumer Protection Act (47 USC 227for statute, 47 CFR 64.1200 for FCC regulations) ]
Posted by Dan at 09:59 AM | Comments (0)
June 26, 2003
Public Domain
It should come as no surprise to anyone who knows me that I am a big fan of keeping knowledge in the public domain. Kevin sent me a link this afternoon that shows the introduction of the Public Domain Enhancement Act was sent out yesterday. Lawrence Lessig has posted some good commentary on the proceedings. If you haven't heard of this movement, it's time to start following what's going on. Sign the petition if you haven't done so already.
Posted by Dan at 09:50 AM | Comments (0)
Elevator Madness
My daily routine forces me to take an elevator daily to get to my desk. What I want to know is, what possible advantage can using a CLOOK algorithm be for elevators? If on the first floor, and I need to go up to the 8th floor (for example) all of the following situations will happen:
1) The elevator in the basement will proceed towards the top floor bypassing the 1st floor without stopping.
2) Another elevator above the 1st floor will decide it's time to race towards the top floor and wait there for the first elevator.
3) The last elevator will arrive on the first floor, only going down despite the fact that no one requested and no one is inside it.
Once all elevators make it to the top floor they will begin a decent towards the first floor to pick up passengers. This has been a source of endless amusement and frustration for those of us in the lab, mainly because we know we can optimize the algorithm and even know where to do it. We just haven't. Stay tuned for future exploits in correcting elevator control.
Posted by Dan at 08:57 AM | Comments (0)
June 24, 2003
Self Destruct Computers
Declan McCullagh's PolitechBot has an interesting commentary piece by Charles Platt on the recent comments made by Senator Orrin Hatch.
Oddly enough, the Mr. Platt's opinion is pretty on the money. For the most part, Senator Hatch will make these statements because he feels this is what his constituents want to hear coming from him. This will pass as legislation only to be shot down in a short bit of time as unconstitutional, but it will have opened the door for new such legislation. Frighteningly enough, not many (if any) Americans will even have the slightest clue that this will come to pass.
Posted by Dan at 09:12 AM | Comments (0)
Added Links
I added in two new outbound links today to PHP developers. Andrei Zmievski a long time developer whom I got to meet while in Montreal, and Zak Greant whom I met at the PHP International Conference in 2001. Both very cool people, with some interesting outlooks on various interests.
Posted by Dan at 08:49 AM | Comments (0)
June 19, 2003
Rain Schedule
One of the more interesting aspects of life in the past few months has not been weather, but an interesting note found describing the changes has been found. It's an interesting comparison to Seattle weather. Now I just wonder if many of the effects of depression will also follow.
Posted by Dan at 11:36 AM | Comments (0)
June 18, 2003
Rain
For the first time in many days, it's stopped raining.
Posted by Dan at 01:40 PM | Comments (0)
June 17, 2003
Down with King IE
Internet Explorer, the most prolific of the web browsers currently in use, may have just cried it's safety word. What would cause me to believe such a thing? Lets look at what has occurred in the last few weeks for Internet Explorer.
On May 7th, Brian Countryman (the IE program manager) stated Microsoft was beginning to phase out the standalone browser better known as Internet Explorer. Thus essentially making IE v 6, and all it's glorious bugs, the final "free" version. In many ways this makes sense, the browser war has long since been finished and Microsoft has proven to be victorious in it's pursuit. The historical view shows that Microsoft has never really been about giving away software, and it was well understood (although never publicly stated) that eventually Microsoft would charge for IE.
Now we see that Microsoft will be discontinuing Mac IE, a move that really isn't surprising. Macintosh users are not a significant share of the market, and more importantly Apple's own Safari browser runs circles around MacIE. So where is the death keel?
This maneuver places Microsoft into a bad position. It will now cost the average consumer a minimum of $200 USD to upgrade their web browser. The $200 USD being the average price of a Microsoft OS upgrade/release. This is a HUGE barrier to upgrading because not only does each new Microsoft OS cost an initial sum for the software, but there is almost always a hardware upgrade of unspecified proportions required (depending upon host machine configurations of course). With browsers like Opera, Mozilla/Netscape, KHTML costing significantly less to nothing, it stands to reason that Microsoft's dominance will disappear if angled properly.
Herein lies the challenge now for these alternative browsers. A flaw in the Microsoft armor has been discovered, and it is up to these alternative browsers to exploit this fact. When Longhorn is released, it is (currently) believed that a new version of IE will be included with this release. It is at this time that alternative browser users must push (extremely) hard onto the public psyche that you don't need to upgrade your ENTIRE OS just to get many of the new features. Once this meme is started, it will hopefully work it's way to become permanently ingrained. If this push is successful, there should be a slow but steady migration towards the alternative browsers with each Microsoft OS release.
There is a small problem with this path though, which is, what happens when some clever hacker (inevitably) discovers a way to upgrade IE v6 via patches? No longer would users feel a need to switch browsers, just apply the patch. The ensuing design issues would create a real hassle, potentially making web sites no longer work with browsers that they were "designed" for. With the ability to code on a per-browser basis would be destroyed, hopefully forcing a standards based approach instead making the web once again accessible to all.
Why has Microsoft made such a move though?
One word: control. With the ability to limit how IE is distributed, Microsoft can further integrate IE to the Windows operating system. This could be a really amazing bit of functionality if done right. Watching how the .NET architecture has been evolving, it seems safe to believe that Microsoft is about to make a major closing power play on Intranet services, which can in turn become a controlling stake in Internet services. The question I have yet to see a solution to is, how can an alternative browser disrupt this power play? AKA, is it possible to substitute in any of these alternatives and keep the same functionality as dictated by the Microsoft platform? My initial reaction has been to say that this just won't be possible, but having had to work with Mono in the past few weeks has really changed my outlook.
Posted by Dan at 09:34 PM | Comments (0)
June 12, 2003
Software Evolution
Randell sent me a link today that looks like a series of slides highlighting the behind-the-scenes (not a VH1 special) evolution of the WIndows NT system. An interesting read to say the least, as I can see many of the same practices having been in use in past jobs. Although a few jobs have had a much more interesting rule regarding build breakage like, if you break the build you bring in the beer for everyone tomorrow.
In either case reading through this there are a few excellent points that I can see being of importance to Open Source projects.
1) The NT Culture slide - everyone owns the code, so if something is broke, you fix it. A wonderful concept that you can see in effect in many OS projects, but as the project grows you can almost always see this become ineffective.
2) Calling people (and their code) stupid isn't effective. I'm surprised that it took practice for MS to realize this. It seemed to have been something I learned in my first coding job, and more importantly in the fact that I wanted to do things the "right way."
3) Code ownership breaks the open culture.
Number 3 is something I'm starting to see occur a lot. WIthin the PHP community, there has been a push towards the PECL/PEAR distribution and development system. In fact, I have been one of those pushing for it without ever considering the social change this would inflict upon the PHP project as a whole (insert line about greater good). Once the concept of code ownership (modules/extensions in the PHP case) becomes ingrained in the culture, it will be impossible to keep the free contribution level up. The artificial barrier of 'ownership' can become a daunting task to overcome. Rasmus, Andrei, Derick, Ilia, and I had a spoken a briefly about this while in Montreal, and if my memory is correct the general belief is that the PECLing of extensions would be a good thing.
So the question now is, will code ownership break the Open Source idea/spirit?
Posted by Dan at 09:19 AM | Comments (0)
June 10, 2003
Java Joy
Found via Sterling's most recent post.... happy happy...
and people wonder why I don't take the Java language seriously.
Posted by Dan at 02:20 PM | Comments (0)
Odd images
Today found on Feedster Images, an odd image that made me laugh. 
Posted by Dan at 01:52 PM | Comments (0)
Further phone drawls
One of the more important and interesting bits I had neglected to mention in the previous post. Vonage is a service that works similarly, and provides an excellent alternative to anything most phone companies provide.
So again I question, how is the old business model going to compete and keep up with this?
Posted by Dan at 08:58 AM | Comments (1)
June 09, 2003
Creeping Obsolecence
In Washington DC this past week, a very interesting court case came to an end. The result of this case is in effect something that will have deep impacting repercussions for telecommunications that won't be felt for a few years. The case revolves around ownership of phone numbers, and the use of cell phones (here).
I believe this ruling will be the start of downward spiral for telecommunications as we know it. Why? Examining the current infrastructure used throughout the US for telecommunications you have a few essential business ideas: calling areas, and call initiator being the two big ones.
Calling areas is comprised of a couple concepts that include local calling, long distance calling, and area codes. In the current business incarnation, these are assumed to be standard essential pieces that everyone will partake in.
Call initiator is an aspect that believes each individual placing a call should be the sole source of charge. Many current telephone plans sell an "unlimited local calling" plan, wherein an individual may call as many local numbers as needed. Studies have shown (and I've lost the link now) that the actual number of people who need this option are very few, allowing the phone companies to bring in the pay off difference.
Area codes.
Once a completely useful system, that allowed a caller to identify the general area where they were calling to, for example a 212 prefix is for New York. Today with the popularity of cellular phones, you may be required to call "across the country" to talk to the individual standing a 1/2 block away from you within sight. The area code no longer can serve as a function of location identification, but merely as a denoted marker for creating unique personal caller ids. If I can now move to Idaho, Wisconsin, or Iowa and not be required to request a new phone number this is great! One of the biggest pains of moving is ensuring that everyone you know has been given your most recent phone number. Unfortunately, now the guy who lives down the street from you has a 708 prefix on his phone, while you and everyone else has a 418. This conundrum leads into...
Long distance.
As it stands with current land line options, long distance can be equated to essential purchasing. In my hometown, for example, calling 15 minutes away was considered long distance for me, while friends 15 minutes away could call me locally. With cellular plans pushing free long distance, and the use of a cellular telephone as a primary phone this seems to be rather non-necessary concept. How often do you call someone else's cell who you know is in the same state/county/city as you, but has an area code foreign to yours? When long distance isn't an issue, I'm willing to bet quite often and with reckless abandonment. But the concept of long distance doesn't fit into a society anymore either, especially a mobile one.
Now that your neighbor has a 708 prefix on his phone (because we've already established area codes are irrelevant), does this mean you should be penalized for their reluctance to completely remove the remnants of their previous life? This should be considered a local phone call.
Tele-marking.
After having spoken with numerous tele-marketers in a non-work environment, I've discovered one common theme. It seems the state of Pennsylvania is very open to allowing (evil) tele-marking call centers to exist, and initiate their calling out. The catch is of course, they cannot be calling an in state number. Given that we no longer need long distance, it would stand to reason that receiving one of the many Pennsylvania prefixes would allow you (a phone owner) to cut down on the number of tele-marketing calls received daily. I'm sure there are other states with similar rules, but now consider the consequence of this kind of behavior. Through a few minutes of searching, a country could slow down an entire industry without the laborious process of legislation. Grandiose yes, but it is a potential result.
"Unlimited Local calling"
The idea of the option for unlimited local calling becomes irrelevant too. A cellular phone user is no longer limited an artificial limit on calls, but rather an easily identified airtime used measurement. With free airtime on nights and weekends, this limit becomes fuzzy to the point of inconsequential.
How does this all fit in with the recent court ruling? I purchase a plan from a carrier, and now proceed to move about the country. In certain areas, service with one provider will be better than with another. Given that I can now keep the same telephone number, there is no barrier for me to switch over and continue to use my cellular telephone as a primary phone service. The new barrier is network access, but that can be overcome through technological means already in place (aka new phone).
Posted by Dan at 07:07 AM | Comments (1)
June 05, 2003
AppleScript Pain
It seems that recently my ability to send email from my local laptop is being denied by the anti-spam crowd. Essentially they consider my DSL connection to be a possible venue for spam, and I can see why they believe this. Unfortunately, this has the side effect of making my life a lot more difficult. For some unknown reason my local mail-server does not inform me when a message isn't sent properly. I only discovered this the other day when people I email normally informed me they never received a message.
Solution: I have a machine with a static IP that is clean, why not use it?
Means to accomplish this:
1) Re-compile sendmail to use password authentication for sending
2) Create a tunnel from your machine to the host machine for sending email
I choose route 2, as route 1 could be damaging/intrusive to other users on the system. To start with ssh has a wonderful port forwarding utility, so a simple command like:
ssh -L5000:deadmime.org:25 deadmime.org -N
does wonders. This will forward any local connection to port 5000 out to port 25 on my static deadmime.org host. The -N simply states that I don't need a command line, I'm only forwarding ports. Port 5000 was selected because you need to run as root to enable any privileged ports (i.e. 25).
This works fairly well until you realize that under OSX when your laptop falls asleep, SSH connections bork big time. So there needs to be some form of error handling in such a script, i.e. test the connection, check the output, if there is bad output, kill the connection, and re-establish it. At this point we've now stepped beyond my scripting abilities, and have stepped into an area of unknown bewilderment.
A new line of thinking was needed, and it was now that I remembered that Mail.app (the OS X mail application) can run AppleScript. Why not enable an AppleScript to intercept any send commands, create the connection, and then kill itself. Yes it wouldn't be efficient, but it would solve the stale SSH handle problem. More importantly it would only be needed to run when I'm trying to send an email, thus I won't have to check if my connection is up and running or not! Plus this should be a fairly simple script to author, right? Wrong.
AppleScript has to be one of the most confusing scripting languages in existence. Who would develop an editor that doesn't have a find command?!?! I have yet to be able to understand a bit of what would be necessary to accomplish this goal, and I spend a lot of time programming on a daily basis! If any readers have suggestions on how to enable this via AppleScript, or even how to fix my up my shell script, I'd love to hear it. Comments appreciated.
So far my AppleScript can be found below and has some major problems. Like opening a new Terminal each time this is run.
tell application "Mail"
tell application "Terminal"
activate
delay 1
do script with command "ssh -L5000:deadmime.org:25 deadmime.org -N"
error number -128
end tell
end tell
Posted by Dan at 07:41 AM | Comments (3)
June 03, 2003
Random Tidbits
Random tidbits gathered from today:
1) "XML is nothing more than a really poor means of {}'ing things." -Randomly overheard
2) After careful thinking and some reading on Keith Devens blog, I've decided that maybe namespaces won't be as necessary for PHP I originally believed. They are nice, very nice, but not an essential bit to making the language functional.
Posted by Dan at 12:10 PM | Comments (0)
June 02, 2003
ext3 slowdown
So it seems that my work towards EXT3 support on OSX is going to take a little while longer than expected. My main development platform is a 15" TiBook. I love it for the most part. It's got a rather small hard drive unfortunately, and most of it is currently dedicated to random other pieces of life that I need (work for money!). While working with the KEXT for EXT* support I had been using a USB device drive I was given, very similar to one of these. It worked well, and was wonderful for creating, testing, and blowing away new formats. I could re-format it quickly and re-use it for everything I needed when I needed. At 128MB it wasn't terribly large and could get a copy of everything on my laptop as a third backup source.
Unfortunately, it seems as if someone else has desired this little gem more than I, and relieved me of my ownership of such an item. Rat bastard! The end effect is my work on EXT3 is now on hold until I can get a new drive to work with. Hopefully in a paycheck or two... or three...
On the other hand, I have to say, originally I had thought these little devices to be a complete waste of time and effort. It wasn't until I started using one that I realized how completely wrong I was. Just thought everyone should know and not hold their breathe for EXT3 support anytime soon (at least from me).
Posted by Dan at 12:26 PM | Comments (0)
PHP and Namespaces
It seems as if the namespace issue has come to a head now. Marcus Boerger has posted some commentary on a recent commit that seems to remove their support by Stas.
While I can't say I've kept up on the debate (it's been brewing for a long time), mainly because to me it seems rather silly not to support namespaces, the reasonings highlighted by Marcus for removal seem rather weak.
The : character is not something I would expect to work in a namespace... ever. While you could argue for a naming sequence that utilizes such a format, I could also argue for a naming sequence which doesn't. The point being it's synactic sugar and need not be a point of contention as it's not a technical issue, but rather an individual style issue. Style conformance is not an objective PHP is setting out to solve (unless it's for CVS commits), so I would suggest leaving the style issues to individual PHP users and ensure that all functionality works. Easier said than done I know.
I'm still a bit lost on the whole problem with import though. I'll have to do a bit of back-reading and research before I say to much. So far though, it sounds like it was designed for functionality in one means, but is now needing to be used in other means.
Posted by Dan at 09:28 AM | Comments (1)
Movie Ying xiong
One of the things I enjoy about slow times is my ability to catch up on movies I've missed. I recently rented Ying xiong (translated: Hero), and have to say this is an amazing film. The story line revolves around a young man called Nameless (Jet Li) retelling how he has defeated the most potent assassins in the land. Add a little controversy, some themes of love, romance, honor, duty, and you get a story with characters you care about.
The part that impressed me the most, locations. Some of the most amazing scenery is caught on film, creating a world that is almost hard to describe. From the raining Go boards to the lake top battle, the visuals are extremely well done and kept in check. A few times the CG became intrusive, but not enough to detract from the film as a whole.
The sword fight scenes are rather well planned out, but do not dominate the film as a whole.
I do suggest going to rent it, but be wary this is an english subtitle only film. Finding the subtitles on the DVD can become rather painful as well since none of the menus have an english equivalent.
Buy: Very possible
Rent: Definitely
Posted by Dan at 07:57 AM | Comments (3)