Jul 22

A fellow I had a lot of respect shrugged me off on a simple thing: “http:\\example.com/x/y/z” … I remarked that it would work better if he used forward-slashes, per RFC-1738 (yes, I actually quoted the number).

“nah, it works with IE, it should be fine” Yes, that was said today.

Firefox fixed it for him. He saw this as proof that it qualifies as a valid URL, despite what the actual rules for a URL says (which he didn’t even care existed, and couldn’t be bothered to check what he was arguing against)

Is it any surprise that compatibility just doesn’t happen online? Seriously? When “liberal acceptance” implies “you can be flakey in what you produce”, might as well toss out RFCs, ISOs, and everybody make up your own way… because the really cool things will be worth everyone spending a lot of time to reverse-engineer a 98% effective compatibility, so it’ll work just fine… until it doesn’t.

Jul 09

For enclosed spaces, I’m a big fan of all-in-one devices: they fit inside one smaller footprint, and use a single power connection, and doo all the things I need. I was a big fan of WRTSL54GS for this reason, plus the modifiable sourcecode.

The Motorola SurfBoard SBG6580 (damn, Moto, ever hear of shorter URLs?) showed up when I was looking for a Wifi-N/DOCSIS/hub that might fit inside my “Smart Panel” in my closet, and covers all the bulletpoints: DOCSIS-3.0, Wifi-N, 4 ports of 1gb goodness.

SBG6580 doesn’t have a simple way to create persistent VPN/PPTP connections (that I can see), and the SNMP only goes to the “head end” (the cable provider, I would assume). Finally, when it goes to sleep to conserve power, it’s not in any way fast about coming back up. I’m not sure whether it has a mdns stack to help printers work (one of those things they can’t really advertise because Joe Public doesn’t get it, and Moto doesn’t get blamed if the printer doesn’t work)

Despite these issues, I’m looking at repeating this exercise in my buddy’s closet to replace Comcast’s DOCSIS box, plus a WRTSL54GS.

Notable mention: the SBG6580 has a plug/wart/plug rather than a wall-wart, so it’s a bit easier to share the power connection inside the panel. I think I can lash down that power brick so that it gets a bit of heat-space around it. I’d feel better punching holes in the panel for heat-convection, though — count me crazy: it’s only a 1A/12V power connection, so would have trouble creating dangerous levels of heat without triggering its own thermal fuse.

Since the source for SBG6120 is available, perhaps SBG6580 will be there too (it seems to be an evolution of the same product: add some ports) … that would give true future-proofing of the device, allowing it to evolve into an Asterisk server, proper VPN tunnels, SNMP that’s usable for end-users (non-head-end), etc.

No far, no SBG6580 (or SB6580) on Motorola’s website, nor at Modem-Help.co.uk, and every google shows marketing information (nice google-bomb there) but nothing detailed nor usable.

So… where’s the source?

Jun 28

I received a strange email today:

From: Juliet Burgess <juliet.burgess@oracle.com>
Subject: MySQL Support
X-Source-IP: acsmt355.oracle.com [141.146.40.155]

MySQL User:

I am reaching out to you because I was told you were interested in learning more about MySQL support.

Here is a link showing our prices and various levels of support and what you get at each level. http://mysql.com/products/enterprise/features.html

I have discounts available for quotes that close in June, as it is our year-end. I also have extensive multi-year discounts available this month.

Would you have time to talk on Monday?

Let me know of your availability and I’ll give you a call.

Thank you,

Juliet Burgess
Oracle – MySQL Sales Team
214 707 4971

Unfortunately, this conversation starts with a false statement:

I am reaching out to you because I was told you were interested in learning more about MySQL support.

I tried to recall asking Oracle anything, and went through past calls and emails. I didn’t find anything, and eventually Juliet confirmed that she is bulk-mailing from a list of email names given in a web form.

Let’s ignore for now that I always opt-out of additional unsolicited communication.

Juliet really should have started the conversation with the truth:

you downloaded a product from us, and I was reaching out to see if I could further the dialog

