Marketing 101. Consulting 101. PHP Consulting. Random geeky stuff. I Blog Therefore I Am.


The FuzzyBlog!

January 2003
Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Dec   Feb

Updated: 2/1/2003; 5:47:21 AM.
Search

My Newest Product!

  • Makes email not suck!
  • Works with Outlook
  • Eliminates Spam
  • Color Codes Your Email

Appreciation

Give me a Gift

Amazon Honor System Click Here to Pay Learn More

Books I've Written







Marketing

 Tuesday, January 07, 2003

Marketing 101: When You Are International

I just ran across these (and don't know if I found them when they were originally published).  They are a series of "additions" to my Marketing Software When You Are a Small Company article which talk about what to do when you are a small international company.  Neat!

State what the time in your country is on your web site. Otherwise potential customers wonder why you were so slow in responding to an email or for not answering your telephone. (answer: we're sleeping).  [_Go_]


8:14:10 AM      Google It!   comment []    IM Me About This   

Memex Revisited

As someone who started his high tech career implementing hypertext tools (in 1987 no less; like Mark who probably even beat me), I found this interview with Microsoft's Gordon Bell about implementing a Memex fascinating.

"Consider a future device for individual use, which is a sort of mechanized private file and library," wrote information technology visionary Vannevar Bush in the July 1945 issue of the Atlantic Monthly.

"It...is a device in which an individual stores all his books, records, and communications, and which is mechanized so that it may be consulted with exceeding speed and flexibility. It is an enlarged intimate supplement to his memory."

Thus did Bush describe what he called a "memex," which he envisioned as a desk-size appliance festooned with "slanting translucent screens," buttons and levers, and loaded with microfilm. Data entry would be accomplished by means of "dry photography" on a transparent platen--a midcentury vision of the scanner.

Fifty-seven years later, Microsoft researcher Gordon Bell has realized Bush's memex, having entered "nearly everything possible from his entire life" into his computer as part of a Microsoft project at its Bay Area Research Center (BARC) in San Francisco. [_Go_]

Gordon Bell, for those who have forgotten, or predate DEC, was the creator the Vax among lots of other things.


8:11:10 AM      Google It!   comment []    IM Me About This   

Pulling Logic Out of PHP and Onto the Database Server

For a lot of us who haven't ever worked with databases other than MySQL, we're not really used to putting our database logic onto the database server.  This a really good article, both the author of SourceForge, on implementing server side database logic (in Postgres) and illustrating triggers, advanced SQL, etc.  Recommended!

As my programming skills have improved over the years, I find myself demanding more precise and guaranteed control over my data. Simply inserting into the database and hoping for the best is not good enough anymore. Using transactions and foreign keys are good first steps in ensuring data integrity, but with some of the more advanced databases, you can go further still and move programming logic into the database itself, stripping it from your PHP code.

I recently picked up development of GForge, an open source software development/project management tool. Part of what I wanted to do was create a first-class "Project Manager", similar to MS Project or similar tools which do Gantt charting, and I wanted to do it with PHP using a web interface.

In Gantt charting, you have a series of tasks, which can be constrained by prior tasks, as in the example below. Task B is dependent on the completion of Task A, and Task C is dependent on Task B.

That sounds easy enough, but what if a user attempts to enter a start date on Task B that is earlier than the end date of Task A? At the time you insert Task B, or update its entry in the database, you could have PHP logic that queries the database and checks the end date of task A. That's a couple lines of PHP. But what if you need to delay Task A by a week? Now you need a recursive function in PHP which will go all the way down the line and delay Task B and then Task C by the proper amount and commit all the changes to the db. Suddenly, you are looking at a lot of queries and recursion in PHP and you've got a performance problem, especially if you have a high-traffic web application.  [_Go_]


8:08:10 AM      Google It!   comment []    IM Me About This   

PHP SuperGlobals

It seems like a pretty good article -- it's not for advanced users but there's a  bunch to learn here.  Found from CodingTheWeb.

It occurred to me that although they had locked down security on what dates I could choose from, the final value was placed in a GET statement at the end of the web address. I modified the web address to use "date=01-22-01" and indeed, our skies were waiting for us first thing the next morning (we paid for them, of course).

This innocent yet practical example is only one of the dangers we must be aware of when using any programming language that can be used in ways we did not intend, which leads us to our discussion of PHP Superglobals. [_Go_]


8:04:52 AM      Google It!   comment []    IM Me About This   

Minimal Blogging Today

Not too much today -- deadlines I'm running behind on as well as that dreadful thing called "a personal life" is intervening.  (That is why I blogged a bunch last night after hours when I was too fried to code).


8:02:13 AM      Google It!   comment []    IM Me About This