FLOSS Project Planets

Justin Mason: Links for 2015-11-26

Planet Apache - Thu, 2015-11-26 18:58
  • re:Work – The five keys to a successful Google team

    We learned that there are five key dynamics that set successful teams apart from other teams at Google: Psychological safety: Can we take risks on this team without feeling insecure or embarrassed? Dependability: Can we count on each other to do high quality work on time? Structure & clarity: Are goals, roles, and execution plans on our team clear? Meaning of work: Are we working on something that is personally important for each of us? Impact of work: Do we fundamentally believe that the work we’re doing matters?

    (tags: teams google culture work management productivity hr)

Categories: FLOSS Project Planets

PreviousNext: High Availability Drupal 8 on Microsoft Azure

Planet Drupal - Thu, 2015-11-26 16:39

In this blog post we will take you though all the components required to provision a high availability Drupal 8 stack on Microsoft Azure. This is an extract from the demonstration given at Microsoft Ignite on the Gold Coast in November 2015.

Categories: FLOSS Project Planets

Pursuing Awesomeness

Planet KDE - Thu, 2015-11-26 16:23

Plasma 5.5 hasn’t even been released yet but work on the next version is already commencing.

Introducing U-Bahn

I’ve seen Plasma setups resembling Unity, or Gnome Shell, or OS/2, but I haven’t seen Windows 8 yet.

YouTube Link: https://www.youtube.com/embed/8qFrich4LFM

This is an experimental Metro-inspired (Metro, U-Bahn, get it?) sidebar. Its name kinda shows how serious I was about this :) Anyhow, it’s a nice showcase of Plasma’s flexibility. The whole thing took me just over an hour to get up and running. It incorporates KRunner/Milou for search results, the Purpose Framework for sharing, parts of Print-Manager and Device Notifier, as well as the icons from Plasma-PA (audio) and Plasma-NM (network) on the Settings page. The centre button was supposed to launch the Application Dashboard, without tiles, though.

While I’m not planning to finish this very project – it’s just too big of a hack the way it is –, I managed to get a discussion going. I’m looking forward to ideas our usability and design experts will come up with. It makes for an interesting concept on touch-enabled devices nonetheless. Also, I would love to see the Purpose framework embraced throughout the workspace rather than it living in the shadows within Kamoso and the Quick Share applet.

Jump Lists

Another feature I have wanted for years has finally landed: “Desktop Actions” aka Jump Lists. Basically, they are additional actions an application can offer to perform common actions or jump directly to a certain task from Task Manager. Common examples are “Open New Incognito Window” to open your browser directly in private mode, or “Compose Email” without launching the full-fledged Email client first.

If you’re an application developer, start assessing which actions to provide – only few applications on my system actually do: Chromium (Google Chrome only ships Ayatana Desktop Shortcuts), LibreOffice (its launcher enables you to jump into a specific app, like Calc or Impress) and Konsole.

LibreOffice launcher with access to apps within the suite Chromium providing handy shortcuts

The specification is pretty “dumb”, you can basically specify a name, an icon and a command to run – your application must then do the right thing™ eg. depending on whether an instance is already running or not.

Update: Chime in to the discussion on Jump List Actions on the KDE Forums.

More Convenient Plasmoid Install

While applets can be installed through “Get Hot New Stuff” and distribution repositories, there’s also the classic .plasmoid file. A feature suggested by one of my colleagues – fresh KDE Plasma user – was to drag .plasmoid files onto the desktop or panel and have them installed. After Marco Martin implemented the neccessary KPackage plumbing this is now possible.


(Sorry for the quality, I wanted to make a GIF out of this but it turned out to be 24 MiB, then I downsampled it using ffmpeg and it mashed the picture)

If the applet is already installed, it will update if neccessary but still add it to where you dropped. To uninstall use the Widget Explorer which gained a new “Uninstallable” applets filter. Also, its uninstall feature now follows the undo pattern where you have a grace period before it actually uninstalls. Uninstalling also removes all instances of the applet rather than leaving broken applets behind.

Miscellaneous Improvements

First of all, FFMpegThumbnailer will finally be released as KF5-based plugin in KDE Applications 15.12 meaning you get thumbnails for videos in Dolphin again.

Secondly, in the Power Management department, switching sessions should no longer unexpectedly send your computer to sleep. Moreover, inhibitions will only be enforced after 5 seconds – this should prevent Chrome waking up your screen just because it played a short “You got message” sound. Also, I’m planning to overhaul the Battery Monitor UI which was essentially just ported from Plasma 4, where it worked well, to Plasma 5, where its layout is out of place. I won’t promise that, though. :)

