Archive for December, 2008

Today: 24-Dec-2008: The day before Christmas

December 24th, 2008 | Category: today

Today was a bit of a wash out beyond having a minor Christmas lunch at work, I left early due to a splitting headache and spent most of the afternoon asleep. I did manage to make some progress on the item I had started yesterday, a Servers Alive graphical interface, though progress on it was limited. It now handles displaying the basis of a mimic panel with the status of the respective server, the key requested feature was a grouping option, so I haven’t done that yet but its on its way. Mimic panel is in a basic edit mode, so I’m happy with that. I guess I’ll finish it in the new year!

No comments

Today: 23-Dec-2008: Moving around

December 23rd, 2008 | Category: today

Today was the last day of my present contract at the university. This is weird because its also the day when I managed to sort of most of the problems that I have had with my access at the university. The last of my firewall changes actually went through yesterday and today I managed to get myself connected to the Moodle Development Database on the Oracle development server that the university has, yay! I did some more work on a weird issue with contexts in Moodle and had a job interview at the university as well. Hopefully that went relatively well and I’ll get the position, if not I can always go back to Council.

From here I progressed to Council and a new project. Servers Alive has an abomination of a web reporting tool, so network administrator wanted to see if we could build something that would show groupings on a web page and little traffic lights denoting if there was an issue with one of the groups. Parsing the servers alive page was fun with it not being valid anything. It had tags closed in the wrong order, seemingly random end tags (there was one closing bold tag sandwiched between a closing td and a closing tr tag). By the end of the day I’d managed to get the thing into a database in a much saner format (even reoutputted in a much cleaner format) so that I can do useful stuff with the data. I’m going to borrow some very old code I wrote years ago and repurpose it into something to help me out with this problem. The project was the ARTIS (Automatic Real Time Information Service) Water Monitoring system that I had written that handled displaying the water status of the Toowoomba City area before the project and all of its data supports were cut following the retirement of the chief proponent of the project, the head of that particular engineering department. Its really ugly code, so whilst I’m borrowing concepts and using the shell I’m also gutting the majority of the system and replacing it with newer methodologies, better coding practices and more extensible frameworks. Today its a mess, but with any luck I’ll be able to get it cleaned up enough to be functional tomorrow.

No comments

Today: 22-Dec-2008: Easy wins

December 22nd, 2008 | Category: today

Today seemed to be a day of almost entirely easy wins where I managed to close or defer most of the bugs that landed on my desk. I did end up with one bug that unfortunately sticked, it looks like a weird coding problem with Moodle where it thinks a context doesn’t exist when it does, attempts to create it resulting in failure (because it already exists) and generally has a bad day. Beyond that, nothing much interesting happened. Yay for bug hunting!

No comments

Today: 22-Dec-2008: Simple things

December 22nd, 2008 | Category: today

Its the small things that you miss in Windows that makes it really painful. Today in Outlook 2003 I tried to do something that I could do easily in Lotus Notes: download all of the attachments. It took me a quick Google to find that I was of course looking in the wrong place and that I needed to go to File -> Save Attachments -> Save All Attachments. I must admit that it never occurred to me to find a message specific option in the File menu after always finding it in the same context menu that you can use to save individual files. Another weird issue I have is that Outlook leaves a cancelled meeting in the calendar for some reason. Surely if the thing is cancelled I don’t need to see it in my calendar? Fun isn’t it, I guess the brains at Microsoft know more than I do on these matters.

No comments

Today: 19-Dec-2008: Christmas time

December 19th, 2008 | Category: today

Today was one of those days where you work through things slowly and make progress but it really doesn’t feel like it. I have a whole heap of things that I want to do in the new year, some ideas on how to change the way that certain things work and a few other things so nothing much to put on my plate for the present term.

