Red Dot Ruby Conference / Pecha Kucha Singapore 2011 talk
Supporting slides for my talk on how to Upgrade from Ruby 1.9.3 to Ruby 2.1, Rails 3.2 to 4.0, Bootstrap 2.3 to 3.0
This document provides instructions on installing and using basic version control functionality with Git. It covers downloading and verifying Git installation, initializing and committing to a Git repository, viewing commit history and file status, staging and unstaging files, reverting and resetting commits, and tagging commits. The key points are initializing a Git repository, making commits to track changes over time, and various commands to move between commits, view history, and recover from mistakes.
The document provides an overview of the history and evolution of the Rails web framework from 2006 to 2013. It discusses how Rails initially aimed to make web development "easy" but this led to issues with code quality. It then outlines how conventions and best practices developed over time to structure Rails applications according to the MVC pattern and provide guidance on testing, deployment and other aspects of developing with Rails. The document also notes that many advanced Rails topics were not covered.
The document discusses what future IT students should know about their field of study and career. It emphasizes that the goal of an IT degree is to learn how to solve human problems using computers. It stresses developing strong problem-solving, communication, and social skills which are more important than specific technical skills. Companies hire based on an individual's ability to solve problems rather than their particular degree. The document advises students to gain experience through projects, explore new technologies, and collaborate with others to prepare for an ever-changing career where adaptability is key.
This document provides advice for IT undergrads on things they should know but often don't. It emphasizes that the goal of an IT degree is to learn how to solve human problems using computers. It stresses that the most important language for undergrads to know is SQL. It also notes that employers hire programmers based on their problem-solving skills rather than specific languages. Undergrads should focus on learning fundamentals in college and exploring outside projects as soft skills and adaptability are crucial for success in the real world of constantly changing requirements and impossible deadlines.
From Novice to Expert discusses a pragmatic approach to learning based on the Dreyfus model of skill acquisition. The model describes five stages from novice to expert: novice, advanced beginner, competent, proficient, and expert. As individuals progress through these stages, their decision making shifts from relying solely on rules to developing intuition through experience. The document suggests applying this framework to understand the different needs of developers at various experience levels.
The document discusses Java 8 lambda expressions and how they can be used to filter, map, and reduce collections. It provides examples of filtering a list of employees to only those over age 60, mapping a list of employees to a list of their full names, and reducing a list of employees to calculate their total salary. It notes how lambda expressions allow bulk data operations on collections in a similar manner to SQL queries.
The document provides tips for preparing for a hackathon event called the WebGeek DevCup. It recommends preparing your application framework ahead of time by choosing technologies and setting up modules like authentication, but not completing the full application. It also suggests preparing your development environment, using version control, potentially deploying code, and ensuring good team communication and self-care during the event. The goal is to minimize time spent on setup during the hackathon in order to focus on coding the full application within the limited timeframe.
This document provides tips for using the Vim text editor. It begins with an overview of Vim, describing it as an old but common text editor present on many Unix systems. It then provides 9 tips for using Vim, including using insert mode only when needed, using motions beyond just "i" to enter insert mode, using normal mode for faster navigation, learning text manipulation commands, combining commands with motions, using visual mode to select text, splitting screens and tabs, using plugins, and learning something new each day. It concludes by thanking the reader and providing links to the author's GitHub, Twitter, and personal website.
The document provides examples of how to perform common programming tasks in Ruby and Ruby on Rails compared to other languages like C#. It shows how Ruby and Rails allow doing more with less code through features like hashes, object oriented programming, metaprogramming, and the MVC framework. The examples include creating hashes, binary trees, class hierarchies, adding methods to numbers, and defining behavior for different instances. It also provides a Rails example for a Twitter clone app and lists resources for learning Ruby and Rails.
This document summarizes several latest trends in web technologies, including cloud computing, HTML5, programming languages like JavaScript and LISP, NoSQL databases, and functional and concurrent languages. Cloud computing allows minimal hardware purchasing through services like AWS while HTML5 expands web capabilities beyond Flash. Programming languages like JavaScript and LISP are being rediscovered for their power and conciseness. NoSQL databases provide an alternative to relational databases for high performance needs.
Virtualization allows users to create virtual machines on their computers. This allows them to run multiple operating systems at once, try out different operating systems without dual booting, and simulate multiple servers or cloud environments. Popular virtualization programs include Oracle VirtualBox and VMware Player, both of which are free to use. Virtualization is useful for web development and getting familiar with cloud computing platforms commonly used in industry.
Developers are knowledge workers, not just encoders or typists. Coding is just a small part of software development, which is primarily about understanding people and business needs. Modern programming requires knowledge of multiple languages and technologies, and developers will use existing packages rather than writing all code themselves.
The document discusses several latest trends in open source web technologies, including cloud computing, HTML5, programming languages like JavaScript and Lisp, NoSQL databases, and free and open source software gaining more traction. Specifically, it covers how cloud computing can reduce costs by having infrastructure handled by providers like Amazon, HTML5 becoming a replacement for technologies like Flash, and how functional programming languages allow for concise yet powerful code.
Web developers require a passion for continuous learning across the fields of web design, software engineering, domain knowledge, and infrastructure. To succeed, they must stay up-to-date with new tools and methodologies through online resources and by building their skills in languages like HTML, CSS, JavaScript, PHP, and frameworks like Ruby on Rails.