FLOSS Project Planets

PyCharm: Feature Spotlight: Find Usages & Locate Duplicates in Python Code

Planet Python - Fri, 2015-02-27 13:28

Happy Friday everyone,

In the last week’s blog post I covered different refactoring capabilities of PyCharm. Today I’ll continue highlighting different handy features and show you some more tools that help you keep your code under full control.

One of the features that every developer uses on the daily basis is Find/Replace. It’s supported in every code editor, and PyCharm is no exception: Ctrl+F/Ctrl+R. Besides, PyCharm supports a number of subsidiary functions, such as Find Next/Previous Occurrence, Find/Replace in Path, Select all Occurrences, etc. They all are available under the Edit | Find menu item:

While some of these features are pretty common, others really stand apart thanks to PyCharm outstanding code intelligence. Find usages is one of such noticeably smart features that deserves a closer look.

1. Find usages
Just press Alt + F7 on any symbol at the caret ( no matter if the symbol is a class, method, field, parameter, or another statement) and get a list of references grouped by type of usage, module and file. This feature is really fast and gets you first results almost instantly. More results appear as the IDE finds them:

By default the results should be grouped by usage type, if not you can enable this by pressing Ctrl(Cmd for Mac) + Alt + T or by clicking the corresponding button on the sidebar:

2. Settings
If you want to set custom options for the Find Usages algorithm, you can use Shift + Alt + Ctrl + 7 (Shift + Alt + Cmd + 7 for Mac):

3. Quickpopup
To see the results quickly in place, simply press Alt + Ctrl + 7 (Alt + Cmd + 7 for Mac):


4. Highlight overridden methods
Another useful aspect of highlighting usages in PyCharm is that you can easily find the methods that are overridden for a particular class. Just put the caret at the statement and press Shift + Ctrl + F7 (Shift + Cmd + F7 for Mac). If there are multiple classes, you will be asked whose methods to highlight:


5. Highlight usages in File
Sometimes its useful to quickly see all usages of the variable or method within a file right in the editor. Highlight usages in File (Ctrl + Shift + F7) works perfect in this case:

Locate Duplicates

It’s not a secret that one of the most annoying problem of every project is duplicated code. Obviously any developer tries to get rid of such redundancies. Thanks to PyCharm code intelligence, Locate duplicates tool allows you to examine your code and find different code duplicates. This tool works for different languages and is highly configurable.
To use this tool go to Code | Locate Duplicates. It will ask you for an analysis scope specification:

then you can specify some other options before give it a go:

You can set supported languages that will be analysed within your scope as well as other configurable options for fine tuning the analysis.

On the last step after clicking OK, it will show you the list of code duplicates found, as well as the tool to review these duplicates and navigate between them:

After finding duplicates you might want to use one of the refactoring features described in my previous blog post in order to get rid of them.

I hope I’ve been helpful and shed some light on these advanced PyCharm search features.

Have a great weekend and see you next week!
-Dmitry

Categories: FLOSS Project Planets

FSF Blogs: One month until LibrePlanet! Pre-order t-shirts through March 9th.

GNU Planet! - Fri, 2015-02-27 12:55

Register now to join the free software community at LibrePlanet 2015.

If you register by Monday, March 9th, you'll be able to pick up a spiffy LibrePlanet 2015 t-shirt. And don't forget that FSF members get gratis admission—and help support free software year-round!

Read on if you'd like more information about volunteering, child care reimbursements, the program, the LibrePlanet email discussion list, or participating remotely.

Volunteering (get gratis admission!)

Volunteers are crucial to LibrePlanet, and we need more to make this year awesome. Give two hours or more of your time and you'll get gratis admission, a LibrePlanet t-shirt, and lunch. You'll choose from a wide variety of tasks including A/V and livestreaming management, visitor services, and speaker support. Get started by telling us your skills and interests through the quick volunteer application.

Child care reimbursements

We're happy to offer childcare reimbursements, so that you can come to LibrePlanet even if you've got young hackers at home. To apply or find out more, contact campaigns@fsf.org no later than Friday, March 6th.

Program

The program is up, so you can start thinking about which sessions you'd like to attend. This year's conference will be jam packed with great talks like "Fighting surveillance with a free, distributed, and federated net," "Style or substance? Free software is totally the 80's," and "Free software at the African Institute for Mathematical Sciences." Make sure you check out the social events, including the Friday night 30th Anniversary Open House—check the website for more details.

