Posted: May 31st, 2007, 5:58am CEST by computer_teacher
Ruby on Rails is an open-source web
application framework designed to make the job of the developer easier
by providing
everything one needs to create web-based, database-driven applications
easily while focusing on the idea, not the technology behind
implementing the idea. It is designed to be a marriage of the
“quick-n-dirty” camp of PHP web developers and the
“slow-n-clean” methodologies of the old enterprise
architecture crowd. Ruby
on Rails succeeds by automating the creation of the most
common
types of Web applications while not straightjacketing you if you want
to add custom or atypical requirements. Moreover, compared to many Free
Software libraries that perform individual aspects of a Web
application, Rails contains a nicely integrated set of tools for all
aspects.
Ruby on Rails is taking Web development by
storm. Let's start with a refresher on the underlying technologies:
- Ruby is the free,
simple,
straightforward, extensible, portable,
interpreted scripting language for quick-and-easy object-oriented
programming that, like Perl, sports many features to process text files
and perform system-management tasks.
-
Rails is a full-stack, open source Web framework in
Ruby for writing real-world applications with more ease and less code.
Being a full-stack framework means that
all layers in Rails
are built to work together so you don't repeat yourself and can use a
single language from top to bottom. Within Rails, everything (templates
to control flow to business logic) is written in Ruby. Rails favors
reflection and runtime extensions over configuration files and
annotations.
Download the open source Ruby on Rails Web framework.
Download
Ruby from the ruby-lang.org project Web site.
Here are some of the best free Ruby
On Rails Learning and Training Content that I have
recently found.
Ruby
On Rails (24 pages, 922kb, pdf format)
The
main goal of the document is to give you an overview of Ruby On Rails,
specifically, what it is, what is does, and where it is being used. You
will see if Rails is feasible for your needs and will learn about
resources where you can obtain more information about learning Rails.
Jim
Weirich's Ruby On Rails Presentation
[.mov,
50.4MB] This was given at the January 2006 Cincinnati (Ohio, USA)
eXtreme Programmers Group, XP Cincinatti. (archived)
Ruby On Rails
Screencasts and Conference Presentations
These
Screencasts offer a view at the fundamentals of getting
started with a Rails application, and how they work. The presentations
are slides and a movie.
An
Introduction to Ruby On Rails (A 13 slide
presentation in pdf format.)
An
Introduction to Ruby On Rails (44 slides,
944kb, pdf format)
Ruby
On Rails slides (48 slides,
553b, pdf format)
4
Chapters from Build Your Own Ruby On Rails Web Applications (163
pages,
3.95mb, pdf format)
Installing
Ruby On Rails on Linux (7 pages, 711kb,
pdf format)
A
Ruby On Rails Cheatsheet (1 page,
105kb, pdf format)
Another
Ruby On Rails Cheatsheet (1 page, 186kb,
pdf format)
Ruby
On Rails Reference (37 pages, 492kb, pdf
format)
This
is a "short" Ruby on Rails reference. It's goal is to give you an
overview over the most used functions, methods, and classes. It is not
intended as a tutorial, but as a reference guide for those already
familiar with this technology.
Ruby
on Rails 1.16 - Edge Reference (25 pages,
77kb, pdf
format)
A Quick
Introduction to Rails
This Rails
presentation is designed for a firefox browser.
Ruby
On Rails Videos at Blinkbits
These videos
include the following:
- About
Ruby on Rails Components (video/quicktime)
-
Seeing
Is Believing -
updated_rails_tutorial.mov
- Ruby
on Rails - Why not
- AJAX
in Ruby on Rails
tutorial
- Ruby
on Rails demo
- rails_setup.mov
-
tim
bray - ruby on
rails podcast
- Screencast
InstantRails
10 Things
Every Java Programmer Should Know About Ruby, By
Jim Weirich
Software
Architecture Case Study: Ruby on Rails (24
pages, 385kb, pdf format)
A high-level view of the Rails
architecture makes
it look very much like other web application frameworks. Its
architecture is based on MVC, designed to separate concerns and reduce
the coupling between disparate functionality. Part of Rails’
power comes from the fact that this architecture is connected through
an auto-generated code base structure. The developer can set up a
project and then make changes to the model directly and observe the
results without a lot of work to set up every part of getting that data
propagated throughout the rest of the system.
The
entire benefit
of using Ruby on Rails is in many of the small things it does to
benefit the developer in ways that other similar frameworks do not.
These little things collectively work together to create a development
experience which overall seems much more agile and less cumbersome than
the process involved in working with other large and robust web
development architectures.
The
Many Facets of RubyGems
Using
Ruby - An Introduction to Ruby for Java Programmers
An
Invitation to Ruby
This presentation is an
invitation to check Ruby out.
Technorati Tags: ruby on rails tutorials, ruby on rails training, ruby on rails videos, ruby on rails, rails, ruby

