Brad Lucas

Programming, Clojure and other interests

Git Stash Pop Conflict

October 4, 2017

It is true that creating branches in Git are easy and cheap so you don't really need to git stash something. But, sometimes you don't want to save something to a branch because you really want it to be a temporary thing so you stash it.

Sometimes though you'll stash something then merge your feature branch and when you git pop conflict the stash back you'll have a conflict.

You'll see "unmerged paths" which is your clue to this situation.

What to do?

Continue reading →

Ads Txt Top 100 Domain Results

October 3, 2017

The Clojure Ads.txt crawler is working well. Using the top 100 domains list from PPC.land the crawler creates the following results:

Domains with Ads.txt files

accuweather.com
allrecipes.com
ameblo.jp
babycenter.com
babygaga.com
bhaskar.com
businessinsider.com
cbsnews.com
cnet.com
daily.co.jp
dailymail.co.uk
dingit.tv
diply.com
drugs.com
elmundo.es
elpais.com
espn.com
forbes.com
foxnews.com
genius.com
globo.com
healthline.com
howstuffworks.com
latimes.com
littlethings.com
nypost.com
nytimes.com
ranker.com
softonic.com
speedtest.net
theguardian.com
therichest.com
tmz.com
topix.com
uol.com.br
usatoday.com
vice.com
washingtonpost.com
weather.com
webmd.com
wikihow.com

Domains without Ads.txt files

Continue reading →

Optics Game

October 2, 2017

The other day at lunch, I heard this interesting phrase, "It's an optics game". It was spoken by a friend I was having lunch with. He was detailing his current work environment which is less than positive. The story went like a lot of stories I hear from people in the same company as my friend, in that things are not positive. The company appears to be failing, a lot of people have left, no raises, etc.

My friend's boss was recently working on a series of marketing messages and powerpoint presentations. What made this odd to my friend was that my friend is in BizOps and his manager is in charge of the entire department. Why does BizOps need to market itself was my friends' first thought. Sensing this oddness, my friend asked the boss why he was doing the presentations and got back the answer, "It's an optics game".

Continue reading →

Updated Clojure Ads Txt Crawler

October 1, 2017

Work continues on the Ads.txt crawler with a focus on error handling and reporting. A new version (0.0.2) is not available and it works well against the 'Top 100 domains' file.

One particular issue was found with http-kit. It seems to have difficulty with sites that are SNI-enabled. When such a site is encountered you need a SNI-aware client.

In my top 100 list the url http://elpais.com/ads.txt causes the following error:

Error: javax.net.ssl.SSLException: Received fatal alert: handshake_failure for https://elpais.com/
Continue reading →

A Clojure Ads Txt Crawler

September 30, 2017

I recently discovered the Ads.txt specification and the IAB Tech Python crawler. Being more interested in Clojure I decided last weekend to write a crawler for Ads.txt files in Clojure. The first pass is available at the following repo on the release/0.0.1 branch.

Currently as of this writing, the 0.0.1 version supports passing a target domain list to have the sites crawled, their content parsed and output written in comma delimited format to STDOUT. The Python crawler from IAB saves it's output to a SQLite database. I decided that would be a feature for a later release. With my current version it is simple enough to pipe the output to another program or file for subsequent processing.

If you find this post at a later date than the release/0.0.1 branch feel free to investigate any progress I've made.

Continue reading →