web site sync, sync, sync, sync...

The Linux version of the website sync package got a fairly large upgrade yesterday. Not so much in the scripts, which works superbly still, but in the "built-in tutorial" you get when you launch the tool with ?showscript=true.

I though it was about time I addressed the questions I've had about it (the downside of good SEO!), namely; "Can I run this from Windows?" (yes), and "Is there any way to make the ftp scripts more secure?" (yes). Hopefully the all-new built-in tutorial will make everything clear. If not; hate-mail to the usual address.

Actually, I spent hours on it, so don't bother! It's a truly handy little system, and one I use every day, often many many times a day; and yes; I do it all from Windows, with a little help from the usual suspects; EditPlus, FireFox, and Putty. Almost a holy trinity.

Oh, you meant, "Can I run it with only a Windows box?"
No, of course not, it's for Linux! smiley for :roll:

And lastly, "Is a Windows-only version planned?".

Erm, not really; though it does sound like one of those wee jobs one would "get a kick to do" on a Monday afternoon, so you never know… But I wouldn't hold my breath.

for now..

;o)


round-robbin

I tend to use the round-robin system a lot; that is; do a small change here, then move to the next script, and update that, add a feature, whatever, and then the next, and so on. In actual fact, it's more like opening brackets, and that ugly word, 'dependencies'; you make one wee change, and everything is effected. Perhaps a slight exaggeration; but for sure, hundreds of on-site scripts have seen an update this week; some big, mostly small.

To my HORROR*, I noticed that since I chucked the files from three different distro machines into one (as it now has infinite depth capabilities), lots of old external links to the source view pages were broken. Sure, search engines would eventually catch up to moved files, and the distro machine has a facility for redirecting moved files, too; but we're talking entire sections of files, and I wasn't about to create a hundred new preference items.

So I devised a better solution; something that's been in the back of my mind for a while. If you link to a file that doesn't exist, the distro machine searches for it, and if it's there, presents it, regardless of its new location. As well as catching genuine bad links to good files, it enables webmaster to be really lazy with their own source links.. /engine?source=whatever.php, and even if it's actually, in php/foo/bar/whatever.php, the link still works fine, so long as the name is exactly the same.

I've had similar redirections working previously - using mod_rewrite in .htaccess, but this is much more fun, more complete, requires zero .htaccess hacking, and is extremely simple to implement; basically, you don't need to do anything at all!

Both methods have a downside; you now have potentially duplicate versions of the same page. However, only bad links will get the "alternative" version, and that's better than getting nothing; and spiders will only ever spider the good links, anyway. This doesn't affect SEO. If you don't believe me, Google for Linux Website Sync (or similar)**, which has had similar all-roads-lead-to-one-script redirection in place for some time.

Of course, the distro machine still performs all the regular checks before presenting the moved source file for the browser's perusal; allowed extension, inside the source tree, and so on.

I've not added this capability for zip downloads, as yet. I'll still need to think about whether I want that; I'm not to bothered about inward links directly to zips, anyway. Mainly I was interested in unbreaking search engine hits, not making things easy for leechers.

There's loads more I could tell you about, and I may blog again soon. In the meantime, I should mention, that 2MB+ of spam DID NOT make its way to the comments. Shields at 100%!

for now..

;o)

ps. here's an anecdote.. On loading my Google Analytics, I was double-plus horrified to find that my site visitors, after a rousing comeback, had dwindled again to their hundreds, then dozens! Calamity! I put my thinking cap on began the investigation.

Had some international SuperPower barred IP access to corz.org? No? Had my web host performed some devious server trick to redirect away all my traffic except me and folk I know? No. What, then?

Simply, I had uploaded my metadata script, and my local copy has the Google Analytics code commented out. Oops. smiley for :erm:

This foolish blunder was easily rectified with something similar to..
<?php
if (stristr($_SERVER['http_host'], 'corz.org')) {
echo 
'
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "OO-000000-0";
urchinTracker();
</script>'
;
}