Posted: May 31st, 2007, 2:17am CEST by computer_teacher
Huihoo - Free and Open
Source Online Books is a web site hosting
free and open source online books in many technical areas, as listed
below. These can help you become more proficient and increase your
knowledge and understanding of these specific technologies.
Topics
covered by Online Books at Huihoo:
Java
programming
Python programming
Linux
Security
Graphics,
Game Design, Animation
Hardware & Computer
Organization and Architecture
Digital Media
Theory
& Data Structures & Algorithms
Artificial
Intelligence
Math
Compiler Design and Construction
HPC,
Cluster, and Beowulf Cluster
Perl Scripting
Networking,
TCP/IP
Web Programming, HTML
JavaScript
C++
programming
Oracle, PL/SQL
Ruby programming
Unix
programming
Samba
Mozilla
Technorati Tags: free computer books, open source books, programming books, linux books, online books, online computer books

Posted: May 29th, 2007, 10:36pm CEST by computer_teacher
Here are Training Tutorials and
Techniques, with
sample code, teaching Web
Design and Development. These tutorials are for an
introductory Web Page Design Course at
Saint Vincent College. The modules and tutorials here
cover HTML and web programming techniques. HTML tags are
taught via tutorials and explanations. Chapter 10 covers Cascading
Style Sheets (CSS) and how these are used to
facilitate web page and web site design
with consistency
across a whole site. Later training chapters
discuss techniques that can be used to make web pages
more interactive, including coding examples using JavaScript, HTML
forms, CGI Scripts, VBScripts, Active Server Pages, and Java Applets.
The reference page at the end provides web
resources for further in-depth information on web development.
Table of Contents:
-
Preface
-
Markup
Languages - A Definition and Some History
-
Beginning HTML
-
HTML Lists
- HTML
Tables
-
HTML - Color, Fonts and Special Characters
- HTML
Links
- HTML
Images
-
HTML Frames
- Cascading
Style Sheets
-
MicroSoft PhotoDraw
-
JavaScript
-
HTML Forms and Form Handling
-
VBScript
-
Microsoft FrontPage
-
Active Server Pages
- Java
Applets
- XML
Meaning and More
-
Macromedia Flash 5.0
- References
Technorati Tags: web design, web development, web programming, web design tutorials, web design training

Posted: May 29th, 2007, 8:50pm CEST by computer_teacher
If you are seeking to learn how to use ASP .NET to create
web applications, then this training from St. Vincent College
will interest you. This free training for developing ASP
.NET Web Applications with VB .NET shows
you how to code using ASP .NET to create web applications, and
specifically, those types of applications that work as a
front-end to a database. Visual Basic .NET 2003 is used as the
programming language. The coding examples given assume that you are
familiar with introductory programming. The coding examples that
connect to and modify the database assume that you
already know basic database concepts, such as what tables and queries
are. The database examples use
SQL Server but a background in Access, Oracle, or similar should be
sufficient.
Table of Contents:
- Introductory Examples
- A
Simple Web App
- A
Web App with Text Boxes and Buttons
- A
Web App with a Calculation Procedure
- A
Web App with a Drop-Down List
- Web
Apps that are Front-ends to a Database
- A
Web App that Gets Data from a Database
- A
Database/Web App with User Input
- Maintaining
Session State Information
- Using
Cookies
- A
DataReader Example
- Online
Survey
Includes login/logout and inserting of data
into a table.
- E-commerce Web Apps
- Simple
E-commerce App 1
User selects a product from a
drop-down list. - Simple
E-commerce App 2
Add search functionality, with
results shown in a data list. - Simple
E-commerce App 3
Results of search shown in a data
grid with paging. - Simple
E-commerce App 4
Small changes to the previous app. - Larger
E-commerce App 1
Groups products by category) - Larger
E-commerce App 2
Adds product attributes, shopping
cart, checkout process. - Larger
E-commerce App 3
Uses a web service, suggests other
additions and improvements.
- Further
Information
Technorati Tags: asp.net training, aspdotnet tutorials, vb.net training, vbdotnet tutorials, visual basic .net, asp .net

