August 28, 2018
The problem was that after upgrading to Ubuntu 18.04 LTS from 16.04 LTS, I had trouble with my SSH agent. I was always being asked for the passphrase again and again, even if I had just used the key. This wouldn't have been a showstopper otherwise, but it made using virt-manager over SSH impossible because it was asking for the passphrase tens of times.
I didn't find anything on the web, and I didn't find any legacy software or obsolete configs to remove to fix the problem. I only got a hint when I tried ssh-add -l, with which I got the error message ”error fetching identities: Invalid key length”. This lead me on the right track, since after a while I started suspecting my old keys in .ssh that I hadn't used for years. And right on: after I removed one id_dsa (!) key and one old RSA key from .ssh directory (with GNOME's Keyring app to be exact), ssh-add -l started working and at the same time the familiar SSH agent behavior resumed and I was able to use my remote VMs fine too!
Hope this helps.
ps. While at the topic, remember to upgrade your private keys' internal format to the new OpenSSH format from the ”worse than plaintext” format with the -o option: blog post – tl; dr; ssh-keygen -p -o -f id_rsa and retype your passphrase.
![]()
Welcome to the Ubuntu Weekly Newsletter, Issue 542 for the week of August 19 – 25, 2018. The full version of this issue is available here.
In this issue we cover:
- Cosmic Cuttlefish (to be 18.10) feature freeze
- Ubuntu Membership Board call for nominations
- Ubuntu Stats
- Hot in Support
- LoCo Events
- Static Display Configuration for Mir
- Mir News: 24th August 2018
- Other Community News
- In the Blogosphere
- Featured Audio and Video
- Meeting Reports
- Upcoming Meetings and Events
- Updates and Security for 14.04, 16.04, and 18.04
- And much more!
The Ubuntu Weekly Newsletter is brought to you by:
- Krytarik Raido
- Bashing-om
- Wild Man
- Chris Guiver
- 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, this issue of the Ubuntu Weekly Newsletter is licensed under a Creative Commons Attribution ShareAlike 3.0 License
August 27, 2018
I’ve seen a lot of discussion of experience requirements and “entry-level” positions in the security industry lately. /r/netsecstudents and /r/asknetsec are full of threads discussing this topic, and I heard it being discussed at both BSidesLV and DEF CON this summer. The usual complaint is something along the lines of “all the positions want experience, so how am I supposed to get experience?” I’m going to take a stab at addressing this, and hope to at least provide some understanding.
A Word on Posted Job Requirements
First off, let’s take a look at posted job requirements. When you see a job listing on a career search site or on the company’s own site, those are usually written by someone in HR who took the requirements from the manager and is doing their best to fill those requirements with the best possible candidate. If they’re concerned that they might get too many applicants and want to narrow down the field, one technique they’ll use is to raise the bar somewhat. In other words, some experience requirements are artificial gatekeeping by HR. Apply anyway. Maybe you’ll have some unique experience that catches their eye, maybe they won’t get as many applicants as they thought, maybe everyone with 5 years experience will laugh at their salary offers.
Security as a Specialization
I know this will not be a popular opinion, but most security roles are not entry-level jobs. If you have come straight out of school, you are probably not qualified for a lot of security roles. This is because security work is essentially a specialization of your previous work. Much like a doctor may do general surgery before specializing in cardiothoracics, or an airplane mechanic may do basic repairs before rebuilding engines, understanding fundamentals is key to success in security.
If you are going to work in network security (firewalls, access control, etc.), you need to have a thorough understanding of the OSI model, VLANs, the concept of “Layer 3 switches”, and so much more. One of the best ways to get that understanding is to work as a network administrator beforehand.
As an application security engineer, you need an understanding of how software is built, application frameworks, OS APIs, and the software development life cycle. Understanding how the design document you read translates to actual software, or how the application stack in uses handles authentication/authorization are critical for security reviews.
If you want to work in digital forensics & incident response, you need to understand how the operating systems involve work, where the artifacts you’re pulling from come from, how to find additional artifacts, and many other things.
In penetration testing, you need familiarity with a variety of operating systems, as most networks are a heterogenous mixture, as well as basic concepts of networking and application security. A basic understanding of the controls involved in securing the systems is also important for effective penetration testing (how can you test security controls you don’t understand?).
The biggest problem in security is that there are so many unknowns. Worst, of course, are the unknown unknowns – the things you don’t know that you don’t know. Having experience in these areas reduces (but does not eliminate, of course) these unknown unknowns.
Software engineers, developers, network administrators, etc., all depend on abstractions across the layers of computing. Part of working in security is about understanding where those abstractions break down, and it’s critical that security practitioners understand what those abstractions are and how they interact. Experience working with those technologies helps the practitioner understand the abstractions.
Getting Security Experience
There are a number of roles that can help gain relevant work experience:
- IT Help Desk (Yes, it’s thankless, but it’s good exposure to a range of IT systems.)
- System administrator (obviously a lot of understanding of how systems interact, how operating systems work, shell experience, etc.)
- Network administrator (understand network ACLs, VLANs, network appliances)
All of this is not to say that formal work experience is the only way to gain relevant experience. There are many ways to develop technical experience. Fortunately, many of the relevant tools are open source or have community editions that are available.
I’ve written before about building a homelab for Offensive Security, but there’s many different approaches. There are online courses in this area:
Alternatively, you can take more of the self-taught approach with options like CTFs or HackTheBox.eu. There’s a number of different approaches.
Of course, if you’re still a student, there are internships to help you gain experience. I’ve now hosted (managed) 4 interns in security, and those have been a good way to gain experience and a better understanding of the industry. Some have worked out, some haven’t, but I’d like to think they’ve all learned something along the way.
If you don’t have much experience, find a way to work your lab or extracurricular studies into your resume. Place it under education, and list the things you’ve learned how to do. Don’t try to pretend that it’s industry experience, but show that you’re driven, that you’ve learned things, and that you can execute. In fact, having personal research/lab/etc., shows that you’re capable of getting things done on your own without individual supervision, which is a highly desirable trait.
Entry Level Positions in Security
Perhaps you really want to start off in security. There are positions, but they will be harder to find and might not be the position you think. Many of these positions involve very tool-specific or operational workflows and can be repetitive, but may offer a good learning and growth opportunity.
For example:
- Tier 1 SOC
- Some roles in a Managed Security Provider (MSP)
- Vulnerability Management Engineer (Mostly scanning/patching)
Conclusion
Look, I know it’s not what everyone wants to hear (especially those with little experience) but it is what I see in the current industry. Understanding how security fits into the bigger picture makes the most effective security practitioner, and that comes from experience. Obviously, industry experience will please the HR and recruiters, but showing the experience you do have (and building your experience) will help you get the opportunities you want.
August 26, 2018
As in 2016, I entered the 2018 LOWREZJAM on itch.io, a game jam where you have to build a game which runs in a 64x64 pixel square. So, really small — the Game Boy was 160x144, or about six times as big. So you’ve not got a lot of space to do things, but then constraints are the mother of innovation and you do get some really interesting game concepts! So, here are my reviews (which are also posted to itch.io so the developers get to see them; you can only rate and review as part of the jam if you entered your own game, which I did.
I’ve only rated games which are browser playable, mainly because there are loads of entries and I have to find a way to cut them down somehow, the reviews are in no particular order, and I didn’t quite get to them all (I nearly did, so apologies if I didn’t get to yours). Some thoughts on the jam as a whole after the reviews.
Block’ed
Honestly, I don’t understand what I need to do here. I can move my little robot around, and I worked out that I can pick up the little collections of 3 rocks (?), and when I put that collection back down again it seems to have turned into a red block with an exclamation mark on it. But I don’t understand what’s going on. This feels like it could be a really quite nice puzzle game, but the initial hurdle to get into it is too high. A set of tutorial levels which introduce the concepts would be really, really useful here. And this has, I admit, suffered because it’s part of a game and I have nearly 100 games to review, for which I apologise. If this gets some tutorials, and once I’m in a little less of a rush, I’d be happy to play this again and see how it feels!
Donuts Rage
A game where you have to tap the buttons as fast as possible! In pixel art graphics with 8-bit-ish beeping sounds! Makes me feel like I’m playing Daley Thompson’s Decathlon in about 1986. Anyway, the graphics here are pretty nicely done. The gameplay isn’t very engaging; tap the buttons as fast as you can, and eventually “as fast as you can” is not “as fast as the game wants you to” and you lose. This feels like it might be a nice brief diversion — a quick minigame embedded in something larger, which is a pretty good goal for these little 64x64 games. Good work for what it is!
Lydian
This is excellent. Hack-and-slash, as it says, but really well implemented; the graphics are evocative despite being pixelated, the storyline is good (she got her daughter back! yay!), the music is cool (especially the title screen), the monsters are scary, the fighting is well done, the mysterious spirit between levels that gifts you new weapons is mysterious (why’s it doing this? Not that I want it to stop, you understand). The best of the old pixel art games managed to make their characters expressive even though they were only a few pixels tall, and this succeeds in that too.
A couple of minuscule issues, none of which harm the rating. I didn’t at first grasp that the weapon switcher (from pressing Space, which was very clearly indicated with the little space bar keyboard graphic, well done) needed me to hold space down and then use the arrow keys; I was just hitting space expecting that by itself to switch weapons. Maybe show left/right arrows on that screen too to indicate that? Tumbling/rolling seems to be a bit sensitive to the order the keys are pressed in; pressing z and then an arrow key does a little roll in place, whereas pressing an arrow and then z does a proper roll as expected. Perhaps this could be tweaked? This didn’t matter that much to me because I never needed to roll, or to use the health potion (was it a health potion? I guess so, but I didn’t use it) because of the final small issue: if this does become a real game, the ice axe is waaay overpowered. I loved the implementation — it was clear the ice axe was an _ice_ axe, and I like a lot that you can kill things without having to be horizontally aligned with them which most games of this sort forget to do — but once I had the ice axe, all the battles were super easy. That’s fine because the idea of this is to tell the story rather than being a challenging battle in itself, but that may not apply if this becomes a fuller game.
The developer also is very responsive; I found some technical issues with the game (as in other comments) and they were quickly fixed, which is good because it meant I got to play this.
Anyway, great work.
Hike
This does an excellent job of being unnerving to play. I found myself twitching at every even slight noise. The standing people — are they people? are they cardboard cutouts of people? — seem rather silently menacing. Great atmosphere, and good sound design. It’s hard to tell quite what’s going on, which is a function of the very low resolution, but that’s what lowrezjam is all about, so that’s OK. The controls are really too sensitive, though; I found it hard to control where I was going because a tiny move of the mouse would spin me halfway around the screen, and I’d lose track of where I was facing. This is more of a problem with a game where looking back means you die…
JAM in 64 Seconds
This is a neat concept. I really like that the screen ends up filling up with things you haven’t dealt with — work emails, dog leavings, and so on. And I laughed out loud when doing the “coding” section and an actual bug appeared that I had to get rid of. This is, despite its 64px nature, a terribly accurate description of how writing a game for the jam actually is! Nice work. The graphics were rather blocky and difficult to grasp, though — this is something that a graphic artist could doubtless improve on — and sometimes clicking on things didn’t seem to register which meant that in the first playthrough I didn’t realise that you could click on things to remove them (and so I lost very quickly). I got the hang of it, though; I’ll keep persevering to see if I can actually finish a game now :-)
grav-racer
Seems an interesting beginning to a game concept, and embracing Rust compiling to webasm and webgl is pretty cool. This could be good stuff when it’s finished; as it is, it’s more of a prototype, of course.
Set Fire to the Empire!
Cool music. I like the idea here, too; simple but good fun. It’s a bit hard to actually stay ahead of things, though, so it devolves rather into button-mashing, but that’s maybe the goal here. And the main player sprite is impressively expressive for being only about 5 pixels high!
For the Demon Lord
This is more detailed than I thought it would be at first. It’s essentially, tower defence; you’re attacked by an endless wave of heroes aiming to smash your collection of crystals, and you create monsters to fight back against them; your monsters are confined to the square they’re on, but you can upgrade them with points. Points (well, “souls”) get generated by your crystals, so you have the normal tower-defence decision to make, of “do I have a whole bunch of quite rubbish monsters”, versus “do I have only a couple of monsters but upgrade them continuously until they turn into the Hulk”? And I’m not sure which is actually best here, which is a good sign. The upgrade tree is complex, though; all created monsters start as a blob, and depending on which of their stats you upgrade, they turn into a variety of different monsters, and I never had a very good handle on which collection of upgrades turned my blob into a mega blob, or a skeleton, or a demon. It would be good if there were some sort of on-screen indication of where the next upgrade or upgrades will occur and what they might be, so I can choose to evolve in a different direction without having to try to make notes about what the upgrade tree looks like. One of the upgrade paths even leads to crystals, interestingly, so you can breed more crystals to get more points, thus regaining your power source after the heroes have destroyed some of them. This is a good mechanic, and I liked the ideas behind this game quite a lot. It suffers from the 64px restriction, though; the playfield is bigger than the screen, so you end up scrolling around the battlefield while looking at it through a pinhole, which is pretty annoying. But that doesn’t affect the core gameplay much, and I like the core gameplay. Nice work.
Also, since I’m a developer and all, I thought, hahaha, I’ll just stop the game in the debugger and give myself 100,000 souls and then I can upgrade everything and win massively. I was rather crestfallen to find out that the hero generation rate is actually tied to the number of souls you’ve got, so my little hacking adventure lasted about a minute before an unstoppable wave of hero death overwhelmed my monster force faster than I could upgrade them or add reinforcements. Very clever, developers. :-)
A lot of time.
I didn’t realise for quite a while that the “hand” icon actually is a hand, so I couldn’t do anything. Once I’d worked that out, it helped. I don’t understand the gramophone, though; I can put records on it, but then interacting with it just takes them back off again. The game kinda illustrates ennui and loss through actually making the player experience them, which is a technique I can’t decide whether I like or not. The graphics for the rooms are nicely implemented; objects not quite so much (I had no idea the records were records until I worked out I could put them on the gramophone, and the dog is… kinda representative of a dog. But when you’ve only got 15 pixels or so that’s probably the best that’s doable!)
Sherlock Jack
Simple concept — walk around a slightly confusing maze of paths, kill the monsters that get in your way, and find clues. The “tracker dots” around the edge of the screen are useful, since otherwise exploring the maze would be really frustrating. However, there are some usability issues; if you walk into a wall you tend to get “stuck” on it and have to back away. It would be much nicer if you were to slide along that wall rather than getting stuck on it; especially since you can only walk in 45-degree directions and the tunnels in the maze are at different angles, meaning that just walking is often joggling the keys to approximate that diagonal. This isn’t the fun kind of challenge :) Also, walking down a tunnel only to find that it’s a dead end is an amusing thing the first time but gets really tiring after that, because it’s just annoying; all you can do is retrace your steps. I like the Sherlock framing, though, and the “cheat” button was very much appreciated!
Tank Raid
Flagrantly and unashamedly violates the 64px rules; the rounded corners on everything and the wheels on the tank in no way conform to the 64px grid :-) I never really got a sense of why my “special attack” misses lots of the time; that’s not very special. Fun little game, though; I got quite into the strategy of whether to shield first and attack afterwards, and who to attack. And the graphics would be quite nice, in a jam which didn’t have the pixel restrictions. It’s worth ignoring the 64px thing, fixing this up to have nicer fonts and so on, and then releasing it, I would say.
Beat the Glitches
I think a game which shows glitchiness with corrupted graphics might want to pick a jam where it gets more screen resolution to play with, since it’s hard to tell whether a thing looks wrong because it’s “corrupt” or it looks wrong just because it’s hugely-inflated pixel art :) Anyway, basic gameplay seemed fine, but I never grasped whether there’s a point other than “keep killing the monsters until eventually you die”. I thought that the “green arrows” which appear were telling me a direction to go, but now I think that they just sometimes appear when I kill a monster, and I don’t know why. In short, a good proof of concept, but it needs a lot more before it becomes an actual game.
Arctic Arctic Adventure
Simple concept but a reasonable one; collect bullets and throw them at invading walruses before they eat all your ice. The bullets are actually curry, rather weirdly — do penguins particularly like curry? do walruses particularly not like it? — but the main problem here is that the walruses appear and then disappear waaaaaay too quickly. Either you need the reflexes of a particularly quick-moving cobra to play this, or I’m doing something wrong, because I hardly ever managed to get into position and actually hit one of the attackers before they vanished again, which puts the game too far into the “frustrating rather than fun” category. Nice idea, though; it’s quite reminiscent of the sorts of 8-bit games you actually got in the 80s.
Outer Space Problems
Turn-based fighting; a board game, essentially, but with an outer-space theme. It’s quite fun to play and there’s an interesting variety of movements and skills — some ships have a shield, others a laser, or the ability to “hack” which is actually altering the turn order. It’s also presented in isometric rather than overhead view, which is unusual in this jam; it’s a clever idea, but I think it might be unusual at 64px for a reason, because if you’ve got two ships, one behind another, it can be quite confusing to see what’s going on (where this would likely be a lot clearer with more resolution). Nonetheless, this is a complete game, nicely explained, fun to play, and with simple but good audio. I also found all the text very easy to read, which hasn’t been the case for a number of games I’ve played in this jam, so that’s a good piece of design too. (And I appreciated the use of text (“ATK”, for example) rather than some hard-to-identify icon!) Two thumbs up!
Tactical Air Support
Fly around and bomb things; an overhead plane game. Neatly done; this was actually quite good fun, bombing their tanks, and it was nice to see (realistically) that a bomb which lands near a tank swallows up that tank in the ensuing explosion. The description explicitly states that slowing your plane down is a good idea, and it is not wrong about that; I can’t help think that it would be easier to just start the plane at minimum speed rather than telling people to do that in the description. Graphics are a bit blocky and basic; some antialiasing would help here, I think. But the game is smoothly done, and fun to play, and that’s all good with me!
Infinitroid
This is, well, it’s Metroid-style, hence the name! Basic mechanics are sensible and easy to get a handle on (although I always take a while to get used to jump being a key rather than the up button), and I was soon bouncing all over the map shooting things. Those little gun turrets that don’t wake up (and are invulnerable) are really irritating because every time I jump to wake them up they fling a bullet directly into me, but that’s not the game’s fault, that’s me being rubbish :) I have a bit of a complaint in that I didn’t really have a good sense of how well I was doing; the “readout” section at the bottom of the screen is rather abstract, so I didn’t really know what my health was, or what difference collecting the different-coloured drops actually made to what I was doing. The sound is very PC-speaker squeaky; lots of seemingly unconnected beeps, so I didn’t really gather what they all meant. Fun little game, nonetheless!
Corrupted Space - LOWREZ edition
Walk around, touching every piece of ground to remove the bacteria near to it. It took me some time to realise that the bacteria grows back after you’ve removed it, meaning that you end up going over and over the same bits of the level trying to get it all clean before the first bit you did grows back; rather like painting the Forth Bridge, where once you get to the end you have to start all over again at the beginning. And once you get a few levels in, there are enemies that fire bullets which kill you (which is fine) but you walk faster than the bullets fly, so if you insert yourself into a bullet line and walk along with it, you end up walking into the bullet in front of you (and dying), which is pretty annoying. Although that’s likely my fault because I’m not good at this sort of twitch reactions game. The implementation is flawless as far as I can tell, graphics and music and all.
Prim d’avust
Impeccably implemented sliding 15 puzzle. Cool music, too. I am ashamed to admit that I didn’t get very far because I’m not very good at 15 puzzles, especially when the image is as abstract as this, but that’s not the game’s fault (and you even give a little sound and flash when a piece is in the right place, so there’s no excuse). Well done. Also great to see Godot being used; as someone who’d like to experiment with Godot I’d be an eager reader of a really detailed devlog explaining how this was built, how it was restricted to 64px, how you made it expand to a larger size on the page, and so on!
Insta Quest
What a nice departure from the normal type of game submitted to this jam! I enjoyed playing this; it’s clear what to do, and the mechanics are obvious and make sense. Also, I have terrible reactions and I should work on that. Good game; some audio would be a good addition, but the developer’s said that the game’s still being worked on, so that’s OK.
Seasons of Fortune
I was getting my one fortune a day for some days before the jam voting even opened :-) Nicely implemented, and the “one a day” trick (which is really the fundamental thing this does) is unusual to see, and quite good. The game suffers quite a lot from text not being very readable; a different font might help with that a little, perhaps? Other games also have the problem, but they’re not quite as centred around definitely reading the text as this is. I mean, it’s not a game, per se, but it’s well done for what it is. Good work.
Soldier 64
This feels (deliberately, I expect) very Spectrum-ish as a game, especially the colour blocking and font. It’s very basic, but it certainly works; I remember playing games similar to this back in the 80s. The music is a bit too repetitive, but for what this is the game certainly works.
Match X
Something like the venerable “Same Game” puzzle, but with a larger playfield comprising pixel art pictures. This is a take on the puzzle I’ve never seen before, and it’s surprisingly difficult, which is refreshing. It’s also very useful that you don’t have to entirely clear the playfield to progress; getting down to four pixels or less is fine, which is good because I’m not sure that some of the levels are actually completely clearable. I was expecting fallen columns to slide to the left to avoid leaving any completely empty columns, and they don’t, which made solving the first level more difficult until I realised that! But the game works, and it’s good to see new approaches to old ideas.
PIXEL ISLANDS
Not a game, per se; it’s a procedurally-generated landscape you can walk around in. Technically impressive, although it suffers rather from being bounced down to 64px — the resolution’s just too small to properly express the design, and so the screen does occasionally feel like it’s dissolving into random pixels. The audio is nicely done too. This would be an impressive base for an actual game to take place on, or done as a non-interactive art piece.
Silver Rule: Prologue
An interesting premise; you’re preparing to embark on a great quest. Unfortunately, you’re pretty lame, and so even passing the initial test is a challenge. This is partially because the vermin you have to kill move really fast, and partially because your magic power is rubbish; to attack an enemy with the default fire spell you have to be really close to them, and if you get that close you’re likely to touch them, which (a) costs you health and (b) more annoyingly, thrusts you away in a random direction, so you have to approach the enemy again, causing the same problem. This is improved a little by the second magic skill, which actually fires bolts of ice from a (short) distance. Over time your magical abilities wane, but there’s a little minigame that I’m very impressed with where you literally descend into your own psyche and chase away bad thoughts, clearing your mind and restoring your magical power. I like that idea a lot; very cool. Those bad thoughts also move really fast, but the minigame is easier because it’s in such a constrained location. I kinda got the feeling that you get when you play games originally intended for a 386 on a modern computer and everything’s sped right up; I’m sure this wasn’t intentional, but it feels rather weird. There is definitely the seed of a good game here, if the balance can be worked out (and the graphics made a little less blocky, perhaps). And the developer explicitly calls out that this is a work-in-progress, so fingers crossed for the improvements!
dot.Market 2
What an intriguing idea! I’m glad the tutorial was below the game or I’d have had no idea what I was doing, but this is pretty interesting. I don’t think I quite get the idea of price fluctuations, though; if I go away to make a cup of tea, do the prices change? Or do they only alter when I do things, like a stock market version of Superhot? Nonetheless, this is fascinating, and quite different from most other games; bonus points for idea creation here, and the pixel art editor is well-done and easy to understand.
Labyrintho - Low Rez Edition
A prototype, as the developer says, but surprisingly atmospheric. The clock tick is simultaneously quite unsettling, after a while, and a sign that you’ve ended up back in that room again. I should really make a map. Nicely implemented, and the graphics are excellent; you’d hardly know that it’s only 64px square, although this is helped a bit by the “saminess” of them all; walls and floor and that’s about it :) If this can be made into a small game and keep the atmosphere, it’ll be good, I think!
Sidestepper
Impressive for being 1KB in size!
Mini Organizer 3000
Nice variant on Sokoban and similar games. Some of the later puzzles are actually pretty tricky, which is good. No great shakes graphically, but it doesn’t really need to be for this sort of game to at least be playable! Nice work.
Fibonacci Box
Ultra-minimal but very clear. This is a good demonstration of how you don’t need good graphics to have good gameplay. And (I admit this sounds a bit stupid) the graphics are good, given the overall constraint of the game; something about the colours chosen or the widths of everything, but it just looks right. The physics is annoying, though; I keep falling off the edge of platforms, or finding it very difficult to move only a few pixels to left or right, and that’s just not a challenge I enjoy; it just makes me frustrated. I think I like my puzzle games to be puzzles and not require pixel-perfect moving. I don’t know whether this is a fault in the game or in me, though. Still, this is good stuff.
Fedora Rise
Hammer your space bar to raise your avatar’s fedora. I feel like this is an in-joke that I’m not in on…
🔦
As the game itself describes, it’s a tech demo rather than a finished thing. Cleverly done, though; the devlogs are fascinating. I had no idea that bitsy could even do things beyond the most basic of 1981-era games, let alone that there seems to be a community of people working on plugins/extensions to add more stuff. That’s neat. I need to look more into this.
UNLOCKR
Nicely implemented. It’s not difficult, per se — the only threat is overshooting — but the movement is very smoothly done and fast, and feels very tactile. The sound design plays into this well with the soft clicking as your lock spins. The music is perhaps a little overpowering. This would make a nice little minigame somewhere in a larger game, or as the method to open doors in such a game, or similar. Nice work!
Petoink
Weird premise (inhale ink? spit it at enemies, which then turn into ink? and that ink powers the ship?) but executes well on it. And as there are multiple ink colours it becomes a little bit of a puzzle game about resource management. The graphics are well done; shame there’s no sound!
Tafl
Excellent board game. This is a tafl game, from a long tradition; it’s a kind of small-board version of hnefatafl. Good fun to play, although the AI is not very sophisticated; I spent time being really careful about moving my king until I realised that the orcs just don’t care about the king at all. But I suspect they will start caring in future versions, so I am right to consider moves in detail. The game maps really nicely onto the 64px layout, and the graphics are quite illustrative (I like the subtle shadows on the players); the audio is good, too, in a simple way. This is a great implementation, and I think it could become something really good with some tweaking.
Blind Bird
A rather fun mouse-only game; the titular “blind bird” keeps walking, bouncing off walls and reversing direction, and you can move one magic block from place to place to help the bird climb obstacles or change direction in the right place. The first few moves give you all the time you want to place the block, but subsequent ones require quite accurate timing, as the bird (an eared dove, apparently) walks off your magic block onto a small safe place and you have to quickly move the block so they can walk onto it again and continue the journey. Because the resolution is so small, the screen camera moves quite a lot, and so I found myself putting the block one space higher or lower than it should be… but that’s my fault, not the game’s fault! Tiny, tiny graphical complaint: the bird’s eye isn’t green, it’s transparent, which means that if it walks in front of some of the tutorial writing, you can see the writing through the bird’s eye. Which looks a bit weird. But that’s seriously the only thing I have to complain about; this is a tiny nugget of joy, this game. I like the four-colour green palette and everything. This is good stuff.
UPCRAWL
Old-skool platformer, with a really high jump. There’s nothing necessarily innovative about this in gameplay, but there doesn’t need to be; it’s fun, and well-implemented. And it does a lot with not many pixels at all. I appreciated the ability to change the music, too. Nice work!
Total Dark
A well-implemented and good-to-play complete game. I like the mechanic of decreasing power when firing bullets; reminiscent of magic spells cast from hit points or stamina. And it’s kept away from being frustrating by having lots of recharge points rather than having them be a battle to even find. Took me some time to complete, and I persevered because I was enjoying myself. A tiny gripe: if the map had a flashing dot showing where I was it would be (I’ve measured this) one hundred billion times more useful. Maybe everyone else just has a better spatial memory than I do? Anyway, great work! One of the things I like most is that although the graphics are very boxy and straight-edged, that really works with the aesthetic rather than looking unfinished or childish like some other games. And the fading light shows that the developer could have done something looking more shaded and real if they’d needed to.
Pixel Beard
Blimey this game does a lot. Lots of primary colours in the graphics, so it feels very retro, not that that’s a bad thing. I got murdered by the barman for spilling all the grog, though :)
onychophora
Named for a velvet worm. This is rather like Snakebird, but with mining. I like the idea. It’s hard to properly understand why one gets buried, though; this is a problem which would, I think, be solveable with better graphics. I think the rule is this: if you’ve dug a hole so that a contiguous block of mud above you is completely separated from a block below you, then that block falls and crushes you. But it’s hard to tell because there’s no animation; digging the final piece of that hole immediately transitions to you being dead. If I could see the block above me fall, then it would be much clearer what was going on, which I think would help a lot. This prototype does suggest that there’s an interesting game here, though, and I’d like to see more of it once it’s completed with animation, maybe some improved graphics, and sound!
Reincarnation - When death calls
Played this, but didn’t get a chance to write a proper review. It made me laugh, though.
Flush Rush
Neat little platformer. The wraparound world takes some getting used to, but it’s a clever innovation. And the frenetic music really adds to the play. Good graphics; a gem, all in all. Nice work!
BEETLE RUSH
A more complex game than it first looks. The premise is simple; identify identical pairs of beetles in the 4x4 grid and drag them together, which causes them to explode, clearing part of the playing field. But this is quite a lot harder than it looks because all the beetles look roughly the same! You have to watch them move fairly closely to tell which ones are actually pairs… and if you pair up two non-identical beetles, they turn into a sort of pupa which blocks up a square on the board. And then once you get the hang of that, right-click drag moves the playfield and you realise that the 4x4 grid you were seeing is actually just a 4x4 section of a much larger grid, which is completely full of beetles, all madly moving and needing pairing up. This is clever stuff; the realisations of each of these things gave me quite a surprise as to how much bigger the game was than I first anticipated. I do have a few small issues to think about, though. Incorrectly pairing two beetles turns them into a sort of red pupa, which is bad. But it doesn’t look bad; I didn’t realise at first that I was doing the wrong thing! Perhaps that pupa could look a little more… incorrect, somehow? Also there are two issues that others have brought up: moving the camera to show a different part of the playfield is way, way too sensitive, and the score at the top of the UI sits on top of the top row of the grid and makes it hard to see. The developer has already acknowledged these, and I’m sure they’ll get fixed. Even despite these, this is a really interesting puzzle game, and fits really nicely into the 64px pixel restriction. Great work!
Full Volley
A full, if simple, game. I didn’t have much of an idea about what good strategy was; I just kinda held down the fire button permanently and moved vaguely around the court, and won 5-1. The graphics has surprising realism; shadows beneath the players, antialiasing and the like; it’s like I’m looking at a video or much higher res imagery, but scaled right, right down (which perhaps is actually the case, depending on what game engine this was built with!) A fun enough diversion, and the developer is not wrong about the 80s hair rock soundtrack :-)
Iceberg 2: Wrath of Don
Little bit of politics :) Actually, this is a game I could completely imagine playing in 1983 or so; escape the enemy, collect the tokens. It’s nicely implemented for what it is, and I like the “Bad Don” frame around it. However, when you (inevitably) run into “Don” (who is very recognisably drawn given the few pixels there are to work with) and get the “we’re doomed” screen, there doesn’t seem to be a way to restart? One has to reset the Pico console. Maybe this is some subtle message (after all, when you’ve destroyed the environment and are doomed, you can’t undo it or start over) but it’s on balance more annoying than it should be :-)
Spider Rider
A complete game, and nicely done. I always know a thing is good when my complaints are about things within the game and not the implementation of it. In particular… man, I hate those solid walls with one gap in them. I run into those all the time. Top score of 335, though, which I’m pretty much OK with after playing a bunch of times. The music’s good (and fits the tone of the game nicely), and the enemies are varied; this would be a launch title if someone put out a 64px gameboy :) One microscopic complaint: the “death” screen which shows your score has the top score value touching the bottom of the screen, and the “score” and “top score” text in a tiny 3x3 font. This makes that screen look less cool than it should; I think that that having the scores one pixel up, and using a slightly larger font, wouldn’t significantly hide the cool background image and would make that screen look so much nicer. That’s honestly the biggest complaint I can come up with, which is a good sign :-)
Jelly Hearts : Gooperts Quest (DEMO)
A fairly basic walk-places-and-attack-things game, but nicely implemented, and the player sprite is quite cute which is cool. Since enemies move around very fast, attacking tends to end up being button-mashing; enter into a room and hammer the space bar to attack until you’ve killed everything. Sometimes a dead enemy drops a heart, which I assume gives health back; one thing missing is that there’s no health bar on screen, which is a bit of a problem because you don’t know how close you are to death. There are also fire squares, and there’s a rather neat effect where touching a fire square not only does damage but turns your sprite a darker colour; increasing amounts of being burned make your player look more and more charred and brown, which is cool. I should also note that the player movement is too smooth; it doesn’t move on the 64x64 grid, but can move in sub-pixel increments. And the music is the same 16 notes over and over; but the developer explicitly calls out that this is a demo and is still under development, and I’m sure all of these things will be fixed with further work!
Conglomecorp
A good concept here, I think. I would agree with other commenters, though; it really suffers from the 64px limitation. I’ve seen the screen essentially be dissolved into what looks like a random collection of pixels and I’ve got no clue what’s going on; this is essentially because the graphics are, I think, at higher resolution inside the game engine and are being rendered and dithered down to fit 64px. A more standard game resolution would likely help a lot with this. I’m also not sure about the overall feel; the ship moves, explicitly, rather slowly (with a “turbo boost” button which speeds it up) and that rather implies that the overall approach is that you pilot slowly, take your time, consider each shot, move gradually and thoughtfully into place, attack from ambush stealth kind of thing. But the first real tutorial is a fast-moving laser space battle between ships, which would much better fit a quick-moving, react-on-instinct, blast-everything twitch style of gameplay. So I don’t know how I’m meant to be playing, which makes me confused. I was also a bit taken aback by having to use a whole bunch of keys to do different things; again, that’s something more suited to a thoughtful slow style of play, which is at odds with the laser battle I’m made to participate in. There’s some good things here (in particular, I think the graphics would look pretty good if they weren’t harmed by being rendered at such a low resolution, and the acceleration audio is evocative and let me know exactly how fast my ship was going), so it will be interesting to see what happens when development continues.
Cybermancer X
Run around and shoot things. The graphics here are very basic, but in a weirdly compelling way I rather like them; it’s stripped back to absolute minimum. As the developer notes, it’s not 64x64, so low rating for that particular thing, but I liked this game rather more than I expected to. As with all games with unlimited firepower, though, there’s no reason to not just hold down the fire button the whole time, which is exactly what I did. I think there are too many controls — left and right are expected, but “fire upwards”, “jump”, “fire”, and “dash” are all separate keys, which is hard to manage in a twitch game like this rather than something more contemplative and thoughtful. There also seem to be some issues with the key handling; sometimes, if you’re firing and running at the same time and then press “jump”, the jump doesn’t register, which is pretty annoying. But this is more fun than I admit I thought it would be at first!
The uke player
Weird concept. The graphics are (deliberately) childishly drawn, and the gameplay isn’t up to much (move around the screen while avoiding obstacles, and that’s it) but it’s given a jaunty, feel-good sort of vibe by the ukulele background music! Not something one would play over and over, but it got a smile and will cheer up people’s days, and there are many, many worse outcomes. A tiny technical complaint; the up and down keys aren’t suppressed by the game, so they also take effect on the embedding web page, which is really annoying; that’s something worth fixing.
Le Chat Fonce: Petite Adventure 2
The Dark Cat goes around collecting coins. This is an old-skool platformer — jump from platform to platform and collect all the tokens until you’ve got enough to win. There aren’t any enemies; your nemesis is missing a jump and falling all the way back down to the ground and then having to climb up again. This is really well implemented, though; the main character is almost featureless but still clear and nicely but simply animated, and the sound design is good. I can completely imagine this being an actual released game in the mid 80s. I think it could be a little bit clearer that a locked door actually is a locked door, though; I found the door to Upper St, and couldn’t get through it, and then later on I somehow had a key and then it opened. I don’t know where I got that key from — presumably I picked it up somewhere? So that was a little confusing. There are also a couple of places where it’s slightly hard to tell whether a platform is a platform or is part of the background. But these are very small complaints! Nice work.
CIA Fish Enthusiast List
Nice work on the graphics. I actually thought, is this really 64x64? And checked, and it is. So you know the developer’s done well there :-) There’s not much to the actual game — walk around, hammer the fish monsters to death — but it’s nicely implemented. The sound is quite good, too; in particular, I realised I was getting cues from it without having to consciously notice them, which is always a sign of good audio design. I’m not quite sure where the CIA fit into this, mind, but perhaps I missed a whole chunk of the game where you put down the axe and invade Cuba or something :-)
The animated GIF screenshots of the game don’t respect the 64px limit, I should note :-) That’s not the game, though, so it doesn’t affect the rating…!
Wildfire
Lovely little Sokoban-style puzzle game, with an interesting frame story. It’s not very difficult (I won third time out), but I think that this could be the basis for a real game with loads of levels, and I’d happily play it. (The first two times I failed, one of them was not realising that one may need the fire to burn away obstructions before killing it, and the second was trying to pick up Mr Bernt himself to take him to the cabin, at which point I discover that… well, that that doesn’t work, and it made me laugh, but I won’t spoil it for people reading this!)
Oh, and I liked the “dollarone” scrolling credit as the game opened. Nice.
The Adventure
Charming little platformer. The player is a very engaging little fellow, and he moves fast and jumps high, both of which are good and contribute to a very flowing feel. He’s pretty vulnerable, though; I died all the time, through accidentally walking into enemies. And although I really liked the hole falling animation and look of surprise the first time around, it’s much less cute on repetition after I’ve died a bunch of times and have to wait through it. Also, having space for jump and X for attack is really rather awkward to control; the up arrow for jump would be considerably easier. There’s a nice vibe about this generally, though; with some polish, this could be a fun little dungeon explorer game.
The mysterious case of Lord Bolton
The beginnings of a good little game here, I think. It does a fair job of providing a slightly creepy atmosphere; the picture of the tentacled guy along with an audio “sting” actually made me jump a little, which was prety cool. However, once I’d found the lever and the key and then opened the gate, the game ended! This may be because it’s really just a proof-of-concept demo for the jam, but I feel like I missed out on something; some explanation, or some conclusion. If this is really just a trailer and will continue to be developed into something larger then I think it’s done its job as a teaser and to prove the tech works ok, though, nice work! One minor complaint: the tables being made of the same texture as the floor makes them ratehr invisible. I couldn’t understand why I was unable to walk further into a room, until I realise that there was a table in the way. This could be solved with shadows, or making the tables be made from a slightly different material than the flooring.
Everyday Struggle
A game about anxiety. I haven’t been in the right frame of mind to play this properly yet and so I won’t rate it because that would be unfair, but it’s courageous of the developer to put this out there, and I applaud that.
Gossamer Girls
Excellently fun game. I took a little while to grasp the exact mechanics — for example, I didn’t realise that bullets were limited for ages, because you start off with a lot, and so I didn’t know what the point of picking up the Xs that dead enemies leave behind was — but that didn’t take long to work out. Good distribution of reward chests and enemies (and a good variety of reward chests too!), and the footsteps being left behind in areas you’ve explored is a really nice touch. A minor complaint: the low “dong” noise you get when you pass through an “empty” square in the between-levels bonus pickups screen makes it sound like you’ve made a mistake in some way. Beyond that (and the enemies looking a bit too basic graphically which is out of place with the rest of the game), I have no complaints at all. Top fun.
A’maze’ing
A simple Bitsy maze game. Sadly, it’s in violation of the 64x64px requirement; it seems to be on a 128x128px grid, which means it’s got twice as much resolution as the jam dictates. Beyond that, it’s a maze game; move around, collect the key, open the door. The maze being on multiple screens is a nice touch; this feels rather like a first game for the developer, and it’s perfectly playable, if basic; finishing a game is important in itself. Hopefully they’ll go on to bigger and better things; a complete game would also have audio, a more detailed title screen, and some measure of extra challenge, and that’s something the developer can work on in future games to make them more accomplished. Good first effort!
Cave-Trapped
What a fun idea! There have been lots of games in this jam which have done well despite the 64px limitation, but this is the only game I’ve seen which thrives upon that limitation and actually puts it to use. The spider’s path being much more complex in a way that the person doesn’t see, because it’s too small for them to notice, is a really clever way to take advantage of the limited size: if you’ve not got much space, zoom it up even further and show all the hidden detail! Very impressed. I also like the graphics; the spider is cute, despite being only six pixels. Evocative. If I have a complaint, I’d say that the difficulty curve is quite high; the first couple of tutorial levels don’t show any complexity but instead just explain the mechanics, which is fine, but then the very next level is rather complicated as we suddenly introduce the idea that the spider’s path is very convoluted. This is not helped by the spider’s physics; it can walk over gaps or fall in an arc as long as it’s moving fast, but I didn’t realise that for ages because when contronted with a puzzling path I move slowly to explore different details. So I kept falling through gaps, and assumed that the goal was to work out how to approach the other side of the gap from a different direction, not that the gap isn’t meant to be a barrier at all as long as you’re walking at speed when you hit it. But these are small issues; the concept here is great, and I like this game a lot.
The Riddlebox
Find the one important object which solves the riddle and bring it back to the starting room. This seems deliberately designed to punish the player; you must bring one object and only one back in order to win, and it needs to be the right one. The actual pictures of the objects are, in most cases, not detailed enough to be able to tell exactly what an object is, so I assume that there’s no way to win other than to repeatedly try each of the objects, fail, die, and start again, over and over. The “learn by dying” game method, in other words. Also, the game seems to be built on a 128x128 resolution rather than 64x64, but since the graphics don’t really need the extra resolution I assume this was an oversight rather than a deliberate attempt to ignore the rules. Anyway, not much of a game, but maybe the next one will solve some of these issues!
Star Raid
Nicely done, with a very retro feel. At first I was annoyed by the slow movement, but after a while I got quite into it; you are a space explorer, after all, and gravity is weird. I got above 200 coins, and the secret rooms were interesting to find. There seems to be some weirdness with jumping onto platforms above and to the side of oneself; my feet don’t reach the platform (although my body does) and I sorta “glitch” onto that platform anyway. This could probably be solved with a tiny little animation, much like the (excellent) one where our little explorer does a three-point “superhero” landing when falling from a height.
And, of course, now you’ve looked at all those, you should go and play my game…
Pipe Flip
This jam was good fun. Thank you to Jack Oatley for organising it! And thanks to Alan Pope for playtesting.
One of my major limitations in game writing is that I am supernaturally, volcanically bad at graphics. So something like Lydian, the winning game, is completely beyond me to create, sad to say. This is why I made a puzzle game; the graphics in it are simplistic, to say the least. A few sprites of pipes, and the creeping fluid, and the entry and end screens. One of the advantages of the lowrezjam specifically is that you don’t have to create screens on the fly with code; you can just literally pre-render a bunch of them as PNGs and load those PNGs, because they’re only 64x64 pixels, which is tiny; the title screen, with logo and big PLAY button, is a 1.4KB png file which I just load into place. That’s pretty useful. I also made the game with pure HTML, CSS, and JavaScript; it’s not using a game engine which renders to a <canvas>. All of the things on screen are actually HTML elements. One of the nice advantages this gives is that mobile support is pretty easy, because browsers are already good at that; if I show the thing on screen, the browser handles clicks and so on for me. I can use all the CSS I want, so to scale a thing I don’t need to work out scaling algorithms myself; I just do everything at 64x64, and then apply transform: scale(10) or whatever to the whole containing element to make it bigger. (Pro tip: if you want to do that, and you want it to scale up, pixelated, then apply image-rendering: -moz-crisp-edges; image-rendering: crisp-edges; image-rendering: pixelated; to the thing you’re scaling, and then it’ll scale pixel by pixel, rather than blurring everything. That doesn’t work on fonts, annoyingly, but the rest is fine.)
Another thing I learned was that reviewing other people’s games helps. I grabbed all the results from the jam and put them in a spreadsheet (you can download the CSV file here), and I discovered something. You see, I came 69th overall, which out of 170 isn’t too bad. But I got more reviews on my game than almost anyone; Pipe Flip had 27 reviews and only two games got more than that. I am pretty confident that that happened because I wrote the above set of reviews, and posted them to each game, as the jam was going on. To review a game as part of the jam you have to have entered the jam; what this means is that when you get a review, you know that the reviewer also entered something. And I did my best to write meaningful reviews; not just that a game was good or bad but also what was good or bad about it, suggestions for improvements, applause for things that worked particularly well. I certainly wasn’t the only one doing this, but I think it helped; I not only got a bunch of useful feedback on Pipe Flip but I also had comments back from developers responding to my thoughts on their own games; I think this encouraged them to review mine. Of course, next I need to write a game which people review with higher scores, but that’s for next year :-) And in the meantime, there’s a message here; participate. We’re all in this together; everyone in the jam is looking to hear detail about their own games, whether good or bad, because it makes us all better game developers.
Anyway, that was the LOWREZJAM, 2018. I enjoyed it. Roll on the next one.
August 25, 2018
I meant to write this post much closer to the end of Hacker Summer Camp, but to be honest, I’ve been completely swamped with getting back into the thick of things. However, I kept feeling like things were “unfinished”, so I thought I’d throw together at least a few thoughts from this year.
BSides Las Vegas
I can’t say much about BSides as a whole this year, as I spent the entire time Gold Teaming for Pros vs Joes CTF. (Gold Team is responsible for running the game infrastructure, scoreboard, etc.) It was a great experience to be on Gold Team, but I do miss having a team to support and educate. Overall, the CTF went fairly well, but there were a few bumps that I hope we can avoid next year.
BSides also announced that they are ending their free badges. In some ways, I’m disappointed, but I also understand the reasons they are doing this. Even though I’ve had a badge included with my participation in the PvJ CTF for years, I’ve also been a personal sponsor of BSidesLV for those years as well. I’m lucky enough to be well-employed in the industry that BSidesLV supports, and I want to support their mission. I hope others will do so as well, but I also want to try to find a way to support those who aren’t able to shell out for a badge. Once details are announced for badges next year, I’ll look for an opportunity to support passionate students in our community.
DEF CON 26
DEF CON 26 was an incredible event. I know there were some bumps and warts to it, but I had a great con. (Also, I think it’s the only conference I attend that I refer to simply as “con”.) The villages are my favorite part of DEF CON, and the villages were in rare form this year with the expansion.
This year was my first year speaking at DEF CON (as a village speaker) and I am incredibly humbled by the experience. To think that something I had done was seen as interesting enough for 150 or so attendees to choose to spend 45 minutes of their time listening to me really makes me feel like I’m making an impact. The audience was great, and thanks to the IoT village for having me. (Maybe one day I’ll get a DEF CON speaker badge to place on my wall of badges.)
I have hopes that next year, villages will have some way to divide their rooms or reduce noise for the presentations in their space. So many run another activity (a CTF, hands on activities, etc.) and the noise from that can be problematic when it comes to speakers in the same space. (I experienced this both as a speaker and as an attendee for the talks.)
I also hope that next year, DEF CON will have helped to work through the issues we had with Caesar’s security this year. A good friend of mine landed in hot water over a misunderstood tweet, and there were the obvious reports of “room checks” that were not going according to the established policy. (I’m not even a fan of the room checks, but rifling through guests belongings is completely unacceptable.)
Splitting across Las Vegas Boulevard was also not the best situation. I look forward to moving back to Paris/Bally’s and having Planet Hollywood join the con. (Plus, breakfast crepes!) Getting over to Flamingo was such an ordeal that I only went over there once, and it was a brief visit at that. The ICS village over there was really impressive, and I missed out on a chance to get a Car Hacking Village badge. Some of this was poor planning on my part, but also the sheer distance between the two conference areas made it anything but convenient.
Conclusion
I can’t wait until next year. I’ll begin my planning guide around the beginning of 2019 to try to provide support to those looking for travel information, and I have a feeling that DEF CON 27 will be an even stronger showing. Here’s to all the contributions of the hacker family!
August 24, 2018
As you may know, Ubuntu Membership is a recognition of significant and sustained contribution to Ubuntu and the Ubuntu community. To this end, the Community Council recruits from our current member community for the valuable role of reviewing and evaluating the contributions of potential members to bring them on board or assist with having them achieve this goal.
We have five members of our boards expiring from their terms, which means we need to do some restaffing of this Membership Board.
We have the following requirements for nominees:
- be an Ubuntu Member (preferably for some time)
- be confident that you can evaluate contributions to various parts of our community
- be committed to attending the membership meetings broad insight into the Ubuntu community at large is a plus
Additionally, those sitting on membership boards should have a proven track record of activity in the community. They have shown themselves over time to be able to work well with others and display the positive aspects of the Ubuntu Code of Conduct. They should be people who can discern character and evaluate contribution quality without emotion while engaging in an interview/discussion that communicates interest, a welcoming atmosphere, and which is marked by humanity, gentleness, and kindness. Even when they must deny applications, they should do so in such a way that applicants walk away with a sense of hopefulness and a desire to return with a more complete application rather than feeling discouraged or hurt.
To nominate yourself or somebody else (please confirm they wish to accept the nomination and state you have done so), please send a mail to the membership boards mailing list (ubuntu-membership-boards at lists.ubuntu.com). You will want to include some information about the nominee, a Launchpad profile link, and which time slot (20:00 or 22:00) the nominee will be able to participate in.
We will be accepting nominations through Monday, September 10th at 13:00 UTC. At that time all nominations will be forwarded to the Community Council who will make the final decision and announcement.
Thanks in advance to you and to the dedication everybody has put into their roles as board members.
Every year we take a group photo at Akademy and then me or one of the Kennies manually marks up the faces so people can tag them and we can know who we all are and build community. This is quite old school effort so this year I followed a mangazine tutorial and made Akademy Group Photo Automator to do it. This uses an AI library called face_recognition to do the hard work and Docker to manage the hard work and spits out the necessary HTML. It was a quick attempt and I’m not sure it did much good in the end alas. The group photos tend to be quite disorganised and whoever takes it upon themselves to direct it each year makes basic mistakes like putting everyone on a flat stage or making everyone wave their hands about which means many of the faces are half covered and not recognised. And it seems like the library is not a fan of glasses. It also outputs rect coordinates rather than circle ones which ment Kenny had to do many adjustments. Still it’s an interesting quick dive into a new area for me and maybe next year I’ll get it smoother.
Faces recognised
Like each month, here comes a report about the work of paid contributors to Debian LTS.
Individual reports
In July, about 224 work hours have been dispatched among 14 paid contributors. Their reports are available:
- Abhijith PA did 12 hours (out of 10 hours allocated + 2 extra hours).
- Antoine Beaupré did 15 hours.
- Ben Hutchings did 10 hours (out of 15 hours allocated + 3 extra hours, thus keeping 8 extra hours for August).
- Brian May did 10 hours.
- Chris Lamb did 18 hours.
- Emilio Pozuelo Monfort did 17.25 hours (out of 30 hours allocated + 6.75 extra hours, thus keeping 19.5 extra hours for August).
- Holger Levsen did nothing (out of 8 hours allocated + 8 extra hours, thus keeping 16 extra hours for August).
- Hugo Lefeuvre did 7.75 hours (out of 15 hours allocated + 9.5 extra hours, but gave back the 16.75 remaining hours).
- Markus Koschany did 30 hours.
- Mike Gabriel did 8 hours.
- Ola Lundqvist did 4 hours (out of 8 hours allocated + 4 remaining hours, thus keeping 8 extra hours for August).
- Roberto C. Sanchez did 18 hours.
- Santiago Ruano Rincón did 17.5 hours (out of 8 hours allocated + 9.5 extra hours).
- Thorsten Alteholz did 30 hours.
Evolution of the situation
The number of sponsored hours did not change.
The security tracker currently lists 51 packages with a known CVE and the dla-needed.txt file has 43 packages needing an update.
Thanks to our sponsors
New sponsors are in bold.
- Platinum sponsors:
- TOSHIBA (for 34 months)
- GitHub (for 25 months)
- Civil Infrastructure Platform (CIP)
- Gold sponsors:
- The Positive Internet (for 51 months)
- Blablacar (for 49 months)
- Linode (for 39 months)
- Babiel GmbH (for 29 months)
- Plat’Home (for 28 months)
- Silver sponsors:
- Domeneshop AS (for 50 months)
- Trollweb Solutions (for 47 months)
- Nantes Métropole (for 44 months)
- Dalenys (for 40 months)
- Université Jean Monnet de St Etienne (for 36 months)
- Univention GmbH (for 35 months)
- Ribbon Communications, Inc. (for 29 months)
- maxcluster GmbH (for 23 months)
- Exonet B.V. (for 19 months)
- Leibniz Rechenzentrum (for 13 months)
- Vente-privee.com (for 10 months)
- CINECA (for 3 months)
- Bronze sponsors:
- David Ayers – IntarS Austria (for 51 months)
- Evolix (for 50 months)
- Seznam.cz, a.s. (for 50 months)
- Freeside Internet Service (for 49 months)
- MyTux (for 49 months)
- Intevation GmbH (for 47 months)
- Linuxhotel GmbH (for 47 months)
- Daevel SARL (for 46 months)
- Bitfolk LTD (for 45 months)
- Megaspace Internet Services GmbH (for 45 months)
- Greenbone Networks GmbH (for 44 months)
- NUMLOG (for 44 months)
- WinGo AG (for 43 months)
- Ecole Centrale de Nantes – LHEEA (for 39 months)
- Sig-I/O (for 37 months)
- Entr’ouvert (for 34 months)
- Adfinis SyGroup AG (for 32 months)
- GNI MEDIA (for 26 months)
- Laboratoire LEGI – UMR 5519 / CNRS (for 26 months)
- Quarantainenet BV (for 26 months)
- RHX Srl (for 23 months)
- Bearstech (for 18 months)
- LiHAS (for 18 months)
- People Doc (for 14 months)
- Catalyst IT Ltd (for 12 months)
- Supagro (for 8 months)
- Demarcq SAS (for 6 months)
- TrapX Security (for 3 months)
No comment | Liked this article? Click here. | My blog is Flattr-enabled.
On September 4th, I’ll be starting a fellowship at the Center for Advanced Studies in the Behavioral Sciences (CASBS), a wonderful social science research institute at Stanford that’s perched on a hill overlooking Palo Alto and the San Francisco Bay. The fellowship is a one-year gig and I’ll be back in Seattle next June.
A CASBS fellowship is an incredible gift in several senses. In the most basic sense, it will mean time to focus on research and writing. I’ll be using my time there to continuing my research on the social scientific study of peer production and cooperation. More importantly though, the fellowship will give me access to a community of truly incredible social social scientists who be my “fellow fellows” next year.
Finally, being invited for a CASBS fellowship is a huge honor. I’ve been preparing by reading a list of Wikipedia articles I built about the previous occupants of the study that I’ll be working out of next year (the third fellow to work out of my study was Claude Shannon!). It’s rare for junior faculty like myself to be invited and I’m truly humbled.
The only real downside of the fellowship is that it means that I’ll be spending the academic year away from Seattle. I’m going to miss working out of UW, my department, and the Community Data Science Collective lab here enormously.
In a personal sense, it means I’ll be leaving a wonderful community in Seattle in and around my home at Extraordinary Least Squares. I’m going to miss folks deeply and I look forward to returning.
Of course, I’m also pretty excited about moving to Palo Alto. It will be the first time either Mika or I have lived in California and we hope to take advantage of the opportunity.
Please help us do so! If you’re at Stanford, in Silicon Valley, or are anywhere in the Bay Area and want to meet up, please don’t hesitate to get in contact! We’ll be arriving with very little community and I’m really interested in meeting and making friends and taking advantage of my nine-months in the area to make connections!
August 23, 2018
Designers! We need your help! We want to produce a fun family crest for the Bacon family, something that really reflects us and who we are. This will go on a flag poll at our house and on napkins/coasters for parties.
Hello, Designers!
The Bacon family needs a Family Crest designing. We have a flag poll in our new house,
and we thought it could be fun to have a family crest that reflects us, our personalities,
and background. This will also go on some napkins and coasters for parties.
We want it to be amusing and fun, but also professional and classy. Please make it:
* Modern and classy. We don't want this to look medieval or old-school. We want it to look
classy, but contemporary.
* Amusing, but not cheesy.
* Either a single-color design, or max of 2 - 3 colors (that contrast really well).
* This should be hi-res so it can be printed on material with a solid background color.
As you design it, please try to incorporate the following (in priority order):
* Include the text "The Bacon Family" near the top.
* Add the latin "Sicut delectamentum cibum prandium." near the bottom (which is latin
for "Like the delicious breakfast meat" - we say this when we say our name and check in
hotels, because people always assume our name isn't as ridiculous as "Bacon")
* The USA, British, and Italian flags in some form.
* Incorporate key symbols that reflect us:
- Food/Cooking.
- Music/Heavy Metal (e.g. a Rhandy Rhoads guitar.)
- Technology.
- People/Community (people getting together to do cool things.)
As food for thought, I like these:
* https://www.teepublic.com/phone-case/597879-rahoxah-family-crest
* https://www.pinterest.ca/pin/42573158947630583/
Interested?
JOIN THE 99DESIGNS CONTEST ($350 fee)
There is only four days to submit entries!
The post Design The Bacon Family Crest appeared first on Jono Bacon.
One of us has been vacationing in France. Alan went to Akademy and explains what went on. We’ve got some Webby love and go over all your feedback.
It’s Season 11 Episode 24 of the Ubuntu Podcast! Alan Pope, Mark Johnson and Martin Wimpress are connected and speaking to your brain.
In this week’s show:
- We discuss what we’ve been up to recently:
- Alan attended Akademy and we find out what went on.
-
We share a Webby Lurve:
anti-social– Scheduled blacklist for social media and other websites
- And we go over all your amazing feedback – thanks for sending it – please keep sending it!
- Image credit: Alina Grubnyak
That’s all for this week! You can listen to the Ubuntu Podcast back catalogue on YouTube. If there’s a topic you’d like us to discuss, or you have any feedback on previous shows, please send your comments and suggestions to show@ubuntupodcast.org or Tweet us or Comment on our Facebook page or comment on our Google+ page or comment on our sub-Reddit.
- Join us in the Ubuntu Podcast Telegram group.
August 22, 2018
I recently had the opportunity to attend Akademy - the annual world summit of KDE. This blog post covers my experience of the event, and is mostly a brain-dump memory aide. Akademy attracts KDE developers, enthusiast users and others from the wider Qt, KDE and distro communities. The event is a week-long in-person combination of talks and BoF (Birds of a Feather) sessions. This year Akademy was held at TU Wein in Vienna, Austria.
I'd never attended Akademy before, as I am not a KDE developer, and only recently starting running Plasma on my ThinkPad T450. My employer - Canonical - is a sponsor of the KDE project, and a silver level sponsor of Akademy. A recent reorganisation inside Canonical meant I was able to take someone else's place at the last minute. So I booked travel and accomodation to attend from Saturday to Tuesday.
Who's who at #Akademy2018.https://t.co/54zSoKq8Nx pic.twitter.com/U6kqrN9VP2
— Akademy (@akademy) August 14, 2018
I understand many of the talks / sessions were recorded, and may appear on the KDE Community YouTube Channel at some point.
Day 0
Akademy kicks off with a pre-event meet-and-greet with drinks and buffet food on the Friday night. This was a great opportunity to put names to faces, get a better understanding of the week's structure from regular attendees and have some delicious nibbles and Club Mate. The event has a dedicated micro-site which covers all the details including schedules, venue details, social events and travel recommendations. Bookmark that site, and you're set for the week.
You know you're at a geek event when .. pic.twitter.com/LGnbbOg0nH
— Alan Pope 🇪🇺🇬🇧 (@popey) August 10, 2018
Day 1 & 2
Saturday and Sunday are mostly talks / discussions / reports. These are some notes I took from the ones I attended. Here begins the brain dump.
The @kdecommunity @akademy delegates get a choice of lanyard. One lets other people know they don't want to be photographed. Not seen this at many events. pic.twitter.com/HFcBeE5Y5K
— Alan Pope 🇪🇺🇬🇧 (@popey) August 11, 2018
Akademy proper starts on the Saturday morning with a set of talks & presentations and finally reports from KDE Working Groups. The keynote from Dan Bielefeld was titled "Mapping Crimes Against Humanity in North Korea with FOSS", and was both upsetting and fascinating. It detailed the work the TJWG (Transitional Justice Working Group) do in South Korea to gather data regarding crimes against humanity occuring in North Korea. Dan outlined the group, their work and highlighted some data they've gathered, then went on to discuss the Open Source tools they use to do their job. I'd recommend reading the report available as a PDF from the TJWG website.
A little light reading in the bath this evening.
— Alan Pope 🇪🇺🇬🇧 (@popey) August 11, 2018
Seriously, these people do amazing work. Check it out, the pdf is in their website. https://t.co/5uxeazLFk0 pic.twitter.com/MslooKKglU
Next up was a set of talks from developers across the KDE community who work on all parts of the stack, from plasma desktop to PIM (Personal Information Manager) to Plasma Mobile. Each gave some detail from their project about how they all work in tandem to highlight how privacy is important to KDE developers and users. We heard that KDE Software doesn't 'leak' data, to promise users a better experience.
One highlight here was from Volker Krause who talked about the intrusive work large companies do analyse emails for travel information. In a section titled "Does Google really need to read your emails so you know when your next flight is?", Volker outlined why these features are problematic for users who value privacy. He also went on to introduce features landing in KDE PIM 18.04/18.08 which will gather flight data and render usable boarding cards, while respecting user freedom and privacy. This introduced a talk later in the week which would go into this in more detail.
Also in this session were details of how KMail will make it easier for users to send/receive and store GNUGP encrypted mail, but have the capability to search inside the mails without decrypting each one. In addition the KMail developers plan to make it easier to validate mails without user intervention, automatically discover keys for encrypted mails and derive trust based on communication history, so users don't need to choose which key to use.
Finally in this session, Bushan Shah talked about Plasma Mobile, and how it differs (from a privacy perspective) from the encumbent mobile OS vendors. He reiterated that with KDE 'your data is safe with us' as with Plasma Mobile 'your data is safe in your hands'. He also briefly talked about how they plan to keep software updated on the Plasma Mobile platform.
Neofytos Kolokotronis presented next with his experience of "Streamlining Onboarding of new Contributors" within the KDE community. With KDE being a diverse community with dozens of projects & hundreds of contributors, there's not a central process for onboarding new contributors. So Neofytos covered his experience in building a better onboarding process, and highlighted numerous suggestions for how KDE projects can imrove the on-ramp for new people. I found this talk very engaging, with plenty of useful information which could apply to any open source distributed project.
In the afternoon some shorter talks stood out for me. David Faure ran a session on "Running without installing" - detailing how developers can test and develop KDE applications without messing up their host installation. This dovetailed nicely with the morning talk about onboarding new users. Often times new contributors only have one computer, and don't want to mess it up with random rebuilt libraries and other components to test if a bug they reported is fixed. David covered some of the things he's learned about separating out the things you're testing, which I feel could be useful for other projects too.
Lays Rodrigues gave her first talk (which went very well) about Atelier - a KDE application for managing 3D printers. This was interesting to me as I recently acquired a 3D printer, and was keen to learn of tools I can use to manage prints. I'd not heard of Atelier (and Atcore) before, so this was a great primer for me. It's early days in the project but they already support numerous 3D printer standards and can remotely monitor them via webcam. It even supports setups with muliple printers, such as organisations who print for a fee on demand.
Zoltan Padrah gave demo and some history of the KTechLab project, which I'd also never heard of before. It's a ciruit simulator, enabling users to drag and drop electronic components onto a layout and hook them up with wires. It's a great little tool which would appeal to a younger audience who are getting started with electronics. KTechLab has been around for quite a while, but hasn't had a lot of contributors recently. Unfortunately the application isn't available in many distributions, partly because it still uses some KDE 3 technologies. Zoltan is hoping to get more contributors so they can move the application forward to newer frameworks.
At the end of the first day was a series of reports from various KDE Working Groups. I understand this was a relatively new concept in KDE. 5 Working Groups were setup as System Admin, Fundraising, Finance, Community and Advisory. Representatives from each WG gave a brief report to the audience. These were relatively short, mostly detailing the impacts of their work as user/contributor numbers go up, or work gets done.
The number individual supporting members (sponsors) rose from 540 (last year) to 597 with 109 paying members (up from 99 last year). As a new attendee I was surprised to learn that KDE e.V. itself has only 3 'staff', one who manages accounting, travel booking etc and two Marketing Contractors who work on the KDE Promo Team. Akademy 2019 is not yet organised as no venue has been selected. This work is ongoing, but the KDE folks could do with help identifying a potential host. KDE received a significant ($200K) donation from 'Pineapple Fund', some of which was used to fund travel to Akademy. The project are still figuring out what to do with the rest. Previously KDE e.V. has been very cautious about how they spend funds, but there is a desire to change that. Perhaps hiring people / contractors to accelerate projects.
— Alan Pope 🇪🇺🇬🇧 (@popey) August 12, 2018
One of my favourite talks of the weekend was from Nate Graham titled "Konquering the world - A 7 step plan to KDE world domination". In it Nate covered very clearly 7 areas the KDE project needs to improve, and suggested improvements and their intended outcomes. This was a superbly positive talk, despite it raising some issues that have clearly been a problem for KDE for some time. I transcribed the notes, and shared via Twitter and Mastodon.
The final slot on the second day was for "Akademy Awards". Members of the KDE community were given public recognition for their contributions over the last year. This was a nice touch, a direct "thank you" goes a long way.
BoFs
Starting on Monday, the much of the rest of the week was occupied with working and BoF sessions.
KDE Promo BoF
I was keen to sit on on this session as there's some overlap between my day job on Snapcraft and what the KDE Promo team are doing. We discussed the Debian PopCon (popularity contest) numbers for Plasma desktop, and how they are on the way upwards. It was noted that the Ubuntu PopCon is no longer functional.
We discussed social media strategies for promoting various KDE initiatives and releases. One of the KDE PIM developers was looking for assistance promoting the application, and finding new contributors. We discussed options including making appearances on technical podcasts to put out calls for contributors.
Overall an interesting session which made me want to get more involved in the promotion side of KDE. I've joined the KDE Promo Telegram & IRC channel to keep up to date with what's going on, and be aware of upcoming promotions which I can share or be involved in.
KDE Distro BoF
This was less of a BoF and more of a presentation round for each of the leading distribtions with some discussion afterwards. There were presentations from a few distros including Kannolo, Chakra, NXOS, LiMux, KDE Neon and others. It was interesting to hear the perceived unique selling point of each distro. We had a short discussion afterwards. Notably we discussed the ways in which distros deal with bugs and crash reports from users. I passed on some of our experience using the whoopsie crash reporter in (K)ubuntu, and our bug tracking activites in Launchpad.
Flatpak & Snap BoF
This session covered a lot of ground, mostly relating to improving support for the new packaging formats du jour. We discussed the support for Snaps and Flatpak in Plasma Discover - the graphical storefront for apps. There was a lot of detailed discussion regarding KDE runtimes, and how and where they may be built. Buildstream seemed like a possible candidate. KDE are keen not to have too much duplication of work to build multiple runtimes for the various new packaging systems. We discussed improving the documentation for building new packages, and I've committed to updating our documentation for building KDE snaps.
KDE Neon
The final (and longest) BoF I attened was the KDE Neon planning session. Harald led the session with a set of discussion points and planning activities for the KDE Neon project. A lot of the discussion was technical build system engineering, release planning and identifying progress blockers.
One highlight for me included discussion of when to sunset KDE Neon based on Ubuntu 16.04, and when to anticipate people to have moved to Neon based on 18.04. Given no expectations had been set in the user community, it was felt the devs could give a relatively short support window for Neon 16.04. Thanks to the snap store metrics for the pre-installed kde-frameworks-5, they were able to get a good handle on how many users were already moving to pre-release 18.04. This data will enable the Neon developers to gauge how well their "You should upgrade now" promotional work is going, and how many users are sticky on the older release.
We also discussed snap support in KDE Neon. The KDE Neon developers have limited time to work on creating & maintaining application snaps for Neon and other distros. We (Canonical) regularly catch up with the KDE developers, but we need to dedicate some more time to help debug and accelerate the building of the latest KDE leaf applications for their users. We've already started on this, but there's a lot to do, so will spread it over the coming weeks.
Final thoughts
As I left to catch my flight on Tuesday, I said my goodbye's to new friends and old at Akademy. As this was my first attendance, I wasn't exactly sure what to expect, but whatever those expectations were, they were exceeded. The KDE community is a warm, friendly, diverse and welcoming bunch of people. Everything was very well organized, relaxed and methodical. We have good notes to cover everyone's actions and can track progress on the plans for the coming months.
It reminded me of Ubuntu Developer Summits from 10 years ago. I absolutely loved spending time at Akademy, and would love to go again to a future event.
The @kdecommunity @akademy initiation ceremony begins like this pic.twitter.com/C36KKwdIRA
— Alan Pope 🇪🇺🇬🇧 (@popey) August 14, 2018
A little while ago I worked with a client called ZBiotics. They are producing an engineered probiotic which that can be a hangover cure, but the technology has a wealth of other potential applications outside of making your morning-after a little less brutal.
They were interested in running a crowdfunding campaign. I have run a few campaigns before (the $12.7 million Ubuntu Edge, and the $1million Global Learning XPRIZE) and I provided strategic guidance for the Mycroft Mark II (which raised $395k of it’s $50k goal).
I like Zack and Stephen. They seem like good guys who want to build a company the right way. I sat down and provided some training around how to structure and deliver their campaign. This was a complex one because they are not only delivering a practical consumer product (hangover cure) but their technology is also the secret sauce. Both of these are important parts of the message.
They launched it yesterday with a goal of $25,000 and already smashed past that in Day 1. Here is their overview video:
Can’t see it? See it here.
Go and check it out.
The post ZBiotics Crowdfunding Campaign Launched appeared first on Jono Bacon.
August 20, 2018
Previously: v4.17.
Linux kernel v4.18 was released last week. Here are details on some of the security things I found interesting:
allocation overflow detection helpers
One of the many ways C can be dangerous to use is that it lacks strong primitives to deal with arithmetic overflow. A developer can’t just wrap a series of calculations in a try/catch block to trap any calculations that might overflow (or underflow). Instead, C will happily wrap values back around, causing all kinds of flaws. Some time ago GCC added a set of single-operation helpers that will efficiently detect overflow, so Rasmus Villemoes suggested implementing these (with fallbacks) in the kernel. While it still requires explicit use by developers, it’s much more fool-proof than doing open-coded type-sensitive bounds checking before every calculation. As a first-use of these routines, Matthew Wilcox created wrappers for common size calculations, mainly for use during memory allocations.
removing open-coded multiplication from memory allocation arguments
A common flaw in the kernel is integer overflow during memory allocation size calculations. As mentioned above, C doesn’t provide much in the way of protection, so it’s on the developer to get it right. In an effort to reduce the frequency of these bugs, and inspired by a couple flaws found by Silvio Cesare, I did a first-pass sweep of the kernel to move from open-coded multiplications during memory allocations into either their 2-factor API counterparts (e.g. kmalloc(a * b, GFP...) -> kmalloc_array(a, b, GFP...)), or to use the new overflow-checking helpers (e.g. vmalloc(a * b) -> vmalloc(array_size(a, b))). There’s still lots more work to be done here, since frequently an allocation size will be calculated earlier in a variable rather than in the allocation arguments, and overflows happen in way more places than just memory allocation. Better yet would be to have exceptions raised on overflows where no wrap-around was expected (e.g. Emese Revfy’s size_overflow GCC plugin).
Variable Length Array removals, part 2
As discussed previously, VLAs continue to get removed from the kernel. For v4.18, we continued to get help from a bunch of lovely folks: Andreas Christoforou, Antoine Tenart, Chris Wilson, Gustavo A. R. Silva, Kyle Spiers, Laura Abbott, Salvatore Mesoraca, Stephan Wahren, Thomas Gleixner, Tobin C. Harding, and Tycho Andersen. Almost all the rest of the VLA removals have been queued for v4.19, but it looks like the very last of them (deep in the crypto subsystem) won’t land until v4.20. I’m so looking forward to being able to add -Wvla globally to the kernel build so we can be free from the classes of flaws that VLAs enable, like stack exhaustion and stack guard page jumping. Eliminating VLAs also simplifies the porting work of the stackleak GCC plugin from grsecurity, since it no longer has to hook and check VLA creation.
Kconfig compiler detection
While not strictly a security thing, Masahiro Yamada made giant improvements to the kernel’s Kconfig subsystem so that kernel build configuration now knows what compiler you’re using (among other things) so that configuration is no longer separate from the compiler features. For example, in the past, one could select CONFIG_CC_STACKPROTECTOR_STRONG even if the compiler didn’t support it, and later the build would fail. Or in other cases, configurations would silently down-grade to what was available, potentially leading to confusing kernel images where the compiler would change the meaning of a configuration. Going forward now, configurations that aren’t available to the compiler will simply be unselectable in Kconfig. This makes configuration much more consistent, though in some cases, it makes it harder to discover why some configuration is missing (e.g. CONFIG_GCC_PLUGINS no longer gives you a hint about needing to install the plugin development packages).
That’s it for now! Please let me know if you think I missed anything. Stay tuned for v4.19; the merge window is open. :)
© 2018, Kees Cook. This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License.
August 17, 2018
We’ve been upgrading RAM and tooting in the fediverse. We discuss Hollywood embracing open source, a new release of LibreOffice, pacemakers getting hacked and fax machines becoming selfaware and taking over the planet. We also round up the community news and events.
It’s Season 11 Episode 23 of the Ubuntu Podcast! Alan Pope, Mark Johnson and Martin Wimpress are connected and speaking to your brain.
In this week’s show:
- We discuss what we’ve been up to recently:
- Alan has been upgrading RAM.
- Mark has been tooting on Mastodon.
- We discuss the news:
- We discuss the community news:
- We mention some events:
- Image credit: Hunter Johnson
That’s all for this week! You can listen to the Ubuntu Podcast back catalogue on YouTube. If there’s a topic you’d like us to discuss, or you have any feedback on previous shows, please send your comments and suggestions to show@ubuntupodcast.org or Tweet us or Comment on our Facebook page or comment on our Google+ page or comment on our sub-Reddit.
- Join us in the Ubuntu Podcast Telegram group.
August 15, 2018
Hello MAASTers
MAAS 2.4.1 has now been released and it is a bug fix release. Please see more details in discourse.maas.io [1].
[1]: https://discourse.maas.io/t/maas-2-4-1-released/148
August 14, 2018
Welcome to August.
As you could see from my last post, there have been changes afoot. We're effectively in a state of freefall at my job right now. The normal progression of events would have me place on seasonal release otherwise known as furlough about now already. Due to a wide-ranging set of factors beyond my control, we barely know week-to-week what is going on. It is considered to be a bad economic situation to "live paycheck to paycheck" in US life but it is even worse when you have no idea about the status of your job week to week. Being unable to plan means I can't even pursue an off-season job or look for freelance work yet. My proficiency in LaTeX is improving, at least, as evidence by the maintenance of my main static website at http://erielookingproductions.info.
There have been some stressors at work. Our enterprise WAN almost collapsed outright last week. Due to legislative changes, we're having to fit in massive retraining with very little time available and no ability to totally down tools for such training. We have difficult days ahead potentially. If appropriations go haywire, none of this may matter. The countdown clock is running on what the Senate and House of Representatives may manage.