Finally, I ported the face / avatar gallery from the old user accounts KCM to the now used user manager. The Visual Design Group made some marvellous user pictures, like the Leonardo Da Vinci I’m using, it would be a shame if there was no UI to pick them.

Categories: FLOSS Project Planets

PyCharm: PyCharm 5.0.2 EAP build 143.1015.4 is Available

Planet Python - Thu, 2015-11-26 13:07

Today we announce the second early preview build of PyCharm 5.0.2. The list of bug fixes and improvements for this build can be found here.

Some highlights of the PyCharm 5.0.2 build 143.1015.4 are:

  • fixes for different performance issues
  • fixes for docstrings support
  • a number of fixes for scientific tools, including IPython Notebook, matplotlib and miniconda support
  • a number of fixes for debugger
  • fixes for Docker and remote interpreters support
  • a fix for Django support
  • and more

Please give PyCharm 5.0.2 EAP a try before its official release and please report any bugs and feature request to our issue tracker.

Develop with Pleasure!
-PyCharm team

Categories: FLOSS Project Planets

Drupal 8 Rules: Drupal 8 Rules M2 planned for March 2016

Planet Drupal - Thu, 2015-11-26 08:03

The #d8rules team is excited to welcome Acquia to our list of supporters. With their generous support of fully funding milestone 2, fago & klausi can plan dedicated time over the next months to focus on getting the MVP of Rules for Drupal 8 done.

Since finishing milestone 1 and DrupalCon Barcelona, we are basically in a developer preview state. The basic APIs of Rules 8 are pretty stable already, enabling contributed module porters starting work on their integrations.

Milestone 2

Milestone 2 now is all about getting a useable product to developers & end users of Drupal 8.

See what's planned for M2:

  • Completing Rules engine features (Metadata assertions, logging service)

  • Rules plug-ins part two (Events, Loops, caching,  components API)

  • Configuration management system support (config entity, CMI support, integrity checks & config schema)

  • Generic rules integrations (Typed data & entity support)

  • Entity token support

  • Basically usable UI (Nothing fancy yet)
  • Basic API for embedding condition and action forms

The estimated, remaining 316 hours for M2 are fully funded by Acquia, drunomics and epiqo. Acquia is putting € 14.220,- in to help us work continuously over the next months. drunomics & epiqo are providing 50 % by a lowered rate of € 45 for fago and klausi to work on #d8rules during office hours.

We are expecting a release for M2 for beginning of March, 2016. This should allow the 25 % Drupal 7 sites which use the Rules module to start building for Drupal 8. Of course, we are also looking forward to see new adapters making use of flexible, UI-driven workflows.

Thanks again for everybody helping speeding up our work of porting Rules to Drupal 8. If you'd like to help out getting funding secured for Milestone 3, let's get in contact.

Categories: FLOSS Project Planets

Plasma 5.5 Release Party in Heidelberg

Planet KDE - Thu, 2015-11-26 06:45

This time we’ll celebrate early!

Date: Friday, 4 December 2015 (correct year this time around)
Time: 19:00
Place: Medocs Cafe am Bismarckplatz, Sofienstraße 7b, 69115 Heidelberg
Who: You! And fellow KDE developers and users
What we’re going to do: Have a few beers, a delicious dinner, talk, have fun, …

Please ping me, if you’re around and planning to come (contact info can be found in the Impressum, or tell kbroulik in #plasma on Freenode), so I can extend the reservation, if needed.

Categories: FLOSS Project Planets

OpenLucius: 18 Cool Drupal modules for site builders | November 2015

Planet Drupal - Thu, 2015-11-26 05:16

So.... Drupal 8 got released! Congrats everybody! The end of life of Drupal 6 is then final. In addition, the 16th of november it was announced that Drupal.org is now serving its content and files via Fastly; which is giving a significant performance boost, well done!

Furthermore, what I noticed last month on module updates:

1) Scroll to destination anchors
Categories: FLOSS Project Planets

Olivier Berger: Handling video files produced for a MOOC on Windows with git and git-annex

Planet Debian - Thu, 2015-11-26 04:51

This post is intended to document some elements of workflow that I’ve setup to manage videos produced for a MOOC, where different colleagues work collaboratively on a set of video sequences, in a remote way.

We are a team of several schools working on the same course, and we have an incremental process, so we need some collaboration over a quite long period of many remote authors, over a set of video sequences.

