Pages

Showing posts with label Software. Show all posts
Showing posts with label Software. Show all posts

Monday, February 20, 2012

Vundle to manage my VIM plugins.

To avoid getting too dependent on a VIM plugin that might not be available on the different machines I access, I've avoided having too many of them.  I mainly look for plugins that will make writing code faster since I do most of my development on just 2-3 machines.  Recently, a project required me to get back into Java programming.  Java projects are one of those that really seems to benefit from using some form of IDE especially for navigating through the code, but after trying Eclipse (which is pretty nice) I still felt that writing code is faster in VIM for me.

That lead me to Eclim which is an Eclipse and VIM plugin combo that allowed VIM to access Eclipse's functionality.  This is pretty cool as it allowed me to do most of my work in VIM and switch to Eclipse when I needed to.  While this solution works, I started getting the itch to see how VIM can handle some of the tasks I was depending on Eclipse for so I started looking at various VIM plugins which led me to research how to manage plug-ins in general.

Initially all the info I found talked about Pathogen which allowed each plug-in to be stored in its own directory and address the big problem of having all of your plugins clumped together in the .vim directories.  However, you still had to manually download and install each plugin.  Most users of Pathogen went the path of using Git to manage the plugins pulling each plugin from Git as a submodule.  I was about to give Pathogen a try when I came across Vundle.  Vundle take Pathogen and take it one step further by integrating the downloading and installation of your plugins.

Essentially, you install the Vundle plugin and then in your .vimrc list the plugins you want to use.  Start up VIM and do a ":BundleInstall" and it will download the plugins to their own directory and install/upgrade each one.  It's all very clean.

set nocompatiblefiletype offset rtp+=~/.vim/bundle/vundlecall vundle#rc()
Bundle 'gmarik/vundle'
Bundle "bufexplorer.zip"Bundle "snipMate"Bundle "SuperTab-continued."Bundle "taglist.vim"
Bundle "bufkill.vim"Bundle "Command-T"
 Having this at the top of your .vimrc and you can immediately see what kind plugins to use (remove one and Vundle will uninstall it for you as well).  If you share your .vimrc across multiple machine (i.e. through github) you don't have worry about keeping copies or download the plugins yourself since vundle handles all of that.

Saturday, February 18, 2012

Uninstalling MySQL on OSX

If you use the package installer to install MySQL (as opposed to building from source, from macports, etc.) then do the following when you want to remove MySQL:

sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql*
rm -rf ~/Library/PreferencePanes/My*

Remove the line "MYSQLCOM=-YES-" from /etc/hostconfig
Remove entries in /Library/Receipts/InstallHistory.plist

Saturday, April 2, 2011

How To Migrate from WordPress to Blogger

The actual migration from WordPress to Blogger was very easy.  The hard part was actually finding the information on how to do it.  With a medium to large WordPress blog, a little bit of technical knowledge on running command line scripts is needed, but here are the basic steps:

First, from your WordPress admin dashboard go to Tools > Export to generate a copy of your existing blog in XML format.  By default, WordPress exports everything including all the spam comments so I suggest you delete all the spam comments first (goto Comments > SPAM and delete them) and then do the export.  Some of the spam comments had bad data in them that could cause problems when you try to do the conversion to Blogger's format.  This was what caused me the biggest headache.

Once you have your export file, head over to http://wordpress2blogger.appspot.com/.  This is an open source project that will convert your WordPress export file to Blogger's import file.  Note that if your export file is greater then 1MB (most likely), you will need to download the script used by the site and manually do the conversion yourself (see below).

In your Blogger dashboard, simply import the the converted file and you're all set!

Manually Converting to Blogger Format

To manually do the conversion, you need to have Python which is commonly available on Linux and OSX, but doesn't come default on Windows.  Once you have Python, you need to get  the Google gdata client.  Go to the directory where you have the client and run:

sudo python setup.py install

You now have everything ready to do the conversion!  Download the conversion script from http://code.google.com/p/google-blog-converters-appengine and from where you uncompress the file do:

bin/blogger2wordpress.sh <you file here> > blogger_import_file.xml

Go to your Blogger dashboard and import "blogger_import_file.xml". 

Thursday, December 16, 2010

The cost of software development.

I think running application over the web/cloud/internet is super useful especially now that we typical carry multiple devices and use multiple computers. Syncing data across these different physical devices can be real pain so having a centralized service somewhere where there are paid professionals handling the IT work behind-the-scenes is wonderful thing for consumers.

