kyrofa's blog

Snapping Nextcloud: Nextcloud itself

In the previous post of this series, we discussed the process of and lessons learned from building Redis for the Nextcloud snap. That means we've covered all the major pieces except for Nextcloud itself, so for this post that's what we'll focus on getting that into the snap. . . . (more)
Kyle

2 comments

Snapping Nextcloud: The memcache

In the previous post of this series, we discussed the process of and lessons learned from building MySQL for the Nextcloud snap. The last piece of infrastructure we need to introduce is the memcache, for which we'll use Redis. Nextcloud supports a number of memcache backends; I chose Redis because it can provide both a local cache as well as file locking, so for this post that's what we'll focus on getting into the snap. . . . (more)
Kyle

No comments

Snapping Nextcloud: MySQL

In the previous post of this series, we discussed the process of and lessons learned from building PHP 7 for the Nextcloud snap. Nextcloud supports a number of databases, but they recommend MySQL, so for this post that's what we'll focus on getting into the snap. . . . (more)
Kyle

2 comments

Snapping Nextcloud: PHP 7

In the previous post of this series, we discussed the process of and lessons learned from building Apache for the Nextcloud snap. Nextcloud is a web application written in PHP, so for this post we'll focus on getting PHP into the snap. . . . (more)
Kyle

No comments

Snapping Nextcloud: The web server

The backbone of any web application is of course the web server, so that's where I started when snapping Nextcloud. I went with Apache as opposed to Nginx for two reasons: 1) Apache is recommended by Nextcloud, and 2) I'm much more familiar with Apache than Nginx. . . . (more)
Kyle

No comments

Installing Nextcloud can be a snap

I've been an ownCloud user for years, and I recently moved to using Nextcloud, which is based upon ownCloud. Both my wife and I use it to sync our calendars and contacts across all our devices, and also use it to sync our documents, music, pictures, and videos. It caters to my paranoid nature-- the idea that all that information is being saved on my own in-house server instead of someone else's greatly pleases me. . . . (more)
Kyle

No comments

Building your snap on-device? There's a better way

