Archive for the ‘firefox’ Category

Bzr and launchpad tricks: firefox plugin

Ноябрь 7th, 2011

If you work with bazaar, you have seen its URIs. You can find the complete list is in the bzr help urlspec. Although I commonly use only a subset of that, like bzr+ssh://bazaar.launchpad.net/~maria-captains/maria/5.2-serg/ and http://bazaar.launchpad.net/%2Bbranch/mysql-server/5.5/.

In addition I often use Launchpad aliases, such as lp:~maria-captains/maria/5.3-serg/, lp:maria/5.3, and lp:869001.

And finally, there are common abbreviations that we have used in MySQL, and others that we use in MariaDB, for example bug#12345 and wl#90.

What’s annoying, I need to remember that wl#90 corresponds to http://askmonty.org/worklog/?tid=90 and type the latter in the location bar of the browser, when I want to look this task up. And lp:869001 is, for my browser, https://bugs.launchpad.net/bugs/869001. Similarly, every other URL above, has its browser-friendly evil twin. It’s evil, because I have to remember it!

Now, Firefox tries to help, to a certain extent. It supports so-called keywords — short aliases for bookmarks. Create a bookmark for https://bugs.launchpad.net/bugs/%s and in the Keyword field enter lp. Now you can type in the location bar lp 869001 (with a space) and Firefox will expand it into a complete url https://bugs.launchpad.net/bugs/869001. Quite handy. And I’ve used it for a few years. Still it annoyed me, that I had to rewrite the abbreviations manually, put spaces, remove colons, and so on. And at last it annoyed me to a degree where I wrote a Firefox plugin!

Let me introduce a LocationMorph — a plugin that can arbitrarily rewrite the text in the location bar, according to the user specified regular expression. I have configured it (via a Preference dialog) to use the following set of rules

^bzr\+ssh://bazaar.launchpad.net/ http://code.launchpad.net/
^lp:(\d+)$ https://bugs.launchpad.net/bugs/$1
^lp: http://code.launchpad.net/
^wl#(\d+)$ http://askmonty.org/worklog/?tid=$1
^bug#(\d+)$ http://bugs.mysql.com/bug.php?id=$1

And now I can simply copy and paste a bzr URI, or a launchpad alias, or our internal abbreviation from the email (or bzr info) directly into the browser, and it understands it directly and shows me the page that I want. Ahh, perfection…


PlanetMySQL Voting: Vote UP / Vote DOWN

Back to blogging….

