Archive for January, 2004
I spent the evening cleaning, and im pretty much done, couple loads of laundry left and its all good.
This place is looking pretty darn good again, I should put this effort in on a regular basis instead of a week of evenings.
I also spent the evening listening to jazz its a nice change, I forgot how nice a little hard work and some good music can be.
I just quick uploaded my pictures from Free Software day, I need to get my photo gallery upload working again.
Frontline has put together a great game, its a stock market for the presidential candidates.
It also has a really cool prize:
The top two players — those who have accumulated the highest value portfolios — will each win a trip (covering airfare and hotel accommodations for two people) to the presidential inauguration in Washington, D.C. in January 2005. Read Official Game and Prize Rules.
Pine-Sol is some amazing stuff, gets off anything and smells good to boot.
Now all I have to do is vaccum everything, dust the living room, clean the kitchen ), and file some paperwork and this place will be back in good shape.
Oh and do something with 4 empty picture frames I have, wonder what to put in them they are 50x50cm.
Went to the Free Software Day picnic today at Kiwanis Park in Tempe. The weather kept turnout low but it was a lot of fun. Good food, good talk, and i learned how to play GO.
I took some picture if I stop being lazy i’ll upload them tomorrow.
An then hope leaves you, its like being hit by a truck, only its not your body that hurts. I wish I could move one, from so many things, but I can’t, and I can’t bring myself to let anyone else know. Life’s goal is to trap you place by offering the easy path, lull you to sleep and then beat the shit out of you.
I wish I could move on, but life won’t let me, I’m stuck.
I started implementing the new reflection code I mentioned a couple posts ago. I’m trying to stick close to the php5 Reflection class but this design needs to be a little different since it has some different organizational structures and you need to work with large amounts code at one.
After i get this coded up with some test data pushed into it by hand i’ll start working on the new converter that uses this, hopefully i can make some progress over the next week.
Anyhow here is tonights code, I’ll attempt to get it into cvs after the ideas are actually almost usable.
Some programs im interested in:
- Guest worker program
- Push for new energy bill
- New medical initiatives, especially new deducations
- Community based stategies to reduse drug use (oh i mean school drug testing)
- Prisioner reentry initative, anything that stands a chance to break the cycle is a great way to save money in the long run
I especially liked the jab against the pro’s using steriods, thats a nice move hopefully it gets the worthless bums in baseball moving.
Treating absentience as the only certian solution STD’s, which it is, but you have to a multi-faucted solution.
Also whats the deal with the sanctity of marriage, its never been a largely a religous instution, and the Government shouldn’t make it a policy to discriminate against its citizens.
Bush’s attempt to read 10 as binary, 2 um 10.
We all know registered globals wasn’t the brightest idea, but for those of you who need it, here is another reason to just say no to register globals
Lots of amusing web surfing tonight, this one was my favorite, some moron Reuters thought it would be a great idea to write an article about why we get so much penis spam.
On a slightly lighter note I also found a neat way to enjoy the State of the Union Address and talked with a friend about plans to take over the world using fiber (don’t ask).
Walking back from the bookstore I had some really good ideas for the converter design in phpDocumentor 2.0
First the parser should ouput a flat tree of objects representing the code, we can use the php5 reflection classes for the design of this, im guessing will have to extend them a bit and add docblock access methods.
My main idea deals with howto manage template complexity it borrows a bit from the discussion surrounding the PEAR delegation class submission and howto allow base templates with overrides on the Savant list.
First the accessors on the objects representing your parsed code should always call an encode method. The default method will just return the data with no changes, but for HTML or XML output the encode method can be delegated to a utility class that takes care of there requirements. There should also be a helper class for each output type that does the standard stuff like create a link or a class tree. If these options can be made exteremly generic then you really only need 2 converters, the rest is templates and setup of the helper and delegated classes.
The 2 converter are of course a single file output converter and a multi-file output converter. Hmm maybe only one coverter with options for where to break out pages, Project,Package,Class,Page, etc. Then you just need to hand the class the template file match-up for the fileoutputs selected.
Also i think its a good idea to make the template engine a selectable option, and that when any engine that implements the same interface as Savant can be used.
Finally one of the biggest parts of converter complexity can be manage by using template inheiritance. The default style goes into a directory called shared. Then the template selected goes into another directory. The include path is set to first the selected templates dir and then the shared dir. That way to make a new template you only have to create new files for what you want to change.
This same approach can also be used for css files, only in this case we just use the cascading feature of css, you always include the base css files and then just add new ones for the specific template the override the base one.
The only big issue i see is the Frames no frames output, but i think that can be managed since you always have that nav code its just what file it goes into, would should be able to push that to a template choice with a little bit of thought.
Comments and code are of course always welcome.
Speaking of changes, i’ve been noticing a lot of them creeping up in php5, i’m going to try to start blogging some of the biggest backwards compatiblity breaks.
Todays is the get_class() method now returns class names with matching case.
This breaks its standard use
if (get_class($object) == "phpdocumentor"))
echo "were good";
Thanks goto Greg Beaver for bringing this to my and PEARs attention
Its interesting how your outlook on life starts to change when you start changing your daily schedule.
Since the new year i’ve made 3 big changes, i’ve been working out daily, always running (well over half the time) and lifting in the evening, and when i wake up earlier enough a light cardio work out in the morning (biking, or mainly walking on a tread mill).
I’ve also been trying to show a little more frugality, mainly this has involved packing lunchs and cooking (well at least eating a healthy choice dinner) instead of going out for fast food or to a restaurant.
Finally to help both these tasks along i’ve shifted my schedule forward a couple hours, like most of my co-workers i’d let my start time slide out to 9 or 9:30 which lead to me being at work at crazy hours, now im trying really hard to get in at 8 every day and be out of work by 4:30 meetings willing.
Hopefully these changes will lead to a happier healthy me, I know its helped reduce the stress already.