One thing that I do want to do is for the university build a much nicer timetabling system. At the moment they have a whole heap of static pages which are a PITA because if you want to see where your time table clashes are you usually end up having to scribble them down yourself, typically into some form of an Excel spreadsheet. Ages ago I wrote a tool that handled the scheduling stuff though I must admit I haven’t used it much in recent times because my time table wasn’t that complicated (down to one subject in first semester this year) but when I was using it the system generated composite timetables of different subjects. At one stage I was going to do work on it for a university assignment but ended up giving up because it would be too much work and I didn’t have that much time for the assignment.

No comments

Today: 18-Dec-2008: Finishing up MySQL and more learning

December 18th, 2008 | Category: today

After a shaky start this morning before work, I’m coming close to finishing off the ugly MySQL data migration of the last few days. I’ve managed to get a dump file that should import fine, but I will find out later about that. A new project is ePrints which it looks like it has been rather well put together and is written in Perl. At the moment all I’m doing is a test upgrade for some items but I get the feeling I’ll be doing more work on the system as I progress.

No comments

Today: 17-Dec-2008: MySQL data load fun

December 17th, 2008 | Category: today

Some days I wonder about MySQL. Today I tried to get MySQL Workbench to reverse engineer a database and it appears that now that feature is a pay for option – bummer. I funnily enough went and found the original open source project which allowed me to do what I wanted. Moodles full database fills up the page to overflowing proportions, so whilst it comes very close it isn’t quite what I need.

Beyond this I also tried importing rather large database. Most went well however some lines triggered MySQL’s max packet limit. Since the database is going to a shared host where we can’t change this setting so I increased it locally, removed the offending row, exported and reran the import. I left the import run after 5 so I’m not sure if it succeeded, but I’ll see tomorrow.

No comments

Today: 16-Dec-2008: Securing Windows and legacy fun

December 16th, 2008 | Category: today

This morning I did my best to try to get one of the service accounts to prevent interactive login. I tried setting the login hours to nothing, limiting the computers it can login from and requiring smart card authentication for interactive login. Each setting prevented the account from binding to the LDAP interface. Changing tact I tried to set the login script to run “shutdown.exe -l” and get the system to shutdown – no joy. I also tried setting up the TS login in an attempt to get it to work but no joy. I don’t get how I can the account to be secured.

I also spent some time working on an older system at Council that was badly written. In this case there was a request to add some extra filtering to a report. The system as designed branches off into code specific files to handle searching on the respective code before pushing it into a not so temporary table called “temp2”. This is then outputted in a common set of code which pulls it back from the table. Thankfully there is enough information at this point to make a small join to easily make the filter work. At the moment I’m trying to work out why it isn’t properly handling date ranges. The dates are unfortunately not working but I’m not sure if it is because of the database server being ancient (4.0.14) or if it’s because the dates are being inputted in the first decade, e.g. the year 8 AD. Weird crap like this annoys me and makes it hard to extend the system or fix issues. I also did some minor work on both Joomla! and JAuthTools to fix some minor bugs.

No comments

Today: 15-Dec-2008: Learning Moodle

December 15th, 2008 | Category: today

Having started working at my Uni, I’m starting to work on projects related to the university. As a smaller research and learning exercise I built an SSO plugin to integrate with the university SSO system, something I actually started last week but couldn’t test because I didn’t have the appropriate access. In testing today I managed to get it to work and authenticate me appropriately with only a slight change to the original code.

Another fun task is learning how Moodle works. At the moment I’m trying to get my head around how to get the context of a course. I haven’t spent much time looking and all I’ve done is look at the context table and the get_context_instance functions or similar. It will be good to spend some time looking at something not Joomla! and getting some new ideas.

No comments

Today: 12-Dec-2008: Even more fun with Windows

December 12th, 2008 | Category: today

You know lately I’ve been dealing with Windows, and whilst today I’m not directly impacted I think the case is funny enough on its own.

