source: http://mikehorowitz.deviantart.com/#/d4i61zo
(via avid)
Another one, this one clearly from reference as opposed to memory, and though there’s a slight jump in the quality of presentation, you can still pretty much feel the presence of the bear that always shows up when I try to draw women.
To be honest, the bear WAS there, but I cropped it out. I should stick to writing.
“
What kind of fucked up world do we live in where Google and Wikipedia take the lead on freedom of expression, on personal rights? That used to be the domain of the artist. Today, Internet companies changed the world. It used to be artists.
But people love Google more than Top Ten bands. They rely on Wikipedia more. Because they’re pure. They don’t compromise their vision or values for instant remuneration. They give back. Hey, you’re using an Android phone, do you know the operating system is free? And sure, Google will make money off of Android ads, but is this any different from selling concert tickets and merch after people hear your music for free?
And speaking of starting off for free…
That’s what Google did. They launched it first and then developed a business model. And it’s still got a freemium model. I’ve been using Google for years and have clicked on exactly one ad. But Google is rolling in dough. Just because you give away your main product for free does not mean you can’t make money. We live in an attention economy, your biggest chore is getting people to listen, not to pay for your music.
And the entire music industry is rotten to the core, riddled with egocentric businesspeople putting themselves first and responding not to music, but money. Don’t listen to a word they say, it’s like asking a child to deny he wants candy, it’s useless.
”— Bob Lefsetz, “Which Side Are You On?” (via midnightentity)
(via stfuconservatives)
Just finished Steins;Gate with my roommate. Best anime we’ve both seen in quite a while!
what a coincidence, I was _just_ planning to start watching this too :D. I’m all ready to get started but every time I sit down in front of my computer I just end up playing hours of ME2 until my eyes bleed. I’m suuuuper late to the ME party but I’m trying to make it up by playing it every chance I get. Hopefully I’ll get around to this after I beat ME2 :D (orrr…maybe not, since ME3 is coming out soon…:))
I finally went to Quickly. This is honeydew flavored liquid happiness. Apparently they’re also in the Philippines? It was one of the countries listed in the bottom.
My board is an Option 2008 Forecast ? Or something like that…I’m pretty sure they went out of business, though. Brown 2008 Union datas. DC Hertz trailmap jacket and some Session pants. I love my gear, even it it makes me look color blind :D
Cron is awesome for running nightly/weekly/whenever-ly scripts, but the environment it runs in by default isn’t what you get when you open up a session. Crontab -e and add this to your crontab:
30 08 * * * env > ~/cronenv
This runs a cronjob to cat the result of ‘env’ to ~/cronenv at 8:30AM. You can change the time to a minute or so in the future so you don’t have to wait. 5:45PM would be 45 17 * * *.
env - `cat ~/cronenv` /bin/sh
Afterwards, run this command to open a shell with the exact environment that your cronjobs see and see why your scripts aren’t working :).
Last year, Selenium introduced WebDriver, an automated browser program that runs the browser in the same way that a user would. Saucelabs offers a way to test multiple browsers on multiple operating systems in parallel, completely automated, by running the Selenium software and selling time on their servers. Perl is fun. Saucelabs doesn’t have documentation for connecting to their OnDemand service using WebDriver and Perl, so I’d like to explain how to do that.
Using Gordon Child’s Selenium::Remote::Driver, it’s pretty straightforward to use Perl to run tests on Saucelabs using WebDriver. Get Selenium::Remote::Driver if you don’t have it (sudo CPAN install Selenium::Remote::Driver).
#! /usr/bin/perl use strict; use warnings; use Selenium::Remote::Driver; my $desc = "perl webdriver bindings and selenium!"; my $login = "loginName"; my $apiKey = "myApiKey"; my $host = "$login:$apiKey\@ondemand.saucelabs.com"; my $driver = new Selenium::Remote::Driver(
'remote_server_addr' => $host,
'port' => "80",
'browser_name' => "firefox",
'version' => "7",
'platform' => "WINDOWS",
'extra_capabilities' => {'name' => $desc},
); $driver->get('http://www.google.com'); print $driver->get_title(); $driver->quit();
Plugin your login name and api key and that should get you up and running. The script opens FF7 on Windows 2003, gets google.com and outputs “Google” as the title of the webpage.
For anyone using the Selenium RC WWW::Selenium bindings, things are a bit different in Selenium::Remote::Driver - namely, many of the events (clicking, getting information) are done as methods to a new Selenium::Remote::WebElement object, not the selenium driver object. It was a bit of a pain to migrate over, but I think it’s a lot cleaner now. So far, everything I did with WWW::Selenium I’ve been able to duplicate with Selenium::Remote::Driver, and in most cases it’s much simpler and more elegant :)
At my work I ssh into a linux box somewhere in the cloud. Since I’m not Ops, I don’t have root access on the box, but I am consistently running into situations where I need to install modules from CPAN on to the box. Without sudo, I was having a lot of trouble writing code with new functionality and not being able to utilize the CPAN library.
But, luckily, stackoverflow came to my rescue. Or, in particular, Chas Owens did, with the following simple three lines:
wget -O- http://cpanmin.us | perl - -l ~/perl5 App::cpanminus local::lib
eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`
echo 'eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`' >> ~/.profile
So, the first line runs a script to install App::cpanminus and local::lib. cpanm is CPAN without all the customization options, so you can just cpanm Module::Name and not worry about a thing. local::lib lets you install to non-root directories. The second line uses local::lib to tell perl where to look for the new modules, and the third line exports it to ones .bash_profile so it’s used each time we log in.
Finally, since the scripts I’m writing actually get run as root,
use lib("~/perl5/lib/perl5");
I just have to insert that line into my script to tell perl where to look.
tl;dr - I <3 CPAN & stackoverflow.
As announced in the Google Testing Blog, Jason Arbon and Jeff Carollo wrote a book on How Google Tests Software. The book will be published next spring. Pre-order is already available on Amazon for the paperback edition.
march 31st 2012 to be exact. I’m pretty curious about this book; the google testing blog has some pretty impressive stuff and I’d definitely like to learn more. (Fuzzy logic for selectors? automatic inline updating of test scripts? shinyyyy)
Here is a quick tip:
When a bug is found, DO NOT, run off to fix the bug immediately. Instead, I urge you to write a unit/acceptance test first which exposes the bug. Then and only then, should you go and fix the bug.
I like this. I don’t know why I haven’t been doing this so far. Each documented bug in our bug tracker (we happen to use JIRA) should have an associated script for it in Honeydew. So, when we find a bug, instead of following the devs around and trying to fix it with them, those of us in QA (read: me) should instead be writing an automated script that can be used to test the darn thing.
On an extremely simple level, offense can be broken down into five rules:
1. Take what they give you.
2. If you really want something they’re not giving you, try to fake them into giving it to you.
3. If you’re not sure exactly what you want, fake until they give you something, then take it.
4. Actively get out of the way when someone else is making a better cut.
5. Make smart choices with your throws.
6. (optional) If you smell even the slightest whiff of anyone going deep (cutter, handler, sideline players, opposing team’s coach, etc), send it promptly.
PS: Don’t actually do 6 unless you’re willing to accept the consequences (ensuing hilarity, wildly negative personal stats, scarcity of teammates willing to pass to you)
(via fuckyeahultimate)