I had created most of this entry on Tuesday, and just got around to polish it off. Sadly, Friday is another AppleScript Studio day.. there may be another one of these rants coming out Monday or so.
Or the situation might turn around and be all roses.
But here’s my rant…
Comments Off on AppleScriptStudioRants
We also have a new look. No bored plain look – now we’ve got some color.
Thanks to one of the default MT templates.
Comments Off on NewLook
I just installed MTSpeling.
Maybe that’ll improve my spelling on this blog. I can only hope.
Comments Off on Spelling-Test
I love how every time I try to do something complicated with CVS it means I have to write another script.
Comments Off on CVS Sucks
Apache is a great webserver… but it doesn’t seem to report errors when you use .htaccess directives. At least for me it doesn’t.
I was closing some holes, so the site can go into production, including password protecting sensitive areas of the site. Could not get the password box to show up. Always 500: Config error.
Eventually I figured out that I needed
AuthType Basic in the mix of directives as well. I’m surprised that some of the areas worked for so long without it, but then when I try today it doesn’t.
Oh, and PHP that doesn’t spit back error messages is no fun either. That’s what’s holding up the roll-out right now: getting the internal forums working.
Comments Off on ApacheAuthentication=Yuck
Today I got wierd errors from CodeWarrio. File Contains Null Character. Looking at the file – there really were.
Of course, MacCVS Pro says the files are no different, and have not been changed – oh no.
Eventually I relized that they were somehow different. Modify Read-Only, Rollback to about 14 files. Not exactly hard, just… odd.
Thank you fun file system corruption.
But I made progress on other stuff
Comments Off on WierdStuffHappens
Today I was working in Python, writing a real serious module. Now usually I don’t bother with unit testing (code that tests to make sure all my code is working properly – it’s an Xtreme Programming thing), ’cause my modules are usually small and braindead.
Not with this module though – it’s probably going to end up being a few thousand lines of python. That’s a lot of Python. So I need unit tests to keep myself sane – and they have. Greatly.
Today I also worked in a language that doesn’t have unit testing…
Comments Off on UnitTestsAreGood
I released my DocGlue library for AppleScript Studio today.
It allows you to pass store and retrieve values you might want later on in your scripts (or in another script).
It’s like creating a global dictionary (or record, for you AppleScripters out there) and putting values into it. Exactly like, actually – ’cause that’s what goes on internally.
Comments Off on ReleasedUtility
I spent most of the afternoon on Friday writing a Perl script to automatically keep track of build-numbers for me. Every time a build happens, the number goes up by one.
Perl happens to have regular expressions built right into the language. Meaning you can do fun stuff like:
$line =~ m/(\d.*)/; #match the following grep pattern to the line variable
Pretend your input line is something like this:
That’s all you need to do to match a grep pattern.
Of course, then you start using regular expressions for everything. You’ve got this nifty hammer, so, duh, everything must be a nail, right?
In Python I wouldn’t have used grep, in this case. Lemme tell you what I was trying to do…
Comments Off on BuildNumberAreGood
I finally finished merging vendor code with our code. Along with the ordinary fun cvs conflicts, several dozen files also had this problem
That folks is what a cvs conflict looks like. Of course, this won’t compile (that’s part of the point, I think).
But it’s also conflicting on a autogenerated keyword!
You see, CVS will replace keywords (“stuff betwee $s”) with Useful Information it figured out during commit time.
Of course, these two files were committed at different times with differnet versions. Because they were (and that’s the point).
None of these lines contain useful information (because CVS will replace it with real information when it does a commit). So I wrote a script to un-expand those keywords.
Of course, it still probably added a half hour to the job, as I had to locate the files that had those kind of conflicts and run the script on them. Plus I’ll have to check in these “changed” files to the repository.
In Summary: CVS conflicts and merging are fun. Especially when its CVS that causes the conflict in the first place