.. and will never happen again, etc.

references:
*I'm kidding
** and remember, that's after a week of being away for six months, too! 1st from 2,000,000+ results. Thanks Google! Thoroughly deserved, of course - and with another exciting update this very day!

by the way (introducing 'Alpha Releases')

It's in the postscripts and subtexts that the real action happens, eh! I had to say..
FUCK ME! CORZBLOG ROCKS!

Which I already knew, and that makes the guilt of keeping it to myself so long so much harder to bear. I'm gonna throw up an Alpha; that's it, I've decided.

I reached CJO point, which for laymen, is "Critical Javascript Overload". I'd done so much, come so far, implemented so many possibilities, and then hit a wall. The force of the impact knocked me into next month, and I still haven't fully recovered a year later.

But it's good now, it's better; for reasons that I'll more likely explain in /blog/, I'm cool with the data, the .org, and I will just throw up an Alpha and let you get on with it. Perhaps you could even help me with it. Only I and a small band of folks would see the significance of the previous sentence.

So from here on in, expect something totally new for the org; "Alpha releases". They may not have documentation, nor witty comments, and might be entirely localized for a laptop I happened to borrow on the road somewhere, but there you are; and the really important bits will be there, and if you have a mind to, you can use them; and at such early stages; perhaps even be a part of their evolution.

But not tonight, I'm winding down.
I symbolically click corz clock's tray icon, and enter the timeless pre-sleep state..

How easy did I just blog? It's the work-flow, you see. And the way-cool spell-checker, and the auto-jumps, and the neat prefs, and...

I PROMISE! You'll get an Aplha. Soon!

for now..

;o)


plain text, and viewing it..

Observant sorts will have noticed that when you view scripts, text files, and what-not at corz.org, you get a fancy version, like this, courtesy of the textview script. It is cool, but has a couple of foibles; had, rather; today I fixed it.

Now that it's foible-free, I've ripped out its main gubbins, and inserted them into the distro machine; my cunning plan being to have it serve up all sorts of loose files (the plain text files in question), and secretly count applicable downloads in the background. That was unbelievably easy, and so I've started throwing more files into the (now infinite depth) /engine.

I also removed the /beta engine, and threw everything into the main engine (a rewrite should catch stray browsers); I may have mentioned this. What I didn't mention is that the main download engine for corz.org is also my current development beta. It's proven itself to be so robust that I'm basically gonna chuck everything in there.

As I move into this territory, the distromachine's source/download architecture is starting to look more shaky, and I'm seriously considering a ground-up re-work, basically a replacement for the Apache index listings, but with background distromachine-like capabilities; text and source highlighting; downloads counting and so on; but to the user; just a souped up directory listing. Of course, lots of the distromachine code is eminently re-usable.

Oh right, the foibles! Well, mainly the double-extension business, where .txt got you the fancy version, and the magic link led to ".text", which got you the plain version, and thanks to the wonders of raw http headers, was magically transformed back to .txt in your save-as dialog. Of course, as well as being confusing, this superbly complex functionality was tremendously easy to break, which it recently did.

After a wee think, I've reworked the whole affair, and accomplished two things; a) made it work flawlessly (I use the "qsa" rewrite flag to simply tag an extra GET variable and keep the extension exactly as it is), and b) removed lots of code in the process, aka "simplified" things, and act which always gives me incredible satisfaction.

You can grab the latest version of the textview script here, and see it working, well, pretty much all over the site. Rake about.

If anyone clicks the link at the top, and gets "mysql_backup.bash" on their hard drive, please let me know!

for now..

;o)


power to the people

Well, after almost six months off-line, I figured I would have a few quiet weeks to get things ship-shape, upload the new content, and so on, before Google picked up the site again; and who-knows how long after that, to get a decent ranking. I was wrong.

Yesterday; after only a week at the new host; I spotted the visitor levels take a huge leap, and Googled for a few popular keywords. Sure enough, there I am back at the top. This has SEO implications, but I'll have to think about that. It says a lot for the power of inward links, that's for sure. None of them paid-for or coerced, I always enjoy adding. smiley for ;) Thank You!

