Day 2 without food

Woke up feeling great and think I can attribute that to finally getting a decent night sleep. I did go to bed early and my wife took toddler duty so I had about 8 hours of sleep for once.

I started having cravings when a coworker brought in a breakfast sandwich but that subsided pretty quickly. There was a free lunch of pizza and salad that was damn hard to resist, but away from the smell it didn’t bother me much.

am, though, thinking about food almost constantly. It reminds me of quitting smoking several years ago and what I know about withdrawal of other addictions. I don’t think there’s any doubt that some foods invoke addiction and withdrawal in people, but it’s hard to determine whether those effects are due to tens of thousands of years of evolution trying to tell my body what it needs to survive, or whether or not those are drug-like addictions created by consumption of genuinely addictive food.

I did get briefly concerned about water poisoning with me consuming little but drinking about a gallon of water a day. I don’t know what it takes to actually succumb to water poisoning, but just chugged an 8-oz can of V8 (30 cal). Which tasted effing amazing.

Being home and not eating is the worst part so far. I didn’t let my food stock go low before I started this so there are many things I actually want to eat but can’t and I do miss the quick bursts of happiness by eating certain snacks and food. It does feel like I am less able to quickly elevate my mood through food, but retraining myself there might not be a bad thing…

Day 1 without food

After eating my final real meal the night before at 9:00pm, the next day went pretty smoothly up until lunch, when the smells of other people’s food started to hit me. It was a strange feeling, I definitely wasn’t yet “hungry” but I wanted food badly. After the smells died down I was clear for the rest of the day up until 3, where fatigue started to set in. Being tired is probably a combination of a few things, I recently went back to a standing desk at work and my toddler was up for a lot of the night. I’ve regularly been tired for some time due to being overcommitted and stressed, so this experiment is giving me more motivation to go to sleep early and get better rest.

I did have 6 pieces of asparagus and 2 bertolli ravioli last night. I wasn’t actually hungry but my wife made dinner and felt guilty for starting this experiment without first telling her. She is very supportive, she wished me luck and told me she thinks the experiment is stupid, that I am stupid, and that if I get cranky she’s pulling the plug. She loves science.

I started this weighing around 180 pounds (taken the night before starting this) and, after 37 hours of eating just the asparagus and ravioli, now weigh 176 pounds. That’s already more than I expected, but shows how much waste was/is present in my system and isn’t likely indicative of any fat or muscle loss. I’m really interested in how quickly I burn through stored fat once my digestive tract is clear. Really shallow and unscientific estimates place my loss at about 1.5 pounds a day given no consumption and average (for me) activity,

I’m expecting 160 pounds to be a good stopping point, with 150 being an absolute bottom if I choose to go further.

I’m still not “hungry” in the way that I would expect to feel yet. I definitely want food, and there are cookies in the break room that I would destroy with vigor, but I’ve never been a responsible man with cookies so that’s not much of a change.

Personal Experiment : The No Food Diet

I’ve been questioning the idea of how much food one really should be consuming over the course of normal routine and got curious as to how long I could last without eating at all. The questions started when thinking about how abundant food is for a lot of people now and that the hunter/gatherers of thousands of years ago had to endure long stretches of time with minimal or no food at all. Over the past couple hundred years (or even less), food has become far more available and that’s not enough time for a population to regulate itself by way of evolution or mass population decline.

The obesity issues in the United States are a pretty telling indication that we really just weren’t meant to eat as much food as we are now. Not even just McDonald’s or Oreos, all food is food. The base animal urges that drive us to consume large quantities of calorie dense food are now more likely to work against us. Those urges made sense 50,000 years ago; if a tribe made a big kill or found a large crop of edible plants, our instincts would drive us to consume as much as possible for as long as that food source is available. But if that food source is available all day every day, our urges end up working to our detriment.

So I’m not eating for a little while.

I’m not laying down much of a plan and I’m going to be flexible in my adherence to it. One starting rule is that I am limiting myself to one raw vegetable a day around the size of my fist. I would omit food completely and may some days, but having that rule will allow me to move forward without facing a dramatic hard fail scenario. I’m also concerned about the way your body prepares yourself for food when the aroma or sight of it is around. Since I can’t blind myself to food existing around me, I want to have the option of providing some sustenance to assuage any concerns relating to bodily fluids being generated in excess without food to digest.

