2005-05-30

PHP iCalendar Parser

I have now finished an iCalendar/vCalendar parser written in pure PHP and consisting of a mere 100 lines of code.
And it works great. It's fast. What more can you ask for? (Don't answer that question)

In the coming days I will be integrating this into ACal and setup a importing/exporting system.

2005-05-28

Announce: SVNView 0.1

I have been working on a subversion repository viewer because I couldn't get any of the current ones to work for me.
Download: SVNView 0.1

This release uses a simple XML configuration file. And allows you to see the listing, comments, revisions, dates, and download files.

I'll release updates in the future as I work on my local copy.

The Perfect OS

There is no such thing as a perfect operating system (OS). Windows is full of problems. Linux is unpolished. Mac OS X is plain weird in some areas.
But I believe if an OS ever will become near perfect, it will not be Apple or Microsoft's long horn. But the the open source Linux.

Why do I believe this? Because Microsoft sells an OS to make money. Selling the product is their top concern.
Apple I must say is close, but for some reason they seem to run off the road a lot. OS X only runs on the PowerPC which creates such a limited market it can't be the near perfect OS.

Linux is made by the user. Anyone can take the Linux source and create their own OS out of it. While this does have disadvantages it also means that no single company controls the OS. It's the people's OS. This makes the OS whatever the users want it to be. Which is near perfect.
But I believe one of the major pitfalls is also the greatest selling point. It's free and open source. How can this be a pitfall? Well look at the lack of video and audio encoder/decoders. There's really no great video software for Linux. Ditto for audio. Graphics require specific video cards for which there actually are some good drivers. There's patent mine fields. And well it just drives me away.
But it's also what makes Linux so great. Anybody can use, contribute, and distribute. But I do see these pitfalls falling away in the future.

XHTML 2.0 Working Draft Updated

The W3C has once again updated the XHTML2 working draft. Yesterday to be exact.

All I can say is that hopefully in 2006 sometime it will be at least in the Candidate stage.

2005-05-25

PHP Extensions Collection

I've been on the quest for some good documents showing exactly how to write a good PHP5 extension. A comprehensive document that virtually goes through everything. A document that is always up to date. Something authoritive and cross platform.

And what did I find? I found some good PHP4 docs but that didn't help much because I wanted to use PHP5 features. I only found one document about PHP5 which was unofficial and only described how to write an extension in C++ rather than C.

Looking at the official PHP documentation I read a comment that mentioned looking in the ReadMe files in the source code for PHP5 information. And so that's what I did.
But is this the best they can do?

I put everything I could find into a single document and called it The PHP Extensions Collection. Hopefully in the future something better might be written.

2005-05-23

ACal Progress Update

I am now working on an iCalendar / vCalendar parser that I can use in ACal for importing and exporting. I plan to do something cool with this so that we can interact dynamically with iCalendar apps like Sunbird and Apple's iCal. For example you could publish you calendar to your web server's live folder. And the iCalendar file in the live folder it automatically importing and if appropriate exported whenever one changes.

Like you could public your calendar from iCal. ACal sees it and imports it automatically. Somebody changes the event table in ACal and the change is automatically reflected in the file iCal published. You can then subscribe to the iCalendar file from iCal and have both always up to date.
Kind of cool I think.

Other than that I'm basically waiting for IE7 0.8.0 to be released so I can include it in ACal 3.0 alpha 3.

QuickTime ConvertMovieToFile fileType's

I was not able to find a list of valid fileType (OSType) parameter's anywhere and finally did looking in a header file. So I thought I'd post them here. This is Mac OS X 10.4 by the way. Here are the available kQTFileType's:

