Dec 29

I’m at the Starbucks in the Carrefour mall in Burgas. If you’re an American coming to Burgas for a visit and you’re worried there aren’t any Starbucks, well, don’t worry.

The word of the day is ‘Starbucks’

  • Facebook
  • Share/Bookmark
Tagged with:
Dec 21

We're preparing for a trip to Medven, Bulgaria.  We'll be spending our christmas vacation there, in a bungalow in the mountains.  Hoping for a white christmas :)

Loading...
 
  • Facebook
  • Share/Bookmark
Dec 19

On Dec 11 we had our first snow in Burgas

Picasaweb Photos

  • Facebook
  • Share/Bookmark
Tagged with:
Dec 12

Code Colorer

I used WP-SyntaxHighlighter, I tried some others, but the simplest and most expedient plugin I found for highlighting code in my blogs comes from Dmytro Shteflyuk’s Code Colorer.
Like most of them it’s based on the Geshi Generic Syntax Highlighter … much easier syntax.

I recommend this one for bloggers who wish to include code in their posts.

  • Facebook
  • Share/Bookmark
Tagged with:
Dec 11

I’m learning how to write wordpress plugins, I’ve said that before here in my blog.  One of the ways I’m doing it is by downloading/installing existing plugins I see out there which may be interesting to me – they provide actions and capabilities to do things I want my plugin(s) to do … on a more general scale.

One thing I have noticed – almost all of these plugin authors do NOT use classes in their design.  Their .php files are full of functions, most of the time written without the

if (!function_exists('my_function')) {
  function my_function() {
    // and so on
  }
}

or

if (!function_exists('my_function')) :
  function my_function() {
    // and so on
  }
}
endif;

How do they expect to avoid naming collisions?  If they have to have a function by a certain name which probably exist in some other plugin developer’s file somewhere, then even if they use this !function_exists business they’ll end up getting the other author’s behavior for that function.

Why don’t these people just use classes! I know I’m coming at this from the java world where you have to use classes for everything, and there’s packaging to avoid naming collisions, but still – this seems like an obvious question to me. Do the modern php programmers have no experience with a real class-oriented language?

Here’s a silly example I’m doing. I have a plugin I’m developing to allow Zlatina’s web administrators to deal with their database of students and contacts. It’s called Bcc DBManager.
I created a subdirectory wp-content/plugins/bcc-dbmanager, with a file named bcc-dbmanager.php … duh. I want to hook into the activate_${plugin} (see this link for an explanation of that). Here’s a partial …

<?php
/*
Plugin Name: Bcc DBManager
Description: Blah blah
*/

$bccDBManager = new BCC_DBmanager();
add_action('activate_bcc-dbmanager/bcc-dbmanager.php',                  
         array(&$bccDBManager,'_activate'));

class BCC_DBmanager {  
  function _activate()  {    
    // do stuff    
    $this->very_common_function_name();
    // or this way
    BCC_DBmanager::very_common_function_name();
  }
  ## function with a very common name
 function very_common_function_name() {
    // do stuff
  }
}
?>

How hard is that? I certainly don’t know much about plugin development at this point. But I would have to describe the use of functions rather than class instances and methods as Code Smell.

[Edit] Since I wrote this post I found this link on Nerdaphernalia: Use Classes in your WordPress plugins to increase code portability and reduce name conflicts

  • Facebook
  • Share/Bookmark
Tagged with:
Dec 07

British Cultural Centre

The above is a link to Zlatina’s school, the British Cultural Centre, Burgas.  It’s her english-language school, she teaches children from the age of 4 until they graduate from high school.

I designed the website based on the Education theme from studiopress.  Zlatina wrote all the Bulgarian stuff you see, her son Petko typed it all in.  Stop by for a visit :-)

  • Facebook
  • Share/Bookmark
Tagged with:
Dec 05

One of my favorite on-line music sites is Magnatune.  New artists, some successful on Amazon and elsewhere, others not – all available for listening.  I even buy music there when I really like it.
A very well designed website for music lovers, a great place to go to look for new, untainted talent, with a very large selection of genre.

Below is an embeddable player they offer on their website.  This is General Fuzz, his recent release named Cool Aberrations.

Cool Aberrations by General Fuzz

Cool Aberrations is a tribute to the power of collaboration. The tracks range from soothing melodies to raging funk jams. Every track has at least one collaborating artist on it. Echoes, a nationally syndicated radio show on NPR, ranked Cool Aberrations #5 on their 25 essential echoes cds for 2007. It was also ranked #20 on their 2007 listener poll.

  • Facebook
  • Share/Bookmark
Tagged with:
Dec 04

After you’ve installed apach2, php5, mysql, etc, you test it with http://localhost and all you get is this “It Works!” crap.  You can actually create an index.php page that looks like:

<?php
  phpinfo();
?>

and you can actually type in http://localhost/index.php and get your phpinfo page coming out.  But it seems nowhere in the docs can you find out how to get apache2 to recognize index.php as the first page to deliver.

So, I found out where, finally.  In your WAMP environment there’s only the http.conf file, you look for the DirectoryIndex, and move index.php or insert “index.php” to the front of the line.  In this ubuntu 9.10 LAMP setup, where the hell is the file?

/etc/apache2/mods-available/dir.conf

That’s where it is.  open the file, it looks like this after your normal lamp setup in this environment

<ifmodule mod_dir.c>
 DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</ifmodule>

Notice the “index.php” somewhere in the DirectoryIndex list … move that to the front of the list as in

<ifmodule mod_dir.c>
 DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</ifmodule>
  • Facebook
  • Share/Bookmark
Tagged with:
Nov 28

ConfiguringNetBeansProjectForWordPress
Since I am working on wordpress plugins and themes, using a NetBeans environment on Ubuntu 9.10 … I just thought I’d pass along that link.  You can use this setup to debug your wordpress project without affecting your actual wordpress blog on your website – of course, we’re assuming you have your own server with your own ip address … whether remote hosted or on a server in your own home.

WordPress Plugin Development: Beginner’s Guide

I also purchased this eBook, for €19.99

Now remember, you want to be developing on localhost if you can.  You can always upload your “finished” plugin to your site wherever it is.  I have a windows box for www.hagelnx.com, I have a linux box for developing my plugins.  Do NOT waste your time trying to develop on windows if you can help it.  The apache2-php-mysql .. LAMP setup for ubuntu, just as an example, works really well with apt-get installing all the modules you need.  All the config files are updated without your having to edit them, both php ini files and apache2 ini files.

  • Facebook
  • Share/Bookmark
Tagged with:
Nov 27

I’m attempting to upload a photo from my iPhone in this post. This photo was taken in Nesebar during a visit there the previous weekend. Did it work?

  • Facebook
  • Share/Bookmark
Tagged with:
preload preload preload