We’re probably going to review some of the videos and make changes, so we need to monitor changes, and submit versions to colleagues on remote sites so they can criticize and get later edits. We may have more that one site doing video production. Thus we need to share videos along the flow of production, editing and revision of the course contents, in a way that is manageable by power users (we’re all computer scientists, used to SVN or Git).

I’ve decided to start an experiment with Git and Git-Annex to try and manage the videos like we use to do for slides sources in LaTeX. Obviously the main issue is that videos are big files, demanding in storage space and bandwidth for transfers.

We want to keep a track of everything which is done during the production of the videos, so that we can later re-do some of the video editing, for instance if we change the graphic design elements (logos, subtitles, frame dimensions, additional effects, etc.), for instance in the case where we would improve the classes over the seasons. On the other hand, not all colleagues want to have to download a full copy of all rushes on their laptop if they just want to review on particular sequence of the course. They will only need to download the final edit MP4. Even if they’re interested in being able to fetch all the rushes, should they want to try and improve the videos.

Git-Annex brings us the ability to decouple the presence of files in directories, managed by regular Git commands, from the presence of the file contents (the big stuff), which is managed by Git-Annex.

Here’s a quick description of our setup :

  • we do screen capture and video editing with Camtasia on a Windows 7 system. Camtasia (although proprietary) is quite manageable without being a video editing expert, and suits quite well our needs in terms of screen capture, green background shooting and later face insertion over slides capture, additional “motion design”-like enhancement, etc.
  • the rushes captured (audio, video) are kept on that machine
  • the MP4 rendering of the edits are performed on that same machine
  • all these files are stored locally on that computer, but we perform regular backups, on demand, on a remote system, with rsync+SSH. We have installed git for Windows so we use bash and rsync and ssh from git’s install. SSH happens using a public key without a passphrase, to connect easily to the Linux remote, but that isn’t mandatory.
  • the mirrored files appear on a Linux filesystem on another host (running Debian), where the target is actually managed with git and git-annex.
  • there we handle all the files added, removed or modified with git-annex.
  • we have 2 more git-annex remote repos, accessed through SSH (again using a passphrase-less public key), run by GitoLite, to which git-annex rsyncs copies of all the file contents. These repos are on different machines keeping backups in case of crashes. git-annex is setup to mandate keeping at least 2 copies of files (numcopies).
  • colleagues in turn clone from either of these repos and git-annex get to download the video contents, only for files which they are interested in (for instance final edits, but not rushes), which they can then play locally on their preferred OS and video player.

Why didn’t we use git-annex on windows directly, on the Windows host which is the source of the files ?

We tried, but that didn’t make it. Git-Annex assistant somehow crashed on us, thus causing the Git history to be strange, so that became unmanageable, and more important, we need robust backups, so we can’t allow to handle something we don’t fully trust: shooting again a video is really costly (setting up again a shooting set, with lighting, cameras, and a professor who has to repeat again the speech!).

The rsync (with –delete on destination) from windows to Linux is robust. Git-Annex on Linux seems robust so far. That’s enough for now

The drawback is that we need manual intervention for starting the rsync, and also that we must make sure that the rsync target is ready to get a backup.

The target of the rsync on Linux is a git-annex clone using the default “indirect” mode, which handles the files as symlinks to the actual copies managed by git-annex inside the .git/ directory. But that ain’t suitable to be compared to the origin of the rsync mirror which are plain files on the Windows computer.

We must then do a “git-annex edit” on the whole target of the rsync mirror before the rsync, so that the files are there as regular video files. This is costly, in terms of storage, and also copying time (our repo contains around 50 Gb, and the Linux host is a rather tiny laptop).

After the rsync, all the files need to be compared to the SHA256 known to git-annex so that only modified files are taken into account in the commit. We perform a “git-annex add” on the whole files (for new files having appeared at rsync time), and then a “git-annex sync”. That takes a lot of time, since all SHA256 computations are quite long for such a set of big files (the video rushes and edited videos are in HD).

So the process needs to be the following, on the target Linux host:

  1. git annex add .
  2. git annex sync
  3. git annex copy . –to server1
  4. git annex copy . –to server2
  5. git annex edit .
  6. only then : rsync

Iterate ad lib

Categories: FLOSS Project Planets

François Dion: Bridging the digital divide, $5 at a time

