![]() |
Software > Programming >
(on Wikipedia)
https://www.ruby-lang.org/en/
Ruby is a true object-oriented programming language renown for its ease for comprehension and maintainability. It can do most of the things other programming languages can do, but the programmer has more fun.
Now at the end of 2016, when I look at my very old notes from 2007 I wonder.. Is Ruby's hayday over?.
- My (dead) Ruby scripts repository
- archive, Download
- archive, Windows Ruby Installer
- /tag/ruby-software
--
- Ruby tricks and tips
-
- RubyGems is the primary tool for libraries.
- Shoes for GUI stuff.
- Ruby Version Manager
- Ruby 1.8 to 1.9 transition
-
- Was a project I did with a youngster who wanted to learn to program, specifically for games. I wanted to start him off with general programming before setting him on his own path with other tools like C++.
- Ruby benchmarking
- Ruby web programming
- Ruby testing and Behaviour-Driven Development (BDD)
- KDE > https://techbase.kde.org/Development/Languages/Ruby
- Python > Python vs Ruby, by Alex Martelli
- Sharp Zaurus SL-series (Zaurus SL-C1000) > Ruby on the Zaurus
Notes ∞
(excerpted from source)
Ruby is easy to learn. Everyday tasks are simple to code, and once you've done them, they are easy to maintain and grow. Apparently difficult things often turn out not to have been difficult after all. Ruby follows the Principle of Least Surprise---things work the way you would expect them to, with very few special cases or exceptions. And that really does make a difference when you're programming.
We call Ruby a transparent language. By that we mean that Ruby doesn't obscure the solutions you write behind lots of syntax and the need to churn out reams of support code just to get simple things done. With Ruby you write programs close to the problem domain. Rather than constantly mapping your ideas and designs down to the pedestrian level of most languages, with Ruby you'll find you can express them directly and express them elegantly. This means you code faster. It also means your programs stay readable and maintainable.
- Back in the day (2006?) I was told that garbage collection, threads and I/O suck.
- RPA -- apt-get like.
-
- Code profiling (checking speed)
ri ∞
ri
comes with Ruby, and gives a very rough rundown of commands. For a helpfile on the topic:
ri <string>
While sometimes helpful, it's usually cryptic. Think "man pages" in terms of usability.
Ideas and notes ∞
- Create a tagline project -- compatible with Blue Wave.
-
Fuzzy-guess duplicates
- I use fdupes
- Rails app?
set -o
-- options for Bash.. there may be a way to make things more friendly with commandlines with`
or!
or whatever.. to ignore that crap and to also pass spaces etc as one parameter maybe...- Compiling Your Ruby App with RubyScript2Exe
- Test։։Unit vs RSpec
- Do something like this: https://web.archive.org/web/20090822062806/http://mkaz.com:80/ref/xterm_colors.html with
showrgb
- Specify switches from within the script itself..
#!/usr/bin/ruby -w
- Benchmarking -- see my example code
- Profiling --
ruby -rprofile my_program
-
Strings have several methods that integers and floats don't have (e.g. capitalize, length, upcase, etc).
- /mnt/ruby_documentation/docs/learning-ruby/chp_01/objects.html
- Numbers can use 'length'
-
Precede this by
#!
(pronounced "sharp bang") and make that the very first line of your program.- No, it's pronounced "hash bang"
- /mnt/ruby_documentation/docs/learning-ruby/chp_01/programs.html
-
There are two identation standards. Either 4 spaces or 8 spaces. I like 4 spaces, but it's up to you.
- typo: "indentation standards"
- /mnt/ruby_documentation/docs/learning-ruby/chp_02/tips.html
- wrong!! man, and he was sortof showing 2-space tabs in all his example code.
- Check out https://github.com/spiralofhope/shell-random/tree/master/dead/4DOS for ideas to migrate into Ruby scripts.
- Check out Rails' Rake
- figure out classes, namespaces and such.
- ncurses / ncurses-ruby expertise
- Mailing list -- and other sources
-
reading, tutorials and such
random ∞
12.is_a?(Integer) 12.is_a?(Float) 12.is_a?(String) var += 2 # Add 2 to var friends = friends.sort do |a,b| a[1] <=> b[1] # Sort by second entry end # Now 'friends' is sorted by last name.
Project ideas ∞
-
music categorization thingy
- also applies to categorizing pictures or any other thing.
-
change the tense of a sentence
-
convert a string to titlecase
- https://web.archive.org/web/20090203064959/http://snippets.dzone.com:80/posts/show/557
puts 'some string here'.gsub(/\b\w/){$&.upcase}
-
search through files in directories, looking through their contents for 'x'
- https://web.archive.org/web/20190613212826/http://www.rubyist.net:80/~slagell/ruby/getstarted.html replaces foo with bar in all C source and header files in the current working directory, backing up the original files with ".bak" appended
--ruby -i.bak -pe 'sub "foo", "bar"' *.[ch]
- https://web.archive.org/web/20190613212826/http://www.rubyist.net:80/~slagell/ruby/getstarted.html replaces foo with bar in all C source and header files in the current working directory, backing up the original files with ".bak" appended
- file split/merge
- simple backup solution
- simple synchronzation solution
- disk / directory / file reporting -- which directories have the most files.. which take the most space.. etc.
- Appointment book / calendar
- clock / scheduler
-
Match permissions between folders
- alert on weirdness (non-synced dirs)
- reporting functions
- Create a Ruby weblog, because I could do it better. If I could do it better. =/
-
site crawler / cacher / checker / notifier of changes-er.
- This is what would make open accounting trustworthy. Every person's client could detect if there were changes to the topic. A "changes" document would be something produced locally instead of needing to trust the server itself.
-
write tutorials
web-accessible file dump ∞
Copy a file into a directory, which does or does not have an associated description and it is automatically sorted thusly:
Provide the file via a web interface, which will automatically sort the file based on its name, extension and any description tags.
- The file is physically relocated into a tree.
- The file is synced to an ftp/whatever server.
- A web user interface makes that file available in an appropriate home.
-
The file is announced.
Ruby as a web scripting language / plugin / JavaScript replacement ∞
- https://github.com/superchris/rubyjs
- https://github.com/the-ruby-js-project/rubyinjs
-
https://web.archive.org/web/20201109074359/http://hotruby.yukoba.jp/
Resources ∞
- comp.lang.ruby
-
Or mailing lists for any particular Ruby topic or program you might be interested in.
Unsorted ∞
-
- A scriptable text-mode environment, where you can have different shells and applications set up in screen, and then overtop of all of it would go a Ruby scripting language that can perform actions based on activity.
-
- A ruby shell (in planning as of 2005-10)
-
- A ruby command-line parser thingy.
-
- An FXRuby Interface to RI, that supports search-on-typing. FXRI is a small little program, that tries to provide the desired information as fast as possible.
-
Complete Fix for Ruby on Mac OS X 10.4 Tiger
- OS 10.4
readline
, etc.
- OS 10.4
-
- Software and
ruby-dev
summary archive
- Software and
-
was exerb.osdn.jp/index.en.html [ 2 ]
- Make Windows executables from Ruby scripts.
-
- Take a ruby script and its dependant scripts and combine them into one
myscript.rb
so that one single rubymyscript.rb
will work.
- Take a ruby script and its dependant scripts and combine them into one
-
- Take one script and turn it into an executable.
-
- A complete Ruby installation packaged into one executable. -- This would be important if I had several scripts which I wanted to run one easy way without taking up a silly amount of space by compiling script+ruby multiple times.
- OSX: the packages don't include EEE for Darwin
-- It is possible to include fuller support by compiling myself.
-
- A wiki
-
- Uses Emacs and FreeRIDE.
-
- Generates documentation out of in-sourcecode RDoc documentation. It's goal is to generate that website as a wiki.
-
https://log4r.sourceforge.net/
- A comprehensive and flexible logging library written in Ruby for use in Ruby programs. It features a hierarchical logging system of any number of levels, custom level names, logger inheritance, multiple output destinations, execution tracing, custom formatting, thread safteyness, XML and YAML configuration, and more.
-
- A LAMPP-like server for trivial setup.
-
- used for making extensions
-
- Ruby version manager for Windows
- for gems I think..
- Ruby Change Request Archive
- Class and Library Reference
- Wikibooks: Ruby
-
Programming Ruby - The Pragmatic Programmer's Guide
- This is the earlier version of the book, covering Ruby 1.6. For Ruby 1.8, check out Programming Ruby - (2004 book), by Thomas, Fowler, Hunt
- Mirror, archive
- Ruby quick reference
-
- An interactive tutorial which lets you plug in code right there and interpret it on-the-fly.
- Try Ruby (in your browser)
-
Ruby Quiz is a weekly programming challenge for Ruby programmers in the spirit of the Perl Quiz of the Week. Definitely not for beginners.
- ~2008-05-12 - Its creator retired and it's reportedly still going on the mailing list.
- Learn Ruby In 3 Weeks
-
Sams Teach Yourself Ruby in 21 Days - (2002 book), by Mark Slagell
- ISBN 0672322528
- Ruby 1.6
-
- A brief explanation of how your code can be made more readable.
- Chris Pine's "Learn To Program"
- Why's (poignant) guide to Ruby
-
Check out minitest
Weblogs and news outlets ∞
-
https://www.artima.com/forums/forum.jsp?forum=123 [ 3 ]
- A community of Ruby blogs.
- Ruby Weekly News
- https://web.archive.org/web/20061115063204/http://farm.tucows.com/blog/Languages/Ruby
- Why The Lucky Stiff's
- Jim Weirich's -- On Ruby, OO, Programming, whatever.
- Andy's
- Chad Fowler's
- Glenn Vanderburg's
-
- It's just a link dump, but this is one of the places to look for random interesting new things.
Last updated 2024-06-29 at 16:35:09
ported ruby-related content
dropped in some old rough notes
ported remaining notes and project ideas
absorbed some straggling resources
ported some more links; unchecked
It looks like the footnotes plugin is not working properly right now.