2009-09-28

The Web: A Romance

The following are mostly boring techy details.

Blogger, SFTP, and DNS records

What an exciting 24 hours it has been!

I wrote a post the other day and Blogger failed to push it to kosmokaryote's server. That's alright. I'll try again later. I did try again later, and it still failed. Adventure time!

I have been aware that they were encouraging users to no longer use the SFTP service. While it's nice to have them as an interface to manage files that are remotely stored on my own server, I can kind of see the benefit. It takes up my bandwidth for them to update and copy files to my space. In particular, publishing can take a long time when I use labels, because they also update each label's static HTML page that they then transfer over. If I let them host it on their server, it could all be done dynamically. Yay. I could also have access to cool layout options (if I wanted, but I like my template). Sadly, I want it to be within my domain (kosmokaryote.org), not on theirs (blogspot.com). They at some point allows a method where you could use your own domain, directing it to their server, having the best of both worlds.

I made the change to my DNS records yesterday to point blog.kosmokaryote.org to their server, and today it's finally propagated through the various DNS servers such that going to blog.kosmokaryote.org for me now works as expected. If you're reading this later than I posted it, and were getting 404 pages, then your local DNS server didn't have the updated entry pointing blog.kosmokaryote.org to them and you're confused. Good luck!

Of course, there are various pointers on the web to pages hosted under www.kosmokaryote.org/blog/ (instead of the new blog.kosmokaryote.org). Google feeds (I have two subscribers, incidentally; go Google for including that in their feed-fetcher's user agent string) and old images and files and etc. I don't want all those to go stale. (I might forever lose my two subscribers!) So, to that end, I have made love to the .htaccess files of Apache, and now redirect any attempts to go below kosmokaryote.org/blog/ to blog.kosmokaryote.org (yay me).

The only issue right now is the extra space at the top. Perhaps that's blogger's navbar breaking somehow? Maybe it doesn't like my javascript header?

Gender Guesser, Perl, CGI, PHP

Consuming more of my time than an .htaccess file and a DNS record change (and various relative-to-absolute paths in javascript and CSS files) has been an effort to write a simple CGI script. You see, my girlfriend got development time as part of her birthday gift, and one of the things she wanted was a web repo to store Gender Guesser Q&A sets in. Being a little familiar with Perl and CGI scripting, and having CGI advertised with my host provider, I went to work.

Naturally, none of my test scripts nor the provided example scripts worked. Instead, I constantly received the dreaded Premature end of script headers. If you google around for solutions, you'll find a lot of ways in which the script could mess up, and a couple ways in which the server messes up my script. This was one of the latter, with the specific case being incorrect permissions and privileges for/with the dreaded suexec module.

I'll say right now that Chris Parrinello of webschwerver.com web hosting is awesome/special/amazing/cool and spent what seemed like a good deal of his own time attending to my issue. Various restarts and tests and attempts later, tada, CGI scripting works!

Sadly, for all that effort, I did end up writing my uploader and repository in PHP as he suggested at one point. PHP, consequently, is my new favourite web development language. I like both it and JavaScript. I never really liked Perl to begin with, you see. I just got used to it. I had settled for what I knew. It sure is versatile at least. You can always say that for Perl... ugly as hell though. Makes my hair fall out. Wouldn't invite it to a party. Well, sure I would, but it's more out of pity. Sure is ugly... right, PHP: Pretty Handsome & Parsable.

Anyway, playing with PHP has been fun. No, you cannot use the uploader. Not until you request permission, at least. Why would you? I haven't really even made the Gender Guesser code very public yet. Oh, I will. I'm just lazy, you see. Don't hassle me! I want to finish a few things first. Like the Set Creator GUI! Did you know, I wrote a handy application to help you create the sets you use in Gender Guesser? It's written in Vala. (On the note of languages, I might also be getting over my C#/Mono bigotry, not that I'm much of a bigot on that front to begin with, but I never want to use Mono...) The only issue is that it saves it in the CSV format and I want XML. I also want it to be able to open existing sets and let you edit and resave them. All coming along now, you see.

You can, however, view the repository of sets: here

Now, to learn more LaTeX so I can finally create a decent CV.

1 comments:

  1. Your boring is romantic. :) Words sneak in and make love in between the details.

    ReplyDelete

Labels

#General #Microblog friends gnome life google #School food linux school blogger fedora guelph music technology web bugs iaido nature vegan jodo #GNOME firefox sick stress development work future kendo kosmokaryote open source ta Flesherton android art birthday cell phones computers internet sleep speech gxml picasaweb skedge vegetarianism cookies dad evolution fun git happy nlp phone reading security winter dreams libgdata love pidgin speechdispatcher sushi travel vala vancouver wind mobile #Development Toronto christmas cold genderguesser liv movies nightmares snow ubuntu acer ai anime baking blogging canada chocolate gitorious gseta halloween money new zealand night people quote tablet the legend of zelda video writing xorg Nintendo bc books cake cat css djaqua environment family galaxy nexus gdom german home humanity japan magic morning new years rain rhythmbox shopping spring stars vonage weather x11 New York Scott Pilgrim TAing adventure animal welfare autumn breath of fire II clothing comments communication conversation dance dataloss duplicity fedora 17 flight gdata google+ greyhound gsoc gtk laptop laundry math nerdfighteria nostalgia nz photography pizza play poverty privacy programming psychology responsibility science sound style swords tea time uoguelph upgrade value village video games Con-G Hugo Nexus One OCUS Sudbury age animals anime north apple audible backup bash birds busy computer science conservation cooking culture data loss decay design eating emacs encryption energy english facebook failure fedora 12 fedora 16 germany ghetto gnome blog goals green habits health hungry icarus im japanese java knowledge language law libxml2 light mail mail-notification materialism meaning memories memory mom muffins netflix ninjas pain pets pirates politics preupgrade productivity purple python quiet thrill receipts religion research rogers rss skating smells soy milk space sports sun synergy transit university vlogbrothers wahoo walking water web development webschwerver weekend wild xml yojimbo zellers Avatar: The Last Airbender Blassreiter CIS*2750 CIS*6890 Dresden Codak Dutch Blitz Electric Networked Vehicle Empathy GNOME 3 Hank Green John Green Josh Ritter Lord of the Rings Samurai Champloo Thanksgiving The Frames Trick or Eat US animalia arboretum argument bad movies banana bats beard belladonna beta blogs brain breakfast browsers bus business cabin calm cancer catastrophe celebration chat childhood clock colour comics compassion confidence consumerism context corporations cottage cthulhu cupcakes dbus death depth discomfort diy dns dodgeball earth earth day emotion emusic enhanced history evil exercise exhausted exploring fail farmer's market feelings ferry film formal free friend fruit full moon furniture game boards games gardening ghosts gmail google reader google wave government gratitude green roofs guerilla gardening hair heat hobocore howl ice cream imaqua instant messaging intelligence interest internet explorer javascript joy labs loneliness loss lost macbook martial arts melancholy microwaves moon mozilla mystery namespaces neural networks news nintendo 3ds obsolescence oceans oh the humanity pants parties past patches peanut butter perl philanthropy picnics pie politeness preparation pulseaudio quidditch recipes redundancy reflection richard's room rpm rsync sadness salsa samurai schwarting seasons semiformal senility sentimental sewing sharing sheep silicon motion sleep deprivation sleeping in social society software songs ssh star wars strange strangers summer surreality survival skills sweet technical communication and research methods telephone test thrift stores time and space time management tired tradition tragedy truth tv urban ecosystems valentines vday velociraptors via vihart violin vlog voice warmth wave web design weird wireless wonder world youtube yum #Wishlist 1602 1984 24fps 404 API All My Children Argentina Avatar: The Legend of Korra BarTab Businesses CIS*6050 Christopher Plummer Claymore Creatures Darker than Black David Attenborough Dear Wendy Diablo Docking Station Dollhouse Dunedin Elliott Brood England Europe Excalibur February Fergus Final Fantasy IX HTC I believe in a thing called love Ireland JRR Tolkien King Arthur March Melodies of Life Merlin Michael Cera Montréal Mother Mother Neil Gaiman Network Manager New York Philharmonic Nick and Norah's Infinite Playlist Nintendorks Norns North Korea NotesFromNewYork Olympic Ontario Orphen Oscars PEAP Pete Peterson Planet Fedora Questionable Content R Rent Richard SIM Wireless Samsung Santa Claus Sauble Beach Snakes and Lattes Star Trek Steve Grand TCAF The Darkness The Hobbit The Stand Tianjin Tolkien UK Wolves in the Wall WordPerfect abrt abuse advertisement advertising aeroport air airport express airship ajax al gore alarm clock aldiko algonquin alien alone ambition amusing amy winfrey angry birds anhosting anon anxiety apartment apology arcade ask assignments association analysis asynchronous ati aural abuse automarker autonomous automobiles avatars awesome awkward backtrack3 backyard bounty bad bandwidth banks baseball bathroom battery beaches beauty bed bees beetles bellaqua berlin bertrand russell bill gates biometrics black and white blockbuster bloomberg blue board games bohemian bold bonds book border boredom branding brave bubbles buffy buses butterflies buttons c# c++ cafe calligraphy camera candy cards careless cars cast causality cbc celebrate cello certainty cgi chalk challenger change chaos theory charity charm cheap cherry blossoms chickens china chivalry chopsticks chores christianity chrome cities clarity classes clean cleaning clorox clorox green works cloud clubs cname codeine codeviz coins comfort commons community competence competition competitive coughing compiler compliments concert consent consumption contagion contributing convenience convention cookie copyright corpses cosplay cough suppressants coughing country courageous court crafts crashes crates creative commons creativity criminals criticism crosscanada cry crying cryptic csh cult current tv customer service cvs dancing dark themes data mining databases debug symbols debugging decor definition democracy desktop desktop summit despair diet digimon digital receipts dinosaurs disabilities disaster dispute dissection kit doctors doubt dpkg drab dragon drano drano prevention drawing dreaming dress dtwydt dust dvds dying dynamic typing dystopia e-mail easter easy ebooks ecards economy editors education eeetop efficiency eggs el paso elder neglect elections electronic receipts elements email enchant enterprising environmental science symposium eog epiphany eplugin equality equipment errors essentialism ether ethics evoaqua expectations experiment ext3 extensions extortion faery fest fair trade faith falafel fall familiarity fan fascism favicon favourite fears fedora 11 feed me fibonacci fiction figures of speech file systems fire fireworks fish flexibility flour flowers focus fonts forceps forgottotagit fork fortunate fortune frameworks fred penner freedom freezing french fries fresh friend's wedding fspot funerals funny garden gay rights gdb geek genetics gifts gimp gio glass globalnewtgames glory gloves glue gluten gm gnome keyring go ninja go good goodbye goodfella's google books google talk gp2x grad graffiti grass grey county groceries groups guts gypsies haircut hal halls happiness harry potter hdtv heart break help hewlett packard hijinx history holidays homelessness homework homosexuality honey badgers honour horatio hornblower horror hot house hp hp lovecraft html hugs humanitarianism humblebundle humour hypocrisy hyrule i am a carpet ibm thinkpad x41 ice ice cream sandwich identity ill image editing images inadequacy inconvenience industry information inhumanity ink innovation integration interlocutor internet tv introspection io irish isolation it it is indigo jabber james bond jedi jobs jokes judgement julie thiel justice kayak kernel keyboard ki-ai killme kinder kirby kiva knife knights knots koodo labels landau sacamoto languages late laurena learning legend letstrace letter writing letters libnotify librpm libxml lilo limericks limits linksys live wallpapers livejournal loans local local food local install losher lots of hugs lovely lyrics mac mini madness magical majesty malaria mario marketing massages matrices me meat in vitro medicine meow metacity metadata metaphor microbes microfinancing micropayments microsoft mild weather milk mind mindhacks minimalism misery misfortune missed the boat missing mlp mold monitors monologue mood mosquitoes moss mother's day motivation mtp muffin muffinfilms mundane murder mushishi mushroom soup musicals nameservers nasa national treasure nausicaa navigating neighbours nerdfighter netgear network new users newspaper hat next year ninja turtles nodelist nointernet noise noisy nominate non-root normality noses not really dying notebooks notification-daemon novels november fair nuclear war numbers obliviousness obscure ocz olap olive open open formats open music open souce open standards optimism orcas orchestra oreo oreos oscar otr overheat packing pagans pan panasonic panda paper papers patience pattern recognition pen pence pender penguins penmanship perfection performance personal pet rocks peterborough philosophy php pickman's model picnik pidgin plugins pintsize pizza hut planning plans plants playground pleasant plumbing plushies podcast pokemon pomplamoose positions posse potatoes potluck power ppc practise premier pressure pretty private processes progress promise pumpkin pumpkin pie purchases qt quarantine rad radeon railroad randall munroe raop rats reagan reality reductionism refactoring refrigerators relax release resumes reuters revolution rhino rhps ricola road trips roar rot rtm running sad sanctuary sand scary scary movies scheduling schneier scooters scp script seals search secrets self-interest self-navigating car senescence sensitivity serialisation sessions setbuilder settlers of catan sftp shame sheepo pistachio sherlock holmes ships shogun shoulder bag sigh sim city simafort simple sincerity skill skunks sky slackware slashdot sliver smiling snowboarding social dance socis soft someonesmotherwantstoadoptme song sorrow soup sparklers speech dispatcher speed river spellchecking spies spilt milk splendid splinter squaresville sshd stanley park starving steampunk storage stories story telling streamlines strength struggle stupid stylus sucks sugar sunset super mario super mario land 3d surprise surreal sushi surrender suspense sustainability swimming swings sympathy symphony tabs tail coats tardigrades tasks tears technocracy teddy bears temperature term termcap testing tests texting the duke the fault in our stars the hulk the onion theatre themes theory thingsidon'twanttodo thinking thought thoughts thrift tim mcgraw tim tams timber timbre time travel tin tin toilets tolerance tonight tools touch screen touchpack tour tourniquet trac tracker trailer translation trees treestyle view trex trivia trouble tumblr turtles twitter tx2500 tx2617 ugly logos un dinaru underwold unemployment united states unlimited blade works update updates upgrades uploading urban agriculture usability usb utopia vagrancy vagrant vampires vanilla ice veggie challenge velvet burger verb version control vi violence voip waf waffles wanting waste web hosting webcomic webcomics webfonts webkit werewolves what a wonderful town whic are also lazer powered white spot wifi wii wikisource williams wings wizard wolf wonderland woods wordplay working world water day writing voice xenophobia xephyr xkcd xmpp yoga youth z-index zoo

Blog Archive

About Me

My Photo
I am aeronautical, vanship-style.  I am olympic and mythical.  I rest on my laurels.