I'm glad to announce that I've been awarded a 5,000 USD "Flash Grant" by the Shuttleworth Foundation.
Flash grants are an interesting funding model, which I've just learned about. You don't need to apply for them. Rather, you get nominated by current fellows, and then selected and approached by the foundation for funding. The grant amount is smaller than actual fellowships, but it comes with very few strings attached: furthering open knowledge (which is the foundation's core mission) and being transparent about how you use the money.
I'm lucky enough to already have a full-time job to pay my bills, and I do my Free Software activism mostly in my spare time. So I plan to use the money not to pay my bills, but rather to boost the parts of my Free Software activities that could benefit from some funding. I don't have a fully detailed budget yet but, tentatively: some money will go to fund Debsources development (by others), some into promoting my thoughts on the dark ages of Free Software, and maybe some into helping the upcoming release of Debian. I'll provide a public report at the end of the funding period (~6 months from now).
I'd like to thank the Shuttleworth Foundation for the grant and foundation's fellow Jonas Öberg for making this possible.
Weblate 2.1 has been released today. It comes with native Mercurial support, user interface cleanup and various other fixes.
Full list of changes for 2.1:
- Added support for Mercurial repositories.
- Replaced Glyphicon font by Awesome.
- Added icons for social authentication services.
- Better consistency of button colors and icons.
- Documentation improvements.
- Various bugfixes.
- Automatic hiding of columns in translation listing for small screens.
- Changed configuration of filesystem paths.
- Improved SSH keys handling and storage.
- Improved repository locking.
- Customizable quality checks per source string.
You can find more information about Weblate on http://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. Ready to run appliances will be soon available in SUSE Studio Gallery.
If you are free software project which would like to use Weblate, I'm happy to help you with set up or even host Weblate for you.
Further development of Weblate would not be possible without people providing donations, thanks to everybody who have helped so far!
Creative Juices: I Survived Drupalgeddon: How Hackers Took Over My Site, What I Did About It, And How You Can Stay Safe
If you stop, you loose. This rule works always, especially speaking about IT industry. Those, who work with Drupal for a long time, probably remember how hard it was to switch from Drupal 6 to its 7th version. Seems, that it all took place not so long ago, but official release of Drupal 8 took place recently…Read more
This was written in response to a message with a list of demotivating behaviours in email interactions, like fingerpointing, aggressiveness, resistance when being called out for misbehaving, public humiliation for mistakes, and so on
There are times when I stumble on an instance of the set of things that were mentioned, and I think "ok, today I feel like doing some paid work rather than working on Debian".
If another day I wake up deciding to enjoy working on Debian, which I greatly do, I try and make sure that I can focus on bits of Debian where I don't stumble on any instances of the set of things that were mentioned.
Then I stumble on Gregor's GDAC and I feel like I'd happily lose one day of pay right now, and have fun with Debian.
I feel like Debian is this big open kitchen populated by a lot of people:
- some dump shit
- some poke the shit with a stick, contributing to the spread of the smell
- some carefully clean up the shit, which in the short term still contributes to the smell, but makes things better in the long term
- some prepare and cook, making a nice smell of food and NOMs
- some try out the food and tell us how good it was
I have fun cooking and tring out the food. I have fun being around people who cook and try out the food.
The fun in the kitchen seems to be correlated to several things, one of which is that it seems to be inversely proportional to the stink.
I find this metaphore interesting, and I will start thinking about the smell of a mailing list post. I expect it should put posts into perspective, I expect I will develop an instinct for it, so that I won't give a stinky post the same importance of a post that smells of food.
I also expect that the more I learn to tell the smell of food from the smell of shit, the more I can help cleaning it, and the more I can help telling people who repeatedly contribute to the stink to please try cooking instead, or failing that, just try and stay out of the kitchen.
Part 2 of our series about hosting and playing videos in Drupal explores hosted video solutions in detail, and offers some basic information about using video sharing sites. See part 1 for a short explanation of the most popular Drupal modules for video handling, and an introduction of CDNs and cloud storage services.
Together with members of almost all credativ offices world-wide I travelled to Madrid in October to attend PGConf Europe, the most important European PostgreSQL event. The conference, as usual, was greatly organized and had a lot of interesting presentations and thus, was rightfully sold-out. It again brought together a lot of the PostgreSQL community.
My non-technical presentation about whether Open Source is a blessing or a curse attracted a sizeable audience despite starting early. Also we got into a good discussion about some of the points raised which again showed that Open Source in general and PostgreSQL in particular are more and more considered because of their strategic importance.
Then in November I was invited to do a presentation at Open Source India Days 2014 in Bangalore or as it nowadays is called again Bengaluru. I was able to conveniently combine the trip to the conference with a scheduled visit to our office there.
The conference was a very pleasant surprise. Despite being called the largest Open-Source conference in Asia I never made it there before. And, frankly, I was impressed about the size. Maybe not so surprisingly the conference was dominated by presentations about cloud solutions and technology.
I, however, talked about the importance of community for businesses in particular pointing to Debian and PostgreSQL as very successful community projects. And again a large audience listened ini showing again the interest in strategic aspects of Open Source. Due to time constraints we weren't able to do a discussion during the presentation, or even allow questions/answers at the end, but a lot of people caught me afterwards to discuss points or make valuable remarks.
Both events are very worthy entries for next year's schedule.Categories:
My last problem with BTRFS was in August . BTRFS has been running mostly uneventfully for me for the last 4 months, that’s a good improvement but the fact that 4 months of no problems is noteworthy for something as important as a filesystem is a cause for ongoing concern.A RAID-1 Array
A week ago I had a minor problem with my home file server, one of the 3TB disks in the BTRFS RAID-1 started giving read errors. That’s not a big deal, I bought a new disk and did a “btrfs replace” operation which was quick and easy. The first annoyance was that the output of “btrfs device stats” reported an error count for the new device, it seems that “btrfs device replace” copies everything from the old disk including the error count. The solution is to use “btrfs device stats -z” to reset the count after replacing a device.
I replaced the 3TB disk with a 4TB disk (with current prices it doesn’t make sense to buy a new 3TB disk). As I was running low on disk space I added a 1TB disk to give it 4TB of RAID-1 capacity, one of the nice features of BTRFS is that a RAID-1 filesystem can support any combination of disks and use them to store 2 copies of every block of data. I started running a btrfs balance to get BTRFS to try and use all the space before learning from the mailing list that I should have done “btrfs filesystem resize” to make it use all the space. So my balance operation had configured the filesystem to configure itself for 2*3TB+1*1TB disks which wasn’t the right configuration when the 4TB disk was fully used. To make it even more annoying the “btrfs filesystem resize” command takes a “devid” not a device name.
I think that when BTRFS is more stable it would be good to have the btrfs utility warn the user about such potential mistakes. When a replacement device is larger than the old one it will be very common to want to use that space. The btrfs utility could easily suggest the most likely “btrfs filesystem resize” to make things easier for the user.
In a disturbing coincidence a few days after replacing the first 3TB disk the other 3TB disk started giving read errors. So I replaced the second 3TB disk with a 4TB disk and removed the 1TB disk to give a 4TB RAID-1 array. This is when it would be handy to have the metadata duplication feature and copies= option of ZFS.Ctree Corruption
2 weeks ago a basic workstation with a 120G SSD owned by a relative stopped booting, the most significant errors it gave were “BTRFS: log replay required on RO media” and “BTRFS: open_ctree failed”. The solution to this is to run the command “btrfs-zero-log”, but that initially didn’t work. I restored the system from a backup (which was 2 months old) and took the SSD home to work on it. A day later “btrfs-zero-log” worked correctly and I recovered all the data. Note that I didn’t even try mounting the filesystem in question read-write, I mounted it read-only to copy all the data off. While in theory the filesystem should have been OK I didn’t have a need to keep using it at that time (having already wiped the original device and restored from backup) and I don’t have confidence in BTRFS working correctly in that situation.
While it was nice to get all the data back it’s a concern when commands don’t operate consistently.Debian and BTRFS
I was concerned when the Debian kernel team chose 3.16 as the kernel for Jessie (the next Debian release). Judging by the way development has been going I wasn’t confident that 3.16 would turn out to be stable enough for BTRFS. But 3.16 is working reasonably well on a number of systems so it seems that it’s likely to work well in practice.
But I’m still deploying more ZFS servers.The Value of Anecdotal Evidence
When evaluating software based on reports from reliable sources (IE most readers will trust me to run systems well and only report genuine bugs) bad reports have a much higher weight than good reports. The fact that I’ve seen kernel 3.16 to work reasonably well on ~6 systems is nice but that doesn’t mean it will work well on thousands of other systems – although it does indicate that it will work well on more systems than some earlier Linux kernels which had common BTRFS failures.
But the annoyances I had with the 3TB array are repeatable and will annoy many other people. The ctree coruption problem MIGHT have been initially caused by a memory error (it’s a desktop machine without ECC RAM) but the recovery process was problematic and other users might expect problems in such situations.
The local custom in Kauai is for you to remove your shoes before coming into the house, because I have an injured toe I had been ignoring this.
Apparently the Kauai deities decided I should be taught a lesson.
Just a quick note of how we resolved an issue related to an upgrade to Date.
We recently updated Date in our core distribution to date-7.x-2.9-beta1 and on one site, we had a number of date fields set up as just "Date". After the update, the display of all of these ended up 7 - 8 hours off -- when you edit the node, it shows up with the correct time, and when you display the node, it's off by 8 hours.DrupalDrupal PlanetUpdatesDate ModuleTime zone
Although the Blue Drop Awards are still a few months away, preparation has already begun. However, this isn’t a one-man show; we need your help. There are many ways to get involved such as volunteering, becoming a sponsor, posting to your social media networks and more.
In case you were not aware, in 2012, a group of volunteers set out to create an annual program that aims to increase the awareness of Drupal and it’s capabilities. Now in it’s fourth year, this community-nominated, publicly-voted event recognizes the contributions of individuals, companies, and projects. The Blue Drop Awards are 100% volunteer-organized so we need your help to highlight and showcase the best Drupal websites/modules out there.
There are lots of ways of getting involved! Currently we're looking for sponsors to help us continue this annual project and volunteers to help us run the project.
We're looking for kind volunteers, who are interested in helping with verifying nominations, web design, development, running the booth at DrupalCon LA, wrangling other volunteers and sponsors, and more.
Sponsors are the only way for us to make this a sustaining project because it takes significant amounts of time and resources to put this project on every year. Luckily for our fantastic sponsors, there are tons of benefits of becoming a sponsor! For 2015 we have four sponsorship packages to choose from; sign up and we’ll get your brand in front of tens of thousands of people in the Drupal community. This is a great lead generation and branding opportunity for our sponsors.
Regardless of whether you decide to sponsor or volunteer, we can't wait to see all of the great Drupal nominees come February!
A big THANK YOU to our talent in this Drupal video: Doug Vann (DougVann.com), Arnold Leung (Appnovation), Michael Spinosa (Unleashed Technologies), Stephen Weinberg (Commerce Guys), Ben Finklea, Erik Wagner, Brian Solka, Alexander Popov, and Gilbert Sauceda (Volacci).Tags: Planet Drupal Drupal blue drop awards
In our third year supporting the Drupal Global Training Days Initiative, we have seen more training companies, more community leaders, and more individuals participate than ever before.
Each quarter, communities and training companies host Introduction to Drupal sessions, building better and brighter community members. Global Training Days (GTD) is an opportunity for local training companies and community leaders to build their local community by offering low cost/free Introduction to Drupal training. The Drupal Association lists your training on our site, promotes GTDs and is available to consult on planning and curriculum. Offering these trainings has anecdotally shown to significantly grow individual participation in communities, build a pool of developers, and raise general awareness for the Drupal project.
This year 35 countries hosted over 170 low cost or free trainings. This year our Asian-Pacific communities really embraced GTDs! We had 8 Indian companies host trainings in Srinagar, Bangalore, Ghaziabad, Delhi, Mumbai, Kolkata, and Gurgaon -- the most trainings in one individual country. China, South Korea, Pakistan, New Zealand, Australia, and Japan also hosted training sessions, really highlighting our growth and momentum in Asia-Pacific.
Feeling inspired? Sign up to host a GTD at your DrupalCamp, meet-up, or your local user group. Are you new to Drupal, or do you want to participate in an introductory training? Try reaching out to local Drupal training company to host an event.
Make sure you save the following dates to host and participate in Global Training Days in 2015:
- February 27/28
- May 22/23
- August 21/22
- November 20/21
— Rachit Gupta (@tweet_rachit) September 6, 2014
I'm reading planet debian since many years, & I still enjoy it. I like the mixture of personal thoughts/stories & insightful technical tips. – today's recommendation: Don't ask your questions in private. very much agreed.
this posting is part of GDAC (gregoa's debian advent calendar), a project to show the bright side of debian & why it's fun for me to contribute.
My first plan was to participate in the Bug Squashing Party (BSP) in Paris, but finally I didn’t manage to organize the travel and proper stay in the capital of France. Finally I settled on Munich and below you will find a summary of my stay there. While organizing my trip, the Munich natives offered me a couch to surf during the stay, which was very kind. In the end, however, I stayed at my friend’s place - thanks a lot Mehdi!
The BSP gathered Debian people interested in preparing Jessie release, but also KDE, Kolab and LibreOffice people. The host for the meeting was LiMux (on of the most known large-scale Linux deployments) which provided a venue, but also food (free!) and other attractions. Organizers, if you read this, I thank you for the amazing work that you have done.
I arrived on late Friday’s evening and so I didn’t participate that day in bug squashing and took a good sleep instead. On Saturday and Sunday we were, well, squashing bugs. I haven’t done NMUs before and it was a new experience to me, even though theoretically I know how it works. The DDs present at the BSP were more than helpful to help me when I was stuck. Here is a short description of what I have done:
#770085 - This is a bug I reported myself before BSP. I picked it as a low-hanging fruit and I had it fixed after 2 hours. It fixes a Python module that couldn’t be imported in Python 2.
#768690 - This was a tricky one. latex-mk depends on tgif which is not going in jessie. A “lazy” workaround I made in the patch is the disable tgif-related functionality completely. It is not essential to the package, so it should be ok (a shameless publicity here: I use and recommend latex-make).
#768615 - A simple one - the package testsuite is tightly wired with pygments version (actually, the package is a ruby wrapper around pygments) so it had to be fixed to reflect the version in jessie.
#768695 - I’ve spent nearly a whole day understanding and writing a patch. Long story short - statsmodels uses numpy, pandas and scipy, and its testsuite depends a lot of interfaces of these libraries. For example, it relies on pandas to have DateRange class which is not true for the version in jessie. We uploaded the patch which fixed most of the problems, but the build still failed on i386 due to some precision in floating point operations. The new patch was prepared and awaits upload.
#768673 - I’ve traced the problem to the recent POODLE attack (Wikipedia). Ruby-httpclient uses SSLv3 by default which is deprecated and disabled on the server. The SSL negotiation ends with a nasty ECONNRESET. This problem has been fixed in the newer version of the library so I just backport in my NMU. Note: I suspect that #770616 is related.
#768905 - keyutils testsuite breaks on newer versions of the kernel (i.e., > 3.16 which is in Jessie). The bug remains, but by testing we confirmed that it won’t affect jessie.
I also got my GPG keys signed and vice-versa, so I’m much better connected to the web of trust now (7 signatures of DDs so far).
All in all, it was a great experience which I recommend to everyone. The atmosphere is very motivating and there are many people who will gladly help you if you don’t know or understand something. You don’t have to be DD to participate even, but a minimal packaging experience is definitely very useful. I’m quite sure that people would be glad to help even a complete newcomer (I certainly would do), but being able to build a package using apt-get source and debuild won’t hurt anybody. At the very least you can always triage bugs: reproduce them, find the cause of the bug, propose a way to fix it, etc. As always you should be open-minded and willing to get your hands dirty.
I want also thank Debian for sponsoring me which finally convinced me to participate (Munich is around 500 km from where I live and the travel is fairly expensive).
Some links of interest:
Many bugs still wait to be squashed (120 at the time of writing this), so let’s get back to work!
Acquia Commons is a Drupal distribution that is for building communities within your organization. I have been able to play around with its competitor JIVE and must admit, it stands quite well next to it.
We were approached by Gary Conroy from Specsavers, who have introduced Commons within their organization and needed to do some additional tweaks to make it a bit similar to Facebook. This will be a series of two blog posts, in first we will show how we have made similar functionality to Facebook Like links and in the second how did we change the status form widget.
Drupal Commerce: How to switch your payment settings based on environment variables using Platform.sh
When working on a Commerce project which uses a payment gateway, you need to always make sure that your Staging and Development environments are properly targeting the sandbox or test mode of your payment gateway, and that your Production site is targeting the live account.
This is actually true for any third-party service integration which provides a sandbox where you can test. The objective is to make sure you never send test data on a live account, no matter the service you're testing on.
For this tutorial, I will focus on payment method settings, but the principle remains the same for any other third-party integration.
I will start from an empty Drupal site hosted on Platform.sh and go through the following steps:
- Enable and configure Paypal WPS payment method
- Export its configuration to a settings.local.php file
- Override its Sandbox configuration on the Staging environment
- Write custom code to read the configuration from the settings.local.php
As you see, the goal (as always with Drupal) is to read the configuration from your code so that you can easily switch from a sandbox mode to a live mode.
(If I've linked you to this page, it is my feeble attempt to provide a more convincing justification.)
I often receive instant messages or emails requesting help or guidance at work or on one of my various programming projects.
When asked why they asked privately, the responses vary; mostly along the lines of it simply being an accident, not knowing exactly where to ask, as well as not wishing to "disturb" others with their bespoke question. Some will be more candid and simply admit that they were afraid of looking unknowledgable in front of others.
It is alwaystempting to simply reply with the answer, especially as helping another human is inherently rewarding unless one is a psychopath. However, one can actually do more good overall by insisting the the question is re-asked in a more public forum.
This is for many reasons. Most obviously, public questions are simply far more efficient as soon as more than one person asks that question — the response can be found in a search engine or linked to in the future. These time savings soon add up, meaning that simply more stuff can be done in any given day. After all, most questions are not so unique as people think.
Secondly, a private communication cannot be corrected or elaborated on if someone else notices it is incorrect or incomplete. Even this rather banal point is more subtle that it first appears — the lack of possible corrections deprives both the person asking and the person responding of the true and correct answer.
Lastly, conversations that happen in private are depriving others of the answer as well. Perhaps someone was curious but hadn't got around to asking? Maybe the answer—or even the question!—contains a clue to solving some other issue. None of this can happen if this is happens behind closed doors.
There are lots of subtler reasons too — in a large organisation or team, simply knowing what other people are curious about can be curiously valuable information.
Note that this is not—as you might immediately suspect—simply a way of ensuring that one gets the public recognition or "kudos" from being seen helping others.
I wouldn't deny that technical communities work on a gift economy basis to some degree, but to attribute all acts of assistance as "selfish" and value-extracting would be to take the argument too far in the other direction. Saying that, the lure and appeal of public recognition should not be understated and can certainly provide an incentive to elaborate and provide a generally superior response.
More philosophically, there's also something fundamentally "honest" about airing issues in an appropriately public and transparent manner. I feel it promotes a culture of egoless conversations, of being able to admit one's mistakes and ultimately a healthy personal mindset.
So please, take care not only in the way you phrase and frame your question, but also consider wider context in which you are asking it. And don't take it too personally if I ask you to re-ask elsewhere...
If you see nothing above probably your browser does not support PDF embed. Try from a desktop with the latest version of Chrome or Firefox.
It uses cURL to navigate through the various jumps required by the protocol, perform the necessary posts, etc.
I haven’t read the Shibboleth specs, so it may not be the best way, and may not work in all cases, but that was enough for my case, at least. Feel free to improve it on Github Gists.
After the connection is succesful, one may reuse the .cookieJar file to perform further cURL connections, or even some automated content mirroring with httrack, for instance (see a previous experiment of mine with httrack for Moodle).
Let's get started.