Well, I don’t know about you, but I am anyway, and I’m guessing if you are reading this that you probably are, too.
If you read the bottom half of the internet (a.k.a. the comments section), you’ll find that any mention of privilege sets some people off …
I’m not privileged! My parents didn’t have any money when I was growing up! We bought our clothes at K-Mart when we were lucky and the thrift store when we weren’t. When I was in college, I worked for $2.12 an hour ! I work 60 hours a week! I raised 3 children while going to school and holding down a full-time job.
Yeah, me, too.
I’m still privileged.
Being without privilege when you were young and being privileged as an adult are not mutually exclusive.
I’m typing this on an iPad with a Logitech keyboard, on the 12th? 15th? flight this year and it’s only July.
Before I got on this flight, I was in the United lounge, drinking free Chardonnay and working on my laptop. A lot of other people were working there as well. It is a lot easier to work in the lounge because it’s quieter and there’s lots of outlets and plenty of comfortable chairs.
While Darling Daughter Number 3 arranged for the lounge and this flight to Rio, I paid for all of the other flights this year, the iPad, keyboard, laptop and all of the software on it, with the money I earned from working really hard. I also bought an iPhone and paid for a service with a personal hotspot.
My point is that since I walk around with thousands of dollars in technology in my briefcase (and many of you do, too), it is a lot easier for me to spend six hours en route writing a conference paper, analyzing data for a research study, editing graphics or video or programming the next level of a game. It’s much easier for me to get 4 hours work done in whatever hotel I find myself in the evening.
If I think it would benefit me to take a few days off and attend a conference on Unity 3D, SAS software, small business innovation research or serious games, I do it. I don’t have to go through three layers of management to get permission.
Being privileged and working hard are not mutually exclusive.
It’s like Dave Winer said – Money sweats.
He was talking about interest, that once you make money you get paid money just for having it. It’s also true in technology careers – once you have made some money, you can use that money to buy you advantages that keep you ahead of the competition, like practice with the latest version of whatever software you use, or 20 more productive hours each month, as you sit in airports.
It’s true in athletics as well. The better you get, the better coaches, nutritionists, strength trainers you can afford. You don’t have to take public transportation or work a full-time job at Starbuck’s, so you have more training and better training than the competition, even if they are working just as hard.
In America, a great many of us are privileged. If more of us recognized it, maybe as a society we’d be a little more humble, a little more grateful and a little more generous.
It was recently noted on our company twitter account that I’m out of town so often that I’ve come to resemble the Travelocity gnome in more than stature.
I’ve been traveling on business for nearly my entire career. Despite the proliferation of Google hangouts, Skype, Webex, Go-to-Meeting, FaceTime and God knows how many other technological innovations, there are still a lot of situations that require me to head out of LAX to points north, south, east and west.
This lifestyle has definitely shaped who I am.
I’m always surprised at people who travel frequently and come home to a seven-bedroom house.
The reality shows on the “tiny house” movement fascinate me, in part because of the creative uses they make of space in their designs, but also because I can see myself living in a very small space. After all, much of my time is spent in one or two rooms in a hotel.
For me, living out of a suitcase for weeks out of every month has meant that I have pared down greatly the amount of clothes, books and other personal possessions I “need”. The Invisible Developer points out that we could not live in a tiny house because his stuff alone would fill it up. That’s what happens when you stay put – you accumulate things.
It was a big advantage for me growing up in a house with a lot of siblings and not a lot of space. That may not sound like an advantage, but the result was that I had to be able to study wherever I found a spot that was unoccupied – in the room I shared with my sister and younger brother, in the attic, on the back porch, a corner of the living room table.
To this day, I can work anywhere. I’m typing this on an ipad as the plane is landing. I’ll sit in the airport and review a data analysis for a client that I’ll download on to my laptop using the personal hotspot from my iphone. When I get to the hotel, HOPEFULLY there will be cell phone and Internet access so that I can finish the online course I’m taking on a new game development library. (Thanks, lynda.com !)
I really do travel far and wide, which means there are few things I can depend on having – no, not even internet or cell phone reception. This seems self-evident to some people but inconceivable to those inside the Silicon Beach/ Silicon Valley bubble.
Before I met The Invisible Developer, the longest I had ever lived in one house was 4 years. I’d lived in Japan, Canada, Pakistan, California, Minnesota, Colorado, Illinois, Missouri, Mississippi and no doubt other places I’ve forgotten by now. Since I had moved so often, traveling to a new place wasn’t all that different from being in the relatively new place where I was living.
After 18 years in Santa Monica, I’ve gotten used to a location, and for the first time I find traveling a trifle unsettling because I have actually gotten settled somewhere. That’s been reinforced by the fact that I work out of my home office a lot. Working at home is convenient because it is where all of my stuff is and it’s full of people who know me,
Maybe that explains why I’ve started to give some thought to traveling less. I don’t think that will actually happen, for a while, though. If I were to just stay home and write code, I could make a fairly good living, but then someone else would be flying hither and yon to meet potential partners, customers and investors and the final decisions would rest with that person. With responsibility comes a certain level of discomfort, regardless of what you told yourself it was going to be like “when I’m running things”.
I’m not ready to turn over the reins just yet – which is why I’m finishing this from a plane to Minneapolis where I was re-routed after my flight from Denver to Minot was cancelled. So, now, I’ll finally get a Minneapolis to Minot flight that lands around midnight and then drive 2 hours to Spirit Lake.
Wake me up when the glamorous part of travel starts.
Previously, I discussed PROC FREQ for checking the validity of your data. Now we are on to data analysis, but, as anyone who does analysis for more than about 23 minutes can tell you, cleaning your data and doing analysis is seldom a two-step process. In fact, it’s more like a loop of two steps, over and over.
First, we have the basic.
PROC FREQ DATA = mydata.quizzes ;
TABLES passed /binomial ;
This will give me not only what percentage passed a quiz that they took,
but also the 95% confidence limits.
I didn’t have any real justification for hypothesizing any other population value. What proportion of kids should be able to pass a quiz that is ostensibly at their grade level? Half of them – as in, the “average” kid? All of them, since it’s their grade level? I’m sure there are lots of numbers one could want to test.
If you do have a specific proportion, say, 75%, you’d code it like this:
PROC FREQ DATA =in.quizzes ;
TABLES passed / BINOMIAL (P=.75);
Note that the P= has to be enclosed in parentheses or you’ll get an error.
So, out of the 770 quizzes that were taken by students, only 30.65% of them passed. However, the quizzes aren’t all of equal difficulty, are they? Probably not.
So, my next PROC FREQ is a cross-tabulation of quiz by passed. I don’t need the column percent or percent of total. I just want to know what percent passed or failed each quiz and how many players took that quiz. The way the game is designed, you only need to study and take a quiz if you failed one of the math challenges, so there will be varying numbers of players for each quiz.
PROC FREQ DATA =in.quizzes ;
TABLES quiz*passed /NOCOL NOPERCENT ;
The first variable will be the row variable and the one after the * will be the column variable. Since I’m only interested in the row percent and N, I included the NOCOL and NOPERCENT options to suppress printing of the column and total percentages.
Before I make anything of these statistics, I want to ask myself, what is going on with quiz22 (which actually comes after quiz2) and quiz4? Why did so many students take these two quizzes? I can tell at a glance that it wasn’t a coding error that made it impossible to pass the quiz (my first thought), since over a quarter of the students passed each one.
This leaves me three possibilities:
- The problem before the quiz was difficult for students, so many of them ended up taking the quiz (another PROC FREQ)
- One of the problems in the quiz was coded incorrectly, so some students failed the quiz when they shouldn’t have,
- There was a problem with the server repeatedly sending the data that was not picked up in the previous analyses (another PROC FREQ).
Remember what I said at the beginning about data analysis being a loop? So, back to the top!
People often ask me how I get so much done. Over and over, I have found one of the simplest ways to increase productivity is by not reading my email in the morning. Some days, I don’t get around to reading it at all.
This evening, when I finally opened my email, I had over 1,100 messages. In less than an hour, I have winnowed it down to 480.
As you can imagine, the majority is spam – offers to optimize my site for search, improve my sex life and sell me dishes. For some reason, Pottery Barn, Williams-Sonoma and the like are convinced I’m a good market for housewares. Bizarre, because the only thing domestic about me is that I live in a house and the only thing I make for dinner is reservations.
The spam takes a few minutes to sift through.
Then there is the large category of email that is unnecessary. If you are guilty of any of these, do the community a favor and reform.
- Notifications I don’t need. It’s nice that someone wants to thank me for speaking at an event, that students from Billy Bob Elementary appreciated the donated site license. I appreciate that you thought of me, I do. I don’t, however, appreciate it so much that I’m going to put off starting work for an hour to read all of this. Sorry, not sorry. I also don’t need to be informed that I have changed my password (I know, because I did it) or that The Spoiled One has a game at 3 pm in San Francisco ( do they think I didn’t notice she was gone?)
- Copies of email that I don’t need to be copied on. If someone else will be attending an event on behalf of our company, held a meeting or has been assigned an action item, nice. I don’t need to be informed and I don’t need a copy of the agenda of meetings I won’t attend unless there is an item along the lines of, “In an attempt to curry favor with the venture capital gods, we will be making a human sacrifice of the CEO in the lobby at noon on Wednesday.” – in which case I might want to avoid the office mid-week.
The biggest reason for not reading my email, though, is that I already have an idea of what my priorities are for the day and I start on the highest priority first. There has yet to be a day when I looked at my to-do list and it read:
Priority #1 : Read email.
The real time suck in my email is the emails from people who want me to do things – complete this form, write this letter, review this contract, give me your opinion on this, let me know when you can schedule this meeting. The key point here is that all of these involve someone else’s priorities.
There is such a temptation to take 5 or 10 minutes to respond to each of these requests, or to at least consider it, then decide it is not a priority and I’ll do it later.
Occasionally, I do miss something that I needed to know. However, that inconvenience is minor compared to not starting off my day with an hour or two of reacting to what other people request, rather than acting on priorities for my own company.
It seems as if parents can do no right. Parents who are very involved, who coach their children’s sports teams, who insist that their child not skip practice are criticized for living through their children. However, as every Disney after-school special ever will tell you, God save the child whose parent has an actual job to pay for all those basketball camps, private schools and plane fare to tournaments because that means they won’t be there to see their child score the winning goal/ star in the school play which explains why their child is the class bully/ mean girl. The hero of the moviet then understands why mean girl/ bully is that way. It is because the parent ads to have a career that might conflict with sitting on the sidelines watching a Little league game.
You’re damned if you do and damned if you don’t.
The people who told me I’m not involved enough have been people who have different priorities and opinions from me. They mean well but I beg to differ that my child will NOT be scarred for life if I don’t see her performance as tree #4 the school play. It is not a bad lesson to learn that someone can love you and simultaneously have a life of their own with their own goals and desires.
So, the people who judge me as not involved enough will get together and talk shit about me at the PTA meeting and Booster Club and all of those other things I don’t attend. It’s not something I drink champagne and celebrate, but it doesn’t worry me all that much, either. I’m doing the best I know how.
One thing I have learned personally over 32 years of raising children – no one who has accused me of being over involved in my children’s lives had their best interests at heart. This group included a minority a who didn’t know me or my children and didn’t know what the hell they were talking about. The majority of the time, when a someone has told me that I was too involved with my children and needed to back off, they were trying to take advantage of my children and didn’t want me to get in the way. THAT’S the group you have to guard against.
It reminds me of the time, years ago, when I was at the park with my 5-year-old daughter. There was a boy who looked about 11 playing on the playground. He asked me,
“Don’t you think that’s weird that you watch your daughter every second? Don’t you trust her?”
I told him it was other people I didn’t trust.
“Well, I feel sorry for you and your daughter. You must have a really depressing life.”
The rest of the story: 6 months later, I heard about that boy being arrested for molesting a young child in the same park.
My point – when someone tells you that you are too involved in your child’s life, ask them flat out,
“Why are you telling me this? Are you implying that you know my child better and care more than I do?”
On a darker side, ask yourself,
“What does this person gain by me being less involved?”
And watch that person like a hawk.
I’m in the middle of data preparation on a research project on games to teach fractions. This is the part of a data analysis project that takes up 80% of the time. Fortunately, PROC FREQ from SAS can simplify things.
1. How many unique records ?
There are multiple quizzes in the game, and you only end up taking a quiz if you miss one of the problems, so knowing how many unique players my 1,000 or so records represent isn’t as simple as dividing the number of players by X, where X is a fixed number of quizzes.
PROC FREQ DATA = mydata.quizzes NLEVELS ;
TABLES username ;
Gives me the number of unique usernames. If you were dying to know, in the quizzes file for Fish Lake it was 163.
2. Are there data entry problems?
We had a problem early in the history of the project where, when the internet was down, the local computer would keep trying to send the data to our server, so we would get 112 of the same record once the connection was back up.
Now, it is very likely that a player might have the same quiz recorded more than once. Failing it the first time, he or she would be redirected to study and then have a chance to try again. Still, a player shouldn’t have TOO many of the same quiz. I thought this problem had been fixed, but I wanted to check.
To check if we had the same quiz an excessive number of times, I simply did this :
PROC FREQ DATA= in.quizzes ;
TABLES username*quiztype / OUT=check (WHERE = (COUNT > 10)) ;
This creates an output data set of those usernames that had the same quiz more than 10 times.
There were a few of these problems. The question then became how to identify and delete those without deleting the real quizzes. This took me to step 3.
3. The LAG function
The LAG function provides the value from the prior observation. Assuming that it would take at least 2 minutes for a quiz, I sorted the data by username, quiz type, number correct and the time. I assumed it would take a minimum of 120 seconds for even the fastest student to complete a study activity and complete a test for the second time. Using the code below, I was able to delete all duplicate quizzes that occurred due to dropped internet connections.
proc sort data = check4;
by username quiztype numcorrect date_time ;
data check5 ;
set check4 ;
lagu = lag(username) ;
lagq = lag(quiztype) ;
lagn = lag(numcorrect) ;
lagd = lag(dt) ;
if lagu = username & lagq = quiztype & lagn = numcorrect then ddiff = dt – lagd ;
if ddiff ne . & ddiff < 120 then delete ;
Having finished off my data cleaning in record time, I’m now ready to do more PROC FREQ ‘ ing for data analysis – tomorrow.
(Actually, being 12:22 am, I guess it is technically tomorrow now.)
I’m the world’s biggest hypocrite when it comes to documentation. In every staff meeting, I emphasize documenting whatever code you have written that week, but I always put off doing it myself. My excuse is always that it isn’t final and when I get the complete project done I will put it in the wiki.
I’ve come to the conclusion that no complex software is ever done. You just quit working on it and go to something else.
If you have run into the awful problem of having your animation run on some browsers and not others, or even run sometimes and sometimes not in the same browser, you may have a timing problem. In brief, you are trying to draw the image before it is loaded.
Here is what I did today and how I fixed that problem…
In this part of the game (Forgotten Trail) , the player has answered a question that asks for the average number of miles the uncle walked each day when he attempted this journey. If the player gives the correct answer, say, 22 miles, a screen pops up and the mother asks, “Do you really think you can walk 22 miles a day?” If the player says, “No,” then he or she is sent to workout. Each correct answer runs your character 5 miles. After 20 miles, you can go back to the game.
So …. we need animation and sound that occurs when a correct answer is submitted. I had finished the code to randomly generate division problems, so today I was working on the function after the player is correct.
The HTML elements are pretty simple – a div that contains everything, two layers of canvas, a button and two audio elements.
<canvas id="layer1" style="z-index: 1; position:absolute; left:0px; top:5px;" height="400px" width="900"> This text is displayed if your browser does not support HTML5 Canvas. </canvas> <canvas id="layer2" style="z-index: 1; position:absolute;left:0px;top:5px;" height="400px" width="900"> This text is displayed if your browser does not support HTML5 Canvas. </canvas> <button id="workout" name="workout" >CLICK TO WORK OUT</button> </div> <audio autoplay id="audio1"><source type="audio/ogg"></audio> <audio autoplay id="audio2"><source type="audio/mpeg"></audio> </div>
Because the character is only moving horizontally – he is running on a field – there is no dy and no y variable.
Everyone should pause every now and then and ask themselves this question:
What would you want to be doing if you weren’t doing this?
Whatever “this” is, your answer will be revealing. If you excitedly exclaim,
“I would start a restaurant, using my grandma’s recipes, but it would be more of a modern look – kind of a Tuscany theme. The Venice area is coming up, I’d open it there.”
… then you have spent far too much time thinking about what you could be doing instead of what you are doing now. Maybe you should really take some steps to do something else instead of whatever your “this” happens to be.
If you ask me what I would be doing if I weren’t making games and analyzing data, I’d be hard pressed to give you an answer.
My first answer would be to protest,
“But I WANT to be doing this.”
It’s not that I haven’t thought about it. If I was not working, I could be doing any of these things:
- Going to the Aquarium of the Pacific with my family (I have a membership),
- Going to Disneyland ( I have a membership)
- Going out to eat with my family
- Writing a paper for a conference
- Teaching judo
- Riding a bike on the beach
- Reading a book
All of those are perfectly fine things to do – as evidence, I offer lunch today with The Perfect Jennifer and Darling Daughter Number Three = but notice that none of them is a full-time gig.
If I could not be doing what I’m doing now, I wouldn’t mind going back to teaching college. I wouldn’t mind going back to teaching middle school if they would start classes at some reasonable hour, say 10 am.
I have two memberships to tourist attractions because I tend not to take off work very often. The memberships mean that I have some incentive to get out of the office. It’s not going to cost me anything to go to Disneyland and it’s wasting money if I don’t go because The Invisible Developer paid for me to have a membership.
Maybe if your list of other things to do is too long, or when you come to one, you think longingly,
I really SHOULD go for a walk on the beach! I can’t remember the last time I did that!
…. you should take a break and do some of them.
At the moment, I’ve been doing better than usual at meeting friends for lunch, going to movies, calling my mom and cleaning the house. Asking myself on a regular basis,
“What would you be doing if you weren’t doing this?”
forces me to focus on the things that I am NOT doing, whether it be in my business or personal life, and an evaluation of whether what I’m doing at this moment is worth giving up those other things.
Most of the time the answer is, “Yes.”
If, for you, most of the time the answer is, “No”, well, I think you know what you need to do.
FEEL SMART AFTER READING THIS BLOG?
WANT TO BE EVEN SMARTER?
This IS my day job.
The heroine in Labyrinth (fun movie, by the way) complains ,
“That’s not fair!”
and the Goblin King responds,
“You say that so often. I wonder what your standard of comparison is.”
Sunday evening and I’m taking a break from working on our latest game to offer another installment in Mama AnnMaria’s Guide on Not Getting Your Sorry Ass Fired. I was talking to my son-in-law, Mr. Perfect Jennifer, and he commented that many in his field – graphic art and animation – set their rates at what the client can be convinced to pay. If a client is somewhat naive about the going rate, they will charge two or three times as much – the sky’s the limit! What is wrong with that? Well, for one thing, if you are vastly over-charging your clients, at some point they will find out that other people are not paying $775 per hour for a statistical consultant and they will fire your sorry ass and hire someone more reasonable.
People starting out as freelancers or consultants are often unclear as what is a “fair rate of pay”.
Let me recommend this:
1. NEVER base your fees on what you “need to maintain a certain lifestyle”. Unbelievably, I have seen many people starting out set their fees exactly like this. They will tell me how expensive it is to live in San Francisco or New York City, as if that matters. Let me give you this example to show how stupid this is. You hire someone to clean your office every night. We’re not talking Trump tower here, but just your standard executive office – desk, a couple of chairs, table. Dave’s Cleaning tells you that the cost will be $3,000 a month. When you ask how he can possibly justify $$700 to clean one room, Dave explains that you are his only client. He lives in a studio apartment that costs $1,100 a month, he has to eat, doesn’t he?
2. Find statistics on rates for your field. For example, the American Statistical Association published this article in 2011 on rates for statistical consulting. You could look up your field on the Bureau of Labor Statistics site , although since that is for full-time employees, who receive benefits, you should estimate cost to the employer as 20-30% more than whatever the median salary is. What, you mean to tell me that you have no idea what the average market rate is for your services? How the hell did you come up with a rate then?
3. Figure out where you fall in the range. Do NOT, NOT, NOT look at the top of the range and say, “I could charge that much.”
The inter-quartile range for statistical consultants in 2011 was $89 to $189. That means that 75% of the consultants charged more than $89 and 25% charged $189 or more. The median was $130 an hour. Do you find yourself saying,
“Hey, I’m in at least the top 25% for sure, I could charge $189 an hour.”
What is your standard of comparison? According to the ASA, consultants who have a Ph.D. charge an average of $44 an hour more. Do you have a Ph.D.? What justifies your claim to be in the top 25% ? How many years of experience do you have? How many years does the average person in your field have? What metrics do you have that justify your claim? How much have you brought in sales, grant money, subscriptions, enrollment? Is that as much as the average person? If not, how do you justify that $130 an hour?
4. Account for your “non-monetary costs”. I have a Ph.D., 30 years of experience, have brought in tens of millions of dollars in grant funds for clients, published articles in academic journals, given hundreds of conference presentations. Would it surprise you to know that I do NOT charge in the top 25% ? There are many non-monetary factors in my consulting work, that do not apply to other consultants who charge more. I don’t come into the office before 10 a.m. I wear a suit about 10 times a year. I only take projects that interest me, working with people I like and respect. With rare exceptions (I’m looking at YOU Belcourt, ND in January) , I don’t travel to places unless I really want to go there. On the other hand, when my children were all living at home and I really needed the money, I traveled more, got up earlier, wore more suits, worked with more jackasses and charged more money. Back then, I agreed to respond to client calls or emails within an hour. Now, it is within 24 hours. I also charge less now so I can choose the clients I want to work with. (BTW, we are not taking new clients at this time.)
So, that’s it, decide a fair rate based on what the market is paying, where, based on objective criteria, your skills and experience fall compared to the general population of whatever-you-do and figure in what non-monetary requirements you or the employer have.
Charge a fair price, based on the market and your documented accomplishments , not on what you need or what you think you’re worth and you’re less likely to get your sorry ass fired.
Feel smarter after reading this blog? Want to be even smarter? Buy our games, Fish Lake and Spirit Lake. Learn math, social studies and explore our virtual worlds.
In the past, I have questioned the extent to which we really suck at math in the U.S. While I’m still a bit skeptical that the average child in developing countries is doing dramatically better than children in the U.S., one thing is pretty clear from our results to date, and that is that the average child living in poverty** in the U.S. is doing pretty darn bad when it comes to math.
About a week ago, I discussed the results from a test on fractions given as part of our Fish Lake game evaluation. The pretest score was around 22% correct. Not terribly good.
There were also two questions where children had to explain their answers:
Zoongey Gniw ate 1/3 of a fish. Willow ate 1/3 of a different fish. Zoongey Gniw said that he ate more fish. Willow says that he ate the same amount as she did, because they both ate 1/3 of a fish. Explain to Willow how Zoongey Gniw could be right.
Explain why each of the above figures represents ONE-FOURTH.
Answers were scored 2 points if correct, 1 if partially correct and 0 if incorrect.
Out of 4 points possible, the mean for 260 students in grades 3 through 7 was .42. In other words, they received about 10% of the possible points.
These two questions test knowledge that is supposed to be taught in 3rd grade and 96% of the students we tested were in fourth grade or higher.
PUH-LEASE don’t say,
“Well, those are hard questions. I’m not sure I could explain that.”
If that is the case, feel sad! These are easy questions if you understand basic facts about fractions. “Understand” is the key word in that sentence.
SO many people, including me, when I was young, simply memorize facts and repeat them when prompted, like some kind of trained parrot, and with no more understanding.
When understanding of mathematics is required, they fail. Yes, some of the items tested under the new Common Core standards are harder. That doesn’t show a failure of the standards or tests, but rather of the students’ knowledge.
This is one of those cases where “teaching to the test” is not a bad idea.
** The reason I limited my statement to children living in poverty is that the schools in our study had from 72% -98% of their students receiving free lunch. Being a good little statistician I don’t want to extrapolate beyond the population from which our sample was drawn.