I did stop blogging for a while, but I didn't stop permanently.
Now I blog for THAT Conference on Medium. Check me out there!
Tuesday, March 6, 2018
Sunday, October 8, 2017
Why I Stopped Blogging
Two years ago, I pretty much stopped blogging altogether. It was sudden.
I'm guessing you didn't notice. However you consume information, I'm guessing that there's a lot of content there, and you didn't miss one little voice in the maelstrom fading off.
And that's ok.
But I do have more to say, so here I am back at the keyboard telling the world about anything and everything that comes to mind.
First things first, however. I've done some introspection into why I stopped blogging in the first place, and why I'm starting back up.
The overarching theme is that what I used to write about most is what was wrong with my workplace, and ideas and ways to fix it, in case they were useful to anyone else. That all changed when I took on a new challenge, left my job, and was really happy with the result. All the change I wanted to see in my world? I had gotten there.
And it has been everything I have hoped it would be. I've missed a lot of opportunities to talk about what remote work looks like after you've done it a while, and while a retrospective of that is coming, the upshot is that it has freed me to spend more time with family, work on side projects, avoid the stress of driving/commuting, and made me more productive at my primary job.
At the old gig, there were a lot of meetings. Meetings can become so odious that entire books are written about their negative effects. With the new gig at a much smaller company, meetings are minimal. Most communication takes place via our internal chat app, where we maintain presence and discuss everything the moment it occurs, not sometime later down the road where we have everyone captive in a room for an hour. My organization has a single two-hour recurring meeting every week where we plan out the work for the week, and that suits me just fine. We don't chat to fill the time; when the meeting's over, it's over.
Because we have the internal chat app, most of our messaging happens over that. Even the business users have become comfortable with sending us a quick chat to ask a question, instead of sending a two-page email and cc'ing the world. The chat app saves history of all communications, and responses are generally short and instantaneous. The less time you spend reading and receiving email, the more productive your day.
We've all heard the parable of how bad things happen at companies with deep reporting structures. The game of telephone that happens between layers of middle management, especially with potential for positive spin on the way up, can wreak havoc on productivity and morale. In my current organization, the management layer is so thin that you can read newsprint through it. Everyone in the organization is trusted to make their appropriate level of decisions and everyone contributes to the product in some way with more than just organization and words. It is organic and just right. I'm starting to think that the best way to organize a big company is to make it a collaboration of small independent internal companies, without worrying about efficiencies of scale (because the efficiency would come from not having a lot of employees dedicated solely to communication between units (i.e., management)), but that's a blog for another time.
While I have a life that I'm loving, and a job that's ideal for me, that doesn't mean everyone has that same good fit. My new aim is to help other technologists find their mojo, through growing their confidence, technical education, and networking (despite possible introverted tendencies). Additionally, I am here to help companies really understand their workers and encourage positive productivity.
So yeah. I'm back. Let's get this conversation going!
I'm guessing you didn't notice. However you consume information, I'm guessing that there's a lot of content there, and you didn't miss one little voice in the maelstrom fading off.
And that's ok.
But I do have more to say, so here I am back at the keyboard telling the world about anything and everything that comes to mind.
First things first, however. I've done some introspection into why I stopped blogging in the first place, and why I'm starting back up.
You Can't Play the Blues in an Air-Conditioned Room
The overarching theme is that what I used to write about most is what was wrong with my workplace, and ideas and ways to fix it, in case they were useful to anyone else. That all changed when I took on a new challenge, left my job, and was really happy with the result. All the change I wanted to see in my world? I had gotten there.
I Achieved the Remote Work Dream
And it has been everything I have hoped it would be. I've missed a lot of opportunities to talk about what remote work looks like after you've done it a while, and while a retrospective of that is coming, the upshot is that it has freed me to spend more time with family, work on side projects, avoid the stress of driving/commuting, and made me more productive at my primary job.
Meetings are Minimal
At the old gig, there were a lot of meetings. Meetings can become so odious that entire books are written about their negative effects. With the new gig at a much smaller company, meetings are minimal. Most communication takes place via our internal chat app, where we maintain presence and discuss everything the moment it occurs, not sometime later down the road where we have everyone captive in a room for an hour. My organization has a single two-hour recurring meeting every week where we plan out the work for the week, and that suits me just fine. We don't chat to fill the time; when the meeting's over, it's over.
Email is Minimal
Because we have the internal chat app, most of our messaging happens over that. Even the business users have become comfortable with sending us a quick chat to ask a question, instead of sending a two-page email and cc'ing the world. The chat app saves history of all communications, and responses are generally short and instantaneous. The less time you spend reading and receiving email, the more productive your day.
Small Company FTW
We've all heard the parable of how bad things happen at companies with deep reporting structures. The game of telephone that happens between layers of middle management, especially with potential for positive spin on the way up, can wreak havoc on productivity and morale. In my current organization, the management layer is so thin that you can read newsprint through it. Everyone in the organization is trusted to make their appropriate level of decisions and everyone contributes to the product in some way with more than just organization and words. It is organic and just right. I'm starting to think that the best way to organize a big company is to make it a collaboration of small independent internal companies, without worrying about efficiencies of scale (because the efficiency would come from not having a lot of employees dedicated solely to communication between units (i.e., management)), but that's a blog for another time.
But My Work Here is not Done
While I have a life that I'm loving, and a job that's ideal for me, that doesn't mean everyone has that same good fit. My new aim is to help other technologists find their mojo, through growing their confidence, technical education, and networking (despite possible introverted tendencies). Additionally, I am here to help companies really understand their workers and encourage positive productivity.
So yeah. I'm back. Let's get this conversation going!
Thursday, May 14, 2015
Perfmon
I was having a few problems with my Lenovo Yoga 2 the other day. For some reason it was really dogging, and I was getting close to chucking it all and reinstalling, but then I came across this article, which, while it's advice for a much older machine, I thought that I'd try out what it had to say.
Well, I'd heard of perfmon, but I really never checked into how to use it. This article suggests running
perfmon /rel
from the start menu or a command prompt. After you do that, it will collect up data from the past few weeks and present it in a graph form. Mine looked like:
Well, I'd heard of perfmon, but I really never checked into how to use it. This article suggests running
perfmon /rel
from the start menu or a command prompt. After you do that, it will collect up data from the past few weeks and present it in a graph form. Mine looked like:
That's really cool! So you have a day-by-day look at what your system has been doing, and where it's been failing. Clicking each of the red x icons gives you a look at what failed on that particular day. The blue information icons tended to be system or application updates. You can see application crashes and other things that may be affecting your system.
Enjoy!
Thursday, March 26, 2015
I Want to Speak. What Topics Are Best?
We know that community conferences like That Conference and Codemash fulfill multiple roles in a technology community. They provide networking opportunities, sure. But they also provide educational sessions for people to learn new technologies, transition between technologies, or enhance their knowledge within their own skill set.
It's easy to figure that the topics at a conference run the gamut of all possible talks, and that you should just speak about what you know. To first order, that's sort of true. But not all topics are created equal, and I thought I'd share what I've found most useful, when attending conferences.
For me, conference talks fill that space between blogs about technology, and books. They're the perfect hybrid of dynamic, up-to-the minute content that books don't have, coupled with the story-telling dynamic presentation format that blogs just can't quite reach, most of the time. Books work well as references. Blogs work well as permalink content that can be searched on the web for little bits of esoteric information and deep dives.
If that's the space that conference talks generally fill, then what topics to I find most useful? The topics I look for as an attendee are those talks that
This format can feel pretty tired, but I personally like seeing these talks. These are talks like "The 5 Best Underused Features in Angular" or "9 Stories from the TDD Front Lines". What I like is that while the presentation is centered on one particular topic or technology, you can tell quite a few disparate stories without the need for segue. It's the presentation equivalent of a book of short stories, and if one doesn't really appeal to you, you wait five minutes and see if the next one does. Also, some of the items can be beginner topics, and some can be advanced, so you can have a fairly diverse audience.
Probably my favorite type of topic. If you are a frequent practitioner of any particular technology, you've run into situations where things didn't work out the way they did in the demos (Entity Framework? I'm looking at you!). Your experience in the real world can save your audience time and bring some realism to a topic beyond the hype of the company that promotes it.
Remember, Call for Speakers for That Conference opens soon. If you want to come out and share your experience, maybe one of these topics is right for you!
It's easy to figure that the topics at a conference run the gamut of all possible talks, and that you should just speak about what you know. To first order, that's sort of true. But not all topics are created equal, and I thought I'd share what I've found most useful, when attending conferences.
For me, conference talks fill that space between blogs about technology, and books. They're the perfect hybrid of dynamic, up-to-the minute content that books don't have, coupled with the story-telling dynamic presentation format that blogs just can't quite reach, most of the time. Books work well as references. Blogs work well as permalink content that can be searched on the web for little bits of esoteric information and deep dives.
If that's the space that conference talks generally fill, then what topics to I find most useful? The topics I look for as an attendee are those talks that
- Help people get started
- Help people transition
- Help people improve
Introduction to "X"
Obviously, this talk is to help people get started. In an introduction, you start people with the basics: what open problem this X technology or platform solves, why X is a better solution to those problems than other solutions proposed in the industry, how to get started. In this type of talk, it's more of a survey designed to help people completely new to this technology, or maybe new to technology in general. Advanced features and deep dives are unnecessary, and you won't get extremely detailed questions, so this type of talk may favor the new speaker.
"X" for the "Y" Dev
This type of talk is very similar to the Introduction to "X" talk described above, but it has a much more targeted focus: help someone transition from an existing technology to a new one. Every technology has its way of looking at things and those memes are not obvious. It's easy to write C# that looks like Fortran.
These talks tend to have titles like "F# for the C# Developer : Learning to Funtional After Objecting All Your Life" or "TDD for the PHP Developer... Really!" The point of these talks is still introduction, so the talk can't dive deep into the target technology, and you spend a great deal of time arguing by analogy from one language/platform to the other. This type of talk favors the speaker that has made such a transition in the past and has good handle on what it takes to be successful with the new technology.
New Features in "X"
Technology changes all the time. If you happen to be working with the next version of some product, there are people that need your guidance. These types of talks help people grow in their current skill set. You can assume a base knowledge for your audience, and sometimes get into really cool demos, as new features are generally put in to have a bit of a "whiz-bang" factor. Here, you also have the ability to take a deep dive or two.
Top "N" Lists
This format can feel pretty tired, but I personally like seeing these talks. These are talks like "The 5 Best Underused Features in Angular" or "9 Stories from the TDD Front Lines". What I like is that while the presentation is centered on one particular topic or technology, you can tell quite a few disparate stories without the need for segue. It's the presentation equivalent of a book of short stories, and if one doesn't really appeal to you, you wait five minutes and see if the next one does. Also, some of the items can be beginner topics, and some can be advanced, so you can have a fairly diverse audience.
Real-World "X"
Probably my favorite type of topic. If you are a frequent practitioner of any particular technology, you've run into situations where things didn't work out the way they did in the demos (Entity Framework? I'm looking at you!). Your experience in the real world can save your audience time and bring some realism to a topic beyond the hype of the company that promotes it.
Remember, Call for Speakers for That Conference opens soon. If you want to come out and share your experience, maybe one of these topics is right for you!
Tuesday, March 24, 2015
How to Be a Great Speaker
Full disclosure: I am not a great speaker.
I have spoken at precisely one user group and one community conference. I love community, however, and want to offer my perspective on what makes a great speaker from a frequent audience member. These are things I strive to do in my talks, but still don't have down. Each one of these tips has personally affected my enjoyment (positive or negative) of a talk I've been to in the past year.
That Conference call for speakers opens in about a week, so you may not be at this stage yet, getting your abstract ready and such, but keep this handy for when you're preparing for your big day on the conference stage.
This should probably go without saying, but the speakers that seem to do best have everything down. They've rehearsed their demos over and over. They have their slide transitions down. When its clear that you're winging it, unless you have a true gift for extemporaneous speaking (you probably don't, even if you've always thought you did), you lose your audience really fast.
I was at a conference recently, and one of the speakers was having trouble moving his mouse in the limited space on the lectern. That was pretty obvious from his frustrated mouse movements, but on top of letting the frustration show, about every five minutes, he would articulate that frustration. As an audience member, there was nothing I could do, but it made the talk feel like a downer.
Here's the thing: the audience doesn't care about excuses. They don't need to hear why things aren't smooth. Make them smooth. If you can't, move on as best you can. The show must go on.
This is a tip that hits me subtly, but no matter how rapt my attention is during a talk, at one point or another, I end up thinking, "Gee, how much is left in this talk?" If you put this information right on your slides (Slide 21/44), the audience never has to move their eyes from your presentation, but if it's not on there, then the listener may switch on their phone, see the time, but also see a tweet from a good friend and think to respond. At that point you may lose your audience member and not get them back.
Good speakers are public figures. They are authors, actors, and performers. Just like the most famous of those, people will follow you. These people are fans. On twitter, they will follow you. IRL, they may follow you. You may see them at every talk. They're probably not even stalkers. Note that you might be a huge inspiration to them, and they may be starstruck. Yes, over little ol' you. Embrace that. These are like-minded folks in your tribe.
I know all time slots are not created equal. Speaking over the lunch hour, or maybe very early in the morning when people were out the night before, or maybe last in the afternoon, when everyone's brains are hurting and full - yeah, I get that those time slots have issues. You may not get the full room you'd hoped for.
But never say that to the audience that is there. They have given up their lunch or come exhausted to give you the gift of their time and attention. To learn from you. Don't insult them. Remember, you are happy to be there. You're changing their lives.
In a recent presentation, I heard a speaker introduce a bit of their presentation by saying "This isn't very exciting." Really? Then why include it? Actually, I haven't seen it, so it's totally exciting, to me. Don't tell me what I should and shouldn't find exciting either. I'm in tech. I like lots of weird things. I like to learn, too. I'm interested.
Also, your material was good enough to get you a speaker slot to talk to your peers. Never sell your material short.
I've heard speakers actively criticize other speakers. As an audience member, that does nothing for me. But praising other speakers? I love when a speaker does that. I'm always looking for great new speakers to check out. Guide your listeners toward other great speakers.
Given that your material may create fans, followers, or folks with interest in what you have to say, make yourself available. If you Twitter, then offer your handle. If you have material to offer from your presentation, make sure you let the audience know how to reach your material, whether it's on Slideshare, GitHub, whatever, make sure you offer all links in some kind of url shortener.
Those are just some tips I wanted to share with speakers and prospective speakers. Given that the Call for Speakers for That Conference opens up soon. Get out there and speak!
I have spoken at precisely one user group and one community conference. I love community, however, and want to offer my perspective on what makes a great speaker from a frequent audience member. These are things I strive to do in my talks, but still don't have down. Each one of these tips has personally affected my enjoyment (positive or negative) of a talk I've been to in the past year.
That Conference call for speakers opens in about a week, so you may not be at this stage yet, getting your abstract ready and such, but keep this handy for when you're preparing for your big day on the conference stage.
Practice, Practice, Practice.
Never Complain About the Conference Setup.
Here's the thing: the audience doesn't care about excuses. They don't need to hear why things aren't smooth. Make them smooth. If you can't, move on as best you can. The show must go on.
Give the Audience a Progress Bar.
Never Forget Your Fans.
Never Complain About Your Time Slot.
But never say that to the audience that is there. They have given up their lunch or come exhausted to give you the gift of their time and attention. To learn from you. Don't insult them. Remember, you are happy to be there. You're changing their lives.
Never Diminish Your Subject Matter.
Also, your material was good enough to get you a speaker slot to talk to your peers. Never sell your material short.
Don't Recognize Comings and Goings.
I've seen lots of speakers do it. It's like a reverse heckle of people who are coming in late. "Thanks for gracing us with your presence." Or "Ok, now that you're here, we can start." No kidding, I've heard people say this. People coming and going may be obeying the Law of Two Feet and coming from another sessions they knew wasn't going to be as awesome as yours. Maybe they are leaving yours because they thought it was going to be more basic than you're aiming. Maybe all the bacon has their stomach in a knot. You don't know, so don't give comings and goings any recognition.
There is an exception to the rule. If you have a packed house (good for you!), people who walk in may assume there are no more seats left and stand against the wall or sit on the floor. It's reasonable to interrupt what you're saying to let people know that they can come closer and fill in gaps up nearer the speaker.
Don't Criticize Other Speakers.
Make It Easy to Follow Up.
Those are just some tips I wanted to share with speakers and prospective speakers. Given that the Call for Speakers for That Conference opens up soon. Get out there and speak!
Tuesday, November 18, 2014
The Importance of Science Education
This week is American Education Week, and since I am a strong believer in education as the foundation of not only a strong culture, but also a strong economic future. I volunteered to spend most of yesterday speaking to the 7th grade science classes at my son's Junior High School. For five periods, I basically got to impart some of my experiences to the future minds of tomorrow. Because I put this together in a very short amount of time, I started with a transcript of what I wanted to say to them. I did veer off in places, but this is very close to what I said to them. I thought I would share.
-- transcript follows --
Hi, everyone, and as Mrs. Lang said, I am Dr. Davis. I was trained as a scientist, and I'm here today for American Education Week to give you a little insight into how science education shaped my life, gave me opportunities, and why science is important and relevant to us all.
It started with astronomy.
When I was a kid, we didn't have the level of distractions that I think maybe kids do today. But what the heck do I know, I'm an adult?
It was all about staring up at the sky and wondering what's out there, and why.
While I was growing up, space travel was in its ascendancy. The space shuttle program had started in 1976, and there was quite a bit of hype about it. We watched the launches in school, and every flight was pretty amazing.
So it was pretty easy to be a kid interested in science. We were sending people into freakin' space!
So I was always fascinated with science. By the time I was your age, I had a computer that I worked with. No kidding. My parents really didn't have a clue what it was, they just knew I was kinda interested in geeky stuff, so they gave me a computer. So I started learning to program a bit. Nothing but little bits of logic here and there. Text-based adventure games. And of course, I played a lot of video games on that thing.
And chemistry. Boy was I fascinated by chemistry. I don't know what they do these days in school. Do you do chemistry? You know where you take one kind of thing, and add it to another kind of thing, and then the next thing you know, it's this completely third thing? It's basically magic, if you don't understand chemistry. You've got some hydrogen, and you get a flame near it, and BOOM! There's an explosion. And what's really happening? You've got a bunch of hydrogen gas in the presence of oxygen gas, and then give it a little energy to get the reaction going, and boom! And it doesn't disappear, that's the crazy thing. It becomes water vapor!
If you think about it, that's a bit like smashing a kitten into a puppy and seeing a bunny come out! Seriously, this is what people think of when they think of magic! Except it's not exactly a hanky turning into a dove...
So I really liked science from these three angles.
So, hey, here's all this crazy cool stuff that happens in the world. We've got the far reaches of the universe we're looking up at and exploring. We've got machines that you can tell what to do and they do it; I can't get my kids to do what I want, but I can tell a computer what to do! We've got the power of transmogrification in our hands!
Well, don't you want to know why? Well, we can kind of explain it with some references to some abstract concepts, but if you really want to get precise, and science does, we have to speak in a precise, logical language, and that, generally, is math.
Strangely enough, most schools kinda teach it backwards from what you'd think. They give you all this math from a very early age. Add this, subtract this, check out this equation, solve this system of linear equations. Sines, cosines, tangents, geometric proofs with their smug little theorems and postulates, and you're like, "Well, what am I going to do with this?" And they pack your head with a bunch of techniques for solving problems you generally don't have.
You know, beyond the situation where you have 25 apples and your sister eats 17, and you're left wondering... you know, who eats 17 apples? How could this number manipulation seriously have anything to do with real life?
So where they miss all the kids in school is that they never tell you why you're doing math. Sure, everyone needs to be able to add and subtract. That's easy and obvious stuff. You get paid for doing some work for someone? Bank account goes up by that amount. Want to pick up the latest call of duty game? Do you have enough money? You better be able to subtract.
But that other junk? When are you ever going to use that, right?
Well one place that you most definitely use it is to talk about science. See, math is kinda the language of science. Science starts with curiosity, asking question about what, why, how much, when. Science, at its core, is natural philosophy, a curiosity about the world around you and why it behaves the way it does. It's a systematically defined methodology for asking questions and getting answers. It's not really a belief system. It's a formally developed way of getting at the causes behind the things you see in nature.
And inventing new ones!
One of the major pushes in science in the last century. You know, my century, the 1900's. Ha ha... I'm old. One of the major pushes was to explore the tiniest of the tiny. While some of mankind was pushing through the atmosphere and thinking about worlds beyond our own home, some of us were pushing into the deepest reaches of inner space.
Around 1900, just over 100 years ago, we'd just discovered the electron. It took about 25 more years, another quarter century to discover the proton. And then we started getting particle happy. We found the neutron, and then we thought we were done. But nope!
So we discover more and more particles that make up those things. Quarks! Up, down, strange, charm, bottom, top. Whole families of particles that we can't see! So science really runs the gamut from the very large to the very small. From the very current, to the oldest times imaginable.
Well, I was pretty good at math, and I kept challenging myself to do harder and harder things. In high school, at least for me, science started to get really specific. An entire year of Biology, an entire year of Chemistry, but when I got to Physics. Whew. Man, when I got to Physics, I was hooked.
I mean, here's a discipline of science that basically aims to explain everything. From the fundamental interactions of the smallest particles to the gravitational attractions and atomic reactions that govern motions and explosions in the farthest reaches of space, Physics has you covered. No other branch of science is this universal, in my opinion. Chemistry is very localized to things that are above a certain size. Biology is limited to living things. Astronomy is limited to the motion of objects through space. And they're all kind of weird specializations of what Physics does.
At least that's how I read it at the time. So in college, I go for a double major. You guys know what college is, right? And what majors are? That's where you kinda pick what type of thing you want to do for the rest of your life.
But I didn't know what I want to be when I grew up. And in a lot of ways I still don't, I suppose, but I knew I wanted to have a solid foundation for whatever I wanted to do. And to me, that meant science, since it teaches you not what to think, but how to ask questions and how to find answers. There's no better framework for asking questions out there. We have refined these techniques over thousands of years and they haven't changed. It is the absolute bedrock for critical thinking.
So I set myself up for a double major in math and physics. Thing is, when you take one of the so-called hard sciences like physics, you need a lot of math to understand it. Like I said, math is the language of science, and to push your understanding of something, you have to get better at "talking" about it, so you take a lot of math classes, too.
And then I got to the end of college, and looked around and thought to myself, "Well, I'm really not ready to go get a job yet. I think I should keep studying more science and get super good at it." My goal was actually to become a university professor, because science education was really important to me, and as a tutor, I enjoyed helping other people learn, too. And to do that, you really need a Ph. D. in the subject you want to teach.
But I was hedging a bit, see? I was not sure that I would be able to be a professor. There's only so many universities, and so many openings, so I wanted to make sure that I could find employment no matter what happened, so I reasoned that instead of going on and getting a Ph. D. in math, it would be better to continue on in Physics.
So I did my Ph. D. research... That's the thing about getting a Ph. D. is that you have to contribute to science first before it will contribute to you. Science is kind of selfish that way. You have to contribute some original research, something that someone has never studied before, before you are considered to have a doctorate in a field. I did my Ph. D. research at Fermilab, right here in our backyard.
Have you ever been to Fermilab? Even on a tour? It's pretty amazing. It's this huge particle collider where they collide protons and antiprotons (antimatter protons, you know) like a half million times a second at the center of these detectors that are five stories tall! These infinitesimal itty-bitty no-see-um particles banging together so hard they light up a five story detector half a million times a second. Again, we're talking real world no-nonsense freaking magic here. The ring they use to accelerate these particles towards each other is three miles around!
So yeah, I studied bottom quark production at Fermilab. I wrote a Ph. D. thesis and got my doctorate. But as I was getting to an end, I noticed science funding drying up in the United States. Funny thing about doing science these days, is that to do research, you have to be fairly good with computers. There's no getting around it. Scientists can't do that much these days with just a protractor and a pencil. Sure if the power went out one day, they'd still muddle through, but computers are a huge part of life.
Think about how much data is generated at Fermilab. Five hundred thousand interactions every second, running for, what three years? How many seconds are there in a year? Kids, you should know this off the top of your head. It's something like pi times 10 to the 7th seconds per year. Times three years. That's a lot of data. No way we're writing that out in a notebook.
So right about the time I was graduating, the tech boom was happening. 1999, still just before many of you were born, right? Well, the web was really blowing up. Lots of people needed people who could write code (that is... program) on computers to write web pages, set up databases, etc. At Fermilab, when the detector is taking data, it's not like you're writing the data points down as they come in. Nope, to get at what really happens, you write lots of code. Eight to ten hours a day, every day. Doing cool data analysis, plotting graphs, trying to play detective and explain what's going on.
I figured that I could definitely help out in the programming world, so I took my Ph. D. and jumped into the world of business. Thing is, the world of business is a totally different animal, but they still rely on people who can think very logically and rationally. They need people that can do data analysis. They need lots of people.
And those people can be compensated quite nicely for their efforts, because especially in this country, there's kind of a shortage of people who can think logically. I don't know if you know much about economics, but when you don't have much supply of something, and there's a pretty high demand, the price of that thing goes up. Every company nowadays needs people who can think scientifically at least somewhere on their staff. And there's simply not enough people that can do it.
And realize, that I'm not talking about an innate ability. Everyone can think scientifically if you put in some effort. In some ways it's a lot easier than being creative, because it's applying a very specific set of rules, a very specific set of training. And those are all things that can be learned through effort and repetition.
So in 1999 I took my first non-science job as a software developer, though I suppose you could say that's still computer science in some way. Ever since I have worked in the fields of insurance, finance, investing, and banking. These fields not only need people that can write code, but people that also understand the sometimes complicated math and statistics that are used in those industries.
Could I have done all these things without a science education and background? Maybe. But the path would have been a lot harder, I think.
Couple parting thoughts on the current state of jobs and science education: do you have to wait to college to learn these skills. No. Not at all. Go to code.org. There's an event coming up December 8, where hopefully your teachers in tech will do this with you. If not, ask them why not. Like today, ask them why not.
Also computing people love to share. There is no easier field to get into at any age. Free tutorials about how to program are everywhere. Write web pages, write simple games. I work with a conference called That Conference, and we have a kids track every year that shows kids lots of cool technologies. This year, we had an eleven year old girl showing other kids how to program. Eleven years old and gave her first conference talk. So what are you waiting for?
All right, so let's talk about science now. Today. What have we done since those days I used to look up at the sky as a kid?
How about I tell you about just two of our most recent awesome achievements? Hopefully you've heard about this stuff in the news or from your mom and dad, since they're kind of a big deal. Real envelope pushing kind of stuff.
10/25 - Alan Eustace - he attaches himself to a helium balloon and floats himself 25 miles above the surface of the planet. That's like more than here to the Morton Arboretum, and he went up, just him and a helium filled balloon, straight up! When he was 25 miles off the ground, he says to himself... "Okay let's do this thing!" and I believe a small explosive charge separated him from his balloon, and he started to fall. On the way down, his body was going more than 800 miles per hour.
To give you a kind of comparison, when you fly on a plane, it's like between 500 and 600 miles an hour. So he was basically going 30% faster than an airplane. Just him himself. No power, no rockets, just the awesome force of this giant lava-filled rock we're sitting on yanking him from his high altitude towards itself.
On his way down, he was going so fast he created a sonic boom that you could hear from the ground.
18000 feet, and his parachute deploys. He floats safely to the ground, having broken a record that someone had set only two years prior with a similar stunt. Now these aren't rednecks with a bunch of Wal-Mart balloons tied to a lawn chair. These are professionals, and both guys who did this had teams of scientists creating their gear to safely get them both up and back again.
So that's just a few weeks ago. Science!
Amazingly enough, we've got another story that was just last week. Anyone know about this? It was pretty huge news in the scientific community, and maybe you should get yourself plugged in if you haven't heard of it.
Do y'all know what a comet is? Like what differentiates a comet from a planet? Planets generally orbit in circles around the sun and are generally pretty large. Comets, in comparison, are smaller and orbit the sun at a crazy oblique orbit.
The Rosetta spacecraft was launched in March of 2004. Now this wasn't our spacecraft. This was from the European Space Agency, but 2004. You folks were only a couple years old at the time! The goal of this spacecraft was to be the first spacecraft to orbit a comet. It's supposed to orbit this comet called 67P for 17 months. And it just arrive there on August 6th, and entered orbit September 10th. It orbits at a distance of 19 mi away. That's closer than that Alan Eustace fellow was to earth, for a sense of scale.
But that's not as crazy as the story gets. The Rosetta spacecraft is an orbiter. But it was equipped with a lander, too! So on November 12. I'm not kidding you, it was totes just last week, like just a couple days ago, the lander Philae touched down on the surface of the comet. Now this comet is about halfway between the orbits of Mars and Jupiter, so it's pretty far away. It's so far away that its signal takes a half hour to reach us. And we just dropped a 220 pound robot onto a rock that's on the other side of the sun.
Now if that's not cool, I don't know what is. Science!
Really, what I can tell you is that my journey started with the outermost reaches of the universe, looking toward the stars and wondering what was out there. Sprinkle a little bit of science education in there, and I ended up researching the smallest known bits of matter, wondering what the heck was in there.
I want to finish up by giving you a couple resources on continued education. People to add to your twitter feed, or even watch out for or whatever.
Seth MacFarlane, yes, the guy who created Family Guy, is an executive producer to the show Cosmos, starring famous astrophysicist Neil DeGrasse Tyson. Bill Nye the Science Guy is another one who campaigns very publicly for science education. He had on an amazing show years ago. My favorite episode was the "Eye holes filled with glue" episode, which you can now find on YouTube.com if you search for it enough.
So I want to give a shout out to those people that dedicate their lives in a very public way, but I also want to give major props to all science teachers out there. Mrs. Lang deserves your utmost respect for spending her life giving all y'all a leg up learning science, as it's one of the most powerful and enabling things you can learn, both for yourself and pushing the entire human race forwards. Without science, we wouldn't have such amazing things around us. Remember, it's better to shoot for the moon and miss, than to shoot for mediocrity and make it.
I want to thank you for your time and attention today. I know it's weird having someone come in and take over the class for a while, so I thank you for your attention.
-- transcript follows --
Hi, everyone, and as Mrs. Lang said, I am Dr. Davis. I was trained as a scientist, and I'm here today for American Education Week to give you a little insight into how science education shaped my life, gave me opportunities, and why science is important and relevant to us all.
It started with astronomy.
When I was a kid, we didn't have the level of distractions that I think maybe kids do today. But what the heck do I know, I'm an adult?
It was all about staring up at the sky and wondering what's out there, and why.
While I was growing up, space travel was in its ascendancy. The space shuttle program had started in 1976, and there was quite a bit of hype about it. We watched the launches in school, and every flight was pretty amazing.
So it was pretty easy to be a kid interested in science. We were sending people into freakin' space!
So I was always fascinated with science. By the time I was your age, I had a computer that I worked with. No kidding. My parents really didn't have a clue what it was, they just knew I was kinda interested in geeky stuff, so they gave me a computer. So I started learning to program a bit. Nothing but little bits of logic here and there. Text-based adventure games. And of course, I played a lot of video games on that thing.
And chemistry. Boy was I fascinated by chemistry. I don't know what they do these days in school. Do you do chemistry? You know where you take one kind of thing, and add it to another kind of thing, and then the next thing you know, it's this completely third thing? It's basically magic, if you don't understand chemistry. You've got some hydrogen, and you get a flame near it, and BOOM! There's an explosion. And what's really happening? You've got a bunch of hydrogen gas in the presence of oxygen gas, and then give it a little energy to get the reaction going, and boom! And it doesn't disappear, that's the crazy thing. It becomes water vapor!
If you think about it, that's a bit like smashing a kitten into a puppy and seeing a bunny come out! Seriously, this is what people think of when they think of magic! Except it's not exactly a hanky turning into a dove...
So I really liked science from these three angles.
So, hey, here's all this crazy cool stuff that happens in the world. We've got the far reaches of the universe we're looking up at and exploring. We've got machines that you can tell what to do and they do it; I can't get my kids to do what I want, but I can tell a computer what to do! We've got the power of transmogrification in our hands!
Well, don't you want to know why? Well, we can kind of explain it with some references to some abstract concepts, but if you really want to get precise, and science does, we have to speak in a precise, logical language, and that, generally, is math.
Strangely enough, most schools kinda teach it backwards from what you'd think. They give you all this math from a very early age. Add this, subtract this, check out this equation, solve this system of linear equations. Sines, cosines, tangents, geometric proofs with their smug little theorems and postulates, and you're like, "Well, what am I going to do with this?" And they pack your head with a bunch of techniques for solving problems you generally don't have.
You know, beyond the situation where you have 25 apples and your sister eats 17, and you're left wondering... you know, who eats 17 apples? How could this number manipulation seriously have anything to do with real life?
So where they miss all the kids in school is that they never tell you why you're doing math. Sure, everyone needs to be able to add and subtract. That's easy and obvious stuff. You get paid for doing some work for someone? Bank account goes up by that amount. Want to pick up the latest call of duty game? Do you have enough money? You better be able to subtract.
But that other junk? When are you ever going to use that, right?
Well one place that you most definitely use it is to talk about science. See, math is kinda the language of science. Science starts with curiosity, asking question about what, why, how much, when. Science, at its core, is natural philosophy, a curiosity about the world around you and why it behaves the way it does. It's a systematically defined methodology for asking questions and getting answers. It's not really a belief system. It's a formally developed way of getting at the causes behind the things you see in nature.
And inventing new ones!
One of the major pushes in science in the last century. You know, my century, the 1900's. Ha ha... I'm old. One of the major pushes was to explore the tiniest of the tiny. While some of mankind was pushing through the atmosphere and thinking about worlds beyond our own home, some of us were pushing into the deepest reaches of inner space.
Around 1900, just over 100 years ago, we'd just discovered the electron. It took about 25 more years, another quarter century to discover the proton. And then we started getting particle happy. We found the neutron, and then we thought we were done. But nope!
So we discover more and more particles that make up those things. Quarks! Up, down, strange, charm, bottom, top. Whole families of particles that we can't see! So science really runs the gamut from the very large to the very small. From the very current, to the oldest times imaginable.
Well, I was pretty good at math, and I kept challenging myself to do harder and harder things. In high school, at least for me, science started to get really specific. An entire year of Biology, an entire year of Chemistry, but when I got to Physics. Whew. Man, when I got to Physics, I was hooked.
I mean, here's a discipline of science that basically aims to explain everything. From the fundamental interactions of the smallest particles to the gravitational attractions and atomic reactions that govern motions and explosions in the farthest reaches of space, Physics has you covered. No other branch of science is this universal, in my opinion. Chemistry is very localized to things that are above a certain size. Biology is limited to living things. Astronomy is limited to the motion of objects through space. And they're all kind of weird specializations of what Physics does.
At least that's how I read it at the time. So in college, I go for a double major. You guys know what college is, right? And what majors are? That's where you kinda pick what type of thing you want to do for the rest of your life.
But I didn't know what I want to be when I grew up. And in a lot of ways I still don't, I suppose, but I knew I wanted to have a solid foundation for whatever I wanted to do. And to me, that meant science, since it teaches you not what to think, but how to ask questions and how to find answers. There's no better framework for asking questions out there. We have refined these techniques over thousands of years and they haven't changed. It is the absolute bedrock for critical thinking.
So I set myself up for a double major in math and physics. Thing is, when you take one of the so-called hard sciences like physics, you need a lot of math to understand it. Like I said, math is the language of science, and to push your understanding of something, you have to get better at "talking" about it, so you take a lot of math classes, too.
And then I got to the end of college, and looked around and thought to myself, "Well, I'm really not ready to go get a job yet. I think I should keep studying more science and get super good at it." My goal was actually to become a university professor, because science education was really important to me, and as a tutor, I enjoyed helping other people learn, too. And to do that, you really need a Ph. D. in the subject you want to teach.
But I was hedging a bit, see? I was not sure that I would be able to be a professor. There's only so many universities, and so many openings, so I wanted to make sure that I could find employment no matter what happened, so I reasoned that instead of going on and getting a Ph. D. in math, it would be better to continue on in Physics.
So I did my Ph. D. research... That's the thing about getting a Ph. D. is that you have to contribute to science first before it will contribute to you. Science is kind of selfish that way. You have to contribute some original research, something that someone has never studied before, before you are considered to have a doctorate in a field. I did my Ph. D. research at Fermilab, right here in our backyard.
Have you ever been to Fermilab? Even on a tour? It's pretty amazing. It's this huge particle collider where they collide protons and antiprotons (antimatter protons, you know) like a half million times a second at the center of these detectors that are five stories tall! These infinitesimal itty-bitty no-see-um particles banging together so hard they light up a five story detector half a million times a second. Again, we're talking real world no-nonsense freaking magic here. The ring they use to accelerate these particles towards each other is three miles around!
So yeah, I studied bottom quark production at Fermilab. I wrote a Ph. D. thesis and got my doctorate. But as I was getting to an end, I noticed science funding drying up in the United States. Funny thing about doing science these days, is that to do research, you have to be fairly good with computers. There's no getting around it. Scientists can't do that much these days with just a protractor and a pencil. Sure if the power went out one day, they'd still muddle through, but computers are a huge part of life.
Think about how much data is generated at Fermilab. Five hundred thousand interactions every second, running for, what three years? How many seconds are there in a year? Kids, you should know this off the top of your head. It's something like pi times 10 to the 7th seconds per year. Times three years. That's a lot of data. No way we're writing that out in a notebook.
So right about the time I was graduating, the tech boom was happening. 1999, still just before many of you were born, right? Well, the web was really blowing up. Lots of people needed people who could write code (that is... program) on computers to write web pages, set up databases, etc. At Fermilab, when the detector is taking data, it's not like you're writing the data points down as they come in. Nope, to get at what really happens, you write lots of code. Eight to ten hours a day, every day. Doing cool data analysis, plotting graphs, trying to play detective and explain what's going on.
I figured that I could definitely help out in the programming world, so I took my Ph. D. and jumped into the world of business. Thing is, the world of business is a totally different animal, but they still rely on people who can think very logically and rationally. They need people that can do data analysis. They need lots of people.
And those people can be compensated quite nicely for their efforts, because especially in this country, there's kind of a shortage of people who can think logically. I don't know if you know much about economics, but when you don't have much supply of something, and there's a pretty high demand, the price of that thing goes up. Every company nowadays needs people who can think scientifically at least somewhere on their staff. And there's simply not enough people that can do it.
And realize, that I'm not talking about an innate ability. Everyone can think scientifically if you put in some effort. In some ways it's a lot easier than being creative, because it's applying a very specific set of rules, a very specific set of training. And those are all things that can be learned through effort and repetition.
So in 1999 I took my first non-science job as a software developer, though I suppose you could say that's still computer science in some way. Ever since I have worked in the fields of insurance, finance, investing, and banking. These fields not only need people that can write code, but people that also understand the sometimes complicated math and statistics that are used in those industries.
Could I have done all these things without a science education and background? Maybe. But the path would have been a lot harder, I think.
Couple parting thoughts on the current state of jobs and science education: do you have to wait to college to learn these skills. No. Not at all. Go to code.org. There's an event coming up December 8, where hopefully your teachers in tech will do this with you. If not, ask them why not. Like today, ask them why not.
Also computing people love to share. There is no easier field to get into at any age. Free tutorials about how to program are everywhere. Write web pages, write simple games. I work with a conference called That Conference, and we have a kids track every year that shows kids lots of cool technologies. This year, we had an eleven year old girl showing other kids how to program. Eleven years old and gave her first conference talk. So what are you waiting for?
All right, so let's talk about science now. Today. What have we done since those days I used to look up at the sky as a kid?
How about I tell you about just two of our most recent awesome achievements? Hopefully you've heard about this stuff in the news or from your mom and dad, since they're kind of a big deal. Real envelope pushing kind of stuff.
10/25 - Alan Eustace - he attaches himself to a helium balloon and floats himself 25 miles above the surface of the planet. That's like more than here to the Morton Arboretum, and he went up, just him and a helium filled balloon, straight up! When he was 25 miles off the ground, he says to himself... "Okay let's do this thing!" and I believe a small explosive charge separated him from his balloon, and he started to fall. On the way down, his body was going more than 800 miles per hour.
To give you a kind of comparison, when you fly on a plane, it's like between 500 and 600 miles an hour. So he was basically going 30% faster than an airplane. Just him himself. No power, no rockets, just the awesome force of this giant lava-filled rock we're sitting on yanking him from his high altitude towards itself.
On his way down, he was going so fast he created a sonic boom that you could hear from the ground.
18000 feet, and his parachute deploys. He floats safely to the ground, having broken a record that someone had set only two years prior with a similar stunt. Now these aren't rednecks with a bunch of Wal-Mart balloons tied to a lawn chair. These are professionals, and both guys who did this had teams of scientists creating their gear to safely get them both up and back again.
So that's just a few weeks ago. Science!
Amazingly enough, we've got another story that was just last week. Anyone know about this? It was pretty huge news in the scientific community, and maybe you should get yourself plugged in if you haven't heard of it.
Do y'all know what a comet is? Like what differentiates a comet from a planet? Planets generally orbit in circles around the sun and are generally pretty large. Comets, in comparison, are smaller and orbit the sun at a crazy oblique orbit.
The Rosetta spacecraft was launched in March of 2004. Now this wasn't our spacecraft. This was from the European Space Agency, but 2004. You folks were only a couple years old at the time! The goal of this spacecraft was to be the first spacecraft to orbit a comet. It's supposed to orbit this comet called 67P for 17 months. And it just arrive there on August 6th, and entered orbit September 10th. It orbits at a distance of 19 mi away. That's closer than that Alan Eustace fellow was to earth, for a sense of scale.
But that's not as crazy as the story gets. The Rosetta spacecraft is an orbiter. But it was equipped with a lander, too! So on November 12. I'm not kidding you, it was totes just last week, like just a couple days ago, the lander Philae touched down on the surface of the comet. Now this comet is about halfway between the orbits of Mars and Jupiter, so it's pretty far away. It's so far away that its signal takes a half hour to reach us. And we just dropped a 220 pound robot onto a rock that's on the other side of the sun.
Now if that's not cool, I don't know what is. Science!
Really, what I can tell you is that my journey started with the outermost reaches of the universe, looking toward the stars and wondering what was out there. Sprinkle a little bit of science education in there, and I ended up researching the smallest known bits of matter, wondering what the heck was in there.
I want to finish up by giving you a couple resources on continued education. People to add to your twitter feed, or even watch out for or whatever.
Seth MacFarlane, yes, the guy who created Family Guy, is an executive producer to the show Cosmos, starring famous astrophysicist Neil DeGrasse Tyson. Bill Nye the Science Guy is another one who campaigns very publicly for science education. He had on an amazing show years ago. My favorite episode was the "Eye holes filled with glue" episode, which you can now find on YouTube.com if you search for it enough.
So I want to give a shout out to those people that dedicate their lives in a very public way, but I also want to give major props to all science teachers out there. Mrs. Lang deserves your utmost respect for spending her life giving all y'all a leg up learning science, as it's one of the most powerful and enabling things you can learn, both for yourself and pushing the entire human race forwards. Without science, we wouldn't have such amazing things around us. Remember, it's better to shoot for the moon and miss, than to shoot for mediocrity and make it.
I want to thank you for your time and attention today. I know it's weird having someone come in and take over the class for a while, so I thank you for your attention.
Tuesday, October 28, 2014
Oh, Soylent. Where Have You Been?
Sunday night our family spent about three hours preparing, cooking, and cleaning up a pretty big dinner. The entire time, I'm thinking, "This is madness. Why should this have to take so long and be such a chore?"
The short story is that I was missing my Soylent. I ate nothing but Soylent for a week a couple weeks back and documented that experience, and I found it rather freeing.
Pretty much every meal I've prepared since then, even juicing, has been an exercise in patience. I enjoy food prep. I really dislike food cleanup, and they kinda go hand in hand. I missed the simplicity of going to the fridge and pouring myself a glass of lunch.
Note: I was an early backer of Soylent. I love the concept, and despite the criticisms, it's working for me. My first batch was Soylent 1.0, and I really enjoyed the flavor and texture by the end of things.
I did become a subscriber. Once a month, a week's worth of Soylent will be dropped off at the house, meaning that I can enjoy a "Soylent day" about twice a week and be happy with my occasional vacation from the tyranny of cooking and cleaning up my own meals.
This new batch was Soylent 1.1, and they certainly are taking care of their repeat customers, as it shipped a week after I ordered it. New customers have to queue up for the stuff, while I get the leisure of the monthly subscription being delivered without fail.
So how does Soylent 1.1 stack up to the previous formulation? I have a couple reactions. One, the texture of the drink is a little smoother, as if the tiny oat flakes are more finely chopped. I am not sure I like this new mouthfeel. It makes the Soylent feel a little thinner than the previous version. Second, 1.1 is not nearly as sweet as the previous version. I heard it was made that way to be a little easier to flavor the way you want it, but I preferred the slightly more sweet variety.
I still feel it's kinda odd to want this liquid food. It seems crazy to me that the food I'm eating is being versioned like software, but overall, I find myself drawn to it. The gas we pass is still strong with this formulation, but I don't intend to do it more than a day at a time, so I don't expect it will reach the former levels of toxicity.
The short story is that I was missing my Soylent. I ate nothing but Soylent for a week a couple weeks back and documented that experience, and I found it rather freeing.
Pretty much every meal I've prepared since then, even juicing, has been an exercise in patience. I enjoy food prep. I really dislike food cleanup, and they kinda go hand in hand. I missed the simplicity of going to the fridge and pouring myself a glass of lunch.
Note: I was an early backer of Soylent. I love the concept, and despite the criticisms, it's working for me. My first batch was Soylent 1.0, and I really enjoyed the flavor and texture by the end of things.
I did become a subscriber. Once a month, a week's worth of Soylent will be dropped off at the house, meaning that I can enjoy a "Soylent day" about twice a week and be happy with my occasional vacation from the tyranny of cooking and cleaning up my own meals.
This new batch was Soylent 1.1, and they certainly are taking care of their repeat customers, as it shipped a week after I ordered it. New customers have to queue up for the stuff, while I get the leisure of the monthly subscription being delivered without fail.
So how does Soylent 1.1 stack up to the previous formulation? I have a couple reactions. One, the texture of the drink is a little smoother, as if the tiny oat flakes are more finely chopped. I am not sure I like this new mouthfeel. It makes the Soylent feel a little thinner than the previous version. Second, 1.1 is not nearly as sweet as the previous version. I heard it was made that way to be a little easier to flavor the way you want it, but I preferred the slightly more sweet variety.
I still feel it's kinda odd to want this liquid food. It seems crazy to me that the food I'm eating is being versioned like software, but overall, I find myself drawn to it. The gas we pass is still strong with this formulation, but I don't intend to do it more than a day at a time, so I don't expect it will reach the former levels of toxicity.
Tuesday, October 21, 2014
Where is the Marketplace for Part-time Work?
I know I've hit the subject of part-time tech work in the past. But that was over a year and a half ago. In tech, everything moves at the speed of light. As a result, you would expect that any question I would have had wayyyy back then would have been answered by now.
But... crickets.
I like to think there's no problem so big our development community can't figure a way out to solve it. We're an extremely well-educated and curious bunch. We have many entrepreneurs in our space. We have extremely diverse interested.
We've solved the problem of getting around town using spare capacity in cars (Uber), and solved the problem with staying somewhere else where there's spare capacity (AirBnB). And there's a question here about the legality of those.
Why then is it so difficult to manage the excess capacity in the world of development? I don't know of a single development team that doesn't have lower-priority tasks that need working on, while the full-time, primary employees and contractors do the heavy lifting. Things like fixing the build server, updating installed dev tools with new versions, doing low-priority bug fixes that keep your site from looking really polished.
If I were a product team manager, I would love to have access to a part-time off-hours person that could pick up some of these small tasks and run with them independently and check them in, fully tested.
But it's weird. I hear nothing on the part-time work front. I do see the occasional developer wondering, as I do, about the possibility of moonlighting, but all I ever hear as answers is "Have you heard of oDesk, eLance, freelancer.com, etc.?"
I have heard of those, but serious articles warn against being either a client or a developer on one of those sites. The warnings make it all sound as if it's a big scam.
Furthermore, this whole things seems like a good consulting model. If you're a consulting company, why not have some extra folks on the bench to do short-term part-time staff aug at lower cost to your clients? A way to scale up and down when you don't need a full FTE to get some things done? Consulting agencies, have you considered doing this?
I'm still focused on why we're able to solve spare car and space capacity with technology, but we can't do the same with technologists. Is it that it's too hard to commoditize development work? It's easy to specify a bedroom or a space in a car, but not a build system, so it's hard to figure a price for the spare capacity?
I often hear as an answer to the "I've got some time evenings and weekends, how can I leverage my skills to do a little work and get compensated?" question: "If you've got extra time, there's always open source frameworks begging for extra help getting features implemented. Why not do that?" Sure, there's a lot of things I can do, technical and otherwise, if I consider volunteering an option. But when I'm looking to trade spare time for money, it seems that the well dries up.
What do you think? Feel free to drop a line in the comments section below.
But... crickets.
I like to think there's no problem so big our development community can't figure a way out to solve it. We're an extremely well-educated and curious bunch. We have many entrepreneurs in our space. We have extremely diverse interested.
We've solved the problem of getting around town using spare capacity in cars (Uber), and solved the problem with staying somewhere else where there's spare capacity (AirBnB). And there's a question here about the legality of those.
Why then is it so difficult to manage the excess capacity in the world of development? I don't know of a single development team that doesn't have lower-priority tasks that need working on, while the full-time, primary employees and contractors do the heavy lifting. Things like fixing the build server, updating installed dev tools with new versions, doing low-priority bug fixes that keep your site from looking really polished.
If I were a product team manager, I would love to have access to a part-time off-hours person that could pick up some of these small tasks and run with them independently and check them in, fully tested.
But it's weird. I hear nothing on the part-time work front. I do see the occasional developer wondering, as I do, about the possibility of moonlighting, but all I ever hear as answers is "Have you heard of oDesk, eLance, freelancer.com, etc.?"
I have heard of those, but serious articles warn against being either a client or a developer on one of those sites. The warnings make it all sound as if it's a big scam.
Furthermore, this whole things seems like a good consulting model. If you're a consulting company, why not have some extra folks on the bench to do short-term part-time staff aug at lower cost to your clients? A way to scale up and down when you don't need a full FTE to get some things done? Consulting agencies, have you considered doing this?
I'm still focused on why we're able to solve spare car and space capacity with technology, but we can't do the same with technologists. Is it that it's too hard to commoditize development work? It's easy to specify a bedroom or a space in a car, but not a build system, so it's hard to figure a price for the spare capacity?
I often hear as an answer to the "I've got some time evenings and weekends, how can I leverage my skills to do a little work and get compensated?" question: "If you've got extra time, there's always open source frameworks begging for extra help getting features implemented. Why not do that?" Sure, there's a lot of things I can do, technical and otherwise, if I consider volunteering an option. But when I'm looking to trade spare time for money, it seems that the well dries up.
What do you think? Feel free to drop a line in the comments section below.
Thursday, October 16, 2014
My Soylent Experiment : Post Soylent Blues
Ok, so as I was drinking my last bit of Soylent last night, I was struck dumb by a thought:
"I'm going to miss this little brown drink."
I could hardly believe it. I'd come to appreciate the texture and the flavor. I was actually enjoying every glass. I wasn't really interested in flavoring it differently, or making it into a shake. It was good enough for me. The gas problems were an annoyance, sure, and I did get a little heartburn toward the end, but for the most part, I was loving not worrying about food.
Contrast that with this morning. I got up, knowing that I was out of my beverage meal, and decided to chop up some mushrooms and crack some eggs into a skillet. 10 minutes into the process, I was thinking to myself, "Oh jeez, c'mon already! Why is this taking so long? Why am I dirtying all this cookware?"
And then eating. To stop what I was doing to pick up the bowl and fork and take a bite felt... well... awkward. It was a bit crazy to me to think that I'm stopping what I'm doing instead of taking a sip of a simple drink. Making and eating breakfast took about 20 minutes out of my day. And at the end of it, I wasn't really any more satisfied or happy about what I ate than when I drank my Soylent.
So yeah, I miss Soylent already.
It's pretty great that I got an email from them saying that my next shipment should be here in a few days, and it is the new formulation (Soylent 1.1), so maybe the gas will be less an issue. I won't do it 100% exclusively, but I'm sure happy to have the option to forego meal planning and still have something good.
"I'm going to miss this little brown drink."
I could hardly believe it. I'd come to appreciate the texture and the flavor. I was actually enjoying every glass. I wasn't really interested in flavoring it differently, or making it into a shake. It was good enough for me. The gas problems were an annoyance, sure, and I did get a little heartburn toward the end, but for the most part, I was loving not worrying about food.
Contrast that with this morning. I got up, knowing that I was out of my beverage meal, and decided to chop up some mushrooms and crack some eggs into a skillet. 10 minutes into the process, I was thinking to myself, "Oh jeez, c'mon already! Why is this taking so long? Why am I dirtying all this cookware?"
And then eating. To stop what I was doing to pick up the bowl and fork and take a bite felt... well... awkward. It was a bit crazy to me to think that I'm stopping what I'm doing instead of taking a sip of a simple drink. Making and eating breakfast took about 20 minutes out of my day. And at the end of it, I wasn't really any more satisfied or happy about what I ate than when I drank my Soylent.
So yeah, I miss Soylent already.
It's pretty great that I got an email from them saying that my next shipment should be here in a few days, and it is the new formulation (Soylent 1.1), so maybe the gas will be less an issue. I won't do it 100% exclusively, but I'm sure happy to have the option to forego meal planning and still have something good.
Wednesday, October 15, 2014
My Soylent Experiment: Days 6 and 7
After five days of writing, there's really not much to say. I've enjoyed having a break from cooking and cleaning. I've enjoyed losing a couple pounds.
I even enjoy the product, texture, and taste. I think it's a good product.
Ultimately, though, I could not exclusively live on Soylent. The "industrial sulfuric hate" gas that comes with the product is not worth it - not living with a family, and not even while living alone. I'm going to pick up some more and use it as a supplement, maybe doing a day or two a week on it, as it is really easy and it does taste good. My daughter had a sip and really liked it.
So thanks to everyone for their support. I think I am going to try to do a little juicing to augment my clean eating diet.
If you're interested in eating healthier, check out "Fat, Sick, and Nearly Dead" and "Hungry for Change" on Netflix.
I even enjoy the product, texture, and taste. I think it's a good product.
Ultimately, though, I could not exclusively live on Soylent. The "industrial sulfuric hate" gas that comes with the product is not worth it - not living with a family, and not even while living alone. I'm going to pick up some more and use it as a supplement, maybe doing a day or two a week on it, as it is really easy and it does taste good. My daughter had a sip and really liked it.
So thanks to everyone for their support. I think I am going to try to do a little juicing to augment my clean eating diet.
If you're interested in eating healthier, check out "Fat, Sick, and Nearly Dead" and "Hungry for Change" on Netflix.
Monday, October 13, 2014
My Soylent Experiment: Day 5
As I mentioned in my first post, I'm overweight and have an unhealthy relationship with food. It would be crazy not to think of Soylent as a possible weight loss vehicle. If it provides all my nutrition in a measured number of calories that also happens to be an amount of calories that would lead itself to weight loss, that'd be ok, right?
Yep. Fine with me. As I said before, that's not entirely the goal, but it is in the back of my mind. Weight loss, when you're overweight, is always in the back of your mind, to some extent.
That said, while I am certainly trying to make positive changes to my life by eating clean, and by trying Soylent, there's always the little motivation in the back of my head that life would be better if I were, say, 33% smaller.
Friend and That Conference colleague Clark Sell recommended that I watch a movie last week called "Fat, Sick, and Nearly Dead". It's on Netflix, so it wasn't a problem to watch it. Hulu seems to have it in its entirety online, so there's really no excuse not to check it out if you're interested.
The movie is about how two men with similar physical conditions used juicing to get down to healthy weights from fairly precarious health conditions. One bloke from Australia sets off on a 60-day juicing fast while driving across America, and while he's on his journey, meets another fella with similar conditions and convinces him to juice, too. They both lose a couple people's worth of weight over the course of years and become fairly well known for it.
But the juicing thing seems very Soylent-esque. And given the gas we pass on Soylent, possibly I'll try a juice cleanse in the near future. Be sure to read about it here if I do.
So, to the point, I appear to be down somewhere between 4-5 pounds over last week. That includes a day of liquid diet, however, but I do believe that calorie restriction is partially responsible for that. We'll see how things shake out.
Yep. Fine with me. As I said before, that's not entirely the goal, but it is in the back of my mind. Weight loss, when you're overweight, is always in the back of your mind, to some extent.
That said, while I am certainly trying to make positive changes to my life by eating clean, and by trying Soylent, there's always the little motivation in the back of my head that life would be better if I were, say, 33% smaller.
Friend and That Conference colleague Clark Sell recommended that I watch a movie last week called "Fat, Sick, and Nearly Dead". It's on Netflix, so it wasn't a problem to watch it. Hulu seems to have it in its entirety online, so there's really no excuse not to check it out if you're interested.
The movie is about how two men with similar physical conditions used juicing to get down to healthy weights from fairly precarious health conditions. One bloke from Australia sets off on a 60-day juicing fast while driving across America, and while he's on his journey, meets another fella with similar conditions and convinces him to juice, too. They both lose a couple people's worth of weight over the course of years and become fairly well known for it.
But the juicing thing seems very Soylent-esque. And given the gas we pass on Soylent, possibly I'll try a juice cleanse in the near future. Be sure to read about it here if I do.
So, to the point, I appear to be down somewhere between 4-5 pounds over last week. That includes a day of liquid diet, however, but I do believe that calorie restriction is partially responsible for that. We'll see how things shake out.
Sunday, October 12, 2014
My Soylent Experiment: Day 4
One thing I didn't expect with this Soylent stuff, though a peek on their online forum confirms it's common, was the associated gas.
Note, I'm not talking about gas pains here. The issue is the actual emitted flatulence.
And it's a deal breaker, in my book, for a Soylent-only diet. Started to have problems with it on Day 3, but given my long term experience with flatus, I dismissed it. But as of today, there's no doubt as to the source.
And when I say deal-breaker, I mean deal-breaker. Until they get the formulation under control, there isn't anyone that's going to live with me while I am emitting these particular toxic clouds. They've been called "mustard gas" and "sulfarts" by folks on the forums. One person even said that "I've had to wash things several times to get the sulfur smell to go away." That, my friends, is a deal-breaker in action.
A couple of folks have suggested that the gas is coming from drinking it too rapidly. After all, 670 calories is not intended to be pounded down in 30 seconds, despite the ease of doing so. We'll see, as I'm trying to drink more slowly now. But I think that this particular effect leads me to the idea of drinking Soylent only part-time.
A couple parting thoughts for day 4.
I've given you my impressions, but I'm not the only one interested. See what other people have to say about Soylent and what the experience is like.
Note that there's been a lot written about the taste and the texture of this foodstuff. Some folks have had a bad experience. Some reviews have called it gross. One thing that's certain. The company continues to refine Soylent to make it better for everyone.
Note, I'm not talking about gas pains here. The issue is the actual emitted flatulence.
And it's a deal breaker, in my book, for a Soylent-only diet. Started to have problems with it on Day 3, but given my long term experience with flatus, I dismissed it. But as of today, there's no doubt as to the source.
And when I say deal-breaker, I mean deal-breaker. Until they get the formulation under control, there isn't anyone that's going to live with me while I am emitting these particular toxic clouds. They've been called "mustard gas" and "sulfarts" by folks on the forums. One person even said that "I've had to wash things several times to get the sulfur smell to go away." That, my friends, is a deal-breaker in action.
A couple of folks have suggested that the gas is coming from drinking it too rapidly. After all, 670 calories is not intended to be pounded down in 30 seconds, despite the ease of doing so. We'll see, as I'm trying to drink more slowly now. But I think that this particular effect leads me to the idea of drinking Soylent only part-time.
A couple parting thoughts for day 4.
I've given you my impressions, but I'm not the only one interested. See what other people have to say about Soylent and what the experience is like.
Note that there's been a lot written about the taste and the texture of this foodstuff. Some folks have had a bad experience. Some reviews have called it gross. One thing that's certain. The company continues to refine Soylent to make it better for everyone.
My Soylent Experiment: Day 3
Hm. Day 3. It's almost fallen away into the background. I'm not really thinking about eating. We had a lot of errands to run today, so I wasn't home much, and I'm just happy not to have so many dishes to do. I feel normal, and feel like I could probably continue drinking Soylent indefinitely. I don't have any intention to do that, but I have to say, it's ok for me, at least on day 3.
When I tell people I am trying to eat nothing but Soylent for a week, I get a lot of questions, and I thought I'd create a Frequently Asked Questions list.
Why would you do that?
Well, I have already explained this in detail, but it comes down to needing a way to keep food from taking over my life, a way to ensure I'm not taking in too many calories, and managing my time.
Wouldn't you miss chewing?
I haven't been drinking Soylent long enough to know about me personally. Maybe. But in the first few days, it's not been a big deal. I chew gum if I want to, but it really doesn't come up. You really do forget about eating a bit.
Wouldn't you miss flavor?
Well, I was on a pretty restrictive diet prior to starting Soylent, so it's not like I'm going from pizza and burgers to Soylent. I went from a pretty bland salt-free, sugar-free, dairy-free, low-carb eating plan to Soylent. I was already drinking protein shakes every day, so this doesn't feel that unnatural. Seriously, when you aren't going to eat or drink anything else, you stop thinking, "Hm... what do I feel hungry for?" You don't wonder what's going to be for dinner. It's a bit surreal for someone like me who would plan food days in advance.
This is all you eat/drink?
For the course of this week, this is the only nutrition I'm planning to have. If there's any issues where I feel I need to have something else, I will, but so far, that's not the intent. I do make decaf hot tea a few times a day. I drink water all day, too. I do both of these things on any average day anyway.
Are you ever going to eat food again?
According to the explicit goals of the folks behind Soylent, I shouldn't need to. The founder of the company appears to have had nothing but Soylent for at least a year. But I have no intent of eating nothing else for the rest of my life. That's not the point, either. Yes, this meal replacement is a possible food replacement, but my hope is to use it to simplify -- to have the occasional Soylent day, to ensure I'm not overdoing the calories.
Why would you subject yourself to such a restrictive diet?
I'd argue that we all make compromises when choosing what to eat. If we all ate what we wanted and only what tasted good, no one would ever eat broccoli. Sorry, broccoli, but you suck. This isn't a restrictive diet at all. I can eat whatever I want, whenever I want to. But I recognize that left to my own devices, I can't make the right choices. I'm choosing to explore this option for myself so that I can be healthy. Another arrow in my quiver, another bat-tool on the utility belt.
Isn't it unhealthy to eat just a bunch of chemicals?
The word "chemicals", like the word "toxins", is a relatively meaningless term. Everything we are and everything we consume, is made up of chemicals. There's a difference between Vitamin C (a chemical) and sulfuric acid, in terms of useful nutritional content, but make no mistake: everything you eat is a chemical. A vitamin extracted into a pure form in a lab doesn't mean it's different from that same vitamin naturally occurring in nature. I guess my point is: you shouldn't be scared into reacting based on scary-sounding name-calling.
But seriously, how is this possibly healthy?
I don't claim that it is. But there are people like me trying it out now, and a strong body of work should be forthcoming. I like articles like this one, that provide the collected data.
Why not drink Ensure, or Slim-Fast, or any of the other things that claim to be meal replacements?
Soylent isn't formulated to replace a meal, or keep you from dying when you have stomach issues that keep you from eating solid food. It's intended to be a theoretical replacement for food. Each serving doesn't have 100% of your daily value of vitamins. Each serving has a third of your daily calories, and each serving has a third of your recommended daily intake. Slim-Fast and Ensure are not the same thing. Check this thread for more information.
When I tell people I am trying to eat nothing but Soylent for a week, I get a lot of questions, and I thought I'd create a Frequently Asked Questions list.
Why would you do that?
Well, I have already explained this in detail, but it comes down to needing a way to keep food from taking over my life, a way to ensure I'm not taking in too many calories, and managing my time.
Wouldn't you miss chewing?
I haven't been drinking Soylent long enough to know about me personally. Maybe. But in the first few days, it's not been a big deal. I chew gum if I want to, but it really doesn't come up. You really do forget about eating a bit.
Wouldn't you miss flavor?
Well, I was on a pretty restrictive diet prior to starting Soylent, so it's not like I'm going from pizza and burgers to Soylent. I went from a pretty bland salt-free, sugar-free, dairy-free, low-carb eating plan to Soylent. I was already drinking protein shakes every day, so this doesn't feel that unnatural. Seriously, when you aren't going to eat or drink anything else, you stop thinking, "Hm... what do I feel hungry for?" You don't wonder what's going to be for dinner. It's a bit surreal for someone like me who would plan food days in advance.
This is all you eat/drink?
For the course of this week, this is the only nutrition I'm planning to have. If there's any issues where I feel I need to have something else, I will, but so far, that's not the intent. I do make decaf hot tea a few times a day. I drink water all day, too. I do both of these things on any average day anyway.
Are you ever going to eat food again?
According to the explicit goals of the folks behind Soylent, I shouldn't need to. The founder of the company appears to have had nothing but Soylent for at least a year. But I have no intent of eating nothing else for the rest of my life. That's not the point, either. Yes, this meal replacement is a possible food replacement, but my hope is to use it to simplify -- to have the occasional Soylent day, to ensure I'm not overdoing the calories.
Why would you subject yourself to such a restrictive diet?
I'd argue that we all make compromises when choosing what to eat. If we all ate what we wanted and only what tasted good, no one would ever eat broccoli. Sorry, broccoli, but you suck. This isn't a restrictive diet at all. I can eat whatever I want, whenever I want to. But I recognize that left to my own devices, I can't make the right choices. I'm choosing to explore this option for myself so that I can be healthy. Another arrow in my quiver, another bat-tool on the utility belt.
Isn't it unhealthy to eat just a bunch of chemicals?
The word "chemicals", like the word "toxins", is a relatively meaningless term. Everything we are and everything we consume, is made up of chemicals. There's a difference between Vitamin C (a chemical) and sulfuric acid, in terms of useful nutritional content, but make no mistake: everything you eat is a chemical. A vitamin extracted into a pure form in a lab doesn't mean it's different from that same vitamin naturally occurring in nature. I guess my point is: you shouldn't be scared into reacting based on scary-sounding name-calling.
But seriously, how is this possibly healthy?
I don't claim that it is. But there are people like me trying it out now, and a strong body of work should be forthcoming. I like articles like this one, that provide the collected data.
Why not drink Ensure, or Slim-Fast, or any of the other things that claim to be meal replacements?
Soylent isn't formulated to replace a meal, or keep you from dying when you have stomach issues that keep you from eating solid food. It's intended to be a theoretical replacement for food. Each serving doesn't have 100% of your daily value of vitamins. Each serving has a third of your daily calories, and each serving has a third of your recommended daily intake. Slim-Fast and Ensure are not the same thing. Check this thread for more information.
Saturday, October 11, 2014
My Soylent Experiment: Day 2
Well, I decided to start work about 45 minutes early today. Why?
I was full of energy. Energized in a way that I've not been in weeks.
I won't say it's the Soylent. I don't believe it's the Soylent. Statistically, I'm entitled to an energized day now and again.
All I can say is that it didn't prevent me from feeling great. 2000 calories yesterday, a day that included a 5k walk/run, and I don't feel tired, run down, or anything.
I'm not hungry either. Like I posted earlier, my immediately preceding diet set me up for success, however. It's pretty easy to go from a diet of nutritious food you don't like to a liquid diet where you're not thinking much about food.
About halfway through the day, I was about halfway through the pitcher. I took my normal lunch hour, but I didn't spend half of it scrambling for food. I got some extra chores done, putting away laundry and dishes so that's stuff I didn't have to do later.
I did get hungry around dinner time. Another glass of Soylent, however, and I was set for hours. I finished the last bit around 9 p.m. and prepared the pitcher for the next day.
One thing occurred to me today. Over the coming week, I will probably only dirty a handful of dishes. I won't spend any time cooking, cleaning up, or doing dishes for me at all (still will have to help out the family). If I were a bachelor and wanted to eat like this full time, I wouldn't need the following:
I was full of energy. Energized in a way that I've not been in weeks.
I won't say it's the Soylent. I don't believe it's the Soylent. Statistically, I'm entitled to an energized day now and again.
All I can say is that it didn't prevent me from feeling great. 2000 calories yesterday, a day that included a 5k walk/run, and I don't feel tired, run down, or anything.
I'm not hungry either. Like I posted earlier, my immediately preceding diet set me up for success, however. It's pretty easy to go from a diet of nutritious food you don't like to a liquid diet where you're not thinking much about food.
About halfway through the day, I was about halfway through the pitcher. I took my normal lunch hour, but I didn't spend half of it scrambling for food. I got some extra chores done, putting away laundry and dishes so that's stuff I didn't have to do later.
I did get hungry around dinner time. Another glass of Soylent, however, and I was set for hours. I finished the last bit around 9 p.m. and prepared the pitcher for the next day.
One thing occurred to me today. Over the coming week, I will probably only dirty a handful of dishes. I won't spend any time cooking, cleaning up, or doing dishes for me at all (still will have to help out the family). If I were a bachelor and wanted to eat like this full time, I wouldn't need the following:
- A dishwasher
- Huge amounts of china, silverware, glasses
- Large number of pots, pans, tupperware, kitchen gadgets
- Large number of cabinets to house all that extraneous stuff
- Anything more than a small nominal refrigerator
Now obviously, this is a thought experiment taken to extremes, but it has some useful applications. Life is not so much a hassle that I don't want a kitchen anymore, but what do you do when you don't have a kitchen? What if you live in a tiny house, where every last square foot of space counts? What if you live in a third-world nation, where power is spotty, and you don't have easy access to refrigeration? Soylent or similar formulations could be a real boon.
Anything different from the average is scary and weird. I've gotten some pretty weird responses to saying, "I wanna try that Soylent stuff." But remember, everything that we do everyday was once new and decried as a stupid fad.
Don't be a get-off-my-lawner. Embrace change. Try new things. You never know where the thinks will lead you.
Thursday, October 9, 2014
My Soylent Experiment : Day 1
So this morning, I pulled the shaker of Soylent out of the fridge. I mixed it up last night per instructions.
I was a bit disappointed with it off the get go. The water and powder had separated overnight. The mixture was beige, and having separated overnight, it didn't look appetizing.
But I did as the website said and shook it up vigorously. It turned into a smooth beige mix. Sometimes the community refers to it as a slurry. To me, it didn't look much different from any of the other dozens of protein or meal replacement shakes I've tried in the past.
So I poured myself a tall glass of chilled Soylent and took a sip. My first impression of Soylent is that it tastes like just about every other meal replacement shake out there. It's mildly vanilla. It smells a little like a protein drink and a little like toasted oat ring cereal. Not at all unpleasant, really. They have gone to great lengths to make it pretty flavor neutral, and it is.
I was a bit disappointed with it off the get go. The water and powder had separated overnight. The mixture was beige, and having separated overnight, it didn't look appetizing.
But I did as the website said and shook it up vigorously. It turned into a smooth beige mix. Sometimes the community refers to it as a slurry. To me, it didn't look much different from any of the other dozens of protein or meal replacement shakes I've tried in the past.
So I poured myself a tall glass of chilled Soylent and took a sip. My first impression of Soylent is that it tastes like just about every other meal replacement shake out there. It's mildly vanilla. It smells a little like a protein drink and a little like toasted oat ring cereal. Not at all unpleasant, really. They have gone to great lengths to make it pretty flavor neutral, and it is.
The texture got me a little bit. It was a little gritty and chalky in consistency. I see many similar complaints on the online forums. But it wasn't too bad. Also, compared to other protein powders and similar stuff, it was gritty, but usually I use milk or soy milk with those.
Another thing that was a bit surprising is that it doesn't look like you have enough to eat for a day. The pitcher isn't very large. I poured a full glass, and it was maybe 1/8 the pitcher. Given the pitcher is 2000 calories, that was about a 250 cal glass. So a decent breakfast snack.
On the second time I tried blending it with ice, thinking I'd end up with a Soyleccino, or a Soygarita. I added too much ice, however, and it came out so thick, I basically had Soylent sorbet to eat with a spoon. That was good too.
The rest of the day passed without incident. I was never really hungry, and I took my son out for a 5k walk/run and don't really feel anything other than normal.
Day 1 in the bank. Time to mix up food for Day 2.
The rest of the day passed without incident. I was never really hungry, and I took my son out for a 5k walk/run and don't really feel anything other than normal.
Day 1 in the bank. Time to mix up food for Day 2.
My Soylent Experiment: Why Soylent?
I have a confession to make. I'm addicted to food. More specifically, I guess I'm addicted to overeating. In a situation where I allow myself to eat anything I want, I find myself overeating. I don't have an off switch, it seems.
When you fight something for thirty years, you tend to start thinking it's not just about willpower. Those that know me, know willpower isn't exactly my issue. I have willpower. I can stay on a pretty strict eating regimen, but only if it's super strict. As soon as I get cheat days, or cheat foods, I cheat. That's the way it is.
It is in this way that my problem is like an addiction. I can't have "only one" slice of pizza or "only one" scoop of potato salad. If I have one, I'm having more, in the same way that a former alcoholic can't have "only one" glass of wine, or a former heroin addict.
But food is ubiquitous and not intoxicating (it could be argued otherwise), so how do you keep from eating too much? Calorie counting?
I'm a complete calorie counting failure. I have tried apps. Many people have seen me try apps and fail eventually. It's boring, difficult, and fraught with error and estimation. There are easy ways to cheat yourself without realizing it.
If I want to maintain my weight, I have to go cold turkey from really high-calorie-density pleasurable foods. And that brings me to a dilemma.
Because food is everywhere. It's part of the social contract. Go to someone's house? Here's some food. Refuse? It's insulting. Try to explain that they've just done the equivalent of offering a recovering alcoholic a beer, and they can't understand it.
So a while back, Nicole found a medical group treating "metabolic syndrome". It sounded super hokey, and I still don't necessarily believe I have a "syndrome" beyond "I really really like cheesy pizza", but they offered her a restrictive meal plan that made sense to me. It is basically a super-low-salt, no-dairy, no white carb, fresh foods only, clean eating program that takes all the joy out of eating.
Seriously. It becomes a real chore to eat. On such a restrictive program, I found it hard to eat anything that tasted remotely good, and everything you eat is so low-calorie-density that it's almost impossible to take in too many calories.
And it worked! It worked really well! In the course of a year or so, I'd lost about 50 lbs and was feeling really great. It mainly worked because food wasn't on my mind all the time, because I didn't like what I could have, so it broke the cycle for me, and I stopped thinking about food, except when I was really hungry. When I can't choose what I eat, I think about eating less, and I actually eat less.
And then the day came where I started cheating. A day a week at first, and then that day wasn't convenient because there was a party somewhere on a different day. Once off the track, I couldn't get back to the diet. My resolve crumbled. It took a couple of years, but the weight returned, because the food returned.
So at the beginning of September this year, I went back on the metabolic diet. It sucks for the first week, as your body readjusts to not having so much sugar and salt on everything, and then it becomes a background hum.
And it's working again. Down a few pounds and the clothes feel looser, and I'm starting to feel better, but on this diet, you end up spending a fair amount of time trying to balance your diet. You can't eat celery all day, or have a day of only ground beef. The prep, the cleanup, buying too many vegetables and they go bad; it's all coming back to me.
I remember that feeling from before - that my resolve will crumble before the work involved with eating healthy. I remember thinking, "If only there were a way to get a balanced set of nutrients without having to think about it." Sure, you can go the ultra-expensive route and do Nutrisystem or something similar. That would work. But I'm not Rockefeller either. Who's got those kind of megabucks lying around just for their food?
Then I heard an episode of Penn's Sunday School where the gang discuss the fact that dogs and cats eat the same balanced meal every day, ever meal, from the time they become adult dogs until they die. And once you find a brand that works for your pet, you stay with it. They don't have or need variety. They need nutrition. And the folks on the show speculated about the creation of human chow.
I don't remember whether this episode came before the idea of Soylent or after, but it really hit home. I decided to become an early backer of Soylent, to reserve me a week's worth of the stuff. I figured that it was worth a shot for me.
Soylent is designed as a healthy meal replacement. You apparently can substitute a cup of this stuff for any meal that you don't want to bother with? Too tired to cook? Shake up a glass and feel confident you'll get a balanced set of nutrients to replace that meal with. Tired of doing dishes? Take a week off and only wash the shaker and your glass.
That's the idea anyway.
Well, my box of Soylent came about a week ago. I decided that I'm going to commit to the experiment of replacing my meals for a week with Soylent. Note: I was already on a pretty restrictive diet, on which I have a protein shake a day, so I figured that this wouldn't be a big change for me compared to many other people on the web that have tried it. I've been through the "three days in, and I'm crabby and hungry phase." I've even had a day on a liquid diet in the past week, so I figure it should be easier for me than just about anyone else around.
Time will tell. The experiment begins today. I'll log my experience.
When you fight something for thirty years, you tend to start thinking it's not just about willpower. Those that know me, know willpower isn't exactly my issue. I have willpower. I can stay on a pretty strict eating regimen, but only if it's super strict. As soon as I get cheat days, or cheat foods, I cheat. That's the way it is.
It is in this way that my problem is like an addiction. I can't have "only one" slice of pizza or "only one" scoop of potato salad. If I have one, I'm having more, in the same way that a former alcoholic can't have "only one" glass of wine, or a former heroin addict.
But food is ubiquitous and not intoxicating (it could be argued otherwise), so how do you keep from eating too much? Calorie counting?
I'm a complete calorie counting failure. I have tried apps. Many people have seen me try apps and fail eventually. It's boring, difficult, and fraught with error and estimation. There are easy ways to cheat yourself without realizing it.
If I want to maintain my weight, I have to go cold turkey from really high-calorie-density pleasurable foods. And that brings me to a dilemma.
Because food is everywhere. It's part of the social contract. Go to someone's house? Here's some food. Refuse? It's insulting. Try to explain that they've just done the equivalent of offering a recovering alcoholic a beer, and they can't understand it.
So a while back, Nicole found a medical group treating "metabolic syndrome". It sounded super hokey, and I still don't necessarily believe I have a "syndrome" beyond "I really really like cheesy pizza", but they offered her a restrictive meal plan that made sense to me. It is basically a super-low-salt, no-dairy, no white carb, fresh foods only, clean eating program that takes all the joy out of eating.
Seriously. It becomes a real chore to eat. On such a restrictive program, I found it hard to eat anything that tasted remotely good, and everything you eat is so low-calorie-density that it's almost impossible to take in too many calories.
And it worked! It worked really well! In the course of a year or so, I'd lost about 50 lbs and was feeling really great. It mainly worked because food wasn't on my mind all the time, because I didn't like what I could have, so it broke the cycle for me, and I stopped thinking about food, except when I was really hungry. When I can't choose what I eat, I think about eating less, and I actually eat less.
And then the day came where I started cheating. A day a week at first, and then that day wasn't convenient because there was a party somewhere on a different day. Once off the track, I couldn't get back to the diet. My resolve crumbled. It took a couple of years, but the weight returned, because the food returned.
So at the beginning of September this year, I went back on the metabolic diet. It sucks for the first week, as your body readjusts to not having so much sugar and salt on everything, and then it becomes a background hum.
And it's working again. Down a few pounds and the clothes feel looser, and I'm starting to feel better, but on this diet, you end up spending a fair amount of time trying to balance your diet. You can't eat celery all day, or have a day of only ground beef. The prep, the cleanup, buying too many vegetables and they go bad; it's all coming back to me.
I remember that feeling from before - that my resolve will crumble before the work involved with eating healthy. I remember thinking, "If only there were a way to get a balanced set of nutrients without having to think about it." Sure, you can go the ultra-expensive route and do Nutrisystem or something similar. That would work. But I'm not Rockefeller either. Who's got those kind of megabucks lying around just for their food?
Then I heard an episode of Penn's Sunday School where the gang discuss the fact that dogs and cats eat the same balanced meal every day, ever meal, from the time they become adult dogs until they die. And once you find a brand that works for your pet, you stay with it. They don't have or need variety. They need nutrition. And the folks on the show speculated about the creation of human chow.
I don't remember whether this episode came before the idea of Soylent or after, but it really hit home. I decided to become an early backer of Soylent, to reserve me a week's worth of the stuff. I figured that it was worth a shot for me.
Soylent is designed as a healthy meal replacement. You apparently can substitute a cup of this stuff for any meal that you don't want to bother with? Too tired to cook? Shake up a glass and feel confident you'll get a balanced set of nutrients to replace that meal with. Tired of doing dishes? Take a week off and only wash the shaker and your glass.
That's the idea anyway.
Well, my box of Soylent came about a week ago. I decided that I'm going to commit to the experiment of replacing my meals for a week with Soylent. Note: I was already on a pretty restrictive diet, on which I have a protein shake a day, so I figured that this wouldn't be a big change for me compared to many other people on the web that have tried it. I've been through the "three days in, and I'm crabby and hungry phase." I've even had a day on a liquid diet in the past week, so I figure it should be easier for me than just about anyone else around.
Time will tell. The experiment begins today. I'll log my experience.
Friday, October 3, 2014
What Good Is Code History?
Seriously, I'm asking. I had this discussion with a colleague the other day, and it left me feeling unanswered, so I'm curious to hear some anecdotes.
I assume that since it's 2014, we are all using some kind of source control repository. One of the main reasons we have repositories is to keep our code safe in case something happens to our dev machine. If you didn't have a saved copy somewhere, having a hard drive failure would be catastrophic to your organization.
One of the ancillary features that comes with source code control is incremental history. As source code files are added, deleted, or changed, source control repositories dutifully keep a history of all changes, and they keep that information indefinitely. I have always assumed that was a good thing to have an indefinitely long history of all code changes since inception.
Now I'm not so sure.
At face value, the code history is about finding how things were in the ago, some indeterminate time in the past. They don't represent the production codebase of today (especially if you release features frequently). In a lot of agile shops, the code in them is stale after only a few weeks.
Some companies have processes that theoretically allow you to pick any date in the past and redeploy the entire system as of that date. You have to have code history to enable this. Unfortunately, despite unlimited rollback being cited to do any number of things in the software industry, it's rare that rolling back is actually plausible. DB changes, business processes, bug fixes that have been made since that date - those can all torpedo the idea of rolling back to some generic past date.
Maybe there's a legal case for keeping code indefinitely. I'm not aware of such requirements, but I can imagine that maybe certain industries/entities may require it. If it's a requirement for you, I give it a pass, although I still question what the actual benefit of digital hoarding is.
When I think about the uses I've had for code history, it's almost always been to research something that the team is certain was working at some point, and we have a new bug reported. The purpose of the research is to look at the history of the file and find out not only what change was made who made the change.
Why does who made the change matter? The only thing that you should really care about as a team (assuming you're all competent developers) is whether the code works, right? Something is broken, and we want to fix the problem.
One reason you might want to know who made a breaking change is to ask what the thought process was behind the change, and whether they have a reason that the change wasn't made differently. I've never seen this reasoning hold up in practice. Most often, the person responsible has implemented dozens of features since the one that's broken and doesn't have the slightest idea why something was done a particular way. Also, frequently, the person making mistakes can feel checked up on or targeted. Making team members defensive or concerned about not being valued or thought less of will not help the team.
Also, figuring out who made the breaking change has the effect of personalizing the code, when it's actually the team and the team dynamic that allowed the change to be made. We want to keep things as ego-free as possible.
So is it all about blame, then? Is that the only reason you would want to know who made a change? I'm on the fence about that. Modern development shops all have some kind of automated testing associated with their development cycle. While it is not impossible to introduce breaking changes into well-tested code, it should certainly be difficult. When implementing a new feature, if the code you're changing isn't already tested, it's your responsibility to get current behavior under test, and then introduce new tests for the new behavior.
Strong teams hold each other accountable for not mistakes, which are unavoidable, but for process. If there is an indication that, say, testing process was subverted, it's useful for a team lead to pull a person aside and say something like, "Hey, I just fixed a production bug, and it looks like you may have been involved with this code in the past. I noticed that we could have had better test coverage of the feature, so let's check out what I did to test this code. I'd value your insight, in case I'm missing something." It could be that the feature was urgent and the developer on the story was too afraid to ask for help testing. Turn the problem into a teachable moment without belittling or threatening and the team member levels up without fear.
I'm curious to hear what y'all think. Could you live without your source control history? Why or why not? What other uses have you had for digging into the ago?
I assume that since it's 2014, we are all using some kind of source control repository. One of the main reasons we have repositories is to keep our code safe in case something happens to our dev machine. If you didn't have a saved copy somewhere, having a hard drive failure would be catastrophic to your organization.
One of the ancillary features that comes with source code control is incremental history. As source code files are added, deleted, or changed, source control repositories dutifully keep a history of all changes, and they keep that information indefinitely. I have always assumed that was a good thing to have an indefinitely long history of all code changes since inception.
Now I'm not so sure.
At face value, the code history is about finding how things were in the ago, some indeterminate time in the past. They don't represent the production codebase of today (especially if you release features frequently). In a lot of agile shops, the code in them is stale after only a few weeks.
Some companies have processes that theoretically allow you to pick any date in the past and redeploy the entire system as of that date. You have to have code history to enable this. Unfortunately, despite unlimited rollback being cited to do any number of things in the software industry, it's rare that rolling back is actually plausible. DB changes, business processes, bug fixes that have been made since that date - those can all torpedo the idea of rolling back to some generic past date.
Maybe there's a legal case for keeping code indefinitely. I'm not aware of such requirements, but I can imagine that maybe certain industries/entities may require it. If it's a requirement for you, I give it a pass, although I still question what the actual benefit of digital hoarding is.
When I think about the uses I've had for code history, it's almost always been to research something that the team is certain was working at some point, and we have a new bug reported. The purpose of the research is to look at the history of the file and find out not only what change was made who made the change.
Why does who made the change matter? The only thing that you should really care about as a team (assuming you're all competent developers) is whether the code works, right? Something is broken, and we want to fix the problem.
One reason you might want to know who made a breaking change is to ask what the thought process was behind the change, and whether they have a reason that the change wasn't made differently. I've never seen this reasoning hold up in practice. Most often, the person responsible has implemented dozens of features since the one that's broken and doesn't have the slightest idea why something was done a particular way. Also, frequently, the person making mistakes can feel checked up on or targeted. Making team members defensive or concerned about not being valued or thought less of will not help the team.
Also, figuring out who made the breaking change has the effect of personalizing the code, when it's actually the team and the team dynamic that allowed the change to be made. We want to keep things as ego-free as possible.
So is it all about blame, then? Is that the only reason you would want to know who made a change? I'm on the fence about that. Modern development shops all have some kind of automated testing associated with their development cycle. While it is not impossible to introduce breaking changes into well-tested code, it should certainly be difficult. When implementing a new feature, if the code you're changing isn't already tested, it's your responsibility to get current behavior under test, and then introduce new tests for the new behavior.
Strong teams hold each other accountable for not mistakes, which are unavoidable, but for process. If there is an indication that, say, testing process was subverted, it's useful for a team lead to pull a person aside and say something like, "Hey, I just fixed a production bug, and it looks like you may have been involved with this code in the past. I noticed that we could have had better test coverage of the feature, so let's check out what I did to test this code. I'd value your insight, in case I'm missing something." It could be that the feature was urgent and the developer on the story was too afraid to ask for help testing. Turn the problem into a teachable moment without belittling or threatening and the team member levels up without fear.
I'm curious to hear what y'all think. Could you live without your source control history? Why or why not? What other uses have you had for digging into the ago?
Tuesday, September 16, 2014
Embrace the Joy in Simplifying
Today, I'm dropping about a dozen tables from our database. The tables are holdovers from a legacy bit of the previous system that were needed as scaffolding to get the new system in place, but are no longer necessary. They are not used for anything, and the data are not useful in any way or needed for audit. Then again, they were not really in the way or costing us anything, right?
And yet I feel a great deal of joy getting rid of them.
Thing is, all team members knew that we needed to do this maintenance, and no one disagreed that these appendix-like structures were no longer needed, but getting priority to clean them up was difficult. The general feeling was that the unused code, data structures, etc. weren't really hurting anything.
There's been a good deal of study around clutter and anxiety, and the internet is awash in articles that link the two. A system that has a lot of old code and data structures is akin to a hoarder's house full of clutter. It causes anxiety. And there are very serious parallels between code clutter and home clutter.
So let me be clear: cleaning up your messes is a priority. You don't generally think about it, but every time you want to go look something up in the database, your eye has to scan over those legacy entities. There's friction there. Do a code search for a class? You find more entries than you need to. There's visual clutter there that takes time to scan.
Yes, you may not use those classes anymore, but they have references to your framework and other classes, right? If you make a change, there are more changes you have to make to get things to compile, more places you have to make sure you don't make a mistake.
Having all these extra classes and structures lying around creates a death by 1,000 tiny little cuts. Deal with this infinitesimal time waste enough times a day, and it adds up to real time wasted and real productivity impacts.
So clean up your codebase. Make it a priority to remove outdated structures that are either legacy or the result of overengineering (which I define as ignoring YAGNI). Minimizing the number of tables, objects, views, whatever in your system makes the system leaner and more easy to deal with. It minimizes cruft and code clutter and makes future coding easier by reducing friction.
Better still, removing old untested code increases your test coverage metrics for free!
So please take some time and load some of these stories into your backlog today.
And yet I feel a great deal of joy getting rid of them.
Thing is, all team members knew that we needed to do this maintenance, and no one disagreed that these appendix-like structures were no longer needed, but getting priority to clean them up was difficult. The general feeling was that the unused code, data structures, etc. weren't really hurting anything.
There's been a good deal of study around clutter and anxiety, and the internet is awash in articles that link the two. A system that has a lot of old code and data structures is akin to a hoarder's house full of clutter. It causes anxiety. And there are very serious parallels between code clutter and home clutter.
So let me be clear: cleaning up your messes is a priority. You don't generally think about it, but every time you want to go look something up in the database, your eye has to scan over those legacy entities. There's friction there. Do a code search for a class? You find more entries than you need to. There's visual clutter there that takes time to scan.
Yes, you may not use those classes anymore, but they have references to your framework and other classes, right? If you make a change, there are more changes you have to make to get things to compile, more places you have to make sure you don't make a mistake.
Having all these extra classes and structures lying around creates a death by 1,000 tiny little cuts. Deal with this infinitesimal time waste enough times a day, and it adds up to real time wasted and real productivity impacts.
So clean up your codebase. Make it a priority to remove outdated structures that are either legacy or the result of overengineering (which I define as ignoring YAGNI). Minimizing the number of tables, objects, views, whatever in your system makes the system leaner and more easy to deal with. It minimizes cruft and code clutter and makes future coding easier by reducing friction.
Better still, removing old untested code increases your test coverage metrics for free!
So please take some time and load some of these stories into your backlog today.
Tuesday, September 9, 2014
Monday Morning Motivation
Monday mornings are kind of a drag, right? Garfield hates Mondays. "Looks like someone's got a case of the Mondays." You've just come off enjoying your weekend of relaxation, sleeping in, home repair, family togetherness, or whatever else makes you happy, and now that's over.
If you have trouble with Mondays, it could be that you're not happy with your job. Having a job that you're excited to go to is a good way to get motivated and not actually dread the end of the weekend. If you aren't that happy with your current gig, you should quit your job.
If you do love your job, but still the idea of waking up early and getting all duded up to commute to your place of work has you dragging a bit, here's one tip to make that Monday morning a little easier.
When you're finishing up your work on Friday afternoon, figure out what you want to work on early Monday morning and leave yourself a breadcrumb to it. In the development world, my favorite mechanism for this is to pick the next story off the board and write a unit test for it.
Write a failing unit test. Leave it failing locally. Monday morning, you'll come in and see your little NCrunch indicator telling you that you have a failing test, and you'll know exactly what you need to start with. Get that test to pass.
This is also pretty good for keeping yourself focused, too. Instead of diving into email in the morning, start out by getting that story done. You'll feel great about having something accomplished under your belt, and it sets a great vibe for the week.
If you have trouble with Mondays, it could be that you're not happy with your job. Having a job that you're excited to go to is a good way to get motivated and not actually dread the end of the weekend. If you aren't that happy with your current gig, you should quit your job.
If you do love your job, but still the idea of waking up early and getting all duded up to commute to your place of work has you dragging a bit, here's one tip to make that Monday morning a little easier.
When you're finishing up your work on Friday afternoon, figure out what you want to work on early Monday morning and leave yourself a breadcrumb to it. In the development world, my favorite mechanism for this is to pick the next story off the board and write a unit test for it.
Write a failing unit test. Leave it failing locally. Monday morning, you'll come in and see your little NCrunch indicator telling you that you have a failing test, and you'll know exactly what you need to start with. Get that test to pass.
This is also pretty good for keeping yourself focused, too. Instead of diving into email in the morning, start out by getting that story done. You'll feel great about having something accomplished under your belt, and it sets a great vibe for the week.
Sunday, September 7, 2014
Creating an Ego-Free Environment
For years I've been talking to my teams about "ego-less development". I don't remember where or when I heard about the concept, but I thought I'd take a couple minutes to talk about what that means to me.
For me, ego-less development starts with the recognition that not everything is about me. All of this code we write daily is code written by us on behalf of and for the organization that employs us, and for which we are paid a (hopefully) fair wage. When we are done writing it, we do not own it. It is not who we are. The idea behind an ego-free environment is that you check your ego at the door, and do your best to produce the best software for the company the best way you know how.
You can think of software as commissioned art. Not every piece is perfect, but when the project is over, the piece sits in the living room of the commissioning person to be enjoyed by that person, not taken home.
When you take the perspective that the code that you write is not yours, it becomes a lot easier to decouple yourself from the code you write. Many people take criticism of their code as a criticism of their own person. While criticism on your code can include a criticism of your skill set, it's should not be intended to suggest anything wrong with you as a person, even though your mind might translate the criticism.
The translation works like this: What's said is "Well, I see something wrong in this code here." What is heard is "You wrote this code. Something is wrong with it. So something is wrong with YOU! STUPID!"
If you're a team lead, you need to make sure that the culture changes so the message comes across correctly. Here's a couple things I've found really helpful in cultures I've been part of:
Freely admit your own mistakes: Everyone makes them. It's no fun to make them, and worse to have things blow up because of something you did. When things do explode, fess up. No excuses. "I did that. I'm really sorry." You're looking to demonstrate the correct approach that you're looking for. Lead by example.
Let people know it's okay to screw up: While habitual bad performance has to be addressed, not every little failure is something team members should feel like they have to fret over. Be honest. Don't gloss over it by saying it's okay. "Yes, you screwed up. We've all been there. We'll do what we need to fix it."
Don't map ownership of specific code to people: If there's a bug found in the system, there's a tendency to say something like, "Oh, looks like a bug in your code. Guess you better get in there and fix it." Once the code is integrated, it's company code. You don't own that code. Anyone can go fix it. Throw the bug in the backlog and let the next available dev snag it.
Use positive language, even when disagreeing: Yes, this is software, and at some point you've got to ship. Sometimes there are differences of opinion, but you lose the instant you say something like "Well, the smart thing to do is..." That's another way of calling someone stupid, if they legitimately disagree with you. Language and communication sets the tone. Make sure that you phrase the argument in terms of risks, rewards, costs, or benefits. "The problem I see with approach A is that X, whereas this other approach [note: not "my approach"] avoids that problem."
Let's say you even get to Nerdvana and have an ego-free environment. Never forget that there are scores of cognitive biases out there and that at any point, you may be falling prey to them. Keep an eye on your own communication to ensure that you're truly communicating the way you would like. Even in an ego-free environment, people still can be defensive.
Not many environments work as one-person bands. Great work takes great teams. Great teams are formed by trust. Check your egos at the door, and build that trust in your environment today!
For me, ego-less development starts with the recognition that not everything is about me. All of this code we write daily is code written by us on behalf of and for the organization that employs us, and for which we are paid a (hopefully) fair wage. When we are done writing it, we do not own it. It is not who we are. The idea behind an ego-free environment is that you check your ego at the door, and do your best to produce the best software for the company the best way you know how.
You can think of software as commissioned art. Not every piece is perfect, but when the project is over, the piece sits in the living room of the commissioning person to be enjoyed by that person, not taken home.
When you take the perspective that the code that you write is not yours, it becomes a lot easier to decouple yourself from the code you write. Many people take criticism of their code as a criticism of their own person. While criticism on your code can include a criticism of your skill set, it's should not be intended to suggest anything wrong with you as a person, even though your mind might translate the criticism.
The translation works like this: What's said is "Well, I see something wrong in this code here." What is heard is "You wrote this code. Something is wrong with it. So something is wrong with YOU! STUPID!"
If you're a team lead, you need to make sure that the culture changes so the message comes across correctly. Here's a couple things I've found really helpful in cultures I've been part of:
Freely admit your own mistakes: Everyone makes them. It's no fun to make them, and worse to have things blow up because of something you did. When things do explode, fess up. No excuses. "I did that. I'm really sorry." You're looking to demonstrate the correct approach that you're looking for. Lead by example.
Let people know it's okay to screw up: While habitual bad performance has to be addressed, not every little failure is something team members should feel like they have to fret over. Be honest. Don't gloss over it by saying it's okay. "Yes, you screwed up. We've all been there. We'll do what we need to fix it."
Don't map ownership of specific code to people: If there's a bug found in the system, there's a tendency to say something like, "Oh, looks like a bug in your code. Guess you better get in there and fix it." Once the code is integrated, it's company code. You don't own that code. Anyone can go fix it. Throw the bug in the backlog and let the next available dev snag it.
Use positive language, even when disagreeing: Yes, this is software, and at some point you've got to ship. Sometimes there are differences of opinion, but you lose the instant you say something like "Well, the smart thing to do is..." That's another way of calling someone stupid, if they legitimately disagree with you. Language and communication sets the tone. Make sure that you phrase the argument in terms of risks, rewards, costs, or benefits. "The problem I see with approach A is that X, whereas this other approach [note: not "my approach"] avoids that problem."
Let's say you even get to Nerdvana and have an ego-free environment. Never forget that there are scores of cognitive biases out there and that at any point, you may be falling prey to them. Keep an eye on your own communication to ensure that you're truly communicating the way you would like. Even in an ego-free environment, people still can be defensive.
Not many environments work as one-person bands. Great work takes great teams. Great teams are formed by trust. Check your egos at the door, and build that trust in your environment today!
Subscribe to:
Posts (Atom)