Mysql 5.0 update

December 10th, 2007

I just updated my mysql installation from 5.0.27 to 5.0.45 (windows xp) and my server would not start.
I looked in the error log: "mysql Page directory corruption: supremum not pointed to"
I searched the net, nothing. I then compared my my.ini files and foudn the problem: the idiotic update removed my datafile (I’m not sure if it was me re-configuring the server)
in any case, just pay attention when updating 🙂

Related posts

About Google ADs

November 19th, 2007

I know most of you saw a lot of banners on my site. Well, with an avarage of about 15 unique visitors per day, I managed to earn $13.16 during the past 2 months. My bill to my isp is about $30 per month. so a simple math shows that this isn’t working right.

so, since those banners make my site look ugly, I decided to replace them by text link ads (link units).

I’m curious how this will work out since the most click and revenue came from the banner that was on top of the page.

Related posts

More greasemonkey scripts for opera/firefox/mozilla

November 18th, 2007

find them [url=http://www.ciuly.com/greasemonkey/]here[/url]

Related posts

IPB greasemonkey script for opera to operate on users warn

November 16th, 2007

I’ve spent a few hours making my first greasemonkey script, used in opera (and very probable supporting firefox).
The problem is that IPB (Invision Power Board) allows you to view/modify any non-protected users warn level but only gives you the buttons on the forums you moderate. The workaround till now was to copy-paste the needed url for the wanted operation, plus the userID. Ugly and boring and annoying and etc.
So I’ve made a script to fix that and now I have those buttons on all pages. Groovy b)

Here’s the code:

[code:1:c3ebdc7b62]
// ==UserScript==
// @name SoftPedia Warn Hack
// @author Ciuly
// @namespace http://www.ciuly.com
// @description places necessary warn related shortcuts where they are not present
// @include http://forum.softpedia.com/index.php?showtopic=*
// @exclude *
// ==/UserScript==

var table, tables, span, uid, text, debug;

// debug = true; // un-comment this line for debugging

if (debug)
alert("started");

tables = document.body.all.tags("table");

if (debug)
alert(tables.length);

for (var i = 0; i<tables.length; i++){
table = tables.item(i);
if (table.className == "ipbtable" & table.getAttribute("cellspacing") == "1"){
text = table.all.tags("a").item(1).getAttribute("href");
if (debug)
alert("User url = " + text);
var j = text.indexOf("showuser=");
if (j>-1){
uid = text.substr(j+9, text.length);
if (debug)
alert("User ID = " + uid);

span = table.all.tags("tr").item(1).all.tags("span").item(0);
text = span.innerHTML;
j = text.indexOf("Warn:");
if (debug)
alert("Warn position = " + j);
if (j == -1)
span.insertAdjacentHTML("beforeEnd", "Warn: (<a href=\"javascript:PopUp(’http://forum.softpedia.com/index.php?act=warn&amp;mid=" + uid + "&amp;CODE=view’,’Pager’,’500′,’450′,’0′,’1′,’1′,’1’)\">??</a>%) <a href=’http://forum.softpedia.com/index.php?act=warn&amp;type=minus&amp;mid=" + uid + "8&amp;t=&amp;st=0′ title=’Decrease warn level’><img src=’style_images/1/warn_minus.gif’ border=’0′ alt=’-‘ /></a><img src=’style_images/1/warn0.gif’ border=’0′ alt=’—–‘ /><a href=’http://forum.softpedia.com/index.php?act=warn&amp;type=add&amp;mid=" + uid + "8&amp;t=&amp;st=0′ title=’Increase warn level’><img src=’style_images/1/warn_add.gif’ border=’0′ alt=’+’ /></a>");
}
}
}

if (debug)
alert("finished");

[/code:1:c3ebdc7b62]

Related posts

Added paypal donate button to site

November 14th, 2007

As you probably noticed by now, there is a new button on the site and forum: paypal donate. If I get lucky, I might make a few buks with this option as well. Would be nice if I get to support the server from donations.

Related posts

Hands on cryptography

November 10th, 2007

I’ve looked over 2 articles written by George Tokas in the bcb journal at his request. Even though I don’t exactly know what he wanted me to see, I did come up with something to “say”.

