Domain: aagh.net
Stories and comments across the archive that link to aagh.net.
Comments · 39
-
Re:Perfect?
My recent experience with Vista. It doesn't exactly go swimmingly
:( -
Re:Tyan
Heh, I've seen that before. This was an Antec PSU connected to an EpoX motherboard (a single socket SoA) with a couple of doming capacitors. It melted part of the ATX connector into the motherboard socket (these are the 5v lines, same as yours); the board still worked, but it had some stability issues, and the 5v line reading from the on-board sensors was sagging badly (unsurprisingly; much of it's clearly being lost as heat).
I gave the board to a more electrically oriented friend; he cleaned up the socket, and still uses the board today. I don't use Antec PSU's any more, though. -
Re:No placeholders?
You can avoid using globals by making an object to handle the replacements, like this example I hacked together a while back.
-
Re:Someone needs to come up with an ad-blocker...
I wrote my own ickle ad killer for Opera using CSS, which mostly scratches my itch. I'm sure there are better ones out there, but I haven't looked too closely at them.
-
Re:Worse part about dual monitors.
"0. Dual head forces a 'primary, secondary' effect. ie: you're always looking forward or left. It's very unbalanced. I would prefer a tripple-head setup, to keep things balanced."
Slightly left, and slightly right here. I do have a big desk though.
"1. DVDs/most video players would freak out (split video between 2 monitors, only show half the video, stretch, etc)"
Full screen stuff should stick to it's own monitor unless you've set your multimonitor mode to Span instead of Dualview (nVidia's terms, dunno about ATi etc).
"2. Video games freak out"
Again, try Dualview, and avoid resolution changes to the primary display or your secondary will move about (harmless, but annoying).
"3. Second monitor was usually the old one after having bought a new one. I couldn't stand looking at it in comparison to the new one."
My second's my new TFT; works nicely next to my 19" CRT. I usually run Opera and Samurize with a few log tails and system monitoring on the TFT, and SSH etc on my CRT; that way I make best use of the colour reproduction and ClearText on one, and the more comfortable brightness on the other.
"4. I have a very very nice desk. I sanded and finished it by hand. I don't like covering it with CRTs"
I have a huge desk, and I'm happy to cover it, but the useful space under and behind the TFT's definately handy. I'd be more concerned about the weight with 2 CRT's tbh, if only because it's a struggle to move anything over about 17".
"5. CRTs side by side create magnetic interferance and distort each other"
Doh. Aren't bigger more expensive CRT's shielded to prevent that?
"6. Windows (nVidia) support for dualhead, atleast with my card at home (GeForce 2 MX), absolutely sucked. It insisted on treating it as 1 large display, which stretches wallpapers. It also failed to see the secondary monitor 1/2 the time. Windows that were on the 2nd monitor previously, when the 2nd monitor wasn't found, would be lost in unusable screen space. The list goes on."
Windows is fine here; I have the option of Dualview (two discrete displays), Vertical and Horizontal span (1 large display), and Clone. I can switch monitors on and off without problems, games and video players are perfectly happy; about the only thing that's a bit ropey is overlay in some programs (notably MPC), which can cause (application) crashes and missing video if you drag them between monitors while they're playing. -
Re:My eyes hurt
Doesn't look so bad on my TFT, but it's worse on my CRT. Really, you're better off mailing Taco or someone with suggestions for something better than making endless off-topic postings to every single IT article.
Personally, I recommend the tritanopic version. -
Re:A quote:
What are you gaining by using XHTML if you're just jumping through more hoops to make it work? You can only serve documents as text/html while they meet the compatability profile (does the W3C validator check that you followed *that*?), which basically tries to keep it looking to browsers like malformed but parseable HTML 4; and that's exactly how they handle it. How is that better than having them handle well formed HTML 4.01 Strict sent with the proper MIME type with no extra complications dealing with Accept headers and content types?
For the record, I once bothered to do it properly. HTML 4.01 Strict to most clients; XHTML 1.1 to clients which claim to accept it. Costs a bit of string matching, a small XSLT and a lot of testing.
The benefit? Uh, well, I got on the X-Philes and learnt some stuff about XHTML; namely that it's not really worth using in most circumstances. -
Re:Obligatory FireFox Boosterism
I wrote a small bit of CSS which I find blocks ads quite effectively. The false positive rate can be a little high sometimes, but it's pretty good on most sites. Opera's keyboard configurability make it fairly simple* to bind to a keypress to turn it off when it gets in the way. The bundled "Hide certain sized elements" does largely the same thing, but is a little less discriminating.
* Involves .ini editing, grr! -
Re:two quick things
I have my tab list down the left hand side of my display. Keeps tabs at a fixed size, and handy for times like now when I've got 19 of them open. I do the same with the task bar (on a different monitor); works well with a sufficiently high resolution display.. and enough monitors. With large monitors I find it annoying having text extending across the entire width of the monitor anyway, so sacrificing a bit of horizontal screen space is actually quite nice.
Anyway, Opera quite happily opens windows just like IE; if you don't find tabs suit your browsing style, don't use them. If you do find some use for them, you can still create new tabs even in SDI mode, similar to Mozilla.
Opera includes a popup blocker (F12, b), and is bundled with a load of user stylesheets, one of which is designed to block banner adverts and such -- View -> Style -> Hide certain sized elements. You can of course write your own too; I did. JavaScript's abilities can be restricted using Preferences -> Multimedia -> JavaScript Options. I think you can also create custom buttons to turn any of these things on/off with a single click, and of course keyboard shortcuts to do the same, but this will involve some .ini file editing.
my.opera.com and news.opera.com may be of use if you need help :) -
Re:Using the right tool for the job
Yes, serializing and caching to filesystem are easy (you can even use PHP serialization format with Ruby, although the built in Marshal does just as well), but it's still not as fast as simply keeping an object alive across requests, especially if they grow quite large. It's similar to the reason you don't want to recompile a script each request; loading a serialized cache involves IO, parsing and (simple) interpretation too.
Actually, turok-mmcache provides a way to do this using shared memory; it just says "$value", so presumably that means it'll work with arbitary PHP values.
We use Apache 2, btw; mod_fastcgi is stable there, and I believe thread-safe, so you can use a threaded Apache with forked PHP daemons safely. Even if not, it's nice to have the better designed Apache 2 without worries about mod_php's stability on it :) -
Re:HOSTS link?
Nice and neat, but it doesn't stop your browser from actually downloading the image as the hosts file would.
Actually, it can. It depends what you put on your customized stylesheet.
Some people want to get a completely ad free web experience. Others, feel guilty about it, and don't want to get rid of the ads to show their support to the site, but want to make them less annoying.
iframe[width="468"][height="60"], a img[width="468"][height="60"]
{ -moz-outline: medium dashed red; -moz-opacity: 10%; }
468x80 images and iframes are downloaded and displayed, but they are 90% translucent and are outlined by a big red dash.
iframe[width="468"][height="60"], a img[width="468"][height="60"]
{ visibility: hidden !important; }
Banners & iframes are downloaded but not displayed.
iframe[width="468"][height="60"], a img[width="468"][height="60"]
{ display: none !important; }
Banners and iframes are neither downloaded nor displayed.
This site provides a sample antibanner stylesheet, as well as instructions on how to use it with opera, mozilla and others. -
I've written a few...
The last being SimpleTemplate; this actually reminds me that I really should do a 2.1 release...
Anyway, it's simple, compiles templates to php, and generates fairly nice code. If Smarty's a bit heavyweight for you, it might be worth a look. -
Re:CSV, etc?
Even php's serialize() (also available for Ruby<plug>) does that; but this patent also talks about checksums, encryption, and back/forward compatability, so.. say.. like XML + schema + crypto of your choice.
TBH you can put anything you like in a cookie, binary or not; you just base64 encode it or so. After that, well, people have been making file formats like this for years, and Amazon get a patent just for putting one in a cookie? Lame. -
I don't bother.
See my address up there? Yup, I'm not letting a few scumbags reduce my ability to use the Internet. I filter so much that I barely notice any more.
Of course, I take more care with other people's addresses; using mailto forms, intra-site private messaging systems, one-time-only addresses, that sort of thing. I also wrote a bit of PHP to munge email addresses (phps/php), but I don't actually use it.
You XHTML users better not be using these JS "solutions" which use document.write() by the way (that's HTML DOM, not XML DOM).. in fact, the entire idea of putting content in JS is so braindead you shouldn't be doing it anyway. -
I don't bother.
See my address up there? Yup, I'm not letting a few scumbags reduce my ability to use the Internet. I filter so much that I barely notice any more.
Of course, I take more care with other people's addresses; using mailto forms, intra-site private messaging systems, one-time-only addresses, that sort of thing. I also wrote a bit of PHP to munge email addresses (phps/php), but I don't actually use it.
You XHTML users better not be using these JS "solutions" which use document.write() by the way (that's HTML DOM, not XML DOM).. in fact, the entire idea of putting content in JS is so braindead you shouldn't be doing it anyway. -
Re:The Ultimate Answer to Banners Pop Ups and E'th
Oh, that's pretty damn cool. Here's an explanation so others won't have to do the googling again
:) It apparently works in Opera, too. -
Re:CSS Support?
CSS support is built into the preferences pane.
I've used it to run this anti-banner.css
I'm not sure if this is the original source. -
Re:problems with PNG
large file size- much larger than gif or jpg
Not really. Some encoders are pretty poor, but an 8 bit PNG can easily rival, if not beat it's gif counterpart.
Let's pick a quick example:-rw-r--r-- 1 freaky None 27382 Jun 9 10:12 states_imgmap.gif
The
-rw-r--r-- 1 freaky None 23176 Jun 9 13:28 states_imgmap.png
-rw-r--r-- 1 freaky None 22619 Jun 9 13:29 states_imgmap_pngcrush.png
-rw-r--r-- 1 freaky None 21404 Jun 9 13:31 states_imgmap_pngout.png .png is saved from Paint Shop Pro 7, _pngcrush.png using bog-standard pngcrush (which was, btw, identical to pngcrush -brute), , and _pngout.png using pngout.
If you think this is too simple an image, let's try a screengrab of my desktop, reduced to 256 colours. Feeling lucky?-rw-r--r-- 1 freaky None 342508 May 31 02:22 grab_orig.png
Same deal as above. The original is a 24bit pngcrushed file. None were saved as interlaced/progressive, nor with any transparency.
-rw-r--r-- 1 freaky None 136461 Jun 9 13:41 grab.gif
-rw-r--r-- 1 freaky None 97538 Jun 9 13:40 grab.png
-rw-r--r-- 1 freaky None 95336 Jun 9 13:42 grab_pngcrush.png
-rw-r--r-- 1 freaky None 87168 Jun 9 13:44 grab_pngout.png
I dunno about you, but PNG looks pretty good to me.
Remember that most PNG's are likely to be 24 bits, as opposed to GIF's maximum of 8, and can even include an extra 8 bits of alpha transparency.
poor standardization
What? There's at least one free high quality reference implementation anyone's welcome to use (even Microsoft), the full specification's there for anyone to read, there's a W3C recommendation that's actively maintained. What more standardization do you need?
Yes, IE doesn't support alpha transparency (something GIF doesn't even have the potential to do; PNG's 8 bit alpha channel is as big as GIF's entire range!), but for general use PNG's a perfect replacement for GIF.
JPEG can beat both, but only if you don't mind it dropping image quality to do so; not something you want to do generally.
little exposure
So what? Most users can just double click on the image file (who's file extension Windows helpfully hides by default) and won't notice the difference. And if some so called "web developer" hasn't heard of it, well, sucks to be him and his clients. -
Off the top of my head:
- aagh.net -- degrades gracefully, uses real (X)HTML properly, has clean URL's, simple and clear navigation, plenty of <link>'s, and is one of the few sites I know of that not only serves XHTML as application/xhtml+xml as it should be, but serves HTML 4.01 to clients that don't support it. Yes, it's my site
;) - xiven.com -- honourable mention
:) - diveintomark.org -- aside from the braindead US date format he uses, it rules.
- DevEdge -- clean, degrades very well.
- kuro5hin -- Has a nice fresh creamy flavour.
- aagh.net -- degrades gracefully, uses real (X)HTML properly, has clean URL's, simple and clear navigation, plenty of <link>'s, and is one of the few sites I know of that not only serves XHTML as application/xhtml+xml as it should be, but serves HTML 4.01 to clients that don't support it. Yes, it's my site
-
Feh, mine validates!
As -//Zoze//DTD CrashIE 6.0//EN*, no less
;)
* Charset is set in the Content-Type header, so you'll need to make the validator grab it itself rather than upload using a form or so (so no Ctrl-Alt-V for you Opera users). Zoze comes from the domain name I first saw this on (zoze.co.uk). -
*cough*
anti-banner.css, and I don't assume you're using Mozilla. I'd be interested to hear if it works in other browsers (other than Opera/Mozilla/IE, that is), and in receiving instructions on how to use it in them.
-
Re:same old issues
Too much wasted screen real estate. Those of us that only have 1024*768 screen resolutions hate that wasted junk at the top.
It's pretty trivial to drag bits of it around and remove elements you don't need. For example, this Opera setup uses the same amount of space as IE, but has more functionality (I don't use this, it's just an example). You can remove more if you want to use the (fully configurable) keyboard shortcuts or mouse gestures instead.
Fonts are ugly as hell. Konqueror / Nautilus / Mozilla all look much better. Even on
/.
They look fine here. Maybe you should set it up properly (Preferences -> Fonts and Colors). -
Ad blocking with CSS
I wrote anti-banner.css ages ago which uses some of these tricks to remove banners, although it mostly goes with object sizes, since I use Opera, which doesn't yet support the more fancy CSS 3 selectors.
So, do I get a front page post on /. now? :P -
Re:Because Slashdot is broken.
I've accomplished this sort of thing on my own at http://thirtyfour.org - the website is entirely readable without any extraneous formatting whatsoever. Content should be seperate from design
Funny, I didn't see much in the way of design there at all -- in fact, you've abused certain tags, like blockquote, to achieve presentational aims -- exactly the opposite of what you seem to be aiming for, unless you want to argue that your blog is a load of quotations of yourself. So, where are your <cite>s? :P
Now, my turn: http://www.aagh.net/ -- see how I provide a load of <link>s at the top for UA's to make use of, how the navbar is a marked up nested list, despite not looking much like one in CSS capable clients. Note the content is divided liberally with divs which, once stripped, leave you with a perfectly readable and well structured XHTML document. Note the print stylesheet, so if you want to print a page, you don't get a useless navbar printed with the content. Also note that it's not finished, but you get my point :) -
Re:32-bit High Res Image of PINE
Can we get a shot of threads? Be interesting to see how it compares with mutt (and no, that's not the default index format or colour scheme)
-
Disable plugins, User CSS..
In Opera I just hit F12 p to disable plugins. Not great if you actually use other plugins, but it's easy enough to enable when you need it; otherwise just remove or redirect the swf MIME type entries in whatever browser you're using.
Someone posted some CSS which should work in Gecko based clients and Opera (and probably others); just add it to your user stylesheet (Prefs -> Page Style -> My Style Sheet in Opera, userContent.css in your profile dir in Mozilla).
You can use user CSS to kill a lot of other web based spam too - e.g. my anti-banner.css nukes, you guessed it, banners. Opera still loads the banners with this, so it's a good choice if you want to support sites but don't want to see the spam :) -
Re:Autism Quotient test (AQ)
Source. Should be pretty easy to see what to change to adopt to other tests, although it might be better to write a more general framework if you're thinking of doing much
;)
(I scored 27, btw. I don't think it's the most accurate test in the world though :) -
Re:Autism Quotient test (AQ)
The first thing I thought when I saw that was "There's no way I'm doing that manually".
So, er, I didn't ;)
That's based on the same code I used for the Rosenberg Self-Esteem Scale, btw. -
Re:Autism Quotient test (AQ)
The first thing I thought when I saw that was "There's no way I'm doing that manually".
So, er, I didn't ;)
That's based on the same code I used for the Rosenberg Self-Esteem Scale, btw. -
Re:block images from this server
I managed to replace the slashdot advertisements inside a story with blank space, but removing the top-banner page will also remove all your other slashdot graphics. Maybe phoenix can include a feature that blocks images from a URL containing the text "adlog.pl" ?
In your user CSS file:a img[width="468"][height="60"] {
Repeat for all common advert sizes you see.
display: none;
}
Alternatively, use mine. Goes for Opera users too, although it will still load the banners; it just won't display them. -
Re:I've fallen in love with Opera, but...
F12 and R will turn them off, F12 A will turn them back on.
Down arrow indeed.. tsk :)
Turning off plugins also comes highly recommended for killing Flash banners (F12 p, toggle), and disabling gif anims (F12 g, toggle) makes the rest much less irritating.
http://voi.aagh.net/code/anti-banner.css kills most of the rest. -
Re:Nice Addition to Blocking Popups...
I have a user CSS file which does this. It also works in Opera (and any other browser with reasonable CSS 2 selector support; i.e. not IE
;), and is quite effective.
http://voi.aagh.net/code/anti-banner.css
Let me know if you use it. -
I've tought about this, and..
I came up with mboxdir. It was actually a preliminary specification for a Win32 client.
-
My little (unreleased) intro to Ruby
http://freak.aagh.net/ruby/intro/
It's only a first draft, but it should give a reasonable overview to the curious. -
Thought and mod_rewrite are the key
The key to making links that don't rot is to design a URI schema that's both independent of any redesigns of your site and independent of any particular way of doing things.
Let's look at a few examples.
The URI to this page is http://slashdot.org/comments.pl?sid=31884&op=Reply &threshold=3&commentsort=3&tid=95&mode=nested&pid= 3434535 - what is it telling you that it doesn't need to?
Well, for a start, that .pl is a bad idea. What happens in 4 years time when SlashDot is running on PHP, or Java, or Perl 7, or a Perl Server Page, or ASP? Then there's the difficult-to-decode query string that tells you nothing about the link other than "this is the information the server needs to locate your page at the moment", and doesn't give you much faith in it living forever.
Now let's look at an equivilent Kuro5hin URI.
http://www.kuro5hin.org/comments/2002/4/29/22137/6 511/51/post#here is a URI to reply to a random comment on k5.
For a start, you can't tell what application or script is serving you the page, and you can't see what type of file it's linking to; both these things can and will change over time.
Second, there's a date embedded in there; you can see the developers, if they ever decide to change the meaning of '/comments', using that date as a reference; if the URI is before the change, they can map it onto the new schema or pass it onto legacy code.
Having the date in the URI is good because it allows you to determine when the link was issued, and map it onto any changes or pass it off to a legacy system as required.
Now let's take an apparantly good link on my now horribly out of date site, aagh.net.
http://www.aagh.net/php/style/ links to an article on PHP coding style.
Certainly, hiding the fact that I'm using PHP to serve this document is good, and shortening the URI to remove the useless querystring is good (you can't see one? Good, that's the point), however, this URI may well stop working in a few weeks; I'm planning a redesign and the old schema may well not fit in well with it.
A short yyyymm in there could have made all the difference; a simple if check on the URI's issue date would keep it working.
The moral of the story: Think about your URI's when you're designing a site. Try to remove as much data as you can without painting yourself into a corner. -
Thought and mod_rewrite are the key
The key to making links that don't rot is to design a URI schema that's both independent of any redesigns of your site and independent of any particular way of doing things.
Let's look at a few examples.
The URI to this page is http://slashdot.org/comments.pl?sid=31884&op=Reply &threshold=3&commentsort=3&tid=95&mode=nested&pid= 3434535 - what is it telling you that it doesn't need to?
Well, for a start, that .pl is a bad idea. What happens in 4 years time when SlashDot is running on PHP, or Java, or Perl 7, or a Perl Server Page, or ASP? Then there's the difficult-to-decode query string that tells you nothing about the link other than "this is the information the server needs to locate your page at the moment", and doesn't give you much faith in it living forever.
Now let's look at an equivilent Kuro5hin URI.
http://www.kuro5hin.org/comments/2002/4/29/22137/6 511/51/post#here is a URI to reply to a random comment on k5.
For a start, you can't tell what application or script is serving you the page, and you can't see what type of file it's linking to; both these things can and will change over time.
Second, there's a date embedded in there; you can see the developers, if they ever decide to change the meaning of '/comments', using that date as a reference; if the URI is before the change, they can map it onto the new schema or pass it onto legacy code.
Having the date in the URI is good because it allows you to determine when the link was issued, and map it onto any changes or pass it off to a legacy system as required.
Now let's take an apparantly good link on my now horribly out of date site, aagh.net.
http://www.aagh.net/php/style/ links to an article on PHP coding style.
Certainly, hiding the fact that I'm using PHP to serve this document is good, and shortening the URI to remove the useless querystring is good (you can't see one? Good, that's the point), however, this URI may well stop working in a few weeks; I'm planning a redesign and the old schema may well not fit in well with it.
A short yyyymm in there could have made all the difference; a simple if check on the URI's issue date would keep it working.
The moral of the story: Think about your URI's when you're designing a site. Try to remove as much data as you can without painting yourself into a corner. -
A friendlier solution.
Rather than filling the spider with a whole bunch of (potentially valid) addresses and loading your server with bogus clients you don't want, just make it difficult for them to extract the addresses.
I wrote a bit of PHP a few months ago that applied some spamproofing ala SlashDot (only a bit less agressive) that some might find useful.
Highlighted Source
Raw Source
It performs the following munging, depending on what you specify:
freaky@aagh.net
freaky (at) aagh (dot) net
freaky@aagh.N0SPAM.net.SPAMN0
freaky@aag&# 104;.net
random one of the above
random with entity encoding
all of the above -
A friendlier solution.
Rather than filling the spider with a whole bunch of (potentially valid) addresses and loading your server with bogus clients you don't want, just make it difficult for them to extract the addresses.
I wrote a bit of PHP a few months ago that applied some spamproofing ala SlashDot (only a bit less agressive) that some might find useful.
Highlighted Source
Raw Source
It performs the following munging, depending on what you specify:
freaky@aagh.net
freaky (at) aagh (dot) net
freaky@aagh.N0SPAM.net.SPAMN0
freaky@aag&# 104;.net
random one of the above
random with entity encoding
all of the above -
No open source, please, we're BritishOpen source is a really nifty system. The programmers get buckets of free help, beta testing and distribution, the users get limitless free-as-in-beer software and Bill Gates gets one less ivory back scratcher every time a thousand copies of Linux are sold. Everyone's a winner.
Still, a couple of programmers I've spoken to say are actually against Open Source. They argue since they spend hours coding, debugging and maintaining a program, shouldn't they be allowed to make an honest buck in return? I guess that's their decision, and ya just gotta respect it - some want the money, others just want to help create nice software for everyone.
And what if you don't like b33r? What if you're a teetotaler, a recovering alcoholic or a PHP hack? Can I create software that's free as in Coca-cola instead?