Thursday, January 29, 2009

English is a funny language

I just received this from a colleague. It made me laugh so I thought I would share it with everyone.

Words
1. Coffee, n. The person upon whom one coughs.
2. Flabbergasted, adj. Appalled by discovering how much weight one has gained.
3. Abdicate, v. To give up all hope of ever having a flat stomach.
4. Esplanade, v. To attempt an explanation while drunk.
5. Willy-nilly, adj. Impotent.
6. Negligent, adj. Absentmindedly answering the door when wearing only a nightgown.
7. Lymph, v. To walk with a lisp.
8. Gargoyle, n. Olive-flavored mouthwash.
9. Flatulence, n. Emergency vehicle that picks up someone who has been run over by a steamroller.
10. Balderdash, n. A rapidly receding hairline.
11. Testicle, n. A humorous question on an exam.
12. Rectitude, n. The formal, dignified bearing adopted by proctologists.
13. Pokemon, n. A Rastafarian proctologist.
14. Oyster, n. A person who sprinkles his conversation with yiddishisms.
15. Frisbeetarianism, n. The belief that, after death, the soul flies up onto the roof and gets stuck there.
16. Circumvent, n. An opening in the front of boxer shorts worn by Jewish men.

Friday, January 23, 2009

All Songs Considered, Reading,

Sounds

I've been listening to the All Songs Considered podcast on iTunes for the last few months. They always release their weekly show on Monday night. The last few weeks, though, they've made some additions to their programming. One addition which I love is "Listening Party". They've released two of these so far.

Basically, it's an unreleased album streamed in low quality. Today I got to listen to Animal Collective's new album, Merriweather Post Pavilion, which is reference to a venue near Baltimore. I'm totally in love with the rhythms in this record. Although there's no typical screaming and shouting you hear on previous albums (e.g. Sung Tongs, Here Comes the Indian), Avey Tare's vocals are still driving with rhythmic and sometimes incomprehensible lyrical meanderings.

Another All Songs Considered product that they just started recently is a chat with a band or artist. Again, they got on the phone with some members of Animal Collective and got a lot of the fuzzy details that make the band so great cleared up. Does that make them less than great? Possibly to some, but not to me. Descriptive words like "horror" and "trance-y" kept coming up when Avey and the Geologist were talking about how they get things done. There was also the descriptive "water" element which they wanted to focus on when producing their new record. You can see and hear this on the cover and music, and in their new video for My Girls.

All around, this is an evolution of what Animal Collective has been moving towards since Sung Tongs, and naturally will become part of my physical music collection. I want my kids to discover this when they're going through my record collection.

Opinions

Early on my Google Reader this morning, I came across an article on the Guardian about reading. It basically said that if you read one novel a month plus an extra per year (they suggest over summer holiday) from the ages of 8 to 85, you will read 1000 books. With that knowledge, how can you decide which ones to read? I know for a fact that I have not read 13 books a year on average since I was 8. That would be 261 up to this point in my life. As you can see from my Goodreads account, I've read 71 books that I can remember. These are most of the books on my shelves. I have read cover to cover all of those that I claim, and probably 30 more technical books in college, plus probably up to 20 novels in high school and college for required reading. That's 121 since 9th grade. I couldn't even remember what I read before then, but let's say it's on the same trend. That's 173 books since I was 8. I'm 87 books off of my mark already, which is a few years behind. Even if I live to be 85, I doubt I will ever reach 1,000 books.

How do you know which to read? What are you most interested in now? I looked through some of the books the Guardian recommends, and there are more than a few I haven't heard of. I'm not really into fiction, but the more I read, the more I want to incorporate into my "books to read" list on Goodreads and in my life. I can handle multiple books at a time, but I usually concentrate on one, and leave the others in the background for rainy days, or when I'm sick of reading the main one.

I find books using Amazon, my network of friends, book reviews and trolling bookstores. Most of the time, I'll find a topic I become totally fascinated with and find the highest rated books on the subject, and binge them. That's basically what the Guardian is asking you to do for 77 years of your life. Binge on novels. They guarantee you will be very interesting by the end. I say that you will be a better reader by the end.

I'm not worried about finishing my 1,000 books before I die, because I'm getting better at it. But, the signs of "reader's block" have started. Creativity isn't just a requirement for the writer.

Programming