I finished packaging up corz clock, and the color pickin chooser yesterday. My grand plan was to unleash them first on the AutoIt forum, but it seems that new members can't post in the example scripts forum, or something; their admins are tardy in the email reply area, but then; I'd have a real cheek moaning about that, wouldn't I! smiley for :lol:

I'm finishing up the pages for those right now (along with a few other things, as ever - thank the lord for tabs!). I'm also working on some other AutoIt-related stuff, tutorials and such. There's also a few new .au3 files appearing in the /engine, so if you dig AutoIt (and what Windows power-user could resist it?) check in there every once in a while for goodies.

I'm also in the process of throwing up some IPCop add-ons that I'd previously neglected to share. The story I'm sticking to is that I wanted to test them for a good year before vouching for their security; IPCop is, after all, a firewall; and a damn good one.

There's a fake ident server add-on; handy for connecting to certain IRC servers, FTP servers, and other things, an lsusb installer; so you can check what USB devices you have - handy for laptop installations, and a "last IP" page, which unsurprisingly, tells you what your IP used to be, aka. "previous IP". Grab those here.

While I'm at it, I'm updating some of the other Linux goodies. There's so much I want to share, yet most things exist in a state not fit for sharing, though I'm getting through them one-by-one. If you run a Linux box, particularly a Slackware Linux box, it's worth dropping once in a while. I have a sorta Linux mirror directory structure going in the archive, amongst other things, which will be especially useful to Slackware n00bs. Archive link at the top of all pages.

That's about it for now; I'd better get back to work before all these bloody visitors make a mess.

One final note, I spotted the first automated spammers have been foiled by the comment script's new anti-spam capabilities. Strike one for me, I think. smiley for :geek:

for now..

;o)


testing, testing..

If I had a quid for every time I hit the refresh key while working on scripts, I'd have been a millionaire a long, long time ago. Same goes for building desktop applications, the "compile cycle" can actually form a fairly dancable rhythm. I like to get things just right, you see.

Amazing as it might sound, I'm loath to release code with bugs in it, or that doesn't work the way I conceived it to work, or any number of often quite minor foibles. And so I test. And then I test some more. And in this way, small improvements are made all-over, and one by one, things come together. I'm having a lot of fun, anyway. Getting back into the php is always fun; seeing things afresh, digging the notes.

While it's definitely possible to create bug-free software, my continual drive to add new features almost guarantees that this is a state my software never attains. I don't mind; so long as it looks good, and works, though not necessarily in that order.

Which brings me to the comment script, which, after almost four years of tweaking and improving and fixing, is just about ready to be released into the wild. Before I disabled it here at the org last year, it was working great, but simply wasn't able to deal with the sheer volume of (mostly automated) spam that was being posted on-site, or rather, I wasn't able to deal with the spam that was slipping through. It needed some serious toughening-up before coming back online.

While I has doing that ( GD image verification, as well as a few other tricks to fool automated spammers), I added a couple of other features that have been on my mind. The first is an ini file, enabling one to switch individual comment pages on and off at will. There are four settings; 0: totally disabled, 1: show comments but no posting allowed, 2: enable comments and posting, but must verify, and 4: free-for-all.

Level four is currently enabled for the secret comments page; if you know what and where that is. Some of the other pages have also had their comments facility tentatively enabled, too, so we'll see how things go. Hopefully, everything should remain within working parameters and I won't have to spend any more days and weeks removing penis enlargement ads and chinese porn links from my comment files. I might even get a chance to answer a few. smiley for :D

So now I can have stiffer security in areas that are most abused, while allowing looser restrictions in the quieter areas, or any number of other possibilities. I'll expand the ini's capabilities later, to take in more of the prefs, with perhaps a config page to read and write it, because I like ini files, a lot. It's probably working so much with AutoIt that did that - its ini handling is very strong, and one tends to use them for all sorts.

