Posts tagged `css`

Boy Scouts in the Los Angeles area will now be able to earn a merit patch for learning about the evils of downloading pirated movies and music. [...]

The movie industry has developed the curriculum.

“Working with the Boy Scouts of Los Angeles, we have a real opportunity to educate a new generation about how movies are made, why they are valuable, and hopefully change attitudes about intellectual property theft,” Dan Glickman, chairman of the Motion Picture Association of America, said Friday.

…. Does this seem just a bit creepy to anyone else, or am I on my own here?

A few problems:

Allowing an industry to develop a curriculum is a recipe for disaster (or should I say “flop”?). I would no more allow the MPAA or RIAA to tell me about copyright than I would allow Exxon to tell me about alternative energy or Microsoft to tell me about “embrace and extend.” Remember, the MPAA’s the same organization that said you aren’t allowed to make backups of the DVDs you buy—if it gets damaged, you simply have to go out and buy another copy. Apparently, this sort of stricture is perfectly OK, but it strikes me as odd, given the Boy Scouts’ fear of homosexuals: apparently, getting fucked in the ass is only all right if it’s a litigious media conglomerate doing the mounting.

Glickman, ever stubbornly flogging the same dead horse, is right when he concludes that the attitude toward intellectual property theft needs to be changed—yes, by consumers, but just as much by the studios and the soulless abysses which represent them. I think people know the value of movies, and that is precisely the problem: certainly, they don’t seem to be worth buying anymore. At least, not when they suck, hard, and are available on digital media that was designed to give consumers the shaft.

The article goes on to that say that prospective badge-earners must also choose from a list of activities which include visiting a movie studio “to see how many people can be harmed by film piracy.” I love this, because I’m quite certain these children will be told that for every movie they download, some humble janitor or assistant to the assistant director will lose their job and return home, Bob Cratchit-like, to tell his starving family that there’ll be no Christmas presents this year—piracy has ruined the movie industry and it tireless, selfless constituents. No one will tell the Boy Scouts, of course, that the people who really care about piracy are executives whose salaries won’t be affected. The truth is that this tack by conglomerates to stem piracy with appeals to pathos is little more than people like Dan Glickman holding a pistol to some lowly worker’s temple and screaming that Dammit, if the piracy doesn’t stop, then Mr. Cratchit here gets it!

Dan Glickman is an asshole. And his merit badge isn’t worthy to wipe my ass with. Fín.

§1473 · October 23, 2006 · 2 comments · Tags: , , , ,

MySpace denizens have a long history of stealing pictures from other peoples’ websites.

The last time an image of mine was stolen, I was nice about it. Rusty wasn’t (if you’re reading this, Rusty, your screenshot is a 404 error).

Well, after the last time, I wrote an .htaccess file that stopped all hotlinking of images except for sites on this domain, as well as a few select others.

Here it is, excerpted:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?heliologue.com(/)?.*$     [NC]

[snip]

RewriteRule .*\.(gif|jpg|jpeg|bmp|png)$ - [F,NC]

After looking through my logs recently, I found that most referrals from MySpace failed—most were still trying to hotlink HUH.gif. But there was one MySpace page that showed up under successful referrers. I visited the page, and sure enough, there was one of my images, unabashedly leeched.

So, Point 1 is: can anyone tell me why this particular MySpace page was able to leech the image (it was called via CSS, not by an <img> tag)?

Point 2 is: I was not feeling generous this time around, so I Tubgirled the idiot. He changed the background pretty quickly, but not before I snagged some screenshots.

One of the following images (“After”) contains a very graphic photograph that is Not Safe For Work, Not Suitable For Children, and as a matter of fact, not suitable for just about anyone. I’d advise any of you not already familiar with the internet phenomenon known as “Tubgirl” to simply take my word for it and not view the image. Viewing the image means that you forfeit the right to complain about it.

Before | After

§1407 · October 3, 2006 · 2 comments · Tags: , ,

A Retrospective on Cleveland qua æsthetic

Cleveland is a funny place. Like Wisconsin, it’s significantly greener than Illinois, and I find myself surprisingly aflush at the sight of all the verdure, but Cleveland is like a rusted, hulking monolith overgrown by jungle. The juxtaposition is frightening: while lost, we drove along so many leafy parkways lined with large embellished houses, but our destination was inevitably in the sprawl of the city itself, hemmed together with slummy, apartmented streets and the blackened faux-marble of the botanical gardens, the public library, and the enormous Presbyterian church on Euclid Ave. One building along a main drag called Chester St. appeared to have two dark bronze statues of skeleton warriors, as though someone had stitched together twisted detritus from a plane wreck to make this thanatotic duo, their sharp ribs prominent, their wielded swords even moreso.