It’s little more than a fast combined with personal exploration. It is depressing that I can call it that when there are millions of people on the planet who have no choice but to go without food. Maybe I should tally up the savings on my food budget and donate that. If anyone knows any good charities, please let me know.

p.s.
Oh, beer. I probably shouldn’t have beer but I’m leaving the option to have one every now and then because I’m only human. And the generation of fermented beverages has been around for ages, so that fits, right?

Update: The full experience

  1. Personal Experiment: The No Food Diet
  2. Day 1 without food
  3. Day 2 without food
  4. Day 3 without food
  5. Beer and a very empty stomach
  6. Day 4 and a pistachio
  7. Day 5 and first doubts
  8. Bringing back the food

Unapologetically AMD

I’ve been working with JavaScript AMD modules for the better part of a year now and they have completely revolutionized the way I write JavaScript. Requirejs 2.0 brought in some excellent changes and, most importantly, made the shim concept a first class configuration option to make non-compliant code more easily usable.

Unfortunately, AMD adoption seems to be relatively low and the bulk of what you get as AMD-compatible libraries are things written as regular, all-encompassing, terrified of dependencies JavaScript libraries with an AMD wrapper around them. Using tools like Backbone and Backbone.Marionette combined with requirejs almost feels like cheating when it comes to writing single-page JavaScript applications, but I’m always left with a bad taste in my mouth when I try to look for other tools. You can go far organizing an application structure that is eminently extensible and maintainable and then feel like an unwashed slob as you try and wedge some jQuery plugin into a Backbone view that requires some obscure DOM structuring.

Everything seems to want to act as a plugin to something else, which is to say have only one dependency. This mindset forces code down a rabbit hole of duplicated code, omitted features, or substandard implementations. AMD is one of these answers to dependency management and packaging. It’s not a full answer, and it has some quirks, but the benefit is vastly greater than the cost.

I’m done with fitting square pegs into round holes and am now experimenting with an ecosystem of no holds barred, fully AMD modules that are compatible/complementary to Backbone, but we’ll see.

I just know I’m now done with shimming the world.

Uploaded a string-format implementation to github

string-format.js on github

This is an implementation heavily inspired by both console.log and perl’s sprintf implementation.

All you get are 3 simple replacements that allow you to ease the pain of variable interpolation in JavaScript.

It was kept to a bare minimum to make this a no-brainer to include in projects. Minified and gzipped it comes to around 550 bytes.

 

Keyboard battle & The Kinesis Freestyle2 keyboard

Getting further in the quest for the ultimate, mid-priced ergonomic solution I got the Kinesis Freestyle2 keyboard with the V3 risers. I opted for the V3 over the VIP3 due to reports on the size of the wrist pads and fear that it wouldn’t fit on the Workfit-A.

I tried the Goldtouch before committing, albeit an older version, and found the keys a bit harder to press than I was looking for. It probably wouldn’t have been a problem on a more secure desk, but the Workfit-A is requiring some extra consideration due to the wobble effect.

The 2 largest problems I had with the Goldtouch version I tried was the ctrl key was located too far off to the left, beyond the left limit of the normal keyboard, and that the spacebar extended too far. Those problems might seem minor but the less comfortable a solution feels the less useful it is. For the record, both those issues seem to have been fixed in current versions, so my experience is already outdated.

Old Goldtouch vs New, compare which letter the space bar extends to on both, and the location of the ctrl key.

The Kinesis, though, is excellent. Coming from a Microsoft ergonomic keyboard, it was not much of a shift at all. Having the halves completely split is extremely nice, I didn’t expect it to be so useful.

I’d recommend it but also can’t compare this to the newest Goldtouch, so this is not as complete a comparison as I expected.

Moving back to a standing desk – The Ergotron Workfit-A

[Update : a comparison of the Workfit-A and Workfit-S]

Ever since I left Napster I’ve been missing my standing desk and finally committed to one at home. Given the San Diego housing market, we could only afford a thimble-sized house and, as such, making the best use of space is pretty critical.

