HNHacker News
TopNewBestAskShowJobs

gowan

299 karma · joined June 18, 2014

https://github.com/jesg
submissionscomments
gowan··on Google employees who work from home could lose money
i like how the us military makes cost of living adjustments. you have your base pay determined my your rank which is not adjusted by where you live. in addition to that you get a housing stipend (BAH and BAS) that is adjusted by where you live. if i remember correctly the housing stipend is before tax.

google is essentially forcing a pay cut to your base salary in addition to the portion of your salary you use for housing.

gowan··on Red delicious apples weren’t always horrible
imo the granny smith is the all time worse apple. always taste like a green apple (not trying to be ironic) and usually has a thick skin. just plain terrible might as well pick any apple variety before it is ripe.

if you want a good green apple buy a newtown pippin.

gowan··on Red delicious apples weren’t always horrible
the problem with golden delicious is that you need to eat them within 3 days of when they are picked. a good golden should have a thin skin, be sweet, and crisp.

i think part of the problem is that farmers pick them to early so your usually getting an green golden that has rotted a bit to turn yellow.

gowan··on Someone has to foot the bill for empty offices
do you mean REIT (real estate investment trust) which have special tax treatment in the us?
gowan··on Tax Evasion at the Top of the Income Distribution: Theory and Evidence
not sure you are aware of this but you can contribute to a SEP IRA[0]. this has a lot of advantages over contributing to a normal ira. in my experience you can contribute more than you usually can in a 401k since most employers do not let you contribute after tax.

https://www.bogleheads.org/wiki/SEP [0]

gowan··on Cycling is more important than electric cars for reaching net-zero cities
non-leisure city biking is hard. the hardest things for me to learn was

* if you are getting into a tight spot then own the lane. it is better for a car to see you and hit you then for it to not see you and hit you.

