Category Archives: Software
We’re already in the second week of 2015. Only fifty more to go! Before we get too far along, I wanted to share some reflections on 2014 goals. As before, our family has been using a Trello board to track and update our goals. I highly recommend the process of goal setting and achieving. In large part because, according to the Enneagram, I’m an Achiever (learned that in 2014). It just makes sense to me.
If you’ve never done goal-setting before and want to, then message me. I’d be happy to brainstorm with you and get you setup.
Tomorrow will be the day for New Year’s resolutions. But today I thought I’d reflect on the goals I achieved in 2013, or at least my progress toward them. All in all it was an extremely productive and daring year.
- Get healthy: December over December, I’ve lost 16 pounds. In 2012, I weighed in at the doctor’s office at 161. I normally think of myself as 150 so 11 pounds seemed like more than small fluctuations. I resolved in 2013 to exercise, eat less sugar, eat more salad, and get my weight down to 140 pounds. For the first four months, all I did was change my diet: I stopped eating dessert and drinking beer every night; I bought the Trader Joe’s ready-made salads which make a great lunch; and I continued eating oatmeal with fresh fruit for breakfast. Beyond that, I didn’t have any rules or guidelines. I sometimes noticed myself binging on weekends but I don’t think it got too bad. In April, I got a bicycle trainer that let me ride indoors. That thing is great. I’ve gone from an average of 12 mph over 15 minutes to 21 mph over 20 minutes. And I reached a high average of 24 mph. That’s twice what I started at! I didn’t reach my goal weight of 140 so I’m going to press on in 2014 to lose another 5-10 pounds.
- Floss every night: I did it! I even like it sometimes now. My gums don’t bleed as they did when I started and I guess my teeth are healthier. I’m kind of bummed to need to continue this but I guess that’s part of being responsible for myself.
- Visit Japan: Shannon and I did it! What a great country to visit. I am fascinated by Japanese culture and particularly enjoy their hospitality and food. Our best photos from the trip are on Facebook. I wrote a little about the language barrier too.
- Square accounts: From 2012 taxes to loans from parents, second mortgages and major home improvements, this was a year of paying off debts. I’m proud to say we’re down to a mortgage and HELOC now and we’ve made a big dent in the HELOC. In 2014, I’m hoping to pay off the HELOC in full.
- Resign Microsoft, start Sole Proprietorship: I did it! Yikes! It still quickens my pulse to think that I’m “flying solo” now. Read about moving on from Microsoft and officially starting my own software business.
- Buy and care for a happy dog! I did it! Her name is Tesla and she is a beautiful golden retriever.
- Volunteer: I’m volunteering weekly in three places now: tutoring AP Calc students at Shannon’s High School, leading a programming club, and being a River Community Church Youth Leader. I didn’t expect to start any of these things specifically in 2013. I just knew I wanted to start volunteering. The experience has been a wonderful way to “give back” and share the things I’m passionate about.
- Publish Python modules: I did it! Two of them! I chose two projects that were small and would let me get a feel for Github, PyPI, and Read the Docs. Learn more about the tribool data type and Python runstats module.
2013 was an incredible year for me. I hope it was great for you too. Here’s to an even greater 2014!
At the start of the year, I set a goal to develop and publish a Python package. I wanted to create something the community would find useful, that was useful to me, and that was small to “practice” publishing. Little did I realize how much I was over-thinking it. If you’re reading this now and considering a similar goal for yourself, then I encourage you to dive-in and leave your perfectionism behind. It’s really quite fun.
I’m happy to announce that I created and published my first Python package: the Tribool data type. Tribool objects implement three-valued boolean logic where the values are True, False, and Indeterminate. An Indeterminate value is either True or False. Computing with Indeterminate values sometimes has interesting results. For example, False and Indeterminate is always False but True and Indeterminate is Indeterminate. My implementation internally relies on a set of tables and maps Indeterminate to Python’s None datatype.
This is the first piece of software I’ve created that is truly public. You can test out the module yourself with “pip install tribool” from PyPI if you have Python installed. And you can inspect the source or even make contributions on Github. You can also read the Tribool documentation online.
I know I’m late to the party of sharing code in the Open Source World and it’s really kind of exciting. Better late than never. It’s so easy today to share tools and technologies. Thanks to all who have shared already. In particular, thanks to Kenneth Reitz for his samplemod project.
Now it’s official — I’ve received my Santa Clara Business Tax Certificate. Woohoo.
I’ve just got to wait now for the money-tree seeds that I’ve planted in my backyard to grow. Where did I get them you ask? Well online, of course. They’re probably made in China or something.
All joking aside, Grant Jenks, now open for business.
Today I completed the V3 “Style Milestone” for My Web TA.
I think I should setup a demo next… if you’re not Shannon or myself, you’ll get stuck on the Login page pretty quickly. Although you can see the FAQ page (gear -> FAQ).
After demo… pricing? 🙂
Today was the first successful deployment of MyWebTA.com to Shannon’s Period 5 Physics class:
- Everyone signed-in. (This simple task brought the server down for 3 hours at the initial attempt on Tuesday).
- Students digitally edited an assignment on the class-set of iPads.
- Shannon reviewed student’s work from her online dashboard with pivots like, “show all answers to question 1 for this assignment.”
- Shannon created the digital assignment last night by uploading and modifying a PDF through her browser.
Some day we’ll say, “this is where it all began.”
Today I officially resigned my position at Microsoft.
In the summer of 2006 I commuted by Microsoft’s Silicon Valley campus each morning and looked longingly at it. I made it my goal back then to eventually work there.
In 2007 I got my first opportunity and joined a compiler team codenamed Phoenix as an intern. I had a great experience and joined full-time the following year when I graduated. I moved to Washington and Shannon joined me the following year.
Life at Microsoft has been more up than down and I was glad to remain with them in 2011 on a leave of absence while I pursued Mission Year. I returned after that year to the Bay Area and began working with my team in Redmond from the Mountain View offices.
At some point in the last year, I was commuting to Microsoft and realized I had achieved my goal. I worked in the very offices I used to pass by longingly.
At the start of this year I set new goals. Unfortunately that means leaving Microsoft for now.
It’s been a good 5 years. Thank you Microsoft for all the experience and memories you gave me.
Hi, my name is Grant and I fixate on problems.
It all started when I was young. I wanted a way to automate all the math problems I had to solve in school. That started my affair with computers. Rather than sitting down and solving the math problems myself, I could just teach the computer to solve them and then it could solve hundreds of variations on that problem. I was never much one for games but I loved the idea of computers playing games to solve problems. My intuition was often brute-force search, which, though I couldn’t do it in my head, a computer could do it in seconds.
My early successes with computers were habit forming. Whatever the problem was I thought I could solve it with a computer. I grew up in an area (Cupertino) where computers were all the rage anyways. Everyone spoke of them and their infinite potential. Would a computer become sentient? Would one cure cancer? When would we start learning from them? Though I now see that their major use is making money in business and consumer markets, I hold on to the hope that their making the world a better place.
I’m excited to announce the launch of a new website designed to help us with fundraising for Mission Year!
Good Shoppr is a fun new shopping site that aims to give you a great shopping experience: a wide range of products, the ability to influence what we carry, and the knowledge that every purchase is in fact a good deed. You can browse and shop on Good Shoppr knowing that a portion of your purchase will go to the not-for-profit organization we highlight at the time.
We started Good Shoppr as a creative way to raise funds for charitable organizations. We are not in it for personal gain (other than the ability to support causes we care about), and all our proceeds will go to our chosen charities. (As we grow we may need to offset some taxes and expenses, but our aim is to keep those to a minimum).
Our affiliation with Amazon assures you of secure purchase transactions and reliable shipping. When you are ready to checkout, you’ll actually use Amazon.com and enjoy the benefits of your existing Amazon account.
Shop for goods, shop for good on goodshoppr.com.
My wife teaches Chemistry at a local Public High School. With that, we often discuss the schooling and education systems in America. I’m fascinated by many things in the broad subject. Last weekend, my wife commented on how difficult it is to have large classes. My wife explained that students do better in smaller class sizes. The extreme however: 1 student per class is not optimal. Students need a social atmosphere but at 30 students per class, teachers struggle to maintain an orderly classroom and grade assignments.
I started doing some math (just back-of-the-envelope stuff) to determine why class sizes are so large. A startling realization was how little schools benefit from increased production. Most manufacturers will recognize the biggest profits in economies of scale but for education this doesn’t work so well. The issues are numerous: locality, non-linearity (students learn at different rates), quality/standards, etc.
Having come to a realization that most educators already have, my wife further explained that the tradeoff is usually: smaller classes or cut after-school programs. In her experience, parents would be livid to learn that sports programs or special-interest clubs had been cut. But their not so upset to learn that class size has increased from 30 to 35. Reflecting on this, I realized that we’re most sensitive to the absence of a thing than to a degrade in quality.
There are interesting implications to this: you’ll pine for something you don’t have more than you’ll want a higher quality thing already in your possession. Not only is this exhibited in education but also more broadly in products.
I work at Microsoft and one of the best things we’ve got going for us are features. Features. Features. Features. Our big product units are all centered around delivering good customer experiences which we deliver through features. Compare our products with another software line and we’re likely to go straight to the features for a comparison. This strategy has been wildly successful. I think, in part, I now know why.
As much as we have features, we have bugs. Microsoft is always getting lambasted for poor quality. Though we work very hard to produce high quality products, we don’t always meet the bar. But somehow Microsoft is still making billions. The reason is this: too many missing features and you won’t buy but all the features you could dream of at poor quality and you’ll just buy it and complain.
I’m reminded of a story I heard about a conference that took place years ago. An upset man in the audience called out, “When are you going to stop producing this crap software?” The speaker responded, “As you soon as you stop buying it.”