Август 11th, 2010
It has been a while since I posted on my blog - in fact, I believe this is the first time ever that more than one month passed between posts since I started blogging. There are a couple of reasons for the lag:

  • Matt Casters, Jos van Dongen and me have spent a lot of time finalizing our forthcoming book, Pentaho Kettle Solutions (Wiley, ISBN: 978-0-470-63517-9). The book is currently being produced, and should be available according to schedule in early September 2010. If you're interested, you might like to read one of my earlier posts that explains the organization and outline of the book.

    (I should point out that we have reorganized the outline as the project progressed, so the final result will not have all the chapters mentioned in that post. We do however cover most of the topics mentioned.)

  • I have been checking out Quipu, a promising Open Source data warehouse management solution. Quipu provides a repository-based extensible code-generator that allows you to generate and maintain a data warehouse based on the Data Vault model. One of the things I want to do in the short term is write templates that allows it to work for MySQL, and after that, I want to see if I can get Quipu to generate Kettle Jobs and transformations.

  • I have been working on a couple of software projects. Two of them are currently available as open source on google code:

    mql-to-sql
    This allows you to use the Metaweb Query Language (MQL) to query a RDBMS. If you're wondering what this is all about: MQL is the query language used by Freebase (which is a collaborative "database-of-everything" or "wikipedia-gone-database").

    While Freebase is interesting in its own right, I am particularly enthused about the MQL query language. I feel that MQL is an exceptionally good solution for flexible, expressive and secure data access for modern (AJAX) Web applications. Even though MQL was not developed with relational database systems in mind, I think it is a pretty good fit.

    Anyway, this is very much a work in progress, and I appreciate your feedback on it. If you're interested, you can read a bit more about my take on RDBMS data access for web applications and MQL on the mql-to-sql project home page. I have also put up an online demo that allows you to query the sakila MySQL sample database using MQL.

    kettle-cookbook
    This is a project that provides auto-documentation for Kettle (a.k.a. Pentaho Data Integration).

    The project consists of a bunch of Kettle Jobs and transformations (as well as some XSLT stylesheets) that extract data from Kettle Jobs and transformation and transform it into a collection of human-readable HTML documents along with a table of contents. The resulting documentation looks and feels a bit like JavaDoc documentation.

    If all goes well, I will be presenting kettle-cookbook in a Pentaho web seminar, which is currently scheduled for September 15, 2010


  • I've been enjoying 4 weeks of vacation (I started working this week). There's not much to tell about that, other than that it was great spending a lot of time with my family. I plan to do this more often, and now that Kettle Solutions is finished I should be able to find more time to do it.

  • I've been looking at two emerging HTML5 APIs for client-side structured storage, the Web SQL Database API and the Indexed DB API.

    I have developed a few thoughts about the ongoing debate (see this and article for some background) about which one is better and I see a role for something like MQL here too. I will probably write something about this in the next few weeks

  • Yesterday, I got wind of the JS1k contest! Basically, the challenge is to write an interesting standalone JavaScript demo program that must be no larger than 1024 bytes. It is amazing and inspiring to see what people manage to do with a modern browser in 1k of JavaScript code.

    I decided to try it myself, and you can find my submission here: An interactive SQL query tool for the Web SQL DB API.

    Essentially, you get a textarea where you can enter arbitrary SQLite queries, and button to execute the SQL, and a result area that will print a feedback message and a result table (if applicable). As a bonus, there's a button to get a listing of the available database objects (using a query on sqlite_master) and an explain button to show the query plan of the current SQL statement.

    The demo works on recent versions of Google Chrome, Apple Safari and Opera. It can run offline, and does not require any plugins. I should say that I expect my submission will be rejected by the judges since the demo is not functional on Mozilla Firefox, which is a requirement. (That is, the script will detect that the Web SQL Database API is not supported and print a message to that effect). However, it was still fun to try my hand at it.


Ok - that's it for now. I will try and post more regularly and write about these and other things in the near future. Don't hesitate to leave a comment if you have any questions or suggestions.

PlanetMySQL Voting: Vote UP / Vote DOWN

Open Source Saves Malaysian Government RM188 Million

Июль 5th, 2010

A money clipBack in January 2009, we found out that the Malaysian Government had saved about RM40 million using open source. In a little over a year, that number has been topped: over the past six years, the total costs savings are now quoted to be RM188.39 million (USD$58.54 million)! That’s a hell of a lot of money for software licenses, don’t you think?

Worth noting is that before the OSS Master Plan started, there were zero companies supporting OSS registered with the Ministry of Finance. Now more than half of the 4,000 companies do (53% is the quoted number). For more information, read the latest newsletter from MAMPU’s OSCC. Key takeaways:

  1. Saved RM188.39 million on software licenses over six years
  2. Successful OSS adoption in 691 government agencies by the end of 2009 (till April 1 2010, the number looks like it has increased to 699 agencies).
  3. In total, 95% of agencies are adopting some form of OSS solution, 87% are using it for back-end infrastructure (here its clear there’s Linux, MySQL in use), and 66% are using OSS on the desktop! (via OpenOffice.org and Firefox)*

* – Software use extrapolated from the actual OSS Master plan, and what was in the report in January 2009. I’m sure Joomla! is also used quite heavily, but never recall seeing it as the choice for CMS in the plan.

Related posts:

  1. Open Source saves Malaysian Government RM40 million
  2. Open Source saves Malaysian Government RM40 million
  3. Open Source saves Malaysian Government RM40 million



PlanetMySQL Voting: Vote UP / Vote DOWN

Tool of the Day: Firefox Tab Kit extension

Сентябрь 15th, 2009

We often need many tabs open in a browser, and horizontal tabs become unmanageable. Tab Kit allows you to have them vertically on the left, with various additional configuration choices.

I opted for the tree structure, so when I open a tab from another one it’ll show up as a child to the original. I can “lock” tabs so they cannot be closed by an accidental click or keypress. They get a “read” marker so if you open a few tabs and leave them till later you can still tell which ones you’ve actually already looked at. And there’s colour coding also.

In short, a great help. Just click the Tools/Add-Ons menu in Firefox and find Tab Kit in the extensions. Install, configure, and enjoy!


PlanetMySQL Voting: Vote UP / Vote DOWN