Find when a stored procedure was last modified
SELECT * FROM [database].sys.objects WHERE type = ‘P’
This gives the following fields:
name
object_id
principal_id
schema_id
parent_object_id
type
type_desc
create_date
modify_date
is_ms_shipped
is_published
is_schema_published
How to: Make Thread-Safe Calls to Windows Forms Controls without delegates
private void SetText(string text)
{
// InvokeRequired required compares the thread ID of the
// calling thread to the thread ID of the creating thread.
// If these threads are different, it returns true.
if (this.textBox1.InvokeRequired)
{
SetTextCallback d = new SetTextCallback(SetText);
this.Invoke(d, new object[] { text });
}
else
{
this.textBox1.Text = text;
}
}
Which omits the code for the SetTextCallback delegate, which over time, can clutter up your application.
Instead, I would suggest using an Action<T> as follows:
var d = new Action<string>(SetText);
DNS round robbin with failover
I’ve noticed that NS records in DNS also work on a round robbin feature, NS records also alternate.
This implies that you could create a distributed load balancer with failover using only DNS
Server A ip (Multihomed; 1.1.1.1 and 1.1.100.1)
NS NS1.SERVER.COM
NS NS2.SERVER.COM
A NS1 1.1.1.1
A NS2 1.1.100.1
A www 1.1.1.1
Server B ip (Multihomed; 2.2.2.2 and 2.2.200.2)
NS NS1.SERVER.COM
NS NS2.SERVER.COM
A NS2 2.2.2.2
A NS1 2.2.200.2
A www 2.2.2.2
SERVER.COM delegated with nameservers NS1.SERVER.COM and NS2.SERVER.COM
Now, the A records are not load balanced but the NS records are.
So theoretically, a DNS client, connecting randomly to NS1 or NS2 will be given either 1.1.1.1 or 2.2.2.2 as an IP address, depending
on what nameserver it contacted.
If the DNS on NS1 goes down, then the client will automatically contact NS2. and be given server 2’s IP address. The logic being, that if the DNS
server is down, the webserver probobly is too.
In this case, the A records are not load balanced but the NS records are.
I assume this would not get past ZoneCheck for delegation of some top level domains like .fr, .de or .no, but it might work for a .com
How to break hash codes with Google
it’s simple…
Just search for
Site:reverse.me.uk + hashcode
I managed to retrieve a lost password that was Hashed in a MySQL database..
mysql> select * from admins;
+——–+———-+———————————-+
| userid | username | password |
+——–+———-+———————————-+
| 4 | admin | 1752017eea2e45fbXXXXXXXXXX |
| 5 | nktest | 1752017eea2e45f1fXXXXXXXXXX |
+——–+———-+———————————-+
– And, yes, I’ve put X’s in there, just in case…
the site, reverse.me.uk has about 5 million hash codes, covering most of the shorter passwords, so beware!
An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode.
An ASP.NET setting has been detected that does not apply in
Integrated managed pipeline mode.
I was using a component called FreeTextBox, which adds the following line into Web.Config
<httpHandlers>
<add verb="GET" path="FtbWebResource.axd" type="FreeTextBoxControls.AssemblyResourceHandler, FreeTextBox"/>
</httpHandlers>
This however, is not compatible with IIS7,
Quick fix is to take the app pool out of Integrated mode. So, go to your website on IIS 7, Press "Advanced Settings", and it will say the name of the Application Pool. Then go to application pools, click on the offenting pool, and select "Advanced Settings", then under "Managed Pipeline mode" change it
from Integrated to Classic. No restart of IIS is required.
Casting a float to a double
float x = (float)12.34;
double y = x;
What value is y?
12.34000015258789
If you really have to use floats, then this is an easy fix
double y = (double)(decimal)x;
Http status 417: expectation failed
Http status 417: expectation failed
Reading posts on the net said this could be a proxy problem, but I wasn’t using a proxy, so this wasn’t it. The solution appeared
as this little gem:
ServicePointManager.Expect100Continue = false;
I guess the server must have responded with a HTTP 100, which was not expected by the client, or vice versa. The Webservice
itself appeared to be hosted on a non-.net platform.
Cannot assign requested address: make_sock: could not bind to address
root@vps ~ # /etc/init.d/apache2 restart
Forcing reload of web server (apache2)…httpd (no pid file) not running
(99)Cannot assign requested address: make_sock: could not bind to address 78.110.167.104:80
no listening sockets available, shutting down
Unable to open logs
failed!
You have mail in /var/mail/root
*Panic!*
I was aware that my host were chaning IP addresses, for some time, and this was the old IP address that the server was trying to bind to.
So, I found that by editing /etc/apache2/ports.conf and removing the old IP addresses, then restarting apache again, the server
was back up again.
Embed ASP.NET or JSP in a WordPress Blog
content to be fectched and displayed on a wordpress blog.
It’s page is at http://wordpress.org/extend/plugins/iframe-less-plugin/
With a demo at http://wordpressiframe.omadataobjects.com/
How bugs are actually fixed
I created a new IIS Application with the newsletter
folder, created a new app pool for it, and ran it as "Local System",
Then set the Connection string to "Initial Catalog=db;Data
Source=localhostSQLExpress;Integrated Security=SSPI;"
Actual events:
– Feck, why’s visual studio opening, what the
hell’s UID?, never seen that, copy-and-paste from random website,
refresh, not
working, create application, feck, crashed again, create
application pool, not working, Oh feck, yellow page, F5 F5 F5 F5,
iisreset,
feck, check other sites, still up, phew, What the hell is IWAM_PLESK,
wtf!!, Google it, oh, must check email… ok, click
SQL logins, click
users, where the feck is IWAM_plesk not appearing, ah, wrong button,
add, grant, grant, click click click, refresh
F5, feck, not working, I’ll put the priviliges up on the new app pool.
"Service Unavailable" feck feck feck, iisreset, F5 F5 F5, feck,
ok,
back up. Set to Administrator, typo, "Adminstrtor", idiot, change back.
Back into SQL server, ah, it’s called SQLExpress, change connection
string. It works hurray…