MacBook, defective by design banner

title:
Put the knife down and take a green herb, dude.


descrip:

One feller's views on the state of everyday computer science & its application (and now, OTHER STUFF) who isn't rich enough to shell out for www.myfreakinfirst-andlast-name.com

Using 89% of the same design the blog had in 2001.

FOR ENTERTAINMENT PURPOSES ONLY!!!
Back-up your data and, when you bike, always wear white.
x

MarkUpDown is the best Markdown editor for professionals on Windows 10.

It includes two-pane live preview, in-app uploads to imgur for image hosting, and MultiMarkdown table support.

Features you won't find anywhere else include...

You've wasted more than $15 of your time looking for a great Markdown editor.

Stop looking. MarkUpDown is the app you're looking for.

Learn more or head over to the 'Store now!

Monday, June 30, 2008

340 HD-Radio Stations Launch iTunes Tagging - 4/7/2008 7:31:00 AM - TWICE:

iTunes Tagging lets consumers “tag” songs broadcast by a digital FM station by pressing a button on a radio. The HD Radio stores song metadata that transfers automatically to an iPod when it docks to the radio. Later, when the iPod is synced with a PC, all the user’s tagged songs will appear in a playlist for previewing and buying.


Let's not play dumb. Like Firefox and Google, Clear Channel is doing this because they'll get a kickback for each track sold this way, or they're at least paying Apple up front to play, right? If Apple's paying them, I've misjudged Apple's clout, though it's still a win for the Jobsaphiles.

But this brings me to my second concern, the digitization of the public airwaves. I know analog radio's full of adverts already, but there's something extra creepy about the content carrying commercial metadata like digital mules. It seems like the public benefit, the content the advertisements are supposed to support, from broadcasts are getting harder to find.

And that's the point of digital, right? If nothing else, we can package any sort of non-physical content with digital without having to redesign the method of delivery. iTunes tagging is one way commercial interests can shove their way into what used to be independent content. HD radio is another -- how long before we have HD 2.0? 3.0? etc?

I was recently looking at the Honda Nighthawk, and the motorcycle's been pretty much the same for twenty years. Up until Feb of next year, we could use most any TV made in the last half-century to get our CSI or American Idol fix. How long before TVs are "upgraded" as quickly as video game consoles and our VHS, ur DVD, um... Blu-Ray players?

Poorly written blog, I know, but this iTunes tagging is representative of the future in a way I don't quite yet fully comprehend, but it's setting off the proverbial warning bells.

Labels: , , , , , ,


posted by ruffin at 6/30/2008 12:23:00 PM
0 comments
Sunday, June 29, 2008

I've been meaning to write up a review now that I've had a Nikon D40 for a little over six months. I haven't yet.

Let me give you the important part... If you have any old style Nikon AF lenses for Nikon autofocus film cameras, consider avoiding the D40 and grab a used D50. The D40 is missing the little screw-driver and in-camera motor than focuses those lenses. The D50 has the internal motor. I can use my old, manual focus Nikkor with the D40 without much problem by guessing exposure [and checking the LCD], but with something like my AF 50mm normal lens, not having decent autofocus somewhat negates the advantage of large aperture of the lens, at least in uncontrollable moving subjects.

The D40's inability to use old AF lenses also means that, if you appreciate AF, yuou're largely out of luck on eBay for old lenses as well.

So if you're an old Nikon film AF SLR owner or want to get good deals building your lens collection on eBay, the D40's particularly poor backwards compatibility is a larger drawback than I considered it when purchasing. I'm also turned off that the D40 makes me put the older AF lens on min aperture even when I'm using Aperture-priority. Because there's only one dial on the D40 for changing settings, you have to hold down some pitifully small button like a shift key to swap that single ring from shutter speeds to aperture in Manual exposure mode. This stinks, and annoys me to no end. So this adds insult to injury, as you now not only can't AF with your old AF lenses, but you also can't use their aperture rings like you can with older lenses (see below).

If you're an old Nikon film camera user without any AF lenses, only manual focus, you can grab either the D40 or D50, I think. The D40 won't give you exposure, but it's no big deal. It's more useful to check out the results on your LCD after you take a shot anyhow to determine exposure. Moreover, because there's no metering, you're welcome to use the lens' aperture ring to set the f-stop. In fact, you have to use the old-style aperture ring to change f-stop.

If you've never owned an SLR, go buy the D40 now. It's a nice starter DSLR body, and having rolls upon rolls of "film" at your exposure is wonderful. The AF isn't the best, but it fills the niche to help you move up from point & shoot to DSLR very well.