There is no perfect practical cryptographic scheme. And there is only one in theory: the one in which your encryption key is the same size as the to be encrypted data AND you don’t use that key ever again (aka [URL=http://en.wikipedia.org/wiki/One-time_pad]One Time Pad[/url]).

So no matter what crypting algorithm you use, no matter what methods you use to “strengthen” it, it can be cracked.
Take for example the strong point of the RSA algorithms or any other algorithms that are using huge prime numbers.
There is no publicly known method today to find out the 2 prime numbers used given their product. (p=a*b, a and b primes). But we know from math that if you know that p is the product of 2 prime numbers, there will be exactly (no less, no more, but exactly) 2 prime numbers that will give you p. So you can *calculate* a and b given p. The only problem is that there is no fast enough algorithm for that YET known to the public. But if some math genius finds that method tomorrow, everything based on primes will go up in smoke. And that includes your on-line banking.
Same goes for any kind of math-based cryptographic scheme that uses something “very hard” to calculate. Basically, the generalization is an isomorph function that has a very hard to calculate inverse. So it’s just a matter of time until somebody figures out how to calculate it fast enough (or the hardware gets fast enough). Then what? You run to the bank to get your savings out? You go running into your anti-atomic bomb shelter because .. oops, somebody was faster?

If I were to protect some very sensitive data, I will definitely not use something available out of the box on the market by itself. Nor will I come up with something myself since that can be even worse than the first case. But instead I would use several totally different products from the market.
Basically, every algorithm has some weak points through which information “perspires”. So a very good encryption scheme/algorithm is:
– use f1..fx crypting functions
– use p1..px different passwords
– choosing x is part of the “password”
– choosing the order of the f’s is also part of the “password”
– choosing the order of the p’s is another part of the “password”
– knowing which f’s to use, yes, is yet another part of the password.
so the final password will be formed by:
– number of f’s
– which f’s
– which p’s
– the order of the f’s
– the order of the p’s
(and we can add some more stuff)

I can think of a a method to calculate the above information based on a very long key (we can set a minimum of say 128 characters). And after the algorithm is done, I choose my password (a paragraph from the bible or some other book, etc). Every f will perspire some information that an experienced crypt-analyst can use to crack the function and/or get some information about the crypted data.
Imagine this as a very dens textile material. You take one sheet. You put water in it and it holds the water but it starts dripping pretty fast and after a while there is no more water left. That is ONE f.
Now take 10 sheets of dense textile. Put water. The speed of the water dripping away will be much slower. If you choose the textile right and the number of layers, you might have the luck of getting on drip of water per hour.

The problem with using one algorithm is that if you know what to expect, you can crack the encryption and finally find the password and that’s done. Worse case scenario is brute force. I know the encrypted data contains text, right? well, I keep trying passwords until I can find some readable text and then I validate the whole data. Sure, it can take a year with todays hardware, but if I have the money to use 100.000. super computers, it might only take a few days.

So the real question is: [color=red:46b455ffb0]how much TIME and MONEY is the cracker willing to invest in order to get your sensitive information?[/color:46b455ffb0]

THAT is how you choose your cryptographic scheme. The time and money needed to crack something can be estimated with a pretty good percentage, so instead of wasting your time to find the perfect cryptographic function, ask yourself the question in red.
Is your sensitive information only about personal photos with your naked girlfriend? If so, you can use the simplest method of scrambling some or all bytes in the data, shifting, etc. a very simple, high-school level “cryptography”. Your mates will not be able to crack it because they lack the knowledge and whoever has the knowledge is not interested in those pictures 😉

well … that’s what I wanted to say about cryptography 🙂

Related posts

vista or vmware 6 idiotic keyboard problem

November 5th, 2007

for some time now I experiance the following while working with lazarus in a vmware 6 workstation running a vmware 4 image under windows vista running on my laptop to which a keyboard.mouse and lcd screen are connected via a KVM switch:
at some random times, one of the alt, shift or control key no longer work.

my only solution so far is to pause the vmware and restart vista. for some reason I would blame it on vista. any ideas when a stable SP1/2 will be available for vista?

Related posts

Delphi service debugging

October 30th, 2007

I’ve literally spent over 3 hours trying to egt a delphi 5 service debugged. I tried all mentioned stuff with process attaching, registry stuff, etc, nothing worked. then I bumped into this post from wilson:
http://groups.google.com/group/borland.public.delphi.nativeapi.win32/browse_thread/thread/c2928189fd093193/686224ed4bc7f9a8?hl=en&lnk=st&q=delphi+debug+service+Image+File+Execution+Options#686224ed4bc7f9a8

that didn’t work out of the box eitehr because I’ve got an access violation on the line

while not Terminated do
  ServiceThread.ProcessRequests(True);// wait for termination

but I replaced that block of code with


if FindCmdLineSwitch('debug', ['/','-'], true) then
  while not Terminated do
    forms.Application.ProcessMessages 
else
  while not Terminated do
    ServiceThread.ProcessRequests(True);// wait for termination

and I can now debug my service just fine.

Related posts

Just added email banning to my phpld web directory

October 26th, 2007

There was this guy/girl that kept submitting entries using a *@sendemhere.com email address which always bounced back with a user unkown (the actual email address behind those addresses).
And per my rules, every submission that bounces back emails is rejected.
So, since I got tired of rejecting this ones submisisons, not mentionging that I have palced a message on the submission page stating that there is a problem with that email address (but they were probably using some atuomated tool), I spent more than 1 hour to write an email banning function/validator and now it works like a charm.

and now .. I can rest nicely 🙂

Related posts

The alternative to Quicktime Alternative

October 16th, 2007

well, as explained on [url=http://en.wikipedia.org/wiki/QuickTime_Alternative]wiki[/url] , quick time alternative is not exactly a "correct" choise. But there they also give an alternative, using the original quick time installer in [url=http://www.codecguide.com/quicktime_installation.htm]this[/url] installation guide.

everything for the best 🙂

Related posts