I'm currently the maintainer of the ownCloud snap. One of the primary target devices for this snap is a Raspberry Pi 2, which is of course armhf. Snapcraft solves a lot of problems when building snaps, but one issue it doesn't solve is cross-building (i.e. building on one architecture while targeting another). Back in Snappy Ubuntu Core 15.04, every ownCloud release I made for armhf was built on the Raspberry Pi 2. What a painful experience that was-- it needed more RAM than the rpi2 had (so I . . . (more)
Kyle

2 comments

That's one Snappy MOOS

So you're a roboticist, looking at Ubuntu Core and Snappy, trying to decide if they're a good fit for your project. You come across some ROS documentation and realize that the ROS support is first-class, but you're not using ROS. No, you're using the Mission Oriented Operating Suite (MOOS). Why is there no documentation on using MOOS? Because it's too easy to need a document, that's why. . . . (more)
Kyle

No comments

Seccomp filters on the Ubuntu Phone

The officially-supported Ubuntu Phones run pretty old kernels. The Nexus 4 and BQ phones all run v3.4, and the Meizu MX4 runs v3.10. Device kernels typically lag a bit behind since so much effort goes into making them compatible with the hardware, but this posed a bit of a complication since the Click confinement model utilizes features of AppArmor v3, which isn't even released yet. However, we like to push the envelope here at Canonical, so we backported it into our phone kernels anyway. . . . (more)
Kyle

No comments

Prototype: A GUI-friendly Snappy

So this is the week of the Ubuntu Online Summit, and many of the sessions are discussing Snappy. As you may know, Snappy is currently pretty geared toward embedded, headless devices. However, it is the successor to Click, and eventually the phones will be based upon it. To drive that effort forward, a few colleagues and I had a session (you can watch the video) where we discussed the path forward for supporting snaps on other devices, specifically the phone and the desktop. . . . (more)
Kyle

2 comments

V3 Technology Awards: Vote for Canonical!

I'm pleased to announce that Canonical has made the shortlist in several categories for the V3 Technology Awards! Now it's all in your hands: Go and Vote for Canonical! Note that voting closes at 5pm on Friday, October 9th. . . . (more)
Kyle

No comments

Snappy Scope: Progress Update

I've previously written about Snappy and Unity 8's Snappy Scope, back when I was first getting started on it. Since then, both the scope and Ubuntu Core itself have come a long way, so I thought it was time for an update and a quick demo. . . . (more)
Kyle

2 comments

Rails Testing Nirvana: Travis CI and Sauce Labs

I think we can all agree that testing one's Rails project is a good thing. I think we can also agree that those tests should be run on a regular basis (i.e. after every change). I think it's a logical conclusion then that having a continuous integration environment setup for one's project would be considered ideal. This is really pretty easy for open-source projects, since a number of companies provide free support for them. The go-to CI for Rails projects seems to be Travis CI, but it has a . . . (more)
Kyle

No comments

Rails: Writing Engine Tests That Depend on Main Application Models

When developing a new Ruby on Rails project, one doesn't always start from scratch. Often one first searches for an open-source project that will at least get one part of the way there. For example, one might want to do something as simple a create a website with a blog as well as image galleries. The first step in this journey might be to find some open-source blog software for Rails, e.g. Publify (previously called Typo). Great, one has a blog! . . . (more)
Kyle

No comments

Unity 8's Snappy Scope

I recently began a new position at Canonical. I joined this company in particular to give myself more opportunities for growth. Now, when I say that, people tend to assume I'm talking about a managerial track. I'm not sure why they tend to jump there, but it's not what I'm referring to here. I'm talking about technical growth. I feel at the top of my game when I'm learning something brand new, and I needed a company that facilitated that. Canonical has delivered. . . . (more)
Kyle

No comments

VirtualBox: Internet Access With Host-Only Network

I ran into the need to access the internet from a VirtualBox VM via host-only networking. Of course, you're saying "There's a better way to do that!" And of course, I agree: with no other considerations, the best way to do this is to simply add another NIC to the VM configured as NAT instead of host-only. However, I'm trying to test out some new networking ideas for my OpenStack Network node, and it doesn't have a NIC configured with NAT. Since I'm trying to reproduce a production system in . . . (more)
Kyle

1 comment

The Face Detector

Several years ago, I was new to my specific group at work. I was working on a combination of image processing and a GUI for keeping track of specific objects in the camera's view. I started on the GUI first, writing a server that received object locations and handed them off to the GUI which displayed them in a nifty way. I was using Qt and QML, which I have used in numerous personal projects, so I was pretty familiar and confident with what I was doing. In order to test/develop the GUI I threw . . . (more)
Kyle

No comments

GitLab 6.3 with Apache and Passenger. On an ARM

As I've mentioned in previous posts, I run all my websites on a Mirabox-- my nifty, low-power ARM server. As awesome as it is having a low-power server, it does make things more difficult. I'm a Ruby on Rails developer, and I run three websites on this thing, along with a gitolite installation so I can host my own code. However, I recently began a few projects collaborating with other people, and as the projects grow, gitolite is not the collaboration platform of success. I need groups and . . . (more)
Kyle

5 comments

QEMU: MiraBox Emulation

As I mentioned in a previous post, I host various websites (including this one) on a MiraBox sitting behind my tv. In that same post I outlined how Globalscale screwed me by mixing releases in the sources.list. I didn't catch it until I had an unbootable system, and I had to completely rebuild my server which took weeks. I very nearly tossed the whole thing in favor of hosting my websites on a "real computer, made by people who knew what they were doing," but I reminded myself why I settled on . . . (more)
Kyle

No comments

Upgrade Makes Mirabox Unbootable

For some reason (I can't really put a finger on it exactly), I like to keep my servers up-to-date. I know! All those security patches, all those new features-- they're a killer! . . . (more)
Kyle

15 comments

Dell Sputnik Beta Participant Gift

Well, how nice! Look what the UPS man hid behind my garbage can (seriously... the thing was all damp; it must have been sitting out there for two weeks): . . . (more)
Kyle

No comments

TSA: "Red is the Bad Color"

At work, a large part of my focus is stereo vision. Well, a coworker and I needed to attend a three day training seminar, which we expected would be quite boring. So, we grabbed a pair of cameras, secured their baseline by attaching them to a small metal beam, zip tied the beam to a 12V power supply, and shoved the whole thing into a pelican case so we could continue working on interesting things while we were there. . . . (more)
Kyle

2 comments

Dell Sputnik XPS 13 Critiques

As I mentioned in my last post, I recently picked up an XPS 13 at a discount from Dell for the Sputnik beta project. When I say "recently," I actually mean about two months ago, which means this is not a "first look" post. This has been my main computer ever since it arrived, which means I have some thoughts to share. Mostly critiques, at least for this post. . . . (more)
Kyle

No comments

My new laptop: Dell Sputnik XPS 13

My old laptop finally seemed to be on its last legs, so I began shopping. I'm the kind of guy who will do research for a month before spending $100 on a hand-held vacuum cleaner, so you can imagine how I deal with something having three or more zeros in its price tag. . . . (more)
Kyle

No comments