Ahh, back home again

Back home from the inlaws… Unfortunately I tried to read in the passenger seat on the way up… I still get motion sickness… Now I know, and knowing is half the battle!

Anyhow. It’s *still* great to be back… even with an upset tummy.

DK

puppy play dates

Since we’ve gotten our puppy son my wife and I ahve become quite the budding dog enthusiasts. We’ve been taking him to the dog park in fremont as often as possible; and as concerned parents we’ve been paying close attention to everything. One thing that we’ve noticed is that puppies have friends and BEST friends. Our puppy ESPECIALLY likes to play with Dancer, and Sinbad to name just two. This got me thinking (as things usually do) about how to give back to the doggy community AND make life better for myself. I got around to coming up with an idea for a web service

You create profiles for your pets, participate in discussions, and actively keep a schedule of your dog plans. This allows you to check up and see when your puppies favorite pals will be at the park next and meet up with them.

Of course that wouldnt be the limit of what you could do, or how it could strengthen the community. Assuming that if I build it they will come. And if it were made universal enough (and I have enough experience with large scale web apps to make it so) it could be made to, without any special work, be usable by any group of enthusiasts in any area of the country (world)

Could be big. I’ll chew on the thought some more.

Cheers

Bad router, BAD!

So, in noticing general trends, I seem to have uncovered an (in retrospect) obvious link between cheap routers, port forwards, and network disconnects.

It seems that, on a cheap router, if you have X port forwards you are increasingly likely to have random disconnects and such (especially with wifi) as X increases…

so if your internet throughput is crappy. you’re experiencing ertratic ping times, and getting lots of crappy disconnects… try removing all your port forwards… seems to9 really work. My best guess is that theres just not enough cpu/ram to maintain the tcp stream states.

Playing with loopholes

The most amusing things happen when you’re been coding a long time. I found, and used a “hole” in one of our database routines (which has since been fixed)

getOneValueFromTable($srcTable, $srcField, $whereField, $whereValue);
produces SQL like “SELECT $srcField FROM $srcTable WHERE $whereField = ‘$whereValue'”. Can you spot the potential problems in something like this? Consider this: getOneValkueFromTable($srcTable, $srcField, ‘1’, ‘1’; delete from $srcTable; ”);

Granted its not much of a problem if only proper developers are able to use this function, but if any untrusted party were able to affect any of those variables… big problems…

Everyone should know this. If you didnt know this kind of a problem existed… consider yourself warned. This has been a public service announcement. We now return you to the normal silence found on this blog

😉

cheers
DK

Out of town.

Like scott mentioned I’ve been grinding like a madman on Ookles. It’s been a long stretch of solid work but we’re coming near a real product. Dont get me wrong, theres still a lot of work to be done, but we’ve got something to work on now. It’s one thing to be putting together a skeleton on which to hang your features and it’s another thing altogether to be sculpting the flesh.

So I’m spending time with the wife and the parents, out of town. I’m posting this from a living room with 4 people, 7 dogs, and 1 12″ iBook.

The Human Condition

I’m constantly amazed by the power of the human condition. How our spirit and drive push us towards excellence. And how, under the most adverse conditions, we find in ourselves with the drive to change our very reality into something better. When we’re down and out we find that we’re wise, intelligent, powerful, cunning, thorough, enlightened, and immortal.

But when we overcome our dire circumstances we seem to loose our drive. We loose our cutting edge. And we find in ourselves only the desire to do as much of nothing as possible anymore.

It’s almost as though we, as a species, have a need to exist in a state of turmoil. And it’s as though we cannot be at our best unless it’s in the circumstances of also being at our worst.

We cannot see good without evil. We cannot see the contrast. It seems that also we cannot create good without evil. We get comfortable, and we allow our weeds to grow in our lawns, once the skies are sunny.

I wish that we as a people did not require the worst to be the best. It’s an interesting thought. It’s cynical, and likely untrue on some levels and true on others. Perhaps tomorrow I’ll see the idea in a different light. Or perhaps tomorrow I’ll decide to think on more pleasant ideas.

Anyhow.
G’night

PHP (PHP5) Interface to Amazon’s S3 Service (Version 0.1)

Something I threw together in about 6 hours… it’s a good start (and its workable) but needs a lot of work (polish, etc)… but right now there is literally nothing out there even remotely close to this class. So I thought I would share it with the world… Perhaps I’ll setup a project page and put it under subversion if people care to actually contribute.

