Archive for April, 2008

Some users are expressing disappointment with Ubuntu 8.04 - Hardy Heron

One such user is my friend K.Mandla. His disappointment? It’s too easy to set up. :) Those of us who have been around since Hoary Hedgehog (Ubuntu 5.04) or earlier remember the work that was needed to get things up and running. Well, for the majority of people, those days are gone (and good riddance!).

Congrats again and huge thanks to all involved in making Hardy the best Ubuntu release so far, and perhaps the best Linux distro release ever!

11 comments April 30th, 2008

Another reason to love Linux

I found this here and liked it enough to believe it was worth sharing, even if the picture is a little large and breaks the flow of my site. This is good enough that I have to share it. Yet another reason I love Ubuntu…if only I had a Hardy 8.04 disk to take my own picture…

Ubuntu disk vs. Windows disk

3 comments April 29th, 2008

I upgraded to WordPress 2.5.1 yesterday…and a bug was found today

If you have upgraded to WordPress 2.5.1, you may have discovered a bug that hit a lot of people this weekend. What happens is if you change your password, the login link you are sent doesn’t work and you end up locked out. You can reset a WP password manually, and here is a link to two updated files that fix this issue.

The fix will also be included in 2.5.2, so if you haven’t upgraded yet, I suppose you could wait for that, however there were several important security fixes in 2.5.1, so I recommend upgrading and then uploading the two updated files.

2 comments April 27th, 2008

Apologies to my Planet Ubuntu friends

Sorry about the length of that last post. I thought using the “more” tag in WordPress would cause only the first couple of paragraphs to be carried by my rss feed, like it does on my blog front page…I didn’t expect the whole, long thing to end up on the Planet.

So, dear lazyweb, any idea how I can accomplish that goal for the next time? I certainly don’t want to overwhelm the Planet page or others.

16 comments April 26th, 2008

Allowing flash (flv) files to be stored and embedded in a coppermine gallery

I have several websites for which I am responsible. On one site, I am building a new gallery site for storing pictures as well as sound and video clips. There are several good options for building a gallery site, and I have used more than one with success. For the site in question, I decided to use Coppermine, which is powerful, configurable, open source, and freely licensed using the GNU GPL.

I ran into a little snag that took some work to figure out. To help me remember what I did, I am blogging it here. Maybe someone else will find it useful as well.

Coppermine makes it very easy to store, embed and play lots of media files and formats. That is awesome. I found one that is not supported…the now common flv, or flash video. In fact, by default you can’t even upload a file with an flv extension. Bummer. Off to Google I ran.

I found several sites with ideas and info, but one was more useful than others. Even it required lots of reading and page turning. I decided to put all the info in one page for my easy reference, but the Coppermine Gallery forum deserves a link and the credit for this method. I’m just posting it, people there came up with it. That is an old thread, though, and things have changed since the first post. I had to read the whole thing to figure out what needed to happen to make this work, and that is the reason for this post, rather than just a bookmark in my personal web browser. Okay, here are the steps I took that got this working for me.

Note: get your site up and running, with the theme work complete before doing this. That will make your life a little easier.

1. Download and install the filetype editor MOD discussed here. The mod is included in the cpg1.4.x_plugin_pack_v3 package available on the SourceForge download page for Coppermine. I happened to upload all of the plugins to my website, and sorted them from there, ending up using only a handful. That was easier for me. You do it how you want to.

2. Run the plugin and make a new filetype using the following data; “flv - application/x-shockwave-flash - movie - Flash player”

3. Download the FLV Player from this site. Extract the archive locally and upload mediaplayer.swf and swfobject.js to your Coppermine site’s root directory.