LibrePlanet starts on the list

Looking to coordinate travel with other LibrePlanet attendees? Brainstorm ideas for lightning talks? Organize a get-together after the conference? Join the libreplanet-discuss email list to connect with other LibrePlanet attendees. The list is active year-round as part of the libreplanet.org community.

Participating remotely

Even if you can't make it to Cambridge, you can still participate in LibrePlanet! We'll be livestreaming the conference and hosting an online discussion in real time, then posting all the session recordings online after the conference. Bookmark the remote participation page now: libreplanet.org/2015/live.

That's all for now! Hope to see you at LibrePlanet.

Categories: FLOSS Project Planets

One month until LibrePlanet! Pre-order t-shirts through March 9th.

FSF Blogs - Fri, 2015-02-27 12:55

Register now to join the free software community at LibrePlanet 2015.

If you register by Monday, March 9th, you'll be able to pick up a spiffy LibrePlanet 2015 t-shirt. And don't forget that FSF members get gratis admission—and help support free software year-round!

Read on if you'd like more information about volunteering, child care reimbursements, the program, the LibrePlanet email discussion list, or participating remotely.

Volunteering (get gratis admission!)

Volunteers are crucial to LibrePlanet, and we need more to make this year awesome. Give two hours or more of your time and you'll get gratis admission, a LibrePlanet t-shirt, and lunch. You'll choose from a wide variety of tasks including A/V and livestreaming management, visitor services, and speaker support. Get started by telling us your skills and interests through the quick volunteer application.

Child care reimbursements

We're happy to offer childcare reimbursements, so that you can come to LibrePlanet even if you've got young hackers at home. To apply or find out more, contact campaigns@fsf.org no later than Friday, March 6th.

Program

The program is up, so you can start thinking about which sessions you'd like to attend. This year's conference will be jam packed with great talks like "Fighting surveillance with a free, distributed, and federated net," "Style or substance? Free software is totally the 80's," and "Free software at the African Institute for Mathematical Sciences." Make sure you check out the social events, including the Friday night 30th Anniversary Open House—check the website for more details.

LibrePlanet starts on the list

Looking to coordinate travel with other LibrePlanet attendees? Brainstorm ideas for lightning talks? Organize a get-together after the conference? Join the libreplanet-discuss email list to connect with other LibrePlanet attendees. The list is active year-round as part of the libreplanet.org community.

Participating remotely

Even if you can't make it to Cambridge, you can still participate in LibrePlanet! We'll be livestreaming the conference and hosting an online discussion in real time, then posting all the session recordings online after the conference. Bookmark the remote participation page now: libreplanet.org/2015/live.

That's all for now! Hope to see you at LibrePlanet.

Categories: FLOSS Project Planets

LAX, SCALE, KDE, SUSE, GNOME and ownCloud

Planet KDE - Fri, 2015-02-27 11:46
Lobby of the venueBack home. Tired and jetlaggy, but satisfied: SCALE rocked!
SCALE loves ownCloudThe 13th South California Linux Expo was awesome! It is the biggest LinuxFest in the USA. While decidedly different in nature from Europe's biggest Linux event that that took place just three weeks prior (FOSDEM), we met similarly enthusiastic existing and future users. Conversations were also similar: about half the visitors already knew ownCloud, often using it or planning on deploying it; and the other half was more than a little delighted to hear about it, often exclaiming they had been looking for 'something like that' for a while. Negativity was extremely rare: I don't recall a single negative comment at SCALE (merely a few people who liked ownCloud but had no use for it personally), FOSDEM had one conversation starting unpleasantly but quickly turning around - even though one feature of ownCloud wasn't up to snuff, the user was happy with the experience as a whole.
Before the action started!
For most users, ownCloud was simply a wonderful product and they used it at home, deployed it for customers or managed it in their company. Some asked what features were coming or just arrived in ownCloud 8, or asked about the state of specific features and in more than one occasion they very enthusiastically told me how excited they were about ownCloud, how they loved it and how they were telling everybody to use it!