Labels: ,


posted by ruffin at 6/29/2008 03:41:00 PM
0 comments

I was surprised to see that the WordPress Coding Standards were more neurotic about having well-tabbed code than I am.

Indentation
Your indentation should always reflect logical structure. Use real tabs and not spaces, as this allows the most flexibility across clients.

Exception: if you have a block of code that would be more readable if things aligned, you can do initial indentation with tabs and then make up the difference with spaces:

[tab]$foo   = 'somevalue';
[tab]$foo2 = 'somevalue2';
[tab]$foo34 = 'somevalue3';
[tab]$foo5 = 'somevalue4';


Though I hate the idea of lining up equals symbols, I would tend to agree with the "No Shorthand PHP" proclamation.

I've worked for corporations without docs this specific. Imo, having them is a good thing.

Labels: , ,


posted by ruffin at 6/29/2008 08:25:00 AM
0 comments
Monday, June 23, 2008

From A Webkit-based Platform? - Mac Rumors:

However, Apple's inclusion of 'Save as Web Application' feature in Safari 4 could alter this reality. By bundling Webkit into a standalone executable, developers could theoretically release downloadable Webkit-based applications for use on Windows XP, Tiger and Leopard. To the end user, these would appear as standard applications, but the underlying technologies would be Webkit and Javascript.


The idea of packing a web page (or set of pages) into an application sounds wacky at first, but on second glance I believe there's a lot of sense there. For instance, having Gmail in its own browser that doesn't have to interact with my daily browser and web coding would be great. Perhaps you'd like to set up a browser for handling online banking with different security settings.

I hate it when browser content interacts, whether it's too many Flash adverts slowing down another window or a crash bringing down everything I'd been viewing. I also like closing out every window I've been using to Google down the answer to some coding question I had without blasting everything else. Often I'll have three windows of 6-7 tabs a piece with snippets of code that didn't quite work, and I don't really want to lose all that I've got open to clean them up. Now, I just open Researchilla and plug away.

So I've already been using different browsers for different tasks, and often have Safari, Firefox, and even sometimes Opera and Webmonkey open at once to eliminate any issues. This WebKit platform might make some sense in many cases.

posted by ruffin at 6/23/2008 03:17:00 PM
0 comments
Sunday, June 22, 2008

I've been looking at using JSmooth, an open source package that wraps Java apps into Windows exe. Apparently Azureus used to use it, at least before it became Vuze. JSmooth hasn't been updated in quite a while, but I'll give it a run this week on 1.6 and see what happens.

Windows: First Steps in Wintegrating Java Apps:

There are mutliple steps to properly providing integration on Windows, and I briefly mentioned them above, installers and executables. These items together are actually a rather large subject, so I plan to split them up. Today I'm going to talk about producing portable executables for Java applications through a program called JSmooth.

Labels: , ,


posted by ruffin at 6/22/2008 01:30:00 PM
0 comments
Thursday, June 19, 2008

FCC extends analog TV deadline to 2012 - TechSpot News (this is not news, btw. Apparently from Sept 12th of 2007):

The FCC voted unanimously that cable companies will be required to continue to offer local channels in analog until at least 2012, 3 years longer than originally planned. The FCC's justification for this is that a large amount of homes (40 million or more) still have only analog TV sets. While many of those could have some form of DAC (like a cable box) inside, there are still many who may be relying solely on analog signals.


You've got to be kidding me. I'll bet a dollar that the poorest folk with TVs don't get cable and use over the air reception. They'll have to have digital broadcast ready equipment in Feb of next year.

Now those with *cable* get until 2012 because "a large amount of homes (40 million or more) still have only analog TV sets". This is absolute baloney. Cable companies often require people with less than basic to carry some sort of converter box (the cable box) already, and rather than have cable companies subsidize their own customers, we give them a break and make the poorest of the poor shell out for new equipment.

Brilliant. This is the biggest scam I've seen from the gov't that I can remember. Why there's no outrage over it -- other than nobody's yet affected and most everyone wanted an excuse to buy a new TV -- I don't understand.

Labels:


posted by ruffin at 6/19/2008 04:06:00 PM
0 comments
Wednesday, June 18, 2008

Painfully, one of the very very few action items from Al Core's An Inconvenient Truth was to replace your old appliances. You know, I nearly bought into that line when gas was cheap and you could finance your new land yachts at very low rates. Oxymoronically, all the folk buying gas guzzlers still put many cars that were spewing insanely dirty exhaust off the road. Expeditions and Hummers were making our air clean!

