Chuck

Saturday, September 19, 2009

I don't like IDEs anymore.

I spent seven or eight years using Eclipse as my primary development environment. I never really questioned it until I switched jobs and saw some of the mavericks using Emacs, Vim, and command shells. I decided to become fluent in Emacs, and have been using it daily for the past couple years now.

Thinking about it now, it's most interesting to me that I never looked back and said "Gee, life was so much better back in the IDE days." Hell no. In my mind, Eclipse is a sofa and Emacs is a treadmill. I have a goal, I'm on task, I know what I want to do and I do it.

My big fancy IDE mentality was all about victimization, blame, and laziness. "Big fancy IDE crash! No my fault." "Big fancy IDE get confoozed and lie! I do bad thing, oops!!" "Big fancy IDE slow on big project, me play while wait!" "Big fancy IDE big and fancy! It break, I no no why. I confoozed."

My Emacs mentality is scientific, hands-on, and active. I can count on one hand the number of times GNU Emacs has ever crashed on me. Emacs doesn't happily chew on gigs of files in the background, caching data that I could give two shits about. When I want something, I ask for it explicitly. My UX isn't impacted by background tasks that are attempting to read my mind, because there's only ever one task: the one I'm doing right now.

Being born into royalty and pampered for so many years feels nice, but over time it just turned me into a fat lazy slob with a soft mushy brain. It trained me to surrender my critical thinking skills. Emacs and command shells forced me to learn how to tie my own shoes and make my own meals. I enjoy the independence and self-reliance.


I tried Komodo today, at the recommendation of a coworker, and it has a nice polished look, but it reminds me too much of Eclipse. The editor looks as though it is based on Scintilla, which is cool. I am a fan of SciTE. The background churn as it attempts to cache everything under the sun makes the UI sluggish and choppy, which blows my mind. I'm running a quad core with buttloads of memory on an SSD. Come on, man. Seriously?

These are only my first impressions, so I'm going to keep at it for at least a couple weeks to get a real feel for it. Maybe I can right some wrongs, but I get the sense it's never going to feel as light and razor sharp as Emacs.

Saturday, February 21, 2009

Celebr-Asian

I've been fascinated by Eastern culture for as long as I can remember. With every passing year, more of that culture seems to become a part of my life. This post is one part enumeration and one part celebration.
  1. I love fighting anime and have seen every episode of Dragon Ball Z. I have seen all of One Piece (personal all-time favorite,) Bleach, and Naruto, and I stay current.
  2. I taught myself to use chopsticks both left- and right-handed.
  3. I own a Zojirushi rice cooker and eat a plain bowl of rice daily.
  4. I own a Zojirushi water boiler and use it frequently for oatmeal.
  5. Shin Ramyun are my favorite instant noodles and I keep my kitchen stocked.
  6. I spent three months in New York with my Fujian girlfriend (now ex) and her three Asian roommates.
  7. I teach myself Mandarin (slowly) and have a subscription to ChinesePod. I've memorized Liang Shan Bo Yu Zhu Li Ye and have sung it before during karaoke with my ex-girlfriend and a dozen or so of her Asian friends.
  8. I have been a paying member of crunchyroll for over two years.
  9. I have been drinking bubble tea almost daily for the past 3 years. I get most of it from Loving Hut, which is on the same block as my office in downtown Palo Alto, CA. I learned how to make it at home as well.
  10. I do Pincha Mayurasana daily, and can hold it for either two minutes or 10 pushups worth. Lesser known is that my inspiration to do so came from the character Zoro in One Piece.
Eastern culture truly permeates my life, and I appreciate the role it plays on many levels. In tribute, I summon my rhyming and songwriting skills! Sing along with me, won't you?

Sweatdrops on foreheads and tidings from kittens;
Tigers a-crouching while dragons lay hidden;
Red paper envelopes brimming with bling; Asia is full of my favorite things.

Rose-colored petals and climactic doodles?
Green tea and pearl tea and bowls full of noodles;
High kicks that fly from the legs of Bruce Lee;
Asia is full of my favorite things.

Girls in school uniform, pigtails, and glasses
Saving the earth while they ditch all their classes;
Chinese and Japanese insanity;
Asia is full of my favorite things!

