Week Five
Week five marked the first week that our giant 3-part web server was due. Being 4th of July weekend it ended up being hard to meet up with my team until Sunday, so we ended up trying to put everything together in 2 days. Once I got started, however, I didn’t stop. Seeing how everything is connected and configuring it has been amazing. From setting up the rackspace server, to choosing Django as a framework, serving it via nginx, and connecting the two via uwsgi this has been one of the most exciting and applicable work experiences I’ve had at UT.
As far as our team dynamic goes it’s rather interesting. Even though there are only 4 of us, it seems rather hard for us to all be free at the same time to work on it together. As such outside communication has been very important. Somewhat unfortunate is the fact that no one seems to really care much for slack and just resort to facebook because it’s easier/familiar. More so than not I’d like to consider myself an explorer. I enjoy learning new tools/tricks and even with all the new Django/uWSGI/nginx/Apiary/Bootstrap/AngularJS/SQL/Travis-CI/etc tools I’m always down to try out one more, especially if it includes some sort of integration with a tool that I already use such as GitHub. Oh well, maybe next time.
As far as backend work goes, I feel rather confident that our server is now configured correctly (the last bug being getting it to listen to port 80). Now it’s full speed ahead to work with our databse guy and create a RESTful API for our frontend. Speaking of which, is rather unfortunate that we don’t have an artsy-creative person on our team for any UI work. I guess that just means we’re going for efficient minimalism.
Tip of the week
Do you do a lot of work SSHed into your server? Do you have multiple terminals SSHed in for an easier workflow between writing code and executing it? Wouldn’t it be nice if you could just SSH into your server and have all your previous work/setups ready to go? Introducing the terminal multiplexers screen and tmux. If you have a mac I would highly recommend looking into tmux alongside iTerm 2, while screen for everyone else.
This is of course just my opinion, but if using screen feel free to use my .screenrc file as a nice starting point. Download it and put it in your home directory and your good to go. As a quick tutorial just start a screen session on your server via screen
. If using my .screenrc file you’ll notice an immediate change at the bottom of your terminal, those are your ‘tabs’. To switch between them I use (Ctrl+a) + a. When you’re done working you can detach yourself via (Ctrl+a) + d. Then, the next time you log back in to your server enter screen -r
and instantly everything will come back just as when you first hit (Ctrl+a) + d.
If you happen to have a mac, then life can be even easier for you. Just download iTerm2 if you haven’t already and enjoy the amazing integration with tmux. Log in to your server, enter tmux -CC
to spawn a new normal-looking window, doing work as usual, close the window to exit, and when coming back type “tmux -CC attach
” to see all your work restored.