I have no great insight for this post. However, I've been writing a lot of Android apps, helping people write iPhone apps, and setting up a server with DNS and MySQL table replication. I have no goals or plan for this knowledge as most if it is necessary, therefore the insight is not revealing. Once I have some tidbits I'd like to share, they will be posted here.

Tuesday, December 09, 2008

Windows cmd, Slow Crab, Jug bands

Sounds
When I was getting into the Greatful Dead a while ago, I always read that they had started as the Warlocks and as a jug band. Until recently, I had no idea what that meant. While listening to NPR this weekend, I heard a sound slightly familiar. It sounds a big like the Garcia and Grisman records I love, but there were quotes from all types of music, multiple instruments trading fours and eights, and too much improvisation. It eventually turned from folk to rock in a transformation I was perplexed by.

How did they do that?

Then I realized it was a jug band. I have no idea which one, but it's my new goal to hunt them down. More to follow. In the meantime, check out Country Joe and the Fish and Will Shade's Memphis Jug Band.

Opinion

I've been getting more involved in Slow Food recently. I have a garden, possible bee hive, and lots of other foodie related projects in the works.

Vanessa and I volunteered for this last weekend's Slow Crab event in the SF County Building in Golden Gate Park. What a blast! We'll now be on the "A" team for Slow Food events around the Bay Area organized by our friend, Vera. She is a wonderful cook and person.

Slow food, I feel, is missing some of the sustainability principles, but at least is getting people thinking about where their food comes from. The manifesto is basically a development of the mission "Good, Clean and Fair". If everything you consume (food or not) is good, clean and fair in all regards, from raw materials to distruction, then you're doing better than most Americans. Doing better is not what we're all after, though, we want to set some new guidelines like Queen Victoria did with manners and dress.

Check out http://slowfood.com/ if you love your food, or if you're sick of shopping at Target and eating at Applebee's.

Programming

This is quick because I can't share much of what I've been doing these last few months. I've learned a lot, and have attempted to make programs in languages new to me (Java and Ruby mainly...on Android).

One thing that bugs me to high heaven is working on Linux boxes all day, and coming back to write documentation in Windows (something required of me) and missing all of the great command line tricks *nix gives you. One thing is tab completion.

There's an easy fix for this and it has to do with the registry. Since Windows 2000, the default completion character is the null character...and that doesn't work!

So, if you want tab completion, start regedit by Start > Run... > type 'regedit' > click OK.
Browse to:
HKEY_CURRENT_USER/Software/Microsoft/Command Processor
Change the value to REG_DWORD 0x09 (hex), which is the ASCII value for horizontal tab.

Wednesday, October 15, 2008

1000 Albums, "Green" cycles, Linux commands you cannot live without

Sounds

NPR's All Songs Considered recently interviewed author Tom Moon, who wrote the book "1,000 Records To Hear Before You Die". He went through tons of recordings (obviously), and came up with a list of the most important to the history of music and culture in the world. These may not have significant appeal to you personally, but objectively, these albums all have something unique and important about them.

For example, the Hot 5s and Hot 7s. These were the first recordings that featured African Americans on wax in the US. Louis Armstrong was fantastic at this time in his life as well. Another example is Grease. This is something that is not important to me, but I understand why it's there.

It made me finally remember why I studied music in college. It also made me realize why I haven't liked music in four years as much as I had prior to four years ago.

Opinions

The world will always heal itself...with or without us. Earth doesn't need us to survive and continue existing. I think the strongest argument for taking care of what you have isn't what's in the Bible about being a good steward, which my mother always reminds me of. She has translated this into "be a good steward of the stuff you have." I now realize that it was written to mean everything. Not just "stuff", but everything you could possibly affect during your short life. I don't think the answer is to minimize everything in your life, but it is to be conscience of what your purchases, actions, thoughts, dreams and work actually do for other people, for the Earth, for the future, etc.

There is a Native American proverb which goes "
We don’t inherit the land. from our ancestors, we borrow it from our children". Ironically, I feel this is how we should be thinking about our lives.

For example, rather than say: "We have 50 years of oil left if we continue to use it the way we do today, stop using oil" say: "Our dependence on oil does damage to our environment, but it does things for us which are conveniences which we aren't used to living with out: heat without a fireplace, quick and rampant transportation options, overproduction of corn and soy, electronic "toys", etc. How can I affect change to use something other than oil (which would be better on the environment and could actually make entropy work in reverse...with biodynamic and sustainability practices) to continue using what I currently use and have, or how can I replace or cut these things out of my life so as not to leave my footprints on this Earth?"