ownCloud to-goThose who didn't know ownCloud were almost invariably surprised and excited. I can't count the times I heard "wow, why did I never hear about this before" and "dude, I've been looking for something like this for ever!". Often, people wondered how long ownCloud had been around (we just turned five), if it was open source (yes, with love), how many people contributed to it (719 and counting) and how many users it has (we guestimate over 2 million, with 500,000 in this single deployment alone). Oh, and, does it scale? The deployment linked above and a mention of users like CERN can put most concerns to rest. Yes, ownCloud scales from Raspberry Pi to Atom Smashing size.

What came up a few times as barriers to their future usage of ownCloud was pretty much what I discussed before. Running a server at home is not easy and I walked by the EFF booth to ask about progress on Let's Encrypt to ask about the progress of solving one aspect of that problem: more easily getting SSL certificates. I was told the project is on track for the 2nd half of this year.
Frank and Bryan Lunduke
It is wonderful to have such energizing, positive, enthusiastic users - and to have such an enthusiastic booth crew to talk to them as well. At the booth we had Frank, Matt, Ron, Camila and myself. Awesome it was and we had great fun! Below a timelapse video of Saturday morning. It was still rather quiet but it is nice to see us jump around!



Stuff and talkJust like at FOSDEM, we brought ownCloud stickers, hand outs explaining ownCloud to users and developers as well as some posters for the booth and pins to give out. This was all very much appreciated - I estimate we gave out about 400 hand outs and 500 or so stickers as well as about 50-100 pins.

Sunday at 3PM, I gave a talk about Privacy and ownCloud, with Frank finishing off with a section about his talk at MIT where he discussed ownCloud's Federated Cloud sharing feature and where it is going. The talk was well received; I think the angle I took to privacy (inspired by my background in psychology) spoke to the audience and Frank's description of federation and how it's done in ownCloud was very interesting. owncloud.org and owncloud.com will feature blogs with some more information about this soon.

FriendsBig, big booth!I also walked by the booths of 'old friends' - the openSUSE/GNOME/KDE crew in particular, it was awesome to meet them. Some I hadn't seen in years, others I met for the first time. They did an amazing job and richly deserve the reward they earned for most Stunningly Amazing Booth Crew (don't know the real name of the booth award but that's what it should be). If you think that 'just' GNOME an KDE being incorporated in the openSUSE booth isn't enough - Master Planner of the Booths Drew aims to bring in Enlightenment and XFCE as well next year. Supposedly a Trello board has been set up already. I bet it won't be long before it has grown to the point where the SCALE organization needs to give the 'openSUSE booth & friends' a separate hall at SCALE...

I have to note that it was thanks to our green friends that I could hang up the ownCloud flyers - they lend me some (green!) tape to do that.

The KDE booth had a bunch of terribly cool stickers (I only now realize I forgot to get one for myself!) as well as the "frameworks 5" flyers. I could only bring, like, 5 t-shirts and a dozen old 'join-the-game' flyers so I'm glad Bert Yerke and his wife, who formed the awesome local KDE team, had created the other materials. We already discussed 2016, as they have plenty of ideas on how to improve the booth!
Awesome stickers...
If you, dear reader, want to help out at the KDE or ownCloud booth next year - let me know, either in the comments or by mail. I can promise you: it is awesomely fun and by far not as scary as you might think! Bert and Matt and everybody who has ever been at a KDE, openSUSE, ownCloud or other FOSS booth can attest to that: it is a great way of getting involved and making a big difference!

Bonus points for who finds a suitable meaning for the one item in the title which isn't yet an acrynym ;-)

Categories: FLOSS Project Planets

Holger Krekel: pytest development reorganization, adopt pytest month!

Planet Python - Fri, 2015-02-27 10:56

Today I went live with shifting pytest development to be more community driven. During a discussion at FOSDEM 2015 a significant subset of pytest contributors decided to create two organisations at github and bitbucket and shift core pytest and several plugins to them, on the initial suggestion of Anatoly Bubenkoff.  See the new pytest contribution page for details.  The teams currently have a dozen members and we are looking forward to integrate more contributors which all get full access and commit rights to all repositories, can push to the website and release to pypi.

Also at FOSDEM 2015, core pytest contributor Brianna Laugher suggested and started the Adopt pytest month initiative which will bring together pytest contributors, users and Open Source projects interested to use pytest in their project.  Many pytest contributors and practioners will participate which means you get excellent support for bringing your testing efforts up to speed with pytest.