Perhaps, but what happened to the '80 Suburbans you were replacing?

Here are a couple of studies of the impact of cars that measured the impact of manufacturing vehicles and for running them during some arbitrary lifetime that could approximate representative. Both are from the apparently now defunct (at least the website is) Institute for Lifecycle Environmental Assessment. I don't know them from Adam.

Automobiles: Manufacture vs. Use -- Carnegie Mellon University, 1998

Automobiles: Electric vs. Gasoline -- Seikei University (Tokyo), 2001

A quote from the second:
Coal-based electricity leads to CO2 emissions nearly as high as for a gasoline-powered car! Yet hydropower results in dramatically lower CO2 emissions. If you want to make an impact on CO2 emissions with your next car purchase, you need to know how the electricity in your region is generated before making your choice.


Well, hydro is better -- unless you're on a grid and the hyrdo power you use means someone further down the grid has to be covered by coal, but in spirit they're on the right track.

The real problem with each of these studies' measures of impact is that they neglect the issue of replacing, no, make that disposing of the old car. That is, they measure the impact on the environment from a new car's construction and the time it's driven, but not when it (or the car at the end of the used car chain it created) is dumped in the scrap yard. How much is it worth not to throw a car away? To not throw away millions of cars?

Each also ignores the opportunity cost of purchasing a new vehicle. Sure, if the only cost was CO2, we'd be in business replacing old cars, perhaps. But the other cost is people getting stuck with $300 a month car payments that they don't need to be paying. Where else could that money be going, even ignoring for now finance charges and concentrating on the price of the car? Granted, for far too many it's going to new TVs and the like, but perhaps some of that could be diverted to reducing individuals' impact on their surroundings in other ways? I don't know how exactly, but maybe by buying local products that carry a small premium because of some hypothetical loss of economy of scale? You get the point. With more disposable income, one has more power to make buying decisions.

I'm a black pot. I admit it. Though it barely gets driven, I'd take my Jeep CJ-7 everywhere if I could. But if doing so saved me $15,000 every five years plus (the environmental impact price of manufacturing a new car every five years minus the extra pollution my beast would spew over and above the new wheels), am I in a better or worse position to shape my influence on the environment? And much of the money I spend on maintenance for the old car stays, I assure you, much closer to home than it would be if that money bought a new car. Ask the poor saps who fleece this poor sap when I can't figure out what's wrong with my Jeep.

Look, I don't know what's the smart move. But I will say the facts for making an informed choice on whether buying new cars is a particularly smart idea in the grand scheme aren't easily available. As things stand, the only people I am confident benefit from the perception held by upper middle class folk that new cars are better for the environment are car manufacturers. Strange how the people with money to buy new cars that are swayed by arguments about the environment are exactly the folk spouting off that new cars are more environmentally friendly. (Cue Mr. Barnum now on suckers.) The belief fits in nicely with middle class spending habits as described in The Atlantic's piece called Inconspicuous Consumption, A new theory of the leisure class, which is a fascinating read, if you get a chance.

Thanks, Mr. Gore. Seriously, you got a Nobel prize for pimping GM and making spending cool[er]? I often despise him, but where's Michael Moore when I need him?

Labels: , ,


posted by ruffin at 6/18/2008 01:06:00 PM
0 comments
Tuesday, June 17, 2008

Argh. No sub-selects in MySQL before version 4.1. That means you can't use the following line...

SELECT * FROM table WHERE id IN (SELECT MAX(id) FROM table)

There's an easy fix for this particular line if you can just grab the first row programmatically (and other solutions with straight SQL), say...

SELECT * FROM table ORDER BY id DESC

... but that doesn't stop you from banging your head on the wall, wondering why the earlier line doesn't work. I never want to see...

Error: java.sql.SQLException: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'select max(id) from table)' at line 1, SQL State: 42000, Error Code: 1064

... again.

Of course, my inet host's MySQL version is 4.0.25-nt-max. Thanks, guys. ;^)

Labels:


posted by ruffin at 6/17/2008 08:27:00 PM
0 comments

 // DEBUGGING CODE
if ("on"==$bDebugging) {
echo "<pre>",print_r($_POST),"</pre><br>";
}


That short bit o' code will give you something like...

Array
(
[firstname] => Abe
[lastname] => Lincoln
[phone] => 123-555-1212
[membersSubmit] => submitted
)


Not too shabby.

Labels:


posted by ruffin at 6/17/2008 03:43:00 PM
0 comments
Monday, June 16, 2008

Artem Ananiev's Blog: Introducing JWebPane component:

For many years, Java lacked a worthy component to render HTML content. HTML support in Swing was limited to the 3.2 version. Although the SwingLabs JDIC library provides a browsing component, it is hard to integrate into Swing applications because of its heavyweight implementation. The new component - JWebPane is not intended to substitute all known alternatives, however, it brings HTML support and easiness of use up to the high-level standard.


The state of displaying html with Java stand-alone applications has been pitiful for years, even while other desktop app solutions include native, robust solutions. The new JWebPane is really a pretty neat idea if they're doing it as Mr. Ananiev describes. Effectively, they'll building everything needed to host the xplat components of WebKit in Java.

JWebPane is based on the widely recognized open sourced engine - WebKit. It is not a secret any more. :) The WebKit architecture consists of two considerable parts. The first one is cross-platform, it is responsible for parsing documents, generating DOM, supporting JavaScript. Another part, platform-dependent, so called "port", is intended for communicating with network, rendering graphic content on the screen and other devices, event handling, and other features. JWebPane is a Java port, in which all cross-platform calls are implemented in Java.


But now, back to reality. I'm a little surprised to see Ananiev say that it's "not intended to substitute all known alternatives" when the known alternatives are all so horrendously flawed. Add to that some quotes fromThe Java Tutorials' Weblog.

The following new features are scheduled to be implemented by August'08:

Viewing the History, including Back and Forward functions.
Notifications of external resources loading
Progress status
Viewing page source


August, eh? It's also described as only "70% complete" yet they show demos of how to embed this 70% upside-down and crooked in your frame. Useful.

I did like this quote from the JavaOne Presentation that introduced this component explaining one of its uses.

Web Content to Enrich Applications
Why embed a “street” HTML viewer in you application?
• Show web advertisements (and make some money!)...

Labels: , ,


posted by ruffin at 6/16/2008 05:43:00 PM
0 comments
Friday, June 13, 2008


Building on yesterday's post about Gmail fighting the desktop platform, as I watched the "Apple guided tour" to MobileMe, it hit me that MobileMe is the desktop's shot back. Actually, it's more that someone with stock in the desktop, here namely Apple, is doing the same thing as Google's apps, and hoping it plays into hardware sales.

Sure Google has the Google Mini (hrm. interesting name), but beyond catering to a very few companies decently serious about search, they aren't yet in the hardware game.

I hate to end all Rudy Mancke style (the most inane 45 seconds on radio), but I will. "Isn't it interesting how the side of the bread that's buttered for different companies influences the way they use the same technologies?"

I now feel compelled to pimp high end retreat homes oxymoronically placed in a preservation site.

Labels: , ,


posted by ruffin at 6/13/2008 11:38:00 AM
0 comments
Thursday, June 12, 2008


Okay, this policy of Gmail stinks, especially when you're a programmer trying to distribute applications you've built:

Some file types are blocked
As a security measure to prevent potential viruses, Gmail doesn't allow you to send or receive executable files (such as files ending in .exe) that could contain damaging executable code.

Gmail won't accept these types of files even if they are sent in a zipped (.zip, .tar, .tgz, .taz, .z, .gz) format. If this type of message is sent to your Gmail address, it is bounced back to the sender automatically.


This fails the "do no evil" test. Why would Gmail shut down sending applications? Viruses, sure, but is there another reason a company who"outlines Web development investments in three areas", one of which is "2. Keeping Connectivity Pervasive" might want to discourage the distribution of applications on the desktop?

Look, the browser is the platform for Google. They want to replace exe with http. This is exactly what scared Microsoft when Java hit the scene -- that Microsoft's hold over the desktop would become meaningless as applications moved to the web.

Java failed in its attempt to take over the desktop, but it weakened Microsoft enough that Google's been able to do it (look, I realize that's a stretch, and I've left out about three hundred and two points between Java and Google, but hey, this is a blog post. For now, I'm going to have to ask that you trust me.). AJAX is the new Java. The web is winning.

That Google would stop you from sending exe's via their new https should come as a surprise to no one. I'm not saying they instituted the policy to stop one from sending competitors to their platform, but it's sure as heck one reason if the decision isn't at least partially reversed in the future.

Labels: , , , , ,


posted by ruffin at 6/12/2008 05:06:00 PM
0 comments
Tuesday, June 10, 2008

Admittedly, Google has started sorting the web by content type with news.google.com, which I enjoy. Yet when I want, say, a user review of a product, Google strikes out. I used to use the usenet for this sort of thing, and groups.google.com still has some usefulness, but it's time that a search for "vostro 1400 replacement battery review" distinguishes between forum posts and companies a-shillin'.