However, there is a cost to building web applications is sometime overlooked even by the companies that built them. The Web has often been touted as making software cheaper (no more packaging, update/patch disks and store shelf space to pay for!) and easier to build (HTML is simple!), but as any modern web application developer can tell you things are never that easy. Maybe during the first few years of the web where everything was basically static HTML and images it was true, but now the cost of software development for web applications goes way beyond what it used to cost to build shrink-wrap software.

This cost is maintenance. Shrink-wrapped software is run and managed by the consumer that buys it. Even if at some point the software is not supported, the user can still run it themselves. Online web application is not the same. There is never an end to an online application unless the plug is pulled and it stops completely. Engineers can't deploy version 1.0 and then move on to the next version because once it is available developers often become the system admins keeping the software alive. Companies often forget this and as soon as a version is done they jump on to the next "big idea", but the engineers aren't done with that version. Their work only increases following the launch.

Does this mean that cloud computing should be avoided? Absolutely not. Consumers needs to be a little smarter in what they chose to use. With cloud computing, it is the data that is more important to keep alive and not those WordPerfect install disks. So find companies and products that makes it clear what their data export policies are. Do they support data libration or are they a closed garden?

Friday, January 15, 2010

Chrome OSX with Bookmark Manager

The latest dev channel build of Google Chrome now have a basic bookmark manager and cookie manager.

With a bookmark manager, even though it is very basic, Chrome for OS X has the basic set of features that I feel makes up a browser and might can make Chrome my default browser on OS X soon.

Friday, January 1, 2010

2009 OS of the Year... LINUX!

Looking back on my computer usage this past year, I realized that I've stopped using Windows. For the first time, I don't even have a Windows computer at work. Having mostly used DOS/Windows (usually along side a linux server) for so long I didn't expect that my usage to stop so quickly, but before I knew it I was doing everything I needed to do on another OS. One of the key changes that I made that contributed to being able to stop using Windows is that I stopped PC gaming. However, I would have expected that OSX would have been the primary OS following Windows (especially since I replaced my main Windows machines with a MBP), but the work horse OS that I used the most turned out to be Linux. Where consumer apps on Linux used to lag behind Windows and OSX, developers are now building them for Linux including media players (VLC) and programs like Picasa and Handbrake with the arcane interfaces that are often associated with the Unix world. I believe having these types of user accessible applications will drive Linux more then just having windows/osx-like window managers.

Tuesday, December 22, 2009

Upgraded to Thunderbird 3

With most of the attention on the Google Chrome browser release for OSX and Linux, the release of Thunderbird 3 got overshadowed. While some feel that stand-alone email readers are becoming obsolete, I still believe that a dedicate email client is very useful especially for power users. That said, the convenience and advancements of browser-based email such as GMail have come such a long way that we're not far from the time (if we're not already there) when email clients compliments the web version rather then the other way around.

Upgrading from TB2 to TB3 was painless. Just install the application and it handled all the upgrades. It asks whether you want to switch to using some of the new interface features or stick with the previous ones and then it will start to create the search index for all your email. Search was definitely one of the weaknesses of previous TBs especially when you compare it to Gmail's search, but that seems to be one of the areas that TB3 really tries to improve on in this release. I think TB3 also took the right steps in keeping itself relevant by integrating better with web-based mail system. The one shortcoming is that it still doesn't integrate directly with online contacts that you might have with Yahoo or Google. TB3's interface is also a little more Firefox-like. Desktop clients have some advantages of running on the OS so I still feel that they should continue to use that advantage. It isn't a radical change, though, so it might be that good balance between the bringing users some familiarity with browsers while still exposing email features.

I need to play with it more but so far I tip my hat to the team for this nice release.

Sunday, November 29, 2009

GNU Screen and Bash

As pretty as GUIs are, sometimes it is most efficient to work in a text console which is why I find myself using GNU Screen. However, Screen's command starts with CTRL-A which is also Bash's move to start of line command. To have it work, use 'ctrl-a a'.

Also, screen sets the value of TERM to be screen so if you have any settings based on the TERM value, update it appropriately.

One thing about using screen is that you lose your terminal's scroll buffer so as line scroll past your view you can't just use the scrollbar to move up to see what you missed. Instead, screen has it's own scroll buffer that you can use. You can set the buffer size using 'defscrollback #' (where # is the number of lines) in your .screenrc or in the screen command line (ctrl-a). You can switch to the buffer with 'ctrl-a [' (and exit buffer mode with ESC). Navigation follows normal VI keys.

