I am currently looking for some books to read to try to get to my goal of a book read a week… I have a bunch of Young Adult fare as I used to work at a library and I find the genre fun to read. I have a lot of licensed material (Star Wars Expanded Universe, Angel, Buffy, Quantum Leap, Red Dwarf, D&D Forgotten Realms, Dragonlance, Doctor Who, etc.) that I am considering… I have a friend who thinks I should be reading classics and sent the top 100 to me, but I am not convinced on Tolstoy (War and Peace) or Dickens…
Any suggestions of fiction to read (I have enough non-fiction to read for my job, and Bathroom Readers for my trivia reading)?
Yea, I know, everyone has these and the probability of actually keeping them is low… I am going to set my expectations high so I can either strive to succeed or be happy with partially succeeding
- Blog daily (already missed yesterday, but we will try). I want to say something everyday to get myself into the habit of blogging all the time. This will help me do the reviews and SQL posts I want to do.
- While blogging, try to ignore that someone else may have already done an article about this topic… I worry about being accused of stealing material. I have had some posts that I have prepared and I don’t put them online because I see another article that is similar and I don’t want to duplicate information. I need to get over this insecurity and just post. If I am accused of stealing material, I’ll just show my notes…
- Make a calendar of daily, weekly, monthly and yearly chores and try to stick to it. I am usually in a routine, but once I get off-track, I stay derailed for weeks. I need a calendar that will make sure the house and yard don’t get so bad that it takes two whole weekends to mend.
- Play at least two new boardgames a month. This is conservative, but given my limited time, it is the most realistic.
- Post at least one SQL article a week about something I have worked on or think is cool. I started a series on using a Server List table, I have about 20 articles that build on that, so I should be good, I just need to do it!
- Read a book a week and a book a day to the kids.
- Develop two boardgames this year.
- Develop a Facebook app even if it is only for my enjoyment.
That should be enough…
Oh, one more, blog monthly on the progress of these goals!
We had a global change of one of our fields here at work that is used in about 5000 tables. It needed to be changed from a varchar(4) to a varchar(10). The challenge was all the data integrity issues, so I wrote up this script to allow us to change the datatypes. It gets the database, table and columnname from a table (though it could also get target datatype as well) and gets all the information about primary keys and foreign keys to drop and recreate these keys after the changes have been made.
set nocount on
DECLARE @newdatatype varchar(50)
SET @newdatatype = 'varchar(10)'
create table #pks
(
dbname sysname,
tableowner sysname,
tablename sysname,
columnname sysname,
keyseq int,
pkname sysname
)
create table #fks
(
pk_dbname sysname,
pk_tableowner sysname,
pk_tablename sysname,
pk_colname sysname,
fk_dbname sysname,
fk_tableowner sysname,
fk_tablename sysname,
fk_columnname sysname,
keyseq int,
updaterule int,
deleterule int,
fkname sysname,
pkname sysname,
deferrability int
)
create table #recreate_constraints
(
command varchar(512)
)
declare table_cursor cursor for
SELECT databasename,tablename,columnname from dbo.FieldsToChange order by databasename,prioritylevel
open table_cursor
declare @tablename sysname
DECLARE @pkname sysname
declare @pk_column sysname
declare @fkname sysname
declare @fktablename sysname
declare @fkcolumnname sysname
declare @pktablename sysname
declare @pkcolumnname sysname
declare @columnname sysname
declare @databasename sysname
declare @sSQL varchar(256)
FETCH NEXT FROM table_cursor INTO @databasename,@tablename,@columnname
WHILE @@FETCH_STATUS = 0
BEGIN
truncate table #pks
truncate table #fks
SET @pkname = ''
declare @pks_threepart varchar(256)
declare @fks_threepart varchar(256)
SET @pks_threepart = @databasename + '.dbo.sp_pkeys @table_name = ' + @tablename
SET @fks_threepart = @databasename + '.dbo.sp_fkeys @pktable_name = ' + @tablename
insert into #pks exec (@pks_threepart)
insert into #fks exec (@fks_threepart)
DECLARE fk_cursor CURSOR FOR SELECT fkname,fk_tablename,pk_tablename,pk_colname,fk_columnname FROM #fks
OPEN fk_cursor
FETCH NEXT FROM fk_cursor INTO @fkname,@fktablename,@pktablename,@pkcolumnname,@fkcolumnname
WHILE @@FETCH_STATUS = 0
BEGIN
-- DROP CONSTRAINT
if @pkcolumnname = @columnname OR @fkcolumnname = @columnname
BEGIN
SET @sSQL = 'ALTER TABLE ' + @databasename + '.dbo.' + @fktablename + ' DROP CONSTRAINT ' + @fkname
print @sSQL
END
FETCH NEXT FROM fk_cursor INTO @fkname,@fktablename,@pktablename,@pkcolumnname,@fkcolumnname
END
CLOSE fk_cursor
SELECT @pkname = pkname,@pk_column = columnname from #pks
if @pkname <> '' AND @pk_column = @columnname
BEGIN
-- DROP CONSTRAINT
SET @sSQL = 'ALTER TABLE ' + @databasename + '.dbo.' + @tablename + ' DROP CONSTRAINT ' + @pkname
print @sSQL
END
SET @sSQL = 'ALTER TABLE ' + @databasename + '.dbo.' + @tablename + ' ALTER COLUMN ' + @columnname + ' ' + @newdatatype
if @pkname <> '' AND @pk_column = @columnname
BEGIN
SET @sSQL = @sSQL + ' NOT NULL'
END
print @sSQL
IF @pkname <> '' AND @pk_column = @columnname
BEGIN
SET @sSQL = 'ALTER TABLE ' + @databasename + '.dbo.' + @tablename + ' ADD CONSTRAINT ' + @pkname + ' PRIMARY KEY CLUSTERED (' + @pk_column + ')'
print @sSQL
END
OPEN fk_cursor
FETCH NEXT FROM fk_cursor INTO @fkname,@fktablename,@pktablename,@pkcolumnname,@fkcolumnname
WHILE @@FETCH_STATUS = 0
BEGIN
-- ADD CONSTRAINT
if @pkcolumnname = @columnname OR @fkcolumnname = @columnname
BEGIN
SET @sSQL = 'ALTER TABLE ' + @databasename + '.dbo.' + @fktablename + ' ADD CONSTRAINT ' + @fkname + ' FOREIGN KEY (' + @fkcolumnname + ')
REFERENCES ' + @databasename + '.dbo.' + @pktablename + ' (' + @pkcolumnname + ')'
insert #recreate_constraints (command) VALUES (@sSQL)
END
FETCH NEXT FROM fk_cursor INTO @fkname,@fktablename,@pktablename,@pkcolumnname,@fkcolumnname
END
CLOSE fk_cursor
DEALLOCATE fk_cursor
FETCH NEXT FROM table_cursor INTO @databasename,@tablename,@columnname
END
CLOSE table_cursor
DEALLOCATE table_cursor
drop table #pks
drop table #fks
declare recreate_fks cursor for SELECT command FROM #recreate_constraints
open recreate_fks
declare @command1 varchar(512)
fetch next from recreate_fks into @command1
while @@FETCH_STATUS = 0
begin
print @command1
fetch next from recreate_fks into @command1
END
close recreate_fks
deallocate recreate_fks
drop table #recreate_constraints
- #SQL Looking to compare Idera SQL diagnostic manager to compitition, any suggestions? #
Powered by Twitter Tools
- #SQL Looking to compare Idera SQL diagnostic manager to compitition, any suggestions? #
Powered by Twitter Tools
- Spent 8 hours fixing a replication issue last night. 3 of our guys and 3 MS techs, finally resolved at 2am, set sync_type='native'… #
Powered by Twitter Tools
- Spent 8 hours fixing a replication issue last night. 3 of our guys and 3 MS techs, finally resolved at 2am, set sync_type='native'… #
Powered by Twitter Tools
So, with the new Marvel Ultimate Alliance 2 on the forefront, I thought, hey, let’s review the original. And, according to a lot of reports, what I say here is a good reflection on the sequel (it sounds like they didn’t change a lot in the next installment).
At first, you are forced into playing one of four characters: Spider-man, Wolverine, Thor or Captain America. Admittedly, this is a pretty good team-up. You have your archetypes all represented, Thor is the tank, Wolverine is the DPS, Spider-man is the Mage and Captain America is your buffer. After completing the first mission, you are allowed to set up your team with a number of other Marvel characters (some are locked and others are only available through DLC).
Your first goal is to decide how you want to play the game. Wolverine is one of the best characters and if you want to play the game on “easy” (no matter what difficulty you actually select), take Wolvy in your party. His healing factor and crazy melee attacks will easily get you through most of the game. My first run-through, I had Wolverine, Invisible Woman, and two others (I think Thor and Spidey). Invisible Girl provided the buffs and the ranged and Wolverine slashed up the bad guys into scrap. You can go for team bonuses by making teams that actually exist in the Marvel Universe (like the Avengers or Fantastic Four), but that is really flavour and I prefer going the route of “making my own way”.
The graphics and controls are pretty straight-forward, with the exception of the teamwork commands. These are commands to give to the guys that you are not currently controlling. They are hiding on the left trigger and D-pad control. They aren’t bad, but I rarely used them to much of an effect (possibly because I was in Berserker Rage wailing on my foes…) The graphics are the typical isomorphic display and since you cannot zoom in, you don’t feel like too much detail is missing.
The gameplay is a bit repetitive, and when I say that, I mean you are doing the same thing, over and over again. You beat up lackeys and round the corner to find a mini-boss, you beat him up and then beat up lackeys and round the corner to find the end boss. There are a few, destroy these objects missions and at least one choice that affects the end of the game (someone HAS to die…), but, otherwise, it is lather, rinse, repeat.
The RPG aspect helps a little when doing these repetitive tasks as you are actually accomplishing something when you repeatedly pulp Doombots. You are making it easier to pulp the Doombots… Leveling up your powers and suit skills (or changing costumes) adds enough value that, if it was missing, I would not recommend the game. Beat ‘em ups were find in the arcade era, but now they need more depth.
Final conclusion: B, good game, if repetitive, RPG aspect allows replayability.