It wouldn't be that difficult to start. Separate content from sites powered by engines like vBulletin from typical web pages, as an example.

Labels: , ,


posted by ruffin at 6/10/2008 11:15:00 AM
0 comments
Saturday, June 07, 2008

So far, the post quoted below offers a bit of a fix to the problem that bothers me the most -- yes, the most, by a long show -- on Windows Vista. My second complaint is a very distant second, that Vista is much too memory hungry.

That script is for folders that take on the wrong template (documents,
music, pics, etc) and don't have a 'Customize' tab in their Properties
dialog (Programs, Computer, System Drive), which allows the user to restore
the 'All Items' template.

You sound more like a victim of content-sniffing on folders that you can
customize. Try explicitly setting the folders to be 'All Items' and see if
that doesn't help stabilize your views.


So, say, Vista believes that a folder of csv files is full of pictures for some reason only Ballmer would understand and think he could explain. Right clicking the folder, selecting properties, then the Customize tab, then selecting a new view type is the only way to fix the display.

I hate it. This part of Vista sucks. Honestly. No better way of putting it. Other compromises you can debate, but this stinks. Really, really stinks.

posted by ruffin at 6/07/2008 04:01:00 PM
0 comments
Wednesday, June 04, 2008

Notes to understand this post:
Afact is "A new advocacy group closely tied to Monsanto."

Monsanto is a company that creates and sells a version of "rBST or rBGH, an artificial hormone that stimulates milk production."

An "absence label" is something that advertises that something wasn't done to a product, like, say, that hormones weren't added to cows that made a certain gallon of milk. They are apparently evil.

From Fighting on a Battlefield the Size of a Milk Label from the New York Times. The article was run about three months ago.

Afact says it believes that such "absence" labels can be misleading and imply that milk from cows treated with hormones is inferior. In fact, the F.D.A. maintains that there is no significant difference between milk from cows that are treated and from those that are not.


Here's the kind of fun stuff that take produces.

Last fall in Pennsylvania, Dennis Wolff, the agriculture secretary, tried to ban milk that was labeled as free of the synthetic hormone because, he said, consumers were confused. Mr. Wolff's office acknowledged that it had no consumer research to back up his claim, and he eventually had to scale back his plans when consumer groups and Gov. Edward G. Rendell balked.


Nice.

There are many too many ways to come at this to say just how ludicrous it is. Is milk sans hormones in some way inferior? Price, perhaps, because you're losing what the Times says is one gallon per cow? Then say so. Say so on your label if you want. Let the consumer see your inarguable superiority.

Is hormone-less milk more dangerous somehow? Kinda doubt it. So what's the issue with saying your cows have one less ingredient shoved into them? Fight the implication that your milk is more dangerous with explication if you want. Don't say an absence label is confusing. Help unconfuse me. Heck, I've ingested a ton of hormone-enhanced cow milk, and I bet I'm fine. I'm not against milk with hormones, but given the choice with the same price -- or not given a choice at all -- I'm going without.

For whatever reason, people like milk without hormones, and apparently more than a few countries buy the argument too. Don't wimp out fighting your PR battle by bribing the government with money and power. I mean, even if we buy that hormone-fed cows are better for everyone because they become more efficient milk factories, would this be the first time people spent more for irrational reasons? What's next, we have to shut down organic milk? Perhaps we'll then see Dell getting the government to force Apple to stop selling computers that are overly cool. Evil, evil Apple.

Labels: , ,


posted by ruffin at 6/04/2008 07:47:00 PM
0 comments

Support freedom
All posts can be accessed here:


Just the last year o' posts:

URLs I want to remember:
* Atari 2600 programming on your Mac
* joel on software (tip pt)
* Professional links: resume, github, paltry StackOverflow * Regular Expression Introduction (copy)
* The hex editor whose name I forget
* JSONLint to pretty-ify JSON
* Using CommonDialog in VB 6 * Free zip utils
* git repo mapped drive setup * Regex Tester
* Read the bits about the zone * Find column in sql server db by name
* Giant ASCII Textifier in Stick Figures (in Ivrit) * Quick intro to Javascript
* Don't [over-]sweat "micro-optimization" * Parsing str's in VB6
* .ToString("yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture); (src) * Break on a Lenovo T430: Fn+Alt+B
email if ya gotta, RSS if ya wanna RSS, (?_?), ¢, & ? if you're keypadless


Powered by Blogger etree.org Curmudgeon Gamer badge
The postings on this site are [usually] my own and do not necessarily reflect the views of any employer, past or present, or other entity.