Posted: May 23rd, 2007, 5:22pm CEST by computer_teacher
This is a well written doctorate thesis, by
Alistair Cockburn, about software development methodology and how
people on the development project work with a methodology. Reading this
will help you understand how to manage application development projects
better and understand better how to work with people on a project. Here
is a mirror
of this thesis.
People
and Methodologies in Software Development
Submitted
as partial fulfillment of the degree Doctor Philosophiae
At the Faculty of Mathematics and Natural Sciences, University of Oslo,
Norway
February 25, 2003
Abstract
This thesis reports on research performed over a
ten-year period, interviewing project teams, participating directly on
projects, and reviewing proposals and case studies. The research
addressed three questions relating to people and software development
methodologies (Q1 through Q3),
and produced six results (R1 through R6).
Questions:
1) Do we need yet
another
software development methodology, or can we expect a convergence and
reduction at some point in time?
2) If convergence, what
must
be the characteristics of the converged methodology? If no convergence,
how can project teams deal with the growing number of methodologies?
3)
How
does the methodology relate to the people on the project?
Results:
1)
A methodology is a formula describing conventions of
interaction between roles.
2) People's characteristics,
which
vary from person to person and even from moment to moment, form a
first-order driver of the team's behavior and results. Such issues as
how well they get along with each other and the fit (or misfit) of
their personal characteristics with their job roles create significant,
project-specific constraints on the methodology. This result indicates
that people's personal characteristics place a limit on the effect of
methodologies in general.
3) Every project needs a slightly
different methodology, based on those people characteristics, the
project's specific priorities, and the technologies being used. This
result indicates that a team's methodology should be personalized to
the team during the project and may even change during the project.
4)
A
set of principles were found that can be used to shape an effective
methodology to the above constraints. These principles deal with the
amount of coordination and verification required in the project, the
trade-off between rework and serialization of work, and the trade-off
between tacit and externalized knowledge in use by the team.
5)
A
technique was found to create a situationally specific methodology
during the project and in time to serve the project, and to evolve it
as the project progresses.
6) All the above
suggests a
repeating cycle of behavior to use on projects.
1) The
members establish conventions for their interactions — a base
methodology — at the start of the project. This can be
likened to them "programming" themselves.
2) They then perform
their jobs in the normal scurry of project life, often getting too
caught up to reflect on how they are doing.
3) They schedule
regular periods of reflection in which they reconsider and adjust their
working conventions.
These results have been used
successfully on several industrial projects having the usual time and
cost pressures on the staff.
Table
of Contents:
1.
The Research Topic
1.1
Clarification of Words
1.2
Background to Question 1
1.3
Background to Question 2
1.4
Background to Question 3
1.5
Placing This Work in Context
1.6
Personal Motivation and Direction
2.
The Research Approach
2.1
The Research Practice
2.2
The Research Theory
3.
Issues and Results Chronologically
3.1
The Impact of Object-Orientation on Application Development
3.2
Selecting a Project's Methodology
3.3
The Interaction of Social Issues and Software Architecture
3.4
Characterizing People as First-Order, Non-Linear Components in Software
Development
3.5
Project Winifred Case Study
3.6
Just-in-Time Methodology Construction
3.7
Balancing Lightness with Sufficiency
4.
Consolidation ed Results and Reflection
4.1
Answering the Questions
4.2
Consolidation and Reliability of Results
4.3
Relating to Mathiassen's Reflective Systems Development
4.4
Reflection: The Limits of People-Plus-Methodologies
Technorati Tags: software development, software development methodology, application development methodology

Posted: May 23rd, 2007, 3:15pm CEST by computer_teacher
Here is a repository of online computer, programming, application, and web
development books hosted by Bulgaria Online Books Archive.
Most of these books are dated, but many are still a good reference for
learning how to program or perform setup or administration activities
on your operating system and networks.
Operating
System Books
- The Unix
Operating System
- Unix
Power Tools
- Linux
- Red Hat
Linux
Programming
Books
- ActiveX
-
CGI
- Java
Applets
- Java
- JavaScript
-
Perl
- Visual
C++
- C ++ Programing
-
Cryptography
- Regular
Expressions
- Tcl and Tk toolkit
-
C Programming
- Tex
Web
Development Books
- HTML
-
Web Scripting
- WebMaster
-
Shockwave
Web Pages
- Web Graphics and Web Page Design
-
Java Web
Applets
- Perl for Web Programming
-
Fusion Web Database
- WWW
Plug-Ins
- 3D GRAPHICS & VRML 2.0
-
Web
Programming
- Web Publishing
Database Books
-
Oracle
8
- CORBA
- SQL
More
Books
Networking:
- DNS & BIND
-
TCP/IP
Networking
- Sendmail
- Firewalls
-
Unix and
Internet Security
- Using Samba
Unix:
-
Unix
Power Tools
- Unix System V Edition
-
Vi Editor
- Sed
& Awk
- Korn Shell
Web
Development:
- HTML
- CGI
Programming
- JavaScript
- Perl
-
Webmaster
Java:
- Java
Programming
- Java Reference
-
Java AWT
- Java
Classes
Networking
Books
PC Books
Books
for Routers
Books
for Software Applications
How
Tos
Technorati Tags: online computer books, computer books, programming books, free computer books, free programming books