The pytest team is also working towards a pytest-2.7 release, take a peak at the current changelog.  If you like to get something in, now is a good time to submit a pull request.  Or, if you are working with a company you may contract merlinux which in turns contracts contributors to quickly resolve any issues you might have or organises in-house training or consulting.  Apart from the direct benefit for your company it’s also a good way to support a sustained and ever-improving testing infrastructure commons for Python (pytest, tox, devpi projects in particular).

pytest core contributors at FOSDEM 2015 in Bruxelles, left to right:  Andreas Pelme, Floris Bruynooghe, Ronny Pfannschmidt, Brianna Laugher, Holger Krekel, Anatoly Bubenkoff


Categories: FLOSS Project Planets

Richard Hartmann: Release Critical Bug report for Week 09

Planet Debian - Fri, 2015-02-27 10:40

The UDD bugs interface currently knows about the following release critical bugs:

  • In Total: 1072 (Including 181 bugs affecting key packages)
    • Affecting Jessie: 152 (key packages: 117) That's the number we need to get down to zero before the release. They can be split in two big categories:
      • Affecting Jessie and unstable: 101 (key packages: 80) Those need someone to find a fix, or to finish the work to upload a fix to unstable:
        • 23 bugs are tagged 'patch'. (key packages: 17) Please help by reviewing the patches, and (if you are a DD) by uploading them.
        • 6 bugs are marked as done, but still affect unstable. (key packages: 4) This can happen due to missing builds on some architectures, for example. Help investigate!
        • 72 bugs are neither tagged patch, nor marked done. (key packages: 59) Help make a first step towards resolution!
      • Affecting Jessie only: 51 (key packages: 37) Those are already fixed in unstable, but the fix still needs to migrate to Jessie. You can help by submitting unblock requests for fixed packages, by investigating why packages do not migrate, or by reviewing submitted unblock requests.
        • 35 bugs are in packages that are unblocked by the release team. (key packages: 27)
        • 16 bugs are in packages that are not unblocked. (key packages: 10)

How do we compare to the Squeeze and Wheezy release cycles?

Week Squeeze Wheezy Jessie 43 284 (213+71) 468 (332+136) 319 (240+79) 44 261 (201+60) 408 (265+143) 274 (224+50) 45 261 (205+56) 425 (291+134) 295 (229+66) 46 271 (200+71) 401 (258+143) 427 (313+114) 47 283 (209+74) 366 (221+145) 342 (260+82) 48 256 (177+79) 378 (230+148) 274 (189+85) 49 256 (180+76) 360 (216+155) 226 (147+79) 50 204 (148+56) 339 (195+144) ??? 51 178 (124+54) 323 (190+133) 189 (134+55) 52 115 (78+37) 289 (190+99) 147 (112+35) 1 93 (60+33) 287 (171+116) 140 (104+36) 2 82 (46+36) 271 (162+109) 157 (124+33) 3 25 (15+10) 249 (165+84) 172 (128+44) 4 14 (8+6) 244 (176+68) 187 (132+55) 5 2 (0+2) 224 (132+92) 175 (124+51) 6 release! 212 (129+83) 161 (109+52) 7 release+1 194 (128+66) 147 (106+41) 8 release+2 206 (144+62) 147 (96+51) 9 release+3 174 (105+69) 152 (101+51) 10 release+4 120 (72+48) 11 release+5 115 (74+41) 12 release+6 93 (47+46) 13 release+7 50 (24+26) 14 release+8 51 (32+19) 15 release+9 39 (32+7) 16 release+10 20 (12+8) 17 release+11 24 (19+5) 18 release+12 2 (2+0)

Graphical overview of bug stats thanks to azhag:

Categories: FLOSS Project Planets

Updated Windows Builds

Planet KDE - Fri, 2015-02-27 09:23

 

We prepared new Windows builds today. They contain the following updates:

  • Improved brush presets. The existing presets were not optimized for Windows systems, so Scott Petrovic took a look at all of them and optimized where possible
  • The brush editor now opens in the right place even if the screen is too small
  • You can now disable the on-canvas message that pops up when zooming, rotating etc. This might solve some performance issues for some people
  • We increased the amount of memory available for G’Mic even more. This may mean that on big, beefy Windows machines you can now use G’Mic, but on other, less beefy machines filters might still crash. G’Mic is an awesome tool, but keep in mind that it’s a research project and that its Windows support is experimental.

