May 14, 2014
The Big List
So much has changed with WebDev over the years. Much of it seems overwhelming because I haven't used everything, and to be quite honest, I've no desire to use everything, but a short list big things that I'm still trying to understand.
- Overall Practices and Concepts
- "Mustaching" - While I am familar with this concept having done some editing on Wikipedia, and to a greater extent sites that use MediaWiki, I'm actually surprised as to how many other languages do this. I wish someone had told me about it sooner.
- JSON - Now as standard (ECMA-404), I'm still the kind of person who uses Sed and Awk to boil down big XML-ish documents into CSV files.
- Lambdas - Reality snuck up and on me with a reminder I don't know everything. Case in point, I regret not using Haskell as much I should have. Why is it that after almost 10 years of being out of college, I can play with Mathematical Caculus like a boss but when the subject of Lambda caculus is brought up, I just want to curl up into a ball.
- REST - CRUD can easily describe how Ruby on Rails uses MVC. But if I can just port RESTful concepts to CRUD, it would help. Perhaps I should link being RESTful to MVC then take what I ported between CRUD and MVC and together as a composite? Ditto for MVP which definitely sound like something Sass and Compass would use.
- Git - I'll admit it. The only thing I really know what to do with Git is clone git repos. But I do have my own github page and have attempted to post at least a couple of projects on it. I have about the same experience using subversion that I do with Git, but I must say I do like using Git over Subversion mainly because GitHub encourages you to participate in making your own stuff. Also, you can use GitHub with Koding.com.
- Make and CMake - I recently found an old book on how to use Make. I'm hoping it can provide me with some direction on how to develop make files for source projects.
- Sed - I've been conteplating quite a bit lately as to how I can use Sed better in my bash script and other things. Awk not as much considering.
- Ruby - I don't know what happened last year. At first I was into Ruby, then I just stopped. I want to get back into it again. I do know one thing is for certain: Use RVM to install Ruby from source, don't use the version that comes with your Linux distribution.
- Ruby on Rails - Ditto for Rails. I almost had turned my Raspberry Pi into a mini Rails server that used Nginx and SQLite as part of the webserver software stack when the SD Card corrupted itself last night. So I got to figure out how to use
dd
to rescue what I have and probably reformat or find a new SD card. (This is why I only like using SandDisk brand SD Cards.) - JRuby - What better way for me to be motivated to use Java again (other than the fact that it is installed on Raspberry Pi) than to include JRuby which is the Ruby programming language built for the Java Virtual Machine. I might just become motivated to pick up Scala this way.
- HTML5
- Canvas - I don't just want to learn it, I want to MASTER it! However to be good at this, I shouldn't piggyback off some Canvas JavaScript library. I need my code to be raw and dirty first. Then we can tidy it up later. Using jQuery can be an exception though. I think we can all agree jQuery is a must have. I've been working very hard to learn from Supercharged JavaScript Graphics by Raffaele Cecco, because just about every other book on HTML5 Canvas decided from the beginning to use their own personal graphics library of choice rather than use something everyone can connect with.
- CSS3 - I've been using CSS for a decade now, and still think it is the best thing to happen to HTML. But there are features that due to my limited resources, I feel I haven't tapped yet. I would like to master this as much as I would like to master HTML5 Canvas.
- Sass - I think we can agree that Sass is a must know especially if you use Rails. While I will certainly miss the days tinkering with raw CSS, Sass should help strengthen my CSS abilities and understanding of Rails at the same time.
- Compass - What better authoring framework tool to use with Sass than Compass! I was in the middle of installing this on my Raspberry Pi when all hell broke loose.
- JavaScript - I understand the ECMA-262 parts easy. But the DOM parts just screw me way too often.
- jQuery - Never fear! jQuery is there to rescue me from DOM Hell. However, I haven't exercised some of the more fun parts (effects and element manipulation) as much as I should. I'd like to fix that.
- Node.js - I'm still trying to wrap my head around how this works. I know how the REPL works. Maybe I'm just don't have it installed correctly? Hmm.
- NPM - If I'm going to learn how Node.js works, I should also learn how NPM works. I wonder if I can install it and Node.js as Ruby Gems?
- CoffeeScript - To be quite honest, I was first reluctant to pursue using CoffeeScript considering I felt it was just another JavaScript framework. (Like the world needs any more of those!) Then I realized, that I can be installed using NPM.
- Ext JS - I've seemed to notice this get's installed whenever you install Rails on RVM. I guess I should learn this. Beats the heck out of using Angular.js and its non-standard HTML4-ish attributes. Did the Angular guys forget about the existance of the HTML5 event attributes? It seems like it from some of the examples they have.
- YAML - I've seem to notice there's alot of YAML stuff in Rails, might want to look into it.
- TMUX - I've been using it for the past few years but lately I've been reading a book about it on my Kindle.
- Vim - I know the basics and can use tabs like a pro. But there's alot about ctags that I don't know about but should. Also, I want to start using vim as an editor for LaTeX and PostScript and IDE for just about everything.
So yeah, I got a lot on my plate. but I sure wish I had some guidance and a little more discipline to complete it all. Then of course there is fixing up this website...which for some reason I keep putting off. Maybe its because I'm content with it. On the other hand, if I fix that problem with my Raspberry Pi, I could finally phase out the PHP-centric site and start using all this new stuff. It's time this site got Ruby-fied.