Tag Archives: Uncategorized

Summer trip

This is a blog post about me as much as it is about Sandhill. You have been forewarned. This blog has been and will always be foremost a notepad for myself.

This blog post is in reaction to this post.

I visited this place briefly, but have yet to blog about it for various reasons. For one thing, over this year I have learned that people have sensitivities to things that I wouldn’t think of imagining, let along being able to anticipate, and so I have erred on the safe side of not doing anything. As Nick knows the current people at Sandhill much better than I do, I can now assume they are fine with blog posts about Sandhill.

I visited Sandhill for the course of about 5 days toward the end of summer.

In planning this, there was some drama related to taking time off from the frenetic pace of the accelerator program for my startup that my cofounders and I were in, as the accelerator was providing us with significant seed capital that was tied to milestones we had to accomplish. More drama cropped up with gender-specific issues that I am still not sure what the right side is. It seems that paranoia about female safety is tied into cultural norms world-wide, directly leading to gender-based restrictions that are not so tied to reality. (When the worst happens, we are not trash because of it. Life moves on). But I feel like as I grow emotionally and accumulate life experiences I understand more and more the source of my parents’ reactions: Simply, that they love me.

This was a so-so time for me. I thought I would be extremely excited and energetic because I enjoy new life experiences and strange environments, but I was still prone to naps instead of exploring the place madly alive and vibrating with enthusiasm. I cannot explain this except perhaps as the normal ups and downs of life. Don’t get me wrong — I greatly enjoyed the trip. But I do wish I was in a better mood during it.

It’s a good thing I feel less upset about not optimizing life, nowadays; instead tending towards taking life as it comes. I feel more and more justified in this as we attract paying students and supporters and some level of externally-defined “success,” even though we pull closer to 40 hours than 100 hours a week, and even though we have have not tried to figure out how to get acquired for a gazillion dollars and are instead following our heart. Even if, as we executed this, some days I slept 14 hours a day and wasn’t very productive and just let myself be instead of being stressed about trying to fix myself, we were still able to accomplish things over time. Not optimally, but that’s okay. Life isn’t an optimization problem. And things seem to have worked out okay so far, based on our kickstarter, for what it’s worth.

Anyway, back to the summer.

I went in by a different route courtesy of flight benefits from my parents — a flight from BOS to DTW (Detroit) to STL (St. Louis, MO) and then I bought a ticket from STL to IRK (Kirksville, MO) followed by around an hour’s drive to Sandhill itself.

The plane was so tiny! They weighed all the luggage and balanced where the luggage was stowed. I still managed to nap on the plane, after I convinced myself that they flew hundreds of these flights a year so probably everything would be fine.

To be honest, I was pretty apprehensive about the visit. These are people who have strong cultural desires they’ve shifted their entire life to pursue. Would they find my morals lacking, that I would be one of those Visitors who came in and added to their workload (shepherding me around) thoughtlessly? ahhh AM I BURDEN TO SOCIETY?

Turns out they were pretty normal people (as is usually the case) who didn’t mind much how other people lived their lives. Well, they did have higher expectations for the people living with them. There was a strong anti-cellphone-in-public-spaces sentiment, although they definitely thought it reasonable to have a cellphone off the farm. (Having a strong opinion or preference, I keep having to remind myself, does not mean being close-minded. The willingness to change (being open-minded) is not directly proportional to how strongly you feel about something (being passionate)). College-educated, relatively well-off, lived in the city and got fed up with it describes one person I talked to. They do think about diversity of people at the farm, even though I never felt overly out-of-place.

Okay, maybe a tad bit when I went to the Dog ‘n Gun giant swapfest of everything ever where there were hundreds of white people and… more white people. o___o hah. The market was so large that many people rode around slowly on gas-engine ATVs (all-terrain vehicles).

I went in never having spent an extended period of time in the Midwest before, or really in a rural area (well, there was rural Mexico for three weeks, but that was during the winter). I was quite curious, as I grew up in the suburbs and always wanted to live in the city. Why would anyone want to move out to a rural area? You only ever see 10 people? Wouldn’t you get bored of each other really fast?