We’ll move the new builds to the official download location as soon as possible, but in the meantime, here are the downloads:

 

Categories: FLOSS Project Planets

Very nice screenshot tour from softpedia

Planet KDE - Fri, 2015-02-27 09:23

Softpedia showcases Kubuntu Vivid Beta 1 with a screenshot tour.

Categories: FLOSS Project Planets

Drupalize.Me: Podcast No. 58: Drupal Console

Planet Drupal - Fri, 2015-02-27 09:05

This week on the podcast, Amber Matz chatted with Jesus Manuel Olivas about the Drupal Console project. What is Drupal Console? The Drupal Console is, at this time, a suite of tools that you run on a command line interface (CLI) to generate boilerplate code and interact with a Drupal 8 installation.

Categories: FLOSS Project Planets

Lullabot: Drupal Console

Planet Drupal - Fri, 2015-02-27 09:05

In this episode, Amber Matz talks with Jesus Manuel Olivas, one of the maintainers of the Drupal Console project. Drupal Console brings the Symfony Console component to Drupal 8 and provides code generation and module scaffolding commands as well as commands for interacting with a Drupal 8 installation. Extended notes and resources are on the Drupalize.Me blog.

Categories: FLOSS Project Planets

Code Karate: Drupal 7 Range: Set two values for a CCK field

Planet Drupal - Fri, 2015-02-27 08:04
Episode Number: 195

You ask and you shall receive. That is exactly what happened. Roman, the supporter of the Range Module, asked us to review his module. So that is what we did.

Tags: DrupalContent TypesFieldsCCKDrupal 7Drupal Planet
Categories: FLOSS Project Planets

Deeson: Developing mobile apps with Drupal and DrupalGap

Planet Drupal - Fri, 2015-02-27 07:22

One of the key benefits of using Drupal as a content management system (CMS) is the flexibility and agility it allows for your content.

I've had the experience of using DrupalGap to take this to the next level, applying the same level of ease to creating mobile apps. 

DrupalGap is an open source application development kit for Drupal websites.

Essentially, it allows developers to create mobile apps which communicate with their Drupal websites.

An intuitive and clean system, it's also perfectly geared up for use with headless Drupal

Agile and seamless

One of the advantages of using DrupalGap was the speed and ease with which I could use it to create a mobile app using web tech.

This can be an unseemly process using some of the other tools on the market.

It may seem obvious, but another key advantage was the fact that it talked seamlessly to the Drupal CMS.

This means that content could be reused in population of the mobile app.

It also makes it simpler for content administrators to update content in one place and have it displayed on the website and mobile app.

A smaller learning curve

Some technologies provide a great output at the expense of usability. But with DrupalGap I particularly like the way that 'views' can be used to display content. 

There's also a relatively easy learning curve if you're familiar with Drupal and JavaScript. You can simply jump right in and get creating. 

After using some CSS3 techniques and the GreenSock animation library I was able to create a smooth, native looking application quickly.

Product optimisations

As with any open source project, there are constant improvements and optimisations taking place.

For me, the frustrating part of DrupalGap is that it's tied to the jQuery Mobile library which doesn’t allow much room for customisation.

I found myself having to overwrite jQuery mobile classes to make the app look exactly how I wanted. This could be an area for change and improvement as the product evolves. 

So if you're already using Drupal and are thinking about a mobile app, then DrupalGap's well worth considering. My colleague Simon wrote a blog post recently about when an app is a good idea, so that's worth a look too if you're not sure if an app is the right tool for you or not.

I'll be writing an introductory guide to using DrupalGap in the near future, so stay tuned for that as well.

Categories: FLOSS Project Planets

Enrico Zini: python-api-stability

