Feed aggregator

Marcin Juszkiewicz: Git commands which you should really know

Planet Ubuntu - Fri, 04/10/2015 - 08:55

Git is now ten years old. More and more developers get lost when have to deal with CVS or Subversion as first SCM they learnt was git. But in daily work I see many people limited to very basic use of it ;(

There is a lot of commands and external plugins for git. I do not want to mention them but rather concentrate on ones installed as part of git package. And only those which I think EVERY developer using git should know that they exist and how to use them.

Dealing with other repo is easy set: “pull” to merge changes (“fetch” if you only want to have them locally), “push” to send them out. “git remote” is useful too.

Branching is easy and there is a lot of articles how to do it. Basically “git branch” to see which one you use, “git branch -a” to check which are available and “git checkout” to grab code from one.

Checking changes is next step. “git diff” with all variants like checking local not committed changes against local repo, comparing to other branches, checking differences between branches etc. “git log -p” to check what was changed in earlier commits.

Then goes “status” to see which local files are changed/added/removed and need attention. And “add”, “rm” and finally “commit” to get all of them sorted out.

Lot of people ends here. The problem appears when they get patches…

So how to deal with patches in git world? You can of course do “patch -p1 <some.patch” and take care of adding/removing files and doing commit. But git has a way for it too.

To generate patch you can use “git diff” and store output into file. But this will lack author information and description. So it is better to commit changes and then use “git format-patch” to export what you did into file. Such file can be attached to bug tracker, sent by email, put online etc. Importing it is simple: “git am some.patch” and if it applies then it is merged like you would do local commit.

There are other ways probably too. Quilt, stgit etc. But this one is using basic git commands.

And I still remember days when I thought that git and me do not match ;D

All rights reserved © Marcin Juszkiewicz
Git commands which you should really know was originally posted on Marcin Juszkiewicz website

Related posts:

  1. GIT – second try
  2. Bazaar — what is wrong with it?
  3. Xulrunner/AArch64 on a way to upstream

Ubuntu Podcast from the UK LoCo: S08E05 – Hobgoblins - Ubuntu Podcast

Planet Ubuntu - Fri, 04/10/2015 - 08:43

It’s Episode Five of Season Eight of the Ubuntu Podcast! Alan Pope, Mark Johnson and Martin Wimpress, and (still) no Laura Cowen are connected and speaking to your brain.

In this week’s show:

That’s all for this week, please send your comments and suggestions to: show@ubuntupodcast.org
Join us on IRC in #ubuntu-podcast on Freenode
Follow us on Twitter
Find our Facebook Fan Page
Follow us on Google+

Sam Hewitt: Smartwatches –I'm Not Convinced

Planet Ubuntu - Fri, 04/10/2015 - 08:00
Don't Do It.

With (undoubtably) thousands of people about spend an inordinant amount of money on Apple Watches, I'm still not convinced that any smartphone on the market today is worth buying.

Backlit Screens Are Dumb.

I'm of the opinion that, given the glanceable nature of a watch, the choice to use a backlit LCD screen is the wrong.

Aside from fancy watchfaces, the use of hires displays and backlighting in smartwatches means they want to draw you into looking at your wrist. If you spend more than a 30 seconds or so doing or looking at something on your wrist than the watch has failed at being a watch & all that that means.

With a dumbwatch you just glance at it to get the time. With that in mind, I think, a smartwatch should be mostly glancing: "I've just got an email from my sister", "My sports team is now tied", "My fish is dead", etc. It should be a peripheral device instead of a main point of interaction like your phone or tablet.

Something on your wrist giving off light is as subtle as a brick –no amount of seamless design can hide the edge of a glowing LCD. The great thing that dumbwatches have going for them is that their presence isn't made known other than that it exists on your arm. Do we need yet another device that constantly emanates light? I don't.

This glow is something that is either edited out of all promotional material of the watch or it's conveniently shot/filmed in an way that hides it or is shown displaying something with a black backgrounds that conveniently hides the edge. For instance:

The Pebble watch is the only one that gets this right (I think) with their choice of an e-Ink/Paper display –no glow.

Too-many Functions?

The additional –other than telling time– common functions of smartwatches, to me, don't seem to fill any niche that is worth filling or isn't suitably covered by any other product.

Glorified Fitness Tracker

Save the fact that optical heart monitors (on the wrist) are notoriously inaccurate, they are only useful for cardio workouts and I'm not even sure of the point of step counters.

I'm not convinced that selling smartwatches as fitness devices is a good argument either considering how expensive most of them are compared to dedicated fitness devices.

Making Phonecalls

Just no. Take out your phone.

Considering that currently many smartwatches rely on having a phone nearby to be the brain, there's no need to make calls on your wrist –have a notification that tells you to take out your phone for an incoming call.

Messaging

If there's a keyboard on your smartwatch, it's failed. Speech-to-text and canned responses are the only thing that should be used for wrist-messaging.

I don't think a smartwatch is meant for holding a long, wordy, conversation either. Keeping with "glanceable" and other quick interactions, I don't think a watch is a conversation-piece (see what I did there).

Notifications

Granted, a smartwatch simplifies notifications and might be the only place where it's actually useful in a meaningful way. It cuts out that need to take out your phone, but it also makes notifications less ignoreable. I want to continue to have the will to choose to not look at my notifications.

For wrist-notifications to be of any use you need a good heirarchy of urgency or a method of prioritizing what reaches your wrist and then easy ways to dismiss and/or postpone notifications.

Remote Control

Acting as a remote for music and video apps, or devices, etc. is a good idea, so long as it's contrained to a few simple actions –I wouldn't cram your typical universal/tv remote in there.

Taking Pictures

This is plain dumb.

If I were pressed to get one, it'd be a Pebble. But I'm perfectly happy having my wrists free and there's nothing out there that's convinced me to go otherwise. But all smartwatches are part of a fledgling ecosystem and I'm patient, I'll wait an see what the future of smartwatches holds before writing them off entirely

Ronnie Tucker: How to Install Linux on a Windows Machine With UEFI Secure Boot

Planet Ubuntu - Thu, 04/09/2015 - 22:34

When Windows 8 rolled up to the curb, Microsoft did its best to enforce a protocol known as Unified Extensible Firmware Interface (UEFI) Secure Boot. This was to be a modern replacement for the aging BIOS system and would help ensure boot-time malware couldn’t be injected into a system. For the most part, Linux has overcome those UEFI hurdles. However, with Windows 10, those hurdles could be returning.

This BIOS replacement, UEFI, caused some serious problems with “alternative” platforms. For some time, it was thought UEFI would render Linux uninstallable on any system certified for Windows 8 and up. So what are you to do when you have a new system and you want to install Linux? The answer isn’t always simple.

 

Source: https://www.linux.com/learn/tutorials/821007-how-to-install-linux-on-a-windows-machine-with-uefi-secure-boot

Submitted by: Jack Wallen

Michael Zanetti: More levels for Machines vs. Machines

Planet Ubuntu - Thu, 04/09/2015 - 13:25

You wish! But no, this isn’t me announcing more levels. Instead, let me tell you how you can create some. But first, if you don’t know what Machines vs. Machines is, check out here.

If you have some graphics skills and know your way around with copying files/folders between your PC and the phone, it’s really straight forward to create a new level pack. No need to touch a single line of code. And this is how it’s done:

First check out a copy of lp:machines-vs-machines/levelpacks. In there you’ll find the existing level pack. Create a new sub-directory for your level pack, for example “my-first-level-pack”. All the files for your level pack should be inside this directory. The first step is to create a levelpack.json file. This file holds some basic description about your level pack. It holds the pretty formatted name, a file name for the title image, a copyright notice and the file name for the title sound:

{
"name": "My first level pack",
"copyright": "My full name",
"titleImage": "some-image-file",
"titleSound": "some-sound-file"
}

Place the image file in the same directory as this json file. The sound files instead are collected in the sounds folder.

In order to create levels you need to define some towers and enemies first. Let’s start with some enemies. Create a sub-directory called “enemies” containing a text file named “enemies.json”. Here is an example for its content:

[
{
"id": 1,
"speed": 0,
"energy": 10,
"reward": 5,
"image": "enemy-1",
"spriteCount": 1
},
{
"id": 2,
"speed": 1,
"energy": 15,
"reward": 10,
"image": "enemy-2",
"spriteCount": 8
}
]

This example file describes two enemies with different properties. The first enemy is a static image, it moves at the lowest speed and doesn’t stand many hits. It gives 5$ reward when defeated. The second one however, is an animated one, it moves a bit faster, is stronger and is rewarded with 10$. “image” holds the file name of the image file containing the enemy artwork.

Lets look at the contents of the image file: All images need to be in SVG format and should be readable by Inkscape as this will be used to generate png files in the end. All image sizes are defined by a base size of 256×256 pixels. If your image is a static image, it needs to have a page size of 256×256. For an animation with, lets say 5 frames, you need to set the page size to 5 times 256×256 squares, aligned in one row. This means the total page size needs to be 1280×256 pixels.

Set the “spriteCount” property to the amount of frames in your animation. To define the speed of the animation, additionally set the “animationDuration” property.

Optionally, for enemies you can add different perspectives. If you want your enemy to look different whether it’s walking left or right, up or down, add up to 4 rows, containing single images or an animation sequence. The rows will be taken in this order: left, right, front, back.

Lets move on to the towers. Those follow the same basic rules as enemies, but have some more different properties to tweak. Here’s the example:
[
{
"id": 1,
"name": "Standard Tower",
"locked": false,
"unlockPoints": 0,
"configs": [
{
"image": "tower-1-lv-0.png",
"shotImage": "tower-1-shot.png",
"shotSound": "tower-1-shot.wav",
"shotCenter": { "x": 128, "y" : 90 },
"shotStartDistance": 90,
"damage": 1,
"radius": 1,
"slowdown": 0,
"shotDuration": 200,
"shotRecovery": 600,
"cost": 10
},
{
"image": "tower-1-lv-1-sprite",
"spriteCount": 4,
"shotImage": "tower-1-shot.png",
"shotSound": "tower-1-shot.wav",
"shotCenter": { "x": 128, "y" : 90 },
"shotStartDistance": 90,
"shotDuration": 200,
"shotRecovery": 500,
"damage": 1,
"radius": 1.3,
"slowdown": 0,
"cost": 5
},
{
...

Each config section describes an upgrade of a tower. If the player builds a tower, he’ll get the first config, upgrading the tower once will move on to the second config and so on. You can have as many upgrades for a tower as you wish.

Note that towers can have different shot types. You’ll find examples for all of them in the existing level pack. Note that the shot type has an impact on how the animation is played. This is probably the trickiest part and requires a bit of fiddling with the values to make it look good, but it offers a lot of different ways to model a tower and it’s capabilities.

The images work the same as for the enemies. You paint each animation frame in a 256×256 square and place them in a row.

You’ll need a different image file for each tower config. If you don’t want to change the look when a tower is upgraded, you can give the same image for multiple configs though.

Additionally you’ll need a shotImage. This needs to be a 64×64 pixel sized svg. For example:

Make sure to continuously check the existing level pack. Many things for towers can be tweaked with properties that I can’t all list here. For everything that the game engine supports you’ll find and example in there.

Now, let’s create the first level. For each new level, create a sub-directory. Those sub-directories need to be named “levelX” where “X” is to be replaced by an increasing number, starting at 1. Each level directory needs to hold a file called level.json. The contents are as follows:

{
"startMoney": 150,
"rewardPoints": 20,
"board": {
"rows": 5,
"columns": 10,
"fieldsOnPath": [31, 41, 42, 43, 44, 34, 24, 14, 15, 16, 26, 36, 37, 38, 39, 29, 19],
"forbiddenFields": [0, 1, 10, 11, 12, 20, 21, 22, 30, 32]
},
"waves": [
{
"interval": 2000,
"enemies": [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]
},
{
"interval": 1000,
"enemies": [1,1,1,1]
},
{
"interval": 1000,
"enemies": [1,1,1,1,1,1,1,1]
},
{
"interval": 1000,
"enemies": [1,1,2,1,1,2,1,2,1,1,1]
}
]
}

Let’s have a closer look at the properties. Start off with setting the start money and the reward points. The reward points will be given to the player when completing a level. They’ll be distributed depending on how many lives the player has left. Defining the board, you first set the amount rows and columns your field should have. FieldsOnPath is a list of fields where the enemies will walk along. They’ll follow the fields in the specified order. Make sure you specify fields that are next to each other.

Now the interesting part. Grouped into waves, you list the enemies that should walk across this level. The numbers point to the “id” in the enemies.json file. The interval specifies the time delay between the enemies entering the field. The reference is when playing on hard. For medium and easy, the interval will be made bigger by the game engine. So make sure you test your levels in “hard” mode to get the proper feeling.

Last but not least you need the background for the level. The graphic should reflect the path you defined in fieldsOnPath. To calculate the size for the image, use “columns” by 256 for the width and “rows” by 256 for the height. This will be the area that’s most visible to the player. However, the image should be bigger, double its size and fill the empty space around it with some neutral background. This will only be visible when the screen size doesn’t match the 256×256 concept and when zooming in on the level at the beginning. Here’s the example image:

That’s it. Your first level should be ready. Now you just need to compile it. For that, get a copy of lp:machines-vs-machines and copy your level pack into the data/levelpacks/ folder. Then execute ./setupdata.py in the data directory. This will generate a ready to use level pack in the lpbuild folder. You can copy that folder into the data directory of an existing Machines vs. Machines installation, or build the game from the source you just checked out and run it in place.

If you create a level pack you can then build your own game package if you want. If your level pack is of decent quality, I’ll be happy to accept it into the official repository and publish it with an update of Machines vs. Machines.

And remember, hard is supposed to be hard.

Randall Ross: Let There Be Unicorns, Part 1

Planet Ubuntu - Thu, 04/09/2015 - 13:07

Ubuntu Vancouver recently came together to fold unicorns to help raise awareness of the Ubuntu Phone.

Joe from Ubuntu Vancouver shares his unicorn that is absolutely in love with flowers for the origami #fingertipchallenge.

We'd love it if you would like Joe's unicorn on Instagram.

Daniel Pocock: Never fly Etihad again?

Planet Ubuntu - Thu, 04/09/2015 - 08:05

This is the first time we've flown out to Australia with Etihad and it may also be the last.

We were due to fly back into Europe at CDG and head down to Lyon for the mini-DebConf this weekend.

Lets look at how our Etihad experience has worked out:

21:00 UTC Tuesday - waking up on Wednesday morning in Melbourne (UTC+10)

13:00 UTC Wednesday - leaving Melbourne about 11pm Wednesday night, a 12-13 hour flight to Abu Dhabi. We had heard about the air traffic control strikes in France (where we are going) and asked the airline if we should fly and they told us everything would be OK.

02:30 UTC Thursday - touchdown in Abu Dhabi, 6:30 am local time. Go to the transfer counter to ask for our boarding passes to CDG. At this stage, we were told that the connecting flight to CDG had been delayed 20 hours due to French strikes. As we are trying to reach Lyon for the mini-DebConf this weekend, we asked if we could leave Abu Dhabi on a 09:00 flight to Geneva. The Etihad staff told us to contact our travel agent (the flight was booked through Expedia) and for the next hour everybody's time was wasted making calls to Expedia who kept telling us to speak to Etihad. Whenever the Etihad customer service staff tried to speak to Expedia, the Expedia call center would hang up.

Eventually, the Etihad staff told us that the deadline for putting us on the Geneva flight had passed and we would be stuck in Abu Dhabi for at least 20 hours.

For flights to and from Europe, airlines have a responsibility to arrange hotels for passengers if there is a lengthy delay. If the airline is at fault, they must also pay some extra cash compensation but for a strike situation that is not applicable.

Etihad has repeatedly fobbed us off. Initially we were given vouchers for Burger King or a pizza slice and told to hang around the transfer counter.

By about 12:00 UTC (4pm local time, nine hours of waiting around the transfer counter) there was still no solution. One passenger was so upset that the airport security were called to speak to him and he was taken away. The airline staff kept giving excuses. Some passengers had been sent to a hotel but others left behind. I asked them again about our hotel and they kept trying to fob me off.

Faced with the possibility that I would miss two nights of sleep and eight hours time difference coming into Europe, I continued asking the Etihad staff to own up to their responsibilities and they eventually offered us access to their airport lounge. We discovered some other passengers in the lounge too, including the passenger who had earlier been escorted away by security.

This is unlike anything we've experienced with any other airline.

At every opportunity (the check-in at Melbourne, or when the Geneva flight was boarding), the airline has failed to make arrangements that would have avoided cost and inconvenience.

Assuming the flight goes ahead with a 20 hour delay, we will arrive in CDG some time Friday morning and not really sleep in a proper bed again until Friday night, about 70 hours after getting up in Melbourne on Wednesday morning. Thanks Etihad, you are a waking nightmare.

The airline has been evasive about how they will deal with our onward travel from CDG to Lyon. We had booked a TGV train ticket already but it is not valid after such a long delay and it seems quite possible that trains will be busier than usual thanks to the air traffic control strike. So we don't even know if we will be loitering around a Paris airport or railway station for hours on Friday and nobody from the airline or Expedia really seems to care.

Conclusion

The only conclusion I can reach from this experience is that Etihad can't be trusted, certainly not for long journies such as Australia to Europe. Having flown through Singapore, Kuala Lumpur and Hong Kong, I know that air passengers have plenty of options available and there are many airlines that do go the extra mile to look after passengers especially on such long journeys. The airline missed opportunities to re-route us at every opportunity. It looks like they help some passengers (like those who did get to hotels) but leave many others high and dry just to stay within their budget.

Jorge Castro: Keeping your options open

Planet Ubuntu - Thu, 04/09/2015 - 06:34

Alas, a public cloud has evaporared. And while new options come along all the time, the nature of the beast is that competition is fierce and can really ruin your day. On the other hand this allows us to try new options for price, performance, and reliability.

Remember what happened to the guy who made the wrong choice:

This is why we firmly believe that the ability to run whatever workload you want wherever you want is a crucial value we want to deliver to users. That’s why we continue to drive to ensure that you can Juju deploy on on as many clouds as possible. juju switch and scale on!

Ronnie Tucker: 10 Years of Git: An Interview with Git Creator Linus Torvalds

Planet Ubuntu - Wed, 04/08/2015 - 23:33

Ten years ago this week, the Linux kernel community faced a daunting challenge: They could no longer use their revision control system BitKeeper and no other Software Configuration Management (SCMs) met their needs for a distributed system. Linus Torvalds, the creator of Linux, took the challenge into his own hands and disappeared over the weekend to emerge the following week with Git. Today Git is used for thousands of projects and has ushered in a new level of social coding among programmers.

To celebrate this milestone, this article provide the behind-the-scenes story of Git and tell us what Linus thinks of the project and its impact on software development. You’ll find his comments in the story below. We’ll follow this Q&A with a week of Git in which we profile a different project each day that is using the revision control system. Look for the stories behind KVM, Qt, Drupal, Puppet and Wine, among others.

 

Source: https://www.linux.com/news/featured-blogs/185-jennifer-cloer/821541-10-years-of-git-an-interview-with-git-creator-linus-torvalds

Submitted by: Jennifer Cloer

The Fridge: Interview with Elizabeth K. Joseph of the Ubuntu Community Council

Planet Ubuntu - Wed, 04/08/2015 - 11:03

The Ubuntu Community Council is the primary community (i.e., non-technical) governance body for the Ubuntu project. In this series of 7 interviews, we go behind the scenes with the community members who were elected in 2013 serve on this council with Mark Shuttleworth.

In this, our sixth interview, we talk with Elizabeth K. Joseph who shares some details about her systems administration work, and efforts with the Ubuntu News Team, local Ubuntu teams, Xubuntu and more.

What do you do for a career?

I work as a systems administrator and frequently write and speak about my work in that role. My current position is with HP on the OpenStack Project Infrastructure where we maintain dozens of static systems that developers interface with for their work on OpenStack and a fleet of hundreds of worker servers that run all of the tests that are done against the code before it’s merged. This infrastructure is fully open source, with all of our system configurations, Puppet tooling and projects we used available via git here. Since I have a passion for both systems administration and open source, it’s been quite the dream job for me as I work with colleagues from around the world, across several companies.

What was your first computing experience?

In 1991, when I was 10 years old, my uncle gave our family an IBM PC that was as old as I was. DOS-only, I spent hours writing stories on WordPerfect and playing games from 5.25″ floppy disks. In 1993 we got a system that had a graphical interface and that’s when I inherited the old IBM for personal use and really got to digging around into the guts of that old system and breaking things. Throughout my teenage years my interest in computers grew and I found myself buying really cheap old hardware at garage sales so I could play around with it.

How long have you been involved with Ubuntu? And how long on the Ubuntu Community Council?

I first started using Ubuntu in March of 2005, which I only know because that’s when I also created my ubuntuforums.org account for asking a question about the laptop I was installing it on. Involvement began in early 2006 when I got involved with Ubuntu Women to help with the website and to consolidate resources from the officially recognized project (mailing list, web site) and the earlier created resources (forums, IRC channel). In 2007 I got involved with Ubuntu Pennsylvania where we did everything from release parties to working with local organizations to deploy Ubuntu on recycled computers for non-profits.

I joined the Community Council in 2009, so it’s been nearly 6 years! It’s been an amazing opportunity to play an important role in our community where we work with all kinds of teams I wouldn’t normally be exposed to. I highly recommend to others that they apply for a position on the council when elections for the next two year term come up in the fall.

What are some of the projects you’ve worked on in Ubuntu over the years?

I’ve done a lot of work with LoCos over the years, first in Pennsylvania and now in California, where I served as part of the leadership team for a few years. I spent several years working on Ubuntu Classroom, which has now been largely replaced by video-based Q&A sessions and tutorials, but were valuable to the community when we were more text chat focused. The work with Ubuntu Women was a pretty major part of my work for a long time, as we sought to encourage more women to get involved with Ubuntu through online events, giveaways, informal mentoring and general social support. I also served on the Ubuntu Membership Board for 4 years, which was a really valuable and inspiring experience for getting to know some of our latest, strong contributors.

What is your focus in Ubuntu today?

I host local events for Ubuntu California, including monthly Ubuntu Hours when I’m in town and events like the Ubuntu Global Jam back in February where we brought together local folks for doing Quality Assurance testing on the latest ISOs for Xubuntu. I also give talks about Ubuntu or Xubuntu, typically focused on getting involved or features about the latest releases. I also am the lead editor for the Ubuntu Weekly Newsletter which collects news from around our community and around the world about Ubuntu for publishing each Monday – it sure keeps me busy! Finally, I’m the Marketing lead for Xubuntu, so I manage relationships with companies who provide stickers and shirts for our community, help coordinate giveaways, make sure project announcements reach our broader community and manage our social media accounts.

Do you contribute to other free/open source projects? Which ones?

Since my actual day job is working on OpenStack, OpenStack is a big one! And where the vast majority of my code and infrastructure commits are these days. Over the years I’ve also contributed to Debian and various patches to small projects like BitlBee. I’m very fortunate to have always had employers who encourage open source contributions, so it’s been easy for me to continue contributions as my career has evolved.

If you were to give a newcomer some advice about getting involved with Ubuntu, what would it be?

Jump right in! The Ubuntu Community Portal has extensive documentation for various parts of the project you can get involved with based on your interest and expertise. From tasks that anyone can do, regardless of technical expertise, to more specialized ones, the site gives an overview of resources and links to more if you find something you’re interested in. Also, don’t be afraid to ask for help.

I gave a talk last year about five specific places to get involved, which you can read about here. You can check out extended slides (pdf) for a ten ways to get involved talk I gave with Nicholas Skaggs at Fossetcon back in September.

Do you have any other comments else you wish to share with the community?

Shameless plug: The Ubuntu Weekly Newsletter always needs volunteers! We need folks who can write short summaries for articles and do editorial review, so drop me a line at lyz@ubuntu.com if you’re interested and I can get you details.

New to this series? Check out our previous two Community Council interviews:

Interview with Elizabeth K. Joseph of the Ubuntu Community Council

The Fridge - Wed, 04/08/2015 - 11:03

The Ubuntu Community Council is the primary community (i.e., non-technical) governance body for the Ubuntu project. In this series of 7 interviews, we go behind the scenes with the community members who were elected in 2013 serve on this council with Mark Shuttleworth.

In this, our sixth interview, we talk with Elizabeth K. Joseph who shares some details about her systems administration work, and efforts with the Ubuntu News Team, local Ubuntu teams, Xubuntu and more.

What do you do for a career?

I work as a systems administrator and frequently write and speak about my work in that role. My current position is with HP on the OpenStack Project Infrastructure where we maintain dozens of static systems that developers interface with for their work on OpenStack and a fleet of hundreds of worker servers that run all of the tests that are done against the code before it’s merged. This infrastructure is fully open source, with all of our system configurations, Puppet tooling and projects we used available via git here. Since I have a passion for both systems administration and open source, it’s been quite the dream job for me as I work with colleagues from around the world, across several companies.

What was your first computing experience?

In 1991, when I was 10 years old, my uncle gave our family an IBM PC that was as old as I was. DOS-only, I spent hours writing stories on WordPerfect and playing games from 5.25″ floppy disks. In 1993 we got a system that had a graphical interface and that’s when I inherited the old IBM for personal use and really got to digging around into the guts of that old system and breaking things. Throughout my teenage years my interest in computers grew and I found myself buying really cheap old hardware at garage sales so I could play around with it.

How long have you been involved with Ubuntu? And how long on the Ubuntu Community Council?

I first started using Ubuntu in March of 2005, which I only know because that’s when I also created my ubuntuforums.org account for asking a question about the laptop I was installing it on. Involvement began in early 2006 when I got involved with Ubuntu Women to help with the website and to consolidate resources from the officially recognized project (mailing list, web site) and the earlier created resources (forums, IRC channel). In 2007 I got involved with Ubuntu Pennsylvania where we did everything from release parties to working with local organizations to deploy Ubuntu on recycled computers for non-profits.

I joined the Community Council in 2009, so it’s been nearly 6 years! It’s been an amazing opportunity to play an important role in our community where we work with all kinds of teams I wouldn’t normally be exposed to. I highly recommend to others that they apply for a position on the council when elections for the next two year term come up in the fall.

What are some of the projects you’ve worked on in Ubuntu over the years?

I’ve done a lot of work with LoCos over the years, first in Pennsylvania and now in California, where I served as part of the leadership team for a few years. I spent several years working on Ubuntu Classroom, which has now been largely replaced by video-based Q&A sessions and tutorials, but were valuable to the community when we were more text chat focused. The work with Ubuntu Women was a pretty major part of my work for a long time, as we sought to encourage more women to get involved with Ubuntu through online events, giveaways, informal mentoring and general social support. I also served on the Ubuntu Membership Board for 4 years, which was a really valuable and inspiring experience for getting to know some of our latest, strong contributors.

What is your focus in Ubuntu today?

I host local events for Ubuntu California, including monthly Ubuntu Hours when I’m in town and events like the Ubuntu Global Jam back in February where we brought together local folks for doing Quality Assurance testing on the latest ISOs for Xubuntu. I also give talks about Ubuntu or Xubuntu, typically focused on getting involved or features about the latest releases. I also am the lead editor for the Ubuntu Weekly Newsletter which collects news from around our community and around the world about Ubuntu for publishing each Monday – it sure keeps me busy! Finally, I’m the Marketing lead for Xubuntu, so I manage relationships with companies who provide stickers and shirts for our community, help coordinate giveaways, make sure project announcements reach our broader community and manage our social media accounts.

Do you contribute to other free/open source projects? Which ones?

Since my actual day job is working on OpenStack, OpenStack is a big one! And where the vast majority of my code and infrastructure commits are these days. Over the years I’ve also contributed to Debian and various patches to small projects like BitlBee. I’m very fortunate to have always had employers who encourage open source contributions, so it’s been easy for me to continue contributions as my career has evolved.

If you were to give a newcomer some advice about getting involved with Ubuntu, what would it be?

Jump right in! The Ubuntu Community Portal has extensive documentation for various parts of the project you can get involved with based on your interest and expertise. From tasks that anyone can do, regardless of technical expertise, to more specialized ones, the site gives an overview of resources and links to more if you find something you’re interested in. Also, don’t be afraid to ask for help.

I gave a talk last year about five specific places to get involved, which you can read about here. You can check out extended slides (pdf) for a ten ways to get involved talk I gave with Nicholas Skaggs at Fossetcon back in September.

Do you have any other comments else you wish to share with the community?

Shameless plug: The Ubuntu Weekly Newsletter always needs volunteers! We need folks who can write short summaries for articles and do editorial review, so drop me a line at lyz@ubuntu.com if you’re interested and I can get you details.

New to this series? Check out our previous two Community Council interviews:

Ronnie Tucker: How open source software builds strong roots for better governance

Planet Ubuntu - Tue, 04/07/2015 - 22:28

Open data and going digital are subjects high on the international agenda for global development, particularly when it comes to financing improved services and infrastructure for the poorest people in the world. Young people from Laos to Lagos aspire to become software developers, and smartphones are set to put unprecedented computing power into every corner of the earth. But the paradox is that many governments still only have rudimentary information technology infrastructure and often can’t find trained and skilled staff to design and run it.

As an example, in many African countries the capacity for central and regional government to work with digital tools is limited because it is common to find only a few people in the government department responsible for coordinating involvement and investment in, say, rural drinking water infrastructure and financing. Thus, they are easily stretched thin by the demands and the need to be experts on many aspects of IT and data systems. So, what is the solutions for this conditions?

 

Source: http://opensource.com/government/15/4/open-source-government-software

Submitted by:  Thomas Bjelkeman-Pettersson

Charles Profitt: Dell XPS 12 2015 Developer Edition

Planet Ubuntu - Tue, 04/07/2015 - 19:31

The Dell XPS 2013 2015 (9343) is a much anticipated computer for Ubuntu and Linux enthusiasts. Today I tested a Windows variant of the laptop and was pleasant surprised by how well it worked out of the box with Ubuntu 15.04 beta 2. I was unable to install Ubuntu to the hard drive because the unit is a demo unit that must be returned so I ran off a USB drive. The wireless driver was easily enabled by going to additional drivers. The function controls such as screen brightness, volume and keyboard back light, wireless toggle all worked out of the box with no tweaks. The one hang up is that the audio did not work. There are some ways to work around this problem on the web, but I would like to see the solution Dell decides to use. I did not experience any issues with the trackpad locking up or key repeats that earlier reviews of the Windows model discussed.

With my anticipation high I spoke with a Dell sales rep on-line and found the URL to purchasing the Dell Developer Edition and was told that the units would be shipping in 11 to 14 days. The representative also offered to provide overnight shipping for free.

Dell XPS 13 2015 Ubuntu Developer Edition

My current computer is a Lenovo T530 with 1920×1080 screen. When I purchased the unit I was impressed by the screen, but after looking at it next to the Dell XPS 13 I am left with an impression that it is just not good enough anymore. The Dell XPS 13 2015 model had much sharper text and a better contrast ratio. The picture below does not do the difference justice. When I purchased the T530 I did so primarily because I wanted a minimum resolution of 1920×1080 and most ultrabooks were being shipped with 1366×768 screens. As you can see from the image below It is amazing how much screen Dell managed to fit in to this chassis.

I just wish I had been able to get an actual Developer Edition to ensure that the one problem item was resolved, but for now I will wait to see if some reviews get posted and what the results are with regards to the audio issues.


Bryan Quigley: Getting cheaper all the time…

Planet Ubuntu - Tue, 04/07/2015 - 12:24

One of my goals of the $500 open-to-the-core* project was making Ubuntu laptops cheaper.   Most have either been really high end or bottom of the barrel.

I’m pleased to share two new laptops at new price points!

The new System76 Lemur $599

That’s $200 less then their previous lowest priced system.

 

The new Dell XPS 13  $949

I believe that’s about $300 less than the base model from last year.

Ubuntu Kernel Team: Kernel Team Meeting Minutes – April 07, 2015

Planet Ubuntu - Tue, 04/07/2015 - 10:46
Meeting Minutes

IRC Log of the meeting.

Meeting minutes.

Agenda

20150407 Meeting Agenda


Release Metrics and Incoming Bugs

Release metrics and incoming bug data can be reviewed at the following link:

  • http://people.canonical.com/~kernel/reports/kt-meeting.txt


Status: Vivid Development Kernel

Our Vivid kernel remains based on the upstream v3.19.3 stable kernel.
Vivid kernel freeze is this Thurs Apr 9. We are still chasing down some
recent regressions, but we intend to prepare and upload our proposed
final kernel for Vivid no later than tomorrow Wed Apr 8. If you have
any patches which need to land for 15.04′s release, please let us know
and get them submitted to the list now.
—–
Important upcoming dates:
Thurs Apr 09 – Kernel Freeze (~2 days away)
Thurs Apr 23 – 15.04 Release (~2 weeks away)


Status: CVE’s

The current CVE status can be reviewed at the following link:

http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html


Status: Stable, Security, and Bugfix Kernel Updates – Utopic/Trusty/Precise/Lucid

Status for the main kernels, until today:

  • Lucid – None (no update)
  • Precise – Testing & Verification
  • Trusty – Testing & Verification
  • Utopic – Testing & Verification

    Current opened tracking bugs details:

  • http://kernel.ubuntu.com/sru/kernel-sru-workflow.html

    For SRUs, SRU report is a good source of information:

  • http://kernel.ubuntu.com/sru/sru-report.html

    Schedule:

    Current cycle: 20-Mar through 11-Apr
    ====================================================================
    20-Mar Last day for kernel commits for this cycle
    22-Mar – 28-Mar Kernel prep week.
    29-Mar – 11-Apr Bug verification; Regression testing; Release

    NOTE: Lucid goes EOL on April 30.


Open Discussion or Questions? Raise your hand to be recognized

No open discussion.

Ubuntu Server blog: Server team meeting minutes: 2015-04-07

Planet Ubuntu - Tue, 04/07/2015 - 09:49

== Agenda ==

* Review ACTION points from previous meeting
* V Development
* https://wiki.ubuntu.com/VividVervet/ReleaseSchedule
* http://reqorts.qa.ubuntu.com/reports/rls-mgr/rls-v-tracking-bug-tasks.html#ubuntu-server
* Server & Cloud Bugs (caribou)
* Weekly Updates & Questions for the QA Team (matsubara)
* Weekly Updates & Questions for the Kernel Team (smb, sforshee, arges)
* Ubuntu Server Team Events
* Open Discussion
* Announce next meeting date, time and chair
* ACTION: meeting chair (of this meeting, not the next one) to carry out post-meeting procedure (minutes, etc) documented at https://wiki.ubuntu.com/ServerTeam/KnowledgeBase

== Minutes ==

==== Weekly Updates & Questions for the QA Team (matsubara) ====

* matsubara reports that some of the server smoke tests are still failing. He’ll investigate and report bugs as necessary.
* ”LINK:”: http://d-jenkins.ubuntu-ci:8080/view/Vivid/view/Smoke%20Testing/

==== Weekly Updates & Questions for the Kernel Team (smb, sforshee, arges) ====

* smb reports that two bcache bugs need feedback: bug [[http://launchpad.net/bugs/1425288|1425288]] and bug [[http://launchpad.net/bugs/1425128|1425128]]. coreycb left action in place for James Page to have a look at those.

* smb reports that the UE is sprinting next week, so there is a high chance I might miss next weeks irc meeting (and probably same for arges and sforshee )

==== Meeting Actions ====

* James to give feedback on bugs 1425288 and 1425128

==== Agree on next meeting date and time ====

Next meeting will be on Tuesday, Apr 14th at 16:00 UTC in #ubuntu-meeting.

Ronnie Tucker: Ubuntu on the Asus Zenbook UX305 ultrabook

Planet Ubuntu - Tue, 04/07/2015 - 00:26

The Asus Zenbook UX305 is a thin and light laptop that offers a pretty great value. For $699 you get a 2.6 pounds notebook with 8GB of RAM, 256GB of solid state storage, a 13.3 inch full HD matte display, and an Intel Core M Broadwell processor.

For the software, you also get Windows 8.1 software but what if you’d rather run Ubuntu? The answer is absolutely yes you can do that.

The operating system loaded quickly and most of the hardware worked without any problems. I was able to connect to my WiFi network, surf the web in Firefox, watch YouTube videos, and install apps using the Ubuntu Software Center, among other things.

I did all of this while running from the Live USB image, but you should also be able to install Ubuntu to internal storage to either dual-boot Windows and Ubuntu or to replace Windows altogether.

 

Source: http://liliputing.com/2015/04/ubuntu-on-the-asus-zenbook-ux305-ultrabook.html

Submitted by:  Brad Linder

The Fridge: Ubuntu Weekly Newsletter Issue 411

Planet Ubuntu - Mon, 04/06/2015 - 19:03

Welcome to the Ubuntu Weekly Newsletter. This is issue #411 for the week March 30 – April 5 , 2015, and the full version is available here.

In this issue we cover:

The issue of The Ubuntu Weekly Newsletter is brought to you by:

  • Paul White
  • Elizabeth K. Joseph
  • And many others

If you have a story idea for the Weekly Newsletter, join the Ubuntu News Team mailing list and submit it. Ideas can also be added to the wiki!

Except where otherwise noted, content in this issue is licensed under a Creative Commons Attribution 3.0 License BY SA Creative Commons License

Ubuntu Weekly Newsletter Issue 411

The Fridge - Mon, 04/06/2015 - 19:03

Welcome to the Ubuntu Weekly Newsletter. This is issue #411 for the week March 30 – April 5 , 2015, and the full version is available here.

In this issue we cover:

The issue of The Ubuntu Weekly Newsletter is brought to you by:

  • Paul White
  • Elizabeth K. Joseph
  • And many others

If you have a story idea for the Weekly Newsletter, join the Ubuntu News Team mailing list and submit it. Ideas can also be added to the wiki!

Except where otherwise noted, content in this issue is licensed under a Creative Commons Attribution 3.0 License BY SA Creative Commons License

Eric Hammond: S3 Bucket Notification to SQS/SNS on Object Creation

Planet Ubuntu - Mon, 04/06/2015 - 17:07

A fantastic new and oft-requested AWS feature was released during AWS re:Invent, but has gotten lost in all the hype about AWS Lambda functions being triggered when objects are added to S3 buckets. AWS Lambda is currently in limited Preview mode and you have to request access, but this related feature is already available and ready to use.

I’m talking about automatic S3 bucket notifications to SNS topics and SQS queues when new S3 objects are added.

Unlike AWS Lambda, with S3 bucket notifications you do need to maintain the infrastructure to run your code, but you’re already running EC2 instances for application servers and job processing, so this will fit right in.

To detect and respond to S3 object creation in the past, you needed to either have every process that uploaded to S3 subsequently trigger your back end code in some way, or you needed to poll the S3 bucket to see if new objects had been added. The former adds code complexity and tight coupling dependencies. The latter can be costly in performance and latency, especially as the number of objects in the bucket grows.

With the new S3 bucket notification configuration options, the addition of an object to a bucket can send a message to an SNS topic or to an SQS queue, triggering your code quickly and effortlessly.

Here’s a working example of how to set up and use S3 bucket notification configurations to send messages to SNS on object creation and update.

Setup

Replace parameter values with your preferred names.

region=us-east-1 s3_bucket_name=BUCKETNAMEHERE email_address=YOURADDRESS@EXAMPLE.COM sns_topic_name=s3-object-created-$(echo $s3_bucket_name | tr '.' '-') sqs_queue_name=$sns_topic_name

Create the test bucket.

aws s3 mb \ --region "$region" \ s3://$s3_bucket_name

Create an SNS topic.

sns_topic_arn=$(aws sns create-topic \ --region "$region" \ --name "$sns_topic_name" \ --output text \ --query 'TopicArn') echo sns_topic_arn=$sns_topic_arn

Allow S3 to publish to the SNS topic for activity in the specific S3 bucket.

aws sns set-topic-attributes \ --topic-arn "$sns_topic_arn" \ --attribute-name Policy \ --attribute-value '{ "Version": "2008-10-17", "Id": "s3-publish-to-sns", "Statement": [{ "Effect": "Allow", "Principal": { "AWS" : "*" }, "Action": [ "SNS:Publish" ], "Resource": "'$sns_topic_arn'", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:'$s3_bucket_name'" } } }] }'

Add a notification to the S3 bucket so that it sends messages to the SNS topic when objects are created (or updated).

aws s3api put-bucket-notification \ --region "$region" \ --bucket "$s3_bucket_name" \ --notification-configuration '{ "TopicConfiguration": { "Events": [ "s3:ObjectCreated:*" ], "Topic": "'$sns_topic_arn'" } }' Test

You now have an S3 bucket that is going to post a message to an SNS topic when objects are added. Let’s give it a try by connecting an email address listener to the SNS topic.

Subscribe an email address to the SNS topic.

aws sns subscribe \ --topic-arn "$sns_topic_arn" \ --protocol email \ --notification-endpoint "$email_address"

IMPORTANT! Go to your email inbox now and click the link to confirm that you want to subscribe that email address to the SNS topic.

Upload one or more files to the S3 bucket to trigger the SNS topic messages.

aws s3 cp [SOMEFILE] s3://$s3_bucket_name/testfile-01

Check your email for the notification emails in JSON format, containing attributes like:

{ "Records":[ { "eventTime":"2014-11-27T00:57:44.387Z", "eventName":"ObjectCreated:Put", ... "s3":{ "bucket":{ "name":"BUCKETNAMEHERE", ... }, "object":{ "key":"testfile-01", "size":5195, ... } }}]} Notification to SQS

The above example connects an SNS topic to the S3 bucket notification configuration. Amazon also supports having the bucket notifications go directly to an SQS queue, but I do not recommend it.

Instead, send the S3 bucket notification to SNS and have SNS forward it to SQS. This way, you can easily add other listeners to the SNS topic as desired. You can even have multiple SQS queues subscribed, which is not possible when using a direct notification configuration.

Here are some sample commands that create an SQS queue and connect it to the SNS topic.

Create the SQS queue and get the ARN (Amazon Resource Name). Some APIs need the SQS URL and some need the SQS ARN. I don’t know why.

sqs_queue_url=$(aws sqs create-queue \ --queue-name $sqs_queue_name \ --attributes 'ReceiveMessageWaitTimeSeconds=20,VisibilityTimeout=300' \ --output text \ --query 'QueueUrl') echo sqs_queue_url=$sqs_queue_url sqs_queue_arn=$(aws sqs get-queue-attributes \ --queue-url "$sqs_queue_url" \ --attribute-names QueueArn \ --output text \ --query 'Attributes.QueueArn') echo sqs_queue_arn=$sqs_queue_arn

Give the SNS topic permission to post to the SQS queue.

sqs_policy='{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal": { "AWS": "*" }, "Action":"sqs:SendMessage", "Resource":"'$sqs_queue_arn'", "Condition":{ "ArnEquals":{ "aws:SourceArn":"'$sns_topic_arn'" } } } ] }' sqs_policy_escaped=$(echo $sqs_policy | perl -pe 's/"/\\"/g') sqs_attributes='{"Policy":"'$sqs_policy_escaped'"}' aws sqs set-queue-attributes \ --queue-url "$sqs_queue_url" \ --attributes "$sqs_attributes"

Subscribe the SQS queue to the SNS topic.

aws sns subscribe \ --topic-arn "$sns_topic_arn" \ --protocol sqs \ --notification-endpoint "$sqs_queue_arn"

You can upload another test file to the S3 bucket, which will now generate both the email and a message to the SQS queue.

aws s3 cp [SOMEFILE] s3://$s3_bucket_name/testfile-02

Read the S3 bucket notification message from the SQS queue:

aws sqs receive-message \ --queue-url $sqs_queue_url

The output of that command is not quite human readable as it has quoted JSON inside quoted JSON inside JSON, but your queue processing software should be able to decode it and take appropriate actions.

You can tell the SQS queue that you have “processed” the message by grabbing the “ReceiptHandle” value from the above output and deleting the message.

sqs_receipt_handle=... aws sqs delete-message \ --queue-url "$sqs_queue_url" \ --receipt-handle "$sqs_receipt_handle"

You only have a limited amount of time to process the message and delete it before SQS tosses it back in the queue for somebody else to process. This test queue gives you 5 minutes (VisibilityTimeout=300). If you go past this timeout, simply read the message from the queue and try again.

Cleanup

Delete the SQS queue:

aws sqs delete-queue \ --queue-url "$sqs_queue_url"

Delete the SNS topic (and all subscriptions).

aws sns delete-topic \ --region "$region" \ --topic-arn "$sns_topic_arn"

Delete test objects in the bucket:

aws s3 rm s3://$s3_bucket_name/testfile-01 aws s3 rm s3://$s3_bucket_name/testfile-02

Remove the S3 bucket notification configuration:

aws s3api put-bucket-notification \ --region "$region" \ --bucket "$s3_bucket \ --notification-configuration '{}'

Delete the bucket, but only if it was created for this test!

aws s3 rb s3://$s3_bucket_name History / Future

If the concept of an S3 bucket notification sounds a bit familiar, it’s because AWS S3 has had it for years, but the only supported event type was “s3:ReducedRedundancyLostObject”, triggered when S3 lost an RRS object. Given the way that this feature was designed, we all assumed that Amazon would eventually add more useful events like “S3 object created”, which indeed they released a couple weeks ago.

I would continue to assume/hope that Amazon will eventually support an “S3 object deleted” event because it just makes too much sense for applications that need to keep track of the keys in a bucket.

[Update 2015-04-06: Add code to remove S3 bucket notification, which Amazon just added to aws-cli in release 18]

Original article: http://alestic.com/2014/12/s3-bucket-notification-to-sqssns-on-object-creation

Pages

Subscribe to Ubuntu Arizona LoCo Team aggregator