At the end, they asked me what I would tell people about my visit. I didn’t have much to say at the time at the time. Things I should have said: appreciate an entirely different way of living, understand what day-to-day living is like on a small farm, meet some really nice people, eat some delicious home cooking, understand why people would want to live in a rural area. Understand what a sense of community can mean.

It was very interesting going from being able to expect to talk to the same people every day to a few weeks later moving to a new apartment and living with strangers, where I could not talk or chat to a soul for a week if I wanted to.

Things that caught me off guard: not having an infinite supply of eggs at the nearest grocery store and instead being limited to however many eggs the chickens laid. This also meant everyone was pretty excited about plain chocolate. Lack of a microwave. How obvious farm-work clothes were when I was picked up from the airport. Playing grooveshark in the kitchen, that upset some models of mine about this world. The true vastness of the fields of corn and soy outside Sandhill. Skinny-dipping was the norm as was peeing outside, which made sense in a sparsely populated place.

How much more comfortable it was than I expected. Over the decades, people had put in a lot of work to make the place work very smoothly. There was running water and gas, a clean composting toilet, indoor shower, electricity, internet. There was a walk-in fridge and freezer. Okay, so maybe I started off thinking I’d be staying in a tent ^^Oh! There were so few mosquitoes too. There’s far more mosquitoes in my backyard in GA than in the fields there.

As a guest I wasn’t really involved in chore-work, but I did give it a shot. My sleep schedule followed the sun much more closely than at home in my apartment. I helped: thin beets, hoe in a row, mulch it, pick green beans, squish stinkbugs (all things I was new to and thus terrible at), and weed. Attempt to add a safety cover to a shaft (ah! giant gears nearly my height! wish I had a picture of that), watch the foundation for a new portion of the house be laid, attempt to help with cooking, apply grease to a tractor.

Ah~ bug squishing was the worst. I’m still a bit squeamish about killing things with my bare hands. And so creeeppyy when you turn over a leaf and there’s 20 of the same bug on the underside. It’s actually worse than the surprise from getting a kickstarter update that turns out to be someone retracting a pledge! Ahhh so creepy. And if you’re not quick about slaughtering them all they drop to the ground and scurry away. AND THEN YOU’RE JUST A FAILURE. Do you see those yellow squash leaves? They are staring at YOU reproachfully.

;___; sorry i tried

There was also a five-year-old who ran around and climbed on everything and had giant cuts from a general fearlessness about the world and generally seemed to be having a lot of fun. He asked me why I wanted to nap all the time. If only I knew…

In the end, I came away with an appreciation for choosing small farm life. It no longer seemed puzzling, something strangers did for incomprehensible reasons. There was community, there was hard but satisfying work, there were always more things to learn about the people living and working with you and to understand their opinions, there were things to fix and improve and new people to meet in neighbouring communities and infinite things to learn about agriculture.

Guh this has become a really disorganized rambling post. It contains most of the thoughts floating around my head, and I have no desire to organize it. ah well.

I wish I could relay the atmosphere of the place, but it’s impossible for me to even remember it well in the technobliss of my city life.

–>time to release this post. Go back and edit it into something sensible some other day…Oh yea! Thanks a bunch to Nick for helping organize this and all the folks at Sandhill who hosted me and the people of Dancing Rabbit for having rideshares I could participate in.

Using Arduino with Janus Vim (conclusion, who knows how janus/pathogen work, just follow two-year old instructions)

Some time ago I set up my vim config. This is usually a full-day ordeal for some reason I don’t remember. I don’t recall exactly what I did, but everything works now, and I am very happy with how it functions. My previous experiences have left me very wary of “fixing anything that’s not broken” in vim… but enh I want Arduino syntax highlighting in Vim now that there’s the sweeeeet
File > Preferences > Use External Editor 
option in Arduino.

I think for the most part I just installed Janus:
https://github.com/carlhuda/janus

and it has really great autosuggest that makes typing repetitive Arduino code 10x faster.

Lower left window: Autosuggest! So great~

Okay, so how to install Arduino syntax highlighting in Vim Janus setup?
There’s this way that is pretty straightforward:
https://github.com/vim-scripts/Arduino-syntax-file

Just download file into a directory (in my case, ~/.vim/bundle) and add a line or two to .bashrc