Planet Debian - Fri, 2015-02-27 06:02
Another day in the life of a poor developer try: # After Python 3.3 from collections.abc import Iterable except ImportError: # This has changed in Python 3.3 (why, oh why?), reinforcing the idea that # the best Python version ever is still 2.7, simply because upstream has # promised that they won't touch it (and break it) for at least 5 more # years. from collections import Iterable import shlex if hasattr(shlex, "quote"): # New in version 3.3. shell_quote = shlex.quote else: # Available since python 1.6 but deprecated since version 2.7: Prior to Python # 2.7, this function was not publicly documented. It is finally exposed # publicly in Python 3.3 as the quote function in the shlex module. # # Except everyone was using it, because it was the only way provided by the # python standard library to make a string safe for shell use # # See http://stackoverflow.com/questions/35817/how-to-escape-os-system-calls-in-python import pipes shell_quote = pipes.quote import shutil if hasattr(shutil, "which"): # New in version 3.3. shell_which = shutil.which else: # Available since python 1.6: # http://stackoverflow.com/questions/377017/test-if-executable-exists-in-python from distutils.spawn import find_executable shell_which = find_executable
Categories: FLOSS Project Planets

Catalin George Festila: News: Python 3.4.3 is out.

Planet Python - Fri, 2015-02-27 04:29
Python 3.4.3 was released on February 25th, 2015 with many bugfixes and other small improvements.
More about that and can be found here.
This are the new library modules from this new release :
  • asyncio: New provisional API for asynchronous IO (PEP 3156).
  • ensurepip: Bootstrapping the pip installer (PEP 453).
  • enum: Support for enumeration types (PEP 435).
  • pathlib: Object-oriented filesystem paths (PEP 428).
  • selectors: High-level and efficient I/O multiplexing, built upon the select module primitives (part of PEP 3156).
  • statistics: A basic numerically stable statistics library (PEP 450).
  • tracemalloc: Trace Python memory allocations (PEP 454).
NOTE: The PEP contains the index of all Python Enhancement Proposals are assigned by the PEP editors, and once assigned are never changed
Categories: FLOSS Project Planets

Fried Rice Recipe

LinuxPlanet - Fri, 2015-02-27 04:13
This is based on a family recipe, recipes online, and an interpretation by local restaurants that I used to frequent. While there are other alternative recipes that possibly taste better, I find that this is the quickest and easiest version.
- chinese sausage
- rice
- eggs
- onion
- garlic
- tomato sauce
- salt- sugar
- soy sauce
- spring onion (optional)
 - dried shrimp (optional)
- shitake mushrooms (optional)
- lettuce (optional)
- fried shallot (optional)
- prawns (optional)
- Chinese BBQ Pork (also called char-siu/charsiu. See elsewhere on this blog for this recipe)

Sautee onion, garlic, chinese sausage in pan. Fry egg and then shred so that it can be mixed through rice more easily later on. Add rice and then add the rest of the diced/chopped ingredients. Add salt, sugar, soy sauce, etc... to taste. Garnish with shredded lettuce and fried shallots.

The following is what it looks like.
http://www.taste.com.au/recipes/1351/chinese+fried+rice
http://www.taste.com.au/recipes/15297/easy+fried+rice
http://www.taste.com.au/recipes/collections/fried+rice+recipes
Categories: FLOSS Project Planets

Deeson: Drupal 8, what's in it for me?

Planet Drupal - Fri, 2015-02-27 02:59

The open source content management framework Drupal is at the heart of our work here at Deeson. We use it every day, contribute code and enjoy participating in the global Drupal community.

With the new Drupal 8 release on the horizon and a few of our dedicated Drupalers participating in this weekend's DrupalCamp London, we thought it was a good time to look at the benefits of using Drupal 8 for both marketers and technologists

So as the ever so polite marketer that I am, we'll let the technologists go first. Read on further to find out more about Drupal 8 and marketing.

I'm an IT or technical specialist. Hit me with Drupal 8. 

How would you sell Drupal 8 to me in one sentence? 

"Use Drupal for the developer experience."

Drupal 8 is built using the Symfony framework which makes use of best practice object orientated paradigms.

This allows for easier code completion and better integration into development environments - put simply, programming is less stress and more fun.

What makes it different to the CMS I'm currently (and successfully) using? 

There are several major changes to Drupal 8 which address some of the shortcomings of previous versions of Drupal.

A clear winner here is the ability for developers to track changes in configuration using version control, The means there's a much more reliable process to update a production site cleanly.  