So, the questions and answers are very involved. I'm still on the path to finding answers to some of the questions I have about how to replace or remove things from my life...and more questions pop out. It's a constant struggle, and I think if we're conscience of it moving forward, unlike we have been in the past, we'll have a better chance of not killing ourselves in the short term.

And, like I said, Earth will heal. Carbon will be eaten up by trees which can grow on land previously covered by ice. The oceans can eat carbon, too. Plants and mushrooms will take over and the very strong animals will survive in the meantime. Even if we eliminate ourselves and other large mammals, fish, birds, and insects...plants, water, air, bacteria, and virus' will live on.

Programming

If you're going to use linux, you need to learn a few commands. The good ones are 'grep' and 'find'. Once you figure those out, learn 'sed' and 'awk'. 'screen' is another great command that lets you have "tabbed" shells in one session.

I've been working with configure, automake, and Makefiles for the last couple weeks. I've been trying to learn each of these tools inside and out at the same time, so it's been a challenging couple weeks. I know that I'll be better prepared for development on any OS in the future because of this experience.

I won't give you any specific examples, but I will recommend that to learn these tools, find a package that has a lot of dependencies (say MythTV or Xine). Create an NFS partition in your home directory which models the directory that you would put on another chipset. You should have a cross compile toolchain. We're using CodeSourcery G++. Set up a Makefile which will help you build quicker and easier once you have all of the kinks worked out. We're using a Makefile.common file to declare variables that are used in more than one line. Examples of this are the chipset we are cross compiling to, and directories that we want to point our linker to to find cross compiled libraries.

The Makefile itself should have sections for each step. For example, if you're building libxml2, have xml2_configure, xml2_make and xml2_install sections. You can make section called xml2, which calls those out in order:
xml2: xml2_configure xml2_make xml2_install
The other way to make things easier is to use an environment variable defined in your Makefile or Makefile.common which sets the path to all configure and make scripts for various packages.