nrw@nrw-PC:$ cd ~/.vim/bundle
nrw@nrw-PC:~/.vim/bundle$ git clone https://github.com/vim-scripts/Arduino-syntax-file.git

Edit ~/.vimrc and append two lines:
autocmd! BufNewFile,BufRead *.pde setlocal ft=arduino                         
autocmd! BufNewFile,BufRead *.ino setlocal ft=arduino 

Voila! Done.

===
Below is a recounting of going down the rabbit-hole, if you ever wonder how I can spend a day on my vim config…
===
However, I feel like this isn’t the cleanest way. So how does Vim/Janus handle syntax highlighting?

I feel like somewhere there is a folder of syntaxes that it handles.
Ah! using “locate .vim” I see that the folder is:
/usr/share/vim/vim73/syntax/

Should I just copy it there? Seems incorrect, I think I have to tell Janus somewhere to look for *.pde files.

Based on the pathogen documentation
https://github.com/tpope/vim-pathogen

It appears that I should git clone my .vim file to
~/.vim/bundle

cd ~/.vim/bundle
git clone https://github.com/vim-scripts/Arduino-syntax-file.git

Nope! I don’t have syntax highlighting after restarting vim (I double-checked with :scriptnames) . Perhaps install in .janus folder instead?
 cp ~/.vim/bundle/Arduino-syntax-file/ ~/.janus -r

Nerp still no syntax highlighting ;__; where do I tell it to look for both .ino and .pde files?