kQTFileTypeAIFF = 'AIFF',
kQTFileTypeAIFC = 'AIFC',
kQTFileTypeDVC = 'dvc!',
kQTFileTypeMIDI = 'Midi',
kQTFileTypePicture = 'PICT',
kQTFileTypeMovie = 'MooV',
kQTFileTypeText = 'TEXT',
kQTFileTypeWave = 'WAVE',
kQTFileTypeSystemSevenSound = 'sfil',
kQTFileTypeMuLaw = 'ULAW',
kQTFileTypeAVI = 'VfW ',
kQTFileTypeSoundDesignerII = 'Sd2f',
kQTFileTypeAudioCDTrack = 'trak',
kQTFileTypePICS = 'PICS',
kQTFileTypeGIF = 'GIFf',
kQTFileTypePNG = 'PNGf',
kQTFileTypeTIFF = 'TIFF',
kQTFileTypePhotoShop = '8BPS',
kQTFileTypeSGIImage = '.SGI',
kQTFileTypeBMP = 'BMPf',
kQTFileTypeJPEG = 'JPEG',
kQTFileTypeJFIF = 'JPEG',
kQTFileTypeMacPaint = 'PNTG',
kQTFileTypeTargaImage = 'TPIC',
kQTFileTypeQuickDrawGXPicture = 'qdgx',
kQTFileTypeQuickTimeImage = 'qtif',
kQTFileType3DMF = '3DMF',
kQTFileTypeFLC = 'FLC ',
kQTFileTypeFlash = 'SWFL',
kQTFileTypeFlashPix = 'FPix',
kQTFileTypeMP4 = 'mpg4',
kQTFileTypePDF = 'PDF ',
kQTFileType3GPP = '3gpp',
kQTFileTypeAMR = 'amr ',
kQTFileTypeSDV = 'sdv ',
kQTFileType3GP2 = '3gp2',
kQTFileTypeAMC = 'amc ',
kQTFileTypeJPEG2000 = 'jp2 '

Hopefully this helps someone.

2005-05-19

Event Notifications now can be sent

As of today in ACal you can have event notifications be sent to groups, users, and email addresses. Well technically here's how it works.

When adding an event and you choose "Alarm: Email", there is a recipient and message field. The recipient field can contain a mixture of groups, usernames, and raw email addresses seperated by a comma. For example if you wanted to send the event notification to the admin group and another user you could do this:
"Recipient: admin,otheruser"

Each recipient is validated. But say what if I type in "admin" and well that happens to be both a group and a username? Well the way it works right now this is how it goes:

  1. If it's a group add it to the groups array and go to the next one. Else{
  2. If it's a username add it to the users array and go on. Else {
  3. If it's a valid email address add it to the emails array and go on
And then some other code goes and gets all the email addresses from the groups and users and adds them to the emails array, then implodes it and sends it off to the alarm bot.
In the future I'll make this more complicated. So you could do something like this:
"Recipient: group:admin,user:admin,myself@there.tld"
Sort of like variable declarations. :)

So that and some bug fixes is what I did today in ACal. Other than that I think tomorrow the wxPHP project may start.

2005-05-18

ACal Status Update 20050518

Well after not working on ACal for some days today I added some more stuff and fixed some bugs in Users & Groups.

For example users can now have defined email addresses. This will allow event notifications to be sent via email to a group or specific username without know a specific email address. This is going to be a really great feature that normally is only found in desktop calendars, but we are working to change that.

2005-05-17

wxPHP Status Update

It looks like I'm going to get the wxPHP project on SF.net. I have been working on the basic wxPHP skeleton lately. And today looked at the wxPython source code to see how they did it.
Mostly preparing. Once I have ownership of wxPHP@sf.net the source I have will be checked into CVS. (Wishing Sourceforge had SVN service as well)

Things will probably really take off on May 20th because then the two week waiting period ends. So hopefully this works. And hopefully my old iMac will be able to handle the constant compiling and recompiling.

And do I need help? You can be sure I do. If you would like to help out, contact me by either leaving a comment here with your email or see my user page.

2005-05-16

Canada News like a Movie

Watching the Canadian news these days is as good as watching a good movie. With the the Liberal government being the bad guy and the Conservatives having fun with the Liberals fumbling of the ball.
If everything goes OK on Thursday the Liberal government will be toppled from power. And what a great day that will be.
All I can say is that it's about time. Hopefully it happens.

We don't need continued Liberal corruption. Not that the Conservatives are that great but at least they're better than those Libs.

2005-05-13

Something, but not Much

I've been fixing bugs and adding stuff in ACal over the past while since the release of alpha 2. I expect to release one more alpha before the beta release.