4. I added the following code to my theme’s theme.php file, before the function theme_html_img_nav_menu().
//** added by matthew to try to get flv play to work **
function theme_html_picture()
{
global $CONFIG, $CURRENT_PIC_DATA, $CURRENT_ALBUM_DATA, $USER;
global $album, $comment_date_fmt, $template_display_media;
global $lang_display_image_php, $lang_picinfo;

$pid = $CURRENT_PIC_DATA['pid'];
$pic_title = ”;

if (!isset($USER['liv']) || !is_array($USER['liv'])) {
$USER['liv'] = array();
}
// Add 1 to hit counter
if (!USER_IS_ADMIN && !in_array($pid, $USER['liv']) && isset($_COOKIE[$CONFIG['cookie_name'] . ‘_data’])) {
add_hit($pid);
if (count($USER['liv']) > 4) array_shift($USER['liv']);
array_push($USER['liv'], $pid);
}

if($CONFIG['thumb_use']==’ht’ && $CURRENT_PIC_DATA['pheight'] > $CONFIG['picture_width'] ){ // The wierd comparision is because only picture_width is stored
$condition = true;
}elseif($CONFIG['thumb_use']==’wd’ && $CURRENT_PIC_DATA['pwidth'] > $CONFIG['picture_width']){
$condition = true;
}elseif($CONFIG['thumb_use']==’any’ && max($CURRENT_PIC_DATA['pwidth'], $CURRENT_PIC_DATA['pheight']) > $CONFIG['picture_width']){
$condition = true;
}else{
$condition = false;
}

if ($CURRENT_PIC_DATA['title'] != ”) {
$pic_title .= $CURRENT_PIC_DATA['title'] . “\n”;
}
if ($CURRENT_PIC_DATA['caption'] != ”) {
$pic_title .= $CURRENT_PIC_DATA['caption'] . “\n”;
}
if ($CURRENT_PIC_DATA['keywords'] != ”) {
$pic_title .= $lang_picinfo['Keywords'] . “: ” . $CURRENT_PIC_DATA['keywords'];
}

if (!$CURRENT_PIC_DATA['title'] && !$CURRENT_PIC_DATA['caption']) {
template_extract_block($template_display_media, ‘img_desc’);
} else {
if (!$CURRENT_PIC_DATA['title']) {
template_extract_block($template_display_media, ‘title’);
}
if (!$CURRENT_PIC_DATA['caption']) {
template_extract_block($template_display_media, ‘caption’);
}
}

$CURRENT_PIC_DATA['menu'] = html_picture_menu(); //((USER_ADMIN_MODE && $CURRENT_ALBUM_DATA['category'] == FIRST_USER_CAT + USER_ID) || ($CONFIG['users_can_edit_pics'] && $CURRENT_PIC_DATA['owner_id'] == USER_ID && USER_ID != 0) || GALLERY_ADMIN_MODE) ? html_picture_menu($pid) : ”;

if ($CONFIG['make_intermediate'] && $condition ) {
$picture_url = get_pic_url($CURRENT_PIC_DATA, ‘normal’);
} else {
$picture_url = get_pic_url($CURRENT_PIC_DATA, ‘fullsize’);
}

$image_size = compute_img_size($CURRENT_PIC_DATA['pwidth'], $CURRENT_PIC_DATA['pheight'], $CONFIG['picture_width']);

$pic_title = ”;
$mime_content = cpg_get_type($CURRENT_PIC_DATA['filename']);

if ($mime_content['content']==’movie’ || $mime_content['content']==’audio’) {

if ($CURRENT_PIC_DATA['pwidth']==0 || $CURRENT_PIC_DATA['pheight']==0) {
$CURRENT_PIC_DATA['pwidth']  = 320; // Default width

// Set default height; if file is a movie
if ($mime_content['content']==’movie’) {
$CURRENT_PIC_DATA['pheight'] = 240; // Default height
}
}

$ctrl_offset['mov']=15;
$ctrl_offset['wmv']=45;
$ctrl_offset['swf']=0;
$ctrl_offset['rm']=0;
$ctrl_offset_default=45;
$ctrl_height = (isset($ctrl_offset[$mime_content['extension']]))?($ctrl_offset[$mime_content['extension']]):$ctrl_offset_default;
$image_size['whole']=’width=”‘.$CURRENT_PIC_DATA['pwidth'].’” height=”‘.($CURRENT_PIC_DATA['pheight']+$ctrl_height).’”‘;
}

if ($mime_content['content']==’image’) {
if (isset($image_size['reduced'])) {
$winsizeX = $CURRENT_PIC_DATA['pwidth']+5;  //the +’s are the mysterious FF and IE paddings
$winsizeY = $CURRENT_PIC_DATA['pheight']+3; //the +’s are the mysterious FF and IE paddings
$pic_html = “<a href=\”javascript:;\” onclick=\”MM_openBrWindow(’displayimage.php?pid=$pid&fullsize=1′,’” . uniqid(rand()) . “‘,’scrollbars=yes,toolbar=no,status=no,resizable=yes,width=$winsizeX,height=$winsizeY’)\”>”;
$pic_title = $lang_display_image_php['view_fs'] . “\n==============\n” . $pic_title;
$pic_html .= “<img src=\”" . $picture_url . “\” class=\”image\” border=\”0\” alt=\”{$lang_display_image_php['view_fs']}\” /><br />”;
$pic_html .= “</a>\n”;
} else {
$pic_html = “<img src=\”" . $picture_url . “\” {$image_size['geom']} class=\”image\” border=\”0\” alt=\”\” /><br />\n”;
}
} elseif ($mime_content['content']==’document’) {
$pic_thumb_url = get_pic_url($CURRENT_PIC_DATA,’thumb’);
$pic_html = “<a href=\”{$picture_url}\” target=\”_blank\” class=\”document_link\”><img src=\”".$pic_thumb_url.”\” border=\”0\” class=\”image\” /></a>\n<br />”;
} else {
$autostart = ($CONFIG['media_autostart']) ? (’true’):(’false’);

$players['WMP'] = array(’id’ => ‘MediaPlayer’,
‘clsid’ => ‘classid=”clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6″ ‘,
‘codebase’ => ‘codebase=”http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701″ ‘,
‘mime’ => ‘type=”application/x-mplayer2″ ‘,
);
$players['RMP'] = array(’id’ => ‘RealPlayer’,
‘clsid’ => ‘classid=”clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA” ‘,
‘codebase’ => ”,
‘mime’ => ‘type=”audio/x-pn-realaudio-plugin” ‘
);
$players['QT']  = array(’id’ => ‘QuickTime’,
‘clsid’ => ‘classid=”clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B” ‘,
‘codebase’ => ‘codebase=”http://www.apple.com/qtactivex/qtplugin.cab” ‘,
‘mime’ => ‘type=”video/x-quicktime” ‘
);
$players['SWF'] = array(’id’ => ‘SWFlash’,
‘clsid’ => ‘ classid=”clsid:D27CDB6E-AE6D-11cf-96B8-444553540000″ ‘,
‘codebase’ => ‘codebase=”http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0″ ‘,
‘mime’ => ‘type=”application/x-shockwave-flash” ‘
);
$players['UNK'] = array(’id’ => ‘DefaultPlayer’,
‘clsid’ => ”,
‘codebase’ => ”,
‘mime’ => ”
);

if (isset($_COOKIE[$CONFIG['cookie_name'].’_’.$mime_content['extension'].’player’])) {
$user_player = $_COOKIE[$CONFIG['cookie_name'].’_’.$mime_content['extension'].’player’];
} else {
$user_player = $mime_content['player'];
}

// There isn’t a player selected or user wants client-side control
if (!$user_player) {
$user_player = ‘UNK’;
}

if ($mime_content['content']==’movie’ && $mime_content['mime']==’application/x-shockwave-flash’) {
if ($CURRENT_PIC_DATA['pwidth']==0 || $CURRENT_PIC_DATA['pheight']==0) {
$CURRENT_PIC_DATA['pwidth']  = 640; // Default width
$CURRENT_PIC_DATA['pheight'] = 480; // Default height
}
$CURRENT_PIC_DATA['pwidth']-=26; // black bars on sides for me for some reason

$flv =  $CONFIG['fullpath'] . $CURRENT_PIC_DATA['filepath'] . $CURRENT_PIC_DATA['filename'];

if($mime_content['extension']!=’flv’) {
$flvcheck = fopen($flv,”r”);
$flv=fgets($flvcheck);
fclose($flvcheck);
}
$exxvars=str_replace($CONFIG['thumb_pfx'], $CONFIG['normal_pfx'], get_pic_url($CURRENT_PIC_DATA,’thumb’));
if(!file_exists($exxvars)) $exxvars=get_pic_url($CURRENT_PIC_DATA,’thumb’);
$exxvars=”ℑ=”.$exxvars;
$pic_html = “<embed src=\”mediaplayer.swf\” width=’”.$CURRENT_PIC_DATA['pwidth'].”‘ height=’”.$CURRENT_PIC_DATA['pheight'].”‘ allowfullscreen=\”true\” allowscriptaccess=\”always\” type=\”application/x-shockwave-flash\” pluginspage=\”http://www.macromedia.com/go/getflashplayer\”
flashvars=\”file=$flv$exxvars\”></embed>”;

} else {

$player = $players[$user_player];

$pic_html  = ‘<object id=”‘.$player['id'].’” ‘.$player['classid'].$player['codebase'].$player['mime'].$image_size['whole'].’>’;
$pic_html .= “<param name=\”autostart\” value=\”$autostart\” /><param name=\”src\” value=\”". $picture_url . “\” />”;
$pic_html .= ‘<embed ‘.$image_size['whole'].’ src=”‘. $picture_url . ‘” autostart=”‘.$autostart.’” ‘.$player['mime'].’></embed>’;
$pic_html .= “</object><br />\n”;

}
}

$CURRENT_PIC_DATA['html'] = $pic_html;
$CURRENT_PIC_DATA['header'] = ”;
$CURRENT_PIC_DATA['footer'] = ”;

$CURRENT_PIC_DATA = CPGPluginAPI::filter(’file_data’,$CURRENT_PIC_DATA);

$params = array(’{CELL_HEIGHT}’ => ‘100′,
‘{IMAGE}’ => $CURRENT_PIC_DATA['header'].$CURRENT_PIC_DATA['html'].$CURRENT_PIC_DATA['footer'],
‘{ADMIN_MENU}’ => $CURRENT_PIC_DATA['menu'],
‘{TITLE}’ => bb_decode($CURRENT_PIC_DATA['title']),
‘{CAPTION}’ => bb_decode($CURRENT_PIC_DATA['caption']),
);

return template_eval($template_display_media, $params);
}
//** end added by matthew **