Hmm, it also appears that my Janus distribution is out-of-date based on the documentation (there is no NERDCommenter in my Janus as far as I can tell). But if I try to update
~/.vim$ rake
/usr/local/bin/rake:9:in `require’: no such file to load — rubygems (LoadError)
    from /usr/local/bin/rake:9

Uh oh. I can feel the rabbit hole widening.
http://stackoverflow.com/questions/2896485/no-such-file-to-load-rubygems-loaderror

nrw@nrw-PC:~/.vim$ which -a ruby
/usr/bin/ruby
/home/nrw/.rvm/bin/ruby

nrw@nrw-PC:~/.vim$ sudo update-alternatives –config ruby
There are 2 choices for the alternative ruby (providing /usr/bin/ruby).

  Selection    Path                Priority   Status
————————————————————
* 0            /usr/bin/ruby1.9.1   51        auto mode
  1            /usr/bin/ruby1.8     50        manual mode
  2            /usr/bin/ruby1.9.1   51        manual mode

Yep. Okay, so I need to nuke one of my versions.
 sudo apt-get remove ruby

which -a ruby
/usr/bin/ruby
/home/nrw/.rvm/bin/ruby

http://learnvimscriptthehardway.stevelosh.com/chapters/43.html

Hmm, still two versions. Well. *shrug* Let’s just kill one version. Ugh. I bet this is leftovers from all the EdX stuff I did that never worked and I didn’t really document because I was so frustrated.
AHHHH this is why I sometimes just NUCLEAR and reinstall my OS. Eheh. ^^;

Nooo nooo bad brain nooo it is 10 pm on a Wednesday night. It is NOT time to reinstall my OS. 

Okay. Screw not messing up my system, it’s already screwed up.
1) Add execute pathogen#infect()     to my .vimrc

NOPE
Error detected while processing /home/nrw/.vimrc:
line  134:
E117: Unknown function: pathogen#infect
E15: Invalid expression: pathogen#infect()

Okay… Maybe I’ll just follow directions.

install details
Just put the file in your vimfiles/syntax folder. To automatically use it on PDE files, add the following line to your vimrc file (or e.g filetype.vim to install it for all users) :

autocmd! BufNewFile,BufRead *.pde setlocal ft=arduino

Okay…. I don’t have a /syntax folder. What is going on? Uhh.

Well, I just put it into ~/.vim/bundle. And it works. ~__~ ah well. I guess I just have to follow instructions…

===
Colorize bash prompt
https://help.ubuntu.com/community/CustomizingBashPrompt

so now my ~/.bashrc just contains: 
color_prompt=yes                                                              
                                                                              
if [ “$color_prompt” = yes ]; then                                            
    PS1=’${debian_chroot:+($debian_chroot)}[33[01;32m]u@h[33[00m]:[>
else                                                                          
    PS1=’${debian_chroot:+($debian_chroot)}u@h:w$ ‘                       
fi

For further reading:
http://www.reddit.com/r/programming/comments/697cu/bash_users_what_do_you_have_for_your_ps1/

===
Also, vim things I always forget:
To toggle whitespace,
:set list
:set nolist

To toggle linenumbers,
:set nu
:set nonu

To toggle paste-mode,
:set paste
:set nopaste

Leader key
stackoverflow.com/questions/1764263/what-is-the-leader-in-a-vimrc-file
let mapleader=”,”

So “,n” will open NerdTree.

6 AM rant about arduino

Hello friends,

I would like to convene an FTIAAP, aka Fix Things I Hate About Arduino Party.

Mostly, I think a lot of people use AnalogRead() and would like the Arduino IDE to just graph the variable already. It’s a value from 0 to 1023. I want to monitor it while it scrolls by at lightning speed. No, I don’t want to fire up Mathematica/MATLAB/Processing/Matplotlib (no not even python sorry) and write 10 lines of janky serial processing code. Arduino already has a serial monitor! I want it to be like

┌───────┐

│SWEET  │

│GRAPH  │

│THING  │

┌───────┐
│ Serial│

│Monitor│

└───────┘

*not to scale

Yea. Like that. I’ll take just having updating boxes for each AnalogRead value, even, no graphs needed.

┌─────────┐

│Val1:1   │

│Val2: 123│

│Val3: 11 │

┌─────────┐
│ Serial  │

│ Monitor │

─────────┘

I imagine that jankily it will start out like

X = analogRead(4);

Y = analogRead(5);

Serial.graphsandponies(X);

Serial.graphsandponies(Y);

// Do not run graphsandponies() at faster than 1/10ms or everyone will hate you, including yourself if you are using windows

No more of this crap:

 Serial.print(“x1 “); Serial.print(loX); Serial.print(” x2 “); Serial.print(hiX); Serial.print(“, y “); Serial.println(constY);

Like wtf no.

Barebones, finish in it a night code improvements. That’s what I want to happen.

Oh, okay, so now I got started on things that bug me about the Arduino IDE.

On Linux, want to comment things out? Ctrl-/! Oh wait, all that does is f* up your code. But if you Ctrl-Z twice it will do what you wanted! WTF?

[begin]   

    pinMode(ELPin3, OUTPUT);

    pinMode(ELPin4, OUTPUT);
[after Ctrl-/]

/

[crap Ctrl-Z]

[agh where did my code go? Ctrl-Z]

//        pinMode(ELPin3, OUTPUT);

//        pinMode(ELPin4, OUTPUT);

WTF?

Okay, and then let’s say you, like a true Arduino user, are copy-pastaing off the internet.

 Serial.print(“Hello!”);           //print out hello string

Heck yes. Who wants to actually type out code? Copy pasta!

 Serial.print(“Hello!”);
Ah, I think I need another one.

 Serial.print(“Hello!”);

    Serial.print(“Hello!”);
Another one!

 Serial.print(“Hello!”);

    Serial.print(“Hello!”);

     Serial.print(“Hello!”);
Why? Also seen in the classic “let me triple-click the line to copy it all”

       LED_ON = true;
“hit enter and paste it”

       LED_ON = true;

               LED_ON = true;
Why? Also seen in the “let’s copy more than one line”

       LED_ON = true;
Okay! Hit enter and paste!

       LED_ON = true;

               pinMode(ELPin3, OUTPUT);

       pinMode(ELPin4, OUTPUT);

       LED_ON = true;
I hate everything.

If enough people are seriously interested I will try to bribe some real Arduino developer to come babysit us through getting familiarized with the codebase.

https://github.com/arduino/Arduino/tree/ide-1.5.x
todo post to: https://github.com/arduino/Arduino/issues?labels=Improvements&page=1&state=closed

~~
I’m going to email this out to friends when I figure out scheduling details and how motivated I am.

Mostly posting this because really what if my last post is making people uncomfortable? Can’t let that happen. Better bump it off into oblivion…