March 21, 2017

Michal Čihař

Weekly phpMyAdmin contributions 2017-W11

The Google Summer of Code season is coming and as usual that brought attention of students who want to participate with phpMyAdmin. This means bigger traffic on our mailing list, issue tracker and pull requests.

Quite a lot of time in last week was spent on reviewing incoming pull requests and giving students hints how to improve them. Quite a lot of contributions have been merged and more will be in upcoming weeks. I've managed to fix some issues on my own as well.

There was some more work on the infrastructure as well, for example all our web servers now support HTTP/2, what should help in faster load times when you're using some recent browser.

Handled issues:

Filed under: English phpMyAdmin | 0 comments

by Michal Čihař (michal@cihar.com) at March 21, 2017 11:00 AM

March 15, 2017

Michal Čihař

Life of free software project

During last week I've noticed several interesting posts about challenges being free software maintainer. After being active in open source for 16 years I can share much of the feelings I've read and I can also share my dealings with the things.

First of all let me link some of the other posts on the topic:

I guess everybody involved in in some popular free software project knows it - there is much more work to be done than people behind the project can handle. It really doesn't matter it those are bug reports, support requests, new features or technical debt, it's simply too much of that. If you are the only one behind the project it can feel even more pressing.

There can be several approaches how to deal with that, but you have to choose what you prefer and what is going to work for you and your project. I've used all of the below mentioned approaches on some of the projects, but I don't think there is a silver bullet.

Finding more people

Obviously if you can not cope with the work, let's find more people to do the work. Unfortunately it's not that easy. Sometimes people come by, contribute few patches, but it's not that easy to turn them into regular contributor. You should encourage them to stay and to care about the part of the project they have touched.

You can try to attract completely new contributors through programs as Google Summer of Code (GSoC) or Outreachy, but that has it's own challenges as well.

With phpMyAdmin we're participating regularly in GSoC (we've only missed last year as we were not chosen by Google that year) and it indeed helps to bring new people on the board. Many of them even stay around your project (currently 3 of 5 phpMyAdmin team members are former GSoC students). But I think this approach really works only for bigger organizations.

You can also motivate people by money. It's way which is not really much used on free software projects, partly because lack of funding (I'll get to that later) and partly because it doesn't necessarily bring long time contributors, just cash hunters. I've been using Bountysource for some of my projects (Weblate and Gammu) and so far it mostly works other way around - if somebody posts bounty on the issue, it means it's quite important for him to get that fixed, so I use that as indication for myself. On attracting new developers it never really worked well, even when I've tried to post bounties to some easy to fix issues, where newbies could learn our code base and get paid for that. These issues stayed opened for months and in the end I've fixed them myself because they annoyed me.

Don't care too much

I think this is most important aspect - you simply can never fix all the problems. Let's face it and work according to that. There can be various levels of don't caring. I find it always better to try to encourage people to fix their problem, but you can't expect big success rate in that, so you might find it not worth of the time.

What I currently do:

  • I often ignore direct emails asking for fixing something. The project has public issue tracker on purpose. Once you solve the issue there others will have chance to find it when they face similar problem. Solving things privately in mails will probably make you look at similar problems again and again.
  • I try to batch process things. It is really easier to get focused when you work on one project and do not switch contexts. This means people will have to wait until you get to their request, but it also means that you will be able to deal them much more effectively. This is why Free hosting requests for Hosted Weblate get processed once in a month.
  • I don't care about number of unread mails, notifications or whatever. Or actually I try to not get much of these at all. This is really related to above, I might to some things once in a month (or even less) and that's still okay. Maybe you're just getting notifications for things you really don't need to get notified on? Do you really need notification for new issues? Isn't it better just to look at the issue tracker once in a time than constantly feeling the pressure of not read notifications?
  • I don't have to fix every problem. When it seems like something what could be as well fixed by the reporter, I just try to give them guidance how to dig deeper into the issue. Obviously this can't work for all cases, but getting more people on board always helps.
  • I try to focus on things which can save time in future. Many issues turn out to be just some unclear things and once you figure out that, spend few more minutes to improve your documentation to cover that. It's quite likely that this will save your time in future.

If you still can't handle that, you should consider abandoning the project as well. Does it bring something to you other than frustration of not completed work? I know it can be hard decision, in the end it is your child, but sometimes it's the best think you can do.

Get paid to do the work

Are you doing your fulltime job and then work on free software on nights or weekends? It can probably work for some time, but unless you find some way to make these two match, you will lack free time to relax and spend with friends or family. There are several options to make these work together.

You can find job where doing free software will be natural part of it. This worked for me pretty well at SUSE, but I'm sure there are more companies where it will work. It can happen that the job will not cover all your free software activities, but this still helps.

You can also make your project to become your employer. This can be sometimes challenging to make volunteers and paid contractors to work on one project, but I think this can be handled. Such setup currently works currently quite well for phpMyAdmin (we will announce second contractor soon) and works quite well for me with Weblate as well.

Funding free software projects

Once your project is well funded, you can fix many problems by money. You can pay yourself to do the work, hire additional developers, get better infrastructure or travel to conferences to spread word about it. But the question is how to get to the point of being well funded.

There are several crowdfunding platforms which can help you with that (Liberapay, Bountysource salt, Gratipay or Snowdrift to mention some). You can also administer the funding yourself or using some legal entity such as Software Freedom Conservancy which handles this for phpMyAdmin.

But the most important thing is to persuade people and companies to give back. You know there are lot of companies relying on your project, but how to make them fund the project? I really don't know, I still struggle with this as I don't want to be too pushy in asking for money, but I'd really like to see them to give back.

What kind of works is giving your sponsors logo / link placement on your website. If your website is well ranked, you can expect to get quite a lot of SEO sponsors and the question is where to draw a line what you still find acceptable. Obviously the most willing to pay companies will have nothing to do with what you do and they just want to get the link. The industry you can expect is porn, gambling, binary options and various MFA sites. You will get some legitimate sponsors related to your project as well. We felt we've gone too far with phpMyAdmin last year and we've stricten the rules recently, but the outcome is still not visible on our website (as we've just limited new sponsors, but existing contracts will be honored).

Another option is to monetize your project more directly. You can offer consulting services or provide it as a service (this is what I currently do with Weblate). It really depends on the product if you can build customer base on that or not, but certainly this is not something what would work well for all projects.

Thanks for reading this and I hope it's not too chaotic, as I've moved parts there and back while writing and I'm afraid it got too long in the end.

Filed under: Debian English Gammu phpMyAdmin SUSE Weblate | 0 comments

by Michal Čihař (michal@cihar.com) at March 15, 2017 11:00 AM

March 14, 2017

Michal Čihař

Weekly phpMyAdmin contributions 2017-W10

Last week was a bit more focused on the infrastructure than the code. Most of our servers have been upgraded to Debian Stretch and can (finally) benefit from PHP 7.

The upgrade also brought more up to date versions to the demo server, it's now running MariaDB 10.1.21 and MySQL 8.0.0. The latter one will probably show some bugs in our code base, as it has not yet been fully tested.

Code wise, the most visible change is to bundle Let's encrypt root SSL certificate with our code, so that we can verify the server even if the host SSL verification is broken (what seems to happen on some Windows based setups).

Handled issues:

Filed under: English phpMyAdmin | 0 comments

by Michal Čihař (michal@cihar.com) at March 14, 2017 11:00 AM

March 13, 2017

Michal Čihař

Weblate users survey

Weblate is growing quite well in last months, but sometimes it's development is really driven by people who complain instead of following some roadmap with higher goals. I think it's time to change it at least a little bit. In order to get broader feedback I've sent out short survey to active project owners in Hosted Weblate week ago.

I've decided to target at smaller audience for now, though publicly open survey might follow later (but it's always harder to evaluate feedback across different user groups).

Overall feelings were really positive, most people find Weblate better than other similar services they have used. This is really something I like to hear :-).

Weblate overall experience

Weblate compared with other tools

But the most important part for me was where users want to see improvements. This somehow matches my expectation that we really should improve the user interface.

Weblate future development

