Chris Jean

Linux, WordPress, programming, anime, and other stuff
  • Home
  • Linux
  • Development
  • Random Ramblings

Fixed the Contact Form… Again

September 17th, 2009

I just found out that yet again, my contact form failed. I’m using the cforms II plugin, and it seems to fail all too often. I wonder if I should either 1) code up my own solution or 2) use something else.

I think my primary problem is that they release patches all the time and the patches are not easy to install since they are not on the WordPress.org Plugin Repository.

Here’s a hint to the guys at delicious:days: add your code to the plugin repository so that it is as easy to update as most of the other plugins. It’s already a open-source, GPL plugin. I don’t understand why it hasn’t been there for a long time by now.

So, if you sent me a contact message and I haven’t replied to you, I probably never got one. I’m sorry for that.

Categories Uncategorized
Comments (2)

Recursively Updating Git Submodules

September 16th, 2009

I had fun writing about how I work with Git yesterday. I thought I’d continue on that thread.

I have a solid set of code libraries that I’ve written that latch into the WordPress themes we produce at iThemes. Each time code is duplicated across different repositories, I break that code out and make it into a separate repository. I then link it back into the project as a submodule. This makes it extremely-easy to keep duplicated code across numerous repositories updated with little or no fuss.

After cloning a repository, simply run git submodule init followed by git submodule update in order to initialize all the submodules and update their container folder with the content of the submodule’s repository. For a long time, this is exactly what I did when I would clone a theme repository to start working on it. However, this quickly wasn’t enough.

The problem happened as soon as I added a submodule to a repository that was also a submodule of other repositories. Doing the submodule init and update process wouldn’t do everything I needed in this case as there would be submodules in some subfolder that haven’t been set up.

I didn’t want to get into a habit of always switching to other directories and doing the submodule processes there as well since I 1) knew that I would forget all-too-often, thus wasting my time, and 2) knew that this would not be the last time that a submodule had submodules. Heck, there is even the possibility that I’ll have a submodule that has a submodule that has a submodule. It was immediately clear that I needed a script to do all this dirty work for me. The rest of this post will be about the script I created.

Read More→

Categories Development, Linux, Tips 'n Tricks
Comments (14)

Updating Multiple Git Repositories Easily Using Bash for Loop

September 15th, 2009

All of the WordPress themes that I work on for iThemes are managed as Git repositories. Recently, we moved past the 100 repositories mark. That’s a lot of repositories to manage, and unfortunately, too many of those repositories contain duplicated information.

Later on, I might delve into how we use Git to manage our theme repos. For today, however, I’d like to focus on how I quickly and easily pushed up changes to more than a dozen repos in a single, albeit long, Bash command.

I had finished making updates to 16 Flexx repos, and I needed to push all of those changes up. Since I had multiple working repos in that folder, I was lucky that each of these repos began with the text “Flexx”. Also, since they are all part of the same series and need to keep the same version number, that simplified the tagging as all could be tagged as 2.5.0.

Given this information, I simply ran the following command from the directory that contained all the repository directories:

for i in `ls|grep Flexx`; do echo “— Pushing $i”; cd $i; git commit -am ’2.5.0′ && git push && git tag 2.5.0 && git push –tags; cd ..; echo “— Finished $i”; done

There’s a lot going on here, so I’ll break it up and explain what I’m doing.

Read More→

Categories Development, Linux, Tips 'n Tricks
Comments (0)

Fix “The URL is not valid and cannot be loaded” in Firefox on Ubuntu

September 9th, 2009

In Linux, clicking the middle mouse button (or mouse wheel) pastes the most recently highlighted text from any application. This is useful; however, it has an extremely-annoying side-effect in Firefox. Whenever I middle-click outside of entry fields, I get an annoying pop-up that says: “The URL is not valid and cannot be loaded.” This frustrates me to no end. It usually happens when I accidentally nudge my mouse and miss middle-clicking a link in order to open it in a new tab.

So, why is it doing this? Turns out that, by default, Firefox for Linux allows you to use this middle-click to paste functionality to allow you to navigate to a highlighted URL simply by middle-clicking non-editable portions of the page. When an invalid URL is the result of the paste, the annoying popup appears.

Today, I found out how to get rid of this annoyance.

Open a new tab in Firefox and navigate to “about:config”. This will take you to an interface that allows you to tweak and configure very specific functionality of Firefox.

In the “Filter:” text box, enter “middlemouse.contentLoadURL”. This should present a single entry that lists the option as having a value of “true”. Simply double-click the listing to change the value to “false”. The effect is instantaneous.

