Entries
Filters: Sorted by date
Hacking Las Vegas
Hacking Las Vegas (via Kryogenix)—the story of how a bunch of wizz kids from MIT devised the perfect card counting technique and took the casinos for the ride of their lives. Edge-of-your-seat stuff.
CSS Trickery
New CSS Experiment: Trickery with Floats and Negative Margins, inspired by this message on css-discuss. By applying both position: relative and a negative margin to a floated element it is possible to pull it out of the flow of text in to the margin of the document. I have used a variant of this technique in the third revision of my SitePoint in CSS demonstration.
Fun with FOLDOC
The Free On-Line Dictionary of Computing does exactly what it says on the tin. It is available under the GNU Free Documentation License so I grabbed a copy of the archive (which expands to a 4MB text file) and had a go at dumping it in to a mySQL database. I haven’t done anything with it yet (apart from putting together a rudimentary interface) but I have a few ideas for interesting ways of reusing the data.
Thanks for the link
Stuart has pointed out that this is the second time Jeffrey Zeldman (who is actually Eric Meyer) has spelt my name wrong :)
PHP and ID3 tags
MP3 Piranha is a clever application which indexes your MP3 collection and uses the Amazon Web Service API to look up the album cover, related albums and provide a link to buy the album from Amazon. Out of curiosity, I ran a search for a PHP library to decode ID3 tags to see if such a thing could be built with PHP, and came up with this script by Leknor. The class is well written and I learnt a lot about ID3 tags looking through it—it seems they take up the last 128 bytes of an MP3 file and can be decoded using PHP’s unpack() function.
Alchemist contest
AlltheWeb.com introduced an innovative feature called Alchemist a while ago which allows visitors to customise the site by specifying the URL to their own style sheet. They have now announced a CSS design contest for the service, with top prizes of $750 in Amazon vouchers available for three categories (“Simple, Yet Beautiful”, “To CSS Infinity and Beyond” and “So 22nd Century”). This is a great oportunity for advocates of CSS to show just how powerful it really is.
Bulletin board spam
My friend Tim recently received a spam from a company called TrafficBBS, who specialise in bulk submissions to 50,000 search engines and 120,000+ BBS (web based bulletin boards). A quick look at their list of targetted forums reveals that they are spidering and spamming a whole bunch of simple web based forum scripts that don’t require user authentication, such as WWWBoard. This is a form of spam I wasn’t aware of until now. It’s scary to think how easily the system could be expanded to automatically register on more advanced widespread forum systems such as vBulletin.
[... 140 words]Controlled vocabularies
Christina Wodtke: Mind your phraseology!, a tutorial on controlled vocabularies. The concept is very similar to that used by TopicMaps—relationships are defined between terms that take in to account hierarchies, associated terms and even alternative spellings. I’m planning an overhaul of the category / metadata system used on this blog in the near future and Christina’s tutorial has given me a whole load of new ideas.
SitePoint CSS experiment
SitePoint are trialling a new design for their front page. For fun, I had a go at recreating the new design using structural XHTML and CSS. The result isn’t my normal style (I normally avoid fixed pixel font sizes and go for liquid rather than fixed width layouts) but replicates the existing design nicely and looks good in IE 5/6, Mozilla and Opera 6 on Windows. Netscape 4 doesn’t get the stylesheet and I have yet to try it out on a mac.
Tidakada
Spotted in my referrals: tidak ada, a beautifully designed blog covering web development and other related topics. This is another great example of what you can achieve with some creative CSS.
Optimising Javascript
A thread on SitePoint lead me to these two excellent tutorials: Javascript Optimisation and Tackling JavaScript strict warnings.
Zeldman interview
Jeffrey Zeldman: “99 percent of Web sites are obsolete”. An excellent interview covering web standards and the new techniques they encourage.
Archivist goes live
After a successful private beta, the new searchable css-discuss archive is ready for use by the general public. If you spot any bugs or have any suggestions for improving the archive please drop me a line.
[... 88 words]dChat released
Glen Murphy has released the source code to his innovative dChat PHP/DHTML chat system. I’ve been playing around with it this morning and it’s a very nice piece of software. dChat uses an interesting take on the remote scripting concept, using the DOM to append <script> elements to the head of the document in order to grab additional information from the server without refreshing the page. Unfortunately this technique does not work in IE on the Mac, but it works fine on Mozilla and IE/Windows.
Benefits of XHTML
Phil Ringnalda is questioning the point of XHTML. The single, huge advantage it has over HTML is that XHTML can be parsed by anything (or any language) with an XML parser. As an example, a few weeks ago I was asked to write a script to grab links from a bunch of HTML pages and insert them in to a database. I solved the problem with a combination of PHP’s strip_tags() function and XML parsing abilities, by killing off every tag that wasn’t an <a> tag and slapping on a start and end element to turn the document in to valid XML—a step that would not have been necessary had the page used XHTML in the first place.
[... 190 words]Mike Pletch to Column Two
I spotted Mike Pletch in my referrals this morning. His blog has a clean, readable design and some great content, particularly if you are interested in information architecture and content management. Via Mike I revisited Column Two which is currently documenting an implementation of a full content management system for a client—well worth a read.
Yup this site is for real
Edible.com are a small company based in London that aim to bring you an Adventure in Eating from around the World!
. Which means scorpion lollipops, milk chocolate covered ants and pickled rattlesnakes in a tin (a bargain at £16.50). I’m actually quite tempted to grab some Toffee Scorpions, if only to terrorise my friends at university...
PHP strings tip
PHP Tip: You can access characters within a PHP string using the index of the caracter in curly braces after the variable name. For example, $string{0} returns the first character, $string{3} returns the fourth character and $string{strlen($string)-1} returns the last character. You can assign to individual characters of a string in the same way, so $string{0} = strtoupper($string{0}); will convert the first character of a string to upper case. For more tips on working with strings see the PHP manual and Zend’s useful strings tutorial.
Smarty 2.30
Smarty 2.3.0 is out, and includes a useful new debugging function and support for assigning template variables by reference. I get a mention in the CHANGELOG for a small bug fix I submitted. Open source at work.
Funky stuff for css-discuss
I think I’ve kept quiet for long enough, so here are some details of the two projects I have alluded to. The first is a database driven mailing list archive for css-discuss. It has just gone in to private beta, so anyone subscribed to the css-discuss list should have an email with the URL, username and password requried to try it out. It has a pretty usable search engine and does some nice threaded views in messages—more importantly, it now contains all 9,000+ messages sent to css-discuss since it launched back in January 2002 (imported from the static Mailman archives). I’ve spent many hours surfing through the archives already and they are a wealth of useful CSS information.
[... 161 words]XHTML 2 demonstrated
Sjoerd Visscher has published an XHTML 2.0 page that works in IE6, Mozilla and Opera, complete with support for navigation lists and href attributes on multiple elements. The implementation is very clever—it uses IE behaviors, Mozilla XBL files and Opera’s proprietary link CSS properties to get all three browsers to play nicely (be sure to check out the style sheet). A custom DOCTYPE at the top of the page adds DTD descriptions of the new XHTML 2.0 elements used in the document.
More CSS
Two more interesting CSS demonstrations—Bullet proof rounded corners and Breadcrumb nested lists. The rounded corners technique is very impressive—it solves a common CSS problem in a way that is durable, cross browser and, well, bullet proof. However, as Mark Pilgrim points out:
[... 165 words]More on XHTML
A few more notes on XHTML 2.0. Tom Gilder (who incidentally has written an excellent series of tips on accessible scripting) has pointed out that the <dfn> tag is part of HTML4 and corrected my spelling of draft as well :) Meanwhile, a post by Shane P. McCarron to XHTML-L has highlighted a few more interesting points—<applet> is out (in favour of <object>, XMLEvents are in to replace the current event model and the href attribute can now be used on pretty much anything to turn it in to a link. Strangely XLink is not mentioned in the specification.
Top IRC quotes
A fundamental law of the internet is that no IRC quote is ever funny when posted on a web site. The QDB Top 50 Quotes (via Ordinary Life) must by the exception that proves the rule:
[... 80 words]XHTML 2
The W3C have published a working draught of XHTML 2.0. Since the Changes from XHTML 1.1 pages doesn’t appear to have been written yet, here are a few of the most notable differences I’ve spotted so far:
[... 116 words]So it does have a use after all
text-decoration: blink spotted in the wild!. Seeing as Hixie so eloquently argued for its inclusion in Mozilla in the first place it’s nice to see this most vital of CSS properties being put to some use.
Impressive CSS
Take a look at this page in Mozilla, view the source code and ask yourself “how on earth did he do that?”. It appears to involve very creative use of borders, possibly relating to the fact that a single border in CSS (at least in Mozilla and presumably in IE5/Mac as well) is actually a trapezium, not a line. Tantek Çelik was the project lead for IE 5 for the Mac (and the creator of both the Box Model hack and the High Pass Filter) so general CSS wizardry is to be expected.