Nothing Final on the Job front yet, but lots of interesting leads. One that I would really like to get and looks really hopeful but have not heard anything final from them.
Thinking about going home has awakened some memories of foods from New Zealand that I have been missing. For dinner on the first night I think I want Fish and Chips. A regular Kiwi takeaway meal. I am surprised at how much I missed that.
In other news the government of Iceland has enacted the most stupid piece of legislation that it could possibly come up with.
On friday morning they made it illegal for an Icelandic company to store it's money off-shore, unless they have an office in that country. All Icelandic Companies are to keep their foriegn currency in Icelandic banks and need to provide prove of the need to send any currency out of the country.
How is that for small minded thinking? I hear that a number of Icelandic Companies are opening off shore offices.
Well that is the update as it stands now ... I will update you more in the coming weeks.
Your result for Which Vampire the Masquerade Clan Are You?...
The Lunatics {Malkavian}
2 Assamite, -2 Brujah, -2 Gangrel, 19 Malkavian, 5 Nosferatu, 6 Toreador, 0 Tremere, 2 Ventrue, -1 Lasombra, 9 Tzimisce, 8 Setites, 2 Giovanni and 8 Ravnos!
The Malkavians are mad they say. The violence of being turned from humans into monsters has scarred them irreperably so that every one is hopelessly insane. Some Malkavians see their madness as a gift and are completely aware of it and it's uses. Most, however, are victims of their violent mood swings, homicidal urges or complete memory loss. They tend to dwell in a world between reality and fantasy, fiddling with the devil and exposing their naughty parts to God. They are the most feared and reviled of all vampires due to their unpredictable natures.
For you to be a Malkavian means that your entire reality probably resembles tea with Alice and you're the mad hatter...or possibly the door mouse. It's hard to keep your attention at best and it's hard to keep your victims blood off your nice clean trenchcoat at worst. It's not that mommy didn't hug you, it's not a chemical imbalance, you're just crazy. This doesn't mean, however that you can't mix your ridalin, prozac and antipsychotics. Actually you should cuz it gets pretty interesting....oh wait, you're undead. You see and remember what others ignore and have forgotten. You are truly enlightened, now give me back my "my little pony" you sick freak!
Take Which Vampire the Masquerade Clan Are You? at HelloQuizzy
* Open the book to page 56.
* Find the fifth sentence.
* Post the text of the next two to five sentences in your journal along with these instructions.
* Don't dig for your favorite book, the cool book, or the intellectual one: pick the CLOSEST.
The SqlCommand clas represents a T-SQL statment or stored procedure to execute against a Microsoft SQL Server. You can only use the ExecuteAndSend() method with command objects that are using an in-process connection. In the following sample, we create an instance of the SqlCommadn class, assign it a T-SQL query, and execute it using and in-process connection.
(actually sentences 3-5, but they are the lasted sentences becore the code and that is not really as printable).
The main streets are closed the bars are open, lots of music, the museums have free entry and open late ... it is a very nice evening.
And to finish it off they have a big fireworks display. It was awesome.
doing the count the time from flash to bang, we were about 1km from the centre of the fireworks, but for the big ones we could still feel the shock wave, that is how big they were. It was most awesome.
It can compare table and procedure stuctures, which now gives us the capability of defining strucutres for certain returns and confirming that the Stored Procs meet those structures.
Additionally I have the mock framework running so that we can define mock tables ... next is to build mock record/result sets and such to perform actions on ....
So things are starting to come together ... next item is to finish the Mocking framework and then to move the primary logic into the Assembly so that I can handle all the error trapping and transactions there enabling much easier flow logic.
Will have to do some more reading on the SQL Server RaiseError functionality and make things go from there.
All in all it is starting to come together, which is good as I have another compnay interested in making use of it ...
Went out to dinner on friday night with the Managing Director of Release Management for the NYSE and we shared ideas and such on some technology ... he was intrigued at the idea of unit Testing the db and wants to have a look at the product once I move the logic into the Assembly.
Current they just print out to the SQL message window, next is to start the comparison system ... I am stoked at this ... and the techniques are not that hard to do once you get used to it.
- Music:Nightwish - Sacrament Of Wilderness
So here is where we got this morning. I was replacing all the If @@ERROR <> 0 with TRY/CATCH when I noticed some weird behavior.
The Suite setup and tear down were being called before each test in the suite, not at the start and end of the suite (respectively) and that the procedure that built the list of tests to be executed explicitely checked for the _Setup and _teardown on the suites.
Well that struck me as dumb ... so change the Cursor Select statement to exclude stored procs in the unitTest Schema if they end in '_Setup' or '_TearDown' ... and then just treat all the rest of the stored procs as tests to be executed ... much easier ...
Then on to the procedure that actually executes the tests in a suite ...
Before starting on the tests in now does the following ... (the name of the Suite is passed to it when it is called as @suite)
if there is a stored proc called @suite_Setup run it.
For each test in the suite
- If there is a stored proc called @testName_Setup run it
- Run the test
- If there is a stored proc called @testName_TearDown run it
Next Test
If there is a stored proc call @suite_TearDown run it
Much better logic and removes lots of strig checks and stuff from the generation of the list of tests.
It was also coded to take into account a couple of issues with the way errors were handled in SQL 2000 (or in some cases not handled). So there was lots of rollbacks and other stuff and tables to store stuff if stuff broke because the error trapping might not work. Well error trapping is now lots better and most of this is no longer needed ... so I have begun to week this out. It is a big job as it is embedded all through the structure ... but I am getting there.
- Music:Weird Al- Yankovic - Pretty Fly For A Rabbi
Today's project is to attack the major stored procs and make use of the Try/Catch syntax to better handle errors rather than the inline error techniques. This should improve the stability and general performance of the system.
I will then look at the .Net stored proc system for the structure comparisons.
- Music:Dire Straits - Down To The Waterline
So ... off to the workaround shop and I have added a new table to tsqlUnit called tsu.variableStore that has 2 nvarchar field one for the name and one for the value ... so that you can store stuff in here. You have to cast the variable from what ever datatype it is into a nvarchar and then store it and once retreived cast it back to the required datatype.
To stop proliferation into this table it is explicitly emptied at the end of each test suites execution. This means that the test author only has to worry about storing the data and retrieving/using it. The framework deletes it for them, makeing this implicit tear down for the user (while explicit for the framework).
Next is to set up a mcok schema with the same sort of rules so that players can mock tables adn stored proc's into this schema and the framework will remove them after test execution.
Nifty huh.
On other news I found out that TSQL will not allow me to insect the meta data on a recordset returned by a stored proc of a talbe type function. I could define a temp table and select into that, but it will implicitely cast datatyes to massage the data were it can and only throw and error if it can't ... which does not help use in testing the resulting output from the stored proc.
What I am now investigating is using a .Net stored proc to do this. We have enabled the CLR in our SQL Server instance so I can write a function that takes a stored proc name and some variables (if needed) and then compare the returned recordset structure with a reference structure (still deciding on how to store this). It seems a bit of weird way to do it, but if it works I will not complain.
- Music:Nightwish - Wish I had an Angel
So off to work I went.
- Completed Work
- make it case sensitive - Done.
- move all the framework tables and stored procs into a seperate schema (the 'tsu' schema) - Done
- change all the 'message' fields in the framework to nvarchar(max) from nvarchar(255) - Done
- move all unit tests into a seperate schema and removed the prefix requirements- Done
- update the license and copyright information - Done
- update the main stored proc to make it's output parameters compatible with our continuous build environment - Done
Todo
Add functions and procedures to validate table format (so I can do an example format and then test that a procedure/function is returnign data in that format.
Once this final bit of work is done I will resubmit it back into the Open Source community and see what they think.
Now some reasonings for the work.
- Case sensitive ... well simple really our db's are case sensitive.
- Move framework into it's own schema ... makes it easier to seperate from the rest of the database and also user security is easier.
- Message size ... we had some very detailed error messages that we wanted to return and 255 characters was not enough.
- Unit test schema ... by having all the stored procs in another schema made the location of these and the sequential running of them much easier. Also it was much easier to remove them from general veiwing by making the schema not visible to standard users.
- License ... as the old code had not been changed in sometime and my changes had effected all tables and stored procs (most tables were just name changes) had been modified, referenced the original author showing that this was a derivative work.
- Main runner change ... we have an application that controls our continuous build process and all our unit testing frameworks have had wrappers to make them report back to this application in a standard manner. Means that we get all our result information in a single place.
All in all I am rather happy with this bit of work. It has been a fun learning experience and I learnt a couple of things about tsql I did not know.
Your result for The Supervillain Archetype Test...
The Megalomaniac

The Megalomaniac is the most prestigious of super-villain classes. If anyone is ever going to rule the world, it will probably be you.
Your main goal in life is power and domination, you have the tools to do it, and you know it. Megalomaniacs are intelligent and forceful, and they tend not to let their emotions cloud their judgment. Most of the time. They are usually found, or not found, working at the top of a huge structured organization, though many prefer to work by themselves.
The Megalomaniac has but one flaw, but its an invariably fatal one; arrogance. He knows that he can take over the world, and he isn't afraid to let you know, often elaborately and in great detail. They often do not foresee the fly in their ointment, because they do not want to admit that such a fly could exist.
Sample Megalomaniacs: Dr. Doom, Lex Luthor, Ras al'Ghul, Kang the Conqueror, Emperor Palpatine, Brain
- Mood:
amused
- Music:The Presidents of the United States of America - Candy
need to catch up on my reading anyway.
- Music:Live - Iris
I have a web application that has been developed for us to integrate our bugs site with our new project management and defect tracking system. We got he code and I had been trying to get it working. Spent weeks trying to get it going but could not get the integration sdk working (all the rest ran fine). I tried fiddling with the security settings, permissions and lots of other things ... this is on a windows 2003 Server machine.
So I install it on my XP desktop and it works fine ... I install Visual Studio on to the Server machine and run the app up in that and it works fine .... finally tracked down the issue on friday last week. The sdk is compiled for the IIS 5 work process system and does not run under the IIS 6 worker process system. So switch that on and bing it starts working .... I can not express my annoyance at windows at this point.
Now I have the fun of integrating the project management and defect tracking to our source control system (we are also working to extend our DB versioning system for ingame content to integrate with this system) and then with Active Directory ... once this is all done it will brilliant and really make the QA process much easier.
What this means is that when we create the Task in the Project management/ Defect tracking Software, it can create the Job in the Source control and Content Control systems so that when changes are checked in they can be check in against the associated jobs and when we port that from the development source branch we can just import the jobs and all associated changes. We can also see what things have changed in relation to the Task.
This is much easier if we have to revert any change ... we just revert the job as a whole so we so not have left over code from failed changes.
Overall this is going to improve our development process to make it smoother and easier to manage and examine ... but boy is it a lot of work to actually get working.
In other news we now have the go ahead for the development of hte first stage of the remote load client. Thi is a graphicsless client that can be remotely run from a control server. The client can be controlled by a script and even react to events. This will allow us to actuall script test such as Jita (sticking 1000 people in Jita and having them do stuff). Fleet fights (we can get 2 testers to log in, give each of them 10 scripted clients in a gang and have the scripted clients follow orders). We can then scale up. This means less reliance on asking players to come and help with testing and reproducable tests, which will be a big improvement.
We also have the unit test framework installed and running in the development Branch for Walking in Stations. This mena that when we integrate the code from this project back into the main EVE branch the framework will become available in the entire EVE code branch so we can then start coding unit tests for the rest of EVE.
So things are coming together ... the only issues are filling my empty team positions ... I am still looking for 2 developers that want to come work for me.
- Music:06 - Tourniquet
It uses an sdk to teh project managemetn system. I have a test application that uses the same sdk. I can run that from my machine and it will connect and works fine. I can log intot he the test server we have for testing this app adn run it on the desktop and it works and connects. When I try to connect through IIS with this sdk it fails.
I have configured the Application pool correctly to use the Network Service user (which has all the correct permission). The IIS server is setup correctly and the application is created as a virtual directory using the correct Application pool, but it will not run ...
I have spent 4 days on this going through security policies, trying to debug and get more info but I do not know what else to try ....
had enough ... going to get something to eat.
- Music:Nightwish - Angels Fall First
I had an asset manager working with about 1 hours work .... total of about 50 lines of hand written code ... plus full caching enabled with a flag (client side).
Was freakin cool.
Will be better when we look at the wallet as we can make the pagination so much simpler ... also building async and sync into it so it can be threaded ... with call backs and shit like that .....
- Music:Creed - In America
They seem to have raised the art of doing nothing to a new level. Here is the story so far.
Email our internal operations guy with the new appartment details so they can shift my internet connection.
He forwards it to our rep at Vodafone
The rep at Vodafone logs the request
The request is not actionable because some information is missing so they email our rep at Vodafone, unfortunately he has gone on paternaty leave and does not reply
So they leave it at this for 1 1/2 weeks.
I move into the new place expecting internet ... no internet
Ring them Monday to ask what is going on and get told about the missing information
The guy creates a new request and asks for an escalation tells me it should be done by Wednesday
Ring them on Wednesday and get told it will be done by friday.
Get home Friday, still not done, ring them told that their lines contractor was working on it but 5pm rolled round and he went home.
Should eb doen Monday morning ring after lunch to confirm.
Monday 13:30 ring them. No update in the notes guy takes my phone number and says he will ring back with an answer for me.
Monday 4:00 no callback. Ring again and ask, what is happening. My number is taken again and they promise to ring me back.
Get home on Monday STILL no internet. Ring them to find out what is happening. told that it is all working ... check my modem .. I check no connection.
Guy logs a technical ticket to get it looked at.
I get an Icelandic text message on tuesday asking me to ring them.
I ring them they say that they have no idea why I am ringing.
I get a call tuesday afternoon saying that the trechnician now has the ticket and will be contacting me tomorrow morning to come and look at it.
10am Wednesday. I ring them again and get told the technician will ring me me during the day to organise me to be there
It's now 4:20 and I just got of the phone of them again and was told teh technician does not need to come into the house he just needs to connect it and it is all fine.
For FUCKS sake if you are going to lie to me atleast get your story straight.
And this is a corporate account. CCP get all it's internet connections through them for most of it's employees, its cellphones and it's corporate connections and we still get treated like this.
- Mood:
angry - Music:Genesis - No Son Of Mine
So the appartment is looking much better ... now we just needs intertubes.
- Music:Genesis - That's All
There is no door handle to the Balcony, and construction rubbish on the balcony.
There are no Towel rails and no toliet paper holder in the Bathroom
The tap for the washer/dryer leaks
And the Shower does not work ... at all ... No water, no noise or air or anything.
Those are the biggies, the rest is just small stuff, like it needed a really good clean to remove all the construction dust, the tiling contractor is really sloppy and there is grout on some of the surfaces that was not cleaned up, the washer/dryer still had it shipping bolts installed (even though they had connected all the pipes and hoses so they covered these bolts (luckily we read the instructions and decided to double check, we then removed them, if we had not it would have seized the motor.
Some things are weird, in Iceland you tak eyou blinds/ curtains with you, so new places don't have these, you also take you lights with you ... so we have some bare light fittings that we are deciding what to do with.
Also it appears that all telecommunications companies are lazy. I requested the phone and internet for the new place over 1 month ago, the request is still on the books but has not been actioned. Still chasing them up on this.
- Music:Within Temptation - Stand My Ground
