February 07, 2010

Michal Čihař

Big changes in phpMyAdmin future

The main reason for me to go to FOSDEM this year was to meet with other phpMyAdmin developers to be able to discuss some things personally rather than on mailing list or irc.

We had quite a big list of topics to discuss and besides discussed some other things which will be made public at some point later.

The good thing is that both my proposals were accepted, so we're about to migrate to Git, what will make our development less blocked by slow SourceForge.net VCS server (what mostly affected people sitting in Europe). The migration will happen shortly, I expect to provide testing repository during next few weeks and we will switch for real once all developers get used to it.

The other important change is to switch our translation system to Gettext. The primary motivation behind this is to allow translators to use wide range of standard tools available for po files and also to allow web based translation using Pootle server in similar way we currently handle documentation translation. I have already prepared the migration plan to Gettext, but it will not happen before migration to Git as I want to benefit integration of Pootle with Git, what makes translations directly commit to the local repository.

by Michal Čihař at February 07, 2010 09:19 AM

February 04, 2010

Michal Čihař

Travel agenda before FOSDEM

In last few days I spent some time with travel agenda. Tomorrow morning I am leaving for FOSDEM, so I'm arranging last minutes things like online checking. Whoever wants to meet me just drop me an email or just check things I want to visit and find me there.

Meanwhile got open registration for Debconf 10, so when I was in travelling mood, I also filled in that one. Right now it looks like it will be quite tough for me to pay this trip, but there is still some time to sort it out :-).

by Michal Čihař at February 04, 2010 01:40 PM

February 01, 2010

Derek Schaefer

The Motorola Droid

The Motorola Droid

Motorola Droid

I just recently picked up the new Motorola Droid for the Verizon network. I'd been looking forward to its release ever since it was announced a number of months ago. I was so excited because I wasn't able to get in on the G1 action back when that came out, due it being on the T-Mobile network and me having a binding contract with Verizon for nearly another year. I suppose the developer's version would've been a possibility, but it was priced at roughly $500 at the time, so that was pretty much a no-go. But the Droid is on Verizon, which is perfect for me, especially since they have excellent coverage where I live (Chicago), and because I get a discount for upgrading my phone and plan since my contract had expired. The Droid is also far more polished than the G1, which had a rather ugly design, quite honestly.

I've never owned a smart-phone before. Going back a ways, I had a Razr (just like everybody else) and then moved to Verizon and got the LG enV, which was a massive step up from the Razr. The enV has a physical keyboard, a larger inner screen, amongst many other improved features. It is a relatively nice phone, in its own right, but it has it's issues. My chief complaints had to do with its limitations, especially when you consider that Verizon toted the enV as its first "smart phone." The platform was just too closed and restrictive to really be worthy of the smart phone title, in my opinion. The browser was substandard, email and instant messaging were lacking as well. When compared with iPhone at the time, it really paled in comparison. Despite that, it is a nice dumb phone, if you'll please pardon the word play.

LG enV

LG enV

Now going from those experiences to the Droid has been a real eye-opener. I had played with friend's iPhones and G1's, but that was the extent of my smart phone experience.

Time for a quick and dirty review of the Droid.

First off, the screen is very nice. Quite bright and smooth, and it's very accurate as far as touch goes. It also appears to be scratch-resistant, but I would still recommend getting some sort of screen protector to ward off finger print and other smudges.

I've heard that a sizable portion of customers don't like the physical keyboard, mainly due to complaints regarding how difficult it is to differentiate keys by touch alone. Personally, I find the keyboard to be quite easy to use. Of course, I'm much more used to physical keyboards than others might be, coming from the enV, so your mileage may vary. It took me quite a while to become acclimated to the virtual keyboard, but now I use it roughly half the time. The key-proximity typo correction and auto-completion are very useful, which is why I've ended up using it so much after generally not liking virtual keyboards.

The next thing that I noticed was the fluidity and intuitive nature of the interface. Everything was designed and placed in a very logical manner. Things are where you'd expect them to be, essentially. It's sad that I've come to expect the opposite, but that's a story for another day.

The battery last plenty long for my needs. It easily lasts a day under moderately heavy usage. If I really wanted to, I could most likely get away with charging it every two days, possibly more. As it is, though, I plug it in every night and I'm good to go. Even though I've only had it for a month, and this observation may not count for much yet, the battery still holds its charge as well as it did when I first took it out of the box.

Obviously, a major component to the Droid (to every Android-based mobile device, really) is the app market. I must say, every time I've looked for an app to fulfill some purpose or requirement, I've generally found a high-quality solution, most of which have been free. While the Android market "only" has tens of thousands of apps, while the iPhone has something in the range of a hundred thousand, I'm not really sure how much of a factor that is. From what I hear from friend's that own the iPhone, most of the apps are either clones, garbage, or some combination of both.

Some people might be interested to know that Motorola and Verizon are teaming up to release Android v2.1 to the Droid quite soon, which was developed specifically for the Google Nexus One. This means that the Droid will now have all the awesome new features that the Nexus One has!

by Derek Schaefer at February 01, 2010 09:57 PM

January 27, 2010

Michal Čihař

Gammu is being used in vendor software

I always thought Gammu to be workaround for phones whose vendors do not provide software for your favorite operating system. We try to do our best job to work with variety of phones, even though this is hard and never finished job.

However today I was really surprised to find out that some phone vendor built their official application for managing phone on Gammu. The application is of course closed source and available only for Windows, but this does not change anything on the fact they use it. They seem to have modified code slightly, adding some new functions and removing others, separated the code to several DLLs, however I'm 100% sure it is Gammu as they use some unique (read awful) things we have in our code.

I'm not going to disclose their name right now as I want to give them fair amount of time for reaction on my asking for sources. But you will for sure find more information later in my blog.

PS: Gammu is of course not the only free software used inside this application, you can find more there (and you will find there more than I did if you will look longer than few minutes I spent on examining rest of code).

by Michal Čihař at January 27, 2010 12:31 AM

January 22, 2010

Michal Čihař

phpMyAdmin 3.4 will be feature killer

I know this is quite premature as we're just about to release 3.3, however development on 3.4 has already started in SVN and we've already implemented more than 20 requests from our features tracker. This is even bigger number than release 3.3 will have!

Well the fact is that most of these things are cosmetic or tiny improvements, on the other side some of them were requested for very long time (the oldest one currently dates to 2003).

The new features bring things such as direct blob download (thing we definitely should have earlier), links to documentation for SQL commands in highlighted SQL (what was quite easy, but nobody requested such thing and I added the feature after seeing that Adminer does this), possibility to directly bookmark most pages or exporting user privileges. See ChangeLog for more detailed list of features.

You can try all new features on our demo server.

by Michal Čihař at January 22, 2010 07:00 PM

January 21, 2010

Tomáš Srnka

vpsAdmin 1.0 – stable


vpsAdmin is an opensource (GPLv3) web application for managing OpenVZ based servers written in PHP+MySQL+BASH. Finally, we’ve managed to release its first stable version – vpsAdmin 1.0. More information about vpsAdmin can be found in my previous post.

by Tomas Srnka at January 21, 2010 12:32 AM

January 15, 2010

Michal Čihař

New security issues

I just published three new security issues on phpMyAdmin. They are not exactly something what you would call new as you can see from CVE ids and even from phpMyAdmin version which does fix them (none of them existed in 3.x branch and were fixed in 2.9.10 for 2.9 branch).

However they got assigned CVE ids recently what means that we should tell about them to our users even when we don't think these are that important. So don't be frightened of them :-).

by Michal Čihař at January 15, 2010 10:55 AM

January 08, 2010

Derek Schaefer

Starcraft A.I. Competition, hosted by the DePaul Computer Science Society

The Computer Science Society is hosting a local Starcraft AI contest in the same vein as the one held by UCSC.

This competition enables students, professors and faculty to evaluate AI systems in a robust commercial RTS environment. The AI's can be programmed Python or C++. You must first acquire a copy of Starcraft. After that, follow the documentation found at the pybwsal project to get everything up and running. (Pybwsal is sponsored by the DePaul Computer Science Society for this competition.) If you have any trouble or want help, don't hesitate to post to our mailing list or drop by our office in CDM 451. See office hours for more info.

For the moment, the contest will focus on micromanagement of units like what this person did.

Pybwsal will soon reach maturity and will even include a debugger. For right now, we will be making maps with loads of troops already placed on them and create scenarios that people have to play out.

Algorithms that you learn in class or find on the internet can be used in this competition. It's all up to you.

We will kick-off on January 14th in the second floor academic lounge in the CDM building at 4:30pm.

Subscribe to our mailing list for announcements. In depth documentation and sample ai's will be posted by CSS before Jan 14th.

Do not worry if you can't make it. Install and download the software & post to our mailing list that you're interested. We'll put you down as a competitor.

A light starcraft contest will be held on March 4th. Location and time will be announced via our mailing list.

A bigger starcraft contest with pybwsal will be held near the end of spring quarter right before the yearly Computer Science Society bowling event.

by Derek Schaefer at January 08, 2010 07:03 PM

December 08, 2009

Michal Čihař

Prague airport prices

Martin, Prague airport used to be (one of) most expensive airport for food and drinks prices. They recently reduced prices quite a lot, but I still think they fully qualify to be in the group of most expensive airports.