Now, when you run into a problem, use the tools described above to help debug files. Remember, configure will create files (they're listed in the output of the script) which are used to help the general Makefile build your libraries. The Makefile will compile and link all libraries, and install will create executables and move them to the proper directories.

When you're all done, you won't have anything working on the host system because it's compiled for a different chipset. So try running it on that chipset to see if the compilers worked like you wanted them to. If you build the Makefile properly, you should be able to zip this directory up and move it to another build system and remove all of the work required to cross compile MythTV or Xine.

Friday, October 10, 2008

The music of Video games, bicycling clothing, automake

Sounds

I stumbled on 380 YouTube videos which all have the title sequence: "From Bleeps to Beats/The Music of Video Games". The site which organizes these videos in a more aesthetic manner is called "Gar's VGM Site". These videos were compiled by a man named John, who is from Montreal. His handle is "garudoh".

I believe the music was extracted directly from the ROM, but it's never credited. The complete sequence of every tune from the games is represented. I've been working my way through from #1 and have to say that he's done an impressive job of including video game content as well as music.

I'd like to clarify why I think this is music. There are some incredible tricks that composers used to make the music not only listen-able but that is related to gameplay of specific games (side scrolling action games tend to be in 4/4 and have a lot of snare sounds...like Sousa?) and can be listened to over and over and over again.

I'm not a gamer, and haven't really been since Genesis was popular...so listening to a lot of these is a mixture between admiration for the composers and memories of my childhood.

Opinions

I got a pair of Cordaround's Bike to Work Pants in the mail yesterday. They are very comfortable, durable and close to being acceptable in a formal setting. They're fine for my workplace, but they wouldn't work with a button down and tie....at least I couldn't make it work.

But I'm no fashionista (fashionisto?)

It got me thinking about clothing for biking. When I sold my car for a bike last month, I thought about what I needed a bike for, and then shopped for that kind of bike. I don't want to have one bike. I love biking and have done it for many years. I want to have a utility bike first (for groceries, getting to work, etc), road bike second (for weekend trips to Marin) and a mountain bike third (for doing what I love most about biking...playing in the mud). The second two need to be top notch, so my goal was to make my first bike a fixer upper, so I could re-learn all about bike maintenance and repair. The bike I got was a 1970s Motobecane Grand Touring. It's yellow and silver. I'm going to change the wheels, rear cassette and cog (should come with wheel), bottom bracket and crank (need 175mm crank, and I might have to rethread the bottom bracket), possibly fork headset and handle bars...then brake levers and dérailleurs.

Anyway, I got to thinking about necessary accessories. There are lots of clothing that bikers tend to wear...you can see this in any bike shop. Shoes are essential, as this is part of the pedal/crank/chain system. But the pants and shirts are what concern me. Spandex is good if you're training or racing...but for fat slobs riding slowly with their girlfriends down abandon roads or wine tasting...please stop today.

There is a need for better "clothes" to wear while biking. Clothes that you could wear if you weren't biking either. They have these for camping, hiking, skiing, mountain biking, skating, and plenty of other sports (how many jerseys do you see at football stadiums...in the stands?) Why not utility biking and every day biking?

So I talked to a couple people and we concluded that the market probably hasn't had a demand for it yet. With rising gas prices, the new incentive ($20/month pre-tax from employer for riding your bike to work rather than driving) to ride your bike to work, the response in the Bay area surrounding increased commuters taking their bikes on public transportation, and many other factors are indicators that people don't want to drive anymore. They want to ride! And with that, let's make it more fashionable by providing fashion and clothing with is just as much utility as it is regular clothing. I'm waiting for this to improve.

Programming

The automake tool has been causing me headaches for the last week or so. I've been attempting to cross compile (to an ARM Cortex-A8...BeagleBoard) Pango because it's a dependency in a project I'm working on.

Learning Linux is satisfying. This is going to be more of an opinion post than anything, but diving into generating a Makefile from scratch which auto builds an entire list of dependencies in order to do this for other systems and compliers is a great thing. Tracking down bugs helps you learn the tools that are part of Linux (less, more, grep, etc), it helps you learn about log files, read through errors quicker, and figure out what all of these dependencies do. I'm learning more about how to start a project by learning how to make a project that's broken than I did programming with Windows for 4 years. In Windows, you don't have to mess with this stuff. There are some complicated things you can learn how to do in Windows...but their alternative in Linux is easy (e.g. DirectShow vs. GStreamer).

On the flip side, the "complicated" things in Linux really aren't that complicated, and are actually minimal for a reason. The alternative on Windows is obfuscated by their license. We can never know how some of these kernel level things happen in Windows because it's hidden on purpose.

Proof by induction: Linux is more user friendly, although more difficult to learn in the beginning.

Thursday, September 04, 2008

The Walkmen, Fad Diets and What Being a Developer Means


Sounds
Vanessa and I went to the Outside Lands Music Festival in Golden Gate park two weekends ago, and one of the more exciting shows I saw, and one which I haven't read about at all, was the Walkmen.

Take a listen. Think of a guy who doesn't know how to sing well, but a backing band that is full of amazing musicians. Then think about how red his face turns from screaming. It's pretty awesome.

Opinion
In January of this year, Vanessa and I had done the "Fat Flush Diet". She wanted to do some sort of cleansing flush diet, and I wanted to try the Zone diet due to it's popularity with the Crossfit people. I lost 20 something pounds in three weeks. I put 20 pounds back on in another two months. Now, I'm down 10 pounds from my original weight on January 1st, 2008. Vanessa has transitioned into the South Beach diet, an old favorite of hers, and I started down the track of the Whole Foods thing, leading me into the Locavore ideal.

There are a couple things I've noticed from most of these diet fads. First of all, most focus on removing something from your diet. Be it starch, sugars, fats, or things from farther than 100 miles away from where you're at. Secondly, when I'm actively participating, I think that the diet I'm on is the only one that's right.

The logical conclusions from these two issues is that a.) I (we as Americans) just plain eat too much, and b.) I (and thousands of others) are easily persuaded by the writers of these books. I hate being persuaded, so I think I'm going to continuing doing what I think is right. That is what's kept people alive for thousands of years prior. I'd like to eliminate consumerism from my life and actively participate in growing foods and eating what I can grow. I want to rely on as few people as possible, and only those in my community. This should be said for all things. I won't hire India to do work someone in my neighborhood could do. I won't drive a car when I have time to walk or ride a bike. All of these things are contagious in San Francisco, and I feel like I'm the silly new guy just figuring it all out. But every new guy does it a little different.