It rained all three days we were there, in random spurts of thunderstorms. Cleveland’s drainage—at least downtown—isn’t the best, as even a relatively gentle storm left standing pools of water on the roadsides and muddy ponds in the grassy medians as late as the next morning. I’ve already said that Cleveland is organic, but add near-constant construction and rain to the list, and the city itself is a violent storm of confusion, parkways ceding to slums, trees to effaced apartment complexes, prestigious university to vacant, overgrown gas stations.

I realize that I saw but a fraction of the city, but I would expect that the university-dominated section would be a thriving little community of its own. Perhaps things are different during the school year: I saw few college students at all; only middle-aged conference attendees and the occasional gaggle of misguided tourists—why Cleveland?—gaping at the squalor.

A Retrospective on Ben qua Conference Attendee, as Well as a Discussion of Code

But enough sentiment. My own journey to get here, in a plain grey van, speeding down I-480, was just as mixed. I woke at 7:09 this morning and —my understanding being that only my boss and his boss were going to the presentation at 10:30—went back to bed, to be awoken exactly four hours later at 11:09 by the sound of little kids (?) playing soccer on the athletic field next door. I was alone—all four of my companions had gone to the presentation, had even called for me through the door of my sleeping area, but to no apparent avail. The neck-ache I awoke with had nothing on the painful feeling of being such a schlub.

I mentioned last night that the recurring theme of the conference was that Oracle’s portal is utter shit. To that end, I find myself excited not by the opportunity to work with it, my loving ministrations being severely limited by its obstinate nature, but the opportunity to work with Tim, our DBA and resident Java guru, on his separate-but-not webpiece that will tie into the portal. Having seen yesterday’s presentation on Web 2.0 and AJAX, he and I decided that it would be a good idea to integrate it into his webpiece. Since the logic that drives the overhead menu requires database calls, we thought that using AJAX to load content into the specified area would reduce overhead and feel more responsive to the user, broken back-button or no. So, during the afternoon session on Thursday, I found a little AJAX script and made a working prototype with static HTML. Tim came back from his afternoon session with news of OS3Grid, a Javascript-based table system that allows for dynamic reordering, editing, and effects that wouldn’t be possible in IE with pure CSS. The only problem is that they don’t want to work together: the function to render the grid is run on page load, which doesn’t work if you are loading the grid’s host page with AJAX. I hacked up a fix by adding a new line to the AJAX script’s pageload function that reevaluates OS3Grid’s table-rendering function, forcing the grid to be rendered when the page was loaded with AJAX. The only problem is that each grid has a specific line that has to include the name of the parent div that hosts the rendered table, and since we’re guaranteed to have pages with multiple tables, we can’t simple hard code a standard id into the function and let it go. I will need to research other methods of forcing the script to run.

These are both neat Javascript tricks, but the real question is how well we can get them to work with the database. The AJAX function for navigation is entirely client-side: there’s not yet AJAX to submit any forms or grab any data from the database—it merely calls a JSP, which in turns talks to the database. One of the interesting features of OS3Grid, however, is the ability to edit table contents, and I’d like to make it so that an edited table cell submits—via AJAX, of course—back to the the database the changed contents. For that, I’ll need Tim’s help in using AJAX to talk to Java to talk to the database. It’s possible, of course, but my experience with Java is so limited that the slightest problem will sending me running to Google. Still, I think that this has the potential to be a really great interface, and I really like working with Tim because he’s truly excited about what he’s doing, and he asks things of me that push my limits and force me to improve my knowledge set.

§1236 · June 30, 2006 · 1 comment · Tags: , ,

I write today from the Dively Center of Case Western.

I woke up at 5:45am this morning to the screech of my alarm clock, which somehow seemed even more grating than usual, having been one of the few amenities supplied by the otherwise—ahem—austere housing department here (for which see my previous post). Last night, after I’d finished blogging, I realized with some degree of dread that I’d forgotten my toothbrush, having brought indeed everything else required for the care of my teeth except the most basic implement. At midnight in a strange city, I had no recourse but to go to bed feeling somehow fundamentally dirty, and waking up with my teeth feeling mossy. Today, I am told, we will having a shopping spree at Walgreens or Walmart or whatever store we can find to stock up on the essentials that we weren’t provided. Were we in a hotel, there would at least be a vending machine with toothbrushes, but sadly the dorm we are staying at appeared entirely vacant last night except for two malcontents watching the BET Awards in the common room at a volume loud enough to pulverize concrete.

