news aggregator

Elizabeth Krumbach Joseph: Virtual Ubuntu Developer Summit 1305

Planet Ubuntu - Sat, 2013-05-18 03:42

Since I left for my wedding and honeymoon a bunch of things happened! Ubuntu 13.04 was released, 13.10 was given the code name “Saucy Salamander” and Debian 7.0 Wheezy came out. Plus lots of exciting OpenStack development discussion that came out following the Summit (I left right after it). When I got back into the country on the 12th I had a lot to catch up on! I did my best to cram before sessions and certainly had to limit involvement to a handful of sessions that I was particularly keen on attending and so could get up to speed with quickly.

This was the first virtual UDS I was able to participate in, so it was all new to me. Essentially the the “fish bowl” (as seen here, I took this photo from my spot in the wider attendee seating) is replaced by a Google Hangout and the “wider attendee seating” is an IRC channel. For the 4 sessions I participated in this worked very well, session leads were pro-active about asking who wished to participate in the Hangout so everyone who wanted to was able to. A great deal of attention in all these sessions was given to the IRC channel, which is a contrast with in person UDS where the channel can sometimes get a bit left behind (even though it’s being projected, it was easy to forget once you get talking). I didn’t use the summit.ubuntu.com page for anything aside reference, preferring to pop out the etherpad and use my standard IRC client, but I appreciated it all being there as a resource (and I’m sure it was super helpful for newcomers to follow along!).


Cheri Francis and others in the Ubuntu Women session

I found the sessions I participated in to be productive and focused and when applicable resulted in a solid list of action items. I hope that the event also lessened the experience gap that was always present for in person vs. remote participants, we all got the same experience. Now I have to admit to not being a fan of using Google Hangouts for this (I like Google, but it is still a proprietary, closed-source tool that we have no control over), but I understand that the ease of use and immediate availability of videos on YouTube makes a compelling case. Perhaps my only other complaint is lack of cohesiveness that comes from an online event, I didn’t watch the introduction or the wrap up. I also didn’t participate in the “beer hangout” – I didn’t even know it was happening, and sitting in front of my computer with a beer in the middle of the day wasn’t particularly interesting to me. I only attended a few specific sessions and there was no “wandering into something that looks interesting” (instead I just went back to work) or the regular social down time we get to relax or sit down to hack on things. I do hope we can find some kind of replacement for the in-person events, it would be great to see something on the LoCo team level at conferences where we seek to have an expanded Ubuntu presence focused on contributors (perhaps an Ubucon with a participant track?).

And the venue… it was at home! In order to participate in the hangout I did feel the need to leverage my multiple monitors.


My desk is a bit chaotic

Now the sessions themselves…

– Planning for Ubuntu Community presence on the Ubuntu Website –

This was not a particularly productive session as far as action items were concerned, but it turns out that while I was gone the removal of the “Community” link from ubuntu.com took on a life of its own (and boy was I surprised to see my name end up in a recent Datamation article about it). Personally I was satisfied with Daniel Holbach’s blog post on the subject a day after the change was made, but it was nice to speak with with some folks from the Design team and allow everyone to confirm that no ill will was intended and that plans for a new and improved community site were moving forward. The session was kept short given the more structured session about the community site specifically planned for the following day.

YouTube video of the session here

– Ubuntu Women UDS-1305 Goals –

Huge thanks to Silvia Bindelli and Cheri Francis for doing all of the leg work for this session while I was gone, I felt very comfortable reviewing their pre-session notes and found a really great, collaborative environment upon joining in. The discussion began talking about an information scavenger-hung competition that the team will be doing in the coming months, seeking volunteers to assist. It then moved into a topic that I was really happy to see on the agenda – a user poll to see how the team could be most effective in serving our audience of women interested in Ubuntu. I find that the project needs a bit of an adjustment every couple of years to refocus on our current targets as Ubuntu and the open source ecosystem evolves, so I’m excited that we’re doing this. Finally, much of the session was spent discussing our intention to further collaborate with other groups seeking to encourage women in open source (and in technology in general).

YouTube video of the session here and I uploaded session notes here

– Revamping ubuntu.com/community –