http://blog.apokalyptik.com/storage3.phps

Update: I’ve put together a “release” of this project. Please visit The Storage3 Interface to Amazons S3 “Simple Storage Service” home page.

The hackers manifesto

I quite enjoy this particular piece… It helps remind me of who I am, and the types of forces that have shaped me. No I’m not a hacker in the legal sense of the word. But I think that I qualify in the original, and possibly contemporary sense of the word. I think that sometimes people don’t quite understand those “types” that are beginning to shape our world. We’re coming into our own now. We’re pushing out the last generation, and taking our oddities into the mainstream. We arent abnormal anymore, we’re just… one of them. An oddball. Smart, but wierd. Shy… Kinda… off… Cant quite place it. But it’s hard to hold a conversation with him… he seems… disinterested…

The sad truth is that, often, we are disinterested… We arent on a better level… thats not it. But often times we are on a different level… We’re on the other side of a glass window. Your lips move, but I cant hear what you’re sayin… while on the other side you have the same perspective from a different angle.

I think you’d be suprised to find out how many of us “computer types” identify strongly with this document…

Continue reading

Of eye candy, pretty pictures, desktop operating systems, and promoting the linux utopia

First, take off your developer / admin / analyst / guru / |power-user hat. Why? Because if you’re going to think about the genre of the desktop operating system you cannot approach the idea with any of those hats on. If you do you will be wrong. Completely. Forever. Wrong. Second, drop the word “statistics,” “Performance,” and “logically” from your vocabulary. Those words do not belong here. Third, start thinking scope.

You’ve said it. You know you’ve said it: “if everyone would just use Linux”, “Linux is better”, and a whole slew of hot-headed, bad-mouthed, bible-thumping propaganda. You’ve said that Linux is better because of X, Y, and usually Z. The funny thing is that you were right, and it didnt make any difference. The problem is that you’re applying a very small statement to a very, very, very large target.

As much as I wish it were otherwise… Linux is not ready for the main stream desktop.

“It’s not hard to setup” … for you

“It’s not hard to maintain” … for you

“It just plain works” … for you

The problem with Linux is that you’re prescribing it for everybody, and it doesnt scale – in that way. Linux is about choice. Linux is about freedom. Linux is about the ability to do anything you want! Heres the problem. Grandma doesn’t want to have to make a choice. Your parents like rules and boundaries. Your next-door neighbor has absolutely no idea WHAT they want. See, Thats where it all falls down. It’s too complicated. These are just a small smattering (a pittance, if you will) of the questions faced by someone looking to use Linux…

Do I want Redhat, Suse, Mandrake, Slackware, Fedora, Gentoo, Debian?

Whats the difference?

I was told that apt is better than rpm by one person, and that rpm is better than apt by another?

Do I want Xfree86, or X.org?

Which of the 75 different IM clients should I use?

Who should I ask for help?

Why did they ask me to RTFM? Whats that mean?

Why did someone tell me to run a command that broke my desktop when I asked for help?

Where’s the manual?

What does “To do — cover this topic mean”

Why does it say “To do, document this better?” I need it now, not later!

I bought a new computer and the video|sound|usb|periferal card wont work, why not?

What’s root and why cant I just install things?

Why do I have to install 17 other programs when I just want this one?

How do I find out that I wanted that one?

Why cant I install this software? Windows programs wont work?

Windows is slow, insecure, clunky, restrictive, repetative, and stifling. But your neice, next door neighbor, grandfather, and parents see something different: I didnt have to make any complicated choices… matter of fact the pc came with it. I can follow the same instructions everyone else got. I can get just about any program from a friend and install it… it’ll work. It came with an I’m client… I’ll just use that. My blue E gets me on the internet, My Blue E with the envelope lets me do e-mail. It does everything that I’ve been told that I should want it to do, why should it be anything else? This is fine. it works.

The things that will never happen are the things that will mean that forever and ever there will be some mainstream entity who has the lions share of the market. All of those things center around a couple of key phrases: “without the user having to understand”, “reliably”, “consistently”, “agree on one”, “stop bickering”, and last but not least, “that it’s OK not to know”

But thats not the nature of the linux community. Which is fine. It doesnt have to be. But it needs to understand what it *is* and what it *isnt*… Know thyself, and all that jazz…