This would have been a true statement. That’s not what she used.

Juliet took a list of emails — some of which including mine didn’t want additional callbacks — and claimed that we asked a question. She sent a spammy unaddressed email (ie there is no “to:” part there) that triggers spam-blockers as it is. That kinda sucks, but I’m sure she’s not the only one at Oracle doing it, and I’m sure she’s not the only tech person ignoring opt-outs.

The worst is that she chose to lie. How, seriously, can we begin a conversation and a relationship with a lie?

Jun 14

I was just sitting beside an older couple who regretted audio quality on an iPod; this reminded me of a friend who has similar sensitivity to fidelity. Even before I shared a taxi later that night with the founder of Gotham Records, I had sent off emails to ask about quality.

The Spoiler: ALAC.

Ken and his wife (I forget her name) had a number of concerns — she didn’t know how to let her Mac switch between two preferred Wifi networks automatically, didn’t know how to use a graphics package on her Mac, and hadn’t considered asking the Apple Store for help… so here are some un-checked paths to problem-solving here.

For what it’s worth, Apple Stores have both in-store experts to help you fix your problems — some stores are 24/7 — and they have classes at more civilized schedules to help you build your skill and independence. Few people seem to consider this perhaps because there’s no Microsoft store, no Dell Store, no HP Store to help them, but Apple’s “Genius Bar” has helped me diagnose problems before, politely and quickly.

As Rev. J. Paul tells me, had Ken and his wife walked into an Apple store, Apple might have recommended ALAC, the Apple Lossless Audio Codec — this is a lossless format similar to FLAC, but can be selected as the Apple Default format — this triggers both CD/media import, and the “convert to” option for converting existing tracks.

J. Paul uses Max, but he’s very particular about his content, and tends to use extensive tagging, and may have additional album art or associated content to keep together. ALAC includes metadata so that moving the file moves the metadata with it.

Ken and his wife may never find this post given their difficulty in finding help in an Apple store. Anyone else searching might get a few pointers from this.

Jun 01

I previously wrote that to block Spotlight indexing, one should create a basic file on the root of the Volume such as:

$ touch /Volumes/ALLANC_16G1/.metadata_never_index

I’ve recently found that the following should also work:
$ mdutil -i off /Volumes/ALLANC_16G1
which can be checked using:
$ mdutil -sv /Volumes/ALLANC_16G1
/Volumes/ALLANC_16G1:
Indexing disabled.

Needs verification, and it’s only useful when you have a MacOSX at your disposal. I used the first trick inside MySQLFS (around v0.4.0) but will look further into the second. This is one of those “making a note for you and for myself” kind of posts)

May 10

We are surrounded by opportunities to break our gear; if the gear is smart enough, it simply lasts longer.

When I worked at Motorola, as any development and innovative company has, we had a number of tricks and workarounds. One of these was a modified cable used to load firmware like they do to handsets in the factory — a Factory Cable, or FC. In this case, it drew power from the host system.

This cable would toast USB ports, therefore I caused it to get the official name “EFC” or “Evil Factory Cable”

I just realized the hard way that some domestic PCs protect themselves — as they should to as many actions as could possibly damage the system yet remain undetectable to a support guy. In this case, mine just protected itself:

USB Self-Defense

How cool is that? Sure, a Dell is “just as good but cheaper”; often you get what you pay for. Paying a dollar to protect my system from a mistake that I can make, as a technology genius (Genius, I tell you!), that’s a simple choice to make. If only more people would consider their gear over the long-term.

May 10

Compatibility only helps the user, and in sourcecode, the re-user.

I’ve noted before that making up a new format for anything poses a low chance of being compatible with anything, and that compatibility is accidental at best. Choosing any other format to be compatible with, to form some agreement, means that you already have compatibility with one other existing entity, meaning:

  • you can learn from the comments and notes about what that project’s architect discovered and learned
  • whatever is compatible with that entity maybe accidentally compatible with your product
  • generic upstream tools require much less work to adapt to your tool
  • compatibility with anything means you have designed with compatibility in mind, so you’re not so wedged into a colloquial hole as the next guy