But it has great advantage that every other airport looks cheap for us. This is almost same as prices for taxi, which is also usually cheaper than in Prague :-).

by Michal Čihař at December 08, 2009 10:57 AM

December 04, 2009

Michal Čihař

Going to FOSDEM 2010

Some time ago we decided in phpMyAdmin team to create yet another team meeting (after five years) at FOSDEM 2010. It took some time, but now I should have all travel things arranged (thanks to my employer who sends me there).

So if anybody wants to meet there, just drop me an email and I will try to put you on my schedule.

by Michal Čihař at December 04, 2009 11:49 AM

December 03, 2009

Michal Čihař

Fun with processing patches from users

Once you release something what gets at least a little bit popular, you can expect to receive fixes in various strange forms. Since I started to use Git for Gammu development merging all these crazy things is much more easier.

The problem with these changes in past was that they are generally based on some random old versions (for example random daily snapshot). Now I just find the right place in history where to start (ChangeLog usually gives good hint where to search in the history), create branch and start to apply changes I received.

I worst case (like it happened today) the "changes" is whole tarball with different changes made to different files. Fortunately I recently found great git add -i, which allows me to pick whatever changes I want from the patch. When all this is done, all I need is to merge changes back to master and Git is usually clever enough to handle it.

PS: And yes, I'd really love if people would be able to send me series of patches, but it does not seem to happen in near future.

by Michal Čihař at December 03, 2009 05:00 PM

November 30, 2009

Michal Čihař

Photo uploader 0.8

It took some time since last Photo uploader release, but it's not dead an now comes new release. It mostly just fixes imageshack interaction and moves development to Git on Gitorious.

News in this release:

  • Fixed grabbing URL from imageshack.
  • Fixed defaults to not open browser.
  • Default to imageshack.us service.

by Michal Čihař at November 30, 2009 12:16 PM

November 26, 2009

Michal Čihař

Untitled

It looks like my post about bugs in Ubuntu has received a bit more attention than I expected for few lines of ranting :-). Most interesting reactions came to Lucas Nussbaum's blog.

There were nice explanations how it is supposed to work, but the problem is that people out there can not manage that amount of bugs. It is possible, that for some core packages, they manage to do the job. However most bug reports will probably go to some leaf packages, which are not that important, but lot of people use them.

I started to interest in bugs in Ubuntu when I noticed that there is some huge number of bugs linked on phpMyAdmin's PTS page. There was something like 50 too much bugs. After quick look I could see that most of them are duplicates. After little fight with ajaxy interface, I even managed to mark most of them as duplicates and fix it in Debian package. But as somebody with no knowledge of Ubuntu (and not willing to learn internals of yet another distribution, I think Debian and OpenSUSE is enough), I really have no idea what could be done to push some bug fix to existing release. So once some Ubuntu release (The Lucid Lynx in this case) got new version, I marked the bug as fixed. This is probably not that nice to users, but somebody from Ubuntu community should take care of them.

Off-topic PS: If anybody is interested in Google Wave invitations, just write me an email, I currently have 15 without any use.

by Michal Čihař at November 26, 2009 02:16 PM

Ubuntu bugs for second time

It looks like my post about bugs in Ubuntu has received a bit more attention than I expected for few lines of ranting :-). Most interesting reactions came to Lucas Nussbaum's blog.

There were nice explanations how it is supposed to work, but the problem is that people out there can not manage that amount of bugs. It is possible, that for some core packages, they manage to do the job. However most bug reports will probably go to some leaf packages, which are not that important, but lot of people use them.

I started to interest in bugs in Ubuntu when I noticed that there is some huge number of bugs linked on phpMyAdmin's PTS page. There was something like 50 too much bugs. After quick look I could see that most of them are duplicates. After little fight with ajaxy interface, I even managed to mark most of them as duplicates and fix it in Debian package. But as somebody with no knowledge of Ubuntu (and not willing to learn internals of yet another distribution, I think Debian and OpenSUSE is enough), I really have no idea what could be done to push some bug fix to existing release. So once some Ubuntu release (The Lucid Lynx in this case) got new version, I marked the bug as fixed. This is probably not that nice to users, but somebody from Ubuntu community should take care of them.

Off-topic PS: If anybody is interested in Google Wave invitations, just write me an email, I currently have 15 without any use.

by Michal Čihař at November 26, 2009 02:16 PM

November 25, 2009

Michal Čihař

Ubuntu bugs

For quite a long time I wonder, if there is anybody looking at bugs reported in Ubuntu. Whenever I look at bugs reported in Ubuntu on some of packages I maintain in Debian, there is huge amount of them. Most of them are simple duplicates, but still it indicates that nobody have looked at them. Some are simply something what should be forwarded upstream, while some are clearly packaging bugs, which I usually fix. However I think there should be somebody at Ubuntu side looking at them and forwarding them to right place...

by Michal Čihař at November 25, 2009 08:48 AM

November 24, 2009

Michal Čihař

Updated blog

I finally managed to update my blog to new nanoblogger, which should work a bit faster and is easier to control, so I might get back to throwing random thoughts to world wide web.

While doing that, I modified a little bit templates, what means that I cut out most of dependency on Google - for statistics I use own Piwik instance and the advertisement is currently served by AdBard.

by Michal Čihař at November 24, 2009 04:39 PM

November 03, 2009

Michal Čihař

Enca 1.12

Well it has been released some time ago, but I forgot to announce it here, so here it comes - I have released Enca 1.12. If you don't know Enca, it is an Extremely Naive Charset Analyser. It detects character set and encoding of text files and can also convert them to other encodings using either a built-in converter or external libraries and tools like libiconv, librecode, or cstocs.

The full changes are short:

  • Fixes some minor memory leaks.
  • Fixes little problems in autoconf scripts.

You can download from http://dl.cihar.com/enca/.

by Michal Čihař at November 03, 2009 09:37 AM

October 21, 2009

Derek Schaefer

Linux From Scratch

DePaul's very own Computer Science Society has recently begun working on another nifty project. Customizing and building Linux from scratch!

We are using the Linux From Scratch (LFS) source repository, which conveniently rolls all the necessary source packages into one place. While it is certainly not necessary to use LFS to build Linux from scratch, it's easier than having to hunt down all the required source and determine a build order. The other great thing about LFS is the guide that they have, which walks you through every step in the process. It's really quite interesting. You build the kernel all the up to bash and beyond, with as much or as little customization, or additional packages and features, as you want.

Once we finish developing some custom packages we're going to use the final version of our Linux build to power some embedded devices in our office, such as a greeting machine at our door that makes use of facial recognition to say "hello," etc., to our member as they enter.

Should be quite cool!

by Derek Schaefer at October 21, 2009 02:59 AM

October 19, 2009

Derek Schaefer

Dragon Age: Origins

Dragon Age: Origins Logo

Dragon Age: Origins is Bioware's new "dark, epic fantasy" role-playing game, which is being released on November 3rd.

Bioware is calling it the spiritual successor to the Baldur's Gate series, stating in at least one interview that they could not create Baldur's Gate 3 because Atari now owns the exclusive rights to the Baldur's Gate IP. Personally, I am both saddened and delighted by this predicament.

On one hand, I absolutely love the Baldur's Gate series, with it's memorable characters and plots, and have replayed both installments and their expansions several times. It would have been great to revisit them all in a third release, but with the main plot concluded in the Throne of Bhaal expansion, moving forward may have been a tad awkward, although I'm sure the excellent writers at Bioware could have made it jive.

On the other hand, this also forced Bioware to develop a new IP; a new world, new characters, encounters, and plots, all things that Bioware absolutely excels at. With that in mind, not having Baldur's Gate 3 really doesn't seem so bad. Additionally, Dragon Age was first announced in 2004, and several other sources report that actual development began about 2 years prior to that, meaning the game has been in development for approximately 7 years! To me (and many others), this suggests that the game world will be thoroughly fleshed out and fully realized, which is talked about here on the Dragon Age forums:

Content-wise, DAO is our biggest game since BG2, with roughly 1/3rd of the dialogue count being in the party members and some added re-playability with the origin stories each having a unique opening chapter and effects further down the line (some significant).

- Posted by David Gaider - Lead Writer at Bioware - on the official forums.

Great! Several estimates that I have read clock the average play time in at about 80-some hours, which is really quite impressive, with a "completionist" play-style taking well over 100 hours. No matter how you cut it, its a big game.

To others, this long of a development cycle is a bad thing. The most cited issue of the masses that I've noticed is that of outdated graphics, a view that I in no way share. To me, gameplay almost always trumps graphics. Graphics should be good enough to facilitate the gameplay elements present. If they fail to do that, then it becomes a problem, but by and large, "bad graphics" is not something I generally have an issue with. Although, for obvious reasons, the added benefit of great graphics is a nice bonus. I mean, take a look at these screen shots:

Dragon Age: Origins - Screenshot #1

Picture 1 of 8

Do the graphics really look that bad? I'd even say they look pretty damn good!

Last week, Bioware released a stand-alone character creator for Dragon Age. If you use the character creator and upload at least one character, you get a free in-game item on release; a ring called the the Lucky Stone which adds an impressive +1 to all your stats! They are doing this to bolster the Dragon Age social network before release, much like Spore did with its creature creator.