I have not tried them, but I have read that there are some changes you can make to your theme’s template.html file that will allow you to change the size of the video on site. If I am successful doing so, I will add that info in a comment here. Otherwise, this is all I have done, and the site in question now allows me to upload flash video and play it in the same way as an mpg or mov.

11 comments April 26th, 2008

Hardy Heron is released

I failed to post yesterday during the main release party excitement, not because I wasn’t excited, but because I was so excited that I had already upgraded all of my boxes when Ubuntu 8.04 was still in beta.

Anyway, woo hoo!!!

If you want to download the new version, go here. The links are at the bottom of the page. I recommend using a torrent download as it will be faster and will save some of the load on the Ubuntu servers.

4 comments April 25th, 2008

That’s not my circle

One of the most freeing moments of my life was when I learned to stay out of other people’s business. That moment freed me from the stress and worry of trying to keep everyone else safe, correct, or “on the right path.” Don’t get me wrong, there is a place and a time for that. The real trick is learning how to discern what is your responsibility and what is not, in other words, when are where are those proper times and places?

I like to use the analogy of circles. Each of us is given a circle of responsibility and influence. Everything in the circle is ours. Everything outside of that circle is not ours. The things inside of other people’s circles are their responsibility.

Sometimes responsibilities are shared, like my wife and I each have our children within the shared, overlapping portions of our individual circles.