When the dubs bite,
When the plot stinks,
When I'm feeling had,
I simply remember that Asia is king
And then I don't feel so bad!

^_^;

Friday, February 20, 2009

Timeboxing results

This is part eight of a timeboxed series. [ 1 2 3 4 5 6 7 8 ]

In my kickoff post on timeboxing yesterday, I challenged myself to crank out 7 blog posts in one "night," with the constraint that I spend 30min on each. Herein are the results of that challenge.

Summary

So, was I able to pull it off?

It got difficult toward the end, but I totally did it. And I am really happy I did, because it was incredibly satisfying.

To summarize quickly, the first 3 or 4 posts were kept within 30min, and they started taking 45min to an hour afterward. I found I had to take 15min breathers to recollect my thoughts and try to stir up additional topics and calls to action.

The hump

There was one pronounced hump around 2am when I had 2 posts left to go, and I was seriously doubting whether or not I wanted to stay up and finish them. Partly because I was tired, but also because I was running out of steam.

I finally decided to do it, and I think having pronounced that I was going to do it helped a lot with this. I had just announced I was going to do, so not doing it felt like wussing out. My goal was pushing it, but it was definitely attainable.

Once I had made up my mind, a lot of stress vanished. I find that rather interesting, in hindsight. Just the power of pulling up my britches and getting serious actually made it feel easier.

Overall quality

I was dreading reading back over my late night 7 post scramble a little bit. However, having just reviewed them all now, I gotta say: I'm pretty damn impressed. Everything was 90% of the way there, except perhaps my last post, which felt good, but aborted.

I added some content and changed a bit in a few of the posts, but by and large I was making typo corrections and adding in useful headers to draw attention and break things up better. Sometimes I would use certain words repeatedly, so I'd cut them and balance it out. Sometimes I'd draw attention to something above when I meant to do so for something below. Really trivial stuff.

Unmitigated power!

Here's what I liked the most about this timeboxed posting spree: it really focused me and made me feel like I was exercising a lot of untapped power.

What if I did this every night, in the same way I rhyme, draw, or work on my posture? It's a compelling thought, because I can see developing a high level of skill in writing in a short amount of time. It really is a feeling of power!

And it also makes me think. What other skills could I have if I really wanted them? And what doors would they open?

Try it!

I'm going to start applying timeboxing more in my life, due to my findings in this little experiment. I would urge you to do the same, even if for a short period, if only to feel what this is like. Sometimes all we need is to experience what things could be like in order to ignite change.

Timebox a series of tasks, with a sincere intent and a dutiful hand. You won't be disappointed!

Thursday, February 19, 2009

My quality of life, part 6

This is part seven of a timeboxed series. [ 1 2 3 4 5 6 7 8 ]

In this post I'm going to share a bit of imagery that helped motivate me to continue improving my health, and share some thoughts on the stretchiness of stomachs!

Neck rings & lip plates

Orange skin was a big eye-opener for me, but that was nothing compared to what you see pictured below.

I believe I was watching an episode of National Geographic at the time. In fact, here's a National Geographic video on neck rings. I was fascinated and perhaps even a little disturbed by the elongated necks of these women.

At the same time, this was an amazing testament to the flexibility and durability of the human body. I had no idea something like this was even possible. And if these women could stretch their necks to such an extreme extent with rings as a tool, I could do something as mundane as shed a few (dozen) pounds with food as my tool.

Shrink the fleshy balloon!

In a lot of the "get healthy" literature I would read, there was often mention of how to "shrink your stomach." I don't actually know if that's the proper terminology to use, or if it's even possible, but the idea seemed reasonable.

Images such as the one below for some reason have always made me think of the stretchability of the stomach.

While removing the lip plate and leaving it out might not ever shrink those lips back to their original size, I could easily imagine it contracting at least a bit without the plate to keep it taut. It was easy for me to visualize the lip as a stomach and the plate as the food filling it.

As far as I can tell, the stomach is as open to "suggestion" as the body parts in both of the above examples. Perhaps even moreso. It's a bit like a fleshy balloon. The mass of the balloon may be fixed, but you can force an awful lot into it -- far more than you might assume if you had never before seen a balloon inflated.