We have quite a lot features, which are really hidden in the user interface. Also interface for some of the features is far from being intuitive. This all probably comes from the fact that we really don't have anybody experienced with creating user interfaces right now. It's time to find somebody who will help us. In case you are able to help or know somebody who might be interested in helping, please get in touch. Weblate is free software, but this can still be paid job.

Last part of the survey was focused on some particular features, but the outcome was not as clear as I hoped for as almost all feature group attracted about same attention (with one exception being extending the API, which was not really wanted by most of the users).

Overall I think doing some survey like this is useful and I will certainly repeat it (probably yearly or so), to see where we're moving and what our users want. Having feedback from users is important for every project and this seemed to worked quite well. Anyway if you have further feedback, don't hesitate to use our issue tracker at GitHub or contact me directly.

Filed under: Debian English phpMyAdmin SUSE Weblate | 0 comments

by Michal Čihař (michal@cihar.com) at March 13, 2017 11:00 AM

March 07, 2017

Michal Čihař

Weekly phpMyAdmin contributions 2017-W09

Last was equally spent on bugfixing phpMyAdmin and improving our Docker container.

From the bugfixing phpMyAdmin, I've spent great time with HHVM. It all started with bug report that phpMyAdmin is not working with HHVM 3.18. I've quickly fixed reported errors and wanted to add HHVM to our test matrix on Travis CI. This was not that easy as expected due to need to upgrade Travis image to Trusty. Once I did that, the build no longer worker reliably as MySQL server was sometimes not started. This showed to be known Travis bug, which can be workarounded by not using their container based infrastructure.

Once I had everything building and testing, I've noticed that the complete test takes incredibly long on recent HHVM versions (3 minutes with HHVM 3.3, 12 minutes with HHVM 3.12 and 7 minutes with HHVM 3.18). After digging a bit deeper (and adding listing of 10 slowest testcases) I've been able to produce testcase and report issue to HHVM. So if you're using phpMyAdmin with recent HHVM and it's slow, this might be the cause.

Last but not least, our Docker container got several performance tweaks, mostly tweaking PHP's opcache settings.

Handled issues:

Filed under: English phpMyAdmin | 0 comments

by Michal Čihař (michal@cihar.com) at March 07, 2017 11:00 AM

March 03, 2017

Michal Čihař

Weblate 2.12

Weblate 2.12 has been released today, few days behind schedule. It brings improved screenshots management, better search and replace features or improved import. Many of the new features were already announced in previous post, where you can find more details about them.

Full list of changes:

  • Improved admin interface for groups.
  • Added support for Yandex Translate API.
  • Improved speed of sitewide search.
  • Added project and component wide search.
  • Added project and component wide search and replace.
  • Improved rendering of inconsistent translations.
  • Added support for opening source files in local editor.
  • Added support for configuring visual keyboard with special characters.
  • Improved screenshot management with OCR support for matching source strings.
  • Default commit message now includes translation information and URL.
  • Added support for Joomla translation format.
  • Improved reliability of import across file formats.

If you are upgrading from older version, please follow our upgrading instructions.

You can find more information about Weblate on https://weblate.org, the code is hosted on Github. If you are curious how it looks, you can try it out on demo server. You can login there with demo account using demo password or register your own user. Weblate is also being used on https://hosted.weblate.org/ as official translating service for phpMyAdmin, OsmAnd, Aptoide, FreedomBox, Weblate itself and many other projects.

Should you be looking for hosting of translations for your project, I'm happy to host them for you or help with setting it up on your infrastructure.

Further development of Weblate would not be possible without people providing donations, thanks to everybody who have helped so far! The roadmap for next release is just being prepared, you can influence this by expressing support for individual issues either by comments or by providing bounty for them.

Filed under: Debian English phpMyAdmin SUSE Weblate | 0 comments

by Michal Čihař (michal@cihar.com) at March 03, 2017 11:00 AM

February 28, 2017

Michal Čihař

Weekly phpMyAdmin contributions 2017-W08

by Michal Čihař (michal@cihar.com) at February 28, 2017 11:00 AM

February 22, 2017

Michal Čihař

New free software projects on Hosted Weblate

Hosted Weblate provides also free hosting for free software projects. I'm quite slow in processing the hosting requests, but when I do that, I process them in a batch and add several projects at once.

This time, the newly hosted projects include:

  • DoubleContact - offline contact manager
  • LanguageTool - style and grammar checker for 25+ languages
  • Ghini - botanic collection manager
  • Converse.js - XMPP chat client in your browser
  • Pulse - IT Infrastructure Management Software
  • Turris - high performance and open source router
  • Icinga Editor - GUI for generating Icinga configuration files

If you want to support this effort, please donate to Weblate, especially recurring donations are welcome to make this service alive. You can do them on Liberapay or Bountysource.

Filed under: English OpenWrt Weblate | 0 comments

by Michal Čihař (michal@cihar.com) at February 22, 2017 11:00 AM

February 21, 2017

Michal Čihař

Weekly phpMyAdmin contributions 2017-W07

Last week was mostly spent on bugfixing what can be easily seen from list of handled issues, which got quite large this week.

There is probably nothing extraordinary in the list, just dozens of issues which appeared in the 4.7.0 beta. The final 4.7.0 should be out in a month, so it's really time to polish it. Also it's time to work on translations, so that's something where you help is welcome.

Handled issues:

Filed under: English phpMyAdmin | 0 comments

by Michal Čihař (michal@cihar.com) at February 21, 2017 11:00 AM

February 17, 2017

Michal Čihař

What's coming in Weblate 2.12

Weblate should be released by end of February, so it's now pretty much clear what will be there. So let's look at some of the upcoming features.

There were many improvements in search related features. They got performance improvements (this is especially noticeable on site wide search). Additionally you can search for strings within translation project. On related topic, search and replace is now available for component or project wide operations, what can help you in case of massive renaming in your translations.

We have worked on improving machine translations as well, this time we've added support for Yandex. In case you know some machine translation service which we do not yet support, please submit that to our issue tracker.

Biggest improvement so far comes for visual context feature - it allows you to upload screenshots which are later shown to translators to give them better idea where and in which context the translation is used. So far you had to manually upload screenshot for every source string, what was far from being easy to use. With Weblate 2.12 (and this is already available on Hosted Weblate right now) the screenshots management got way better.

There is now separate interface to manage screenshots (see screenshots for Weblate as an example), you can assign every screenshot to multiple source strings, however you can also let Weblate automatically recognize texts on the screenshots using OCR and suggest strings to assign. This can save you quite a lot of effort, especially with screenshots with lot of strings. This feature is still in early phase, so the suggestions are not always 100% matching, but we're working to improve it further.

There will be some more features as well, you can look at our 2.12 milestone at GitHub to follow the process.

Filed under: Debian English SUSE Weblate | 0 comments

by Michal Čihař (michal@cihar.com) at February 17, 2017 11:00 AM

February 07, 2017

Michal Čihař

Weekly phpMyAdmin contributions 2017-W05

Last week was a bit shorter for me due to travel to FOSDEM where I have helped Software Freedom Conservancy on a stand. More than thousand of our users have brought phpMyAdmin sticker from there :-).

There was also some progress on the code of course. Mostly it's about reviewing bug reports for first beta we've released for 4.7.0. We know there are some things broken and we are working hard to fix these.

There was also quite important change on our SQL parser - the localization is now optional, so you don't have to install motranslator as dependency (this is only in Git right now, will be released this week).

Handled issues:

Filed under: English phpMyAdmin | 0 comments

by Michal Čihař (michal@cihar.com) at February 07, 2017 11:00 AM

January 31, 2017

Michal Čihař

Weblate 2.11

Exactly on the schedule, Weblate 2.11 is out today. This release brings extended stats available to users and various other improvements and bug fixes.

Full list of changes:

  • Include language detailed information on language page.
  • Mercurial backend improvements.
  • Added option to specify translation component priority.
  • More consistent usage of Group ACL even with less used permissions.
  • Added WL_BRANCH variable to hook scripts.
  • Improved developer documentation.
  • Better compatibility with various Git versions in Git exporter addon.
  • Included per project and component stats.
  • Added language code mapping for better support of Microsoft Translate API.
  • Moved fulltext cleanup to background job to make translation removal faster.
  • Fixed displaying of plural source for languages with single plural form.
  • Improved error handling in import_project.
  • Various performance improvements.