Posted: May 21st, 2007, 6:28pm CEST by computer_teacher
Here are two free training resources for Visual
Basic .Net. The first one linked and described below is for
those with no previous Visual Basic programming experience, and for
that matter, no programming knowledge is needed at all. The second one
below is for those who already have used and programmed in Visual Basic
6 and need to transition to VB .Net.
This
is a set of Visual
Basic .Net Projects
for the classroom. Teacher notes are available for each VB .Net
project, along with student programming assignments. The objective of
this VB.Net project book is as a first programming course using Visual
Basic .Net. It assumes no previous programming knowledge on the part of
the student. (pdf format, 364kb, 81 pages)
VB
.Net Programs Presented and Reviewed:
- Wingdings
- Thermometer
- Dice
Display
- Guessing Game
- Flip
Book
- Simple House Drawing
- Spaceship
Invaders
- Tic Tac Toe
- Picture
Display
- Multiple Choice Grading
- Check
Book Balancing
- Drawing Program
- Roman
Numeral Conversion
- Palindromes
- Conway’s
Game of Life
- Checkers Game
A
Programmer’s Introduction to Visual Basic.NET
is structured to help you learn and apply the changes from Visual Basic
to Visual Basic.NET (VB.NET). Most of this ebook assumes that you are
comfortable with Visual Basic 6.0 (VB6). It discusses and explains the
major differences between VB6 and VB.NET. The Common
Language Specification is included in the appendix. (pdf format, 4.2mb,
223 pages)
Table of Contents:
- 1
Why Should You Move to Visual Basic.NET?
- 2 Your
First VB.NET Application
- 3 Major VB.NET Changes
- 4
Building Classes and Assemblies with VB.NET
- 5
Inheritance with VB.NET
- 6 Database Access with
VB.NET and ADO.NET
- 7 Building Web
Applications with VB.NET and ASP.NET
- 8
Building Web Services with VB.NET
- 9
Building Windows Services with VB.NET
- 10
Upgrading VB6 Projects to VB.NET
Technorati Tags: visual basic dotnet training, visual basic .net training, vb .net training, vb .net tutorials, vb .net

Posted: May 21st, 2007, 3:15pm CEST by computer_teacher
This Python book, Data
Structures and Algorithms with
Object-Oriented Design Patterns in Python, written
by Bruno R. Preiss, teaches data structures and
algorithms presented in the Python programming language. Data
structures and Algorithms are the fundamental pieces from which larger
and more complex software components and applications are developed.
This book will show and teach you the following: 1) how the
information is arranged in the memory of the computer, 2) the
algorithms for manipulating the information
contained in the data structure, and 3) the
performance characteristics of the data structure, so you can select an
appropriate data structure for a given application. This
book also illustrates object-oriented design and it promotes the use of common,
object-oriented design patterns. Here are the author's other
books, covering the same content, but for different programming
languages: C++
Book, Java Book,
C# Book, Ruby Book,
Lua Book,
Perl Book,
PHP Book.
Table
of Contents for Data Structures and Algorithms with Object-Oriented
Design Patterns in Python:
» Colophon
» Dedication
» Preface
» Introduction
» Algorithm
Analysis
» Asymptotic
Notation
» Foundational
Data Structures
» Data
Types and Abstraction
» Stacks,
Queues, and Deques
» Ordered
Lists and Sorted Lists
» Hashing,
Hash Tables, and Scatter Tables
» Trees
» Search
Trees
» Heaps
and Priority Queues
» Sets,
Multisets, and Partitions
» Garbage
Collection and the Other Kind of Heap
» Algorithmic
Patterns and Problem Solvers
» Sorting
Algorithms and Sorters
» Graphs
and Graph Algorithms
» Python
and Object-Oriented Programming
» Class
Hierarchy Diagrams
» Character
Codes
» References
» Index
Technorati Tags: python programming, python book, free python book, python data structures, python algorithms