The flip side of this is that the longer your stomach is filled with a certain amount, the more relaxed it becomes at that size. Some degree of resistance is lost. The stomach may shrink again when emptied, but whereas a balloon will quickly deflate, your stomach is not so trivially evacuated.

So, this was some of my thinking. Exposure to these sorts of images have inspired thought in me over the years, and helped me to reason about health.

How to shop for awesome and compatible PC parts the easy way

This is part six of a timeboxed series. [ 1 2 3 4 5 6 7 8 ]

I'm no hardware guru, but I have assembled a dozen or so PCs. I recently upgraded most of the guts of my computer and spent a little time developing a simple and straightforward way to find compatible PC parts without having to know many technical details.

1. Use Newegg

First, do all of your shopping through Newegg. If you're a real penny pincher, you might be able to find better deals by scouring the net, but it's just not worth the extra effort for whatever marginally better price you may find.

Newegg is on the level, and will always be within the same ballpark. Newegg is reputable, reliable, and other words that start with the letter R. Newegg rocks. And I am a big nerd, so you should believe what I say!

2. Leverage knowledge of what most other customers bought

If you're dumb as a bag of hammers when it comes to PC hardware, a really good way to hone in on compatible parts is to find a popular and highly rated motherboard that you like and let all remaining decisions be driven by the "Customers Also Bought" feature.

3. Lean on the nerds.

In computer programming, the phrase "Lean on the compiler." is used to help remind us that we can leverage our compilers for many types of hide-and-seek grunt work and save ourselves a lot of time.

In searching for compatible PC parts, you need to "Lean on the nerds." Most of the people spending money on Newegg know what they're doing. If people who buy one highly rated motherboard also buy a certain other highly rated CPU, there is an extremely high chance those parts are compatible.

4. [Freedom to] Ignore the bad comments

If you shop this way and only consider 4 or 5 star products, you are able to (and should) ignore the bad comments. The people crying foul are in the minority for one, so it is unlikely you will experience their difficulties. Additionally, my observation from reading many of these comments is that most of these people are simply buying incompatible parts. Slightly incompatible or huge incompatible, but incompatible.

5. Find "buying buddies" in the good comments

You will find themes in the good comments, and those are what you want to feel out. This is like looking for apartment roommates. You may have some requirements, or maybe you'll know it when you see it, but you'll want to get a feel for what you're getting yourself into before you commit. And the comments that are in the majority will tell you that.

So, be smart. And by smart, I mean lazy. Lean on the nerds!

One way to build better posture

This is part five of a timeboxed series. [ 1 2 3 4 5 6 7 8 ]

I'm a computer programmer and I spend most of my time sitting down. And when you spend most of your time sitting down, you want to spend that time comfortably. For me, this meant a lot of reclining, slouching, and hunching.

Unfortunately, this seemed to plague me with back and neck pains. A bit of reading led me to believe that better posture might help this situation, so looked into ways to improve mine. Since then I've settled on a few methods, the easiest of which I'll share here.

As with my posts on developing rhyming and artistic skill, the key is to simply practice. A lot. And I think the best way to get that sort of practice is to integrate the skill you want to acquire into your daily routine. For rhyming, I constantly goofed off online in an IRC channel. For lettering, while reading technical manuals I transcribed a lot of the content.

For developing better posture, I do this: I sit up straight on the bus.

Mundane, sure, but do it on your daily commute to work for a month and you'll be surprised how strong the muscles in your back become. If you drive to work, do it there. If you are constantly on a plane, do it there. If you don't do any of these things, you're screwed.

I kid.

Really, the idea is simple. Find a relatively short interval of time which you would otherwise spend on auto-pilot, zoning out. You can probably figure out a way to make that time worth more to you, such as going toward improving your posture. Sitting up straight on the bus was one of mine.

The activity doesn't have to directly focus on the skill -- it can support it. Think of Mr. Miyagi from The Karate Kid. "Wax on. Wax off." didn't seem like karate to Daniel, and it wasn't. But it turned out to be a valuable activity that supported his pursuit of karate.