The “free swag” situation improved somewhat when we arrived at the Dively Center: upon registering, one received a blue CampusEAI lanyard upon which was attached a name tag. Ostensibly, everyone is to wear it around his or her neck during the conference, but afterwards, of course, it can be used for pretty much anything. More importantly, our “free gift” was a Belkin 4-in-1 pen, a heavy metal affair with a bright bluish reading light, a laser pointer, a ballpoint pen, and a PDA stylus in one phallic cylinder. It requires four tiny batteries (included), but considering the number of times just today that I’ve accidentally flash the reading light or the laser, I have a sneaking suspicion that it will die within a month and I will have no desire to buy more batteries.

The lobby of the Dively Center was a real sight: wall-to-wall geeks, some of them long-haired misanthropes that look like they spend most of their time in the dark using vi, some of them crisp-collared management types, always greying just slightly at the temple and generally looking affable, and even some women, which is a rarity at technical conferences. I seem, as I suspected, to be the youngest person here. No matter: the first meeting put me in my element.

From 9am to 11:30am, I and a laptop:human ratio >1 were regaled with advice on how to attack the Oracle portal’s styling, either using the built-in style generator (which is, if you have a speck of intelligence, obviously crap), adding extra CSS (which we already do), or use a custom renderer. You see, Oracle’s portal allows one to customize where the content area goes, which means that I can place the portal contents within a standards-compliant template. The bad news is that the output created by the built-in code escape #content# is tables nested inside of tables, nested inside of tables. It’s enough to make you sick, and the end-user really has no control over what is outputted. The instructor assured us that later in the afternoon, he would go over customizing the renderer that outputted said tables.

Another attendee, who happened to be from a British university, and thus immeasurably fun to hear speak, complained about Oracle Portal’s total lack of compatibility with anything resembling a standard. “Good,” I thought. “Maybe I’ll get some answers. And maybe this guy will show up again and I’ll get to hear his accent more.”

Lunch was buffet-style, and was actually quite good. The chef—a trim black man with a rakishly-askew hat—announced the courses and the soups of the day, and I got lasagna and a turkey sandwich and pasta salad and cream of chicken soup and was quite stuffed. I only had to stop eating once, when trouble back at the university forced me to whip out my laptop and troubleshoot.

The afternoon session was a short one, only lasting until 2pm, and was actually no help at all. The instructor described editing the various files used for rendering, but it occurred to me in medias res that what I want to change in the portal—that is, changing the tables-in-tables-in-tables structure into a much simpler one based on flexible divs, ideally AJAXified ones—isn’t really possibly without a lot of work, because Oracle’s interface for adding portlets to a user’s page involves essentially a table-splitting mechanism, and I gather from the code that trying to change the way it’s outputting might break that. At any rate, it’s something to look into.

So here I am, drinking tea and eating an apple, typing on my laptop and its persnickity wireless network card. I relish the thought of getting a toothbrush and possibly beer. I sort of relish the thought of sitting down and reading Rousseau’s The Social Contract. I don’t know how in the world we’re going to stretch that out for the rest of the day.

§1230 · June 28, 2006 · 4 comments · Tags: ,

I’ve always been one inclined to heavily stylize my blockquotes. Some people merely indent, some change the color. Me, I apply to blockquotes the same sort of design æsthetic that I would to dropquotes, which is to visually separate and emphasize. So, I have a pleasing bluish-violet background color to it, a distinct <cite></cite>.

The default blockquote style in K2 is a simple indent and a left-positioned PNG openquote. Not only is the quote graphic kind of ugly (a not-very-stylized grey), but it seems incomplete in that it’s only an openquote, and doesn’t include a closequote. Because it’s set as a background image, of course, we can’t have two (one for open, one for closed).

In my old theme, I solved this with a messy hack wherein I searched and replaced all blockquotes with a blockquote and a nested div. I set the blockquote to have the openquote in the top left and the div to display the closequote in the bottom right. Semantically bad, but it worked.

For K2, though, I wanted less cruft, but I wanted to accomplish the same basic thing. Enter CSS and Design Meme’s Curly Quotes idea. It uses :before and :after pseudo-classes to add areas before and after the blockquote. Then it uses the content attribute to add in open-quote and close-quote. It’s an elegant solution, but it has two problems. One: it’s not cross-browser (IE doesn’t support pseudo-classes). Two: even among CSS-compliant browsers, the handling of the open-quote and close-quote varies. Obviously, I want the quotes to appear as “” and not "". However, only Firefox 1.5 did that: Opera 8.52, Safari 1.3, Firefox =< 1.0.7 and others all displayed ". Read more…

§1010 · March 3, 2006 · 8 comments · Tags: , ,