Today’s problem is corrupt Windows roaming profiles. At Council we get a lot of them. Compared to Defence where two of the help desk guys have worked, its excessive. And today they found the answer: long file names. To explain the problem simply, our document management system creates filenames out of document names and the documents’ unique identifier with underscores and other useful URL friendly replacements being made along the way. So the end result is DOC-12345-Document_Name.doc which is usually fine. However we have instances where the document name is incredibly long. In one particular case this resulted in a filename that was 170 characters long. As these files are typically temporary it doesn’t cause a major issue as the document management system deletes the file when it ferries it off to its own data store, however due to an unfortunate series of events Office’s most recently used list was turned on again (our DM system says it should be off, now for good reason). This meant that Office was creating links (that incidentally go nowhere) to these files – since all that usually means is chopping off whatever extension it has and putting ‘lnk’ on instead, this is a 170 character file that remains in the users profile. So this is dumped into C:\Documents and Settings\username\Application Data\Microsoft\Office\Recent (another 76 characters in this instance, making the complete file name 247 when you include the extra path separator) which then gets synchronised with the users profile.

Now within Windows, the rule of thumb is to keep the entire path under 255 characters otherwise you’ll have issues with the file (see http://support.microsoft.com/kb/q177665/; MAX_PATH was defined as 256 characters, that gives you 255 characters plus a null character), I believe this includes the drive specification as well. It appears that Microsoft expanded MAX_PATH to be 260 at some point (http://msdn.microsoft.com/en-us/library/aa365247.aspx) which is the directory specification, 256 characters of path and a null character. Now it isn’t often that you see a file that long however in this case the document management system can make it occur with reasonable frequency. As the filename is synthesised it doesn’t cause an issue for the document management system (it has its own internal file naming structure that is much shorter), but it causes issues on the client. So we’ve got roaming profiles, which means that file then gets copied to our file servers, in this case they’re Novell boxes. This means to get to where you need to be you start with \\servername\volumeN\ and then you start getting to the actual filesystem. So in our case “\\servername\volumeN\home\username\Windows NT 5.1 Workstation Profile\” is the users roaming profile store. So far so good, thats only another 71 characters…oh wait we’re already hitting the boundaries, if we put the file in that folder it’ll be 241 characters already. The final destination for our file is “\\servername\volumeN\home\username\Windows NT 5.1 Workstation\Application Data\Microsoft\Office\Recent\” – thats 170 character filename plus another 104 characters giving a grand total of 274 character file name. At this point Windows fails to copy the file, errors and corrupts the profile. Interestingly it would appear that some Unicode functions will handle this length path easily, which would suggest that internally Microsoft might not be using those functions for its profile copying. Always good fun.

In more productive news, I reorganised the JCMU repository and uploaded the 1.5 version. I’ve got to do some more work and update myGovernance. Its having issues at the present moment with large files and the connection timing out for some reason. I’m going to shift stuff to my server in the states and then see if I can commit it from there, hopefully this will make a difference. I also did some more training of the helpdesk staff and ended up fielding a rather backwards support request which I’ll quickly share.

Joomla! provides the ability to autocreate users if their user account is valid within an authentication plugin. In our case we use the LDAP plugin so it can autocreate users. Great! But then the web master decided that he didn’t want that because random people were having accounts created because they were valid, but they never should update that website. So autocreate gets disabled. Fast forward a few months and he wonders why a user on the site isn’t being autocreated by Joomla! after its been disabled and files a support incident which I get and wonder what he’s going on about – he was the one in the first place that wanted it disabled. Interestingly there was another strange issue where the system had itself gotten out of sync which some how became my problem. Five minutes editing the user fixed the problem, a job that could have been easily done by helpdesk – I know because I used their account to do it since I don’t have the power to do it myself. This is at least in my area, I got for some reason an incident involving authentication with a proxy server because in the past I’ve done stuff with authentication. Strangely enough the helpdesk person who assigned it to me has more power over the proxy server than I do. Much ado about nothing!

No comments

Next Page »