Changes

Jump to: navigation, search

One recommended tool/resource for n00bs

4,922 bytes added, 17:22, 30 March 2019
added link to Jenn Riley's Seeing Standards site
===One recommended tool/resource for n00bs===
These resources/tools were recommended by the Code4Lib community in Nov. 2012. Specifically , specifically for new coding librarians and library coders. The whole thread of discussion is available at [http://www.mail-archive.com/code4lib@listserv.nd.edu/msg15762.html the C4L listserv archive].
The whole thread of discussion is available at Please fill out a [httphttps://wwwdocs.mail-archivegoogle.com/code4lib@listserv.nd.eduspreadsheet/msg15762.html the C4L listserv archiveviewform?formkey=dHNPVWgyX0E2a20xWHBHS1dJV05Pb0E6MQ#gid=0 mini-survey]if this was helpful to you. Thank you!
*Code4Lib listserv, IRC, [http://journal.code4lib.org journal] (duh) * O'Reiley Head first series *Visual QuickStart Guides http://www.peachpit.com/imprint/series_detail.aspx?ser=335245 *JS Fiddle http:===Tools//jsfiddle.net/ *Resources for lots of languages: pear.ly/8ohL* Catcode http://t.co/yAxcvbQt* Git or Github * Local communities of ruby, python users. *Practice! No matter the learning material, nothing will really sink in unless you apply it in the wild (like a small project). *A @rdio subscription. :) And a text editor with syntax highlighting. *Building things that help people matters, and for that you need empathy. * Vi- because it keeps me (you?) focused.====
=====Books or Things to read=====
* O'Reilly Head first series
* Visual QuickStart Guides http://www.peachpit.com/imprint/series_detail.aspx?ser=335245
* [https://docs.google.com/spreadsheet/ccc?key=0AlVSWa90m8umdGg3U0h4bjdMT0ttVUJBU3RCaUc0WGc#gid=0 QA Collection Purchases for Code4Lib]
* [http://www.worldcat.org/title/pragmatic-programmer-from-journeyman-to-master/oclc/42038638 "The Pragmatic Programmer"] by Andrew Hunt and David Thomas. A book that teaches beginners how think like a programmer, and reminds experts of good practices.
* The top 9 in a hacker's bookshelf: http://grokcode.com/11/the-top-9-in-a-hackers-bookshelf/
* "How to Design Programs" http://www.ccs.neu.edu/home/matthias/HtDP2e/. Good for newbie coders.
* Kernighan and Ritchie's [http://www.worldcat.org/title/c-programming-language/oclc/17650642 "The C Programming Language."] A keeper for life, and surprisingly readable and directed to the newbie.* StackOverflow[http://www.com worldcat.org/title/agile-web-development-with-rails-4/oclc/852808602&referer=brief_results Agile Web Development with Rails 4] is a great site for questionswell-paced introduction to Rails and Ruby. Covers a lot of core concepts (MVC, agile development, testing, AJAX). * The top 9 in a hacker* To dive further into Ruby, there's bookshelf: [http://grokcodewww.comworldcat.org/11title/theprogramming-topruby-919-in20-athe-hackerspragmatic-bookshelfprogrammers-guide/oclc/855706057&referer=brief_results Programming Ruby] (aka The PickAxe Book)* http://www.w3.org/International
* Guide for the Perplexed on the code4lib wiki: http://wiki.code4lib.org/index.php/A_Guide_for_the_Perplexed
* Video series on command line basics from Lullabot: http://drupalize.me/series/command-line-basics-series
* Sublime Text & Zen Coding (recently reborn as Emmet<http://docs.emmet.io>). Saves a lot of keystrokes when writing web content.=====Software=====
* Reusing people's public dotfiles<Vi- because it keeps me (you?) focused.* [http://dotfileswww.githubactivestate.com/>,my favorite being Mathias Bynens'<httpskomodo-edit Komodo Edit]* [http://githubnotepad-plus-plus.comorg/mathiasbynensNotepad++ IMO best open source lightweight editor on Windows]*AMP (LAMP, WAMP, MAMP) stacks for an easy install of Apache, mySQL + perl/dotfiles>python / php. Using *A @rdio subscription. :) And a mature dotfiles collection can help bootstrap text editor with syntax highlighting.* Git (Version Control)* Github, Bitbucket and Other Remote Git Services* Emmet, http://docs.emmet.io/ (supersedes Zen Coding, http://code.google.com/p/zen-coding/ ) The idea is that it lets you to use the command line more and start grabbing vital tools from package managers CSS-like Homebrew or npm selectors as tags that you might not think can be expanded into full HTML snippets. * [http://sass-lang.com/ SASS Syntactically Awesome Stylesheets]* LESS http://lesscss.org/ * Compass http://compass-style.org/ - extends SASS with reusable patterns* BareBones's [http://www.barebones.com/products/bbedit/index.html BBEdit]* Sublime Text & Zen Coding (recently reborn as [http://docs.emmet.io Emmet]). Saves a lot of otherwisekeystrokes when writing web content. * The best one IMHO is [http://www.sublimetext.com Sublime Text 2]. Oh, okay, I can't resist - I'm still going to cheat and list a newbie coder but reusing dotfiles gives me the confidence second: everyone needs to tweak things here stop writing just CSS and there without building complement it with SASS (syntactically awesome stylesheets) & Compass - http://sass-lang.com/. Totally invaluable for any front-end work. It makes CSS fun.* [http://www.virtualbox.org VirtualBox] to make new VM setup and deployment easier we use [http://vagrantup.com/ Vagrant]* Version control. My own strong preference is for git (either managed locally or through github.com), but really, just pick a ton from scratchversion control solution and use it. If you value your work at all, it should be in version control. Smart use of version control can make finding and fixing problems in code much, much easier - but even fairly naive use of it leaves you with much, much better tools for fixing screw ups than you have without it.
=====Websites=====* I'm taking "tool" Code4Lib listserv, IRC, [http://journal.code4lib.org journal] (duh)* Google is more useful than any reference book to mean a piece of hardwarefind answers to programming problems. I'd recommend some old laptop with your favorite linux distro less desktop* [http://stackexchange. Why? Well the main thing com/ StackExchange] (by extension, [http://stackoverflow.com StackOverflow]) is that it puts them into a position where they're not learning great site for questions.* [http://lynda.com lynda.com]* [http://www.pluralsight.com/ PluralSight.com]* JS Fiddle http://jsfiddle.net/* CodePen http://codepen.io/* [http://css-tricks.com CSS Tricks ]* [http://openhatch.org/ Open Hatch] - to learn tools you need to participate in open source development and find friendly projects to be a google copy/paste coder given the lack part of the desktop* [http://drupalladder.org/ Drupal Ladder], which teaches you what you need to know to participate in developing Drupal* [http://rubykoans.com/ Ruby Koans] - learn Ruby by fixing failing tests* [https://librarycarpentry.org/ Library Carpentry] - Free, open-source lessons for non-techy librarians on coding, data analysis, mouse and distractions like emailrelated topics. They can also learn give in-person workshops upon request.* [http://jennriley.com/metadatamap/ Seeing Standards] - Let's be frank, there is a giant pile of metadata standards awaiting any newbie to setup the server environment on their new dev box this field. Jenn Riley's map of these standards, and eventually do all sorts the accompanying glossary, is an invaluable resource. It may be tempting to try to print the PDF of cool stuffthis visualization, just be aware that it is absolutely gigantic. You will need access to a poster printer to do it justice. Don't let that frighten you, feel free to explore it on your computer, save it, keep it as a reference. This poster will help you, you need it.
* Komodo Edit=====Meetups and User Groups=====
* Perl Mongers http://www.w3pm.org/Internationalgroups/* Python Local User Groups http://wiki.python.org/moin/LocalUserGroups** Look for user groups running an incarnation of the [http://bostonpythonworkshop.com/ Boston Python Workshop], a women-and-their-friends day-and-a-half introduction to Python which assumes no prior knowledge.* R Users Group Meetups http://r-users-group.meetup.com/* Drupal Groups http://groups.drupal.org/* Ruby User Groups http://www.ruby-lang.org/en/community/user-groups/** Look for groups running an incarnation of [http://workshops.railsbridge.org/ RailsBridge] (like Boston Python Workshop except it came first, and covers Ruby)* Haskell User Groups http://www.haskell.org/haskellwiki/User_groups* ColdFusion Meetups http://coldfusion.meetup.com/
* A cheapie online webhosting account - like a $10 a month one - and multiple URLs. Multiple URLs will make them point a URL at a nameserver at least once ideally, and to understand that the two are separate and what you can do with domains and subdomains. The cheapie webhosting account will let them play with installing popular content management systems manually and with one-click installs. The most important thing is to break things and then rebuild them. The worst possible thing would be to build a website, leave it up as their public face or personal website, and be nervous to wreck it so notchange or play with different CMSes (another reason multiple URLs might psychologically be better - they encourage experimentation on one and the person can make the other a static goal oriented publishing area).The more the cheapie hosting account experience I have, the more I know what's cheap and easy to do, and the more I see very specific benefits to adedicated server. It makes me more intentional and able to better assess the value of services vendors provide.That's more web4lib ish, but ultimately if someone experiments enough they have to get comfortable with php. Scripting is the gateway drug. * Zen Coding, http://code.google.com/p/zen-coding/ The idea is that it lets you use CSS-like selectors as tags that can be expanded into full HTML snippets.  * FOSS4lib http://foss4lib.org/ * BareBones's BBEdit * Version control. My own strong preference is for git (either managed locally or through github.com), but really, just pick a version control solution and use it. If you value your work at all, it should be in version control. Smart use of version control can make finding and fixing problems in code much, much easier - but even fairly naive use of it leaves you with much, much better tools for fixing screw ups than you have without it.=====Other=====
* Resources for lots of languages: [http://pear.ly/8ohL pear.ly/8ohL]
* [http://catcode.pbworks.com/w/page/49680175/Resources Catcode]
* [http://foss4lib.org/ FOSS4lib]
* I can already feel the collective rolling of eyes for this, but what about Twitter? It's not a guide or manual, but start following and engaging talented developers and library geeks on Twitter and you'll soon have more help than you know what to do with. Plus, no Zoia ;)
* Practice! No matter the learning material, nothing will really sink in unless you apply it in the wild (like a small project).
* It's still useful to learn a little something about configuring a webserver / database / etc.
* The [http://connect.ala.org/node/167971 Library Code Year Interest Group], an ALA group (joint between LITA and ALCTS) for librarians who want to learn and apply code
=====Advice on what to do=====* LESS Building things that help people matters, and for that you need empathy.* Reusing people's [http://lesscssdotfiles.orggithub.com/ public dotfiles],my favorite being [https://github.com/mathiasbynens/dotfiles Mathias Bynens']. Using a mature dotfiles collection can help bootstrap you to use the command line more and start grabbing vital tools from package managers like Homebrew or npm that you might not think of otherwise. I'm still a newbie coder but reusing dotfiles gives me the confidence to tweak things here and there without building a ton from scratch.* Google I'm taking "tool" to mean a piece of hardware. I'd recommend some old laptop with your favorite linux distro less desktop. Why? Well the main thing is more useful than any reference book that it puts them into a position where they're not learning to find answers be a google copy/paste coder given the lack of the desktop, mouse and distractions like email. They can also learn to programming problemssetup the server environment on their new dev box and eventually do all sorts of cool stuff. * A cheapie online webhosting account - like a $10 a month one - and multiple URLs. Multiple URLs will make them point a URL at a nameserver at least once ideally, and to understand that the two are separate and what you can do with domains and subdomains. The best cheapie webhosting account will let them play with installing popular content management systems manually and with one IMHO -click installs. The most important thing is Sublime Text 2 (wwwto break things and then rebuild them.sublimetext.com The worst possible thing would be to build a website, leave it up as their public face or personal website, and be nervous to wreck it so notchange or play with different CMSes (another reason multiple URLs might psychologically be better - they encourage experimentation on one and the person can make the other a static goal oriented publishing area). Oh, okayThe more the cheapie hosting account experience I have, the more I canknow what't resist - I'm going s cheap and easy to cheat do, and list a second: everyone needs the more I see very specific benefits to stop writing just CSS adedicated server. It makes me more intentional and complement it able to better assess the value of services vendors provide. That's more web4lib ish, but ultimately if someone experiments enough they have to get comfortable with SASS php. Scripting is the gateway drug.* +1 to web-hosting as it gives the ability install one's own software on one's domain (syntactically awesome stylesheetswhich feels great) & Compass *and* easy access to shell. And when web- hosting feels like too much of a barrier to access, sites like jsfiddle where you can immediately start adding *and* sharing code is key. IMHO the initial appeal of [http://sass-langwww.codecademy.com/Codecademy] was that it removed all barriers to getting started. Totally invaluable Getting a laptop's localhost set up is too daunting for any front-end work. It makes CSS fun. *lynda.com *StackExchange (by extensiona first step, StackOverflow and the Libraries StackExchange site)I think.
64
edits

Navigation menu