Tuesday, October 23, 2007

What kind of join am I? (example SQL code)

Create Table Fred
( TheID INTEGER
, TheName VARCHAR(20)
)

Create Table Jobs
( TheID INTEGER
, TheJob VARCHAR(20)
)

INSERT INTO Fred VALUES (1, 'Fred')
INSERT INTO Fred VALUES (2, 'Freddy')
INSERT INTO Fred VALUES (3, 'Fredrick')

INSERT INTO Jobs VALUES (1, 'Boss')
INSERT INTO Jobs VALUES (4, 'Slave')

SELECT F.TheID, F.TheName, J.TheID, J.TheJob
FROM Fred F
INNER JOIN Jobs J On J.TheID = F.TheID

SELECT F.TheID, F.TheName, J.TheID, J.TheJob
FROM Fred F
RIGHT JOIN Jobs J On J.TheID = F.TheID

SELECT F.TheID, F.TheName, J.TheID, J.TheJob
FROM Fred F
LEFT JOIN Jobs J On J.TheID = F.TheID

Friday, October 12, 2007

Tuesday, October 02, 2007

Now we have a medical reason to eat chocolate

BBC NEWS | Health | Chocolate 'aids fatigue syndrome':
Patients in a pilot study found they had less fatigue when eating dark chocolate with a high cocoa content than with white chocolate dyed brown. Researchers from Hull York Medical School said the results were surprising but dark chocolate may be having an effect on the brain chemical serotonin.

Friday, September 28, 2007

Fujitsu to acquire Infinity

ComputerWorls article

Strap yourselves in - this could be an interesting ride.

BTW "reporting from the edge of Fujitsu" is not quite the kewl tag line I am looking for.

Friday, June 22, 2007

Real-time Web Monitor

Real-time Web Monitor: "Akamai monitors global Internet conditions around the clock. With this real-time data we identify the global regions with the greatest attack traffic, cities with the slowest Web connections (latency), and geographic areas with the most Web traffic (traffic density)."

Monday, May 21, 2007

SQL Server: JOIN vs IN vs EXISTS - the logical difference

SQL Server: JOIN vs IN vs EXISTS - the logical difference:
There is a common misconception that IN behaves equaliy to EXISTS or JOIN in terms of returned results.
This is simply not true. To see why not, let's review what each statement does.

IN: Returns true if a specified value matches any value in a subquery or a list.
Exists: Returns true if a subquery contains any rows.
Join: Joins 2 resultsets on the joining column.

Thursday, May 10, 2007

Origami to the max

foldschool - cardboard furniture: "foldschool is a collection of free cardboard furniture for kids, handmade by you. The downloadable patterns can be printed out with any printer. Follow the instructions and assemble a stable piece of furniture."

Wednesday, March 28, 2007

80's geek humour

ThinkGeek :: Kitt is a Cylon
Others are afraid to say it but we know the truth. If it's got a sweeping red eye, it's not to be trusted.

Monday, March 26, 2007

Cloning Ron Jacobs

ARCast NZ #1
"How to convince management that letting a Developer become an Architect is a good idea".


great to hear a kiwi accent on a global issue.

Tuesday, February 13, 2007

1,000,000,000,000 is a big number

Chip can do a trillion calculations a second

Intel, the world's largest semiconductor maker, has created a test processor capable of performing a trillion calculations a second, billing the thumbnail-sized chip as the first of its kind.

Ten years ago, the same task would have required 10,000 processors in a 186 sq m computer room, said Intel chief technical officer Justin Rattner.

The device, which isn't for sale, would help Intel test new technologies destined for its mainstream processors in the next five years, Rattner said.

The new chip featured 20 times the processors built into current production models, the type of leap needed to speed technological improvements.

The chip might help Intel play a part in developing products such as cars that know when there's a pedestrian in the road and stop automatically, Rattner said. The test chip has 80 cores.

Code Warning - SQL 2005 mail

-- Create a Database Mail account

EXECUTE msdb.dbo.sysmail_add_account_sp
@account_name = 'Infinity Public Account',
@description = 'Mail account for use by all database users.',
@email_address = 'db_users@Infinity.co.nz',
@replyto_address = 'Andrew.Dixon@Infinity.co.nz',
@display_name = 'Infinity Automated Mailer',
@mailserver_name = 'SMTP.Infinity.Co.NZ' ;

-- Create a Database Mail profile

EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile_name = 'Infinity Public Profile',
@description = 'Profile used for administrative mail.' ;

-- Add the account to the profile

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'Infinity Public Profile',
@account_name = 'Infinity Public Account',
@sequence_number = 1 ;

-- Grant access to the profile to all users in the msdb database

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'Infinity Public Profile',
@principal_name = 'public',
@is_default = 1 ;

-- Send the mail

EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Infinity Public Profile'
, @recipients = 'Andrew.Dixon@Infinity.co.nz'
, @body = 'The stored procedure finished successfully.'
, @subject = 'Automated Success Message'
, @Query = "SELECT * FROM Customers"
, @attach_query_result_as_file = 1
, @query_attachment_filename = 'Customers.txt'
;

-- Check the mail

select * from sysmail_faileditems
select * from sysmail_sentitems
select * from sysmail_unsentitems

Monday, February 12, 2007

NoCowboys

Have you ever needed a builder, plumber or mechanic and not known where to look?

Sooner or later everyone needs assistance from a skilled tradesperson. But how do you find the right person? You could search the phone book, a newspaper or the internet, but there's really no way of knowing who you can trust. If you're like most you'll call the folks with the nicest-looking advertisement, cross your fingers and hope for the best. Will they show up on time? Will they do a good job? Will they be honest with you? Will they charge fairly?

The truth is, you have no way of knowing. Unless you have a personal recommendation, it's impossible to tell how reliable, honest or fair any tradesperson might be.

Tuesday, January 30, 2007