Sometimes my circles contain other people’s circles. My children, especially as they are very young, are fully within my circle. As they get older, my job as a father is to help them learn how to manage the things in their circle well, giving them authority and power over their lives. At first, I control the decisions. Then, I allow them to make decisions within parameters I establish. Finally, we move to more and more freedom, ultimately allowing them to make decisions for themselves as they learn how to do so.

Sometimes circles exist only for specific areas of life. An employer’s circle of responsibility at work completely encompasses the circles of his employees, but only where work is concerned. The employer does, or should not have, any such authority over the employee at home.

Sometimes circles are unique. This blog is in my circle and no one else is responsible for it in any way (other than my web host keeping its uptime promise).

Problems appear when people overstep proper boundaries and begin trying to manage the things in other people’s circles. You are still within your circle when you state a preference or a belief. You are probably still within your circle when you advocate or promote an idea (depending on how you do it, obtrusively or respectfully). You are no longer within the boundaries of your circle when you demand that someone do things the way you want them done.

It goes the other way, too. I am fully within my circle when I delete spam comments from my blog, when I prevent them altogether, when I decide who may or may not post comments, and when I arbitrarily change the theme of my site. I am stepping outside of my circle when I demand that someone else do the same things on their site. I can comment, “I do this. Here is why. You might like it as well.” I may not say, “Anyone who administers their site differently is a moron,” and I certainly have no power or authority to demand that they change.