Drupal 8 drops some of the custom built libraries used in previous Drupal versions for best-of-breed industry standard alternatives from beyond the Drupal ecosystem.  

Drupal exposes its data in a RESTful manner using web services - making it much easier to create and maintain integrations with other systems.

The language translation systems have been completely rewritten making multi lingual websites a pleasure to build - compared to some of the pain that developers have experienced building multi-lingual sites on previous Drupal versions.

What benefits could I bring to my company from adopting Drupal 8? 

For the developers, Drupal 8 is better architected. This means it just makes more sense to developers and technologists.

There's less need for what is known as "tribal knowledge" - specialist knowledge about Drupal itself.

For the business this means less need to employ Drupal specialists. Employers can look to recruit and develop good computer programmers who will get up to speed with Drupal 8 faster than they would have done with Drupal 7.

Enough tech talk. I'm a Marketing Manager​. What's in it for me?

Why should I be bothered about Drupal 8?

In the past marketers have too often seen the choice of website content management system (CMS) as a technology decision that belongs in the IT department. 

But reaching the multichannel consumer needs multichannel marketing. And that means that the CMS needs to play an active role in delivering an effective marketing mix.

The right CMS can enable sophisticated personalisation and integration with wider digital marketing infrastructure.

The wrong CMS can lead to ineffective campaign workarounds, problems with handling customer data and unnecessary complexity.

Drupal 8 has been created with marketers in mind. It allows you to easily integrate your choice of CRM, email marketing and marketing automation systems with your Drupal 8 website. It enables marketing teams to easily deliver segmented campaigns by audience, language and device type.

How can I align Drupal 8 with the everyday demands of my job? Can it actually be part of campaign planning and strategy work? 

In modern digital marketing content doesn’t just sit on a website. It’s at the heart of effective marketing across every digital channel.

Drupal 8 is built to combine power with flexibility for marketers. This potential doesn’t come at the expense of user complexity though.

Common administrative features that marketers will use every day have been redesigned with easy of use in mind in Drupal 8.

Content can be edited in-situ, easily previewed so you can see what users will see and a new drag and drop image upload feature makes image management easy.

This power to effectively manage content combined with the integration of Drupal 8 with other parts of your marketing infrastructure means marketing teams can deliver better campaigns with Drupal 8 at the heart of their day-to-day marketing planning and execution. 

How do I sell the idea of using Drupal 8 to my boss? 

A good question. I think the answer is that selling Drupal 8 to your boss is the wrong move.

Understanding the limitations your current CMS places on your marketing is probably a good starting point. 

Once you’ve worked this out, you’ll find that many of them will probably be solved in Drupal 8.

Allowing you to deliver better and more effective campaigns is where the business benefit of a move to Drupal 8 comes from - and so that’s the basis on which you can build a business case.

Don’t forget that the benefits of Drupal 8 are wider than just marketing. So your business case needs to make sure it takes account of the technology and management benefits for your organisation too.   

Whille we've only covered a few of the many reasons to use Drupal as a CMS, it's important to understand how it can align with your goals as a marketer or an IT specialist within your business.

If you're attending DrupalCamp London and you'd like to have a coffee or simply spy on us as we investigate each talk, follow and tweet us @deesonlabs

Categories: FLOSS Project Planets

Deeson: Drupalcamp 2015 and why it matters

Planet Drupal - Fri, 2015-02-27 02:15

This weekend sees the annual DrupalCamp London 2015 and Deeson team members will be there in force.

As a co-director of the event I've enjoyed seeing DrupalCamp London grow and thrive over the years.

Launched in 2013, the event is a place to gather with like-minded Drupal developers and those who'd like to find out more about the benefits of using an open source CMS.

This year promises to be extra interesting, with the impending release of Drupal 8.

We've already discussed why this is highly relevant to both tech specialists and marketers, but we think it's also important to note how valuable DrupalCamp is to the evolution of the technology. 

People over product

Not only is DrupalCamp exciting in the technology it showcases, but also in the 'process' it hosts - the focused collaboration of great minds in building an even better product.

With such a 'people based' approach to building the product, it's impossible to ignore the personal issues developers may face. 

That's why keynote speakers are focused both on the product itself and the art of bringing people together to solve complex issues and the questions arising for the people behind Drupal.

