Wednesday, January 31, 2007

lightbulb

Labels:

bamboo plant


Labels:

spotlights and moon



Labels:

Tuesday, January 30, 2007

sheets of overlapping paper


Labels:

birds

Labels:

Monday, January 29, 2007

mosquito

Labels:

power cables

Labels:

shrubs on a mound

Labels:

black straw in a glass

Labels:

gender difference

Labels:

green is always

Labels:

post-rain vividity

Labels:

a pale view of three spotlights and a hill

Labels:

Sunday, January 28, 2007

the sky is last to turn dark

Labels:

twilight emptiness

Labels:

cigarette in an ashtray

Labels:

a pallid juncture of boundaries

Labels:

customer service and me


customer service and me make a great team.
they take the test photo. i crop and photoshop it!

Labels:

Saturday, January 27, 2007

you have nothing to fear. you are tough.

v1.1


















v1.0

Labels:

loonacy



Labels:

before i fall asleep

Labels:

shokolart warpper

Labels:

floor

Labels:

Friday, January 26, 2007

business

Labels:

Thursday, January 25, 2007

lit




Labels:

mirror




Labels:

zen



Labels:

wink

Labels:

Sunday, January 21, 2007

CSS: proper paragraph indentation. With elegance.

It is tradition for indentation of paragraphs to apply not to the first paragraph after a heading, but only to the paragraphs following it.

This paragraph, for example, following the first, is indented.

In XHTML all paragraphs are enclosed in p tags. Since they are all p, there is no way to specifically target the first one, or only the ones following, with the standard p CSS selector.
p {text-indent: 1em;} /*would apply to all paragraphs*/
Of course, there are ways to target the first paragraph. Unfortunately, they involve adding to the document markup. Marking the first paragraph with a certain class for example:
<p class="first>this is a first paragraph</p>
p.first {text-indent: 0;}
For sake of Purity and the Separation of Presentation and Markup... No, frankly I don't much care. My motivation for doing this was for a user style sheet, where, of course, I don't have access to the markup. However, I also appreciate the elegance of this trick (mine, and as far as i know, an original):
p + p {text-indent: 1em;}
Using the adjacent sibling operator. Only paragraphs that immediately follow from another is targeted. That means all paragraphs except the first. What's more it even works when paragraphs are interrupted by lists or code sections or an image etc.

Ah, it is just too beautiful...

Hopefully, you will find this useful. And if you do, please do let me know!


Edit: I discovered it was discovered by Chris Curtis as well. Not a surprise. What is in fact surprising is how many people (even w3.org) recommend doing it with the :first-child pseudo-selector:
div > p:first-child { text-indent: 0;}
which is patently hideous.

Well, i guess that makes this an just independent discovery (though more than 2 years later! I
just got into CSS ok?). Now you have to thank Chris as well!

And
blog about it! Two years now and the other methods still dominate search results ???

Labels: , ,

Thursday, January 04, 2007

How to discover beautiful images (photos mostly)

Too often have lousy interfaces or inferior content mar the viewing of beautiful photography. This is the best method so far, that I have come across (if you have one better, please do share it!).


First we need a good filtering system:


a good one would be a Condorcet method
implemented here at http://thefairest.info/

A pairwise comparison method.
You see only 2 images at a time.
Not one more. Nor one less.
Just perfect.

What's more elegant is that
the voting process is so integrated into the viewing experience.
Something even babies instinctively know how to do.
Which is to point at what is pleasing to the eye.

Once chosen, another pair of images is presented.
The process is virtually invisible to conscious attention.
Just the pure pleasure of contemplating beauty.


Of course, it is also an instinct to look for longer periods of time at what is beautiful.
We want good images to be saved to our harddrive.

So, we use Opera.

  • Set the transfer window to not pop-up on download.
  • Set it to not pop-up download complete notification
  • the pair of images presented are thumbnails. We want the originals.
  • the links to the originals are below the images.
  • right-click the link corresponding to your preference (that is if any one of them is good at all, it happens sometimes, but hey, sometimes too both are good)
  • press a on your keyboard, to activate the "save to download folder" menu item
  • press F11 for fullscreen

Note:
  1. the "right-click" and "press a" actions should be a seamless combination. After awhile it would be second-nature and you wont even notice it.
  2. you don't, of course, have to use the interface as it is. Use whatever software you like that achieves the same result.
  3. use Greasemonkey, or an Opera style sheet to remove extraneous elements from the page. ( I may write a post on this later)


When you're tired, just fire up your favorite slideshow program and make it do a run through your download folder. Sit back, relax, and re-view those photos.

Monday, January 01, 2007

Maxis blocks ALL incoming connections

I was running a 1-month trial for Maxis 3G you see?
It should have been obvious once the high-number ports i use for ed2k didn't work.
And even more obvious once i did the GRC scan of the 1st 1024 ports.
They sarcastically (ironic, yeah i know) congratulated on the perfectly "filtered" state of all my ports

to be sure all 65535 ports are blocked i did an nmap scan.

nmap -P0 -f 1-65535 my-ip-address

Starting nmap 3.93 ( http://www.insecure.org/nmap ) at 2006-12-31 20:39 Malay Peninsula Standard Time

and after 13314.656 seconds...



All 65535 scanned ports on my-maxis-ip are: filtered

Nmap finished: 1 IP address (1 host up) scanned in 13314.656 seconds


so there you have it!

Maxis 3g "filters" all your ports for you!
what excellent security!