Planet Python - Thu, 2015-11-26 03:45
Going in the right direction
About 3 years ago, I wrote a piece titled "Going in the wrong direction" (well worth your time, go ahead and read it). In it, I highlighted the issue of the high cost of computing for experimentation and innovation, particularly when it comes to students. This obviously has impact on STEAM and school budgets too. I suggested that we'd see $20 and even sub $20 computers very soon.
The Raspberry Pi had established itself as a great option for exactly this. In mid 2012, during a Python conference in North Carolina (USA), I demoed a simple project using a Raspberry Pi controlling a laser. Everybody in attendance was sold on the concept of a $35 computer.
The $35, $25, I mean $20 computerWhat I imagined for the price trend
I had to revisit the original story at the beginning of 2015, because the price of each iteration of the Raspberry Pi entry level model kept going down. It looked like sub $20 was close, at least as I was picturing it in my mind. At the same time, the higher spec model kept getting better (see my article on 3D Future Tech as to why that is possible)
I'll CHIP in $9
Earlier this year, a kickstarter campaign introduced the CHIP, a $9 computer. According to http://getchip.com they will sell it this coming Monday for $8!
How low can you go?
Meet the $5 #pizero
The Raspberry Pi foundation is now selling a $5 version of the Raspberry Pi. It is half the size of the Model A+ and a quarter of the price...
And yet another price model that totally disrupts the field. Just look at that:

So now, we've reached the price level where distribution and shipping cost impact more than the cost of the computer itself. This is the next problem to solve in bridging the digital divide.
We live in interesting times...
Francois Dion
Categories: FLOSS Project Planets

Tiago Bortoletto Vaz: Birthday as in the good old days

Planet Debian - Wed, 2015-11-25 19:43

This year I've got zero happy birthday spam message from phone, post, email, and from random people on that Internet social thing. In these days, that's a WOW, yes it is.

On the other hand, full of love and simple celebrations together with local ones. A few emails and phone calls from close friends/family who are physically distant.

I'm happier than ever with my last years' choices of caring about my privacy, not spending time with fake relationships and keeping myself an unimportant one for the $SYSTEM. That means a lot for me.

Categories: FLOSS Project Planets

Justin Mason: Links for 2015-11-25

Planet Apache - Wed, 2015-11-25 18:58
Categories: FLOSS Project Planets

Realityloop: DrupalCampMelbourne; 2015 and the future

Planet Drupal - Wed, 2015-11-25 18:25
26 Nov Stuart Clark

This is the second year that DrupalCampMelbourne has been run in it’s current form, and it’s expected to be just as much fun as it was last year, but maybe just a bit bigger.

DrupalCampMelbourne is a two day event, with one day of sessions and one day of code sprints, but the way it’s run is a little bit unique (as far as we know). Unlike a conventional Conference or Camp, the scheduling is 100% determined by the attendees on the day.


How does that work you ask?

It’s relatively simple:

  1. First thing Friday morning all attendees get the opportunity to do a short lightning talk explaining the topic they wish to cover.
  2. During the lightning talks, all attendees will vote on the sessions they wish to see.
  3. Finally, after all lightning talks and voting is complete, the DrupalCampMelbourne website auto-magically builds the schedule based off the votes, number of sessions and room sizes.

We ran this approach for the first time last year and it worked superbly, and with a little tweaking to the algorithm this year we expect it to be just as good, if not better.

The major benefits of this approach are:

  1. Everyone gets an opportunity to have their say, both in submitting a session and in voting on what they’d like to see.
  2. No “committee” or “track chairs” are required to vet every talk and make the final decisions, reducing the organisational time of the event.
  3. SkyNet is one step closer to taking hold of us all… oh wait.


So if you are coming (you are coming right?), make sure to get their early and have your say. And remember, everyone has something worth saying and worth hearing, and there’s nowhere better to start than a local community.

There are still some tickets left for the event, so if you haven’t got yours, get it now: http://dcm2015.drupal.org.au


The future (a.k.a, SkyNet?)

The auto-magic scheduling of the talks is but the beginning, just as the day of session is just the beginning of DrupalCampMelbourne.

Day 2 of DrupalCampMelbourne is, as it was last year, a Code Sprint. This year, I will be running a sprint on the future of the DrupalCampMelbourne website in the hopes to make it even better; more autonomous, more usable and also more generic.


More autonomous

The “auto-magic” scheduling feature is a great help for running a DrupalCamp, it helps get Day 1 all sorted with minimal effort, but it’s not the only part that can be automated and improved. A larger portion of the camp itself could be automated.