Picking up from where discussion left off the previous day, this session was a focused on on concrete things that need to be done to get the proposed community website that was under development reviewed and published. I admit that job change + wedding planning had my attention diverted this past cycle so I wasn’t able to contribute to this project, but I made sure to spend time the night before to do a review of the content so I’d be prepared. I was able to go through some of my suggestions during the meeting and took a few action items to continue with a more thorough review and to collect some quotes and photos from the community to make the site more personal and approachable.

YouTube video of the session here and I uploaded session notes here

– Shaping a plan for the future of Ubuntu Documentation Team –

I can’t begin to say how pleased I was to see this session land on the agenda. The Ubuntu Doc team has been a very small team for a long time, and new contributors have struggled to participate as the docs for writing the docs got stale to a point where they were not useful. We’re at a very exciting time now where we have limited support from a couple of the (very busy!) former drivers of this team and at least two strong contributors who have committed to moving the project forward. The first thing on the agenda was addressing the updating of docs so that more contributors can get on-boarded. I was able to pitch in with a couple action items to nudge things along a bit, but I’m hopeful that this is the beginning of an exciting new phase for the team.

YouTube video of the session here and I uploaded session notes here


A Slimy Salamander (wait, you said Saucy?)

– Xubuntu –

Since the event was online, the Xubuntu team took advantage of the flexibility and ended up pulling their sessions from UDS proper and scheduling our sessions for the hour after UDS each day to tackle a series of blueprints designed for the coming months. I was able to use my YouTube account + Hangouts to replicate that portion of what main UDS was doing.

Discussion of most interest to me centered around our testing+release plans (should we do alphas? betas? which ones?) and documentation, but discussion of our limited developer force (want to grow it!), a proposal for a shortcut overlay and default applications also were discussed. A much better summary was posted on the Xubuntu website yesterday: Looking towards Xubuntu 13.10. Pasi Lallinaho also wrote bullet-point style summaries of Night 1 and Night 2 which include links to their respective YouTube videos.

In all, a productive UDS for me, I have a lot of work to do… :)

Paul Tagliamonte: Hy: recent developments and some work from doctormo

Planet Ubuntu - Sat, 2013-05-18 01:58

Thanks to DoctorMo for the hilarious photo. It’s just so good.

We’ve got Classes working, the usual fixes from the ‘crew, and native macros. Huzzah! 

I’ve had to take the site down for now (well, stop updating it) because of a vulnerability I introduced (macros allow arbitrary code to run), which means, if anyone’s keen, they should add the sandboxing code to the Hy Site as well!

More coming soon!

Stephen Michael Kellat: An Update in Notes

Planet Ubuntu - Sat, 2013-05-18 00:00
Ubuntu Ohio Leader Notes for 2013-05-17 Continuing Attacks on freenode

Prior to the start of the recently concluded Ubuntu Developer Summit many saw freenode become subject to Denial of Service attacks. I first noticed such on May 11th. There recently has been a blog post made explaining the situation on freenode's administrative side.

As a bit of a contingency I am encouraging members of Ubuntu Ohio to update their Launchpad profiles by editing their listed Jabber (otherwise known as XMPP) IDs so that we have a bit of a roster there. We may end up considering a fall-back XMPP Conference Room if freenode hits heavier pockets of turbulence. For now the implementation of that conundrum is left as something for us as an interesting hypothetical to consider for the moment. Anybody who has ideas about how to implement such an XMPP Conference Room is encouraged to edit https://wiki.ubuntu.com/OhioTeam/XMPP on the Ubuntu Wiki Infrastructure to further collaboration.

Podcast Resumption

The two week suspension of Burning Circle should be wrapping up this week and a new episode is expected to be released on Monday, May 20th.

Ubuntu Developer Summit May 2013

The proceedings of Ubuntu Developer Summit May 2013 have concluded and I urge you to view the resulting YouTube videos created from the various Google Hangouts. One thing that was noted was that having this happen at the same time as Google I/O was a bad thing. The Xubuntu folks held some parallel sessions and published a blog post with summaries and an outline of their work plan for the Saucy Salamander cycle.