One interesting change Bioware made with Dragon Age, compared their prior fantasy RPG's, was to drop the DnD rule set in favor of a system of their own creation. At first I was worried this would result in a system less refined and evolved than that of DnD, but going by what I've seen in the character creator (I made my signature Elf mage, first) it seems to be a fairly robust and well-developed system, so I don't think I'll have much of a problem with it. Not to mention, it seems quite similar to the new DnD 4.0 rules in a lot of ways, which is a plus for a DnD player like myself.

There's another issue that's divided the Dragon Age community recently; the fact that there will be a $7 DLC pack, called "The Warden's Keep," released alongside the game on Nov. 3rd. This DLC is similar to the Watcher's Keep add-on to Baldur's Gate 2, in that it will feature a large dungeon for you to explore as well added items, spells, and such. The major complaint is that this content should have been included in the base game because this detracts from its development. Bioware has responded by saying that the DLC is created by a separate team than the core game, so development quality is not being effected on either side. Personally, I don't really have a problem with Dragon Age having a $7 release day DLC, as it appears to be worth the money, and the game itself seems to be both lengthy and high-quality, but there are many that don't feel this way.

Check out a nice 20 minute gameplay video here: http://www.giantbomb.com/quick-look-dragon-age-origins/17-1477/

That's all I have for now, but I'm sure once the release date gets closer I'll have some more Dragon Age news to post!

by Derek Schaefer at October 19, 2009 08:56 PM

October 09, 2009

Michal Čihař

New Wammu and Gammu website

I just put online new Wammu and Gammu website at http://wammu.eu/. The reason for this change is that I want all relevant information about Gammu and related programs to be available in one place. You can find there information about Gammu, SMSD and python-gammu as well including some information and documentation which used to be spread in wiki and various other documents.

Also all Gammu and Wammu related announcements will be published only on that website and will no longer pollute my blog (and all planets where my blog is being syndicated). If you followed RSS feed, you should update your reader to http://wammu.eu/news/rss/.

The new website also includes updated Gammu Phone Database, which will look almost same to users, but has been completely rewritten underneath, what will allow some extensions in future and allows easier management of entries for me.

What currently lacks behind old website is Czech translation. The reason is in simple fact that new website contains much more texts and I did not yet have time to translate it. If you want to help, just go to l10n.cihar.com, or just follow translators instructions. This time it will be also possible to add other translations, so if you want to translate website to other language, you are welcome!

by Michal Čihař at October 09, 2009 03:28 PM

September 25, 2009

Michal Čihař

Enca 1.11

After month of collecting little fixes flying around, I release Enca 1.11. If you don't know Enca, it is an Extremely Naive Charset Analyser. It detects character set and encoding of text files and can also convert them to other encodings using either a built-in converter or external libraries and tools like libiconv, librecode, or cstocs.

The full changes are short:

  • Dropped scanf configure test which is not used at all.
  • Fixes some wrong format strings.

You can download from http://dl.cihar.com/enca/.

by Michal Čihař at September 25, 2009 02:49 PM

September 23, 2009

Derek Schaefer

Chromium on Ubuntu with Flash: My New Favorite Browser!

I've been using Google Chrome on Windows for quite some time now, because of its beyond-excellent speed and reliability. Although, until recently, it has still rendered some pages incorrectly. But no longer (for me anyway)!

That being the case, I decided to give Chromium (Chrome's open-source incarnation) another try. Last time I tried it, it was in alpha and was therefore terribly unstable. To my surprise, Chromium on Linux is now at a rather robust version 4.0.212.0! I've been using it for the last couple hours and I am very impressed with how far it has come. It's quite stable, integrates very well with Gnome (see the screenshot below), but what is most striking is the speed! As I said, I have considerable experience with Chrome on Windows, which it much faster than all the other major players, but Chromium on Linux is light years faster than Firefox or Opera (my, previously, go-to browsers on Linux). What are you waiting for? Stop listening to me blab and give it a try!

Chromium

So here is a step-by-step guide to get Chromium working on Ubuntu:

  • Add these two lines to your /etc/apt/sources.list file ("YOUR_UBUNTU_VERSION_HERE" = your Ubuntu nickname, i.e. mine is jaunty)
    • deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu YOUR_UBUNTU_VERSION_HERE main
    • deb-src http://ppa.launchpad.net/chromium-daily/ppa/ubuntu YOUR_UBUNTU_VERSION_HERE main
  • Add the GPG key to your keyring (you can remove this later, if you want)
    • sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 4E5E17B5
  • Update your packages
    • sudo apt-get update
  • Install Chromium!
    • sudo apt-get install chromium-browser

Now a couple more steps to get Flash working:

  • Create a symbolic link to the Flash shared-object
    • cd /usr/lib/chromium-browser/plugins
    • sudo ln -s ../../flashplugin-installer/libflashplayer.so
  • Run the following command to initialize Chromium (you only have to do this once)
    • chromium-browser --enable-plugins --enable-greasemonkey --enable-user-scripts --enable-extensions

To get Chromium to use Gnome's theme, open the options panel, go to "Personal Stuff," and click on "Set to GTK+ theme." Although, if you like, you can use one of Chromium's many new themes instead.

Enjoy!

by Derek Schaefer at September 23, 2009 07:26 AM

September 13, 2009

Tomáš Srnka

vpsAdmin 1.0.0-stable version is almost here!


vpsadmin logo

Almost a year ago, my friend – snajpa came up with an idea of creating non-profitable organization (vpsFree.cz), which would be offering virtual servers for its members for low price. The main idea was to provide VPS for everybody, so even students could have their own server. By that time, snajpa started working on a web based application for managing members and VPSs.

What is vpsAdmin? vpsAdmin is an opensource (GPLv3) web application for managing OpenVZ based servers written in PHP+MySQL+BASH. The application supports multiple hardware nodes, which means that you can manage all VPS from every node at one place. This is done by distributing all necessary information by MySQL replication.

vpsAdmin provides GUI for features such as managing VPS (add/remove/edit), setting up VPS limits (CPU, RAM HDD), creating firewall rules for iptables – each VPS can have its own firewall settings, advanced networking (both IPv4 and IPv6 support) and many others. I will write more about all major features, when stable version is released.

We are planning to release stable version 1.0.0 on October 1, 2009. This version will provide:

  • Complete VPS and customers management
  • Ability to change UB limits
  • Networking – IP address management (both IPv4 and IPv6 support), firewall
  • Multiple server support through circular MySQL replication
  • Separate executive (privileged) and web-GUI (unprivileged) parts to provide more security; provides transactions log – ajax based GUI written in mootools framework
  • Multilingual support via gettext (English, French, Dutch, Czech, Hungarian and Slovak language translations are planned to be included in 1.0.0-stable)

I know that there are relatively many web applications for managing VPS running on OpenVZ, but non of them has satisfied our needs. Currently, there is no open-source application written in (almost) pure PHP+MySQL, that’s why we have decided to write our own and release it under GNU GPLv3 :-) .

If you find vpsAdmin interesting or you want to see some screenshots, please visit our official website – vpsAdmin.org. Working copy can be obtained from our mercurial repositary.

by Tomas Srnka at September 13, 2009 03:53 PM

September 11, 2009

Derek Schaefer

It's Official: The DePaul Virtual RoboCup is a Go!

Thanks to Sean for making this nice flyer!

One minor addition: The meeting will be in conference room 436A in the CDM building.

DePaul Virtual RoboCup Flyer

by Derek Schaefer at September 11, 2009 10:01 PM

All2SQL, a PHP Library for Importing to Databases

Yes, that's right, I've started another FOSS project!

Apparently, Google Summer of Code really got my open-source juices flowing. As a side note to my friends at phpMyAdmin: this does not mean I will be abandoning work on PMA! In fact, this project is a stand-alone version of my contributions during GSoC, so any relevant changes added here will also be added to phpMyAdmin (and visa versa). So look forward to some nice features and improvements!

You can find the project here: http://sourceforge.net/projects/all2sql/

All2SQL is a generalized library for importing various data formats into a database. Supported formats at release will be CSV, Microsoft Excel 97-2003 XLS, Excel 2007 XLSX, and OpenOffice Spreadsheet, with more to be added in subsequent releases. It will also be incredibly easy to write your own parsers, as they inherit from a simple, logical virtual class. A new instance of All2SQL searches for the necessary parser on initialization, and loads ONLY what is necessary, improving performance.

With All2SQL you will be able to automate your database importation process like never before! And it's easy to use!

fileToSQL("test.csv");

...

/* Execute the SQL statements in whatever fashion is necessary */
?>

Stay tuned!

by Derek Schaefer at September 11, 2009 09:58 PM

September 08, 2009

Michal Čihař

Fun with blacklists

Yes, blacklists are great, especially if wrongly used. Currently I can not renew SSL certificate I used to have from StartSSL, because they somehow use blacklist from Google to block sites with malware. The word somehow is important here, because I am not listed as being suspicious, but they still see me blacklisted.

And the more funny thing seems to be that Google found sometimes some malware on my site, but there is no way to find out what it was. Maybe it is somehow related to the broken antivirus complaining that NSIS binary contains a virus, but who knows...

As the funny story goes on, I get to know that it is because I'm on AS:15685 network. Well I am. And as well are about other thousands of servers hosted in that place. So what?

PS: Just to be sure, I just did full scan of all files on dl.cihar.com and here is the result:

----------- SCAN SUMMARY -----------
Known viruses: 621888
Engine version: 0.95.2
Scanned directories: 133
Scanned files: 3975
Infected files: 0
Data scanned: 14546.95 MB
Data read: 2462.58 MB (ratio 5.91:1)
Time: 1093.524 sec (18 m 13 s)

by Michal Čihař at September 08, 2009 10:33 PM

Gammu stable version 1.26.1

Gammu 1.26.1 is out! This release just fixes few bugs in AT driver.

Full list of changes:

  • CPIN reply is handled like regular one except in A2D case (bug #994).
  • Fix finding first empty position when memory is empty (bug #996).
  • Fixed parsing of SMS status reports.
  • Fixed parsing of text messages with new lines (bug #995).

You can download from usual place: http://cihar.com/gammu/.

Debian users will find packages in unstable soon, SUSE, Fedora and Mandriva users can check repository in OpenSuse Build Service and Ubuntu in my PPA.

by Michal Čihař at September 08, 2009 09:06 AM

September 04, 2009

Michal Čihař

Gammu stable version 1.26.0

Gammu 1.26.0 is out! There is reduced memory usage, tons of bugfixes, better support for reading messages from Motorola phones.

Full list of changes:

  • Fixed handling of RunOnReceive error code.
  • Fixed crash when encoding USSD dials.
  • Fixed decoding of phonebook entries on Motorola (bug #988).
  • Fixed decoding of long text messages (bug #990).
  • Fixed location of saved message (bug #989).
  • Added ID for Nokia 1681c.
  • Fixed reading of phonebook from Samsung (bug #980).
  • Add ID for Nokia 3390b (bug #982).
  • DCT3 dependent code reports error when phone is not DCT3 (bug #982).
  • Fixed reading of DCT4 file folders (bug #986).
  • Reworked RPM packages (separate libraries and SMSD).
  • Huawei E160 uses encoded USSD requests.
  • Better support for messages on Motorola, thanks to Quintin Hill.
  • Fix reading of SMS backups without text (bug #963).
  • Send message even if SendingTimeOut is null (bug #977).
  • Disabled automatic OBEX for Motorola phones.
  • Increased limits for message length, bump soname to 7 because of this.
  • Changed SMSD tables to be able to handle longer messages from Motorola phones.
  • Documented most commands in man page.
  • Completed Czech translation of Gammu.
  • Avoid crash on some Nokia smses (bug #959).
  • Added support for Bluetooth on more BSD systems, thanks to Iain Hibbert.
  • Added new command setsmsc.
  • Added option to disable checking for battery and signal in SMSD.
  • Fixed getting firmware revision on AT phones (bug #951).
  • Added support for home/work mobile number (bug #952).
  • Fixed handling of error response for security status in AT.
  • Fixed segfault on systems with very low memory limits.
  • Development now goes on in Git repository, please check README.
  • 6510 driver now dynamically allocates memory for file caches, what reduces Gammu memory usage by 800 MiB.
  • Added testcases for AT+CNMI replies.
  • Fixed range parsing in AT engine.
  • Added reconnect support in PostgreSQL driver in SMSD.
  • Gammu debug level no longer can be controlled separately in SMSD.
  • Fix loop when Nokia phone does not allow to access files (bug #954).

You can download from usual place: http://cihar.com/gammu/.

Debian users will find packages in unstable soon, SUSE, Fedora and Mandriva users can check repository in OpenSuse Build Service and Ubuntu in my PPA.

by Michal Čihař at September 04, 2009 10:11 AM

September 02, 2009

Michal Čihař

Problems with phpMyAdmin website

Our website currently shows a bit wrong information about file downloads. The single reason for this is that we take this data from sourceforge.net and all they exports are currently broken in some way.

Per file RSS (which was only working source of information few days ago) seems to be disabled recently, RSS for all files just repeats same metadata for all files and the old releases RSS does not list recent releases.

I did not want to blame them again, but it has been already three weeks from my last complains and bug reports and all that changed is that they broke (or removed?) the last working feed.

by Michal Čihař at September 02, 2009 01:27 PM

August 31, 2009

Derek Schaefer

CppExcel, a New C++ Excel Library

Greetings all!

I wanted to let everyone know that I have begun work on an easy-to-use C++ library for reading and writing native Microsoft Excel files. It is platform-independent, open-source, and light-weight.

You will be able to find it here: https://sourceforge.net/projects/cppexcel/

As anyone who has been following this blog will know, I have been working with the various Excel formats for a large portion of this summer. Specifically, I have been working with the PHPExcel library to both read and write Excel XLS/XLSX spreadsheets. I was very impressed with PHPExcel's ease of use. It made my job far, far easier with its intuitive API. Out of curiosity, I took a look around and discovered that the vast majority of the C++ Excel libraries had a multitude of limitations:

  1. Most are simply wrappers for the Excel COM interface, and thus require Excel to be installed on the target computer in order to function. This adds considerable inefficiency.
  2. Most cannot read Excel files.
  3. Most lack support for XLSX files.
  4. Many are not open source, and a license is quite expensive.

Thus, I was inspired to write my own! Essentially, you can think of CppExcel as a C++ port of PHPExcel. There will be dissimilarities in structure and behavior necessitated by the differences between the languages, but they will be as similar as is reasonable.

One might think, "why do I need to use a complicated library to create Excel files when I can easily use standard library functions to write a CSV file and then import it?" For many applications, a simple CSV file will suffice, but there are many significant advantages to writing a native Excel file.

  1. Being able to define the colors and fonts of each cell.
  2. The ability to generate calculated columns and cells.
  3. Being able to define reusable spreadsheet styles.
  4. And more...

And in reality, CppExcel will hardly be difficult to use:

#include "CppExcel.h"

int main()
{
    CppExcel* cx = new CppExcel();

    ...

    delete cx;

    return 0;
}

Right now, CppExcel is in a non-usable, skeletal, planning stage, and we would love your help! If you would like to contribute, please download PHPExcel version 1.7.0 to use as a reference and let me know that you want to lend a hand.

This is going to be a part-time project for me for quite some time, considering the scope. Luckily, a couple friends also wish to contribute so I won't be doing this completely solo. =D

by Derek Schaefer at August 31, 2009 09:09 PM

Virtual RoboCup 2009, Hosted by ACM DePaul

aldebaran-nao-robot

Aldebaran Nao Robot

Greetings, everyone! I thought I would post about an interesting activity going on at DePaul University this year. I think most of you, being tech-minded folk, would at least enjoy reading about this little adventure, and maybe some of you would even like to get a similar event going at your college or otherwise, which I would be very glad to help you with.

Undoubtedly, some of you have heard of the official RoboCup, which is a fantastic event, but for those who haven't, in a nutshell it's a robotic soccer tournament in which teams attempt to beat their opponents by creating a more advanced AI. If you have a few minutes to spare, I highly recommend watching at least the these couple videos that I've attached, if not some of the other ones that Youtube recommends. The first being a little compilation of different teams testing their robots, and the second being this year's humanoid robot final. What these teams have accomplished is nothing short of amazing.

Here at DePaul, we won't be using real robots due to their extremely prohibitive cost, and other inconveniences, but rather virtual ones.

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" height="295" width="480"><param name="allowFullScreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="src" value="http://www.youtube.com/v/9hhSg4c9jSQ&amp;hl=en&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999"/><param name="allowfullscreen" value="true"/><embed allowfullscreen="true" allowscriptaccess="always" height="295" src="http://www.youtube.com/v/9hhSg4c9jSQ&amp;hl=en&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999" type="application/x-shockwave-flash" width="480"></embed></object>

http://www.youtube.com/watch?v=9hhSg4c9jSQ&feature=player_embedded

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" height="295" width="480"><param name="allowFullScreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="src" value="http://www.youtube.com/v/vJaOcv81QuQ&amp;hl=en&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999"/><param name="allowfullscreen" value="true"/><embed allowfullscreen="true" allowscriptaccess="always" height="295" src="http://www.youtube.com/v/vJaOcv81QuQ&amp;hl=en&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999" type="application/x-shockwave-flash" width="480"></embed></object>

http://www.youtube.com/watch?v=vJaOcv81QuQ&feature=player_embedded

To develop the virtual robots, we will be using Webots (office website, wiki), a rather nice robotic simulation environment that can also used in conjunction with other software to develop AI for real, physical robots as well. Webots has API's for C, C++, Java, Python, and Matlab, making it quite flexible.

Here you can see a quick 1v1 match between two AI's submitted to RobotStadium, a virtual, online version of the real RoboCup that uses Webots to broadcast matches on their website.

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" height="344" width="425"><param name="allowFullScreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="src" value="http://www.youtube.com/v/ARCAgVk_fnQ&amp;hl=en&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999"/><param name="allowfullscreen" value="true"/><embed allowfullscreen="true" allowscriptaccess="always" height="344" src="http://www.youtube.com/v/ARCAgVk_fnQ&amp;hl=en&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999" type="application/x-shockwave-flash" width="425"></embed></object>

And here you can see a couple screen shots that I took of the Webots IDE:

I will be making fairly regular updates about this activity, so stay tuned for more robotic excellence!

by Derek Schaefer at August 31, 2009 08:16 PM

August 27, 2009

Michal Čihař

Gammu test version 1.25.93

Gammu 1.25.93 is out! This is just a bugfix release heading to 1.26.0 next week.

Full list of changes:

  • Fixed reading of phonebook from Samsung (bug #980).
  • Add ID for Nokia 3390b (bug #982).
  • DCT3 dependent code reports error when phone is not DCT3 (bug #982).
  • Fixed reading of DCT4 file folders (bug #986).
  • Fixed parsing of config file with whitespace (bug #987).

You can download from usual place: http://cihar.com/gammu/,

Debian users will find packages in experimental soon, SUSE, Fedora and Mandriva users can check experimental repository in OpenSuse Build Service.

by Michal Čihař at August 27, 2009 12:05 PM

Summer of Code in phpMyAdmin

As the project is over, I think it's time for some summary. I think this year we got quite a good improvements. Most of them are already merged in trunk, but they might need some polishing, especially as the branches were developed separately and now they are first time used together. Anyway if you want to give new code a try, please go to our demo server and play with it!

So what do we have?

Import and export improvements

When I saw the proposal for first time, I thought that this is the best prepared proposal I've ever seen and we must have this student. And it turned to be true. Derek did great job, going in more directions than proposal included and brought great improvements to phpMyAdmin.

To start with import part, phpMyAdmin can now take any spreadsheet or CSV and create table from it automatically, with some kind of heuristics to find out numerical or date columns.

On the export side, he integrated PHPExcel library and phpMyAdmin can now generate proper Excel 2003 and 2007 documents.

The good thing also is that he wants to stay active even after GSoC.

Changes tracking

Even though Alexander Rutkowski was really quited in first half of the project, he indeed did code in that time and he brought feature that will be useful mostly for application developers. You can activate tracking of certain table, all your changes will be logged and you can get SQL commands to replay the changes on other database later.

This can be useful either for monitoring changes which users did or for making changes on development system and applying them later on production one.

Database synchronisation

Zahra Naeem did originally also apply for changes tracking, but as we did not want to have two students on the same topic, we persuaded him to take another project, which was not taken by other students - database synchronisation. This feature is somewhat similar to previous in one use case - you can use it to apply changes from development system to production one. You enter connection settings for two database servers and phpMyAdmin finds out difference between the databases and allows you to synchronize them.

I feel like Zahra felt that almost everything is done in mid-term and slowed down a lot and I'm still not happy with documentation he had provided. Hopefully he will get to that and improve it.

Replication support

This project was mentored by Marc and to me it looks like Tomáš Srnka did good job there. The changes are not yet in trunk, but hopefully they will be merged soon and I will then try to set up some replication stuff on demo server, so that you can play with it.

Permanent user preferences

The only unsuccessful project this year. The student failed to deliver something for mid-term evaluation and because of this he failed. We still have his patch in patch tracker and I think I will try to find time to look at it more deeply, whether it is worth using and cleaning up or it is better to write whole thing from beginning.

Summary

I think this Summer of Code was great and I hope next year we will be really a separate project there and not under MySQL hood (not that would be bad, but I think with five students it is better to be directly there than coordinating with MySQL guys). And I hope we will have more students like Derek :-).

by Michal Čihař at August 27, 2009 08:30 AM

August 26, 2009

Derek Schaefer

Google Summer of Code, Pt. 17 [FINAL]

Greetings all, this will be the last of my required updates. Now, that does not mean I will stop posting (about phpMyAdmin or otherwise), but rather this will be the last of the official "Google Summer of Code, Pt. # [ _____ ]" sequence of GSoC related updates and status reports. Nor does it spell the end of my contributions to phpMyAdmin, although the amount of time I will be able to contribute will be cut back drastically (read: no longer ~25hrs/week, or whatever the average actually was), what with school starting up again in a few weeks, work (on campus job), and other collegiate activities, but I will spend as much time as is reasonable contributing to PMA.

Last week I successfully merged my branch back into the trunk, but without the glorious automation of "svn merge" unfortunately. Ultimately, I had to do it the old fashion way by copying and moving files around, and using diff/patch where necessary. It wasn't a terribly painful or drawn out experience, but it would have been nice if SVN had worked as advertised. Now, whether the fault was my own for somehow messing up my branch along the way so that it couldn't be merged, I don't know. I tried methods listed for every major release of SVN, and none of them worked correctly. For what it's worth, keeping my branch in sync with the trunk was incredibly easy.

I hope you all make good use of my new import/export additions. Even though GSoC is over, I want everyone to know that I still welcome any suggetions or critiques regarding my changes. Don't hesitate to request a new import/export modules, addition featuers for existing ones, or really anything else. I'll be around. =D

I have a few changes that I have been waiting to make until everyone was done merging their branches back into the trunk, as I didn't want to cause additional conflicts. I believe that everyone is done with their merging at this point, so I will be applying these changes soon.

It's been great working with all of you! And to my fellow students, I hope that you'll stick around and keeping contributing to phpMyAdmin as well.

by Derek Schaefer at August 26, 2009 09:48 PM

August 25, 2009

Michal Čihař

Translate Wammu

I feel like I will release new Wammu version in two or three weeks, it would be great to improve some translations. All you need to do is to login into our Pootle server and translate these few (or not so few) strings missing in your language.

If you still prefer manual work, you can still just get po file from Git and send me updates.

PS: If your translation is missing in Pootle and you want to start it, just drop me a note.

by Michal Čihař at August 25, 2009 10:52 PM

Enca 1.10

As upstream author lost interest in developing Enca some time ago, I decided to step up and create another release. Basically it just folds in patches we had in Debian package for some time.

Enca is now hosted on Gitorious: http://gitorious.org/enca, you can clone git repository (I imported older releases there).

So the new release is 1.10 and the changes are quite short:

  • Enca is back alive or at least in maintenance mode.
  • Enca now lives in git repository, see http://gitorious.org/enca.
  • Add missing charset koi8u to belarussian language.
  • Fixed some typos in program and documentation.

You can download from http://dl.cihar.com/enca/.

by Michal Čihař at August 25, 2009 09:59 AM

August 21, 2009

Michal Čihař

Gammu test version 1.25.92

Gammu 1.25.92 is out! There are two bigger changes - the RPM packaging and much improved support for messages from Motorola phones.

Full list of changes:

  • Reworked RPM packages (separate libraries and SMSD).
  • Huawei E160 uses encoded USSD requests.
  • Better support for messages on Motorola, thanks to Quintin Hill.
  • Fix reading of SMS backups without text (bug #963).
  • Send message even if SendingTimeOut is null (bug #977).
  • Disabled automatic OBEX for Motorola phones.
  • Increased limits for message length, bump soname to 7 because of this.
  • Changed SMSD tables to be able to handle longer messages from Motorola phones.

You can download from usual place: http://cihar.com/gammu/,

Debian users will find packages in experimental soon, SUSE, Fedora and Mandriva users can check experimental repository in OpenSuse Build Service.

by Michal Čihař at August 21, 2009 11:00 AM

August 20, 2009

Michal Čihař

Ukolovnik 1.2

Thanks to contributions of other people, I can now announce new release of Ukolovnik. It brings possibility to display tasks grouped by category, new theme and Slovak translation.

by Michal Čihař at August 20, 2009 11:07 AM

August 19, 2009

Michal Čihař

New code in phpMyAdmin

This evening (CEST), the first code from this year GSoC has been merged to phpMyAdmin trunk. And I think it is really interesting piece of code.

Derek Schaefer has spent his time to improve import abilities of phpMyAdmin. You can now import arbitrary spreadsheet documents and you should be able to get reasonably looking table with all of the data.

And as a side effect, we got better export to various Excel formats (including XLSX).

Thanks Derek, your contributions were really great and it was a pleasure to work with you (especially when compared to responsiveness of other students).

by Michal Čihař at August 19, 2009 10:00 PM

August 18, 2009

Alexander Rutkowski

Status report August 11th - August 18th

<object class="BLOG_video_class" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" height="384" id="BLOG_video-f22a89e857993360" width="461"><param name="movie" value="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fv19.nonxt8.googlevideo.com%2Fvideoplayback%3Fid%3Df22a89e857993360%26itag%3D5%26begin%3D0%26len%3D86400000%26app%3Dblogger%26et%3Dplay%26el%3DEMBEDDED%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1264051085%26sparams%3Did%252Citag%252Cip%252Cipbits%252Cexpire%26signature%3D46E583002DB6836AFF1B28CF692E6E71A277A5E1.4300D7F4305B035095B120B2733165F49BC1747%26key%3Dck1&amp;nogvlm=1&amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3Df22a89e857993360%26offsetms%3D5000%26itag%3Dw320%26sigh%3DMWaOKRvP0H0B3wleFbZab6A_Hi0&amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den"/><param name="bgcolor" value="#FFFFFF"/><embed height="384" src="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fv19.nonxt8.googlevideo.com%2Fvideoplayback%3Fid%3Df22a89e857993360%26itag%3D5%26begin%3D0%26len%3D86400000%26app%3Dblogger%26et%3Dplay%26el%3DEMBEDDED%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1264051085%26sparams%3Did%252Citag%252Cip%252Cipbits%252Cexpire%26signature%3D46E583002DB6836AFF1B28CF692E6E71A277A5E1.4300D7F4305B035095B120B2733165F49BC1747%26key%3Dck1&amp;nogvlm=1&amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3Df22a89e857993360%26offsetms%3D5000%26itag%3Dw320%26sigh%3DMWaOKRvP0H0B3wleFbZab6A_Hi0&amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den" type="application/x-shockwave-flash" width="461"></embed></object>

http://page.mi.fu-berlin.de/rutkowsk/phpMyAdmin/howto.avi

KEY ACCOMPLISHMENTS LAST WEEK
=============================

- Wrote additional documentation, added information about the
config vars to Documentation.html

- Used add_message(_file).sh to add lang vars.

- Made the tracking of SQL dump imports working.

- Created a short how-to video (see my blog)

- Asked friends to evaluate my project.

- Registered to PMA wiki, but can't edit all articles.

KEY TASKS THAT STALLED
======================
--

KEY CONCERNS
============
Evaluation

TASKS IN THE UPCOMING WEEK(s)
==========================
- Improve the mechanism

by Alexander (noreply@blogger.com) at August 18, 2009 03:15 PM

August 17, 2009

Derek Schaefer

Google Summer of Code, Pt. 16 [Week 9] – Final evaluations, ahoy!

Key Accomplishments Last Week/This Week:

  • Fixed the bug that was preventing the successful import information panel from displaying after completing an import action that made use of the type-detection API.
  • Finished adding all applicable strings to the localization files with add_message.sh
  • Added more documentation, both to the source and to the phpMyAdmin wiki.
  • Minor optimizations and bug fixes.

Key Tasks that Stalled Last Week:

  • None

Key Concerns:

  • That my branch merges without complication.

Tasks in the Upcoming Week:

  • Merging my branch back into the trunk.
  • Making sure all of my changes integrate smoothly and correctly.
  • Polishing documentation.

by Derek Schaefer at August 17, 2009 09:51 PM

August 13, 2009

Michal Čihař

Gammu test version 1.25.91

Gammu 1.25.91 is out! The changelog is short, but all changes are quite interesting - thanks to Iain Hibbert we now have support for Bluetooth on other BSD variants and I spent time travelling around Spain in trains by writing documentation and translating Gammu to Czech language.

Full list of changes:

  • Documented most commands in man page.
  • Completed Czech translation of Gammu.
  • Avoid crash on some Nokia smses (bug #959).
  • Added support for Bluetooth on more BSD systems, thanks to Iain Hibbert.
  • Added new command setsmsc.
  • Added option to disable checking for battery and signal in SMSD.

You can download from usual place: http://cihar.com/gammu/,

Debian users will find packages in experimental soon, SUSE, Fedora and Mandriva users can check experimental repository in OpenSuse Build Service.

by Michal Čihař at August 13, 2009 01:30 PM

August 11, 2009

Michal Čihař

Fun with SourceForge.net updates

Recently, SourceForge.net has updated their release system. The change does not seem to be that bad (besides the fact that people got used to the old system and need to learn something new), but the change completely broke their RSS exports for file releases.

But hey, you have freedom of choice! You can either use old RSS feeds, which are not being updated or new RSS feeds, which duplicate same data for all entries. Sorry, these links require login.

At the end I've found a way - you can download whole project RSS, where you ignore most content, but get just the file names and then download separately RSS for each file. And now you have complete data!

by Michal Čihař at August 11, 2009 01:57 PM

August 10, 2009

Tomáš Srnka

GSoC 2009 – phpMyAdmin – Tasks for Week #11


TASKS IN THE UPCOMING WEEK

  • Create GUI option to load data and/or structure from master to slave server – API has been already created.
  • Move all strings into english localization file.
  • Improve documentation.

KEY ACCOMPLISHMENTS LAST WEEK

  • Improved Zahraa’s project, so it can connect to remote machine + some small improvements
  • Merged Zahraa’s branch with my branch
  • Created function for syncing servers – currently, it automatically creates databases on slave, loads structure&data, once synchronization is called.

by Tomas Srnka at August 10, 2009 08:47 PM

Alexander Rutkowski

Status report August 3rd - August 10th

Hi all,

KEY ACCOMPLISHMENTS LAST WEEK
=============================

- I added an user-friendly visualisation of the structure snapshots.
It is similar to the structure page of phpMyAdmin.

- Secondly I added handlers for CREATE/DROP/ALTER DATABASE.
Tracking for these commands is enabled by default. User has not to
create a version for it, it will created by the Tracker autmatically.

- An output for these tracked commands is available on the "Tracking"
page for databases now.

- Added a line number to the tracking report.

KEY TASKS THAT STALLED
======================
Evaluation

KEY CONCERNS
============
Evaluation, Documentation, Optimization.


TASKS IN THE UPCOMING WEEK
==========================
- Try to get feedback from users and developers.
- Write documentation, improve my code.


Best regards

Alexander

by Alexander (noreply@blogger.com) at August 10, 2009 02:05 PM

August 06, 2009

Derek Schaefer

Google Summer of Code, Pt. 15 [Week 8] – Almost there!

Key Accomplishments Last Week/This Week:

  • Completed both the XLS and XLSX import AND export modules, which means I am done... and then some!
  • Minor bugfixes in the import library.

Key Tasks that Stalled Last Week:

  • For the longest time, I wasn't able to find an XLS reader library with a compatible license, but as of this week, I have! w00t! It's called PHPExcel and can read/write XLS AND XLSX files!

Key Concerns:

  • Figuring out why my import information panel does not display with either the new XLS or XLSX import modules.

Tasks in the Upcoming Week:

  • Minor bugfixes and optimizations across the board.
  • Make sure all the code is formatted and documented correctly.
  • Make sure all applicable strings are in the localization file.
  • Append information on how to use my new MySQL type-detection functions to the import wiki page.

by Derek Schaefer at August 06, 2009 08:16 PM

August 05, 2009

Michal Čihař

Back home from Spain

Yesterday I arrived back from Spain and DebConf, so I should be finally back on track to process mails, bug reports and other similar things. If you're waiting for my reply more than month, you should be soon handled ;-).

I really enjoyed DebConf and meeting all the people there. And as well I did enjoy rest of travel through Spain. Except the day when they stole my backpack in Barcelona. But I can hardly do anything about that, it just made my vacation quite expensive because loosing my DSLR camera with lenses.

by Michal Čihař at August 05, 2009 11:21 AM

August 03, 2009

Tomáš Srnka

GSoC 2009 – phpMyAdmin – Tasks for Week #10


TASKS IN THE UPCOMING WEEK

  • Create option to load data and/or structure from master to slave server – This is big and my last task from deliverables, therefore I’m taking one whole week to work on it.  I hope, I can finish the task before suggested pens down deadline.

KEY ACCOMPLISHMENTS LAST WEEK

  • Redesigned GUI, so it looks like more PMA
  • Huge code cleaned up & optimization
  • Added option to skip N errors
  • Added option to jump on Nth position

Replication GUI
KEY TASKS THAT STALLED

  • Create function PMA_replication_slave_load_data & whole load data from master problem – waiting for Zahraa’s code

by Tomas Srnka at August 03, 2009 06:02 AM

August 02, 2009

Alexander Rutkowski

Status report July 25th - August 2nd

Hi all,

my report is a little bit delayed, my great-grandfather had 90th birthday on friday. I hope I will reach this age too ;)

KEY ACCOMPLISHMENTS LAST WEEK
=============================

- Created an overview page for (un)tracked tables/views in a database. It gives a short status report of tracked tables/views and links to the "create version" page for untracked tables.

- A new grey-colored icon indicates whether a table has versions but deactive tracking status.

- Added handlers for CREATE/DROP INDEX, CREATE/ALTER/DROP VIEW.

- Auto-creation functionality implemented. It creates a version of new tables and views automatically.

- Some new config vars added. Here a short introduction:

// Creates tracking of new tables and views automatically. Default value is true.
$cfg['Servers'][$i]['tracking_version_auto_create'] = true|false


// Adds "DROP VIEW" statement as prefix of "CREATE VIEW" logs. Default value is true.
$cfg['Servers'][$i]['tracking_add_drop_view'] = true|false

// Adds "DROP TABLE" statement as prefix of "CREATE TABLE" logs. Default value is true.
$cfg['Servers'][$i]['tracking_add_drop_table'] = true|false

// Defines the statements which the auto-creation mechanism uses for new tracked versions.
// Default value is
// CREATE TABLE,ALTER TABLE,DROP TABLE,RENAME TABLE,
// CREATE INDEX,DROP INDEX,
// INSERT,UPDATE,DELETE,TRUNCATE,REPLACE,
// CREATE VIEW,ALTER VIEW,DROP VIEW,
// CREATE DATABASE,ALTER DATABASE,DROP DATABASE;

$cfg['Servers'][$i]['tracking_default_statements'] = ...

KEY TASKS THAT STALLED
======================
-

KEY CONCERNS
============
Finishing list of deliverables.


TASKS IN THE UPCOMING WEEK
==========================
- I want to focus on structure snapshots. The snapshot is saved in a php array.
A user-friendly visualisation of it would be fine. Comparison of snapshots is an idea.

- Secondly I want to add an ouput of tracked CREATE/DROP/ALTER DATABASE statements
to the "Tracking" overview page for databases.

- When time is left: start first phase of testing and evaluation. Try to get more feedback from users and developers.



Best regards

Alexander

by Alexander (noreply@blogger.com) at August 02, 2009 11:40 PM

August 01, 2009

Zahra Naeem

Work done in the last two weeks.

Work done in the last two weeks include:
  • UI changes in which the green and blue boxes for structure and data synchronization are replaced by buttons. So that, the users have no confusion as whether they are clickable or not.
  • Table showing the details when the data and structure synchroinzation buttons are pressed.
  • Structure synchroinzation in which columns are matched by thier names. Then for matching columns type, null, collation, default value, comment and key criterias are checked.
  • Columns present in source table but not in target table are added to the target table. And columns present in target table and not in source table are dropped from target tables.
  • Integration of structure syn work with the UI.
  • Adding and dropping of indexes in the target tables.

Structure synchronization was broken down in three parts. First column syn, then syn of indexes and lastly syn of foreign keys.

Column syn is complete and have been integrated in the UI.

Indexes syn will be integrated in the UI by today.

Foreign keys syn is the target for the next two days.

Today I will be commiting the code done so far in the branch.

by Zahra Naeem (noreply@blogger.com) at August 01, 2009 09:44 AM

July 31, 2009

Derek Schaefer

Google Summer of Code, Pt. 14 [ODS Import/Export Plug-ins]

Open Document Spreadsheet

good_times.ods

I talked about posting this some time ago, but hadn't gotten around to it as I haven't been feeling well recently. Luckily that's passed, so here we go...

My Open Document Spreadsheet module has come a long way in the last couple weeks. It is now fully capable of:

  • Importing into an existing database
  • Importing any number of sheets
  • Determining MySQL data types for each column
  • Creating the tables and inserting the data into the selected database
  • Extracting column names from the first row of each table
  • Replicating the "Excel-style" column names (A, B, ..., Z, AA, AB, ...)
  • Importing percentages as proper decimals (12.00% -> 0.12)
  • Importing currencies as proper decimals ($5.75 -> 5.75)
  • Ignoring empty rows
  • And more...

There are still a few minor issues to be sorted out, but nothing that is terribly important.

In addition to all this, I have several potential ideas that are almost certainly beyond the scope of the Summer of Code due to their complexity. I would like to propose these here, but I will also be making a duplicate post to the PMA devel mailing list so it reaches the most eyes. It's possible that these ideas are too ambitious compared with their usefulness to the greater phpMyAdmin community, but I could see them becoming a "selling-point,"  if you will, as there is nothing quite like this in existence, as far as I have been able to devise.

The end goal would be to provide a means of importing and exporting spreadsheets (both Open Office and Excel) in their entirety. Currently, we can now import and export spreadsheets, but only the tabular data within. If there are functions of any type in the spreadsheet, they are ignored, and only their current value is imported. For many purposes that is all one needs (or expects), but there are some cases where having these greater possibilities would save a considerable amount of time, and money, for some.

For example, imagine that you have a large Excel spreadsheet that tracks your small business's finances, complete with an army of calculated columns, rows, and other functions. Now imagine that your small business becomes, well, a medium business (or some other equivalent scenario) and you need to access your finances from different locations, make online transactions automatic, etc. The obvious solution would be to turn your spreadsheet-based solution into a true database, in this case MySQL. With the aid of phpMyAdmin, the user would be able to simply import the spreadsheet workbook(s) and all the data would be loaded, as well as all the calculations. The database would go on functioning just as the spreadsheets did before but on a greater scale, and the user would not have to waste time rewriting all the calculations as a MySQL compliant trigger, function, or procedure set.

A simple example would be:

spreadsheet

This type of setup can be directly translated into a MySQL database.

First, create the base table.

CREATE TABLE `Excel_Table` (
 `Product` varchar(25) NOT NULL,
 `Qtr_1` decimal(25,2) NOT NULL,
 `Qtr_2` decimal(25,2) NOT NULL,
 `Total` decimal(25,2) NULL,
 PRIMARY KEY (`Product`)
) ENGINE=MyISAM;

Next, create the table which will contain only the total row at the bottom.

CREATE TABLE `Excel_Table_Total` (
 `Index` varchar(25) NOT NULL,
 `Qtr_1` decimal(25,2) NULL,
 `Qtr_2` decimal(25,2) NULL,
 `Total` decimal(25,2) NULL,
 PRIMARY KEY (`Index`)
) ENGINE=MyISAM;
 
INSERT INTO `Excel_Table_Total`
    (`Index`, `Qtr_1`, `Qtr_2`, `Total`)
VALUES
    ('Total', NULL, NULL, NULL);

After the tables have been created we can begin implementing the triggers.

-- Handle INSERT changes
 
DELIMITER //
CREATE TRIGGER `calc_col_insert` BEFORE INSERT ON `Excel_Table`
    FOR EACH ROW BEGIN
        SET NEW.Total = NEW.Qtr_1 + NEW.Qtr_2;
    END;
DELIMITER ;
 
-- Handle UPDATE changes
 
DELIMITER //
CREATE TRIGGER `calc_col_update` BEFORE UPDATE ON `Excel_Table`
    FOR EACH ROW BEGIN
        SET NEW.Total = NEW.Qtr_1 + NEW.Qtr_2;
    END;
DELIMITER ;

And the triggers to handle the total row.

-- Handle INSERT changes
 
DELIMITER //
CREATE TRIGGER `total_row_insert` AFTER INSERT ON `Excel_Table`
    FOR EACH ROW BEGIN
        DECLARE col_sum DECIMAL(25,2);
        SET col_sum = (SELECT SUM(Qtr_1) FROM `Excel_Table`);
        UPDATE `Excel_Table_Total` SET `Qtr_1` = col_sum WHERE `Index` = 'Total';
        SET col_sum = (SELECT SUM(Qtr_2) FROM `Excel_Table`);
        UPDATE `Excel_Table_Total` SET `Qtr_2` = col_sum WHERE `Index` = 'Total';
        SET col_sum = (SELECT SUM(Total) FROM `Excel_Table`);
        UPDATE `Excel_Table_Total` SET `Total` = col_sum WHERE `Index` = 'Total';
    END;
DELIMITER ;
 
-- Handle UPDATE changes
 
DELIMITER //
CREATE TRIGGER `total_row_update` AFTER UPDATE ON `Excel_Table`
    FOR EACH ROW BEGIN
        DECLARE col_sum DECIMAL(25,2);
        SET col_sum = (SELECT SUM(Qtr_1) FROM `Excel_Table`);
        UPDATE `Excel_Table_Total` SET `Qtr_1` = col_sum WHERE `Index` = 'Total';
        SET col_sum = (SELECT SUM(Qtr_2) FROM `Excel_Table`);
        UPDATE `Excel_Table_Total` SET `Qtr_2` = col_sum WHERE `Index` = 'Total';
        SET col_sum = (SELECT SUM(Total) FROM `Excel_Table`);
        UPDATE `Excel_Table_Total` SET `Total` = col_sum WHERE `Index` = 'Total';
    END;
DELIMITER ;
 
-- Handle DELETE changes
 
DELIMITER //
CREATE TRIGGER `total_row_delete` AFTER DELETE ON `Excel_Table`
    FOR EACH ROW BEGIN
        DECLARE col_sum DECIMAL(25,2);
        SET col_sum = (SELECT SUM(Qtr_1) FROM `Excel_Table`);
        UPDATE `Excel_Table_Total` SET `Qtr_1` = col_sum WHERE `Index` = 'Total';
        SET col_sum = (SELECT SUM(Qtr_2) FROM `Excel_Table`);
        UPDATE `Excel_Table_Total` SET `Qtr_2` = col_sum WHERE `Index` = 'Total';
        SET col_sum = (SELECT SUM(Total) FROM `Excel_Table`);
        UPDATE `Excel_Table_Total` SET `Total` = col_sum WHERE `Index` = 'Total';
    END;
DELIMITER ;

Insert the example data.

INSERT INTO `Excel_Table` (`Product`, `Qtr_1`, `Qtr_2`) VALUES
('Prod 1', '744.60', '162.00'),
('Prod 2', '5079.20', '1249.63'),
('Prod 3', '1267.75', '1024.00'),
('Prod 4', '1408.50', '1756.84'),
('Prod 5', '4728.36', '756.42'),
('Prod 6', '943.89', '349.60');

And finally, we create the view to tie everything together.

CREATE VIEW `Excel_Table_View` AS
    SELECT * FROM `Excel_Table`
        UNION
    SELECT * FROM `Excel_Table_Total` WHERE `Index` = 'Total';

Here we can see the view displayed in phpMyAdmin. As you can see, it is identical to the original Excel spreadsheet, both in content and behavior. When a new row is added, for instance, it will be inserted after "Prod 6" but before the "Total" row, and all of the appropriate numbers will be recalculated.

pma_ss

With the glorious addition of automation, this is essentially how the new additions would act. Although, they would be capable of interpreting and converting far more complex forumulas than just a simple column sum.

More to come...

You can download all the SQL code used in this example as one file from here: Excel2MySQL.sql

by Derek Schaefer at July 31, 2009 06:23 PM

Google Summer of Code, Pt. 13 [Week 7] – Awesome CSV Import Module is Awesome

Key Accomplishments Last Week:

  • Improved upon the existing CSV import module. Users can now create tables based on a CSV import file. Before, you would have to create the table schema yourself beforehand, which required extra time as well as greater MySQL knowledge. Now it is handled automatically. Presently, the module imports all the CSV content as one table. There is not a reliable way to detect where one table starts and another ends in order to import them separately, but in any case, it is something I will be pondering in the coming weeks. I toyed with splitting the contents into separate tables wherever the column count differed, but if there were two or more tables adjacent to one another with the same column count they would be mashed together. If a do implement a way to detect different tables, it will likely be based on such a method. I feel this is something I should attempt to do, as phpMyAdmin allows exporting not only multiple tables to one CSV file, but also multiple databases. So there is the potential for lots of tables in one CSV file, and if a user wanted to import that, he/she would be required to split the file by hand. Yuck.
  • Put the XLS module on the proverbial back-burner and began work on an XLSX module in its stead, as per Michal's advice.

Key Tasks that Stalled Last Week:

  • The XLS module. As I discussed in my last post, to import XLS files I made use of the phpExcelReader library, which I ended up not being able to include due to incompatible licenses with phpMyAdmin. Rewriting the BIFF library myself would be too big an unscheduled task for an import module which is not all that important. If I have extra time at the end of GSoC, I will rewrite the library for use in PMA.

Key Concerns:

  • Finishing the XLSX module.

Tasks in the Upcoming Week:

  • Determine if there are any additional options or enhancements that the CSV module could make use of, and implement them.
  • Continue work on the XLSX module. It is of a completely different format and arrangement than ODS. For one thing, I needed only concern myself with one of the ODS XML files, mainly "content.xml", whereas here the necessary data is spread across many different files in several directories within the ZIP container.
  • Move quickly so that I may be able to write my own PHP XLS reader class. While XLS compatibility is not necessary, I feel it would still make for a good addition.

by Derek Schaefer at July 31, 2009 05:41 PM

July 30, 2009

Michal Čihař

Good bye Cáceres

It has been really nice week in here, but it's time to leave. Last night, wake up in the morning and leave by train (in my case to explore Barcelona).

Thanks to all people who organised DebConf 9, from my POV everything went really smoothly and I enjoyed time here. I finally met people I meet daily on the mailing lists and now I can finally imagine people behind those email addresses.

Now it's time to pack my things and finally have some sleep, otherwise I will not be able to wake up tomorrow and I will miss my hardly booked train.

by Michal Čihař at July 30, 2009 09:30 PM

Gammu test version 1.25.90

While being on DebConf 9 I managed to do some work on Gammu, the famous tool for getting access to data in cell phones. The greatest feature of this release is reducing memory consumption by 800 MiB. Other code changes are much smaller, but there is also another important change - I now use Git for development, you can git clone git://gitorious.org/gammu/mainline.git.

Full list of changes:

  • Fixed getting firmware revision on AT phones (bug #951).
  • Added support for home/work mobile number (bug #952).
  • Fixed handling of error response for security status in AT.
  • Fixed segfault on systems with very low memory limits.
  • Development now goes on in Git repository, please check README.
  • 6510 driver now dynamically allocates memory for file caches, what reduces Gammu memory usage by 800 MiB.
  • Added testcases for AT+CNMI replies.
  • Fixed range parsing in AT engine.
  • Added reconnect support in PostgreSQL driver in SMSD.
  • Gammu debug level no longer can be controlled separately in SMSD.
  • Fix loop when Nokia phone does not allow to access files (bug #954).

You can download from usual place: http://cihar.com/gammu/,

Debian users will find packages in experimental soon, SUSE, Fedora and Mandriva users can check experimental repository in OpenSuse Build Service.

by Michal Čihař at July 30, 2009 05:37 PM

Moving to Git

After losing some data from svn, because I just did not have the latest backup and I only had data in local copy, I decided to finally migrate to Git.

For now the repositories are hosted on gitorious:

The svn server will stay there for some time, but I want to get rid of it in future.

PS: Translations from Pootle are now directly commited to separate Git repository under user data which he used to register in Pootle. I'll merge this repository time to time to mainlines.

by Michal Čihař at July 30, 2009 11:37 AM

July 29, 2009

Michal Čihař

Time of changes in Debian?

It looks like some things will be changing in Debian in next months. The most known thing which is already widespread know is switching to time based freeze cycles, what should make us synchronised with Ubuntu LTS release cycles. This gives advantage of sharing work done on security support, because both distribution will be quite similar code base.

The other thing which we saw today is new website proposal. From what I could see in the audience, it has been accepted quite positively, so maybe Debian will finally have nice looking website in (near?) future. The discussion showed up that also somebody else is working on that, so we will have even two competing proposals. I just hope it will not end up in some huge flamewar :-).

by Michal Čihař at July 29, 2009 10:28 AM

July 28, 2009

Michal Čihař

Windows 7 compatible? What?

Well I really love these automatic test and "rewards". Today, Wammu has just received the "Windows 7 Compatible" award on ForteDownloads.com. Wow.

But as far as I know, it has some problems on Windows Vista with permissions and I doubt it will be better on Windows 7. Is anybody actually using these systems? I don't.

by Michal Čihař at July 28, 2009 12:13 AM

July 26, 2009

Michal Čihař

MySQL way of repairing tables

This is just a small rant about issue which did hit me today. One of MyISAM tables on my database server has been crashed. Well you can expect that kind of thing after a hardware failure. I did start REPAIR TABLE and nothing happened for quite a long time.

Finally I managed to look into the logs and found this jewel:

[ERROR] /usr/sbin/mysqld: Disk is full writing '/tmp/STwW9hIc' (Errcode: 28). Waiting for someone to free space... Retry in 60 secs

Well MySQL, nobody else is not using this vserver and the /tmp is a ram filesystem. So if you filled it up, nobody is going to make space for you there and you will wait for ages.

Maybe continuous waiting is not the right idea...

by Michal Čihař at July 26, 2009 06:03 PM

July 24, 2009

Alexander Rutkowski

Status report July 18th - 24th



Hi all,

KEY ACCOMPLISHMENTS LAST WEEK
=============================
- I added a separate filter functionality to the tracking report.
Now it is possible to list data definition, data manipulation
or both kinds of statements. Date ranges are supported.

- Secondly I added an user filter. PMA_Tracker tracks the
logged in username. The tracking report page supports
to list all tracked usernames (*), one username or a list
of usernames with ',' as delimiter.

- The export form uses the described filter settings.

- I added a new export option: "SQL dump as file download".
Users can directly download the statements.

- I did some work on the SQL dump page. It shows the SQL query
form now. The lines

CREATE database IF NOT EXISTS pma_temp_db;
USE pma_temp_db;

will automatically added to the dump. The user can copy the whole
dump to the clipboard or execute it by clicking on the submit button.
If he submits it he gets a "temporary" table and can do fine things
with it (use PMA export functionality for example).

- I decided to cut off `dbname` . prefixes from tracked statements.
I used a Perl regular expression for that. Only without these prefixes
the dump export to other databases is possible.

- I merged my Subversion branch with trunk/phpMyAdmin and
committed the changes. Not a big job, but good to see that it worked.

- German translation added.


KEY TASKS THAT STALLED
======================
I tried to use libraries/sqlparser.lib.php within my PMA_Tracker
but it produces a lot of notices.
In addition PMA_SQP_analyze() works only for SELECT queries.
Did not see an easy (time-efficient) way to enable it for my PMA_Tracker
so I reduced the queue priority for this job.


KEY CONCERNS
============
Tracking for whole databases is still open.


TASKS IN THE UPCOMING WEEK
==========================
- Create first prototype of tracking page for databases / set of tables.
- Add handlers for CREATE/DROP INDEX, CREATE/ALTER/DROP VIEW.
- Inform users about deactivated tracking versions (use an icon or
notice message).


Finally I want to call attention to

http://demo.phpmyadmin.net/gsoc-alex/

Its a copy of my svn branch (thanks to Michal).

Best regards and have a nice WE

Alexander

by Alexander (noreply@blogger.com) at July 24, 2009 08:15 PM

Derek Schaefer

Google Summer of Code, Pt. 12 [Week 6] – All Aboard the XLS Express

Key Accomplishments Last Week:

  • Largely finished the ODS import plug-in. I will be making minor improvements to it from here on out, but it is essentially complete now.
  • Made a useable Excel XLS import plug-in. More about this below.

Key Tasks that Stalled Last Week:

  • (This week) I made a functioning Excel XLS import module using the phpExcelReader library, which works wonderfully. I added the library and plug-in to my branch and it is currently living out a happy existence on my demo server. But, woe is me, Michal pointed out to me that phpExcelReader is licensed under the PHP license, which is incompatible with phpMyAdmin’s GNU GPL license, therefore we cannot include it. Talk about a buzz kill.

Key Concerns:

  • Being able to utilize phpExcelReader for the Excel XLS import module. Without it, I will most likely have to scrap the XLS import module, at least for GSoC, as reading the XLS’s binary format requires a specialized library that follows Microsoft’s Binary Interchange File Format (BIFF) conventions. This does not set me back much as the XLS import module was never a goal for my project, just a happy side-product. That and Excel can save spreadsheets to CSV, in any case (and Excel 2007 can save to ODS, as well).

Tasks in the Upcoming Week:

  • Continue work on both the CSV and the XLSX (if it is deemed desireable) import modules. If I finish both of these, phpExcelReader will not relicense, and I still have a significant amount of time left then I will likely write my own PHP BIFF library and continue work on the XLS module.
  • If phpExcelReader’s maintainer will relicense, then continue work on the XLS import module with the existing library.

by Derek Schaefer at July 24, 2009 06:07 PM