New Base 60
https://github.com/veganstraightedge/new_base_60
Description
Handy Conversion Sexagesimal (base 60) for Short URLs Cuts out ambiguous characters like:
-
l
: lowercaseL
(looks like a1
: one) -
I
: capitali
(looks like a1
: one) -
O
: capitalo
(looks like a0
: zero)
Based on work done by Tantek Çelik : http://ttk.me/w/NewBase60
Features/Problems
- Converts Base10 (like 147124) to Base60 (like fs4)
- Converts Base60 (like fs4) to Base10 (like 147124)
- Converts Base60 (like fs4) to a Time object (Mon Oct 23 23:00:00 -0800 2372)
Synopsis
How to use:
require "new_base_60"
n = NewBase60.new("464")# => #<NewBase60:0x1011ea468 @base_60="464">
puts n.to_i # => 14764
puts n.to_i.to_sxg # => "464"
puts n.to_date # => #<Date: 4910703/2,0,2299161>
puts n.to_date.to_s # => "2010-06-04"
puts n.to_date.to_sxg # => "464"
Or, on the command line:
$ dec_to_sxg 115727
Y8n
$ sxg_to_dec Y8n
115727
If you want a shortcut, add this to your .bash_profile:
alias sd="sxg_to_dec"
alias ds="dec_to_sxg"
Install
sudo gem install new_base_60
Credits
Contributors
- Original Idea : Tantek Çelik (@tantek)
- Ruby Port : Shane Becker (@veganstraightedge)
- John Barnette (@jbarnette)
- Ivan Storck (@ivanoats)
- Bookis Smuin (@bookis)
- Chris Raethke
- Faun (@faun)
- Aaron Parecki (@aaronpk)
License
PUBLIC DOMAIN
Your heart is as free as the air you breathe.
The ground you stand on is liberated territory.
In legal text, new_base_60 is dedicated to the public domain using Creative Commons -- CC0 1.0 Universal.