Recently I think I might have added Windows support to event notifications. Later I will be posting some unofficial snapshots so that Windows people can test this. Contact me if you think you can help.

Currently I'm working on finishing event notifications (alarms) and hope to finish this week. I'm starting to see the end of the tunnel in ACal 3.0 development. Like always much still needs to be done. For example the current HTML and CSS is hopelessly incompatible with IE. It works fine on Gecko, WebCore, and Opera. But Internet Explorer plain chokes on it. This is one of the beta blockers (in my head).


There are still some bugs in Users and Groups. But I'm going to rework some of that because users need to be able to specify an email address. Or else email event notifications will not work as planned.
And as always, you can checkout the latest code from the svn repository.

2005-05-09

I do, yet do not, like Objective-C

After playing around with Cocoa (Objective-C) for a couple of days, the feelings about it are mixed. I do not like it for the following reasons:

1) There is no official documentation of the language where you can learn the syntax and standards.
2) The documentation that there is is sparse and spread over the internet in a thin layer.

But I do like it because:

1) The language is so flexible (much more than C/C++) and from my little experience easy to work with. (Relative to C)
2) Creating a GUI is a simple as using a Interface Builder application where you can drag and drop widgets and create complex interfaces without writing a single line of code. (Better docs would be nice though)

So Obj-C is nice. I still like PHP and Python better but they are scripting languages. I'm trying to learn the world of C/C++/Obj-C as fast as possible for the upcoming wxPHP project.

2005-05-07

ACal 3.0 OS X Installer

ACal Installer

I have included an ACal installer for Mac OS X before but discontinued it because of the lack of demand for it. But I'm going to start again with ACal 3.0 for the following reasons:

1) Really easy installation for Mac OS X users. (Obvious but true)
2) PHP5 can be installed along with the calendar if necessary.
3) An ACal widget can be installed as well at the same time.

Which brings me to the next bit of news. I have decided to write a dashboard widget for the ACal calendar. Doing this will allow you to manage your calendar from your dashboard.
Things are getting kind of exiting now :)

Mac OS X Tiger - My Take on It

I just installed Mac OS X 10.4 (Tiger) yesterday afternoon and after using it for awhile here is what I think about it.

1) It took them a whole year just to come up with this? It's a good upgrade and all and I have not ran into many problems at all but there really is no "killer feature." Spotlight lives up to it's hype. Automator is confusing at first. Dashboard is nice and something I will use but don't know how much. I like Xcode 2.0 although it's not that much different. Some bugs are fixed. GCC 4.0 works well enough, so far. I also found out that wxWidgets, wxPython, and wxPerl are all installed by default in Tiger. Sadly the wxWidgets version is rather old (2.5.)--the latest stable release being 2.6.0. I Also got some undefined symbols errors when trying to build my wxWidgets application in Xcode.

2) Speed? I have noticed a speed boost but it is really small. Not at all what I expected from what people told me. Safari actually seems to be slower in Tiger than it was in 10.3.9. Kind of weird.

3) Problems? Well I tried to build plib 1.8.4 and it didn't work. Fixed some of the problems but gave up due to my yet minuscule knowledge of C++.

4) I was really hoping PHP 5 would be included in Tiger and Apache 2 but Apple stuck with Apache 1.3.33 and PHP 4.3.10. Not exactly the latest and the greatest but it works.

2005-05-05

ACal 3.0 Alpha 2... When?

First I said the last week of April. Then the first week on May. Now I say if not this week then next week.
I thought that development would go a little faster than it is. But I control 4 different projects now and it's rather hard to get a lot done on all at the same time.

What needs to be done? I'm working on the last RFE (Feature Request) and when it is done, I'll release alpha 2. Much more needs to be done yet though and so it might even be next month before we see a beta release.

2005-05-04

A free Mac Mini

Yeah, I know. I just had to try it because it's available in Canada.
Check this out and by completing an offer (which doesn't have to cost anything) and referring 11 other people you can get $550 or a free Mac Mini (If you are in the US).

And from what I've seen this is completely legitimate. So please check the link out and complete it. I'd love that $550! :)