03 Mar 2015
It's new and it's live on the Talkingarch website. We present to you the latest and greatest TalkingArch live iso, which offers the latest versions of all core packages as well as Linux kernel 3.18.6. As always, you will find this iso on the TalkingArch download page, available via either a direct link or a [...]
03 Mar 2015 4:21pm GMT
02 Mar 2015
csv-blobs improvements: windows binary, more speed, dramatically less memory
02 Mar 2015 4:51am GMT
01 Mar 2015
I have not bothered updating my Linux kernel package here since my VPS provider - Digital Ocean - went crazy and deprecated Arch Linux as an install option. That is obviously a bad thing… This backfired on me today. It Continue reading →
01 Mar 2015 6:33pm GMT
25 Feb 2015
More performance gains!
25 Feb 2015 11:37am GMT
23 Feb 2015
I'll give credit where it is due. I had previously criticized Manjaro for holding back all package updates as this ignored security issues. But it appears that Manjaro has a new security policy, which means that packages that are rated Continue reading →
23 Feb 2015 3:03pm GMT
21 Feb 2015
Posting so more people can get entertainment value from this email. From: Daniel Skowroński <firstname.lastname@example.org> Subject: -asroot Hi Allan, I'd like to say you are moron if you were thinking that commiting 61ba5c961e4a3536c4bbf41edb348987a9993fdb to pacman was good idea! I am Continue reading →
21 Feb 2015 9:31pm GMT
15 Feb 2015
The new version comes with the following changes:
following ustream, xf86-video-modesetting is now provided with xorg-server package.
These packages are deprecated and moved to AUR, some are replaced by modesetting driver: xf86-video-ast, xf86-video-cirrus, xf86-video-geode, xf86-video-mga, xf86-video-sisimedia, xf86-video-v4l
15 Feb 2015 1:06pm GMT
09 Feb 2015
Announcing the February 2015 release of TalkingArch. This version updates the system packages to their latest versions, including the 3.18.4 Linux kernel. The brltty-minimal package that is included with this version is still somewhat older than the latest version of brltty, but this should be fixed in the March release. As usual, you will find [...]
09 Feb 2015 5:56am GMT
29 Jan 2015
It's a new year, so it's also time for a new update about python-zarafa. The last update was in October and a lot of new improvements and features have been added. In this article I'll walk through the new features and improvements. A detailed git changelog can be found at the end of the article.
We added a lot of new example scripts to the Github repository.
- zarafa-tracer - a script which monitors a MAPI folder for changes and displays the changes in a diff-like format.
- import_ics - import .ics files (calendar)
- urwap - MAPI curses console mail client
- rule.py - client side rules
- set-out-of-office.py - example script to show how to use the new OutofOffice functionality
Python-zarafa now has support for setting and getting Outofoffice information.
>>> bob = zarafa.Server().user('bob') >>> bob.outofoffice.update(enabled=True, message='I am out of office', subject='Out of office') >>> print 'enabled: %s, message: %s, subject: %s' % (bob.outofoffice.enabled, bob.outofoffice.message, bob.outofoffice.subject) enabled: True, message: I am out of office, subject: Out of office # It is also possible to set indiviual properties >>> bob.outofoffice.enabled = False >>> bob.outofoffice.subject = 'Hi, I am out of office till 30 October.'
Another new feature is Quota support, there was already support for reading Quota information in python-zarafa but now there is partial support for setting user Quota's. Setting Quota's is still work in progress, so expect that it might contain some bugs and feel free to report them to our Github tracker!
>>> bob = zarafa.Server().user('bob') >>> print zarafa._bytes_to_human(bob.quota.hard_limit) 100 mb >>> bob.quota.hard_limit = zarafa._human_to_bytes('200 mb') >>> print zarafa._bytes_to_human(bob.quota.hard_limit) 200 mb
Creating and sending an email
This is probably the most interesting feature for python-zarafa, the ability to create an new mail item and sending it.
>>> mail = bob.outbox.create_item(subject='new mail', email@example.com', body='This is my plaintext body') >>> print 'subject=%s, to=%s, body=%s' % (mail.subject, mail.to, mail.body.text) subject=new mail, to=Address(firstname.lastname@example.org), body=This is my plaintext body >>> mail.send() >>> print list(bob.inbox.items()) [Item(new mail)]
This is also a work in progess feature, since not all of the extra properties can be set yet (importance, etc.) .It should be enough to send an weekly email with for example quota information of all users.
We have done a lot of fixes and further polishing of the API, here is a short list of the interesting improvements
- Add support for the creationg of a server-wide store
- Add folder.empty() which empties a folder
- Added support for more shortcuts; user.tasks, user.journal, user.contacts
- Export folder to maildir with a specific path
Feel free to create a feature request or bugreport in our Github bug tracker.
268d034 8 hours ago : Add description for rule.py and send.pyn-zarafa] 7a37b71 8 hours ago : Add two new example scripts 5fd46e9 2 days ago : Add simple MAPI console client 8770159 3 days ago : Make the link for documentation bigger 268d034 8 hours ago : Add description for rule.py and send.py 7a37b71 8 hours ago : Add two new example scripts 5fd46e9 2 days ago : Add simple MAPI console client 8770159 3 days ago : Make the link for documentation bigger 4d4265c 3 days ago : Fix readme 8135740 6 days ago : describe quota stuff 2101902 7 days ago : Item.to: support 'name <email>' syntax 0db90b8 8 days ago : When a folder has no PR_DISPLAY_NAME check if it is the root folder else return an empty string 6461287 8 days ago : ignore orig files from patch 261c5ac 10 days ago : fix indent df682da 10 days ago : update Quota cached values in def update f0a443e 13 days ago : - Rename Quota._update to Quota.update so you can easily update all quota information e2b94e7 2 weeks ago : Only support one archiverserver 653ea3c 2 weeks ago : rename Folder.empty(subfolder) arg to recurse for uniformity 3f7f861 2 weeks ago : Cleanup Property class: -self.mapiobj should probably point to SPropValue -overload __lt__ so sorted(props) works.. bit overkill perhaps -reduce arguments which can be easily deduced by Property.__init__ from SPropValue -avoid some local variables e939d4c 2 weeks ago : Remove old comment 90eae11 3 weeks ago : Add support for setting Quota limits bb12a2a 3 weeks ago : simplify updating outofoffice 0827a19 3 weeks ago : Example to show how to set Out of Office with python-zarafa dff11c4 3 weeks ago : Simplify User.__init__ check, update docstrings ad3796f 3 weeks ago : In zarafa.Server().users() arguments are switched cb27fc3 3 weeks ago : Create a general _update() function for out of office information, to enable a one line update for oof info 72ada05 3 weeks ago : fix duplicated enties f47b463 3 weeks ago : Add ability to set/read out of office settings of a uses #6 938ad50 3 weeks ago : Add basic item (de)serialization using pickle c325e99 3 weeks ago : Add User.outofoffice 507ace3 4 weeks ago : apparently TBL_ALL_COLUMNS does not work for all tables.. so fall-back to flags=0 4bb5792 4 weeks ago : Add shortcut for getting user: zarafa.User(name) bd05e17 5 weeks ago : Add unicode support to create_folder, add folder.get_folder, add folder.folder(create=True) flag to create non existing folders add folder.folder(name/entryid, recurse=False) to do a non-recursive search) dc454c9 5 weeks ago : "Ham" folder to exist in root of mail store. 9365478 5 weeks ago : Add several changes including the ability to change a folders name. 7918523 5 weeks ago : Store.tasks, property is set on root folder not store 05f55b4 5 weeks ago : Add store.journal and store.notes 3199b93 6 weeks ago : Merge pull request #16 from m42e/learnham fdf2c22 6 weeks ago : Make configurable and autocreate folder 627478e 2 months ago : Added possibility to learn ham cb27120 6 weeks ago : Merge pull request #12 from Faldon/master 25480b8 6 weeks ago : Made mandatory email property in create_user optional and provide a 'best guess' if not passed 7b568fd 7 weeks ago : Added mandatory email property on creating user. Added method for modifying/updating a user. Added constant INACTIVE_USER for inactive mailusers. 84f6169 7 weeks ago : Add definition for PS_INTERNET_HEADERS 7014793 7 weeks ago : Add support for the creation of a server-wide public store c8777f4 7 weeks ago : open table with MAPI_UNICODE fb77282 8 weeks ago : Fix recipienttable, since we don't pass MAPI_UNICODE b8390da 8 weeks ago : Add optional dep vobject to readme 72d7dbf 9 weeks ago : Add delimiter for path 6353c4e 9 weeks ago : Return None instead of an except in user.archive_servers() f939e20 9 weeks ago : search folders have no hierachy table, so no subfolders 1f403f5 9 weeks ago : fix import on some RHEL distros a1704bc 9 weeks ago : Merge branch 'master' of github.com:zarafagroupware/python-zarafa cd354e2 9 weeks ago : - Add folder.parent - Refactor folder.root option by using a try/except 3e7f903 10 weeks ago : Give maildir a path option 612c381 10 weeks ago : fix trailing whitespaces 330b464 10 weeks ago : use MAPI_UNICODE due to changes in python-mapi a31f2ca 10 weeks ago : make Server.stores() return the public store da5bb36 2 months ago : Use PR_SOURCEKEY to create the mapping so we do not an expensive lookup e858500 3 months ago : Add import_ics script e13bee2 3 months ago : Add z-tracer.py 7c2d0dc 3 months ago : Print folder names if move fails. 6496548 3 months ago : Fix order in which True is set. af4ad91 3 months ago : Fix code styling 7a61122 3 months ago : Add new fix-ipm-subtree.py script, use at your own risk!!! e332739 3 months ago : Have Store>Folder look at system folders fcb4ad4 3 months ago : Add core updates 2f419af 3 months ago : Update python-zarafa core, add script remove-calendar-items.py
29 Jan 2015 11:00pm GMT
As we try to retain visibility into our increasingly complicated applications and infrastructure, we're building out more advanced monitoring systems. Specifically, a lot of work is being done on alerting via fault and anomaly detection. This post covers some common notions around these new approaches, debunks some of the myths that ask for over-complicated solutions, and provides some practical pointers that any programmer or sysadmin can implement that don't require becoming a data scientist.
29 Jan 2015 2:08pm GMT
28 Jan 2015
Nobody… Arch Linux has the latest glibc release (2.20) so is not affected by the GHOST bug, which was fixed upstream in glibc-2.18 (without realising the security implications). For those that want to know more about security issues and updates Continue reading →
28 Jan 2015 9:44am GMT
26 Jan 2015
The KDE Software Collection has been updated to KDE Applications 14.12.
The KDE developers have started porting their software to KDE Frameworks and Qt 5. For a list of the software that has been ported see the announcement.
When a KDE Frameworks port of a KDE application is considered stable, it is released with KDE Applications and development and bug fixes are no longer applied to the Qt4/KDE4 version. This means that as ported versions of applications are released, we will switch to the newer version. At the same time, we are getting rid of KDE module prefixes (e.g. kdebase-konsole -> konsole).
The result of this transition is that some packages will be using Qt5 and some will be using Qt4. We are working hard to make the transition smooth for KDE4 users, but things might look different depending on your configuration. Please adjust themes and colors as necessary for the two toolkits. See the wiki for help. We also recommend switching to Plasma 5.2 which will be released this week.
Please report upstream bugs to the KDE bugzilla. Feel free to CC me.
26 Jan 2015 10:20am GMT
20 Jan 2015
For consistency with upstream naming, the lirc-utils package was renamed to lirc. The wpc8769l kernel drivers were dropped and can be obtained by installing lirc-wpc8769l from the AUR.
Note that 0.9.2 is a major release and comes along with several upstream and packaging changes. In particular, the
irexec.service systemd unit was removed. Please edit and copy the template
/usr/share/lirc/contrib/irexec.service if you want to keep using that service.
20 Jan 2015 5:36pm GMT
19 Jan 2015
An alarming number of people have noticed, the pacman-4.2 release removed the --asroot option from makepkg. This means that you can no longer build packages as the root user. There are good reasons for this and the option was only Continue reading →
19 Jan 2015 1:42pm GMT
18 Jan 2015
Around this time last year, I posted about setting up a udev rule to run a script when I plugged my USB drive containing all of my music into one of my laptops; the script, a couple of lines of bash, removes all pre-existing symlinks to $HOME/Music and repopulates the directory with an updated set. Almost. The one flaw that has been an irritant of variable intensity, depending on what I felt like listening at any given time, is that the symlinks aren't written for directories that already exist on the target filesystem.
In order that I am able to play some music if I forget the USB drive, each of the laptops has a subset of albums on it, depending on the size of their respective hard drives. If I add a new album to the USB drive, then that change won't get written to either of the laptops when the drive is plugged in. Not entirely satisfactory. I had tinkered around with globbing, or with having
find(1) scan deeper into the tree, or even a loop to check for the presence of directories in an array…
It just got too hard. My rudimentary scripting skills and the spectre of recursion, I am sorry to admit, conspired to undermine my resolve. So, rather than concede unconditional surrender, I asked for help. As is almost always the case in these situations, this proved to be a particularly wise move; the response I received was neither what I expected, nor was it anything I was even remotely familiar with: so in addition to an excellent solution (one far better suited to what I was trying to achieve), I learned something new.
The first comment on my question proved singularly insightful.
Care to use union mounts, for example via overlayfs?muru on U&L unix.stackexchange.com/179397/…
A union mount, something until now I was blissfully unaware of, is according to Wikipedia,
a mount that allows several filesystems to be mounted at one time, appearing to be one filesystem.
Union mounting has a long and storied history on Unix, beginning in 1993 with the Inheriting File System (IFS). The genealogy of these mounts has been well covered in this 2010 LWN article by Valerie Aurora. However, it is only in the current kernel, 3.18, that a union mount has been accepted into the kernel tree.
After reading the documentation for overlayfs, it seemed this was exactly what I was looking for. Essentially, an overlay mount would allow me to "merge" the underlying tree (the Music directory on the USB drive) with an "upper" one, $HOME/Music on the laptop, completely seamlessly.
Then whenever a lookup is requested in such a merged directory, the lookup is performed in each actual directory and the combined result is cached in the dentry belonging to the overlay filesystem.
It was the just a matter of adapting my script to use
overlayfs, which was trivial:
</p> <h1>!/usr/bin/env bash</h1> <h1>union mount Music when Apollo plugged in</h1> <p>low=/media/Apollo/Music upp=/home/jason/Music wod=/home/jason/.local/tmp export DISPLAY=:0 export XAUTHORITY=/home/jason/.Xauthority</p> <h1>overlayfs mount</h1> <p>mount -t overlay -o lowerdir="$low",upperdir="$upp",workdir="$wod" overlay "$upp" status1=$?</p> <p>mpc update &>/dev/null status2=$?</p> <p>if [[ "$status1" -eq 0 && "$status2" -eq 0 ]]; then</p> <pre><code>printf "^fg(#BF85CC)%s\n" "Music directory updated" | dzen2 -p 3 </code></pre> <p>fi
And now, when I plug in the USB drive, the contents of the drive are merged with my local music directory, and I can access whichever album I feel inclined to listen to. I can also copy files across to the local machines, knowing if I update the portable drive, it will no longer mean I have to forego listening to any newer additions by that artist in the future (without manually intervening, anyway).
Overall, this is a lightweight union mount. There is neither a lot of functionality, nor complexity. As the commit note makes clear, this "simplifies the implementation and allows native performance in these cases." Just note the warning about attempting to write to a mounted underlying filesystem, where the behaviour is described as "undefined".
Creative Commons image, mulitlayered jello by Frank Farm.
18 Jan 2015 7:20pm GMT
11 Jan 2015
Opterator is a decorator to make quick and clean command line interfaces for scripts. It's not designed to compete with argparse or click. Instead it supports that common usecase where you're writing a reusable script and don't want to write all the bits required for argument parsing, but also don't want to use the maligned […]
11 Jan 2015 11:26pm GMT