If this scheduling pattern continues the next summit should be held in August 2013. That will place it one month before Ohio Linux Fest 2013.

Ohio Linux Fest 2013

I have received a communication from Robert Ball concerning getting a table at Ohio Linux Fest 2013. I would like to deputize someone in our community located outside Ashtabula County to sign the contract for such and to handle that matter. Please contact me directly at skellat@ubuntu.com and we can discuss the matter.

An offer was received from Jorge Castro during a UDS session to bring in some people to assist with presenting an UbuCon. I still encourage members of our community to think of what they would like to present as we will get close to my issuing a call for topics. I do not currently have confirmation that space is available yet for us to do this but will be following up with Ohio Linux Fest organizers.

Ubuntu Ohio Projects For The Saucy Salamander Cycle

As a community we have three or four projects to consider during the Saucy Salamander cycle.

  1. Consider the creation of a fall-back XMPP Conference Room
  2. Prepare for Ohio Linux Fest 2013
  3. The Ubuntu Advocacy Kit
  4. Mentoring & Shepherding Community Members To Become Ubuntu Members

The first two items have been dealt with above. Jono Bacon and I engaged in a colloquy during an Ubuntu Developer Summit session about our community perhaps assisting in the development of the Ubuntu Advocacy Kit. Jono discussed further on his blog about the need for help with bringing the kit to version 1.0 and provides some basic instructions on how to get started. If there are community members who are interested in participating please follow the directions and dig in. If we need to spend time going over the mechanics of contributing using Bazaar, please let me know so that I can schedule an educational session.

The last project matter is one that I am taking on which is to help mentor and shepherd members of our community through the process of attaining Ubuntu Membership. Across the planet there are only 784 Ubuntu Members in the relevant Launchpad group at the time this is written. I want to help people grow in the community and become increasingly responsible for its growth and maintenance. This is an important step.

AND FINALLY...

NewsChannel 5 WEWS in Cleveland reports that the State of Ohio's average unemployment rate dropped by one-tenth of one percentage point to seven percent. The Ohio Department of Job and Family Services has a press release posted which provides a break-down of where employment shifted between March 2013 and April 2013. A table showing the changes by industrial group is also posted.

Jono Bacon: Dogfooding the Ubuntu Phone: My (Early) Experience

Planet Ubuntu - Fri, 2013-05-17 22:38

As many of you will know, our goal is to get the Ubuntu phone in a state where it can be used on a daily basis for testing, and importantly, finding bugs, UI issues, and other details that help us to refine the overall Ubuntu Touch experience. Progress is on-track for the end of May.

I decided to start dogfooding a little early (please remember, we are shooting for the beginning of July to be broadly in shape for dogfooding, so if you try, don’t expect things to be ready right now), so today I put my SIM card in my Galaxy Nexus with Ubuntu Touch and things are working pretty well so far. It seems that my data is no longer getting wiped on image updates, which helps testing significantly, so I am regularly upgrading with the daily images.

As ever, if you decide to test, you are doing so at your own risk…don’t be surprised to see bugs, crashes, and potential data loss (although I have not seen any data loss so far).

Some notes about my experience dogfooding:

  • Making and recieving phone calls works well. I am using T-Mobile as my network.
  • Sending and recieving texts works well too. Messages appear chronologically.
  • Contact syncing is not in place but Sergio blogged about how to sync your contacts from Google. This has made my phone infinately more useful and rather nicely, it pulls in the avatars too so I can see who is calling me.
  • Browsing and connecting to wireless networks works well.
  • The browser works well overall, although currently requires wifi (3G browsing coming soon).
  • Camera works well (for still photos, video not implemented yet) and I can browse my pictures in the gallery.
  • Many of the community-written core apps are present and working. Calendar lets me save and browse calendar events (although syncing with a calendar service is not there yet). Weather showes me the weather for my area right now and a week long forcast. Calculator is working and largely feature-complete. Other core apps are on their way to the daily image soon.
  • Overall the core Unity UI is working well. I can search for apps, load them, quit them, multi-tasting works well, and the indicators work (for adjusting volume etc).

