The webcam is functional through xawtv -c /dev/video0
, though I've not yet tried it with a video chat application.
Running a command against all containers
ansible "hosts:all_containers" -m "shell" -a "ip a"
This one is more specific, since I'm guessing most people are simply trying to lose weight.
My insurance company covers the OneTouch Ultra2 family of glucometers, and they're pretty nice. It's extremely useful to be able to track what effects different foods and activities have on my blood sugar.
By the opposite token, I think technology that actively hampers people when they're trying to get something done is bad. If your technology is hard to use and makes a user's life harder, whether that user is a developer trying to understand your API without documentation, or an office worker who can't find something in a confusing GUI, it's toxic.
I just came across a new talk by Quintin Smith of Shut Up & Sit Down fame. It's a closing statement for a conference which I didn't go to, nor did I watch any of the talks mentioned, but I think he makes some great points regardless.
The whole premise is that game designers should be exploring concepts of play beyond their current format. He presents three different formats - video games, board games, and live action roleplaying. According to Quinns, it may be possible to make gaming's "atom bomb" by combining the greatest designers from all of these formats and seeing what they make.
I like where he's going with it. Board game rules run inside of human's heads - that means they have an execution environment that is potentially much more powerful than any of our modern computers. Maybe any computers if you factor in the games like Apocalypse World or Gloom that center around story and narrative.
That's super exciting to me.
Some more good thoughts on this are from Rands. He makes a strong argument that a lot of the tools we think we need for remote workers can in fact be a hindrance - the delays in video/phone chat in meetings can be killer, as I've found on both sides.
For myself, I've found that being on the remote end it's usually easier to not interject, which in turn becomes a problem, since my feedback isn't getting registered at the time it's most relevant.
Perhaps a better target would be re-usable libraries without all the components built-in by default.
I'm not sure how that would look, though. I'd have to play around with some implementations to get a feel for how interdependent models, views, and renderers would play as somewhat stand alone components.
Streams by this user that have been favorited by others.
The webcam is functional through xawtv -c /dev/video0
, though I've not yet tried it with a video chat application.
I have a Dell P2715Q 4k monitor that works with the miniDisplayPort port directly at 4k resolution with 60hz refresh.
However, if I connect via the DisplayPort port on the OneLink adapter, X only lets me use the monitor at 4k with 30Hz, or a lower resolution if I want 60Hz.
This is with Xorg Server 1.17.2, and kernel 4.1.6-1-ARCH from ArchLinux.
I've been running ArchLinux on my X1 Carbon with some success now; I'll try to use this stream as a place to write down what I've tried, and what I've found to work.
Running a command against all containers
ansible "hosts:all_containers" -m "shell" -a "ip a"
Building an inventory file without executing playbooks
Icehouse/Juno:
$ cd rpc_deployment
$ inventory/dynamic_inventory.py \
--file /etc/rpc_deploy/rpc_user_config.yml
Kilo/Liberty
$ cd playbooks
$ inventory/dynamic_inventory.py \
--file /etc/openstack_deploy/openstack_user_config.yml
Running a command across all physical hosts, such as seeing the IP addresses for all containers on all through lxc.
ansible "hosts:is_metal" -m "shell" -a "lxc-ls -f"
This one is more specific, since I'm guessing most people are simply trying to lose weight.
My insurance company covers the OneTouch Ultra2 family of glucometers, and they're pretty nice. It's extremely useful to be able to track what effects different foods and activities have on my blood sugar.
Since I work in a mostly sedentary job, I bought a small, inexpensive elliptical which can be used while sitting. However, most of the chairs in my house tend to be a bit too low to use it comfortably, so I'll have to rectify that somehow.
In addition to exercise, I'm trying to use portion control at meals, as well as cooking at home more often. These bowls and these plates have been a great help in doing that without breaking out measuring cups all the time.
Also, the plates come with covers, making it easier to prep meals in advance.
For when I can't go outside walking, or I want to change things up, I got a Wii Fit U with the pedometer. This allows me to get "points" and virtual rewards for working out. While it's kind of silly, these things really do encourage me to keep going.
The Wii Fit U software does graphing and tracking of goals, but I find it's not as detailed or featureful as the Fitbit versions, so I tend not to use it.
I got a Fitbit Flex. I like that it has an API so other developers can integrate with it, a nice dashboard, and a nice mobile app. It also integrates with a health channel application we're using at work, meaning a little less duplicate data entry.
The big thing with this is the daily goals - it helps a lot to track when I'm getting steps in and how much water I'm taking in (which is important since I'm trying to prevent kidney stones).
To track my weight, I got the Fitbit Aria so I could have most of my data in one place.
So, since it seems to have garnered a bit of attention on twitter, I figured I would document some of the things I'm using to help lose/manage my weight.
By the opposite token, I think technology that actively hampers people when they're trying to get something done is bad. If your technology is hard to use and makes a user's life harder, whether that user is a developer trying to understand your API without documentation, or an office worker who can't find something in a confusing GUI, it's toxic.
Improving lives is also admittedly incredibly vague and broad. But I think that's ok. A video game can improve your life if it's bringing you enjoyment.
But even my own career work has been about improving lives with technology - I've worked as a software developer for half a decade now, and I was doing computer phone support, repair, and network administration for six years before that.
What I've found out about myself is that I like being a force multiplier for developers and other technologists. It's closer to 'dogfooding' my own problems, and I feel better trying to help technical people overcome their problems, which in turn (hopefully) helps less technical people use technology more successfully.
So, my team's project for deploying OpenStack with Ansible and the more specific task of helping our internal support team using it to help customers falls right in line with that.
Another thing that got me thinking about this was Jim Dalrymple's review of the Apple Watch.
The meat of the review is about how the watch helped him accomplish an astounding change in behavior. I think this is a great thing, and a perfect example of technology improving lives. I don't think these kinds of results are limited to the Apple Watch, or even Apple specifically, though - a Fitbit, Jawbone Up, or any one of a number of other trackers could do the same thing. In this scenario, the one that introduces the least friction is best.
What got me thinking about this was a conversation with a friend about Fitbit, and how I was considering one for tracking my exercise. My thought was that having the goals would motivate me more, in addition to requiring the exercise since I was diagnosed with type 2 diabetes.
My friend, on the other hand, mentioned that it was somewhat silly to have a device that reminded you to exercise. Why not just set a timer for 30 minutes and go until it dings?
But the timer is a device helping you, too. They're both technology helping you accomplish a task - one simply helps you timebox, the other gives you detailed data.
However, that data is of no use if you're not acting on it, which I think is where trackers like Fitbit could certainly be seen as superfluous baubles.
At my first job, the company's mission motto was 'Improving Lives with Technology'. At the time, I thought it was shitty corporate-speak, but as I've gotten older, I've come to think that that's my personal mission statement.
I just came across a new talk by Quintin Smith of Shut Up & Sit Down fame. It's a closing statement for a conference which I didn't go to, nor did I watch any of the talks mentioned, but I think he makes some great points regardless.
The whole premise is that game designers should be exploring concepts of play beyond their current format. He presents three different formats - video games, board games, and live action roleplaying. According to Quinns, it may be possible to make gaming's "atom bomb" by combining the greatest designers from all of these formats and seeing what they make.
I like where he's going with it. Board game rules run inside of human's heads - that means they have an execution environment that is potentially much more powerful than any of our modern computers. Maybe any computers if you factor in the games like Apocalypse World or Gloom that center around story and narrative.
That's super exciting to me.
So, I was going to write a long spiel about why I think I am growing to like board gaming more than video games as I grow older.
It was going to talk about things like the physicality of the pieces, the malleability of written versus the rigidness of programmed ones, and the wider variety of design, like having more variety of play beyond combat all the time.
But, really, the important part is this: people.
I work remotely, and the time spent face-to-face with people is becoming more and more valuable to me as time goes on.
Sure, I can play multiplayer games online now in all manner of platforms, using all kinds of great voice chat options. Hell, I played tons of these games when I was a teenager, spending far more time than I'd like to admit in MMOs like Asheron's Call and World of Warcraft. And sure, I could even play some tabletop games through plugins to something like Skype or Google Hangout.
But, I talk to my computer and images of people under a back-lit glass screen all day. A change of pace helps a ton, both in terms of technology fatigue and combating the onset of loneliness. I don't have to 'push to talk,' or focus on a window, or deal with crazy static, or someone who forgets to mute.
Technology is great, and I really appreciate the tools that allow me to work from pretty much wherever. Yet, there's still that need for human contact to keep me grounded. And board games often provide that common ground for friends and I to spend some time bonding.
Some more good thoughts on this are from Rands. He makes a strong argument that a lot of the tools we think we need for remote workers can in fact be a hindrance - the delays in video/phone chat in meetings can be killer, as I've found on both sides.
For myself, I've found that being on the remote end it's usually easier to not interject, which in turn becomes a problem, since my feedback isn't getting registered at the time it's most relevant.
I also think the hiring process is crucial when dealing with remote workers. As much as possible, introducing potential hires to members of the team other than just managers is crucial to success, so that the team gets to know the potential hire and vice versa.
Without doing this, you're increasing your likelihood of personality clashes after hiring.
I really think this is just good practice regardless of whether the potential hire is remote or not. It gives the new person a much better idea of what the team is actually like, instead of just what the hiring person says, and demonstrates a commitment to an atmosphere where the team makes decisions, not just the managers.
I know GitHub uses their drinkups as part of this process in order to get to know a new hire, and I also know a lot of other engineering shops are including it more and more into their hiring process. In my opinion, GitHub's gatherings are able to about 'just having fun' because they do a lot of work to identify personality compatibility early on in the process
Most of the companies with a significant percentage of remote workers also make an effort to bring in the remote workers from out of town in order to give them face time together. For example, I know GitHub does annual gatherings where the point is to not necessarily work, but to hang out and socialize with each other.
From my perspective, this is probably the most effective team building there is. Not forcing people to get along, but bringing them together in a central place and letting them have fun in a relaxed atmosphere.
I also think it's worthwhile, whether you're in office or remote, to take some kind of break. A vacation or staycation or whatever, but get away from work for a bit. Try to find a way to put it out of your mind.
I've been working remotely since September of 2011, and I've gotten questions both from coworkers and acquaintances about how to overcome some of the challenges.
I don't think I really know how - from my perspective, it revolves highly around the personalities of the people involved, and the established culture of a company.
For myself, it worked best when I worked in 100% remote companies. There was no office for people to go in to, and thus all communications were funneled through emails, IRC, the bug tracker, and VoIP/video chats. No fallback to rolling your chair over to the other cube was available.
This is both good and bad. Good because it means that there aren't necessarily the distractions of other coworkers constantly interrupting work, which for programming can be pretty bad for maintaining flow and being productive. Bad because it means that you as a worker need to keep yourself more disciplined if you're working at home with all your home distractions, as well as monitoring yourself for things like burnout and getting stuck on a problem where you need help.
As a remote worker, you need to be comfortable with raising your hand and saying, "I need help with this," or "I'm frustrated, can we talk?" If you don't, others are going to have a much harder time picking up on it than if they see you in person getting mad at the computer or whiteboard. For myself, I think this has been the hardest part. I'm very much an introvert, and though I like to bitch a lot on twitter, I have a hard time catching myself when I feel burnt out and actually communicating that to others in order to get help.
Perhaps a better target would be re-usable libraries without all the components built-in by default.
I'm not sure how that would look, though. I'd have to play around with some implementations to get a feel for how interdependent models, views, and renderers would play as somewhat stand alone components.
Thinking on it further, I'm not sure that having re-usable apps a-la Django or perhaps Plone/Zope "Products" is feasible, at least in the sense that they'll work with any Pyramid project.
In order to be useful, these apps or products will have to define views, models/storage, and templates. Each one of these can be configured very differently within each Pyramid project, making it hard to fit all possibly use cases. Granted, Chameleon and Mako templates are bundled with Pyramid, but say someone wants to re-use an app that defines some Chameleon templates in their project that use Jinja2?
So I don't think it's going to be easy to try supporting all Pyramid projects in a self-contained, re-usable application like Django. Because Pyramid itself tries very hard to avoid having an opinion, making components where the opinion (storage backend, templating renderer, view routing mechanism) matters apply to everyone is difficult.
I've been using Pyramid for some projects lately, and I'm finding I like it. However, in thinking about making re-usable apps for it, like Django, I can't come up with an approach that would be generally liked by Pyramid developers.
Django is at an advantage here because it makes a bunch of choices, mainly with the ORM. Pyramid, though, makes it a point to not choose a persistence method. This, in turn, makes it tough to implement a re-usable app in a flexible way. I do know of a way...using Zope interfaces.
That's right, I said the Z word. Interfaces have fallen out of favor in Python programming, but they would help in this situation. A Pyramid app could provide interfaces and a method of looking up a particular implementation (using the Zope Component Architecture, or repoze.lemonade), but that also means implementing the storage a few times - the two main mechanisms I know of being the ZODB or SQLAlchemy, but there could be Mongo or other NoSQL mappings too.
I suppose implementations could be split out into their own packages, but that seems overly complex.
Thoughts by this user that have been liked by others.
At my first job, the company's mission motto was 'Improving Lives with Technology'. At the time, I thought it was shitty corporate-speak, but as I've gotten older, I've come to think that that's my personal mission statement.