If you are upgrading from older version, please follow our upgrading instructions.

You can find more information about Weblate on https://weblate.org, the code is hosted on Github. If you are curious how it looks, you can try it out on demo server. You can login there with demo account using demo password or register your own user. Weblate is also being used on https://hosted.weblate.org/ as official translating service for phpMyAdmin, OsmAnd, Aptoide, FreedomBox, Weblate itself and many other projects.

Should you be looking for hosting of translations for your project, I'm happy to host them for you or help with setting it up on your infrastructure.

Further development of Weblate would not be possible without people providing donations, thanks to everybody who have helped so far! The roadmap for next release is just being prepared, you can influence this by expressing support for individual issues either by comments or by providing bounty for them.

Filed under: Debian English phpMyAdmin SUSE Weblate | 0 comments

by Michal Čihař (michal@cihar.com) at January 31, 2017 01:30 PM

Weekly phpMyAdmin contributions 2017-W04

Last week I focused on our libraries and all they got new major release in last week in order to move into PhpMyAdmin namespace and to follow PSR-4. We've also released first beta for 4.7.0 and looking forward to feedback based on it.

The new phpMyAdmin release also comes with new downloads structure in order to have smaller downloads for most people while provide also one with complete sources as usually needed by Linux distributions. Hopefully this new structure will better fit needs of both groups.

Another thing worth mentioning is that I've received first batch of phpMyAdmin stickers to hand out at FOSDEM, so in case you happen to be in Brussels next weekend, stop at Software Freedom Conservancy stand and grab one of them.

Handled issues:

Filed under: English phpMyAdmin | 0 comments

by Michal Čihař (michal@cihar.com) at January 31, 2017 11:00 AM

January 30, 2017

Michal Čihař

See you at FOSDEM

This has become sort of tradition for me, but still worth mentioning - I'm going to to FOSDEM this weekend.

This time I have no talk (I somehow failed to submit anything in time), but still I'm there to meet people and listen to some talks. As I've agreed to help Software Freedom Conservancy on stand (in the H building), it's quite likely that you will find me there. You will also have unique chance to grab phpMyAdmin stickers at this stand.

Also if you spot somebody wearing Weblate t-shirt, then it's most likely me ;-).

Filed under: Debian English phpMyAdmin SUSE Weblate | 1 comments

by Michal Čihař (michal@cihar.com) at January 30, 2017 01:15 PM

January 27, 2017

Michal Čihař

stardicter 0.11

Stardicter 0.11, the set of scripts to convert some freely available dictionaries to StarDict format, has been released today. There are mostly minor changes and it's time to push them out in official release. The most important being fixed sorting of ascii dictionaries, what did break searching in some programs.

Full list of changes:

  • Improved deaccent filter.
  • Fixed sorting of ASCII dictionaries.

As usual, you can install from pip, download source or download generated dictionaries from my website.

Filed under: Debian English StarDict SUSE | 0 comments

by Michal Čihař (michal@cihar.com) at January 27, 2017 11:00 AM

January 24, 2017

Michal Čihař

Weekly phpMyAdmin contributions 2017-W03

After week of vacation, I got back to work. The week was quite busy with quite a lot of handled issues on the table. The bigger focus was on phpMyAdmin itself, but there were some minor improvements to the SQL Parser as well.

I've again focused on the OS X problems with lower_case_table_names settings in the MySQL server and yet another issue was fixed there. While working with that, I've added OS X tests to be executed on Travis CI. This has caught at least one bug which was present in phpMyAdmin on OS X since ages.

Another change important to some users, is that limited phpinfo is returning to phpMyAdmin. In past we've removed it completely as response to PMASA-2016-59, but it brought us quite some negative feedback, so this page is now back without it's dangerous parts. Still this is something you're not recommended to enable on production environment.

Handled issues:

Filed under: English phpMyAdmin | 2 comments

by Michal Čihař (michal@cihar.com) at January 24, 2017 11:00 AM

January 23, 2017

Michal Čihař

New versions of phpMyAdmin libraries

Today, new major version of all phpMyAdmin support libraries have been released. The major reason behind this is that they all now follow PSR-4 and they are located under the PhpMyAdmin namespace.

Hopefully this will make it easier to integrate within other tools and this really should be last big API change for these libraries. They will be also used by upcoming phpMyAdmin 4.7.0, so that gives us another big commitment for API stability.

Anyway if you want to move ahead, update your dependencies in composer.json accordingly:

On the other changes, the SQL parser also gained ability to produce localized error messages (thanks to using motranslator internally).

Filed under: English phpMyAdmin | 2 comments

by Michal Čihař (michal@cihar.com) at January 23, 2017 02:00 PM

January 20, 2017

Michal Čihař

Weblate 2.10.1

This is first security bugfix release for Weblate. This has to come at some point, fortunately the issue is not really severe. But Weblate got it's first CVE ID today, so it's time to address it in a bugfix release.

Full list of changes:

  • Do not leak account existence on password reset form (CVE-2017-5537).

If you are upgrading from older version, please follow our upgrading instructions.

You can find more information about Weblate on https://weblate.org, the code is hosted on Github. If you are curious how it looks, you can try it out on demo server. You can login there with demo account using demo password or register your own user. Weblate is also being used on https://hosted.weblate.org/ as official translating service for phpMyAdmin, OsmAnd, Aptoide, FreedomBox, Weblate itself and many other projects.

Should you be looking for hosting of translations for your project, I'm happy to host them for you or help with setting it up on your infrastructure.

Further development of Weblate would not be possible without people providing donations, thanks to everybody who have helped so far!

Filed under: Debian English SUSE Weblate | 0 comments

by Michal Čihař (michal@cihar.com) at January 20, 2017 02:00 PM

New free software projects on Hosted Weblate

Hosted Weblate provides also free hosting for free software projects. I'm quite slow in processing the hosting requests, but when I do that, I process them in a batch and add several projects at once.

This time, the newly hosted projects include:

If you want to support this effort, please donate to Weblate, especially recurring donations are welcome to make this service alive. You can do them on Liberapay or Bountysource.

Filed under: English Weblate | 0 comments

by Michal Čihař (michal@cihar.com) at January 20, 2017 05:00 AM

January 10, 2017

Michal Čihař

Weekly phpMyAdmin contributions 2017-W01

First week in 2017 has been quite busy. There was usual amount of bug screening and fixing on phpMyAdmin, but I've attended other parts of the project as well.

The Docker container got big upgrade to Alpine 3.5 and PHP 7, so it will perform better thanks to performance improvements in PHP 7. Thanks to additional cleanups the image also got 3 MB smaller.