The primary blockers in my way right now for normal use out and about are:

  • The screen does not auto shut-off. This means if the screen gets turned on in my pocket it never turns off and the battery dies.
  • Speakerphone not wired into the UI yet.
  • Can’t set the time on the phone yet. Also, the alarm feature in the clock doesn’t work; I need this to get me up in the morning.
  • Not so much a blocker, but the phone is still filled with example material and contacts. They need to be removed.

All of these are on the TODO list for complettion by the end of the month.

I have been filing bugs for a bunch of the issues I am seeing on a day to day basis and the team are working hard to hit the end of May goal. Overall progress is looking good.

Although I have been using the daily images for quite some time on a phone without a SIM card, using as an actual phone is even more motivating than before. I can feel the phone coming together and when we get many of these issues fixed, it is going to deliver a far superior experience than the Android phone I was using before.

RT @WealthWitness: One of the best tools for Online Marketing offered Free until May 20th! Limited Amount Available. #makemoney #freesoftwa…

Twittter Free Software - Fri, 2013-05-17 20:39
RT @WealthWitness: One of the best tools for Online Marketing offered Free until May 20th! Limited Amount Available. #makemoney #freesoftwa
Categories: Free Software news

RT @WealthWitness: One of the best tools for Online Marketing offered Free until May 20th! Limited Amount Available. #makemoney #freesoftwa…

Twittter Free Software - Fri, 2013-05-17 20:39
RT @WealthWitness: One of the best tools for Online Marketing offered Free until May 20th! Limited Amount Available. #makemoney #freesoftwa
Categories: Free Software news

Tracciati, livelli, maschere. Vettoriale o raster. Si fa tutto anche con software libero #shareitbaggio #freesoftware #venerdi17

Twittter Free Software - Fri, 2013-05-17 19:45
Tracciati, livelli, maschere. Vettoriale o raster. Si fa tutto anche con software libero #shareitbaggio #freesoftware #venerdi17
Categories: Free Software news

RT @sonjdol: I finally stopped using @itunes and switsched to @banshee. #freesoftware is better than #apple

Twittter Free Software - Fri, 2013-05-17 19:14
RT @sonjdol: I finally stopped using @itunes and switsched to @banshee. #freesoftware is better than #apple
Categories: Free Software news

James Hunt: A simple two-player QML game for Ubuntu Touch using the Ubuntu SDK: noughts and crosses (aka tic-tac-toe)!

Planet Ubuntu - Fri, 2013-05-17 18:37
Inspired by Rick's recent blog posts, and keen to write a blog post with a ridiculously long title, I've been reading up on QML recently. Still bearing the scars from the XML horrors of working with J2EE in the early days, that 3-byte acronym ending in "ML" initially subconsciously somewhat filled me with trepidation. However, as soon as I actually saw some QML, I could see these fears were unfounded (! :-)  And in fact I now love QML. It's clean, elegant, powerful, declarative and (OMG YAY!) you can even "%-bounce" on the braces in vim! :-) That said, the qtcreator IDE is extremely good, managing to provide just enough of what you want without requiring endless additional configuration.

But it doesn't stop there. The Design Team have done some incredible work in creating the Ubuntu SDK components: not only do they look fantastic (if you have the ubuntu-ui-toolkit-examples package installed, try running /usr/lib/ubuntu-ui-toolkit/demos/launch_componentshowcase), they are also extremely flexible and powerful.

As Rick has mentioned, it does take a while to grok the "QML-ish" way of doing things. And if like me you spend most of your time writing in imperative languages, initially you just think "all this QML is wonderful, but where do I actually put the code?". But then you have the epiphany moment when you realise you're already writing "the code" - in many cases, you don't need anything beyond the declarative QML itself.

I Need an Itch to Scratch
The only real way to learn a new language is to use it. But what to do? I wanted to code something simple and fun, like a game. There are already few games on the Collections page so I needed to think of a really simple one that is also fun to play. How about a game that even children can appreciate? Of course - Noughts and Crosses (aka tic-tac-toe)!
Note that the code is pretty rudimentary right now, but it's just about usable ;-)

Design This is a simple game so we only need a few objects: Cell, Game and MainView.

