contact
----------------------------

Blog <-

Archive for the ‘website’ Category

RSS   RSS feed for this category

bexec v0.6 released: Execute Vim buffers and show output in new buffer.

I've just released version 0.6 of my Vim bexec plugin. 

Bexec is a Vim plugin that allows the user to execute the current buffer if it contains a script with a shebang (#!/path/to/interpreter) on the first line or if the default interpreter for the script's type is known by Bexec. The output of the script will be grabbed and displayed in a separate buffer.

New in this version:

  • Support (fix) for Windows support. (by mohd-akram)

You can get the new version (as a Vimball) from:

bbcloner v1.3 released. BitBucket backup tool.

I've just released bbcloner v1.3. bbcloner creates mirrors of your public and private Bitbucket Git repositories and wikis. It also synchronizes already existing mirrors. Initial mirror setup requires you manually enter your username/password. Subsequent synchronization of mirrors is done using Deployment Keys.

This release features the following changes:

  • Support for updating over https (patch by msboom)

 

my_indexr: Script to drop and recreate MySQL indexes

As can be read in this article, I was in need of a method to quickly drop all indexes (except primary keys) from a MySQL database. After googling around a bit and being astonished that apparently no-one had written such a thing yet, I wrote the script that can be seen in that article.

Unfortunately, that script wasn't very good, so I decided to do a cleaner better implementation of it. The result is my_indexr, which spits out SQL commands to drop and recreate indexes on a database. Other features include:

  • Process only certain tables
  • Process non-primary or both normal and primary indexes
  • Correctly handles:
    • Primary key indexes
    • Compound key / multi-column indexes
    • Index types (BTREE, etc)
    • Prefix lengths
    • Auto_increment columns, which MUST be a key (my_indexr skips indexes with these columns in them)

There may still be some edge-cases that are not properly handled by my_indexr. If you encouter one, please let me know.

You can download my_indexr from its Bitbucket page.

This is what its output looks like:

$ ./indexr.py -u root -p mydb
DROP INDEX `location` ON `idx_tst_innodb_basic`;
DROP INDEX `name_age` ON `idx_tst_innodb_basic`;
DROP INDEX `email` ON `idx_tst_innodb_basic`;
DROP INDEX `PRIMARY` ON `idx_tst_innodb_compkey`;
CREATE  INDEX `location` USING BTREE ON `idx_tst_innodb_basic` (`location_id`);
CREATE  INDEX `name_age` USING BTREE ON `idx_tst_innodb_basic` (`name`(40),`age`);
CREATE UNIQUE INDEX `email` USING BTREE ON `idx_tst_innodb_basic` (`email`);
ALTER TABLE `idx_tst_innodb_compkey` ADD PRIMARY KEY (`last_name`,`first_name`);

bbcloner: create mirrors of your public and private Bitbucket Git repositories

 

bbclonerI wrote a small tool that assists in creating mirrors of your public and private Bitbucket Git repositories and wikis. It also synchronizes already existing mirrors. Initial mirror setup requires that you manually enter your username/password. Subsequent synchronization of mirrors is done using Deployment Keys.

You can download a tar.gz, a Debian/Ubuntu package or clone it from the Bitbucket page.

Features

  • Clone / mirror / backup public and private repositories and wikis.
  • No need to store your username and password to update clones.
  • Exclude repositories.
  • No need to run an SSH agent. Uses passwordless private Deployment Keys. (thus without write access to your repositories)

Usage

Here's how it works in short. Generate a passwordless SSH key:

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key: /home/fboender/.ssh/bbcloner_rsa<ENTER>
Enter passphrase (empty for no passphrase):<ENTER>
Enter same passphrase again: <ENTER>

You should add the generated public key to your repositories as a Deployment Key. The first time you use bbcloner, or whenever you've added new public or private repositories, you have to specify your username/password. BBcloner will retrieve a list of your repositories and create mirrors for any new repositories not yet mirrored:

$ bbcloner -n -u fboender /home/fboender/gitclones/
Password: 
Cloning new repositories
Cloning project_a
Cloning project_a wiki
Cloning project_b

Now you can update the mirrors without using a username/password:

$ bbcloner /home/fboender/gitclones/
Updating existing mirrors
Updating /home/fboender/gitclones/project_a.git
Updating /home/fboender/gitclones/project_a-wiki.git
Updating /home/fboender/gitclones/project_b.git

You can run the above from a cronjob. Specify the -s argument to prevent bbcloner from showing normal output.

The mirrors are full remote git repositories, which means you can clone them:

$ git clone /home/fboender/gitclones/project_a.git/
Cloning into project_a...
done.

Don't push changes to it, or the mirror won't be able to sync. Instead, point the remote origin to your Bitbucket repository:

$ git remote rm origin
$ git remote add origin git@bitbucket.org:fboender/project_a.git
$ git push
remote: bb/acl: fboender is allowed. accepted payload.

Get it

Here are ways of getting bbcloner:

More information

Fore more information, please see the Bitbucket repository.

Edgeworld Strategy guide v0.8

I've updated the EdgeWorld Strategy Guide to v0.8. Changes:

  • Updated Lvl 50 Helio vulnerability.
  • Removed lvl 250 Helio vulnerability.

Thanks to madstork91 for reporting Faction vulnerability changes. Get the HTML version, or other versions (PDF, ePub, etc).

MCPlayerEdit v0.21 released

I've released a new version of my Minecraft Player/World Editor MCPlayerEdit v0.21. This release brings MCPlayerEdit up to date with Minecraft v1.0, The following features and modifications have been added:

  • Lily Pad
  • Nether Brick, Nether Brick Fence, Nether Brick Stairs, Nether Wart [block]
  • Enchantment Table, Brewing Stand [block], Cauldron [block], Brewing Stand, Cauldron
  • End Portal, End Portal Frame, End Stone, Dragon Egg
  • Blaze Rod, Blaze Powder
  • Ghast Tear, Nether Wart
  • Gold Nugget
  • Potion, Glass Bottle, Spider Eye, Fermented Spider Eye
  • Magma Cream
  • Eye of Ender, Spawner Egg
  • Glistering Melon
  • Music Discs

Thanks to Pedro Lopes for the patch!

Edgeworld Strategy guide v0.7

I've updated the EdgeWorld Strategy Guide to v0.7. Changes:

  • Added vulnerability of the level 1000 Maar Confederacy Base (thanks to Cam Arnold for reporting it).

Get the HTML version, or other versions (PDF, ePub, etc).

Edgeworld Strategy guide v0.5

I've updated the EdgeWorld Strategy Guide to v0.5. Changes:

  • Added vulnerability of lvl 50 Helio base
  • Added vulnerability of lvl 250 Helio base
  • Updated Appendix II (upgrade costs)
  • Fixed battle duration before automatic retreat
  • Fixed some FIXMEs
  • Added some info about leveling up.

You can find the new version on my Writings page

MCPlayerEdit v0.20 released

I've released a new version of my Minecraft Player/World Editor MCPlayerEdit v0.20. This release brings MCPlayerEdit up to date for the upcoming Minecraft Beta v1.8, The following features and modifications have been added:

  • Change player food (including god-mode)..
  • Switch between Creative and Survival.
  • Added Pine leaves, Birch leaves
  • Added (Double) Brick Slab, (Double) Stone Brick Slab, Stone With Silverfish, Stonebrick, Mossy Stonebrick (buggy), Cracked Stonebrick (buggy), Brick Stairs, Stone Brick Stairs
  • Added Huge Brown Mushroom (buggy), Huge Red Mushroom (buggy)
  • Added Iron Bars, Glass Pane, Vines, Fence Gate
  • Added Melon, Pumpkin Stem, Melon Stem, Melon Slice, Pumpkin Seeds, Melon Seeds, Raw Beef, Steak, Raw Chicken, Cooked Chicken, Rotten Flesh
  • Added Ender Pearl

You can get the new version Here.

gCountDown v1.0: Systray countdown timer for Linux

I've released v1.0 of the gCountDown program.

gCountDown is a very simple alarm countdown timer. It sits in your system tray where you can click it to set an alarm. Once the time runs out, you will be alerted.

This release adds the ability to play a sound when an alarm goes off pops up a menu on right-clicking the icon so you can quit the application and has some minor bugfixes. A Debian/Ubuntu package is now also available.