Now when you middle-click outside of editable areas in Firefox, it will no longer try to navigate to a URL. This change only modifies the navigation to URL functionality; the middle-click to paste in editable areas still functions.

If you like the middle-click to scroll functionality found in other browsers/operating systems, then search for “general.autoScroll” and double-click the listing to change it to true. Now you can middle-click to initiate scrolling.

Categories Linux, Tips 'n Tricks
Comments (26)

Upgrade to Firefox 3.5 on Ubuntu 9.04 – Jaunty Jackalope

July 1st, 2009
Updated for Firefox release 3.5.5

Firefox 3.5 was released yesterday. This is an exciting new release complete with features such as support for HTML 5, video and audio that works in the browser without the need for plugins, a much faster Javascript engine, a native JSON parser, private browsing mode, support for SVG transformations, and other great enhancements.

I’m sure that you’re just as excited to get started with Firefox 3.5 as I was yesterday when I heard the news. But wait! We’re on Ubuntu, we can’t just install whatever we want, we need to wait for a package. Right? Wrong.

Here’s a really quick way to get 3.5.5 running on your Ubuntu 9.04 system.

Read More→

Categories Linux
Comments (67)

iThemes Goes GPL

June 11th, 2009

Hello again my faithful readers. Again, I am terribly sorry for the lack of posts recently. I’ve been extremely busy at work with some huge projects.

I work for iThemes doing back-end development for themes and “special projects”. Previously, I never wanted to talk about it much on my blog because we weren’t GPL, and that can cause a lot of commotion. I don’t have to worry about that anymore. As of today, iThemes is GPL.

This is a very exciting move for us. We’ve talked about it internally for a long time. I’m glad that we’ve finally made the change.

If you’d like to know more about the change, please check out the official announcement.

Categories WordPress
Comments (2)

Change Default Application When Opening Files in Ubuntu

April 21st, 2009

Now that I know how to do this, it seems so easy and straight-forward. To change the default application files of a specific type are opened with, do the following:

  1. Right-click a file that you wish to change the default application for and select Properties.
  2. Click the “Open With” tab.
  3. Select the desired application’s radio button.
    • Additional applications can be added if the one you want is not listed. Use the Add button to find the desired application.
    • You can also remove applications from the list by highlighting the application and clicking the Remove button.
    • Adding applications to or removing applications from this list changes which applications are available in the “Open With” option when you right-click a file.
  4. Click the Close button.

Again, it seems so easy and straight-forward now. Go figure. :)

Categories Linux, Tips 'n Tricks, Videos, WordPress
Comments (1)

Git Submodules: Adding, Using, Removing, Updating

April 20th, 2009

I’ve spent a little more than a month working with Git now. I can honestly say that while there are many things that I like about Git, there are just as many things that I personally find to be a pain in the butt.

Submodules specifically have managed to be a thorn in my side on many occasions. While the concept of submodules is simple, figuring out how to actually work with them can be a chore. I say “figuring out” because not everything about working with submodules is well documented. I’ll cover two of the more difficult things to figure out: removing and updating submodules from your repository.

Read More→

Categories Development, Tips 'n Tricks
Comments (44)

MySQL Natural Sort Order By on Non-Numeric Field Type

April 19th, 2009

I recently worked on a project where I had to sort a set of rows returned from a MySQL query. The problem is that most of the data in the field being sorted is numeric yet the field type is varchar since some of the entries contained characters.

The reason that this is a problem is that MySQL sorts character fields using a method that will produce undesirable results with numeric data. For example, sorting 4, 10, and 50 as character data produces 10, 4, and 50. In most applications, this is highly undesirable.

The solution to this is to force a sorting order that is commonly referred to as a natural sort. Natural sort is just a term that refers to how humans would commonly sort a set of information (numbers as numbers and non-numeric characters alphabetically). Fortunately, this isn’t difficult to achieve in MySQL.

Read More→

Categories Development, Tips 'n Tricks
Comments (4)

Gaarai is Back and the Jackalope is Jaunty

April 18th, 2009

It’s been a month since my last post. For all my regular readers, I’m very sorry for the absense.

There’s a lot of intersting stuff going on right now. Fortunately, with so much going on, I shouldn’t have a lack of topics to talk about.

To get the old post ball rolling again, how could I not start back up with Ubuntu 9.04?

Read More→

Categories Linux, Random Ramblings
Comments (0)
« Previous Page
Next Page »
Chris Jean
Copyright © 2012 All Rights Reserved
iThemes Builder by iThemes
Powered by WordPress