On the libraries side we've started using php-cs-fixer for code cleanup. It all started with pull request for SQL parser, but I've quickly added it to all libraries making the code consistent (this still doesn't apply to phpMyAdmin itself as it has historical mess with own coding style). While visiting SQL parser it got also bunch of fixes which were released as 3.4.16.

Handled issues:

Filed under: English phpMyAdmin | 0 comments

by Michal Čihař (michal@cihar.com) at January 10, 2017 11:00 AM

January 05, 2017

Michal Čihař

Gammu 1.38.1

Today Gammu 1.38.1 has been released. This is bugfix release fixing several minor bugs which were discovered in 1.38.0.

The Windows binaries will be available shortly. These are built using AppVeyor and will help bring Windows users back to latest versions.

Full list of changes and new features can be found on Gammu 1.38.1 release page.

Would you like to see more features in Gammu? You an support further Gammu development at Bountysource salt or by direct donation.

Filed under: Debian English Gammu | 0 comments

by Michal Čihař (michal@cihar.com) at January 05, 2017 01:00 PM

January 04, 2017

Michal Čihař

Seven tools that help us develop Weblate

Weblate probably would not exist (or at least would be much harder to manage) without several services that help us to develop, improve and fix bugs in our code base.

Over the time the development world has become very relying on cloud services. As every change this has both sides - you don't have to run the service, but you also don't have control on the service. Personally I'd prefer to use more free software services, on the other side I really love this comfort and I'm lazy to setup things which I can get for free.

The list was written down mostly for showing up how we work and the services are not listed in any particular order. All of the services provide free offerings for free software projects or for limited usage.

GitHub

I guess there is not much to say here, it has become standard place to develop software - it has Git repositories, issue tracker, pull requests and several other features.

Travis CI

Running tests on every commit is something what will make you feel confident that you didn't break anything. Of course you still need to write the tests, but having them run automatically is really great help. Especially great for automatically checking pull requests.

AppVeyor

Continuous integration on Windows - it's still widely used platform with it's quirks, so it's really good idea to test there as well. With AppVeyor you can do that and it works pretty nicely.

Codecov

When running tests it's good to know how much of your code is covered by them. Codecov is one of the best interfaces I've seen for this. They are also able to merge coverage reports from multiple builds and platforms (for example for wlc we have combined coverage for Linux, OSX and Windows coming from Travis CI and AppVeyor builds).

SauceLabs

Unit testing is good, but the frontend testing in browser is also important. We run Selenium tests in several browsers in SauceLabs to verify that we haven't screwed up something from the user interface.

Read the Docs

Documentation is necessary for every project and having it built automatically is nice bonus.

Landscape

Doing code analysis is a way to avoid some problems which are not spot during testing. These can be code paths not covered by test or simply coding style issues. There are several such services, but Landscape is my favorite one right now.

Filed under: Debian English phpMyAdmin SUSE Weblate | 0 comments

by Michal Čihař (michal@cihar.com) at January 04, 2017 05:00 PM

December 27, 2016

Michal Čihař

Weekly phpMyAdmin contributions 2016-W51

Week before Christmas was pretty productive with dozen of fixed issues, merged pull requests and various code and infrastructure improvements.

There was nothing extraordinary in bug fixing. One thing worth mentioning is that we were again hit by another PHP weirdness - this time in the openssl library, which emits warnings as errors and stores them internally while the function works just fine and returns expected result. We didn't realize that not picking up the warnings will lead to MySQL connection failure when using SSL.

On the infrastructure side, I've automated updates to localized documentation, so it now automatically follows master (on daily basis), so it will no longer happen that it's forgotten to be updated for few months. As you can see, there is quite big amount of strings to translate there, so any help is welcome.

Also the SQL parser finally got it's translations, you are welcome to contribute there as well (it mostly covers syntax error messages).

This is last report for 2016, I'm spending this week with family and without computer :-).

Handled issues:

Filed under: English phpMyAdmin | 0 comments

by Michal Čihař (michal@cihar.com) at December 27, 2016 11:00 AM

December 20, 2016

Michal Čihař

Weekly phpMyAdmin contributions 2016-W50

Last week was more focused on bug fixing in phpMyAdmin itself, though some of the libraries (like motranslator) got their attention as well. I've also finally looked at forgotten pull requests with new themes.

Especially OS X users will love fixing long outstanding bug with MySQL running in lower_case_table_names=2 mode. The MySQL server in this case returns table name in lower case in some situations and thus it didn't correctly compare with mixed case one. Hopefully this is fixed for now and I looking forward to another MySQL weirdness.

Another important fix is that future 4.6 releases will be compatible with PHP 7.1. We had the fixes ready in master branch, but 4.7.0 will be released in about three months, so it's better to push the fixes for new PHP version earlier (note that most of the errors were just in the testsuite, most of the code will work just fine).

Handled issues:

Filed under: English phpMyAdmin | 0 comments

by Michal Čihař (michal@cihar.com) at December 20, 2016 11:00 AM

December 16, 2016

Michal Čihař

wlc 0.7

wlc 0.7, a command line utility for Weblate, has been just released. There are several new commands like translation file download or statistics fetching.

Full list of changes:

  • Added reset operation.
  • Added statistrics for project.
  • Added changes listing.
  • Added file downloads.

wlc is built on API introduced in Weblate 2.6 and still being in development, you need Weblate 2.10 for some feature (already available on our hosting offering). You can find usage examples in the wlc documentation.

Filed under: Debian English phpMyAdmin SUSE Weblate | 2 comments

by Michal Čihař (michal@cihar.com) at December 16, 2016 09:09 AM

December 15, 2016

Michal Čihař

Weblate 2.10

Quite on the schedule, Weblate 2.10 is out today. This release brings Git exporter module, improves support for machine translation services and adds various CSV exports and API interfaces.

Full list of changes:

  • Added quality check to check whether plurals are translated differently.
  • Fixed GitHub hooks for repositories with authentication.
  • Added optional Git exporter module.
  • Support for Microsoft Cognitive Services Translator API.
  • Simplified project and component user interface.
  • Added automatic fix to remove control chars.
  • Added per language overview to project.
  • Added support for CSV export.
  • Added CSV download for stats.
  • Added matrix view for quick overview of all translations
  • Added basic API for changes and units.
  • Added support for Apertium APy server for machine translations.

If you are upgrading from older version, please follow our upgrading instructions.

You can find more information about Weblate on https://weblate.org, the code is hosted on Github. If you are curious how it looks, you can try it out on demo server. You can login there with demo account using demo password or register your own user. Weblate is also being used on https://hosted.weblate.org/ as official translating service for phpMyAdmin, OsmAnd, Aptoide, FreedomBox, Weblate itself and many other projects.

Should you be looking for hosting of translations for your project, I'm happy to host them for you or help with setting it up on your infrastructure.

Further development of Weblate would not be possible without people providing donations, thanks to everybody who have helped so far! The roadmap for next release is just being prepared, you can influence this by expressing support for individual issues either by comments or by providing bounty for them.

Filed under: Debian English phpMyAdmin SUSE Weblate | 0 comments

by Michal Čihař (michal@cihar.com) at December 15, 2016 01:15 PM

December 12, 2016

Michal Čihař

Gammu 1.38.0

Today Gammu 1.38.0 has been released. Changes in last two testing releases have been stabilized and this is the outcome. You can expect changes in API or SMSD tables as well as some additional features.

Also this is first stable release after several years which comes with Windows binaries. These are built using AppVeyor and will help bring Windows users back to latest versions.

Full list of changes and new features can be found on Gammu 1.38.0 release page.

Would you like to see more features in Gammu? You an support further Gammu development at Bountysource salt or by direct donation.

Filed under: Debian English Gammu | 0 comments

by Michal Čihař (michal@cihar.com) at December 12, 2016 05:00 PM

New location for Weblate

Today, Weblate got new home. The difference is not that big - it has been moved from my personal GitHub account to WeblateOrg organization.

The main motivation is to have all Weblate related repositories in one location (all others including wlc, Docker or website are already there). The move will also allow to better manage the project in future as having it in separate repositories provides less management options on GitHub than using organization.

In case you have cloned the git repository, please update

git remote set-url origin https://github.com/WeblateOrg/weblate.git

Of course all issue tracker locations have changed as well (I believe the redirect on GitHub will stay as long as I won't fork the repository, so expect it to work at least month). See GitHub documentation on repository moving.

I'm sorry for all the troubles, but I think this is really necessary move.

Filed under: Debian English SUSE Weblate | 0 comments

by Michal Čihař (michal@cihar.com) at December 12, 2016 11:00 AM

December 06, 2016

Michal Čihař

Weekly phpMyAdmin contributions 2016-W48

Last week was heavily focused on cleaning up our issue trackers. As you can see from huge list of issues I've closed there is always lot of things to handle. Many of those were not fixed though, it was just housekeeping of old questions where the submitter didn't come back after we've asked for clarification. On the code side there were some pull requests merges including those who needed non trivial fixes and authors didn't found time to implement them.

Another improvements were done on the Docker image, where several cleanups were done (more to follow this week).

Handled issues:

Filed under: English phpMyAdmin | 0 comments

by Michal Čihař (michal@cihar.com) at December 06, 2016 11:00 AM

November 29, 2016

Michal Čihař

Weekly phpMyAdmin contributions 2016-W47

Last week we've finally managed to release phpMyAdmin 4.6.5 (and quickly followed by hotfix 4.6.5.1). This included several security fixes (see my comment on our security status yesterday and lot of bugfixes as we've really failed to release quickly this time. Next release should follow two month release schedule, so let's see how we will manage that.

There was some work on the code and libraries as well. The ShapeFile library has reached 1.0 milestone after several fixes and testsuite improvements, so if you are looking for PHP library to handle ESRI Shape Files, this is the best choice right now.

Handled issues:

Filed under: English phpMyAdmin | 0 comments

by Michal Čihař (michal@cihar.com) at November 29, 2016 11:00 AM

November 28, 2016

Michal Čihař

phpMyAdmin security issues

You might wonder why there is so high number of phpMyAdmin security announcements this year. This situations has two main reasons and I will comment a bit on those.

First of all we've got quite a lot of attention of people doing security reviews this year. It has all started with Mozilla SOS Fund funded audit. It has discovered few minor issues which were fixed in the 4.6.2 release. However this was really just the beginning of the story and the announcement has attracted quite some attention to us. In upcoming weeks the security@phpmyadmin.net mailbox was full of reports and we really struggled to handle such amount. Handling that amount actually lead to creating more formalized approach to handling them as we clearly were no longer able to deal with them based on email only. Anyway most work here was done by Emanuel Bronshtein, who is really looking at every piece of our code and giving useful tips to harden our code base and infrastructure.

Second thing which got changed is that we release security announcements for security hardening even when there might not be any practical attack possible. Typical example here might be PMASA-2016-61, where using hash_equals is definitely safer, but even if the timing attack would be doable here, the practical result of figuring out admin configured allow/deny rules is usually not critical. Many of the issues also cover quite rare setups (or server misconfigurations, which we've silently fixed in past) like PMASA-2016-54 being possibly caused by server executing shell scripts shipped together with phpMyAdmin.

Overall phpMyAdmin indeed got safer this year. I don't think that there was any bug that would be really critical, on the other side we've made quite a lot of hardenings and we use current best practices when dealing with sensitive data. On the other side, I'm pretty sure our code was not in worse shape than any similarly sized projects with 18 years of history, we just become more visible thanks to security audit and people looked deeper into our code base.

Besides security announcements this all lead to generic hardening of our code and infrastructure, what might be not that visible, but are important as well:

  • All our websites are server by https only
  • All our releases are PGP signed
  • We actively encourage users to verify the downloaded files
  • All new Git tags are PGP signed as well

Filed under: Debian English phpMyAdmin SUSE | 0 comments

by Michal Čihař (michal@cihar.com) at November 28, 2016 05:00 PM

Deven Bansod

Weekly phpMyAdmin contributions 2016 – Week13

 

Last week saw the release of phpMyAdmin 4.6.5 (and 4.6.5.1 which included two minor fixes in 4.6.5) and security releases 4.4.15.9 and 4.0.10.18.

The 4.6.5 release had two minor but irritating issues: one with  mysqli_real_escape_string() being passed improper parameters and was reproducible when $cfg['only_db'] or $cfg['hide_db'] are set, other one was about user being forced to input a partition count on new table create page. The fixes have been made and are released as a part of 4.6.5.1

Majority of last week was spent on refactoring and templating of various PMA_getHtml* functions apart from regular issue assessment.

Handled issues:


Filed under: Contract Weekly Report, phpMyAdmin Tagged: Contract Developer, phpMyAdmin, Weekly Report

by Deven Bansod at November 28, 2016 04:03 AM

November 22, 2016

Michal Čihař

Weekly phpMyAdmin contributions 2016-W46

Last week was mostly focused on our libraries. I got merged several patches to our SQL parser from Deven and I've spent quite some time on ShapeFile library, which got several improvements.

It all started with one issue being reported and it actually pushed me to fix older issue - lack of tests. Few commits later the coverage went up to 92% and several bugs were fixed on the way, as some parts of the code were simply broken and nobody has used them so far.

Handled issues:

Filed under: English phpMyAdmin | 0 comments

by Michal Čihař (michal@cihar.com) at November 22, 2016 11:00 AM

November 21, 2016

Michal Čihař

New free software projects on Hosted Weblate

Hosted Weblate provides also free hosting for free software projects. I'm quite slow in processing the hosting requests, but when I do that, I process them in a batch and add several projects at once.

This time, the newly hosted projects include:

  • Harbour AllRadio - a radio player for online streaming radio (on Sailfishos/jolla mobile)
  • Simpletask - a GTD tool for Android
  • FSearch - a fast file search utility for GNU/Linux based on GTK+3
  • Peek - a simple animated Gif screen recorder for Linux
  • QTodoTxt - a cross platform todo.txt GUI
  • Stykur - fitness journal for Android and iOS
  • walabag - a self hostable application for saving web pages

If you want to support this effort, please donate to Weblate, especially recurring donations are welcome to make this service alive. You can do them on Liberapay or Bountysource.

Filed under: English Weblate | 0 comments

by Michal Čihař (michal@cihar.com) at November 21, 2016 05:00 AM

Deven Bansod

Weekly phpMyAdmin contributions 2016 – Week12

Last week I continued with regular bug-fixing and issue investigation.

The bug reported some months back about Long Request URI in the AJAX call while browsing the results of Database search was fixed. It was partially because everything was being embedded in the href attribute of the link which was changed to use the HTML5’s data-* attributes and the Request method was changed to POST (originally GET).

Some issues (#12360, #12361) with self-injections in some scripts was also fixed and a bug reported in the SQL parser repository (#62) some months back turned out to be already fixed covered with a lot of fixes that have been made over the last three months. Though there is an issue left with

Meanwhile, while working on some issue-related files in the codebase, I tried to clean up some old commented debugging calls as well.

Next week should be ideally focused on fixing some security issues and the regular bug-fixing.

Handled issues:


Filed under: Contract Weekly Report, phpMyAdmin Tagged: Contract Developer, phpMyAdmin, Weekly Report

by Deven Bansod at November 21, 2016 03:06 AM

November 18, 2016

Michal Čihař

Hosted Weblate changes Git repositories URLs

Since today all Git repositories from Hosted Weblate are exported over https. The previous git URLs will continue to work for some time. The exact depreciation schedule is not yet decided as this URL might be included in various scripts and there is nothing pushing us to disable the service.

The new Git URLs are consistent with Weblate URLs, just with /git/ in the path, so for example when your project is https://hosted.weblate.org/projects/weblate/website/, you can clone it using git clone https://hosted.weblate.org/git/weblate/website/.

Another important change is for private repositories, this now requires authentication using API key. You can specify it on the clone URL (git clone https://user:key@hosted.weblate.org/git/weblate/website/) or use gitcredentials to store it separately. The API key can be obtained from your user profile API page (once you're authenticated to Weblate).

Filed under: English Weblate | 0 comments

by Michal Čihař (michal@cihar.com) at November 18, 2016 01:00 PM

November 15, 2016

Michal Čihař

Weekly phpMyAdmin contributions 2016-W45

After week of silence (and sickness) I again did some work on phpMyAdmin. Again it was mostly focused on cleaning up piled issues and pull requests and it worked quite well.

Several of them needed minor changes before they can be safely merged and they were waiting for these for several weeks. In the end I've processed most of them and merged them with needed cleanups or polishing.

Handled issues:

Filed under: English phpMyAdmin | 0 comments

by Michal Čihař (michal@cihar.com) at November 15, 2016 05:00 PM

November 14, 2016

Deven Bansod

Weekly phpMyAdmin contributions 2016 – Week11

Last week, I started by looking at some security issues and made fixes for them. The rest of the week was focused on regular bug-fixing and issue assessment.

I worked on the issue to detect wrong ordering of clauses in the queries (#22) while being parsed by the SQL parser. There were some fixes in the main repository, too. The visual query builder used to generate a wrong query in case a foreign key with more than one columns was present between the tables (#12652) and was fixed by #12689.

There was fix (#12685) for an old issue (#12257) with the Table search page being very slow, as we were issuing an extra COUNT(*) queries (for helping us decide which UI to show) which might be very slow if tables have a large number of rows. It was fixed by implementing a work around for the COUNT(*) queries to get the necessary information.

I finally got all the tests and assertions to pass with the replacement of Util::sqlAddSlashes with escapeString function of the Database Interface (which in turn calls  the inbuilt mysqli_real_escape_string ) in PR #12564, which also fixed the issue related to corrupted export of SQL (#12453). Some other minor fixes were also made and are listed in the list below.

Next week should be ideally focused on fixing some security issues, bug-fixing and some refactoring if time permits.

Handled issues:
* #12695 wrong data shown
* #12691 unnecessary ksort call in PMA_getPlugins function
* #12439 Fix html header for user properties editor
* #12542 Missing table name in account privileges editor
* #12453 exported SQL is corrupted
* #12257 search page very slow
* #12652 Visual query builder fails with foreign keys referencing more than one column
* #12687 decimal(12,2) error – rounds to decimal (12)
* #12681 Symbol $ in table names passed incorrect from “designer” to “table structure editor”
* #12651 Enter key on grid editor date field
* #12674 Unable to rename tables that start with a period
* #12684 ENUM (‘Y’,’N’)
* #22 switched WHERE and LIMIT not detected


Filed under: Contract Weekly Report, phpMyAdmin Tagged: Contract Developer, phpMyAdmin, Weekly Report

by Deven Bansod at November 14, 2016 05:00 AM

November 07, 2016

Deven Bansod

Weekly phpMyAdmin contributions 2016 – Week10

 

Last week was slightly calmer on the work side, since I fell ill once I got back to campus. But during the later part of the week, I worked on getting the tests to work in the old PR that was originally made to replace the custom escape functions by the escape functions like mysqli_real_escape_string provided by the PHP-MySQL connectors. This is being tracked at PR #12564 and once merged, it would also fix the issue #12453.

Meanwhile I have made some PRs (#12678, #12683) which once merged would go on to fix #12674 (which is about preventing incorrect identifiers as table names and database names) and #12681 (which is about incorrect link to table structure if table name contains $ symbol).

This week I also took out some time to refactor a small Language selection display and converted it into a template. Also, quite a lot of commits are being made in the PR #12564 itself, since a lot of tests have to be fixed. Along with this, some time was spent on

Next week I would continue to look at the bug-fixing and might also look at some security issues if the time permits.

Handled issues:
* #12680 No bind for enum values while edit table structure
* #12679 Value fields contain .php files instead of the raw value
* #12670 not bug but idea: upgrade from within phpMyAdmin
* #12671 Your Stable 4.6.4 version of phpmyadmin got a bug with enum table creation


Filed under: Contract Weekly Report, phpMyAdmin Tagged: Contract Developer, phpMyAdmin, Weekly Report

by Deven Bansod at November 07, 2016 06:36 AM

November 04, 2016

Michal Čihař

Weblate 2.9

Slightly behind schedule (it should have been released in October), Weblate 2.9 is out today. This release brings Subversion support or improved zen mode.

Full list of changes:

  • Extended parameters for createadmin management command.
  • Extended import_json to be able to handle with existing components.
  • Added support for YAML files.
  • Project owners can now configure translation component and project details.
  • Use "Watched" instead of "Subscribed" projects.
  • Projects can be watched directly from project page.
  • Added multi language status widget.
  • Highlight secondary language if not showing source.
  • Record suggestion deletion in history.
  • Improved intuitivity of languages selection in profile.
  • Fixed showing whiteboard messages for component.
  • Keep preferences tab selected after saving.
  • Show source string comment more prominently.
  • Automatically install Gettext PO merge driver for Git repositories.
  • Added search and replace feature.
  • Added support for uploading visual context (screnshots) for translations.

If you are upgrading from older version, please follow our upgrading instructions.

You can find more information about Weblate on https://weblate.org, the code is hosted on Github. If you are curious how it looks, you can try it out on demo server. You can login there with demo account using demo password or register your own user. Weblate is also being used on https://hosted.weblate.org/ as official translating service for phpMyAdmin, OsmAnd, Aptoide, FreedomBox, Weblate itself and many other projects.

Should you be looking for hosting of translations for your project, I'm happy to host them for you or help with setting it up on your infrastructure.

Further development of Weblate would not be possible without people providing donations, thanks to everybody who have helped so far! The roadmap for next release is just being prepared, you can influence this by expressing support for individual issues either by comments or by providing bounty for them.

Filed under: Debian English phpMyAdmin SUSE Weblate | 4 comments

by Michal Čihař (michal@cihar.com) at November 04, 2016 11:00 AM

October 31, 2016

Deven Bansod

Weekly phpMyAdmin contributions 2016 – Week9

Last week was focused on bug-fixing in main repository and refactoring and adding some tests to the SQL parser. The parser library has now has reached unit test coverage of 99.75% as reported by the Codecov.io tool. The rest of week in which I had thought I would find less time, in fact turned out to be quite normal and I made and pushed fixes for some newer issues as well
as some issues which had been opened since a few months. I also reviewed a pull request adding a grey color for NULL cells in the result set to make it more recognizable.

Some issues in the SQL parser, for example, an issue with incorrect parsing of various types of JOINs and improper lexing of begin labels in the stored procedure statements were also fixed during the week’s bug-fixing.

Next week, I might take a look at the security issues along with the regular bug-fixing and taking up some refactoring work if the time permits. Since, I would be travelling back to campus on Monday and Tuesday, my activity might be slightly less over these two days, but I hope I would be able to make up for it during the remaining part of the week.

Handled issues:
* #12665 Cannot add a foreign key – fields not listed
* #12195 Row_format = fixed not visible
* #12228 SQL parser indicates error for Event definitions using BEGIN..END
* #12344 inapt error symbol when labeling a loop in a routine
* #12661 Error inserting into pma__history after timeout
* #12610 Export of tables with Timestamp/Datetime/Time columns defined with ON UPDATE clause with precision fails
* #12622 Javascript error from Designer
* #12664 Create Bookmark broken
* #12637 Use of a Timestamp column with a value greater than 23:00:00 is not allowed by PMA 4.6.4
* #12543 NULL results in dataset are colored grey
* #12662 Null results in dataset now colored grey (#12543)
* #12454 Query history not updated in console until page refresh
* #12365 Error on displaying total number of records when executing a select query on a table which contains large number of records
* #12656 Server selection not working
* #64 Error #57 fixed.
* #57 inapt error symbol when labeling a loop in a routine
* #93 “Natural” not recognized


Filed under: Contract Weekly Report, phpMyAdmin Tagged: Contract Developer, phpMyAdmin, Weekly Report

by Deven Bansod at October 31, 2016 04:51 AM

October 25, 2016

Michal Čihař

New features on Hosted Weblate

Today, new version has been deployed on Hosted Weblate. It brings many long requested features and enhancements.

Adding project to watched got way simpler, you can now do it on the project page using watch button:

Watch project

Another feature which will be liked by project admins is that they can now change project metadata without contacting me. This works for both project and component level:

Project settings

And adding some fancy things, there is new badge showing status of translations into all languages. This is how it looks for Weblate itself:

Translation status

As you can see it can get pretty big for projects with many translations, but you get complete picture of the translation status in it.

You can find all these features in upcoming Weblate 2.9 which should be released next week. Complete list of changes in Weblate 2.9 is described in our documentation.

Filed under: Debian English phpMyAdmin SUSE Weblate | 0 comments

by Michal Čihař (michal@cihar.com) at October 25, 2016 04:00 PM

Weekly phpMyAdmin contributions 2016-W42

Last week got again more focus on bug fixing. Mostly those were again hardenings on our infrastructure and Docker image, but there were some fixes as well. Overall the phpMyAdmin docker image got much better and it will be be even better with upcoming 4.6.5 release which adds some improvements to the main codebase.

Handled issues:

Filed under: English phpMyAdmin | 0 comments

by Michal Čihař (michal@cihar.com) at October 25, 2016 10:00 AM

October 24, 2016

Deven Bansod

Weekly phpMyAdmin contributions 2016 – Week8

In the last week, I could contribute slightly less as I spent some time working on the python library pcap_to_ditg (related to my research project at the university and unrelated to PMA as such). Friday and Saturday also saw slightly less activity as I was travelling home for the Diwali festivities upcoming in the next week.

While using the debugging feature of phpMyAdmin in reproducing some other issue, I managed to discover some issues with the debugging feature of phpMyAdmin as it was throwing a JS error while trying to look at the traces and arguments of the functions which were called without any arguments. I reported it and fixed the issue at #12639.

Since version 10.1.2, MariaDB has introduced password validation plugins (for ex. simple_password_check) for validating if the password provided while creating a new user satisfies the  minimum requirements or not. phpMyAdmin tried to create the new user using CREATE USER … IDENTIFIED VIA .. USING … where we used the hashed password which the validating plugins reject as they cannot check for the complexity from the hash. So, we now check if any of these plugins are active in MariaDB and provide a cleartext password in such cases.

I worked on a few JS issues which we have received regarding our TIME, TIMESTAMP, DATETIME, DATE fields’ input in phpMyAdmin’s Table Insert page and the Grid edit feature on Browse page, but the work on these is still on-going and they should be fixed in coming week(s).

Next week might have a similar focus on bug-fixing, some issue assessment of remaining unattended issues and some refactoring. I might find slightly less time next week due to festivities, but having spent slightly more than scheduled time in the first two weeks of this month, it should not be much of a problem overall.

Handled issues:
* #12650 Error when rename table with whitespace at start or end
* #12649 Bug in changing the datatype via change action
* #12533 Incorrect selected record statement counts for complex queris using group by and derived tables
* #12472 Setup issues
* #12366 Cannot create a new user (MariaDB)
* #12639 ‘Show trace’ in Console generates JS error for functions in query’s trace called without any arguments


Filed under: Contract Weekly Report, phpMyAdmin Tagged: Contract Developer, phpMyAdmin, Weekly Report

by Deven Bansod at October 24, 2016 03:53 AM

October 21, 2016

Deven Bansod

pcap_to_ditg Python library released

Yesterday, I packaged and released my first python library pcap_to_ditg‘s version 0.1.1.

The library can be used to convert the Packet capture files generated from Wireshark, TCPDump etc. into DITG script files. This would make it possible to read a trace file generated from any port of any topology and replay the traffic exactly onto your custom topology. I hope this would go on and help the network researchers while testing their prototypes in real traffic scenarios.

Since last semester, I had been working with Dr. K. Haribabu, who is an Assistant professor at BITS Pilani currently working on the research areas like Software Defined Networking (SDN), Hybrid and cost-effective SDN deployment, P2P networks etc. I co-authored a paper with him which was presented in July, 2016 at the International Network Conference 2016, Frankfurt, Germany. For the performance evaluation, we were in need of replicating real Network traffic and check how our prototype delivers and scales.

I researched and tried out various traffic generators mentioned in this list, but no one was fulfilling our requirements exactly. Moreover, even after one gets the real network traces (for ex, we used one here), since there is no prior knowledge of the topology of the network of the trace, it’s not very simple to replicate it as it is. So, I manually mapped the hosts and IPs in the traces to the hosts in our test topology and we decided that we would use the DITG script files to replay the traffic. Once the mapping is complete, the library would generate the script files for all our hosts, which can then be run as it is.

The library installation and usage details are available in README on Package Index page or on my Github (where mostly its future development should go on).

Share it with your friends if you know someone who might need to use it. Contributions in Pull Requests, Feature Requests, Bug reports etc. are always welcome (through Github tracker).


Filed under: Development, Re-Start Tagged: Hybrid SDN, Networks Lab, pcap_to_idt, Python Library, SDN

by Deven Bansod at October 21, 2016 09:50 AM

October 19, 2016

Michal Čihař

Gammu 1.37.90

Yesterday Gammu 1.37.90 has been released. This release brings quite a lot of changes and it's for testing purposes. Hopefully stable 1.38.0 will follow soon as soon as I won't get negative feedback on the changes.

Besides code changes, there is one news for Windows users - there is Windows binary coming with the release. This was possible to automate thanks to AppVeyor, who does provide CI service where you can download built artifacts. Without this, I'd not be able to do make this as I don't have single Windows computer :-).

Full list of changes:

  • Improved support Huawei K3770.
  • API changes in some parameter types.
  • Fixed various Windows compilation issues.
  • Fixed several resource leaks.
  • Create outbox SMS atomically in FILES backend.
  • Removed getlocation command as we no longer fit into their usage policy.
  • Fixed call diverts on TP-LINK MA260.
  • Initial support for Oracle database.
  • Removed unused daemons, pbk and pbk_groups tables from the SMSD schema.
  • SMSD outbox entries now can have priority set in the database.
  • Added SIM IMSI to the SMSD status table.
  • Added CheckNetwork directive.
  • SMSD attempts to power on radio if disabled.
  • Fixed processing of AT unsolicited responses in some cases.
  • Fixed parsing USSD responses from some devices.

Would you like to see more features in Gammu? You an support further Gammu development at Bountysource salt or by direct donation.

Filed under: Debian English Gammu | 0 comments

by Michal Čihař (michal@cihar.com) at October 19, 2016 04:00 AM

October 18, 2016

Michal Čihař

Weekly phpMyAdmin contributions 2016-W41

Last week was mostly focused on motranslator and removing it's usage of eval(). After introducing library to do the expression evaluation, I've learned that there is already existing library having all features we need - symfony/expression-language. There could be better way to learn this, but still lesson learned and I will evaluate existing libraries more carefully next time. Now the motranslator 2.0 is out without eval() and with dependency on symfony/expression-language.

Besides that there was some discussion about improving quality of our documentation translations by using automated checks. The set of such checks is already provided by Weblate, but it really doesn't cover RST markup and some improvements could be borrowed from the dennis tool.

Handled issues:

Filed under: English phpMyAdmin | 0 comments

by Michal Čihař (michal@cihar.com) at October 18, 2016 10:00 AM

October 17, 2016

Deven Bansod

Weekly phpMyAdmin contributions 2016 – Week7

The last week was again mostly focused on bug-fixing along with working on some fixes for the recently raised security issues (and so are not included in the issues listed below).

Similar to last week, I also continued looking at previously unattended and unlabeled issues on the tracker. Some fixes for #12366 (which is about using password in CREATE USER statement while the *_password_check plugins in MariaDB are active) and #12472 (which is related to wrong DSN shown in phpMyAdmin setup page with config method) are currently made as PRs to get a review before merging them.

The issue #12610 would also be fixed once the new SQL parser is released and is updated to the recent version in the main repository. I have also made the fix for #12533 but I am waiting for a feedback from the original reporter to see if it has fixed the problem as expected.

Next week might focus on bug-fixing, some issue assessment of remaining unattended issues and some refactoring.

Handled issues:
* #12638 Enum values evaluated to zero in 4.6.4
* #12338 Designer reverts to first saved ER after EACH relation create or delete
* #12634 Drop DB error in import if DB doesn’t exist
* #12633 Add ENUM column fails
* #12625 Broken Edit links in query results of JOIN query
* #12630 Generating incorrect query for table creation
* #12350 Visiting url_params is string & not array
* #92 ON UPDATE option in a field definition of TIMESTAMP type with precision is not parsed appropriately


Filed under: Contract Weekly Report, phpMyAdmin Tagged: Contract Developer, phpMyAdmin, Weekly Report

by Deven Bansod at October 17, 2016 04:26 AM

October 14, 2016

Michal Čihař

New free software projects on Hosted Weblate

Hosted Weblate provides also free hosting for free software projects. I'm quite slow in processing the hosting requests, but when I do that, I process them in a batch and add several projects at once.

This time, the newly hosted projects include:

Filed under: Debian English SUSE Weblate | 0 comments

by Michal Čihař (michal@cihar.com) at October 14, 2016 04:00 PM

motranslator 2.0

Yesterday, the motranslator 2.0 has been released. As the version change suggests there are some important changes under the hood.

Full list of changes:

  • Consistently use camelCase in API
  • No more relies on using eval()
  • Depends on symfony/expression-language for calculations

As you can see, yesterday announced SimpleMath is not used in the end and I've moved to use existing library. Somehow I misunderstood library description and I thought that it works as PHP, what would be problem for us (or would bring need to add parenthesis around ternary operator as we did with eval()). But this is not the case and ternary operator behaves sane in ExpressionLanguage, so we're good too use it.

Anyway if you were using MoTranslator, it might be good idea to upgrade and check if API changes affect you.

Filed under: Debian English phpMyAdmin | 0 comments

by Michal Čihař (michal@cihar.com) at October 14, 2016 04:00 AM

October 13, 2016

Michal Čihař

Announcing SimpleMath

For quite some time we've been relying on using eval() function in phpMyAdmin in two places. One of them is gettext library, where we have to evaluate plural forms and second of them is MySQL configuration advisor, which does it's suggestions based on text file (the original idea was to make this file shared with other tools, but it never really worked out).

Using eval() in PHP is something what is better to avoid, but we were using it on data we ship, so it was considered safe. On the other side, there are hostings which deny using eval() altogether (as many of exploits are using this function), so it's better to avoid that. I've been looking for options for replacing eval() in motranslator (library we use for handling Gettext MO files) for quite some time, but never found library which would support all operators needed in Gettext plural formulas.

Yesterday I finally came to conclusion that writing own library to do this is best approach. This way it can in future extended to work with Advisor as well. Also we can make it pretty lightweight without additional dependencies (what was problem in some existing libraries I've found).

To make the story short, this is how SimpleMath was born. As of now, it has grown to version 0.2 (you can use Packagist to install it). For now it's really simple and it can be probably confused by various strange inputs, but it seems for work pretty well for our case. Currently supported features:

  • Supports basic arithmetic operations +, -, *, /, %
  • Supports parenthesis
  • Supports right associative ternary operator
  • Supports comparison operators ==, !=, >, <, >=, <=
  • Supports basic logical operations &&, ||
  • Supports variables (either PHP style $a or simple n)

Maybe it will be usable for somebody else as well, but even if not, it's the way for us to get rid of using eval() in our codebase.

Update

It seems that Symfony ExpressionLanguage Component is doing pretty much same, but more flexible and faster, so SimpleMath will be probably dead soon and we will switch to using Symphony component.

Filed under: Debian English phpMyAdmin | 4 comments

by Michal Čihař (michal@cihar.com) at October 13, 2016 04:00 AM

October 11, 2016

Michal Čihař

stardicter 0.10

Stardicter 0.10, the set of scripts to convert some freely available dictionaries to StarDict format, has been released today. There are mostly minor changes and it's time to push them out in official release.

There is one change worth mentioning though - the original site for English - Czech dictionary (http://slovnik.zcu.cz/) has stopped to work and has been moved to https://www.svobodneslovniky.cz/. Hopefully this new location will live at least as long as the original one and will bring back new contributors (honestly the original dictionary gained mostly spam entries in last months). The dictionary data are now hosted in Git repository on GitHub.

Filed under: Debian English StarDict | 0 comments

by Michal Čihař (michal@cihar.com) at October 11, 2016 04:00 PM

October 10, 2016

Deven Bansod

Weekly phpMyAdmin contributions 2016 – Week6

 

The last week started with some fixes for the recently raised security issues. As I am slightly new to the security fixes, the team would be reviewing those fixes, accepting them and/or suggesting changes.

Along with the security work, normal bug-fixing work was also on its schedule. I took up issue assessment and tried to reproduce and classify (using the Github tracker labels) the open issues which were not yet replied-to or were unlabeled yet. This would help the developers to actually keep track of any remaining important issue which might have been lingering due to it being missed the first time it was raised.

A bug in exporting of results of UNION and JOIN queries was fixed and it should work without any errors. The problem was mainly because some queries might actually not have the FROM clause, but we were running the alias replacement code for each and every query without making sure if the FROM clause actually exists or not.

Some time was spent on working towards the PR #12564 which is regarding replacing the custom escaping function with the MySQLi connector provided mysqli_real_escape_string. It has a lot of changes involved and almost every other test has to be modified a bit. Hopefully, I would be done with it by the end of this week.

Next week might focus again on bug-fixing, some issue assessment of remaining unattended issues and some refactoring.

Handled issues:
* #12624 “Continue Insertion with … Rows” copies content from last row
* #12623 Creating Table with Decimal only honors first value
* #12620 Error 500 click on any table to view data
* #12621 Bug with Decimal Columns
* #12619 Unable to export csv when using union select
* #12362 prefs_manage.php can leave an orphaned temporary file
* #12618 bug in 4.6.4: wrong “Preview SQL”
* #12569 Import.php throws error message twice on the screen
* #12440 Fix #12419 wrong description on GRANT option of table/routine privileges
* #12613 Precision is ignored for any field type
* #12179 saving a bookmark with several queries produces one entry per query in pma__bookmarks
* #12327 Create PHP code no longer works
* #12455 Query history stores separate entry for every letter typed
* #12612 Test failure since update to SQL parser 3.4.9
* #12080 Parse error using subquery in from list
* #12316 Exporting with JOIN removes everything between FROM and WHERE
* #11740 DELETE … USING
* #12100 SQL parser doesn’t understand CASE operator
* #12602 Wrong privileges grant on wildcard name for new user (missing escaping)
* #12189 Count for result is wrong when joining and outputting from only 1 table
* #91 Syntax error in ‘Discoverying query type’ example (missing semicolon)


Filed under: Contract Weekly Report, phpMyAdmin Tagged: Contract Developer, phpMyAdmin, Weekly Report

by Deven Bansod at October 10, 2016 05:06 AM

October 03, 2016

Deven Bansod

Weekly phpMyAdmin contributions 2016 – Week5

 

Even though the list of handled issues seems a bit smaller for this week, the week was in no way less intensive than the previous ones. A large number of issues namely #12455, #12569, #12179, #12327, #12316, #12080, #11740, sql-parser’s #52 are in queue to be fixed along with the ones reported below which are already fixed.

A major breakthrough for this week’s parser activity was that the SQL parser would now (once the PR #90 is merged) be able to parse the queries which have sub-queries in the FROM clause. This had been a long-standing bug in the parser and had been reported multiple times both in the main repository’s as well as SQL parser’s tracker.

The parsing for CASE expressions in SELECT statements and for various forms of the DELETE statement would also be added once #88 and #87 are merged. An issue with wrong replacement and then building of a SQL statement that did not have FROM clause at all was causing a problem while exporting results of such a statement and was fixed.

Next week might divide the focus between some security issues, regular bug-fixing and I might take up some refactoring if the time permits.

Handled issues:
* #12189 Count for result is wrong when joining and outputting from only 1 table
* #12609 LIMIT and OFFSET don’t work with JOIN statement
* #12600 Error after creating ENUM fielda
* #12579 phpMyAdmin’s export of a Select statment without a FROM clause generates Wrong SQL
* #12404 Remove collation options
* #12589 BUG: wrong SQL generated for DECIMAL field length


Filed under: Contract Weekly Report, phpMyAdmin Tagged: Contract Developer, phpMyAdmin, Weekly Report

by Deven Bansod at October 03, 2016 05:55 AM

September 27, 2016

Michal Čihař

Weekly phpMyAdmin contributions 2016-W38

Last week was again mostly spent on reviewing pull requests and screening issues. This little housecleaning work is sometimes surprisingly time consuming :-).

Besides that I've again reviewed potential security weaknesses in our process reported by Emanuel Bronshtein. This lead to various hardenings in our Docker container, Debian packages or our website. There are still places to improve, but we're getting better with every commit.

Additionally there was release for motranslator and SQL parser, both of these are now properly listed on GitHub releases page.

Handled issues:

Filed under: English phpMyAdmin | 0 comments

by Michal Čihař (michal@cihar.com) at September 27, 2016 10:00 AM

Subscriptions

Planet phpMyAdmin aggregates blogs of following phpMyAdmin contributors.

Last updated

March 23, 2017 10:00 PM
All times are UTC.

Feeds

[RSS 1.0 Feed] [RSS 2.0 Feed] [Atom Feed] [FOAF Subscriptions] [OPML Subscriptions] [Venus]

Planetarium