Probably the most popular post in the history of this blog is “Populate DropDowns with jQuery and Codeigniter”. In that post, I gave a quick overview of how to set up a dropdown or select box that depends on the value selected in another form element. That post was never really intended to be a complete “How To”, but it’s been such a popular post that I wanted to revisit the idea, and write up a more complete discussion of this technique.
What I’m going to do here is to create and populate an HTML select element using values that are dependent on a selection in another HTML input. In this case, I’m using two select elements, but you could adapt the technique for any kind of input. For example, let’s say you have a form that displays data for a zip code. Now, there are a LOT of zip codes in the US, and you probably don’t want to make your users scroll through such a long list to choose the value they’re interested in. So, you add another HTML select element that allows the user to choose the specific state that contains the zip code. So, initially, the zip code select element is blank, or set to some default value. Then once the user chooses a state, the zip code element is populated with all of the zip codes for that state. Nice, huh?
There are several schools of thought when it comes to digital note taking and productivity. One school advocates powerful tools such as Evernote, which allows you to take notes, clip articles and images, and save documents into a note. Evernote also has some pretty powerful search functionality that lets you find that data again. The other school advocates simple text. Using the file system, and a plain text editor like Vim or TextMate, or what have you. There are powerful arguments both ways, and I find myself coming down somewhere in the middle. On the one hand, I like Evernote’s ubiquity. It’s on my phone, my laptop and my tablet, and I can save everything from quick shopping lists to clipped articles from the web, to pdf documents. In the case of those pdf’s Evernote will even scan them and make the text searchable. That’s extrememly cool. However, it’s too heavy for actual “notes” and Evernote’s interface is notorious for not being “note friendly”. Things are complicated by the fact that I run Linux on my laptop, and there’s not a good Linux client for Evernote.
So, I’ve come up with a workflow that works for me. It might not work for you, but hey, it’s another tool in the battle for ultimate productivity, right? First of all, I use Evernote as my basic “Archiving” tool. It’s where I clip articles to read later, my wishlist, images, receipts, etc… I’ve even started using Evernote as my main bookmark manager. Evernote works well for me as a digital filing cabinet, since that’s really what it’s designed to do. However, there are two things that I do NOT do in Evernote. To-do lists, and my notes.
Of course, referring to Vim as an IDE isn’t specifically correct. It’s a text editor, but man, it can do so much more. I think most programmers are always on the lookout for the text editor/IDE that really fits them. It’s not that we’re looking for a magic bullet that will write the code for us. For me, at least, I want my IDE to get out of my way. I don’t want to have to wrestle with it just to get some code written. I’ve tried them all, and there are a lot of really good IDE’s and text editors out there. Gedit, kate, IntelliJ Ideas, KDevelop, SublimeText, Komodo Edit… I’m sure the list goes on forever. I thought I had reached the top of the mountain with either SublimeText or KomodoEdit. For my money, they’re the best GUI based IDE’s out there right now. But I still wanted something more. A colleague talked to me seriously about Vim. Of course I had tried it in the past. You can’t do anything on the command line without running into it at some point, and banging your head against the wall trying to figure out how to get the hell out of it! But until you start seriously trying to learn the Vim way, you’ll never understand how amazing it is. Of course, there’s a huge learning curve to using Vim effectively. But once you get even a little way down that curve, you’ll be able to do things that just blow you away.
I’ve been messing around with my terminal display, trying to church it up a little. I tried Powerline, but didn’t have great luck with it. So, I’m going old school and just adjusting conf files for the applications that I use all the time, mainly tmux and vim. I’ve been banging my head against tmux all day. I added some flashy stuff to the tmux statusline, but I just could NOT get the colors right. I know that there are lots of settings and tweaks for getting 256 color support right, but no matter what I did, I couldn’t get tmux to display properly.
I finally ran across a random forum post from a couple of years ago. Basically, my terminal (XFCE terminal) is set up for 256 colors, but tmux always starts with the default of 80 colors. The answer? Instead of starting tmux with
I just start it with
which forces tmux to run with 256 color support. Problem solved, and my badass statusline is working perfectly.
UPDATE: As promised, I’ve added a post about how I configured my tmux to emulate some of the features of powerline. You can read it here.
I spend almost all of my time on the command line and I use Tmux and Vim obsessively. Like a lot of people, I want my environment to be pleasing, so I was excited when I found out about Powerline, a status line / prompt utility that works with bash prompts, Vim, Tmux and a whole slew of other tools.
My first impression is that Powerline is just really cool looking. It’s nice to have something that lets you simply customize your tools in a simple way without having to dig deep into each individual tool. Unfortunately, it has some big shoes to fill and it doesn’t quite make it all the way.