The opinion here is that fad diets are for the birds. So is industrial farming. Don't starve yourself of nutrients, and don't gorge in them either.

Programming
Thinking about "hats" that are worn by the typical software developer today, I had a list in my head. A software developer is:
  • An expert in legal issues regarding licensing
  • A craftsman
  • A project manager
  • A conductor
  • An author
  • A problem solver
  • A poet
  • A expressionist
  • A quality analyst
  • A scientist
  • An overseer
  • Hired help
  • An editor
  • A critic
  • Simultaneously an expert and a novice
  • A typist
  • A data entry person
  • A researcher
  • A librarian

Tuesday, August 19, 2008

The beginning

For a new format that I finally realized might work in this blog, I'm going to write about one topic of each of the three broad categories in each post (or at least attempt to). Today, I'm going to write about a genre that started in Ghana, my semi-informed opinion on working out and dieting, and Linux (specifically what I'm learning with semaphores, signals, and mutex's and how to make linux light).

SoundsI got a great CD the other day from Amoeba Records on Haight Street. It led me to look up the history of Nigeria, which led me to find highlife. Highlife is a genre that started in Ghana in the 1920s, and lasted until the 1980s. Apparently, it kind of died out in the early 1970s after the war in Nigeria, but it's what led to afrobeat and the funky/disco music of the 70s and 80s western Africa. I still like Ali Farke Toure better than, say, Fela Kuti or Tony Allen (both part of Africa 70), but that's a matter of preference. So, check out highlife music, especially this guy. It reminds me relaxing on the beach after a really hot day (on the east coast of course) and eating a light and delicious dinner. Maybe Nantucket needs me for a week next summer?

Opinions
I've been going to the gym 4 mornings a week for the last month and a half. I spend about an hour each time. In the beginning, I had to get back into the work out mode (aka back into shape), so I did a lot of rowing and bike riding. I would lift weights and do my standard warmup:
3 sets of the following:
15 seconds of Samson Stretch on each side
10 overhead squats with a light bar
10 situps
10 back extensions
10 pullups
10 dips

Of course, in the beginning, I could barely do 10 pullups, and now I'm only at 2 sets before breaking into my workout, but I'm confidient that I'll get to 3 pretty soon (within the next month).

My workout today got lots of looks from gay men, guys with huge muscles lifting light weights, and almost every woman who caught the weight I was pushing with their eye.

Why? Do I go to a pansy gym? Maybe I work out with a bunch of Republicans for a reason. Maybe it's so that I can make friends with bankers, real estate brokers, advertisting CEOs, and venture capitalists for a reason. I just made a huge impression on all of these people: Don't fuck with Ben, he can probably kick your ass.

Well, guys. This is my opinion. I'm not that strong. I'm a likeable guy, and the weight I lift is something everyone in the gym could do if they wanted. But instead, they spend three hours focusing on their triceps by pulling on a rubber band and maybe leaning over to look like a jack ass.

I do exercises that make me look like the opposite of a jack ass. I don't care about my muscle tone, because that is secondary to the other 10 aspects of athleticism (I don't know them offhand, but if you check out http://crossfit.com, you can find out what I mean).

If you want to be an athelete over having nice abs, then check out http://gymjones.com/, or http://crossfit.com/, and follow their schedules.

By the way, today I did the "Crossfit Total" with a total of 785 lbs (I almost had 805). I did one back squat with 315 lbs, one should press (i.e. military press) with 135 lbs (no warmup, and failed on 145) and one dead lift with 335 (failed with 355). Next time, I'm going to be over 800.

Programming

So, Linux is easy. It's easy for programmers. I've been reading a book called "Advance Linux Programming" which is about the fundamentals of the Linux operating system. I got through Processes and Threads, and am on the chapter entitled "Interprocess Communication".

I'll have more to write about this once I try to build a kernel and libraries from scratch as I need them. I'm going to make a custom linux distro for an embedded environment I'm working with. I'll have to only include device drivers that I need, cut down the tasks that Lilo has to do (like printing, etc), and then possibly initialize slow devices that aren't needed right away after the GUI library boots (I'm thinking of just using FrameBuffer and a ported GUI library that works with it).

More to come on this front.