Came across this little puppy the other day to generate bulk data. It's pretty sweet, you can specify what you want and can modify the format of the output.
Good work guys!
SyntaxHighlighter
Saturday, 11 December 2010
Wednesday, 1 December 2010
QR Codes in .NET
I really like the idea of QR codes. I can see so many ways of using them - they excite me ;)
This guy is knocking out a sweet little .NET library to create/encode and decode qr codes. It's open source and ready to go.
This is a nice quick and easy QR code builder that will create a code for you in the meantime and you could use runtime from a site/app you work on.
This guy is knocking out a sweet little .NET library to create/encode and decode qr codes. It's open source and ready to go.
This is a nice quick and easy QR code builder that will create a code for you in the meantime and you could use runtime from a site/app you work on.
TechyGypo is a Twit(ter)
Thought I'd sign up myself up a twitter account. @techygypo it is!
MSSQL ISNUMERIC - Is it?
I didn't realise that ISNUMERIC('123 £') returns 1 - did you? If you didn't either then I'd suggest you read this article Why doesn't ISNUMERIC work correctly? by Jeff Moden on SQLServerCentral.com.
Taken from the article, the easiest test is to use a regular expression:
There is also a useful function he has written that could prove to be handy.
Thanks Jeff. Think I'd better re-trace some steps to make sure scripts using ISNUMERIC are a bit tighter!
Taken from the article, the easiest test is to use a regular expression:
SELECT * FROM mytable WHERE mytable.mycolumn NOT LIKE '%[^0-9]%'
There is also a useful function he has written that could prove to be handy.
Thanks Jeff. Think I'd better re-trace some steps to make sure scripts using ISNUMERIC are a bit tighter!
Friday, 26 November 2010
Rant: VB.NET and Arrays
I can't take it any longer and I have to air my serious frustration with VB.NET and the way it makes you handle arrays - aarrrggghhh!
In all the languages I have come across and know it is only VB that declares arrays wrongly. There's no possible reason why an array declared with 3 elements should have 4. it's stupid!
This is hard for me to accept - it so annoys me :@ But, don't cut off the hand that feeds the mouth and all that rubbish. So I keep quiet and truck on...
The bullet in the head came recently when I wanted to resize an array. So being a good boy I used the Array.Resize method. This is what caused the rant...VB has double standards!
I wanted to add an element to myArray(1) to make it myArray(2). So on the basis of the Dim statement I did:
FAIL! You have to do:
VB - make your frigging mind up!!
I know, I know...I should use an ArrayList, but I was dealing with someone else's code so was stuck with stupid VB arrays - grrr!
In all the languages I have come across and know it is only VB that declares arrays wrongly. There's no possible reason why an array declared with 3 elements should have 4. it's stupid!
Dim myArray(1) As String myArray(0) = "1" 'Most languages would stop here - not VB! myArray(1) = "2"
This is hard for me to accept - it so annoys me :@ But, don't cut off the hand that feeds the mouth and all that rubbish. So I keep quiet and truck on...
The bullet in the head came recently when I wanted to resize an array. So being a good boy I used the Array.Resize method. This is what caused the rant...VB has double standards!
I wanted to add an element to myArray(1) to make it myArray(2). So on the basis of the Dim statement I did:
Array.Resize(myArray, 2)
FAIL! You have to do:
Array.Resize(myArray, 3)
VB - make your frigging mind up!!
I know, I know...I should use an ArrayList, but I was dealing with someone else's code so was stuck with stupid VB arrays - grrr!
MSSQL Reporting Services: Invalid Object Name on Temporary Table
I had an Invalid Object Name error when I was using a temporary table inside a stored procedure when I was reporting services. It ran fine in management studio but errored in the report designer wizard.
Fixed it by using the SET FMTONLY OFF command. Happy days :)
Fixed it by using the SET FMTONLY OFF command. Happy days :)
Thursday, 25 November 2010
MySQL Reset / Reseed Indentity Column
So, there I was refreshing all the data in a MySQL dev database and the TRUNCATE statement wasn't resetting the identity column. Bummer. Hey ho, was probably something to do with the table format. But I couldn't be arsed to mess about with that so used the ALTER TABLE statement to do it instead:
I needed to set the identity back to 1, but use whatever number you need it to be set to.
ALTER TABLE `my_table_name` AUTO_INCREMENT = 1;
I needed to set the identity back to 1, but use whatever number you need it to be set to.
Tuesday, 23 November 2010
HeidiSQL: MySQL Client
It's free to use and you can donate if you like.
Wednesday, 17 November 2010
Monitor High CPU Usage in SQL Server
Been having a situation with a client of mine recently where the SQL Server has been thrashing the CPU and ultimately killing it. And what comes through this morning in the SQLServerCentral.com newsletter but an article Geoff Albin wrote on how to monitor high CPU usage in SQL Server.
Sweet :)
Sweet :)
Tuesday, 16 November 2010
PHP File / Page Names Containing Only Numbers
Just had a pretty cunning one where having moved a site to a new server running PHP version 5.3.3 pages/files that were named with only numbers (e.g. 123.php) raised a 500 internal server error page.
This had clearly not been a problem on the previous Windows (IIS) server running PHP 5.2, but was on this one. Now whether or not this was a PHP version difference or a server difference, I don't know.
I fixed it by renaming the file to contain at least 1 letter. So it is now named 123a.php.
This had clearly not been a problem on the previous Windows (IIS) server running PHP 5.2, but was on this one. Now whether or not this was a PHP version difference or a server difference, I don't know.
I fixed it by renaming the file to contain at least 1 letter. So it is now named 123a.php.
Thursday, 11 November 2010
Dynamically Determine the Current Method / Function in C# and VB.NET
Needed to do some basic reflection the other day to easily determine the current method that was being executed in a VB ASP.NET application.
So here's the C# for it:
And the VB.NET:
So here's the C# for it:
//Current method name System.Reflection.MethodBase.GetCurrentMethod() .Name; //Fully qualified name of the method's class System.Reflection.MethodBase.GetCurrentMethod() .ReflectedType.FullName; //Method's class name without Namespace System.Reflection.MethodBase.GetCurrentMethod() .ReflectedType.Name; //Namespace System.Reflection.MethodBase.GetCurrentMethod() .ReflectedType.Namespace;
And the VB.NET:
'Current method name System.Reflection.MethodBase.GetCurrentMethod(). _ Name 'Fully qualified name of the method's class System.Reflection.MethodBase.GetCurrentMethod(). _ ReflectedType.FullName 'Method's class name without Namespace System.Reflection.MethodBase.GetCurrentMethod(). _ ReflectedType.Name 'Namespace System.Reflection.MethodBase.GetCurrentMethod(). _ ReflectedType.Namespace
Tuesday, 19 October 2010
Sending Email using ASP.NET via Google Apps Mail / GMail
I have recently moved all my hosting to go through Google Apps and it is sweet :)
This meant that I needed to modify my emailing routine in various .NET apps. A lot of this can be done via the Web.Config, but due to various reasons, I need to control it in code.
So configure your MailMessage object as per usual. I have added msg.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure; to mine, which could prove to be useful. Then configure your SmtpClient a follows:
Now a lot of articles I read suggested that you need to use port number 587 for the SmtpClient. When I did, I got the following error:
So I tried without declaring it and it worked just fine :)
A point worth noting: Make sure the account you are sending the email through is the same account that you are sending from.
This meant that I needed to modify my emailing routine in various .NET apps. A lot of this can be done via the Web.Config, but due to various reasons, I need to control it in code.
So configure your MailMessage object as per usual. I have added msg.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure; to mine, which could prove to be useful. Then configure your SmtpClient a follows:
SmtpClient smtp = new SmtpClient("smtp.gmail.com"); smtp.EnableSsl = true; smtp.Timeout = 10000; smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.UseDefaultCredentials = false; smtp.Credentials = new System.Net.NetworkCredential("email@mydomain.com", "my-password"); smtp.Send(msg);
Now a lot of articles I read suggested that you need to use port number 587 for the SmtpClient. When I did, I got the following error:
Request for the permission of type 'System.Net.Mail.SmtpPermission' failed
So I tried without declaring it and it worked just fine :)
A point worth noting: Make sure the account you are sending the email through is the same account that you are sending from.
Thursday, 26 August 2010
GRANT ALL Permissions on SQL Objects
Here's a quick little widget I created to GRANT ALL permissions on all SQL Server objects. It's crude and nasty, but does the trick. Quite easy to modify if need be...
DECLARE cObjects CURSOR READ_ONLY FOR SELECT name, xtype FROM sysobjects LEFT OUTER JOIN syspermissions ON sysobjects.id = syspermissions.id WHERE xtype IN ('V', 'P', 'U', 'FN') AND syspermissions.id IS NULL DECLARE @ObjName varchar(255), @ObjType varchar(2) DECLARE @SQL varchar(MAX) DECLARE @User varchar(100) SELECT @User = '[DOMAIN]\[USER]' OPEN cObjects FETCH NEXT FROM cObjects INTO @ObjName, @ObjType WHILE (@@FETCH_STATUS <> -1) BEGIN IF (@@FETCH_STATUS <> -2) BEGIN --Set the access permissions IF @ObjType = 'V' -- View SELECT @SQL = 'SELECT, INSERT, DELETE, UPDATE' ELSE IF @ObjType = 'P' -- Stored Procedure SELECT @SQL = 'EXEC' ELSE IF @ObjType = 'U' -- Table SELECT @SQL = 'SELECT, INSERT, DELETE, UPDATE' ELSE IF @ObjType = 'FN' -- User Defined Function SELECT @SQL = 'EXEC' --Build the rest of the statement and execute SELECT @SQL = 'GRANT ' + @SQL + ' ON dbo.[' + @ObjName + '] TO [' + @User + ']' EXEC(@SQL) PRINT @SQL END FETCH NEXT FROM cObjects INTO @ObjName, @ObjType END CLOSE cObjects DEALLOCATE cObjects GO
Syntax Highlighting / Format Code in Blogger
Check out SyntaxHighlighter for some top syntax highlighting in Blogger. It can be used in various blogs. Here is a walk-through on integrating SyntaxHighligher into Blogger.
Monday, 23 August 2010
Multi-Script, Multi-DB Deployments
A useful, but quite obvious way of executing multiple scripts: http://www.sqlservercentral.com/articles/scripting/70783/.
I need to do this quite regularly - so will probably write a little widget to compile the scripts into a file. Hopefully save a little bit of time there as well :)
I need to do this quite regularly - so will probably write a little widget to compile the scripts into a file. Hopefully save a little bit of time there as well :)
Wednesday, 11 August 2010
Change Proxy Server in IE
Here's a nifty way to easily change the proxy server in IE: www.proxychanger.com.
I had a situation recently where I needed to be able to easily turn using a proxy on and off. This saves having to type it in everytime after you have removed it.
I had a situation recently where I needed to be able to easily turn using a proxy on and off. This saves having to type it in everytime after you have removed it.
AJAX Loading Animation
Came across this useful free widget to create a nice AJAX loading icon: www.ajaxload.info. You can choose a type along with background and foreground colours.
Custom Domains on Blogger/BlogSpot.com
Had a real nightmare over the last couple of days getting the custom domain thing working for a blogspot.com site that uses a sub-domain.
Following instructions on How do I use a custom domain name on my blog?, I contacted my host (who will remain nameless - by the by, there should be a follow-up rant post about them, but I won't...) and asked them to set the CNAME record for blog.thewebsiteinquestion.com to ghs.google.com. They did and it worked - for a few hours.
Obviously, the gremlins somehow got in and screwed it up. The hosts were convinced that the CNAME was correct - I was not. Cunningly, when going to blog.thewebsiteinquestion.com I was being directed to the Google search page.
So after a bit of hunting, I found this site http://www.kloth.net/services/dig.php that offers a lookup on the DNS info. Sure enough it politely informed me that the CNAME record was set to blogger.com and not ghs.google.com.
Sure enough, once they changed it - it all worked again and everybody was happy - especially me :)
Call to undefined function mcrypt_module_open()
I was getting a Call to undefined function mcrypt_module_open() in PHP 5. All my Google searches were giving me the usual "make sure php_mcrypt.dll is uncommented in your php.ini". Mine was and still no luck :(
Solution for me was to add libmcrypt.dll into the system32 folder - sweeet! My libmcrypt.dll was located in the root of my PHP install folder.
Happy encrypting :)
Subscribe to:
Posts (Atom)
Labels
.net
(7)
ajax
(1)
android
(7)
apache
(1)
asp.net
(3)
asus
(2)
blogger
(2)
blogspot
(3)
c#
(16)
compact framework
(2)
cron
(1)
css
(1)
data
(1)
data recovery
(2)
dns
(1)
eclipse
(1)
encryption
(1)
excel
(1)
font
(1)
ftp
(1)
gmail
(5)
google
(4)
gopro
(1)
html
(1)
iis
(3)
internet explorer IE
(1)
iphone
(1)
javascript
(3)
kinect
(1)
linux
(1)
macro
(1)
mail
(9)
mercurial
(1)
microsoft
(3)
microsoft office
(3)
monitoring
(1)
mootools
(1)
ms access
(1)
mssql
(13)
mysql
(2)
open source
(1)
openvpn
(1)
pear
(2)
permissions
(1)
php
(12)
plesk
(4)
proxy
(1)
qr codes
(1)
rant
(4)
reflection
(3)
regex
(1)
replication
(1)
reporting services
(5)
security
(2)
signalr
(1)
sql
(11)
sqlce
(1)
sqlexpress
(1)
ssis
(1)
ssl
(1)
stuff
(1)
svn
(2)
syntax
(1)
tablet
(2)
telnet
(3)
tools
(1)
twitter
(1)
unix
(3)
vb script
(3)
vb.net
(9)
vba
(1)
visual studio
(2)
vpc
(2)
vpn
(1)
windows
(4)
woff
(1)
xbox 360
(1)