The other feature I'll keep under my hat, for now. Once I clean up the documentation, I'll drop a beta into the /engine, which I would grab pronto, because eventually I'll be selling this baby. Once I code up a PayPal check-out, that is. smiley for :roll:

for now..

;o)


code, for life..

Once you write it, that's it, it exists, and there's almost no going back. Once you release it, there's no going back. And you have to maintain it, and support it. And so it goes. There's lots of code I haven't released, and that, mainly, is why.

But there's lots I have, and lots more about to come your way, but first the org, and our new host. Having dropped completely off Google and similar (it took almost six months!), I reckon it's a good time to do some reorganizing, and with that in mind, I've started moving things around just for the hellofit; okay, I do have a plan..

The eventual goal is absolute simplicity, and meanwhile investing time creating "things that run themselves". Currently, I'm working on getting the downloads from all the distro machines (now a funky xhtml-spewing entity) scattered around the place, into one single place. While getting it xhtml-compliant, I also made it infinite-depth capable, which was the most requested feature; in other words; you can have folders of files inside folders of files inside folders and so on. This has opened up a few possibilities for me, too.

It all works great, though I still have to create some cute CSS for the various pages onsite that use its embedded menu and source display services, so that it also looks great on those pages. You can still access it directly via the old short link.. /engine, and hopefully, most of the old URL's will work just fine. If not, I'm sure the new-and improved 404 page will get your man, so to speak.

Oh yeah, I added fuzzy searching to the "oh-so-clever 404 handler", along with some other improvements. In fact, lots of site code has been upgraded in my local mirror, and awaits upload; a process that has begun.

I'll get a distro of the new 404, and the distro machine itself, as well as all the other updated bits (oh poor corzblog downloaders!) ASAP, which is a lovely acronym; explicitly urgent, and yet, in reality meaning "perhaps never". smiley for :lol: No, really… Everything in time, and let's face it, there are worse ways to learn patience than waiting for a software release.

I have a few new windows applications in their final stages, too. I fixed checksum's two major bugs (thanks beta-testers!) and I'm gearing up for a proper beta release (those that have mailed to be a checksum beta tester but didn't make it into the first batch will likely get a mail soon, hopefully with a regular URL in it).

I've been using checksum continually for months now, and I just know you're going to love using this not-brain-dead file hashing utility for windows. While you are waiting for a download, you can whet your appetite, here.

I also made a clock. This might seem like a trivial thing, but I have a problem with appointments, and have searched for a long time to find a clock that a) was cool, b) had alarms and reminders, c) could be small and semi-transparent, so that it could stay on my desktop, d) could play custom audio alerts, e) has customizable schemes, f) and so on. So I wrote it. Or rather, I found some code on the AutoIt forum; a thing called "Analog Clock"; basic, but with at least three things I was looking for; and raped the code.

I like AutoIt, so I grabbed the free source for Analog Clock and got to work. A couple of furious days of coding later, corz clock was finished. I've been running it ever since, maturing the code all the while, adding new features as I think of them, fixing stuff, and after more than a month of this, it's about ready for an airing methinks. I might do that on the AutoIt forum, actually. Seems fair. I have a page for it here, in progress, so expect a proper distro sometime soon..

an image
While I was creating my clock, I needed a color chooser. The system's built-in chooser annoys in so many ways, and there just isn't a decent AutoIt color chooser out there. You know the next bit, right?

Enter " color pickin chooser", possibly the coolest color chooser on planet earth..
an image

I'm not even going to go there, for now. Suffice to say it does everything I wanted and a whole lot more, is available as a stand-alone application or include for your own AutoIt applications, and will be available soon.

Which is starting to sound familiar smiley for :blank:
for now..

;o)


 ©  2024 « corz.org » 24.12.3  

Welcome to corz.org!

I'm always messing around with the back-end.. See a bug? Wait a minute and try again. Still see a bug? Mail Me!