Welcome to RocketMonkeys.com!
This is my personal site, where I store my rants, pictures, and movie reviews. Have a look around, register and leave comments.
-James
Show: [all] rants movies pictures
Page: Previous << [0] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 >> Next
Stupid, stupid CSS
Posted by james on Yesterday
I've been making webpages for so long now, and I remember when I first started learning CSS. At first it seemed confusing; a whole separate and more complicated language for specifying colors, fonts, and sizes for webpages when we already had perfectly fine HTML. Slowly, it started to make sense; it was like a macro language for HTML, except one that actually gave some benefit. Declare a class, make some changes, and every title on your webpage changes color. You could even do layout with it, which was awesome.
But I've since become disenchanted with CSS. It was amazing when all the big browsers started to support the main items, but there's always been compatibility issues. It's gotten to the point where no matter how simple a CSS change is, there's a good chance that it'll break something on your website due to some crazy browser bug. But there's something even worse than bugs; intentional quirks.
CSS has so many strange little quirks that were intentionally put in, it boggles the mind. One annoying one is the box model. So you want a box on the page 500 pixels wide. Easy!
<div style="width:500px;"></div>
So easy! Now add some borders:
<div style="width:500px; border:10px solid black;"></div>
And wait... now it's 520px wide. What happened? The great CSS designers decided that when you wanted to specify the width, you really meant the content. So there's really no way to specify outside width, you have to hack it. How in the world is this useful? It's completely counter intuitive, but worse yet it prevents you from building relatively easy constructs unless you nest block inside block with some crazy CSS to get around this very simple thing.
Next, we have margins. Let's make a box:
<div style="width:200px; height:200px; background:silver;"></div>
Great! It's a 200 x 200 box. Now let's add a smaller box that's 10px away from all edges, which by default should end up in the upper-left side:
<div style="width:200px; height:200px; background:silver;"><div style="margin:10px;"></div></div>
All of the sudden, CSS makes a great "optimization" for you: the margin is removed from the inside box and transferred to the outside box. How... asinine. There are all sorts of explanations that go over why this is "correct", why it's desirable, how to get around it, blah blah blah. The bottom line is that it's behind the scenes magic that CSS does, totally counter intuitive, and hard to work around. You have to introduce all sorts of border, padding, and margin hacks to get around it.
But for a language designed from the outset to make sense, why should we have to *get around* anything?? Many of these Intentional CSS Bugs were justified from the standpoint of a content-oriented, layout agnostic mindset. If text is king, then who cares if you can't specify box widths in pixels... just set a text size and let it wrap! Who cares if you can't float items and center at the same time, or vertically center *anything*, or set margins explicitly. Just let CSS collapse margins as it sees fit, in a way that really only makes sense for a Paragraph-tag-loving non-designer who believes lynx was the climax of browser development.
I'm not a fan of implicit, behind-the-scenes languages. Even when they mean well, what they really are is unpredictable. With a more explicit language, you have to type out a lot more but then the language does what you tell it to! CSS is an implicit language designed by text-loving monkeys, and not the good kind. If you were designing CSS, wouldn't you have said to yourself, "If we do this small and strange optimization, it really only helps a few people and will screw up everyone else. Maybe we should just give people an option to do tricky things if they want to." Instead, we have the giant bag of crap that is CSS.
I think we need a new language. One that doesn't force users into a bunch of buggy tag soup that masquerades as standards-compliant pseudo-semantic-web markup. Let's just make a language that allows you to tell the browser what you want it to do... and it does it! Want a box 500px wide? You got it! Want to add borders inside? Done! Want to add margins? Margins added, with nothing else removed or added unless you tell it to. Let's make an explicit, totally intuitive language that is under the control of the developer, not the language standards body. Developers know what they're trying to build, and just want the tools to build it. Standards bodies should be transparent, and simply give the developers better and cleaner tools, not try to force them into a certain mode of designing and then try to justify their crimes with the omnipresent "Well, no you can't do that. But you really shouldn't be doing that anyway. Why not do this instead?"
I don't want to do that instead. I don't want collapsed margins, buggy box models, lame standards non-compliance or CSS3 + HTML5 + Tag Soup 6. I want explicit, intuitive web language (EIWL). Maybe I should just do everything in Flash instead...
Goodbye Hostmonster
Posted by james on Jul 11, 12:00 AM
I used to use HostMonster for my website hosting for quite a while. I chose them because they had tons of features that I never used (Ruby, Perl, SSH, etc) and were pretty cheap (something like $5/mo if you sign up for 2 years). They've been barely adequate at times, and bad at others. Most of the problems stem from completely unprofessional server maintenance and unhelpful tech support.
But for the past few months, I've been on Godaddy for hosting. While I do have complaints about them, they're still tons better than HostMonster was.
Servers have gone done often for no reason at all for small periods throughout the day (15 minutes here, a couple hours there). Longer outages usually prompt me to contact their tech support, at which point they claim that they've checked and nothing is wrong until I prove that something is happening on the server, at which point they usually state that "an admin is working on that server". Then there are the random server config changes that break my site every once in a while. They also lost *everything* for a few days, then restored the whole server from backups.
So in the end they were frustrating to deal with, and my older simpler host <a href="http://www.e-rice.net/">e-rice</a> was much, much better. Their prices were lower, they offered the basics (no fancy ruby, etc), and the server admin was personally available usually within a 4 hour time window. Amazing service, great prices... just a great cheap host. Those are hard to find, even harder to trust. I'd recommend anyone starting out to use e-rice, then move up to a larger host when the time comes. Most websites will never need more.
With my new host, Godaddy, I already had my domain names through them. They had a ton of space and enough features (python, ruby, jsp, etc) with a decent price. I was a little wary since I heard some mediocre things about them, but decided to try it anyway. Their uptime has been great so far, no outages that I can recall (unlike HostMonster, which was down at least once a day). My biggest complaint with Godaddy is their crazy burdensome admin interfaces. I must log into the main godaddy.com website, then click on my hosting accounts, then click on the hosting account I want, then "manage hosting account", then I get into a second hosting admin panel. From there, I must click on the task I want, the specific database I want, then "open manager", and I get a third admin panel (phpmyadmin).
I have to do this every time, there's no way to directly log into the hosting panel without going through the main site first. That means if my login times out, I have to repeat the process. And while the admin panels are a bit slow and annoying, the phpmyadmin is incredibly slow and takes 30 seconds or more to load up. I may start installing phpmyadmin on my own site and avoiding use of their built-in versions.
Besides the admin section nightmare, goddady has been good so far. They have some funny quircks with .htaccess files and similar, but nothing that's caused too much trouble so far.
So goodbye hostmonster. You've been adequate at times, and a thorn in my side at others.
Skype hates Windmill
Posted by james on Jul 2, 12:00 AM
We've been using Windmill for browser UI testing, and recently I ran into a problem.; I installed skype on my machine, which by default installs a firefox plugin. The next time you startup firefox, it loads a "Thank you for installing skype" page instead of whatever you were trying to reach. This happens once for each profile, including new profiles.
Windmill creates a new temporary profile each time it tests, and then loads up the testing page to start testing. However, now instead of loading the windmill testing page, it loads the skype page which screws up teh whole testing process. You can't change the profile since it's created fresh each time windmill tests. You can't avoid the initial skype page, since that always loads once for each new profile.
The only solution I can see is to delete the skype firefox extension. But since the extension is installed for firefox globally and not in an individual profile, you have to delete it in the main firefox folder. By default, it's:
C:\Program Files\Mozilla\Firefox\extensions\{B13721C7-F507-4982-B2E5-502A71474FED}
Delete that folder to prevent the plugin from installing for new profiles. This will allow Windmill to run normally.
Installing a Mishimoto Radiator on a 2G DSM
Posted by james on May 4, 12:00 AM
My stock radiator started to go bad (massive corrosion), so I started looking for replacements. I could have bought a generic radiator for 200-300 at my local store, or an OEM for ~500 online. I decided to go with a Mishimoto aluminum radiator. It looked good, had some positive reviews, and was reasonably priced. I also got 2 12" Mishimoto slimline fans to go with it.
My first impressions were that the package was good, and the radiator looked very solid and well built. The fans were all-plastic, including the blades, but were stiff enough.
In the boxes, 1 radiator and 2 12" slimline fans
Shiny
In packaging, 1 radiator and 2 12" slimline fans (not installed yet)
The radiator feels pretty solid. The fans are plastic, but they're pretty stiff.
Pretty thick
Disconnect the negative battery terminal and tape off the post
Drain the coolant into a tub. You may be able to reuse it if you keep it clean
This is the radiator drain plug, on the bottom (left/driver's side?). Right next to a whole lot of rusted metal (bad).
Remove the coolant overflow reservoir.
Remove the upper and lower radiator hoses.
Hoses out of the car.
Disconnect both fan connectors.
Remove both fans (may require some creative angling)
Both fans out of the car.
Remove both upper raditator mounts, and remove the radiator. This is the old radiator. It was horribly corroded, and the fins would fall off like brittle paper. It's just a matter of time before this fell apart and started leaking.
This is from just leaning the radiator on its side. All those fins just fell off!
This is the new radiator resting on top of the old one. To install, do everything in reverse. The stock fans bolt right onto the posts (with 3 screws each instead of four). I used worm/screw clamps, they're so much easier to use than the stock-style hose clamps. They're cheap too.
The old radiator resting above the new one
Hook everything back up, make sure the bottom drain plug is closed, and fill with fluid. For some reason, my radiator drain plug would leak slightly if I screwed it all the way. Instead, I keep it one turn out.
With the stock fans, there's not much clearance. Slimline fans would be a good idea if you're going to be doing anything in the turbo/exhaust area.
Looks good, works well, done. Not too bad.
I didn't install the slimline fans since they didn't come with the mounting hardware (why??). I bought those separately ($10 on ebay), basically just a few zip ties, springs, and pads. I'll post up that part when I get the parts in. For now, the radiator is working well and keeping the temps low. I'll have to keep an eye on the drain plug to see if it's leaking any. But for now, everything looks good.
Page: Previous << [0] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 >> Next

Login or Sign Up to post comments