I would have jumped on a geekdesk but I was looking when they were backordered on the current version and the next version was still a month out. I’m far too impatient for that. That left a few ergotron options and I decided to jump on the workfit-a laptop/monitor setup.

Putting it together was a joy it looks amazing. I was immediately disappointed, though, when I started typing; the typing made the monitors wobble!

I’m only a night in but am adjusting my behavior to see if it works. So far, it’s not nearly as bad as I first thought it would be. I’ve been looking at getting a new keyboard because my microsoft ergonomic requires too much force to type anyway. A split

I *want* to make this work, and tightening the tension and securing it to a weightier desk has helped. Will post a full review in time.

New JavaScriptU this Tuesday

We’re finally getting into node!

I’ve been using node off and on for a little over a year now and have found it works amazingly well in every situation I’ve put it in. It does present a whole load of questions that need new solutions and I’m pretty sure that’s where a lot of the conflict surrounding the platform comes from.

I remember the first time I started using node, trying to write code the way I did before in Java, perl, ruby, and thinking “Are you effing kidding me?” more than once.

One of the situations that stuck with me was looping over some asynchronous call, expecting to just push to some array that I could return. When that didn’t work I remember thinking “Oh god, what do I do?”

Open Everything

Reproduced from a monthly publication with minor corrections

I often take for granted the perspective I have on a world that many people don’t know exists, despite it powering or assisting nearly every product that is made nowadays. As a software engineer, almost all of my work is done using products that volunteers develop in their free time and distribute for free. We call it Open Source, but it’s just free stuff. Free to use, free to distribute, free to modify, and even free to make money off of.

Occasionally I have to explain Open Source when it gets brought up in conversation and I am reminded of how alien the concept is in day-to-day life. The closest anyone can get to free nowadays is a service that is offered at no charge but drowns you in advertisements, solicitations for money, or upsells for additional services. We don’t often get the chance to take advantage of truly free products.

Open Source-style philosophies have existed for ages but the rise of the internet has allowed people to spread information to a wider audience more quickly. The benefits of free information are felt sooner, and the perceived loss of releasing the product of your own creativity for free is reduced. The cumulative effect is already visibly massive and very indicative of what every entrepreneur will tell you, it’s not the idea that matters, it’s the execution.

20 years ago, would you have bet that an encyclopedia owned and run by the largest and most respected software company in the world would shut its doors while a free encyclopedia that allows anyone to edit its content in their spare time dominates the market?

Microsoft Encarta ended in 2009 because it couldn’t compete with Wikipedia, one of the world’s most trafficked websites with nearly 4,000,000 content entries, 140,000 active volunteers, and 40+ translations. This is, of course, omitting the fact that the software that runs Wikipedia; MediaWiki, PHP, Apache, and Linux are all open source and free as well. Microsoft could now (and then) literally have built the exact same service for minimal cost. And so could you, today. Here are the instructions : http://bit.ly/your-own-wikipedia

Open source advocates don’t exist in a purely socialistic bubble which is one of the reasons it has such wide reach. You can release content in the public domain, meaning that anyone can do anything, or under a multitude of licenses that adhere most closely to your personal interests. One popular license is the Creative Commons, which can allow you to specify that you don’t want your work to be modified or used commercially (popular for artists and photographers). Other licenses might give up just about every right but require the user to simply reference the original author somewhere in the derivative work.

There currently exists open source schematics on how to build your own 3D printer (a “printer” that extrudes warm plastic and creates 3D objects). That, combined with open source models, might literally mean that you can open source everything.

And this is just what exists now.

The value of readable code

It’s been written about hundreds of times, but I still find it hard to underestimate the value of code that is both self documenting and intuitive to maintain.

Not my code, my code is crap. Except what I wrote today. Everything I wrote yesterday and before is pure junk.

Most code is. Even code that looks readable at first will likely be crap once you start digging in. It’s always a tradeoff. You can’t maintain superior design while specs keep changing with a team that has different ideas of what clean code actually is. Everyone has different limits as to what corners can be cut in the pursuit of clean code. The dirty dish tolerance level.

It’s an unachievable goal, but the willingness to keep trying and refactoring is hugely important.