free software resistance

 the cost of computing freedom is eternal vigilance

### hamster.py *original date:* aug 2012 *orginally posted:* sep 2024 all the files from 2012 say theyre from august- i suspect this is the date of a file transfer rather than the date they were created, some may actually be from 2012 though. this is another one that i did in basic first, its meant to be as silly as it looks. when i first started porting things to python i used curses, since python has no equivalent of a "locate" command like in basic, but later i would use ansi codes for this: ``` #!/usr/bin/env python # hamster # 2006 mennonite # ported to python 2009 # public domain import time, curses def hamster(hmstr): curses.curs_set(0) while True: hmstr.addstr(16,0," _--_ ") hmstr.addstr(17,0," .`\ `. ") hmstr.addstr(18,0," / \ \ ") hmstr.addstr(19,0," \ \:)/ ") hmstr.addstr(20,0," ',/\~\,' ") hmstr.addstr(21,0," / '--' \ ") hmstr.addstr(22,0," /________\ ") ; hmstr.refresh() time.sleep(0.05) hmstr.addstr(16,0," _--_ ") hmstr.addstr(17,0," .` | `. ") hmstr.addstr(18,0," / | \ ") hmstr.addstr(19,0," \ | :)/ ") hmstr.addstr(20,0," ',/~/\,' ") hmstr.addstr(21,0," / '--' \ ") hmstr.addstr(22,0," /________\ ") ; hmstr.refresh() time.sleep(0.05) hmstr.addstr(16,0," _--_ ") hmstr.addstr(17,0," .` /`. ") hmstr.addstr(18,0," / / \ ") hmstr.addstr(19,0," \ / :)/ ") hmstr.addstr(20,0," ',/\~/,' ") hmstr.addstr(21,0," / '--' \ ") hmstr.addstr(22,0," /________\ ") ; hmstr.refresh() time.sleep(0.05) hmstr.addstr(16,0," _--_ ") hmstr.addstr(17,0," .` `. ") hmstr.addstr(18,0," /______\ ") hmstr.addstr(19,0," \ :)/ ") hmstr.addstr(20,0," ',\~/\,' ") hmstr.addstr(21,0," / '--' \ ") hmstr.addstr(22,0," /________\ ") ; hmstr.refresh() time.sleep(0.05) curses.wrapper(hamster) ``` license: 0-clause bsd ``` # 2006, 2009 mn # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ``` => https://freesoftwareresistance.neocities.org