Actually, realizing that is quite freeing. Suddenly it is okay to allow people to make choices. I might comment occasionally, if I can do so politely and without stepping out of my circle and into someone else’s, but ultimately I must allow others to have control over their lives, to have the freedom to live as they would, if I am to expect the same consideration.

So, with that in mind, I won’t tell you how to raise your children, how to run your software project, how to administer your website, or what you should or shouldn’t believe. I might make a comment occasionally based on my personal preferences, but only when I can so do in a way that does not steal from you your freedom. I’ll stay out of your circle, you can rule it as you see fit. If you are working for me, I will limit my attempts to control or influence your actions only within proper the boundaries of the workplace and the job and our professional relationship. That is the path of respect.

In return, please feel free to tell me what you think, what you believe, and share ideas you have that I may not have considered. I want to hear them! Really. Then, let me make an informed decision, and let the decision be mine. Stay out of my circle.

6 comments April 24th, 2008

How do people find your site?

I spent some time this morning looking through my logs and reading some stats (when I should have been working, but that’s a different post altogether). One statistic that fascinated me was the list of search terms that have led people to this site. Some are obvious, because I have written posts on these topics.

conky

using rsync for backup

ubuntu forums

date ideas

guitar effect settings

automatic php database backup

But then there are some that both confuse and amuse me. I thought I would share them, in case you needed a chuckle. How any of these led someone to my site is a mystery, probably involving chaos math and a butterfly somewhere in Venezuela.

joke donut difference between a

the coolest things ever known to man

soda cause achy feeling

“top secret” morocco site:net

what are the coolest clothes on oblivion

can diet coke cause indigestion

what do you call a conductor’s stick?

Please, share yours. I need the laugh.

1 comment April 24th, 2008

Ubuntu Forums and vBulletin 3.7

We have upgraded the Ubuntu Forums to use the newest version of vBulletin, 3.7.0RC3 and it rocks! There are a ton of new features, a new look, and still the same friendly, welcoming, helpful atmosphere.

The upgrade is a direct result of work done by ubuntu-geek, so he should get all the credit and thanks. The atmosphere in the forums is because of our members, who are wonderful and deserve the best looking and best working forums on the internet.

8 comments April 22nd, 2008

Posts from my blog tend to appear on other sites

Actually, I am fine with that. I have copyrighted all the posts on my blog, but I have also licensed all of them with a Creative Commons license (unless you see a specific notice stating otherwise). In other words, if you are one of those who is aggregating my posts and reproducing them on your site, that is okay with me, as long as you do the following things.

1. You retain my name and copyright notice on all posts, and you include a link to my main blog site on your site or in the post itself, preferably both.

2. You do not make any money from my work without talking directly to me and getting my permission (and preferably offering some sort of royalties).

3. You do not change my words or modify my information without saying you have done so and releasing your derivative work under the same license.

I know a lot of people who have been complaining about this sort of thing, and I understand their frustration. Instead of fighting this, I am choosing to embrace it. To help those who wish to use my content to comply with my wishes, I am now including an automatic copyright notice and link at the bottom of each of my rss feed entries. If you are using WordPress, you can do the same thing with the Simple Feed Copyright plugin.

11 comments April 20th, 2008

Previous Posts


Categories

 

April 2008
S M T W T F S
« Mar   May »
 12345
6789101112
13141516171819
20212223242526
27282930  

Site Content License

The content on this site is
© Matthew Helmke.

Unless otherwise noted, content on this site is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.

Creative Commons License

Blogroll

Interesting Sites

Archives

Spam Blocked