This also means I cannot travel to OggCamp. Essentially I have to stay within close range of my Post of Duty right now. Leave grants may be getting revoked soon. Getting shifted over to mandatory training status shortly makes that happen when the stakes are becoming as high as they are right now. Nobody has said this yet at work: "Failure Is Not An Option." With senior ranks in the chain of command coming to the Post of Duty in less than a week, we'll be learning how close things are to running aground. What makes me feel worse is that this was the year I specifically made provision to travel to England. Moving up the ranks at work means I can't escape responsible roles because I'm slowly becoming one of the persons others look up to because everybody else at my rank has either retired or left.
I have been working on an article. It has been a while since I pitched anywhere. I have to check the clock to see if it has run out on the pitch. Once upon a time I had been a working journalist in print. There are four days left on the clock before I try other options. With a link to an old effort from 2012 that brings back some memories, I offer some of the citations I'm working from to write the article:
Amatulli, Jenna. “Spotify Pulls Radio Show Episodes By InfoWars’ Alex Jones After Widespread Complaints.” Huffington Post, August 1, 2018, sec. Media. https://www.huffingtonpost.com/entry/spotify-infowars-alex-jones_us_5b61c4d2e4b0b15aba9ec86e.
Badawy, Adam, Kristina Lerman, and Emilio Ferrara. “Who Falls for Online Political Manipulation?” ArXiv:1808.03281 [Physics], August 9, 2018. http://arxiv.org/abs/1808.03281.
Beschizza, Rob. “Tech Platforms Quit Alex Jones and InfoWars.” Boing Boing, August 6, 2018. https://boingboing.net/2018/08/06/tech-platforms-quit-alex-jones.html.
Brown, Elizabeth Nolan. “Senate Democrats Are Circulating Plans for Government Takeover of the Internet.” Reason.com, July 31, 2018. https://reason.com/blog/2018/07/31/democrats-tech-policy-plans-leaked.
Cellan-Jones, Rory. “Facebook, ITunes and Spotify Drop InfoWars.” BBC News, August 6, 2018, sec. Technology. https://www.bbc.co.uk/news/technology-45083684.
Crowe, Jack. “Facebook Deletes Infowars Page, Apple Deletes All Alex Jones Podcasts.” National Review (blog), August 6, 2018. https://www.nationalreview.com/news/facebook-deletes-infowars-page-apple-deletes-all-alex-jones-podcasts/.
“Enforcing Our Community Standards | Facebook Newsroom.” Accessed August 6, 2018. https://newsroom.fb.com/news/2018/08/enforcing-our-community-standards/.
Gilmer, Marcus. “Facebook Deletes 4 Pages Belonging to Alex Jones and InfoWars.” Mashable, August 6, 2018. https://mashable.com/2018/08/06/facebook-bans-alex-jones-pages/.
Glaser, April. “Apple and Spotify Just Did to Alex Jones What Facebook Wouldn’t.” Slate Magazine, August 6, 2018. https://slate.com/technology/2018/08/apple-and-spotify-are-now-both-blocking-infowars-and-alex-jones-podcasts.html.
Gold, Ashley. “Facebook Removes 4 Pages Owned by InfoWars’ Alex Jones.” POLITICO, August 6, 2018. https://www.politico.com/story/2018/08/06/facebook-removes-infowars-pages-alex-jones-764590.
Gore, Leada. “Alex Jones Infowars: Facebook, Apple Remove Podcasts, Pages from Controversial Host.” AL.com, August 6, 2018. https://www.al.com/news/index.ssf/2018/08/alex_jones_infowars_facebook_a.html.
Hern, Alex. “Facebook, Apple, YouTube and Spotify Ban Infowars’ Alex Jones.” The Guardian, August 6, 2018, sec. Technology. http://www.theguardian.com/technology/2018/aug/06/apple-removes-podcasts-infowars-alex-jones.
Hernandez. “The War Against InfoWars and Free Speech.” Victory Girls Blog (blog), August 6, 2018. http://victorygirlsblog.com/the-war-against-infowars-and-free-speech/.
Johnson, Bridget. “Homeland Security Officials: White Supremacist Extremists Skirting Social Media Bans.” Homeland Security (blog), August 7, 2018. https://pjmedia.com/homeland-security/homeland-security-officials-white-supremacist-extremists-skirting-social-media-bans/.
Kreps, Daniel. “Apple Removes Alex Jones, ‘Infowars’ Podcasts From Apps.” Rolling Stone (blog), August 6, 2018. https://www.rollingstone.com/culture/culture-news/apple-removes-alex-jones-infowars-podcasts-from-apps-706764/.
Legaspi, Althea. “Spotify Pulls Episodes of Infowars’ ‘Alex Jones Show’ Podcast.” Rolling Stone (blog), August 2, 2018. https://www.rollingstone.com/culture/culture-news/spotify-pulls-episodes-of-infowars-alex-jones-show-podcast-705812/.
McKay, Rich. “Facebook, Apple, YouTube and Spotify Take down Alex Jones Content.” Reuters, August 6, 2018. https://www.reuters.com/article/us-apple-infowars/apple-removes-most-of-u-s-conspiracy-theorists-podcasts-from-itunes-idUSKBN1KR0MZ.
Meza, Summer. “Facebook Finally Cracks down on Alex Jones and Infowars.” The Week, August 6, 2018. http://theweek.com/speedreads/788787/facebook-finally-cracks-down-alex-jones-infowars.
Morris, Chris. “Facebook Bans Several Pages From Alex Jones and Infowars.” Fortune, August 6, 2018. http://fortune.com/2018/08/06/facebook-bans-alex-jones-infowars-hate-speech/.
Neidig, Harper. “Facebook Deletes InfoWars Pages.” TheHill, August 6, 2018. http://thehill.com/policy/technology/400512-facebook-deletes-infowars-pages.
Paczkowski, John, and Charlie Warzel. “Apple Kicked Alex Jones Off Its Platform Then YouTube And Facebook Rushed To Do The Same.” BuzzFeed News, August 6, 2018. https://www.buzzfeednews.com/article/johnpaczkowski/apple-is-removing-alex-jones-and-infowars-podcasts-from.
Palladino, Valentina. “Alex Jones Hit with Bans from Facebook and Apple.” Ars Technica, August 6, 2018. https://arstechnica.com/gadgets/2018/08/alex-jones-hit-with-bans-from-facebook-and-apple/.
Russell, Jon. “Apple Has Removed Infowars Podcasts from ITunes.” TechCrunch (blog), August 6, 2018. http://social.techcrunch.com/2018/08/05/apple-has-removed-infowars-podcasts-from-itunes/.
Ryan, Jackson. “Apple Drops Alex Jones and Infowars from ITunes, Podcast App.” CNET, August 6, 2018. https://www.cnet.com/news/apple-has-dropped-alex-jones-and-infowars-from-itunes-podcasts/.
Simon, Roger L. “InfoWars and the Rise of the Tech Fascists.” Roger L. Simon (blog), August 6, 2018. https://pjmedia.com/rogerlsimon/infowars-and-the-rise-of-the-tech-fascists/.
Watson, Paul Joseph. “Facebook Bans Infowars. Permanently. Infowars Was Widely Credited with Playing a Key Role in Getting Trump Elected. This Is a Co-Ordinated Move Ahead of the Mid-Terms to Help Democrats. This Is Political Censorship. This Is Culture War.Https://Www.Infowars.Com/Purged-Facebook-Permanently-Bans-Infowars-for-Hate-Speech/ ….” Tweet. @PrisonPlanet (blog), August 6, 2018. https://twitter.com/PrisonPlanet/status/1026433061469257733.
Yilek, Caitlin. “‘Survival of Our Democracy’ Depends on Banning Sites like InfoWars, Dem Senator Says.” Washington Examiner, August 7, 2018. https://www.washingtonexaminer.com/news/survival-of-our-democracy-depends-on-banning-sites-like-infowars-democratic-senator-says.
August 08, 2018
I read Twitter with Tweetdeck. And I use the excellent Better Tweetdeck to improve my Tweetdeck experience. And I had an idea.
You see, emoji, much as they’re the way we communicate now, they’re actually quite hard to read. And Slack does this rather neat thing where if you respond to a message with an emoji, it displays that emoji bigger than normal text so you can see it clearly. And some people just write tweets which are, like, two emoji and that’s it, and it would be really handy if they were large enough to read.

