Join the Object Storage Revolution — fopen() is so 2000-and-late

Traditionally, when a software developer had some data that they felt was too large for a database or already formatted in a particular way (e.g. PDF or CSV) and they needed that data saved for…

Trapping Spiders (in poisoned Honeypots and Mountweazels)

Your competitors might be scraping/crawling/spidering your website to collect your data (inventory? pricing? comments? product descriptions?) and while this behavior might not be always be illegal, it can place a strain on your servers and…

Software as a Service (SaaS) Customer Information Technology (IT) Security Bill of Rights

As a consumer of a SaaS product, I hereby require of my SaaS provider: My account password will be stored in a one-way hash that is not easily computed (e.g. NOT MD5) Credit card information…

Scrumming with Millennials

Traditionally the daily scrum meetings have been stand up, because the stereotypical fat, lazy programmer won’t be able to stand up for very long so the meetings will be short. That’s offensive. It’s also ineffective…

Spidering the Infinite Scroll

Pagination is so 2000 and late. Cool kids fire off a AJAX requests once a few webpages have been scrolled through in order to dynamically fetch the next block of content. Fewer clicks make for…

A Byrd’s Eye View: the State of IT Security

Recently I joined Jon Soldan, Daniel Bowden & Robert Humphreys (of PSI, the University of Utah and the Western Governors University, respectively) in an Alumni Speakers Series panel discussion on cyber security threats. Over the…

Finding processes older than X seconds

to find long running PHP scripts, for example, in bash it’s simple: [root@server ~]# cat oldphpprocesses.sh #!/bin/bash MAX_RUNTIME=60 NOW=`date +%s` ps aux|grep php|grep -v "grep"|grep -v "sh"|awk '{print $2}'| while read line do START=`stat /proc/$line/cmdline…

Surmounting the Savage Seg Fault

Segmentation faults can be particularly maddening as your LAMP programs grind unceremoniously to a halt with this single message in /var/log/messages: [Nov 08 17:38:07 2014] [notice] child pid 2027 exit signal Segmentation fault (11), possible…

Responsive image delivery

The web is being overtaken by mobile users and those smartphone users benefit from faster loading websites (which can be made faster by serving up smaller/scaled images.) But, how? step 1- take high res source…

Locked out of PostgreSQL

Maybe you’re running some DDL SQL on your PostgreSQL or modifying some stored procs, and you don’t want any slowdowns or locks because of users running selects against the DB. You can stop new connections…