The MainView is the container for the application and includes a Page and the actual Game object. The only property we specify for the game is the boardSize of 3 giving us a 3x3 board. Technically, we don't actually even need to specify this since -- as we're about to see -- 3x3 is the default board size anyway. So, the Game object could be specified minimally as "Game {}". However, I've left it specified as a reminder to myself that ultimately I'd like to pass a variable to allow the board size to be specified at game creation time.

Here is a slightly simplified version of the MainView (noughts-and-crosses.qml):

import QtQuick 2.0 import Ubuntu.Components 0.1 MainView { Page { title: "Noughts and Crosses" id: page Game { // change this to whatever value you want for an NxN-sized board boardSize: 3 } } }

The Game object is a Column and comprises a Label, to show some text relating to the game, and a Grid to actually represent the game. There is some magic going on in the grid as it uses the very cool Repeater object to make laying out the grid easy: for a 3x3 board it creates 9 Cell objects and packs them into the grid. Here's a cut-down version of the Game object:

Column { property alias boardSize: gameGrid.boardSize Label { id: text text: "Noughts goes first" } Grid { id: gameGrid // Default to a 3x3 board (we only support square boards). property real boardSize: 3 // toggled between "O" and "X". The value specified below denotes // which side goes first. property string player: "O" columns: boardSize rows: boardSize // layout the appropriate number of cells for the board size Repeater { id: gridRepeater model: boardSize * boardSize Cell { width: 100 height: width } } } }
Note the property alias for boardSize in the Column object - it exposes a boardSize variable which is just a way to access the real variable of the same name within the Grid object. Note too that we tell the Grid object its dimensions by setting its columns and rows properties.

The Game object also contains a chunk of Javascript in the form of the checkForWin() function to determine whether a move resulted in the game being won.

The Cell object is the most interesting object. A Cell represents an individual location on the board. It is constructed from a Rectangle and comprises a Text value. The text value is either a middle-dot (to denote the cell has not yet been selected), a "O" or a "X". It also includes a MouseArea that specifies the new cell state to apply when the cell is clicked. Initially, the state is middle-dot but when the cell is clicked, the state is changed to the value of the parent (Game) objects player property. The Cell object specifies 3 states to represent every possible value a Cell can display. What's neat here is that changing the cells state also toggles the parent (Game) objects player property which allows the game to proceed with each player taking a turn. Clicking a cell also calls the checkForWin()function to determine if a particular turn results in the game being won. Here's the complete Cell object:

Rectangle { id: cell state: gameGrid.defaultText property alias textColor: cellText.color Text { id: cellText text: parent.state color: "silver" anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter font.pointSize: 48 } states: [ State { name: cell.parent.defaultText PropertyChanges { target: gameGrid; player: "" } }, State { name: "O" PropertyChanges { target: gameGrid; player: cell.state } }, State { name: "X" PropertyChanges { target: gameGrid; player: cell.state } } ] // when clicked, MouseArea { anchors.fill: parent onClicked: { cell.state = (gameGrid.player == "O" ? "X" : "O"); gameGrid.numberTurns += 1 gameGrid.checkForWin(); } } }
Winning Algorithm The approach I've taken is very simplistic: just scan each row, column and diagonal looking for a winning run. This isn't particularly efficient (we're scanning the board multiple times) but that's not a problem for small board sizes. However, it has two fairly compelling attributes:


  • It's simple to understand
  • It works for arbitrary-sized boards.

My favourite alternative algorithm is to make use of the properties of Magic Squares. Using these, you can scan the board a single time to determine if a player has one. This is achieved by determining if a cell has been selected by a player and if so incrementing their counter based on the magic square value for that index. For a 3x3 board, if a players total equals 15, they win!

Screenshots So, what does it look like at this early beta stage...?

Start of a new game:

We have a winner!


Another winner on a 7x7 board (the person playing crosses needs more practice me thinks :-):



What's Next
  • The javascript code is currently horrid and needs to be refactored with dynamite.
  • Add ability to play "the computer".
  • Config option to allow variable-sided playing grids.
  • Once the game is stopped, we need to disallow further board clicks.
  • Leverage more QML facilities to simplify the code further.
  • Visual improvements (animation for a winning run maybe?)
  • Ability to change player that starts.
  • Score-keeping and "best of 'n' games " support (particularly useful when the kids beat you repeatedly ;-)
  • Menu to start new game.
The code is on github, so get forking!

In Conclusion My "clean-room" implementation is far from perfect at the moment, but it's been a fantastic learning exercise so far and a lot of fun!

There are of course other QML noughts-and-crosses games out there. They come with varying licenses, some use C++ for the game logic, and most -- if not all -- are hard-coded to produce a 3x3 board only. Additionally, they generally use graphical representations for the noughts and crosses whereas here, I'm just using styled text. If you're interested, compare my github code with, for example, the Qt version to see the different approaches taken:
See Also

Rick Spencer: Dogfood Update

Planet Ubuntu - Fri, 2013-05-17 18:07

At the end of April, we set the goal to have Ubuntu Touch be dogfoodable on the Nexus and Nexus 4 phones. By that we mean, the goal is to make it so that we can use our phones exclusively as our phones. Today I chatted with some of the engineering managers involved to see how much progress we have made towards that. I am happy to say that it looks like we are still on track for this goal. However, there do appear to be some risky parts, so I am keeping my fingers crossed.


  • You can make and receive phone calls: Done!
  • You can make and receive sms messages: Done!
  • You can browse the web on 3g data: Tony had been blocked on some technical issues, but thinks he's through them, so is in the debugging phase. He expects to have this done by end of May as per the dogfooding goal. For me, personally, this is the only missing part for me to be able to use the phone as my main phone around town. So, if Tony cracks this nut, then I will put away my old phone and start using my Ubuntu Phone exclusively.
  • You can browse the web on wifi: Done! This has actually been done for quite a while.
  • You can switch between wifi and 3g data: There are 2 parts to this work. There is low level networking code to get done, and then there is UI to enable it. That means that the Phone Foundations team and the Desktop team both have work to do. Both teams expect to get it done for May, but the work is not started yet.
  • The proximity sensore dims the screen when you lift the phone to talk on it: There are two parts to this also. Gather the sensor data and then making the phone app use the sensor data. Work has not started for this part either.
  • You can import contacts from somewhere, and you can add and edit contacts: There is some work done on this that imports from a *.csv file. I expect there will be some crude support for this in time for the May goal. It might be fun for someone to try out a more elegant implementation. Ubuntu Phone is using Evolution Data Server for the contacts store, so there may be folks out there who already have the experience to do this easily.
  • When you update your phone your user data is retained, even if updating with phablet-flash: Done! This part being done makes the contacts import less important to me because as I add contacts they won't get blown away. On the other hand, it means it is worth it to import contacts, since you won't have to re-important as you update your phone each day (while it is in development).


RT @sonjdol: I finally stopped using @itunes and switsched to @banshee. #freesoftware is better than #apple

Twittter Free Software - Fri, 2013-05-17 17:57
RT @sonjdol: I finally stopped using @itunes and switsched to @banshee. #freesoftware is better than #apple
Categories: Free Software news

RT @sonjdol: I finally stopped using @itunes and switsched to @banshee. #freesoftware is better than #apple

Twittter Free Software - Fri, 2013-05-17 17:35
RT @sonjdol: I finally stopped using @itunes and switsched to @banshee. #freesoftware is better than #apple
Categories: Free Software news

Mozilla delays turning on third-party cookie killer in Firefox http://t.co/EaT3KYR6WO #freesoftware

Twittter Free Software - Fri, 2013-05-17 17:11
Mozilla delays turning on third-party cookie killer in Firefox http://t.co/EaT3KYR6WO #freesoftware
Categories: Free Software news

RT @sonjdol: I finally stopped using @itunes and switsched to @banshee. #freesoftware is better than #apple

Twittter Free Software - Fri, 2013-05-17 17:06
RT @sonjdol: I finally stopped using @itunes and switsched to @banshee. #freesoftware is better than #apple
Categories: Free Software news

Pages

Subscribe to Free Software Magazine aggregator