So I thought, here’s an idea; how about, if there’s a tweet which is just emoji, then display those emoji larger so they’re easier to see? Only if there are, say, four or less; you don’t want those people who write a whole huge tweet as emoji to get enlarged. Just the ones where someone responds with two little pictures and that’s it; let’s make that nice and visible, like Slack does.
This is clearly a thing for Better Tweetdeck to do. (They already provide a config option to make emoji a little bigger, which I appreciate.) So… how do we do this?
Well, one obvious way is to do it with JavaScript. Every time we read a new tweet, look to see whether it contains nothing but emoji, and if it does and there are less than four of them, add inline styles to make them larger. Job done.
But… that’s not very efficient, is it? You have to do that every time a new tweet appears, in any column, and that happens a lot. What would actually be better is to write some CSS which does this, and add that CSS one time, when you load up, and then you’re done. Have the browser do the heavy lifting, not us. It is a principle with me that if you can do a thing with CSS, then you should do it with CSS. JavaScript is there for things that CSS can’t do. Don’t use JavaScript, which makes you do the work, when you can use CSS and make the browser do it instead. The browser is better than you at it.
So… what you want to do is this. In pure CSS, if there’s a tweet (which in Tweetdeck is a <p> element) which contains <img class="emoji"> and nothing else, and there are four or fewer of these img.emoji elements, then make those images larger.
In pure CSS. No JavaScript. This is harder than it looks. Go and try to work it out, if you don’t believe me.
Well, the key insight here is that if you are an element, and you are :last-child(X), and you are also last-of-type(X), then there can’t be any elements after you which are not the same as you. So, if an img.emoji is the first of its type, and also the first element, and it’s the third last of its type, and also the third last element, then we know that it is element 1 of three identical elements. So an img:nth-child(1) which is also an img:nth-of-type(1) and which is also an img:nth-last-of-type(3) and also an img:nth-last-child(3) must be the first <img> in a group of three <img> elements. So that solves our problem! All we need is a selector which matches an img which is:
- img 1 in a group of 1 image, or
- img 1 in a group of 2 images, or
- img 2 in a group of 2 images, or
- img 1 in a group of 3 images, or
- img 2 in a group of 3 images, or
- img 3 in a group of 3 images, or
- img 1 in a group of 4 images, or
- …etc
…and that’s pretty easy, although long, to express as a CSS selector. So, to resize all img.emoji elements where (a) there are only img.emoji elements in this tweet and no text, and (b) there are four or fewer img.emoji in the tweet, we need a selector like this:
p > .emoji:nth-child(1):nth-of-type(1):nth-last-child(1):nth-last-of-type(1), /* 1 of 1 */
p > .emoji:nth-child(1):nth-of-type(1):nth-last-child(2):nth-last-of-type(2), /* 1 of 2 */
p > .emoji:nth-child(2):nth-of-type(2):nth-last-child(1):nth-last-of-type(1), /* 2 of 2 */
p > .emoji:nth-child(1):nth-of-type(1):nth-last-child(3):nth-last-of-type(3), /* 1 of 3 */
p > .emoji:nth-child(2):nth-of-type(2):nth-last-child(2):nth-last-of-type(2), /* 2 of 3 */
p > .emoji:nth-child(3):nth-of-type(3):nth-last-child(1):nth-last-of-type(1), /* 3 of 3 */
p > .emoji:nth-child(1):nth-of-type(1):nth-last-child(4):nth-last-of-type(4), /* 1 of 4 */
p > .emoji:nth-child(2):nth-of-type(2):nth-last-child(3):nth-last-of-type(3), /* 2 of 4 */
p > .emoji:nth-child(3):nth-of-type(3):nth-last-child(2):nth-last-of-type(2), /* 3 of 4 */
p > .emoji:nth-child(4):nth-of-type(4):nth-last-child(1):nth-last-of-type(1) {/* 4 of 4 */
styles here
}
It looks long and cryptic and mystic, but actually it’s not that complicated at all. And, importantly, this is all the work you have to do. Add that CSS, and then any new tweets that come along which match our criteria get automatically styled to match. You don’t have to inspect every tweet and tweak it. The browser does the work, which is what the browser is designed for. If you can do a thing with CSS, then do it with CSS. Job done.
I’m quite proud of this. There’s an increasing, and depressing, movement to add more JavaScript to web pages, to write more code client side, to deal with huge JS downloads by improving compression rather than by just doing less JavaScript. I, myself, I’m in favour of having CSS do the things it can do, even if you have to be creative to solve that problem. Falling back to JavaScript to do styling is a failure. Use CSS where you can; being clever in how you do that CSS is part of the fun. You don’t need JS for this, really you don’t. CSS actually is awesome.
My pull request at Better Tweetdeck is, at time of writing, still pending. Proof that this technique works is in jsbin. Fingers crossed my PR gets accepted, and we can solve another problem with pure CSS.
Purity is great. And if you’re thinking, CSS can’t solve real problems… check out Bence Szabó‘s amazing pure CSS stacking game. I was open mouthed with awe. If you aren’t, maybe you should spend some time going back over how the web works, and then you will be too.
After lunch, Boud proposed a walk around the town while the temperatures were moderate. We walked over much of the old town of Deventer, and spend some time in the Roman Catholic church, the old church on the "hill" with twin spires, the old Brush Shop, and back past the Weighing House and a lovely cast bronze map of Deventer.
Our favorite tree:
Mugshot 0.4.1, the latest release of the lightweight user profile editor, is now available! This release includes a number of bug fixes and will now run in the most minimal of environments.
What’s New?
Code Quality Improvements
- Replaced deprecated
logger.warnwithlogger.warning(Python 2.x) - Replaced deprecated module
optparsewithargparse(Python 2.7) - Resolved Pylint and PEP8 errors and warnings
Bug Fixes
- TypeError in _spawn(): The argument, args, must be a list (LP: #1443283)
- User-specified initials are not correctly loaded (LP: #1574239)
- Include Mugshot in Xfce Settings, Personal Settings (LP: #1698626)
- Support
-pand-woffice phone flags in chfn. This flag varies between chfn releases. (LP: #1699285) - FileNotFoundError when comparing profile images (LP: #1771629)
Support for Minimal Chroot Environments
- Fix crash when run without AccountsService
- Handle
OSError: out of pty devices - Specify utf-8 codec for desktop file processing when building
Translation Updates
Catalan, Chinese (Simplified), Danish, Lithuanian, Spanish
Downloads
Source tarball (md5, sig)
August 07, 2018
Am I leading a double life as an actor in several critically acclaimed television series?
I ask because I was recently accused of being Paul Sparks—the actor who played gangster Mickey Doyle on Boardwalk Empire and writer Thomas Yates in the Netflix version of House of Cards. My accuser reacted to my protestations with incredulity. Confronted with the evidence, I’m a little incredulous myself.
Previous lookalikes are here.
August 05, 2018
FreeDesktop platforms have come a long way in terms of usability and as we strive to make them better platforms for application developers, I think it’s time to shed one more shackle that slows that down: themes.
Now, coming from me that view may be a surprise (because of all those themes that I call personal projects) but I do feel it’s necessary mainly because the level of visual customisation that is being done at the distribution level has led to widespread visual fragmentation which impacts both user- and developer-friendliness.
Letting the Past Go
What themes used to be were sets of preset or configuration files that would only tweak the details of the user interface such as the window borders or how buttons and scrollbars looked but the overall layout and function stayed the same.

But user interfaces of the past were much simpler, there were fewer window states, fewer points of interaction, less visual feedback, and just plain fewer pixels. These limitations in old toolkits meant that they largely stayed the same from theme to theme and things were relatively stable.
Fast-forward to today where we have modern toolkits like GTK+ 3 with more complex visuals and detailed interactions means that without the same level of quality control that you find at the toolkit level, maintaining a separate theme is a very fiddly and potentially buggy prospect. Not to mention getting all the details right matters for both usability and accessibility.
“Look and Feel” as a Toolkit Component
It’s unfortunate that “Adwaita” is thought of as a theme when in fact it is a core component of the toolkit, but this is mostly a holdover from how we’re used to thinking about look and feel as it relates to the user interface. Adwaita is as closely tied to GTK+ as Aqua is to the macOS user interface, and as a result it has broad implications applications built with GTK+.
The reality is that GTK+ 3 has no theme framework (there is no API or documentation for “themes”) and “Adwaita” is simply the name of the stylesheet deeply integrated in GTK+. So when third-party developers build GNOME apps, they rely on this stylesheet when determining the look and feel of their apps and, if necessary, use it as a reference when writing their own custom stylesheets (since it is a core toolkit component).
Today’s themes aren’t themes
GTK+ 3 themes are not themes in the traditional sense. They are not packages of presets designed to work with the user interface toolkit, they are more like custom stylesheets which exist outside of the application-UI framework and only work by essentially overriding the toolkit-level stylesheet (and quite often only the toolkit-level stylesheet).

When GTK+ 3 applications are being used under third-party themes, what is being broken is the boundary an application developer has set up to control both the quality of their application and how it looks and feels and this becomes really problematic when applications have custom CSS.
In order for third party themes to work properly and not cause cascading visual bugs, they have to either become monolithic and start incorporating all the custom stylesheets for all the applications that have them, or work with application developers to include stylesheets in their applications that support their themes. Neither of these solutions are good for platform or application development since it will become a task of never-ending maintenance.
Visual Fragmentation
Across the GNOME desktop ecosystem exists “visual fragmentation” and it’s a very real problem for app developers. Since very few distributions ship GNOME as-is, it is hard to determine what the visual identity of GNOME is and therefore it’s difficult to know which visual system to build your application for.
Integrating the stylesheet with the user interface toolkit, in theory, should have solved many issues regarding visual inconsistency across the GNOME platform, but that’s an unsolveable problem so long as themes persist.
The biggest offenders continue to be downstream projects that theme GNOME extensively by overriding the default icons and stylesheet, and insist that that’s part of their own brand identity, but so long as that practice carries on then this fragmentation will continue.
Upstream vs. Downstream Identity
It is extremely rare for a Linux distribution to also be the platform vendor, so it can be said that nearly all distros that ship a desktop platform (like GNOME) are “downstream” vendors.
Platforms like GNOME and KDE exist irrespective of distributions and they have their own visual and brand identities, and own guidelines around the user interface. On the other hand, distribution vendors see a need to have unique identities and some decide to extend that to the look and feel of the desktop and apply themes.
But this practice raises questions about whether it is right or not for distributions to cut out or override the upstream platform vendor’s identity to favour their own. Should distributions that ship GNOME be asked to leave the default look and feel and experience intact? I think yes.
A similar situation exists on Android where Google is trying to control the look and feel of Android and hardware OEMs all over the place are skinning it for their phones, but the blame for issues gets conflated with issues in Android (unless you do some monumental branding effort and effectively erase Android, like Samsung)
Distributions owe a lot to the desktop platforms, as such I think that effort should be made to respect the platform’s intended experience. Not to mention, the same concerns for quality assurance regarding applications also applies to the platform, GNOME developers lose out when then forced to dedicate time and resources to dealing with bugs related to issues created by downstream theming and deviations.
The Future
If ending the wild west of visual customisation (which would probably end all of those projects of mine) on GNOME is necessary to grow the ecosystem, so be it.
I would rather see GNOME evolve as a platform and become a little less developer-hostile by dropping support for third-party themes, than stagnate. Doing so would also bring us in line with the how the major (successful) platforms maintain a consistent look and feel and consider app developers’ control over their apps and their rights to their brand identities.
That said, I doubt such a hardline position will be widely warmly recieved, but I would like to see a more closed approach to look and feel. Though, perhaps actually building some sort of framework that allows for custom stylesheets (so that downstreams can have their unique visual identities) that doesn’t involve totally overriding the one at the toolkit level would be the best solution.
August 01, 2018
July was an surprisingly productive month for Xubuntu. While several folks in the team were on vacation for some portion of the month, we still managed to deliver a number of great updates!
LTS Updates
Xenial Xerus – 16.04.5
This is the final point release for Xubuntu 16.04 “Xenial Xerus”. As Xubuntu has a 3-year support cycle, this release will be supported until April 2019. There have not been any major changes from the Xubuntu team for this point release, but there have been a number of other improvements and security updates for other components.
16.04.5 is expected to be released tomorrow, August 2, 2018. If you have a few moments, feel free to do some testing and make sure everything is working as well as we think it is!
Bionic Beaver – 18.04.1
This is the first point release for Xubuntu 18.04 “Bionic Beaver”. At this time, users of Xubuntu 16.04 should begin receiving notifications to upgrade to this release. There have been a few updates from the Xubuntu team, and others are still on their way. Download 18.04.1 here.
- Exo 0.12.2 includes performance improvements and a few minor bug fixes.
- Xfce Settings 4.12.4 improves display manufacturer identification and overall stability.
- LP: #1762595 (gvfs), Thunar incorrectly thinks USB storage device hasn’t finished ejecting, has been fixed!
- Updates for Catfish 1.4.6 and Xfce Terminal 0.8.7.4 are making their way through the Stable Release Update process and should be available in the coming days.
Application Updates
Catfish 1.4.6
The latest release of Catfish features a greatly improved thumbnail manager and numerous bug fixes. With 23 translation updates, this is the most localized release to date! Finally, Catfish 1.4.6 is the first release as an official Xfce project. Check out my earlier blog post for more details.
Xfce4 Panel Profiles 1.0.8
Formerly known as Xfpanel Switch, Xfce4 Panel Profiles has joined the Xfce family. This application makes it incredibly easy to backup, restore, and share panel layouts with other Xfce users. The latest release improves profile management and includes a number of translations. Find out more about the latest updates on the release announcement.
Xfce Releases
There were 7 new Xfce releases in July, including the two applications listed just above. These releases feature a number of improvements and translation updates, with Xfwm4 4.13.1 featuring an astounding 81 non-translation updates!
- Catfish 1.4.6
- Thunar VCS Plugin 0.2.0
- Xfce Mount Plugin 1.1.3
- Xfce Panel Profiles 1.0.8
- Xfce Whisker Menu Plugin 2.2.1
- Xfwm (4.12.5, 4.13.1)
Cosmic Cuttlefish Updates
The following components have been updated in Xubuntu 18.10 since July 1st.
Applications
- Catfish 1.4.6
- Mousepad 0.4.1
- Ristretto 0.8.3
- Thunar 1.8.1
- Xfce Desktop 4.13.2
- Xfce Panel 4.13.3
- Xfce Screenshooter 1.9.2
- Xfce Settings 4.13.3
- Xfce Task Manager 1.2.1
- Xfce Terminal 0.8.7.4
Libraries
Panel Plugins
Thunar Plugins
Other Updates
- Bug Fixed! LP: #1762595 (gvfs), Thunar incorrectly thinks USB storage device hasn’t finished ejecting
What to Expect in August?
With the summer months coming to a close, kids are back in school and everybody is back in front of their computers. This means more updates! Here are some things expected soon:
- Updated packaging for the elementary-xfce icon theme. Work on separating this theme from xubuntu-artwork has already been completed. We are now just waiting for some sponsored uploads. The benefit of this change is that the elementary-xfce icon theme is now available in Debian!
- Xfce Settings 4.13.5. There have been some improvements to the settings managers that we’ll be releasing soon. One improvement is the removal of the broken icon theme color generation. This worked great with GTK+ 2 themes, but has been pretty broken for GTK+ 3. With this removal, Appearance Settings now loads instantly!
- I’ll be taking a look at the Pidgin codebase this month, hoping to improve the theme manager to support system-wide status icon and smiley theme installation. This will make it possible for us to ship the pidgin-elementary themes and further improve our desktop consistency.
- There have been a few bugs reported with Thunar in Xubuntu 16.04 in regard to copying and moving files. I’ll be working to update the Thunar version in Xenial to fix these bugs and help folks transition to the latest and great Xubuntu 18.04. (LP: #1514912)
Keep up with the latest Xubuntu developments on our development tracker. Have a great month!
July 30, 2018
July 28, 2018
Gervase Markham (cc by sa didytile)Gerv Markham, a friend and mentor to many in the Mozilla community, passed away last night surrounded by his family.
Gerv worked at Mozilla for many years working in a variety of capacities including being a lead developer of Bugzilla and most recently working on special projects under the Mozilla Chairwoman.
I had the pleasure of working with Gerv in the Thunderbird community and most recently on the MOSS Grants Committee as one of the inaugural members. Between these two areas, I often sought Gerv’s mentoring and advice, as he always had wisdom to share.
Anyone who has been intimately involved with the Mozilla project likely engaged Gerv from time to time, although much of his work was behind the scenes but nonetheless important work.
I think it goes without saying Gerv had a significant impact on the open web through his contributions to Bugzilla and various projects that moved the open web forward and he championed the values of the Mozilla manifesto. All of us who knew him and got the opportunity to collaborate were rewarded with a good friend and valuable wisdom that will be missed.
Thanks Gerv for being a friend of Mozilla and the open web and you will be surely missed.
July 27, 2018
Blood Moon of July 2018Tonight, I spent some time on the balkony with my SLR, a glass of Shiraz and the most significant lunar eclipse of the century.
Stickers are just glorified icons right??
Adorbs used to be an iMessage sticker pack that I maintained, but I let my Apple developer account lapse, so I made them into a Telegram sticker pack! Available now!

July 26, 2018
The first point release for 18.04 Bionic Beaver has now been released.
As usual, this point release includes many updates, and updated installation media has been provided so that fewer updates will need to be downloaded after installation. These include security updates and corrections for other high-impact bugs, with a focus on maintaining stability and compatibility with Ubuntu 18.04 LTS.
The point release images are available as torrents immediately from the links below.
The images are also available as direct downloads from xubuntu.org/getxubuntu/. As the main server and mirrors might be busy for the first few days after the release, we recommend using the torrents if possible.
Hello MAASters!
- Proxying the communication through rack controllers
- HA improvements for better Rack-to-Region communication and discovery
- Adding new machines with IPMI credentials or non-PXE IP address
- Commissioning during enlistment
sudo apt-get update
sudo apt-get install maas
The work to rebase KDE neon on Bionic is progressing. Apologies if it feels slow but it’s keeping our infrastructure busy while continuing with the xenial builds alongside. I’ve just managed to get the package version check to turn green which means all the packages are now built. The installable ISOs are also green on our builders, but we’re keeping them hidden until we’ve ironed out the bugs. The two installers we use have some quirks and hacks that need tidied up but the automated install tests are also turning green. Some of you have already found our preliminary instructions for doing the upgrade and it seems to be working for everyone who has tried it, but “it seems to be working” is not what we want, “it is working” is what we want and while the git-unstable edition is green in the tests the user edition is not so some more tidying up to be done there. We’ll announce the installable ISOs and upgrade more formally for beta testing once the tests are green and turn on the full upgrade shortly after. Hasta pronto.
July 24, 2018
A beautiful theme gets a beautiful name
Communitheme has been a community effort from the start with an overwhelming amount of feedback from an even larger community. Surprisingly, the still ongoing discussion thread of more than 1500 messages hasn’t (yet?) broken discourse!
However, the effort to refresh the look and feel of Ubuntu has gone way beyond just a theme. From the start, Sam Hewitt’s beautiful Suru icons were included and over time, the effort brought new system sounds and new cursors under its wing. Some of the design discussions have gone even further than this, but the desire to stay as close to upstream GNOME as possible has put most of those in the freezer for now. So, in order to reflect the broad scope and in light of its upcoming inclusion in Ubuntu, a new name is in order.
After 8 months of intense labour, we are proud to announce the birth of Yaru!

A fully community grown theme, ready to look good and be awesome. Yaru continues on the Japanese influences of Suru, and its meaning, “to do” or “to give” fits perfectly with this project: Yaru is here because we did it, we’re happy to give it to you to spread Ubuntu’s culture of sharing, and we hope it helps you do cool stuff on Ubuntu. Best of all, even the name was vetted in by the community! A poll confirmed that this name is widely loved by the entire Communitheme-community. A longer explanation of Yaru vs Suru could be found here.
We did not do it in a day..
Communitheme project got immediately big expectations from the community. Many people were eagerly awaiting this style refresh and wanted it as default theme in the 18.04 LTS (codename Bionic Beaver) release. However, we decided to postpone its release to give us the freedom to keep changing the theme, since an LTS would mean that the theme’s look and feel is fixed for a few years. Two months after the Bionic release, looking at the commit activity and at the list of pull requests, it’s clear this was the right decision. We have gone through several iterations that affected also the very basic elements of style.

- The color & shape of our button sets changed to look bright, sharp and elegant.
- The colors for the window and sidebar background are changed to a more warm and welcoming tone, like we did for the headerbars at the beginning.
- We abandoned the strong orange for the text selection and changed it to a more discrete blue.
- We changed the Color & shape of GNOME and GTK notifications so that they pop up nicer from the background.
- Finally, many changes were made to the transparency, borders, shadows, colors and depth effects so GNOME Shell looks like something in between Unity7, Unity8 and the new design ideas.
The use of flat design was also discussed thoroughly, because it is very common nowadays. Flat UI is less distracting and gives an uncluttered and sharp look, but it can also be boring and decrease the UX. We decided to mix both styles: the contours, GNOME shell and the headerbars are flat and the applications themselves in the center have a gentle 3D effect to better highlight where the focus should be.

Those themes are based on both upstream GNOME Shell and Adwaita themes sass files, making the whole maintenance way easier.
We did not do it alone…
We sincerely want to thank for all the feedback, ideas, PRs and also testing and reports the whole community, just to name a few: ya-d, jaggers, yazub, NusiNusi, nana-4, CraigD, vinceliuce, Paz-it, mivoligo, taciturasa. Without their huge support we surely would not have gone this far in so little time, and of course we want to thank the Design and Development team Stefan Eduard Krenn, Carlo Lobrano, Mads Rosendahl, Frederik Feichtmeier, Merlijn Sebrechts, Aaron Papin, whose constant effort and professionalism shaped Yaru theme commit after commit and discussion after discussion since the very beginning of this awesome journey.
What will happen in the coming days?
If you are one of the 19 000 people who downloaded the communitheme snap on ubuntu 18.04 LTS, basically nothing will change for you and you will still get the regular flow of daily (commitly? ;)) or weekly updates depending on which channel you have chosen ! We made a good deal in keeping backward compatibility for this user base. Snaps can’t be renamed yet, and consequently, we decided on keeping “communitheme” codename for this version. You still get latest of latest, and the build system has now some tweaks to ensure you get a compatible version with your system. You will still log into your communitheme dedicated session.
We are going to transition Cosmic (incoming 18.10 Ubuntu release) very soon to use a newly set of distribution packages under the Yaru new name. The new package will enter in the coming days to the ubuntu archive and the default ubuntu session will switch to it soon (once we get the package in main and makes some changes in various projects and default settings)! It won’t get as many refresh cycle as the snap based version, but we’ll make regular snapshots. Please use the snap if you want to give continuous feedback on the ubuntu hub with its dedicated section or or directly install from source.
Speaking of installing from source, we merged last week our different repositories (5 of them) into a single one to ease maintenance and releases. Now, we can get very easily the “Yaru” experience (GTK2, GTK3, GNOME Shell, icon, cursor and sound themes), cloning a single git repository and installing from it!
Eager to help?
Note that screenshots are still Work In Progress, there is still some discussions about keeping the Ubuntu logo by default on the launcher or not and other fundamentals changes that the community can decide until the Cosmic Cuttlefish release.
We still need some helps, in particular in the GTK2 world (which will be used to provide theming for Qt applications as well). It has never been easier to contribute to Yaru thanks to the recent repository reorganization: contributing to the projects is now simply heading to the Yaru repository under the ubuntu organization, read the README and contributing guidelines. All coordination still goes through the community ubuntu HUB and its dedicated topic. Will you be the next one? :)
Didier - on behalf of the whole communitheme core contributor team who contributed to this announce.
Some people have been wondering where I've been online. In conformance to some "employee protection" orders at work, I've had to begin terminating various & sundry bits of online presence. These sorts of orders are such that I do eventually have to obey them.
My Twitter account is gone. I currently have no active presence there.
My Flickr account is gone. I currently have no active presence there.
My account on the Mastodon network via SDF.org has been gone for some time. If you've been looking for me there that account isn't being restored any time soon.
My account on Quitter.se is as good as gone considering I can't even get a ping response back from that system. After all, this is what I get from attempting a ping:
$ ping quitter.se
PING quitter.se (193.180.164.105) 56(84) bytes of data.
^C
--- quitter.se ping statistics ---
811 packets transmitted, 0 received, 100% packet loss, time 829416ms
My pump.io account on Identica is locked in "Hotel California" mode and cannot be terminated by me at this time. That's probably a good thing. The pump.io network still exists, ya know.
Additionally, I've been getting tired of seeing things spill over on various social networks about how the current President of the United States (my 11th-line supervisor) is the embodiment of evil walking this planet. It is bad enough spending eight hours per day being paid by the federal government to hear that garbage while protecting the nation's financial interests. Coming home to hear that too is just a step too far. There just comes a point where I can't handle it anymore & have to cut something back.
This blog remains. I'm not going totally dark. Trying to be a light and to spread light is just not as easy as it sounds in this crazy world. Thankfully there is F/LOSS like the many flavours of Ubuntu to at least ensure that I don't have to include computer issues among my many worries right now. Worst comes to worst, you can give me a call on Telegram perhaps if you are so moved.
July 23, 2018
You have a cloud server and you got more than one public IP addresses.
How do you get those additional IP addresses to associate to specific LXD containers?
That is, how do you get your LXD container to use a public IP address?
This post has been tested with a packet.net baremetal server.
Prerequisites
You have configured a cloud server and you arranged to have at least one additional public IP address.
In the following, we assume that
- the gateway of your cloud server is 100.100.100.97
- the unused public IP address is 100.100.100.98
- the network is 100.100.100.96/29
- the default network interface on the host is enp0s100 (if you have a bonded interface, the name would be something like bond0)
Creating a macvlan LXD profile
Create a new LXD profile and set up a macvlan interface. The name of the interface in the container will be eth0, the nictype is macvlan and the parent points to the default network interface on the host.
$ lxc profile create macvlan$ lxc profile device add macvlan eth0 nic nictype=macvlan parent=enp0s100
Here is how the profile macvlan looks like.
ubuntu@myserver:~$ lxc profile show macvlan
config: {}
description: ""
devices:
eth0:
nictype: macvlan
parent: enp0s100
type: nic
name: macvlan
used_by:
Launching the container
Launch the container by specifying the macvlan profile on top (stacked) of the default profile. The container is called c1public.
$ lxc launch --profile default --profile macvlan ubuntu:18.04 c1public
Get a shell into the container and view the network interfaces
ubuntu@myserver:~$ lxc exec c1public bash
root@c1public:~# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::216:3eff:fe55:1930 prefixlen 64 scopeid 0x20<link>
ether 00:16:3e:55:19:30 txqueuelen 1000 (Ethernet)
RX packets 82 bytes 5200 (5.2 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 16 bytes 2788 (2.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
....
root@c1public:~# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
8: eth0@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether 00:16:3e:55:19:30 brd ff:ff:ff:ff:ff:ff link-netnsid 0
At this stage, we can configure manually the appropriate public IP address for the network interface eth0 of the container and it will work. If you are familiar with /etc/network/interfaces, you can go ahead and make the static network configuration. In the next section we are going to see how to use netplan to configure the network.
Configuring the public IP with netplan
In the container, create a file /etc/netplan/50-static-public-ip.yaml so that it as follows. There are two options for the renderer, networkd (systemd-networkd which is available on Ubuntu 18.04) and NetworkManager. We then specify the public IP address, the gateway and finally the DNS server IP addresses. You may want to replace the DNS server with that of your cloud provider.
root@c1public:~# cat /etc/netplan/50-static-public-ip.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
dhcp6: no
addresses:
- 100.100.100.98/29
gateway4: 100.100.100.97
nameservers:
addresses:
- 8.8.8.8
Applying the netplan network configuration
Run the following command to apply the netplan network configuration. Alternatively, you can restart the container.
root@c1public:~# netplan --debug apply ** (generate:294): DEBUG: 15:46:19.174: Processing input file //etc/netplan/50-cloud-init.yaml.. ** (generate:294): DEBUG: 15:46:19.174: starting new processing pass ** (generate:294): DEBUG: 15:46:19.174: Processing input file //etc/netplan/50-static-public-ip.yaml.. ** (generate:294): DEBUG: 15:46:19.174: starting new processing pass ** (generate:294): DEBUG: 15:46:19.174: eth0: setting default backend to 1 ** (generate:294): DEBUG: 15:46:19.175: Generating output files.. ** (generate:294): DEBUG: 15:46:19.175: NetworkManager: definition eth0 is not for us (backend 1) DEBUG:netplan generated networkd configuration exists, restarting networkd DEBUG:no netplan generated NM configuration exists DEBUG:device lo operstate is unknown, not replugging DEBUG:netplan triggering .link rules for lo DEBUG:device eth0 operstate is up, not replugging DEBUG:netplan triggering .link rules for eth0 root@c1public:~#
Here is the network interface with the new IP address,
root@c1public:~# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 100.100.100.98 netmask 255.255.255.255 broadcast 0.0.0.0
inet6 fe80::216:3eff:fe55:1930 prefixlen 64 scopeid 0x20<link>
ether 00:16:3e:55:19:30 txqueuelen 1000 (Ethernet)
RX packets 489 bytes 30168 (30.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 18 bytes 1356 (1.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
...
root@c1public:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 0 0 0 eth0
100.100.100.97 0.0.0.0 255.255.255.240 U 0 0 0 eth0
root@c1public:~# ping -c 3 www.ubuntu.com
PING www.ubuntu.com (91.189.89.118) 56(84) bytes of data.
64 bytes from www-ubuntu-com.nuno.canonical.com (91.189.89.118): icmp_seq=1 ttl=53 time=8.10 ms
64 bytes from www-ubuntu-com.nuno.canonical.com (91.189.89.118): icmp_seq=2 ttl=53 time=8.77 ms
64 bytes from www-ubuntu-com.nuno.canonical.com (91.189.89.118): icmp_seq=3 ttl=53 time=9.81 ms
--- www.ubuntu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 8.106/8.896/9.810/0.701 ms
root@c1public:~#
Testing the public IP address
Let’s test that the public IP address of the LXD container works. We install nginx and modify a bit the default HTML page.
ubuntu@c1public:~$ sudo apt update
...
ubuntu@c1public:~$ sudo apt install nginx
...
ubuntu@c1public:~$ cat /var/www/html/index.nginx-debian.html
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
ubuntu@c1public:~$ sudo sed -i 's/to nginx/to nginx running in a LXD container with public IP address/g' /var/www/html/index.nginx-debian.html
ubuntu@c1public:~$
Let’s visit the public IP address with our browser!
It worked!
Troubleshooting
Help! I can see the IP address but there is no route?!?
Most likely you misconfigured the network prefix in the netplan configuration file. Find the details at
ubuntu@myserver:~$ sudo apt install ipcalc ubuntu@myserver:~$ ipcalc 100.100.100.96/29 Address: 100.100.100.96 01100100.01100100.01100100.01100 000 Netmask: 255.255.255.248 = 29 11111111.11111111.11111111.11111 000 Wildcard: 0.0.0.7 00000000.00000000.00000000.00000 111 => Network: 100.100.100.96/29 01100100.01100100.01100100.01100 000 HostMin: 100.100.100.97 01100100.01100100.01100100.01100 001 HostMax: 100.100.100.102 01100100.01100100.01100100.01100 110 Broadcast: 100.100.100.103 01100100.01100100.01100100.01100 111 Hosts/Net: 6 Class A
The public IP addresses have the range 100.100.100.[97-102]. Both the gateway (100.100.100.97) and the LXD container public IP address (100.100.100.98) are in this range, therefore all are fine.
July 21, 2018

When I searched for a way to configure ddclient for No-IP.com, some pages mention protocol=dyndns2 with a custom URL. But actually, ddclient supports protocol=noip out of the box, so minimal steps would be something like:
$ sudo apt install ddclient
$ cat <<EOF | sudo tee /etc/ddclient.conf
use=web
ssl=yes
protocol=noip
login=<USERNAME>
password=<PASSWORD>
<YOUR_HOSTNAME>
EOF
And here we go.
$ echo 'run_daemon="true"' | sudo tee -a /etc/default/ddclient
$ sudo service ddclient restart
$ journalctl -u ddclient.service
...
systemd[1]: Started LSB: Update dynamic domain name service entries.
ddclient[24631]: SUCCESS: updating MY_HOST.redirectme.net: good: IP address set to 118.X.Y.Z
For more details, refer to ddclient -help.
On Thursday 19th July 2018, Xubuntu 17.10 goes End of Life (EOL). For more information please see the Ubuntu 17.10 EOL Notice.
We strongly recommend upgrading to the current release, Xubuntu 18.04, as soon as practical. Alternatively you can download the current Xubuntu release and install fresh.










