My Gestalt

Understand the chaotic world by developing meaningful perception through the acquisition of seemingly disparate knowledge.

Collect information in large quantity with precise detail and connect the dots of meaning to form your own picture of the universe.

Act upon it

Knowledge and understanding without action is waste.

Be Grateful

Never underestimate the power of gratitude.


Forgiveness will make your heart happy. Forgiveness is not about someone deserving it, it's about healing your heart.


Terrific MySQL Tool

As I was getting more and more frustrated using phpMyAdmin for working on drupal's mysql database (it would refuse to browse some tables as for reasons why I still have no idea) I did an apt-cache search (yes I only run debian on my linux servers) phpmyadmin. Much to my surprise the return results included "eskuel - A MySQL databases administration interface in PHP-scripts" So, I say to myself (as I often do) "wtf is this?" After browsing the sourceforge page and thinking, as all well conditioned American newsmedia junkies would, this is French is must be shit... I decided to give it a try. So off to apt-get install eskuel I went... linked it to my main db and voila! I now have a new tool that is a delight to work with and reads everything in my drupal database as well as several others I might add. I look forward to exploring more of what this tool is capable of. Don't be afraid to experiment with new things, even if you have been conditioned to think the tool you already have is "the best." I haven't dpkg --purge phpmyadmin just yet but by the looks of it it will happen soon, every try to insert huge text fields into mysql with phpmyadmin? That excessively LONG delay is non existant with eskuel. I have tried my 4 annoyances with phpMyAdmin against eskuel and eskuel handles them all satisfactorily.

Connection Pooling

Why can't we pass something, anything a string, etc. along with the current connection. Setting something like the workstation ID will prevent the connection from being pooled properly. Maybe this can happen at a later time. I'd sure like to pass this off to sql in the connection user@ipaddress.

Greetings - What is this?

  • Repository for my adventures in different languages, specs, standards and tinkering.
  • You can find out more about me, what type of code I write, what I'm interested in and hear my blatherings about the state of world affairs...
  • If you read something and disagree, this is just my opinion, if you think I am wrong, fine, no flames here, they will be purged.
  • If you find something of interest and want to use it, just follow the included license where applicable.

You're a DotNet coder... what is all this Linux stuff?

I like many others have to interop with other operating systems in distributed systems. While the bulk of my work is done in DotNet based Client/Server architectures, I also have to interface to UNIX, Linux, Sun, and even Mac. It is my belief that to really understand these technologies you must USE them. I do run a couple Linux servers in my business network as well. Exchange and Checkpoint One may be great for a medium to large company but for a small business that just needs a few mailboxes and a firewall, doesn't want to host it externally and needs full control of it's systems, then Linux is about the only choice. TCO in a small company is vastly different than what Microsoft wants you to believe. In their ads you would think that you just take their system out of the box and plug it in. This is not the case, I can't see paying thousands of dollars for a mail system when I really can set the thing up myself for alot less, and once it's setup the maintenance really is easier. Bear in mind here that I am talking about a single server with a very small number of mailboxes. Maybe Microsoft will make an Exchange Light that doesn't need a quad proc machine with 4G of ram just to run it... (I'm kidding of course) As for PHP, sometimes I just need a really quick non critical solution or I am looking for something (such as drupal) that is already written, costs nothing to rollout and fulfills my needs without requiring me to rewrite everything to get what I am after. While the programming model in PHP does bother me in it's spaghettiness (include files remind me of basic's GoSub and GoTo) it does have alot of predone solutions that will let you get an solution together quickly. IIS is a fine platform for most people, but it's just not everywhere and making that a requirement for every application I write is just not realistic, no matter how much Microsoft wants to make it so. So to understand Apache, PHP and Zope, how it works, and more precisely how it interops with my DotNet programs, I actually must run it on something more than a test server sitting over in the corner of my office. So as I find frustrations, fixes, patches solutions and just plain cool stuff when I am working in those platforms, I will make them available here for you to save some time from banging your head against the wall like I have for many, many years.

Drupal XML Syndication

I noticed something about the way Drupal was syndicating XML output, it had no ability to add images or copyrights to the rss. I made a patch to fix this and submitted it for inclusion in the drupal cvs version. Here are the gory detail: In includes/ there are a couple functions for creating the rss feed from node.module: here is the changed channel item I created to recurse the nodes added with the args array: function format_rss_channel($title, $link, $description, $items, $language = "en", $args = array()) { // arbitrary elements may be added using the $args associative array $output .= "<channel>\\n"; $output .= " <title>". drupal_specialchars(strip_tags($title)) ."</title>\\n"; $output .= " <link>". drupal_specialchars(strip_tags($link)) ."</link>\\n"; $output .= " <description>". drupal_specialchars($description) ."</description>\\n"; $output .= " <language>". drupal_specialchars(strip_tags($language)) ."</language>\\n"; // changes added for recursing elements if (is_array($args)) { $output .= create_node($args); } // end changes $output .= $items; $output .= "</channel>\\n"; return $output; } function create_node($args) { foreach ($args as $key => $value) { if (is_array($value)) { $output .= " <$key>\\n". create_node($value) ." </$key>\\n"; } else { $output .= " <$key>". drupal_specialchars(strip_tags($value)) ."</$key>\\n"; } } return $output; } Then in node.module when you pass the nodes into a feed in function node_feed(): at line 889 of cvs version // added to support image elements $rss_image = array("title"=> "SteelePrice.NET", "url"=> "/images/spnet_logo_rss.gif", "link"=> "", "width"=> "88", "height"=> "31"); $rss_args = array("copyright"=> "Copyright ©2003 H. Steele Price, IV, All rights reserved.", "image"=> $rss_image); $output .= format_rss_channel($channel["title"], $channel["link"], $channel["description"], $items, $channel["language"], $rss_args); $output .= "</rss>\\n"; Results in output that looks like this now: - <rss version="0.91"> - <channel> <title>SteelePrice.NET - trudging the road of happy coding</title> <link></link> <description>Live to code, don't code to live.</description> <language>en</language> <copyright>Copyright ©2003 H. Steele Price, IV, All rights reserved.</copyright> - <image> <title>SteelePrice.NET</title> <url>/images/spnet_logo_rss.gif</url> <link></link> <width>88</width> <height>31</height> </image> - <item> Exactly what I wanted. So if you would like Drupal to add images and copyrights to your feeds... just add the patch above. Next: making it user selectable by adding some appropriate fields to profile.module
Page 1 ... 36 37 38 39 40