Posted: May 16th, 2007, 10:47pm CEST by computer_teacher
Here is a Free Online Programming Book,
named Software
Design Using C++, made available by the Computer
and Information Science Department of St. Vincent College. This online
C++ programming book covers the learning materials for three
complete
computer science courses. Many C++ topics are covered, including
intermediate and advanced topics.
The C++ code examples were tested with Microsoft's Visual C++ 6.0 compiler,
and also (in most cases) with both the Visual C++ .NET 2003 compiler and
the g++ compiler under Linux. Most should also work with Visual C++ .NET 2005 as well as
other compilers. Some of the C++ code examples need to be run in the
.NET environment.
Table of
Contents
- Introduction
and Philosophy
- Introductory
Topics
- Simple
C++ Programs
- Using
the Compiler and Debugger
- Simple
C++ Functions - No parameters or return values.
- Decisions,
Decisions: Making Choices in C++
- Complex
C++ Functions - With parameters and/or return values.
- Repetition
in C++ - Loops
- A
Matter of Style: The Art of Programming
- Programming
Patterns
- Arithmetic
and Formatting of Output in C++
- Basics
of Arrays
- Using
Objects
- Introduction
to Windows Forms Applications
- Basics
of Data Streams
- Simple
Graphics
- Useful
Tables: Precedence Chart, Data Types, and Library Functions
- Review
of Introductory Topics
- Intermediate Topics
- You
can review the
previous section to see if you are ready for this
intermediate section.
- Software
Engineering
- Functions
and Parameters
- Arrays
- Records
(Structures)
- Files
- Web
Search I (Simple Web Search in Linux)
- Objects
and Classes
- More
Complex Object-Oriented Features
- Recursion
(Including recursive sorting algorithms)
- Pointers
- Linked
Lists
- Stacks
- Queues
- Intermediate
Windows Forms Applications
- Advanced Topics
- Computer
Science Theory
- Advanced
Linked Lists
- Binary
Trees
- Heaps
and Heapsort
- Hash
Tables
- B-Trees
- AVL
Trees
- C++
Exceptions
- External
Sorting
- The
Standard Template Library
- Web
Search II (Web Search in Linux)
- Advanced
Windows Forms Applications
- Using
AppWizard
- Professional
Programming: Issues and Tools
- Graphics
Programming
- Further
Information
- Search CIS
Dept Web Pages can be used to search for specific C++
programming items.
Technorati Tags: c++ book, free c++ book, c++ programming book, free c++ programming book, free programming book

Posted: May 15th, 2007, 4:21pm CEST by computer_teacher
Posted: May 15th, 2007, 4:20pm CEST by computer_teacher
Here are what I judge to be the Top 6 Digg Programming posts in
last 30 days, for providing free training content and
tutorials covering web application development.
The Standards Way to Do Dynamic Data
Somewhere in between presenting static information graphics and
complex, interactive data dashboards there's a need for a way to
visualize moderately dynamic data on the web. Oftentimes the solutions
you see implemented are clunky, for example, manually creating multiple
frames of various data points and uploading them by hand. More…
Top 5 Javascript Frameworks
A list of the top 5 javascript frameworks
and features. More…
The Javascript Programming Language
"Excellent presentation and great insight on the history and basics.
Douglas rocks, yahoo is real lucky to have him!" More…
Learn
to Ruby: 74 Quality RoR Resources and Tutorials
As is the case with every language, learning Ruby on Rails from
scratch can be quite a pain. We've compiled a list of the best Rails
resources the Web has to offer, covering installation (both manual and
automatic, plus web hosts), tutorials (beginner and advanced topics),
books, blogs, forums, cheat sheets, code snippets and API
documents. More…
8 Defensive Programming Best Practices to Prevent Breaking Your Sites
This article describes some software development best practices that
have been used to prevent problems that can break Web sites. More…
Faster
PHP Apps - Profile Your Code with Xdebug
Using Xdebug and WinCacheGrind or KCacheGrind to profile PHP script
execution. More…
Technorati Tags: programming diggs, top programming diggs

Posted: May 15th, 2007, 5:25am CEST by computer_teacher
Here is a Google
search that returns and links to 7 sites
(out of the first 10 results listed) that provide freely available
computer and programming online books. These cover several areas,
including: Java, JavaBeans, Java Servlets, Perl, Networking, Unix, Web
Development, Web Design, Oracle PL/SQL, XML, Linux, Python, C++,
VB.Net, ASP.Net, Ruby, and Apache.
Technorati Tags: free computer books, free programming books, programming books, online computer books

Posted: May 14th, 2007, 6:05pm CEST by computer_teacher
Posted: May 14th, 2007, 4:52pm CEST by computer_teacher
ComputerFreeTips.com provides
free online Computer Tips, Networking Tips and
Hardware Tips. It claims to offer over 10,000 computer, network, and
hardware tips and techniques. These will help you
handle and learn how to administer computers you need to control and
use.
Technorati Tags: Computer Tips, Networking Tips, Hardware Tips