Finally, I noticed that hitting the delete key didn't send backspace as expected with using the OSX terminal. To correct that, add the following to your .screenrc:


termcapinfo xterm-color kD=\E[3~


This tip came from here.

Thursday, November 26, 2009

Trying to switch to VIM.

I've always been an EMACS user on UNIX and it sometimes seems like it can do EVERYTHING. The one problem with EMACS is that a lot of production systems (and even many non-prod) won't install it which means that when I'd have to use vi/vim and I'm just not as fluent with it. Especially since when I'm on those systems means that I'm trying to do fast debugging and navigation, being slowed down by my lack of experience with the editor is really frustrating.

I've decided to try to switch to VI/VIM to be the primary editor for awhile to force me to learn. There is no need to tell me that EMACS kicks butt (I agree), but unless you can get emacs installed everywhere, this is really more a decision based on my current situation.

Tuesday, June 9, 2009

Google Apps for Business

I've been using Google Apps for Domains (don't confuse it with just apps I.e. Docs) and it is excellent. It is a great solution for small businesses or start-ups especially those with limited IT budgets.

Recently Google added support with Blackberry and with today's announcement that they are adding Outlook sync, the barriers to business adoption continue to fall.

Tuesday, December 23, 2008

Syncing Lightning with Google Calendar

http://www.google.com/support/calendar/bin/answer.py?answer=99358#sunbird

Thunderbird Lightning 64bit

Looking in the contrib directory on mozilla will often show pre-built binaries for different OSs that isn't listed on the web site.

http://releases.mozilla.org/pub/mozilla.org/calendar/lightning/releases/0.9/contrib/linux-x86_64/

Syncing Lightning with Yahoo calendar

http://help.yahoo.com/l/us/yahoo/calendar/yahoocalendar/sync/sync-05.html

Friday, November 28, 2008

OSX still less mature then BSD, Linux, Windows

There's something to be said about Windows being the most used OS on the planet even if it is not the best OS out there. While Unix and it's variants (BSD, Linux, etc.) are the most developer friendly OS, the sheer number of users for Windows mean that there are a lot of developer that write applications for it. This include programmer's editors which is a class of software that I've always been interested in.

When I started to use OSX, one of the first things I looked for is a good editor. On Windows, the sheer number of choices (and there are many good ones) can be overwhelming. The competition on the Windows world is fierce which has helped to weed out the weak. What I found on OSX was that the most mature editors were the result of Apple using the BSD kernel and thus able run Unix editors such as EMACS or VIM and when it came to advanced IDEs, they were ports from other platforms such as Eclipse.

There are some native-OSX editors such as TextMate (commercial), Smultron (open source) and BBEdit/TextWranger (commercial), but while its users tout how advance they are, they are still behind what is available to Windows programmers. Features such as pretty printing, snipplets, split-screen views of files, etc. are either non-existence or just starting to get introduced to the Mac world even though they've been there since the days of DOS. It can be argued that those feature aren't needed and I'll admit that a lot of features I only use once-in-a-while. However, the decades of work that has been put into them has allowed them to be part of editors without being intrusive and when I need them they are there.

As a Windows/DOS and Linux user, I've been spoiled by these features and it surprises me that Mac developers not only do not have these, but that they don't even know they exist.

For those interested:

DOS


Windows

Editors:



IDE:


Unix


    Emacs
    VIM
    Eclipse (IDE)


OSX

I'm not sure yet... I'm going to give Smultron a try and I've been using TextMate on-and-off at work.

Eclipse IDE

Disable Font Smoothing in Firefox on OSX

On OSX, I disabled font-smoothing and switched to using the Tahoma font using TinkerTool because they look clearer to my eyes. In order for Firefox to follow the system setting, you have to set gfx.color_management.enabled to 'true' in about:config.

I think this setting is for Firefox's advance color management feature which means it will effect Firefox's performance a little bit when enabled.

Saturday, November 15, 2008

Macports + apache2

My install of Macports didn't update the path to the new /opt/... directories so I had to add that myself. I then tried to install apache2 but that failed on compiling until I installed macports' gmake and then did a 'sudo port clean sqlite3'.

This allowed me to complete getting apache2 installed on the MBP.

First experience with the MBP (late 2008)

This weekend I had a chance to sit down and do a little more with the new MBP. This is the late-2008 model with the unibody design. I got the 2.5GHz version, 4GB memory and 320GB 7200RPM HDD to replace my current 3GHz Pentium 4 desktop.