Saturday sees a huge range of topics covered, both from the perspective of a website user to the often-overlooked issue of the CMS user and how to make their experience better within the system. 

While the schedule focuses on the practical issues developer might face when using Drupal, it also provides guidance for developers who may be experiencing difficult working situations, including the wonderfully titled 'Team working for megalomaniacs' session.

The event's a unique opportunity to gather the people who contribute to and use Drupal on a daily basis. It's a sounding board to find out what makes them tick, steering the product development in a direction they're happy with. 

 

Two heads are better than one, hundreds are unbeatable 

Getting people in a room together to thrash out issues and debate usability over the same table is second to none in catalysing progress.

Some of the brightest, most unique brains in the land use the technology, each putting their own spin on things. 

Sitting these people down together creates new and amazing ways to drive Drupal forward in to its next phase. 

There's also the opportunity to socialise with like-minded Drupal enthusiasts at the pub. Where better to discuss Bootstrap, Panels and all things content management?

Open to all

Whether you're a hardened Drupal expert or a curious brand manager who has never experimented with the system, the event is inclusive, welcoming and enlightening.

One thing's certain, you'll leave with plenty of answers and a lot more questions than you came with. 

There's truly no better place to witness the excitement and pace of collaborative development. 

Why not come and join us?

Categories: FLOSS Project Planets

Annertech: Create the WOW Factor with Drupal - Part 5 of 5

Planet Drupal - Fri, 2015-02-27 02:04
Create the WOW Factor with Drupal - Part 5 of 5

Over the course of this series we have looked at how to add some pizazz, AKA added value, to your projects through the three prongs of technical knowhow, aesthetics and service delivery. Today we'll look at:

Creating Wow - Transforming the ordinary into something special

This is part 5 of a 5 part series. Read the rest of the series here.

To finish off talking about The Wow Factor, here are some ideas where you can go the extra mile to really create wow.

Categories: FLOSS Project Planets

Dirk Eddelbuettel: RcppArmadillo 0.4.650.1.1 (and also 0.4.650.2.0)

Planet Debian - Thu, 2015-02-26 21:01

A new Armadillo release 4.650.1 was released by Conrad a few days ago. Armadillo is a powerful and expressive C++ template library for linear algebra aiming towards a good balance between speed and ease of use with a syntax deliberately close to a Matlab.

It turned out that this release had one shortcoming with respect to the C++11 RNG initializations in the R use case (where we need to protect the users from the C++98 RNG deemed unsuitable by the CRAN gatekeepers). And this lead to upstream release 4.650.1 which we wrapped into RcppArmadillo 0.4.650.1.1. As before this, was tested against all 107 reverse dependencies of RcppArmadillo on the CRAN repo.

This version is now on CRAN, and was just uploaded to Debian. Its changes are summarized below based on the NEWS.Rd file.

Changes in RcppArmadillo version 0.4.650.1.1 (2015-02-25)
  • Upgraded to Armadillo release Version 4.650.1 ("Intravenous Caffeine Injector")

    • added randg() for generating random values from gamma distributions (C++11 only)

    • added .head_rows() and .tail_rows() to submatrix views

    • added .head_cols() and .tail_cols() to submatrix views

    • expanded eigs_sym() to optionally calculate eigenvalues with smallest/largest algebraic values fixes for handling of sparse matrices

  • Applied small correction to main header file to set up C++11 RNG whether or not the alternate RNG (based on R, our default) is used

Now, it turns out that another small fix was needed for the corner case of a submatrix within a submatrix, ie V.subvec(1,10).tail(5). I decided not to re-release this to CRAN given the CRAN Repository Policy preference for releases “no more than every 1–2 months”.

But fear not, for we now have drat. I created a drat package repository in the RcppCore account (to not put a larger package into my main drat repository often used via a fork to initialize a drat). So now with these two simple commands

## if needed, first install 'drat' via: install.packages("drat") drat:::add("RcppCore") update.packages()

you will get the newest RcppArmadillo via this drat package repository. And course install.packages("RcppArmadillo") would also work, but takes longer to type :)

Lastly, courtesy of CRANberries, there is also a diffstat report for the most recent CRAN release. As always, more detailed information is on the RcppArmadillo page. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

Categories: FLOSS Project Planets
Syndicate content