If, when setting up the next camp, one where to provide the site with the date of the event, the camp could set a schedule for the organisers (when to have venue booked by, when to contact sponsors, etc), it could transition through various states (register your interest, event information, signup, etc), it could manage the budget (venue cost + resource costs - sponsors - tickets = success) and much more.

The possibilities are endless.


More usable

There’s no question that there have been some issues, certain information lacking, not enough communication, and other various management related issues; this is inevitable when the number of volunteers is in the low single digits and the time those volunteers have is equally lacking.

DrupalCampMelbourne is as open source as it can be at the moment, the source code is entirely available on GitHub.com (http://github.com/drupalmel/drupalcampmel) for anyone at all to contribute to. This year I want to push forward and get more people involved, let’s ensure the site is more usable in the future, makes more information available and the site provides the missing communication it needs.


More generic

There is absolutely no reason that this project should be specific to DrupalCampMelbourne, nor even a DrupalCamp at all, it could apply to any type of Camp style event in any locale.

Genericising the existing work and building a new DrupalCamp/Camp Drupal distribution has been a goal from the very start, and with Drupal8 out it’s the best time to do exactly that.


So come along to DrupalCampMelbourne 2015 on Saturday (and Friday) and get involved. This is only one of the various sprints that will be being run during the Code Sprint. And don’t forget, a Code Sprint isn’t just for developers, there’s something for everyone, from novice to professional.

drupal planetdrupalcampmelbournedrupal
Categories: FLOSS Project Planets

FSF Blogs: Let's Encrypt: The FSF beta tests a new Certificate Authority

GNU Planet! - Wed, 2015-11-25 17:20

Recently the FSF's application to Let's Encrypt's Limited Beta program was accepted. For those of you who have not been following, the project Let's Encrypt is a non-profit Certificate Authority (CA) run by the Internet Security Research Group (ISRG). The IRSG, founded in 2013, is comprised of board members from various places, including but not limited to: The Electronic Frontier Foundation (EFF), and Mozilla. The main drive behind Let's Encrypt is to make the process of getting X.509 certificates for Transport Layer Security (TLS) encryption a trivial process, as well as cost-free. In addition, Let's Encrypt aims to make all this available using only Free as in Freedom software for both their server and client infrastructure. By doing this, the Let's Encrypt project hopes to make HTTPS (encrypted web traffic) the default state of the entire Internet. For further reading on the goals and mission statement of the Let's Encrypt CA, check out https://letsencrypt.org/about.

As part of the the Limited Beta program we have been granted the ability to generate certificates. This is done using the Let's Encrypt client software, which uses their API to generate and sign certificates for several of our most used domains. Using the Let's Encrypt client software makes deploying certificates almost effortless. The current procedure is fairly straight forward: Clone the git repository, run the client, allow it to grab packages it requires, and then step though a fairly pretty curses interface that takes your email address and the domain of the certificate you are trying to generate and have signed. This process, however, does require minimal downtime as the Let's Encrypt access requires the ports the web server uses to complete the API transaction. In practice this only took a minute or so of downtime to complete.

As part of our participation in the Limited Beta program, an example of the Let's Encrypt CA service can already be found on our network. Currently, we have migrated https://libreplanet.org to Let's Encrypt. The fingerprints for our new certificate, signed by Let's Encrypt, are as follows:

  • SHA1: D0:48:06:70:21:7B:70:09:D0:5C:17:22:B1:C8:E9:40:EA:BA:AF:29
  • SHA-256: 6B:0A:B6:4A:1A:7D:30:5C:1D:3C:A7:12:95:06:DC:F1:AA:48:7B:33:C2:81:C8:46:4E:97:1D:91:18:74:3A:98

Overall we are very excited to participate in the Let's Encrypt project. If generating X.509 certificates can be so effortless, in my opinion the end goal of a World Wide Web that defaults to HTTPS instead of HTTP is achievable. The public beta for Let's Encrypt is scheduled to go live December 3rd, 2015. I encourage any reader who runs a web server to give the Let's Encrypt CA a serious look.

Categories: FLOSS Project Planets

Mike Driscoll: My Context Managers Article Got Turned Into a Screencast

Planet Python - Wed, 2015-11-25 17:18

Last month I wrote about context managers and a company called Webucator asked me for my permission to turn the article into a screencast. It ended up looking pretty good. Check it out below:

Webucator has other Python related training too. I don’t know much about them, but if this video is any indication, I think they would be worth checking out.

Categories: FLOSS Project Planets

François Dion: Bond. James "import pandas" Bond

Planet Python - Wed, 2015-11-25 16:05
It all started when...    [friend] I'm trying to get this table on wikipedia from python...
[me] Sure. What module are you using?
    [friend] BeautifulSoup, but man, this is hard. It's this url...
[me] Wait, this is not a Coursera assignment you are asking me to do, is it?
    [friend] No, no. I saw this thing using a different programming language and I want to do it in Python.
[me] Ok, sounds reasonable.
The URLThe basic URL that documents James Bond movies on wikipedia is at: https://en.wikipedia.org/wiki/List_of_James_Bond_films but the URL he sent me was: https://en.wikipedia.org/w/index.php?title=List_of_James_Bond_films&oldid=688916363 and hence why it looked like a assignment.

Let me pause for a brief second on this subject. I'm a big fan of reproducible research, and selecting a specific revision of a document is an excellent idea. This page will never change, whereas any given normal URL on wikipedia changes all the time.
I'll have some of that BeautifulSoupMy friend mentioned he was trying to use BeautifulSoup but facing some challenges. BeautifulSoup and lxml are the usual suspects when it comes to doing web scraping (and using requests itself to pull the data in). But I have to admit, most of the time I don't use any of these. You see, I'm lazy, and typically these solutions require too much work. If you want to see what I'm talking about, you can check using-python-beautifulsoup-to-scrape-a-wikipedia-table

I don't like to type more code than I need to. At any rate, the goal was to get the web page, parse two tables and then load the data in a pandas data frame to do further analysis, plots etc.

Enter the PandasAnd it's not even the Kung Fu Panda, just good old Pandas, the data wrangling tool par excellence (https://pypi.python.org/pypi/pandas/0.17.1).

Everybody knows, I hope, that it has a superb support for loading excel and CSV files. It's why Python is the number 1 data wrangling programming language.

But what about loading tables from wikipedia web pages, surely there is nothing that can simplify this, is there? If you've attended all PYPTUG meetings, you already know the answer.

import pandas as pd

wiki_df = pd.read_html("https://en.wikipedia.org/w/index.php?title=List_of_James_Bond_films&oldid=688916363", header=0)

read_html returns a list of dataframes, with each table found on the web page being a dataframe. So to access the box office table on this page, we have to look at the second dataframe, the first being the warning table at the top of the page. Since it is 0 indexed we refer to it with wiki_df[1]. We don't want line 0 because that's sub headers, and we don't want the last two lines because one is a movie that's just been released and the numbers are not in yet, and the other one because it's a total column. How do we do this? Good old Python slices:

df = wiki_df[1][1:24]

And that's it, seriously. One line to ingest, one line to cleanup.

The result Title Year Bond actor Director Box office Budget Salary of Bond actor Box office.1 Budget.1 Salary of Bond actor.1 1 Dr. No 1962 Connery, SeanSean Connery Young, TerenceTerence Young 59.5 1.1 0.1 448.8 7.0 0.6 2 From Russia with Love 1963 Connery, SeanSean Connery Young, TerenceTerence Young 78.9 2.0 0.3 543.8 12.6 1.6 3 Goldfinger 1964 Connery, SeanSean Connery Hamilton, GuyGuy Hamilton 124.9 3.0 0.5 820.4 18.6 3.2 4 Thunderball 1965 Connery, SeanSean Connery Young, TerenceTerence Young 141.2 6.8 0.8 848.1 41.9 4.7 5 You Only Live Twice 1967 Connery, SeanSean Connery Gilbert, LewisLewis Gilbert 101.0 10.3 0.8 + 25% net merch royalty 514.2 59.9 4.4 excluding profit participation 6 On Her Majesty's Secret Service 1969 Lazenby, GeorgeGeorge Lazenby Hunt, Peter R.Peter R. Hunt 64.6 7.0 0.1 291.5 37.3 0.6 7 Diamonds Are Forever 1971 Connery, SeanSean Connery Hamilton, GuyGuy Hamilton 116.0 7.2 1.2 + 12.5% of gross (14.5) 442.5 34.7 5.8 excluding profit participation 8 Live and Let Die 1973 Moore, RogerRoger Moore Hamilton, GuyGuy Hamilton 126.4 7.0 n/a 460.3 30.8 n/a 9 man with !The Man with the Golden Gun 1974 Moore, RogerRoger Moore Hamilton, GuyGuy Hamilton 98.5 7.0 n/a 334.0 27.7 n/a 10 spy who !The Spy Who Loved Me 1977 Moore, RogerRoger Moore Gilbert, LewisLewis Gilbert 185.4 14.0 n/a 533.0 45.1 n/a 11 Moonraker 1979 Moore, RogerRoger Moore Gilbert, LewisLewis Gilbert 210.3 34.0 n/a 535.0 91.5 n/a 12 For Your Eyes Only 1981 Moore, RogerRoger Moore Glen, JohnJohn Glen 194.9 28.0 n/a 449.4 60.2 n/a 13 Octopussy 1983 Moore, RogerRoger Moore Glen, JohnJohn Glen 183.7 27.5 4.0 373.8 53.9 7.8 14 view !A View to a Kill 1985 Moore, RogerRoger Moore Glen, JohnJohn Glen 152.4 30.0 5.0 275.2 54.5 9.1 15 living !The Living Daylights 1987 Dalton, TimothyTimothy Dalton Glen, JohnJohn Glen 191.2 40.0 3.0 313.5 68.8 5.2 16 Licence to Kill 1989 Dalton, TimothyTimothy Dalton Glen, JohnJohn Glen 156.2 36.0 5.0 250.9 56.7 7.9 17 GoldenEye 1995 Brosnan, PiercePierce Brosnan Campbell, MartinMartin Campbell 351.9 60.0 4.0 518.5 76.9 5.1 18 Tomorrow Never Dies 1997 Brosnan, PiercePierce Brosnan Spottiswoode, RogerRoger Spottiswoode 338.9 110.0 8.2 463.2 133.9 10.0 19 world !The World Is Not Enough 1999 Brosnan, PiercePierce Brosnan Apted, MichaelMichael Apted 361.8 135.0 12.4 439.5 158.3 13.5 20 Die Another Day 2002 Brosnan, PiercePierce Brosnan Tamahori, LeeLee Tamahori 431.9 142.0 16.5 465.4 154.2 17.9 21 Casino Royale 2006 Craig, DanielDaniel Craig Campbell, MartinMartin Campbell 594.2 150.0 3.4 581.5 145.3 3.3 22 Quantum of Solace 2008 Craig, DanielDaniel Craig Forster, MarcMarc Forster 576.0 200.0 8.9 514.2 181.4 8.1 23 Skyfall 2012 Craig, DanielDaniel Craig Mendes, SamSam Mendes 1108.6[20] 150.0[21][22]—200.0[20] 17.0[23] 879.8 158.1 13.5

Francois Dion
Categories: FLOSS Project Planets

Marble Maps forking for SailfishOS

Planet KDE - Wed, 2015-11-25 14:39

Marble, the swiss army knife for maps and globes, developed in the KDE community, this year has got an app variant added that is concentrating on maps and that is designed for today’s typical mobile devices with touch UI, called Marble Maps. It currently is in Beta state. Read “Announcing Marble Maps for Android Open Beta” for more info.

At this year’s Randa meeting for a few days I joined the people working on having KDE software run on Android. After all there are gazillions of such systems out there, and it only makes sense to have existing FLOS software, such as KDE ones, also run there, as a matter of dealing with realities. With the developers of Marble, KAlgebra and GCompris around, some experience could be shared, and I compiled what I learned into a small Hello KWorld example.

As a Marble fanboy, Marble Maps was my obvious toy project here when learning more about building Qt5-based software for Android. I had no Android device available, but a Jolla phone with SailfishOS. That one also has support for running Android apps, so I still could use it to test my self-built Marble Maps Android packages.

Now, it felt strange to run a Qt5-based application via Android emulation layer on an OS like SailfishOS which itself is using Qt5 and then some usual “Linux” software stack/middleware. Should it not simply run directly there?

So last week finally I gave it a try to build and to run Marble Maps natively on SailfishOS. And was presented with a problem: SailfishOS in the latest version is (still) at Qt 5.2 (with QML upgraded to 5.3 it seems) and, more important, has no QtQuick Controls. Which are used in Marble Maps for all controls. At least all the Marble C++ code was building fine after 2 small fixes, so that part was looking promising.

An option might have been to build a custom version of QtQuick Controls. But that somehow smelled like problems waiting. And I also was tempted to try to do some native UX to gather more experience with QtQuick and the SailfishOS ideas. So I forked the Marble Maps code and started to write a SailfishOS variant, using its Silica UI components. The code for Marble Maps is mainly the UI layer one, written in QML, with the actual business logic nicely in the shared Marble libs and components, so it is not that much logic which is duplicated here. Still it is not “Write once and run everywhere”. It’s up for discussion how much native multi-platform apps should go. For now I will play more with it.

Right now Marble Maps for SailfishOS almost has all current features of the “normal” Marble Maps implemented, modulo some small bugs:

These days sadly many people hearing “marble” and “sailfishos” might rather think of “tombstone”, bad timing here. But until that OS is pushing up the water lilies I will play more with it, after all I can use the code on a working device of mine.

If you want to use the code on a device of yours, find first RPMs on build.merproject.org and the code in branch “sfos” in my Marble repo clone clones/marble/kossebau/marble on the KDE git servers, see src/apps/marble-maps-sailfishos/ for the app code. Once it’s stable enough the code will be proposed for inclusion in the official Marble repo.
(Update: when installing the RPM on the Jolla phone, make sure you have “qt5-qtscript” installed, pkcon install qt5-qtscript in the terminal should get you there.)

Also looking forward to see the “normal” Marble Maps and other Marble-based apps soon on Plasma Mobile hopefully.
And anyone looking into an Ubuntu Touch version? Would that work with stock Marble Maps, thanks to QtQuick Controls, or would more native UX be needed there as well?

Categories: FLOSS Project Planets

Promet Source: Tuning Drupal Site Performance with Load Storm and New Relic

Planet Drupal - Wed, 2015-11-25 14:36

When load testing, we simulate user interaction with a website, increase the frequency or the number of interactions and collect the results of system usage, then analyze them to aid system improvement towards desired results. The data will prove useful for creating benchmarks of site performance, which can be compared with earlier site's performance if a site is undergoing a migration. 

Categories: FLOSS Project Planets

Grzegorz Śliwiński: Creating a timestamp in python - difference between calendar.timegm and time.mktime

Planet Python - Wed, 2015-11-25 14:18

If think most of python programmers realise that there are two ways of getting timestamp with only the help of stdlib libraries. It's time.mktime and weirdly placed calendar.timegm.

There are two things people are probably not aware. First one can be attributed due to the fact that their docs are not being read properly, or more often skipped is that time.mktime function treats timetuple as if it were representing date and time in machine local time. This means even if you extract timetuple from your datetime object using utctimetuple method resulting timestamp will still be a given date in your system local time zone. Might not be a problem at all on production, but will be a much bigger issue on your machine, when you pull some data to analyse. calendar.timegm on the other hand, treats all input data as if it were passed in utc.

Speaking of which, none of those two functions accepts a parameter that would tell which timezone the timetuple is in. The only difference is that time.mktime returns a float and calendar.timegm returns an integer.

Second things - timegm function is faster than mktime! See the short benchmarks below:

Read more… (1 min remaining to read)

Categories: FLOSS Project Planets

Paul Everitt: Python virtualenvs: Inside project or outside?

Planet Python - Wed, 2015-11-25 12:16

I’m a dummy. I pulled the old “pretend to ask an honest question but really to confirm your belief” trick and, shockingly-not, got refuted. My small sample seems to like making their Python virtual environments outside of their projects.


I do a lot of Python explaining (Py-splaining?) and, contrary to the “see how much our Won-The-War framework can do in minus ten lines of hello”, I try to suck it up and show the right way. This usually means, make a virtual environment. It also means make a package, which ranks up there with “drop a frozen turkey in a deep fryer using your teeth” on the scale of holiday fun.

Virtual environments are a little squirrelly to explain. Like “mobile first” for web dev, I have committed to Py3-first for teaching, which means you get pyvenv for free. I then show making a setup.py and doing pip install -e . (or python ./setup.py develop), binding that virtualenv to this project.

In my mind, that means the virtualenv is part of this project directory. If I give up on the project, I delete the directory, and everything goes with it. If I’m using SQLite, I store my .sqlite file in that working directory as well. If I’m doing JS frontend stuff, my node_modules is in that directory. It thus makes sense that my virtualenv (or plural, if I’m doing multiple Python versions) should be in the same working directory. It’s an artifact of that project.

In fact, Python’s “Hitchhiker’s Guide to Python” advertises this workflow.

I posed the question on Twitter because PyCharm, when making a new project, wants the virtualenv outside of the to-be-created project directory. I was looking to bolster my viewpoint.

The Herd Is Wrong

The wisdom of crowds voted against me 12-6. That’s the trouble with crowds, they are only wise when they agree with me. I guess that’s the difference between a crowd and a mob.

I think I’ll march on, teaching to firmly associate the virtualenv with the project, holding up the Hitchhiker’s Guide as my certificate of authenticity. But I won’t file a likely-disruptive ticket in PyCharm.

Categories: FLOSS Project Planets
Syndicate content