* always have high intensity blinking lights ... (in some places it's illegal to ride at night without lights)

more safety tips: https://bicyclesafe.com/

gowan··on A proactive approach to e-scooter safety
i'm surprised by how many people on this forum have not stopped indefinitely at a red light on a bike. most lights i've come across are not calibrated for bikes so this isn't a rare occurrence.

many states have a "dead red"[1] law for when lights are not operational. which permits the cyclist to proceed with caution after stopping.

[1] https://en.wikipedia.org/wiki/Traffic_light#%22Dead_Red%22_l...

gowan··on Giving up reading news will make us happier
interesting... can you provide a link?
gowan··on PhantomJS: Archiving the project, suspending development
this is one of the reasons i created chromedriver-proxy[0]

[0] https://github.com/ZipRecruiter/chromedriver-proxy

gowan··on Learn FFmpeg the hard way
to be fair it is possible to do this from the command line with ffmpeg when using concat[1][2]. i did this when creating real time video from screencast in the chrome remote debugger.

[1] https://ffmpeg.org/ffmpeg-formats.html#concat

[2] https://trac.ffmpeg.org/wiki/Slideshow

gowan··on Show HN: ChromeDriver Proxy an extensible proxy to ChromeDriver
this is a tool i created when transitioning form phantomjs to chromedriver. it both manages a pool of chrome browsers and allows you to extend the selenium api.
gowan··on Ask HN: What did you work on in 2017?
open source stuff i've done:

* release ghostdriver 2.0.0 [1]. this is the implementation of the webdriver protocol for phantomjs. unfortunately phantomjs 2.5 was never released :(

* create chrominator [2] a high level api for chrome remote debugger. now defunct... use puppeteer

* created chromedriver-proxy [3] to help me extend chromdriver without having to recompile the c++ project. it also handles pooling browsers. the coolest extension i've built so far is recording video on headless chrome. still a work in progress but has proven stable for the real world test suite i support.

[1] https://github.com/detro/ghostdriver/releases/tag/2.0.0

[2] https://github.com/jesg/chrominator

[3] https://github.com/ZipRecruiter/chromedriver-proxy

gowan··on Show HN: An API for filling out PDF forms
this is an interesting idea. i like how it is declarative.

acrobat FDF[1] and Apache PDFBox[2] provide something similar but are not declarative. i'd be interested in seeing an approach with mozilla/pdf.js ... though i'm not sure how usable it would be.

[1] http://www.adobe.com/devnet/acrobat/fdftoolkit.html

[2] https://pdfbox.apache.org/

gowan··on Consistent Selenium Testing in Python
sounds like an interesting pattern.

it would be nice to have a browser extension that abstracts the pattern in the browser.

gowan··on Consistent Selenium Testing in Python
you should skip this post. it is full of anti-patterns.

anti-patterns

(1) implicit wait. this will create subtle differences in behavior between drivers. it will also create long pauses when you test for negative conditions.

(2) clear. selenium has built in support for clear[1]. in addition to clear you can send the null key[2] if you want to clear the input midway through a sequence of characters.

(3) time wait. this does not make any sense to me. seems like a clever way to add time.sleep.

[1] https://www.w3.org/TR/webdriver/#element-clear

[2] https://www.w3.org/TR/webdriver/#element-send-keys

gowan··on Show HN: Chromeless – Headless Chrome Automation on AWS Lambda
shamless plug: i've also written a high level api on top of the chrome remote debugger chrominator [1]

similar idea. chrominator use promises instead of a fluent api. it also follows the selenium w3c spec where possible. it does cool stuff with evaluate and evaluateAsync where it resolves the remote object to something usable.

to be fair there are a few other projects i know about that wrap chrome remote debugger with a high level api:

* autogcd [2]

* ghostjs [3]

[1] https://github.com/jesg/chrominator

[2] https://github.com/wirepair/autogcd

[3] https://github.com/KevinGrandon/ghostjs

gowan··on Testing is a separate skill and that’s why it can be frustrating
this technique is also called pairwise testing[1]. there are some interesting optimization problems around this approach. it can significantly reduce the number of tests while providing good coverage.

[1] https://en.wikipedia.org/wiki/All-pairs_testing

gowan··on Selenium IDE alternatives for UI regression testing
selenium has moveto[1] which will move the mouse to an element. you would use it in an action chain.

[1] https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol...

gowan··on Selenium IDE alternatives for UI regression testing
> Selenium IDE makes you handle timeouts manually which is a major inconvenience.

you can set the implicit wait setting. this will work in most cases but will make the tests slow when you need to test negative conditions. the behavior around implicit wait varies by driver implementation which can be annoying. in general it's better to use explicit waits.

> Selenium IDE only works with Firefox and may not work for sites or web apps that have slightly different DOM structure in Chrome, Safari, and IE.

selenium ide has webdriver playback[1]. if you don't like that you can generate webdriver scripts in c#, java, python, or ruby and run them against selenium server.

[1] http://blog.reallysimplethoughts.com/2013/02/18/webdriver-pl...

gowan··on PhantomJS 2.5.0 beta
i built chromium headless_shell for ubuntu 16 in the last 3 months to compare it to my phantomjs 2.1.1 build (cookie patch and ghostdriver selenium 2.53 patch). i was disappointed in what chromium headless_shell had to offer.

good: slightly faster on javascript heavy pages, full dowload and upload support, selenium support for alerts/popups

bad: slower startup, slower average performance, no mobile support, no screenshot support, takes at least 2x cpu and memory compared to phantomjs

for me phantomjs/ghostdriver is faster than chromedriver. plus chromedriver has an annoying click "feature"[1] that can break selenium tests.

[1] https://sites.google.com/a/chromium.org/chromedriver/help/cl...

gowan··on PhantomJS 2.5.0 beta
this is a beta release so you can test those features and provide feedback.
gowan··on A list of headless web browsers
what new apis should phantomjs support?

download support[1] is the only new api in development. it's not tagged for the 2.5 release[2].

[1] https://github.com/ariya/phantomjs/pull/14225 [2] https://github.com/ariya/phantomjs/issues/14458

gowan··on A list of headless web browsers
it is issue 546953[1] in the chromium issue tracker.

[1] https://bugs.chromium.org/p/chromium/issues/detail?id=546953

gowan··on Test-Case Reducers are Fuzzers
how does this compare to delta debugging[1]?

[1] https://www.st.cs.uni-saarland.de/papers/tse2002/tse2002.pdf

gowan··on How to make Selenium tests reliable, scalable, and maintainable
tldr; have developers help maintain automation tests
gowan··on Automated Visual Testing and Pixel Comparison
nontechnical buisness users like excel because it's familiar.

though i do not think having test data for automation scripts in a binary format is good. first excel is harder to work with than csv or json. second excel does not lend itself to version control.

gowan··on Generate Test Cases with IPOG
i was originally going to submit this as a "Show HN" but i could not choose between the ruby project[1] and the java project[2]. let me know what can be improved in the future.

[1] https://github.com/jesg/dither [2] https://github.com/jesg/dither-java

gowan··on Ruby: The Last Eight Years
I would recommend Metaprogramming Ruby by Paolo Perrotta if you know how to program but are new to metaprogramming.
gowan··on Jenny – A tool for generating regression tests (2005)
Also an article[1] on IPOG (In Parameter Order General) if your interested in test case generation stratagies. There is also an article[2] by NIST if your interested in combinatorial testing.

[1] http://csrc.nist.gov/acts/ecbs-cr-final.pdf

[2] http://csrc.nist.gov/groups/SNS/acts/documents/SP800-142-101...

gowan··on In Defense of the Midwest
As a californian who recently moved to the midwest (IA) the only thing I really miss is the mountain biking.

On the other hand I love the road biking scene in IA.

Page 1 of 2Next →