I still slouch and hunch, but I do it far less often than I used to. As a result, I find I very rarely develop neck and back pains any more.

Don't believe me? Try it yourself!

Getting the videos you want quickly with DC++

This is part four of a timeboxed series. [ 1 2 3 4 5 6 7 8 ]

YouTube

Free, Streaming, ugly, mixed bag

These days almost everybody knows what YouTube is. You can stream videos on demand. Maybe not the best videos in the world, but sometimes they've got television shows and snippets of movies. The average quality is pretty low, but hey: it's fast.

Paid services

Paid, streaming, high quality, comprehensive

For higher quality streaming media, people tend to turn to paid services, such as Amazon or iTunes. If you don't have a lot of money to spend, you can sometimes find services with higher average quality than YouTube, but that's fairly rare and the selection of material is usually very limited.

Torrents

Free, fast (if it's current,) high quality, comprehensive

If you want something of good quality, for free, and quickly, you're probably going to turn to torrents.

You can't stream videos you're downloading with torrents, but on the flip side if you've got a really fast connection, you can usually max it out and get the entire video in such a short amount of time that it's almost as instantly satisfying as streaming the content.

The thing about torrents maxing out your connection, however is that this is usually only true for very current media, such as movies or television episodes that are relatively brand-spanking new. Without going into details, the older something becomes, the less likely you are to be able to get it quickly, or perhaps even at all. If you stay current and "ride the wave," this is a great solution.

eMule

Free, wildly varying speeds and quality, comprehensive

If you don't ride the wave, or come late to the game, you may turn to peer-to-peer clients such as eMule. This sort of service can work well, but has the reputation of still being fairly slow for older media.

DirectConnect

Free, fast, high quality, comprehensive

If you are a pack rat like I am, and download and save tons of videos for your "digital library," then one really good alternative is the DirectConnect protocol. My client of choice is DC++.

How it works

How DirectConnect works is you join what are basically "chat rooms," where you and other people are sharing all of the videos (and other files) in your personal stashes. The chat rooms will have basic requirements such as "You must allow at least 2 or more people to download from you at once" or "You must be sharing at least 5 gigabytes of files to join the chat room." or even "You must be sharing at least 5 gigabytes of science fiction to join the chat room." Once you have met the requirements and join a chat room, you can search all of the files shared by the people in that chat room.

Unlock more content by having more content

The requirements part is very interesting, because once you start to find chat rooms with large base requirements such as 150 gigabytes of files shared, you will notice that, if you are able to meet that requirement, you suddenly have an amazing selection of videos at your fingertips.

How quality is maintained

Because these are actually chat rooms, they are not so much the "wild west" where quality and selection can vary extremely, but are much smaller and more tightly knit, with "officers" who inspect the files people share and boot them out of the chat room if the files they are sharing are just blatantly in violation of quality standards.

Other benefits

One other great thing about DC++ is that a lot of people from Europe, such as Sweden where extremely fast connections (like fiber!) flow like wine, hang out in these sorts of channels. I don't know why, but that's the way it is. And that means that the people in the chat room that you are downloading from often have very fast connections. Which means you get your files faster!

One downside DC++ used to have was that you could only download a certain file from one person at a time, so it was very important the other person have a fast connection. But having started using DC++ again recently, I have discovered that this is no longer the case, and you can download from multiple people at once, just like in eMule or as with torrents. Which now means that if you find a good chat room with large base share requirements and a lot of Swedes in it... you just hit the jackpot.

Worth it? Yes!

It took me a while to figure out how to use DC++ well, but it is very much worth the effort. My experience is that it is a good middle ground between the sheer speed of torrents for new media versus the slow speed of eMule for old things. DC++ is populated with pack rats like me, many of them aficionados in specific genres such as anime or scifi, judging by what they share.

In the near future I'll share some specific tips on how to use DC++ well, but in the meanwhile, if you're also a pack rat and have a decent connection and a lot of hard drive space, you should check it out!

Blog Archive

About Me

My Photo
Charles Rector
Palo Alto, California, United States
Do you make wonderful toys? For girls and for boys?
View my complete profile

Labels