The counter-point, by choosing your own way, no matter how much better you may think it is, you’re now responsible for evolving and supporting all the tools that are in your users’ toolbox. This means that if decide, for example, that Julian dates shall be used, you generate a gap between your project and all the tools that don’t yet support Julian dates. Even if you have no competition in the world, your users have these little obstacles that build up. Faced with a knock-off of your fantastic tool that poses no such obstacles, you’ll soon be replaced.

I like to get things done. Finish, and go home, or hack on something else.

There is the feeling of “I hate having to fix my tools before I can use them to get stuff done” that actually pushes me away from Microsoft — even before they “evolved” the Office suite to use a random new UI. Indeed, rather than Julian dates, that “Ribbon Menu” now makes OpenOffice more compatible with our learned skill at Microsoft Office than Microsoft is.

This “Ribbon Menu” breaks residual knowledge; in forcing users to accept this impact to productivity, what benefit is the Ribbon Menu giving to users? If you’re going to break with the pack, have a good reason other than “we’re going back to how it was done before 16-bit CPUs were invented”.

By changing your users to a better interaction that is used by some other app, you support that app, you consolidate the UI that should have been described from the start, and you gain compatibility. You might accidentally gain compatibility with a few tools that work on that other project or tool.

For these reasons, I would ask:

On a new project: what are you compatible with?

If the answer is “nothing” or “an old 8-bit format” or “the dead language of spoken latin”, rethink your decision, if you ever considered the possibility of compatibility, to marching to the common drummer of the blizzard of possible standards.

On an existing project: are you going to turn down anything that consolidates user experience or formats?

Keep in mind, the next question could be “what will you do next year, when your competition appears, and has compatibility?”

May 10

I travel a great deal — 82 of 130 days so far — and I like to share that info.

OK, maybe I don’t like to keep telling people where I am :) I understand it’s interesting to some, and I appreciate the attention and concern people have for me, but it’s easier if I can embed a bunch of rich links, and people can take a look for themselves. I am significantly affected by interruptions, and I also foster independence where I can.

The web has built up in a number of competing paths, like how NYC Subway was as many as four different companies in competition before they merged, leaving more inactive stations than active ones, and a lot of unused tunnels where squatters live.

Some people don’t read travel sites, some use dopplr, some use tripit. I want to offer this information to both so that the person can use whatever they have used thus far. Tripit has a wider understanding of existing travel formats — itineraries and notices and such — but dopplr has some users, so it makes sense to feed dopplr from tripit to leverage tripit’s higher intelligence. Dopplr added ical subscription in 2008 which James Senior nailed, and Jon Udell shared thusly:

Then I realized that Tripit publishes an iCalendar feed, and that Dopplr can subscribe to iCalendar feeds. So I made that connection, and now my Tripit events are showing up in Facebook.

Well, this isn’t working today — consistent 410 errors — but maybe this can be averted with some constructive UserAgent settings. Maybe Tripit became tired of people leveraging its smarter service to feed Dopplr. Need more time to figure this out after I do my Expenses. (ugh) Dopplr does allow a push of a calendar from iCal, which is nice but may require my iCal to start/stop regularly to do the push/update. Hmm. There has to be a way to script that… :)

Eventually, either Dopplr, Tripit, or something that these spawn will become the disused stations of the web, but in the meantime, if someone is using that and can hit their shared info rather than call me at 2am in a strange timezone, it gives me more sleep :)

May 02
Dns2tcp is a tool for relaying TCP connections over DNS. There is no authentications nor encryption mecanisms : DNS encapsulation must be considered as an unsecure and anonymous transport layer. Ressources should be public external services like ssh, ssltunnel ... This package contains the server part.
May 02
Dns2tcp is a tool for relaying TCP connections over DNS. There is no authentications nor encryption mecanisms : DNS encapsulation must be considered as an unsecure and anonymous transport layer. Ressources should be public external services like ssh, ssltunnel ... This package contains the client part.