Sherry Alford Carter (left in picture), 51, local artist and nurse of Shelbyville, Tennessee, a Coffee County native, died from cancer Thursday, May 2, 2013 at Vanderbilt Medical Center. She was a nurse for more than 25 years. Additionally she taught china painting and other classes as a volunteer at the Shelbyville/Bedford County Senior Citizens Center as well as selling her art in shops in Bell Buckle and Wartrace, TN. She was baptized at Westwood Church of Christ in McMinnville, TN and attended church in Shelbyville, TN. She was the daughter of Jeff and Judy Mason Prosser of Shelbyville, Tennessee.
She is survived by her parents; her husband, Robert Carter of Shelbyville, Tennessee; her two sons – Jason (Denise) Myers of Christiana, Tennessee and Christopher (Misti) Fritz of Shelbyville, Tennessee; two grandsons – Mason Fritz and Callum Fritz of Shelbyville, TN; one brother – Barry (Melissa) Alford of Shelbyville, TN; three sisters – Jean (Brent) Alford Brock of McMinnville, TN, Melissa Alford Hice of Manchester, TN and Kerri Martin Troxel of Shelbyville, TN; nieces – Bailey Brock of McMinnville, Carly Troxel of Franklin , Casey Alford of Tullahoma, Brittany Evans of Manchester and nephews Ryan Alford of Manchester, Grant Troxel of Franklin, Noah Troxel of Shelbyville, James Marler of Manchester, Buddy Wayne Evans of Tullahoma and 6 great nieces and nephews.
The family will have a private memorial service. In lieu of flowers, the family requests that donations be sent in Sherry’s name to Shelbyville/Bedford County Senior Citizens Center, 111 J.G. Helton Drive, Shelbyville, TN 37160.
HackNashville, is one of my favorite events we have in the Nashville community. I’ve been to both of them so far, and I’m very much looking forward to the third. I thought I share bits about what I learned from my two different experiences, and what I plan to do different this time. These are my opinions, and I wrote the article to myself first and foremost, so it’s kinda preachy.
- Think of some project ideas make sure to have a why prior to the event
- Think about the tool set prior to the event
- Don’t be afraid to pick an idea
- Once on a team, write out feature goals FIRST
- Take frequent breaks as a team
- If you live close, go home to sleep
- Eat in moderation
- Cut the feature set
- HAVE FUN, DON’T STRESS!
- Think about presenting
- Relax and Show your work, explain why it’s important to you.
Okay that is out-of-the-way let’s continue on.
My first HackNashville, I was still working towards becoming a C# or PHP programmer. I had also just learned I was a diabetic, and was still in a bit of a freak out mode with diet etc. I listened to all the project ideas, and I selected the one that was going to use C# since I was on that trek. I started out with a couple of C# guys who had limited time that weekend to build something and we built a file system visualizer, but then I was left looking for another project to join. I joined up with some guys learning jquery-mobile and couchbase who had kinda fallen into a team just because they hadn’t latched onto another project. I took very few breaks the first day, and by mid afternoon day 2 I was done for. I had to head home to get some rest, and I had intended to return to hack Nashville that night, I ended up sleeping until early AM Sunday. This was bad for both me and my team. The rest of my team had taken very few breaks, and they were exhausted and unable to ship everything by Sunday evening. While both project 1 and 2 had a demo, neither really reflected well on my efforts for the weekend. Nonetheless, I learned a ton about my programming skills, had a ton of fun, and learned how a hackathon works.
My second HackNashville was dramatically different, I want to learn about python in preparation for a job I had just taken. I decided to pitch an idea with the encouragement of several of the more senior developers I knew. I detailed the human need for a diabetes monitoring system and that I wanted to write it in python. This gave people a very clear idea what we were doing and the base technology we were going to use. A team of 4 people formed over the course of Friday night. We worked much of Friday night determining what features we wanted, and put them in the project readme where we updated them as we completed them. It was always clear what was next, and people could pick the parts they were interested in. Our team took SO many breaks over the weekend. In fact, we played several hundred games of ping-pong. Teammates went home every night, some went to a concert, movie, apple store, and Crema; however, more importantly we all slept! I felt this made a huge difference in how much progress we made everyday, and certainly in how we worked together. Design decisions were made quickly with everyone who wanted input having a chance and the group as a whole deciding how to go forward. When Sunday morning arrived, we made another full pass over the features, and cut everything we didn’t feel we’d have demoable by Sunday night. I also focused on eating in moderation at this event. There is basically food and drink anytime you even think you want anything, which is awesome for cravings. But it can completely lead to sugar crashes, caffiene jitters, bad thought processes and negative emotions. These things are quick to grate on teammember’s nerves, and you’re own. I’m so appreciative for all the supplies, but eat like you would normally don’t go overboard.
One thing, I saw the first time and applied the second time was the that presentations are all the game at the hackathon. You need a slick idea and a working piece of software; however, the way you show it to people and the excitement you build around it is an important differentiator. Many versions of my presentation story are told by different people at the second event (I know I was tired and barely remember what I said), but I made sure to tell my story with my pitiful excuse for a life-assisting device the glucometer and scream “this site is live, shit is real, and this shit works.” That last line is the one I can’t seem to live down, but whatever. That presentation left a weird impression in people’s mind. A little bit of presentation magic will go a long way as people are tired and it livens things up.
SIDE NOTE: Think about what happens with the project when you’re done and who owns what. I’m not saying you need an IP agreement up front, but many people will want to continue working on the idea after HackNashville is over. Have a plan and prepare to be flexible about what belongs to who and how to go forward. Also, keep in mind that after an intense weekend, people’s mind will clear and life will reclaim their time and they may not want to continue forward. Remember you where in a safe bubble for the weekend, and don’t fault or get upset when people can’t continue contributing after it’s over.
Finally, Have fun. The organizers and sponsors are creating an environment where you can be a geek in a safe environment. Geek out, work on crazy stuff, learn something new, compete hard, or do all the aforementioned things, but relax, slow down, and be kind. I’ve enjoyed working people I’ve met from both events, and at the second one people from the first event joined my project. I see these same people at events other than HackNashville, and it has led to nice friendships and a greater sense of belonging in our community. Now on that safe environment thing, you’re there to have a good time getting your geek on, and keep that the focus. You’re mastery of middle english curse words might be funny, but it’s probably still offensive. Keep it light and fun. I want to see every race, creed, sex, religion, sexual preference, and whatever else I may have not even encountered yet to feel safe at the event. The diversity on the teams can lead to some amazing things.
See you at HackNashville in a couple of weeks!
- 11/12/13 Plan (Top Secret)
- Get down to >17% Body Fat
- Save 10% of my income
- Spend less time driving
- Buy only one computer
- Buy no other technology
- Develop GluTrends into a fully functional product
- Become more proficient with Python
- Contribute to one open source Python library
- Speak at a Python conference
- Blog regularly and have something to say
Well, the end of the first week of #Penguinember is drawing to a close, and I thought I’d share how it feels so far. I’m a very simple computer user. I use the computer for the following things: programming, web browsing, email, irc, twitter, graphics editing, cloud storage, and music. On Linux I’ve been using Ubuntu with the Unity desktop, VIM, Chrome/Firefox, Thunderbird, Xchat, Hotot, and Spotify. So basically the same setup as my Mac, except for Postbox for email, Linkinus for IRC, and Tweetbot for Twitter. On the android side of the house, I’m using all the same apps as on IOS except for paper and tweetbot.
For me the biggest difference at first was the fonts. In fact, I almost gave up early on Tuesday due to poor rendering in the XFCE desktop environment. However, a quick switch to Unity and a few tweaks to the fonts and sizes made that problem basically disappear. The next thing that is messed up is Twitter. Tweetbot is simply awesome, and the twitter clients for both Linux and Android leave so much to be desired. I’ve tried Choquk, Hotot, and Turpail. They have nothing on the usability of Tweetbot. As twitter continues to decimate third party clients, it’s only a matter of time before all that is left for Linux is the web client anyway. Lastly, the missing Kindle client for Linux is a bit annoying. I started trying to buy DRM free ebooks about a year ago; however, I still get them as gifts or review copies from Amazon. So, I do miss having my full library available to me. Android is a different story. I find the interface to be a bit smoother, but the overall usage of the device is slower. I tend to spend more time switching between Apps, and waiting for apps to get data. I’m talking to you facebook and foursquare. Those two apps on my Samsung Galaxy Nexus seem slow… Of course the lack of a good twitter client is present here too, really it’s about nothing syncing like tweetbot. I hate rereading tweets. I also have been using my Nexus 7 tablet, and just like using it prior to getting the ipad mini it is wonderful. I like everything about that device, except the app store which has and is getting better day by day.
Other that those few issues, everything else for me is the same. I haven’t run into any major issues, in fact my years of prior Linux use are starting to come back to me in keyboard shortcuts and usages. I think I may be too simple of a use case to run into to much difficultly.
On OS X, I use better snap tool to get quick keyboard shortcuts for windows management. However, in Ubuntu Unity there are tons of existing keyboard shortcuts that work great for me. I normally work in two split windows of a VIM instance, and either a web browser, docs, or a VIM split. Below is an example shoot:
In Unity, I use the following shortcuts.
<CTRL><START> RightArrow to tile the window to the right
<CTRL><START> LeftArrow to tile the window to the left
<CTRL><START> UpArrow to maximize the window
<CTRL><START> DownArrow to return the window to its’ previous position
<START>1 Launches Terminal
<START>2 Launches Chrome
<START>3 Launches Thunderbird
<START>4 Launches XChat
<START>5 Launches Turpial (Twitter)
<START>6 Launches Spotify
<START>7 Launches Folder Browser
<SHIFT><CTRL><ALT> RightArrow Moves the window one workspace to the right
<SHIFT><CTRL><ALT> LeftArrow Moves the window one workspace to the left
<SHIFT><CTRL><ALT> UpArrow Moves the window up one workspace
<SHIFT><CTRL><ALT> DownArrow Moves the window down one workspace
<START> S Opens all the Workspaces
<CTRL><ALT>RightArrow Moves one workspace to the right
<CTRL><ALT> LeftArrow Moves one workspace to the left
<CTRL><ALT> UpArrow Moves up one workspace
<CTRL><ALT> DownArrow Moves down one workspace
I was using a Macbook Air as my primary device for close to 3 months at this point, and had gotten quite used to it. After my #noVIMember month of using VIM only for text editing, I was ready for more explorations of alternative ways to accomplish my work and home computing. The constant VIM usage caused me to focus more on the task at hand since leave VIM meant a huge context switch from terminal to a GUI. So I picked December to give Linux a go again.
I’ve been a Linux user on and off for 18 years. A box of RedHat Linux 3.2 from Electronics Boutique was one of my favorite presents of all time. I got it for my birthday ran home and could wait to install it on my Packard Bell machine. I used Convex SuperUnix, SGI Irix, and Sun Solaris in my internship at the Air Force base, and I wanted to use *nix at home to get better at developing for it. That lead to building my ISP, MIDTNN.net, from the ground up using RedHat 5.1 for all the mail, nntp, www, RADIUS and real media servers. I used it at every enterprise job I’ve ever had to crack passwords, backup configs, monitor networks, and run Oracle financials. In short, I love *nix in basically all flavors. SO, I was reminiscing a bit when I picked this month’s change.
So I spent day one of this month, trying my darnest to dual boot Xubuntu on my Macbook Air using rEFIt only to have this that and the other not work with the bios faking and grub. I loaded it up in virtualbox to get a feel for the process and to make sure I wasn’t missing anything. I found a great link at MakeTechEasier.com that helped immensely and I proceeded forward using that, but I couldn’t ever get the system to boot directly into Linux I wasn’t willing to try bare metal and lose my working Mountain Lion system. So I did some work on #GLu and moved on to just living with the multistage boot process.
On Day two I grew tired of that and grabbed a Toshiba R705 13″ not quite ultrabook I used to use in my network consulting days. It had specs similar to the Air, but without the EFI bios. I loaded up Xubuntu quickly, and I was off. However, the fonts began to bother me, and by lunch on Day 3 my eyes were strained from looking at them.
I had a discussion with a full time Ubuntu user we had in the office, and switched back to the normal spin of Ubuntu. The fonts are much better, and I’m adjusting to the Unity desktop environment. So why Xubuntu and Ubuntu, well that’s an easy one, I have a few friends at Google who are huge Goobuntu users and convienced me I should use it minus their secret packages. No other glamorous reason sorry.
Setting Up My Environment
First, I install Ubuntu and run all the updates after the fact. Next I install Git, Bash tab completion, VIM, Curl, and Dropbox.
sudo apt-get install git bash-completion vim curl nautilus-dropbox
Because I like to be able to switch between different versions of python, I use a system called pythonbrew. It puts the python executables in ~.pythonbrew. You can get details at https://github.com/nvie/pythonbrew.
- curl -LO http://github.com/utahta/pythonbrew/raw/master/pythonbrew-install
- chmod +x pythonbrew-install
The next step is to clone down my dotfiles-linux repo and setup my system defaults
- git clone https://github.com/jasonamyers/dotfiles-linux.git
- cd dotfiles-linux
- git submodule init
- git submodule update
- cd ~
- ln -s ~/dotfiles-linux/bash_profile .bash_profile
- ln -s ~/dotfiles-linux/bashrc .bashrc
- ln -s ~/dotfiles-linux/vimfolder .vim
- ln -s ~/dotfiles-linux/vimrc .vimrc
- ln -s ~/dotfiles-linux/xchat2 .xchat2
Now to make sure I have everything it takes to build python with the modules I like to use:
- sudo apt-get install build-essential libbz2-dev libsqlite3-dev zlib1g-dev libxslt1-dev libreadline5 libreadline-gplv2-dev libgdbm-dev libxml2 libssl-dev tk-dev libgdbm-dev libexpat1-dev libncursesw5-dev libncurses5-dev libpq-dev
To install a version of python
- pythonbrew install 2.7.3
To activate a version of python
- pythonbrew switch 2.7.3
To ensure that I have everything completely seperated from the system packages I also use virtualenv and virtualenvwrapper. I have it configured to put all the virtual environments in .virtualenv.
- pip install virtualenv
- pip install virtualenvwrapper
To create a virtualenv using virtualenvwrapper
- mkvirtualenv <name>
To work inside a given virtual environment
- workon <name>
To leave a given virtual environment
To delete a given virtual environment
- rmvirtualenv <name>
So month of Vim only draws to a close today, and I gotta say it was a great month. I’m certain vim will be my primary editor going forward well after this month. Thanks for following along. Here is the full list of Vim links from this month. Also check out Practical Vim, it is a great book for Vim information. My Vim setup is in my dotfiles repo.
Use Vim – http://usevim.com/
Reformatting Text in Vim – http://www.cs.swarthmore.edu/help/vim/reformatting.html
Vim AutoCorrect – https://coderwall.com/p/jyf9kq
Using Visual Selection Mode – http://vim.wikia.com/wiki/Search_and_replace_in_a_visual_selection
A Great Stack Overflow post on Vim offering tons of advice - http://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim/1218429#1218429
Code Folding in Vim – http://vimcasts.org/episodes/how-to-fold/
Vim – precision editing at the speed of thought - http://vimeo.com/53144573
7 Habits for Effective Text Editing 2.0 - http://www.youtube.com/watch?v=eX9m3g5J-XA
Advanced Vim Macros - http://blog.sanctum.geek.nz/advanced-vim-macros/
A Slightly Advanced Introduction to Vim - http://linuxgazette.net/152/srinivasan.html
Vim Quick Reference Card - http://tnerual.eriogerg.free.fr/vimqrc.html
Vim Commands Cheatsheet - http://bullium.com/support/vim.pdf
The VIM Book - ftp://ftp.vim.org/pub/vim/doc/book/vimbook-OPL.pdf
Learn Vimscript the Hard Way - http://learnvimscriptthehardway.stevelosh.com
Vim Adventures - http://vim-adventures.com
Turning Vim into a Modern Python IDE - http://sontek.net/blog/detail/turning-vim-into-a-modern-python-ide
Graphical Vim Cheat Sheets Tutorial - http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html