There were two things about the new MBP that I was worried about. First, the keyboard didn't feel as good as the previous MBP keyboard. However, since I don't plan on using the built-in keyboard most of the time (I use an external IBM Model-M keyboard) this isn't as big of a deal. When I do need to move around with the notebook, I can live with the keyboard.

The other concern was the glossy screen. I already had a glossy screen Vaio so I used that to see how would it bother me if I used a glossy screen all the time. After a few days, I didn't find myself too bothered by the reflectiveness of the Vaio, so I decided to go with the new MBP. Now, I'll just have to say that this screen is even more reflective then I expected. In the morning with the sun shining through the window behind me, I can use the screen to shave! Yet, I noticed that it didn't bother me (and my eyes are very sensitve) because choosing a different background will help reduce the problem. Also, I don't find myself working with the sun directly behind me most of the time and the positive of the screen outweighed the reflectiveness. The glossy screen looks very very good. The colors are sharp and vibrant. The whites are more white and black is more black. It's very obvious next to my matte LCD. Ultimately, both matte and glossy have their own pros-and-cons, but the glossy screen has become a non-issue for me.

I had complained about the blurriness with OSX 's handling of anti-alias fonts. On my work MBP, I installed TinkerTool to disable it for most font sizes and installed some Windows fonts to replace the default OSX fonts. I was going to do this also with my MBP, but the problem wasn't there! The fonts looked good on the new MBP. I initially thought maybe Apple did something, but once I move to a dual monitor setup I saw the fuzziness on the external matte LCD. So it seems that the same light diffusing property of a matte screen also is the contributor for making the font look fuzzier to me.

In the end, configuring everything was pretty easy. Most of the time was spent transferring data from the old machine to the new.

Tuesday, November 4, 2008

Installing PostgreSQL on Fedora

http://www.postgresql-install.co.uk/postgresql-8.3/fedora-9/installing-postgresql-8-3-on-fedora-9-linux.html

Saturday, November 1, 2008

VMWare Server 2.0

Having multiple computers used be almost an necessity for programmers especially for those who deal with the internet/web-based development that requires the product work on multiple browsers and operating systems. Putting multiple OSs on a single computer and booting between them only takes you so far. Because of his, I often found myself with 2-4 machines at any given time. However, with the advance in virtual machine software like VMWare, it doesn't make as much sense to have many physical machine especially if some aren't used that often. So this weekend, I decided to start reducing the number of machines I have by converting one of my windows xp boxes into a virtual machine running inside linux.

I went with VMWare Server since it allows me to create a new VM rather then having to use an pre-built image (and MS isn't going to allow XP images to be handed out). Setting it up on my Fedora Linux machine was as simple as installing the RPM package. Once I did, I just had to create a new VM and boot the XP cd. VMware Serve 2.0 now uses a web-based interface rather its own native stand-alone app. I'm not sure how I feel about this, but it worked okay mostly. Sometimes the web interface responds slowly and it doesn't seem to start up on server reboots correctly so I have to manually start it.

Setting up windows xp on in VMWare is like setting it up on any computer: put in the CD, start the VM and go through the normal install flow. Since Windows XP have product activation, configure the VM with the hardware configuration you want first (memory size, audio and hardware settings, etc) and then activate the installation. Since activation only check at the time of installation, you can copy the VM image and install different apps on it without having to re-activate.

Saturday, September 27, 2008

What I've installed on OSX.

IT upgraded my MBP to Leopard so I had to go through the process of reinstalling my apps. It's a lot simpler to do this on OSX/Unix then on Windows since apps pretty much have to install its settings and user configurations in the /Users/ directories because otherwise they will need write permissions.

However, I did have to reinstall my apps which meant looking for them again. I figure I'll just list them here so that in the future it'll save me time.

GeekTools - to display information such as my calendar and notes on the desktop
Firefox 2
Firefox 3
Versioned icons for Firefox
Thunderbird
MacPorts - the joys of UNIX!
Sidenote - unobtrusive notepad
Quicksilver
OpenProj - to be able to read/write to Microsoft Project files.
Adium - multi-protocal IM client
Colloquy - IRC client
VLC - media player
Tinker Tool - exposes hidden settings. I use it to turn off Apple's anti-aliasing and changing the system fonts
Tahoma (font)
Synergy - Allows using one keyboard to control multiple computers.
Eclipse IDE
Xcode
Flip4Mac


Commercial

Parallels/VMWare Fusion
Microsoft Office
Adobe Photoshop
OmniGraffle