- Netflix recommendation system failure 10 Feb 2019
- A personal DSP 09 Feb 2019
- Finally, some price increases 02 Feb 2019
- Modernizing Makers Alley and Better404 27 Jan 2019
- Buying Kindle books on iOS 12 Jan 2019
- GitHub's new plan 08 Jan 2019
- Java's SimpleDateFormat: YYYY vs yyyy 06 Jan 2019
- Farewell 2018, Hello 2019! 31 Dec 2018
- Dorm rooms for adults 31 Dec 2018
- 2019 Predictions 31 Dec 2018
- Twenty seconds makes all the difference 30 Dec 2018
- Mexico city thoughts 30 Dec 2018
- Amazon vs Walmart 30 Dec 2018
- Wired headphones 29 Dec 2018
- The Teotihuacan pyramids 29 Dec 2018
- Moving from OS X to Ubunu 29 Dec 2018
- Calendly 28 Dec 2018
- Eerie blue NYC sky 27 Dec 2018
- Amazon's "Add to list" design 27 Dec 2018
- Secret management across computers 26 Dec 2018
- Visualizing my blog: 2018 edition 26 Dec 2018
- Top posts of 2018 25 Dec 2018
- Happy holidays from Visual Studio Code 25 Dec 2018
- Solve all web app performance problems with SQL 24 Dec 2018
- Open, Public, Electronic, and Necessary Government Data Act 24 Dec 2018
- Calendars as streaming events 24 Dec 2018
- Quora's revenue model 23 Dec 2018
- HackerRank 22 Dec 2018
- Edge moving to Chromium 22 Dec 2018
- Global roaming 21 Dec 2018
- FIxing spotty AirBnB wifi 21 Dec 2018
- Tech startups are not the only ones taking risks 20 Dec 2018
- New iteration of DevOps 19 Dec 2018
- Facebook's latest hit 19 Dec 2018
- I finally tried an electric scooter 18 Dec 2018
- The new company town 17 Dec 2018
- Stuck on a problem? Take a break 16 Dec 2018
- Overanalyzing Medium's tag suggestions 15 Dec 2018
- New code is not a linear increase in complexity 15 Dec 2018
- State of tech in 2018 14 Dec 2018
- Counting the number of lines of code in a GitHub account 13 Dec 2018
- Scenepeek 12 Dec 2018
- The price of AWS vs GitHub 11 Dec 2018
- EMR vs Databricks costs 10 Dec 2018
- The modern economy relies on information 09 Dec 2018
- Avoiding content overload 09 Dec 2018
- Automatic login 08 Dec 2018
- Speech recognition and a bunch of APIs 07 Dec 2018
- Conference call echoes 06 Dec 2018
- The golden age of browsers 05 Dec 2018
- How many wifi devices do we have? 04 Dec 2018
- Overcoming writing rustiness 03 Dec 2018
- Mobile payments and messaging apps 02 Dec 2018
- Fat specs, light stories 01 Dec 2018
- Tragedy of the commons: Apartment edition 30 Nov 2018
- A delivery aggregation service 29 Nov 2018
- Shell history: 2018 edition 28 Nov 2018
- Privacy in a face detection world 27 Nov 2018
- An ad on the Google search homepage 26 Nov 2018
- Exploring my backlinks 25 Nov 2018
- Aggressive code deprecation 25 Nov 2018
- Code without online help 24 Nov 2018
- Adding optionality to products 24 Nov 2018
- Electronic goods are cheaper than ever 23 Nov 2018
- History's largest empires 22 Nov 2018
- Superhuman review 21 Nov 2018
- My DataEngConf 2018 talk 20 Nov 2018
- Computer history books 19 Nov 2018
- Falling behind my 2018 blogging goal 18 Nov 2018
- Random quotes 17 Nov 2018
- Python 3 and aiohttp 16 Nov 2018
- Limiting tracking in email 15 Nov 2018
- What messaging war? 14 Nov 2018
- A UX gem in Google Slides 13 Nov 2018
- Social Security Administration spoofing scam 12 Nov 2018
- Gmail's autocomplete 29 Oct 2018
- Just ship it 25 Oct 2018
- Equity in the gig economy 13 Oct 2018
- Incognito mode: Chrome vs Safari 21 Aug 2018
- Yahoo fantasy football stats: 2018-2019 edition 18 Aug 2018
- Google Calendar: Constantly shipping 15 Aug 2018
- Privacy vs user experience 29 Jul 2018
- Bulk discounts hurt competition 22 Jul 2018
- Class action settlement emails 21 Jul 2018
- In a software world, humanity comes first 10 Jul 2018
- MySQL foreign keys 07 Jul 2018
- Using personal AWS credentials in production 28 Jun 2018
- ALB and ELB access log schemas for Redshift 05 Jun 2018
- Type 1 and Type 2 tech specs 01 Jun 2018
- Power of shell commands 26 May 2018
- Memory as a stack 14 May 2018
- Curse of the early adopter 12 May 2018
- Rise of microbrands 28 Apr 2018
- Connect Four bot competition 25 Apr 2018
- Secure at the network level 17 Apr 2018
- Load testing 12 Apr 2018
- Open sourcing self driving car data 03 Apr 2018
- Protecting data ouside of a Terms of Service 25 Mar 2018
- Facebook's "breach" 18 Mar 2018
- Crowdsourced data 11 Mar 2018
- Hunting for my old GeoCities site 03 Mar 2018
- Retrieving Kindle highlights 25 Feb 2018
- Analyzing AWS ELB logs 20 Feb 2018
- Optimize for keyboard shortcuts 10 Feb 2018
- Making the most of the subway commute 09 Feb 2018
- My follower factory 03 Feb 2018
- MoviePass: A fascinating business model 28 Jan 2018
- Design anti pattern: Tab switching autosave 23 Jan 2018
- Phonetic distance 16 Jan 2018
- Calendar query language 13 Jan 2018
- Learning Docker 03 Jan 2018
- Favorite books of 2017 31 Dec 2017
- AR Adblocking 28 Dec 2017
- Visualizing my 2017 stats 27 Dec 2017
- People do what you inspect, not what you expect 26 Dec 2017
- Send a shirt, get a shirt 25 Dec 2017
- Top posts of 2017 24 Dec 2017
- My Medium experiment 22 Dec 2017
- Analyzing my blog: 2017 edition 21 Dec 2017
- More intelligent credit card merchant rates 14 Dec 2017
- Google's news problem 10 Dec 2017
- Jira analysis script 07 Dec 2017
- Measuring sprint efficiency 01 Dec 2017
- Google Voice transcription fails 30 Nov 2017
- Make all laws temporary 25 Nov 2017
- Improving Jekyll generation speed for AMP pages 23 Nov 2017
- Ride sharing ride bailing 20 Nov 2017
- Archiving large MySQL tables 18 Nov 2017
- DevOps and Core Engineering application gap 15 Nov 2017
- Modern world of massive competiting corporations 11 Nov 2017
- Spark's read.jdbc 07 Nov 2017
- Slides from my talk at DataEngConf 30 Oct 2017
- Philosophy of code 29 Oct 2017
- The code review pyramid 27 Oct 2017
- GPS: The foundation of them all 21 Oct 2017
- Schedule automation using Google spreadsheets and Slack 20 Oct 2017
- Carrier specific iPhone ads 15 Oct 2017
- Scale challenges with AWS Athena 14 Oct 2017
- Downloading your AIM buddy list 09 Oct 2017
- Farewell, AIM 07 Oct 2017
- Generating a series of commands covering a date range 05 Oct 2017
- Writer's block and code 02 Oct 2017
- Lessons from a Yes concert 01 Oct 2017
- Open sourcing government 22 Sep 2017
- Examining my shell command history 21 Sep 2017
- Apartment rental arbitrage 09 Sep 2017
- Scaling meal kit distribution 06 Sep 2017
- Cross app AI 04 Sep 2017
- Amazon's real leverage 31 Aug 2017
- Focus on the story 28 Aug 2017
- Why live sports? 27 Aug 2017
- A unified Lambda architecture 25 Aug 2017
- Death of retail 22 Aug 2017
- JSON to CSV 20 Aug 2017
- A Snapcode in the mail 12 Aug 2017
- Start with pen and paper 10 Aug 2017
- Google Docs vs Confluence 08 Aug 2017
- Ephemeral data 07 Aug 2017
- Visualizing my meetings over time 28 Jul 2017
- A Google Docs efficiency win 24 Jul 2017
- The wild world of online trackers 23 Jul 2017
- Cities and outsourced infrastructure 13 Jul 2017
- Increasing software engineer specialization 09 Jul 2017
- Yahoo fantasy football stats: 2017-2018 edition 08 Jul 2017
- Thoughtful code 04 Jul 2017
- Send private messages to all members of a Slack channel 30 Jun 2017
- RSS finally fixed 26 Jun 2017
- Unsubscribe and wait 10 days 24 Jun 2017
- Apple's ARKit 22 Jun 2017
- Getting AMP into RSS 20 Jun 2017
- Investigating application issues 17 Jun 2017
- The Amazon juggernaut 16 Jun 2017
- Mary Meeker's Internet Trends 2017 04 Jun 2017
- Learn from failure, not success 30 May 2017
- Engineering, product, and design 27 May 2017
- IVR to SMS 25 May 2017
- Type dependent databases 23 May 2017
- Copying production SQL data to other environments 20 May 2017
- The different flavors of engineering interviews 17 May 2017
- In praise of the polymath 13 May 2017
- Using options to play Snapchat's quarterly results 10 May 2017
- Tools over languages 07 May 2017
- Security across multiple AWS regions 04 May 2017
- Having some fun with the RGB color model 30 Apr 2017
- The golden age of big data tools 23 Apr 2017
- Subscription all the things 21 Apr 2017
- AMP and subscription paywalls 16 Apr 2017
- SQL is the perfect interface 11 Apr 2017
- Optical illusions and self driving cars 09 Apr 2017
- Quality over quantity: NextDoor vs Craigslist 08 Apr 2017
- Changing good code is easy 04 Apr 2017
- Slack's channel exit anti pattern 02 Apr 2017
- Fulfillment by Amazon counterfeiting 26 Mar 2017
- The effects of marketing on price 25 Mar 2017
- Embrace experimentation 22 Mar 2017
- Refactor driven development 19 Mar 2017
- In praise of long running code 12 Mar 2017
- Stop procrastinating 09 Mar 2017
- Automating admin work: Spreadsheets to Slack 04 Mar 2017
- Lessons learned from today's S3 failure 28 Feb 2017
- My Snapchat investment strategy 26 Feb 2017
- Advice for coding bootcamp graduates 21 Feb 2017
- Math is incredible 19 Feb 2017
- Read books, not blog posts 16 Feb 2017
- Mancur Olson and the changing economy 13 Feb 2017
- Traffic efficiency 09 Feb 2017
- New law? Let the opposition name it 06 Feb 2017
- Identifying product weaknesses using Google autocomplete 04 Feb 2017
- Learning modern frontend development 01 Feb 2017
- The freedom to move 28 Jan 2017
- Shame on United and Bank of America 26 Jan 2017
- Powering our devices using the human body 16 Jan 2017
- Find the arbitrage opportunities in hiring 14 Jan 2017
- Information bandwidth of audio and display ads 11 Jan 2017
- Top posts of 2016 04 Jan 2017
- Year in review: 2016 02 Jan 2017
- Favorite books of 2016 31 Dec 2016
- Amazon's peer to peer marketplace 31 Dec 2016
- Human-AI cooperation 30 Dec 2016
- Traveling? Buy a local book 29 Dec 2016
- Comparing public transit systems: New York vs London 24 Dec 2016
- Programming languages and developer tools 17 Dec 2016
- Automatically taking screenshots of HTML elements 13 Dec 2016
- Word clouds and text similarity 10 Dec 2016
- It's donation season 09 Dec 2016
- Efficiency vs expressiveness 06 Dec 2016
- Read the release notes 03 Dec 2016
- Becoming a better developer 30 Nov 2016
- Visualizing your AWS costs 27 Nov 2016
- Joy of old code 19 Nov 2016
- Comparing the web requests made by the top sites: 2014 vs 2016 18 Nov 2016
- Recursive redirects with AWS Lambda 13 Nov 2016
- A poor man's data pipeline 12 Nov 2016
- Restricted highlighting on the Amazon Kindle 06 Nov 2016
- The NFL abroad 30 Oct 2016
- Simple data visualizations from the command line 26 Oct 2016
- Preventing future DDOS attacks 23 Oct 2016
- Revisiting my Twitter activity 19 Oct 2016
- My new blogging setup 13 Oct 2016
- Setting up secor for Kafka 0.10 10 Oct 2016
- Friction and mass surveillance 09 Oct 2016
- iOS wifi security recommendation 02 Oct 2016
- Shaming meeting room hogs 01 Oct 2016
- NFL Thursdays on Twitter 25 Sep 2016
- A smarter Touch ID 23 Sep 2016
- Automating management 18 Sep 2016
- Supporting Disqus in AMP 13 Sep 2016
- Comparing my top sites: 2012 vs now 10 Sep 2016
- AMP migration scripts 08 Sep 2016
- Visualizing fantasy football stats 05 Sep 2016
- AMPifying my blog 05 Sep 2016
- Violating the norms of a social network 01 Sep 2016
- Food identification with Google's Cloud Vision 29 Aug 2016
- Giving wallabag a shot 28 Aug 2016
- Writing scrapers as APIs 24 Aug 2016
- Downloading your Turo ride history 21 Aug 2016
- Integrating poorly documented Open Source libraries 14 Aug 2016
- Fantasy football stats: 2016-2017 edition 13 Aug 2016
- Consumer tech leads to cyborgs 08 Aug 2016
- Engineering management: Measuring the unmeasurable 07 Aug 2016
- One of my favorite programs 06 Aug 2016
- Smarter geographic ad targeting 26 Jul 2016
- Double down on your brand and IP 22 Jul 2016
- Coding puzzle: Word transformation through valid words 17 Jul 2016
- Whatever happened to automatic login? 16 Jul 2016
- A Twitter Moments fail 10 Jul 2016
- Consumer protection for UX 09 Jul 2016
- Maximize the potential energy of your code 04 Jul 2016
- Snapchat's massive potential 03 Jul 2016
- Low cost at small scale 26 Jun 2016
- The Brave browser 23 Jun 2016
- Messaging app fragmentation 22 Jun 2016
- Blogging from my phone 19 Jun 2016
- AWS, Stripe, and WeWork 18 Jun 2016
- Analyzing my blog 12 Jun 2016
- Following up on a website optimization offer 11 Jun 2016
- Word clouds in R 06 Jun 2016
- Blogging: The small wins 05 Jun 2016
- Uber and self driving cars 28 May 2016
- Analyzing IMDB data: Actors vs actresses 22 May 2016
- Analyzing IMDB data: Step 1 - Cleaning and QA 21 May 2016
- Experimenting with Medium 15 May 2016
- Expiration date selection design anti pattern 14 May 2016
- Identifying unused database tables 11 May 2016
- Google's photo search is eerily incredible 08 May 2016
- Text is king 30 Apr 2016
- Avoid full body code transplants 27 Apr 2016
- A Telegram blog bot 23 Apr 2016
- Irrationality of the markets: Amazon up, Netflix down 18 Apr 2016
- The corporate email signup design pattern 13 Apr 2016
- Unintended consequences 10 Apr 2016
- Generalize at n=3 07 Apr 2016
- The best code is no code 05 Apr 2016
- Ben Thompson's “laddering up” and building bigger moats 03 Apr 2016
- Unbundling politics 27 Mar 2016
- Political parties are product bundles 26 Mar 2016
- Data analysis needs to be fun 21 Mar 2016
- Passing the torch: IBM to Google 20 Mar 2016
- Approach work like the gym 13 Mar 2016
- The MySQL enum type 10 Mar 2016
- Airbnb, Uber, and local laws 06 Mar 2016
- AWS EC2 instance arbitrage 05 Mar 2016
- Tool specialization and growing companies 28 Feb 2016
- Aural information density 27 Feb 2016
- Platform partnerships 22 Feb 2016
- Amazon Echo 21 Feb 2016
- Let's Encrypt 20 Feb 2016
- The impact of self driving cars 17 Feb 2016
- Design your database for flexibility 15 Feb 2016
- Longer terms in government? 13 Feb 2016
- Retargeting gone wrong 10 Feb 2016
- Don't build a Homer 07 Feb 2016
- Describe what your code won't do 31 Jan 2016
- Unification in tech and a new Gilded Age 29 Jan 2016
- The famed 10x developer 24 Jan 2016
- The ownership hierarchy 23 Jan 2016
- Poor, neglected Google Voice 17 Jan 2016
- 2015 Stats: Part 1 12 Jan 2016
- Cleanest way to read a CSV file with Python 10 Jan 2016
- Have consistent development environments 09 Jan 2016
- Paris versus New York City 03 Jan 2016
- Lessons from 2015 01 Jan 2016
- Smartphone usage by generation 28 Dec 2015
- The true cost of low quality 25 Dec 2015
- Have a work “workout” plan 20 Dec 2015
- Automatically generating APIs 19 Dec 2015
- Know what's mission critical 15 Dec 2015
- Jersey City garbage truck routes 12 Dec 2015
- Optional museum fees and corporate sponsorships 07 Dec 2015
- Setting up a new computer - then and now 06 Dec 2015
- Think interfaces, not implementation 02 Dec 2015
- Analyzing large networks 26 Nov 2015
- Why are Netflix and Spotify so different? 22 Nov 2015
- More MySQL fun 21 Nov 2015
- Adhoc task management 19 Nov 2015
- My old projects 12 Nov 2015
- Apps on LTE, mobile web on wifi 09 Nov 2015
- A company marches on its data 08 Nov 2015
- Zoning Airbnb 05 Nov 2015
- Good code is easy to build and deploy 01 Nov 2015
- Some nostalgia 29 Oct 2015
- Production makes fools of us all 25 Oct 2015
- Jsonify.me 2.0 21 Oct 2015
- Dates in the shell 19 Oct 2015
- Writing code? Think about the deployment 18 Oct 2015
- Adblock, publishers, and content quality 15 Oct 2015
- Have a 'go to' project when learning a new programming language 11 Oct 2015
- Not every big company is evil 10 Oct 2015
- Is media consumption zero sum? 04 Oct 2015
- The iPad Pro and Apple's walled garden 26 Sep 2015
- Mapping the Jersey City parking zones II 24 Sep 2015
- Keep on learning 20 Sep 2015
- Internalizing externalities 15 Sep 2015
- Workaround driven product development 13 Sep 2015
- Mapping the Jersey City parking zones 12 Sep 2015
- Smart OSes 05 Sep 2015
- Come on Twitter 03 Sep 2015
- Two factor authentication hell 31 Aug 2015
- Game theory dining 29 Aug 2015
- Learn the application architecture through AWS 23 Aug 2015
- Development cycles across programming languages 20 Aug 2015
- A phoneless day 16 Aug 2015
- Generating vs filtering 15 Aug 2015
- Reprioritizing a non priority RabbitMQ queue 12 Aug 2015
- Static site search 09 Aug 2015
- Debate what's necessary and no more 03 Aug 2015
- It's not done until it's deployed 01 Aug 2015
- The Go interface 29 Jul 2015
- Use the database Luke 25 Jul 2015
- Tunnel vision 20 Jul 2015
- Excel wins 19 Jul 2015
- A Bloom filter in my head 16 Jul 2015
- Comparing SQL schemas 12 Jul 2015
- Apple and Intel 08 Jul 2015
- Zsh and Oh My Zsh 06 Jul 2015
- Ambiguous SQL queries 27 Jun 2015
- Domain specific API definitions 23 Jun 2015
- Properly handling text based two factor authentication 20 Jun 2015
- The Edmunds API 19 Jun 2015
- Smartphone productivity 13 Jun 2015
- A MySQL “GROUP BY” nuance 09 Jun 2015
- Finding the optimal car to list on RelayRides 07 Jun 2015
- Date range generation 30 May 2015
- Dealing with a stripped screw 26 May 2015
- Google Chrome knows what's best for me 25 May 2015
- The decline of niche tools 22 May 2015
- Experts, time, and quality 18 May 2015
- Taking spontaneous notes 17 May 2015
- Mosh trumps shoddy internet 12 May 2015
- Driving before GPS 09 May 2015
- Computer show fliers from the mid 1990s 06 May 2015
- A unique solution to every problem 02 May 2015
- A few days with Google Contributor 28 Apr 2015
- AWS service limits 26 Apr 2015
- Adding columns in PostgreSQL and Redshift 23 Apr 2015
- Don't scrape into a Dropbox folder 19 Apr 2015
- The uncanny valley of advertising 12 Apr 2015
- Dealing with an unresponsive Google CDN 12 Apr 2015
- Redshift meets Excel 06 Apr 2015
- My tool setup 03 Apr 2015
- iOS first and username claiming 29 Mar 2015
- Why login after resetting your password? 24 Mar 2015
- The sharing economy and human behavior 21 Mar 2015
- Power of engineering standards 18 Mar 2015
- Learning to spell again 15 Mar 2015
- An ode to Pi 14 Mar 2015
- Strongly typed, static language tools 10 Mar 2015
- Computer literacy for protection and productivity 08 Mar 2015
- Getting the most out of log4j 28 Feb 2015
- Lists and localStorage 26 Feb 2015
- In praise of the full stack developer 23 Feb 2015
- Lessons from Node 22 Feb 2015
- Smarterphones 16 Feb 2015
- Learning Scala 13 Feb 2015
- URL redirection app 07 Feb 2015
- MySQL vs PostgreSQL sort order 01 Feb 2015
- Migrating a simple HTTP application on AWS 29 Jan 2015
- IBM's rumored layoff 26 Jan 2015
- The changing fidelity of the past 25 Jan 2015
- Don't trust client side data 24 Jan 2015
- Fun with GitHub's map tools 18 Jan 2015
- Take the first step 17 Jan 2015
- 2014 stats 11 Jan 2015
- Limited language codebases 09 Jan 2015
- Some quick Twitter analytics analysis 06 Jan 2015
- Introducing jsonify.me 04 Jan 2015
- Redirect recursion 31 Dec 2014
- A new Turing test 29 Dec 2014
- DevOps for the rest of us 26 Dec 2014
- Passive technology and the decline of privacy 20 Dec 2014
- Amazon's Fire TV Stick 18 Dec 2014
- Why log me out? 16 Dec 2014
- Waiting for the aha moment 14 Dec 2014
- Travel to appreciate technological growth 13 Dec 2014
- Piketty and the power of data 09 Dec 2014
- Internetless coding 07 Dec 2014
- Symptom based monitoring 01 Dec 2014
- AWS: Always shipping 24 Nov 2014
- Fab's fall from grace and the difficulty of startups 22 Nov 2014
- Paying publishers without ads 20 Nov 2014
- Backendless applications 18 Nov 2014
- Productivity optimization 13 Nov 2014
- Some simple AWS tools 09 Nov 2014
- Luxury for cheap 05 Nov 2014
- Tools as tools, not products 01 Nov 2014
- Libraries 28 Oct 2014
- Lessons learned teaching a MySQL class 27 Oct 2014
- Spam blog comments 26 Oct 2014
- My first open source contribution 19 Oct 2014
- Link bait titles are a race to zero 18 Oct 2014
- AWS Glacier 12 Oct 2014
- Clearing my head 08 Oct 2014
- XKCD movie quotes by Android 04 Oct 2014
- Normalizing a CSV file using MySQL 01 Oct 2014
- Mobile web browsing and Javelin 27 Sep 2014
- Dev tools matter 25 Sep 2014
- Software is good enough, why improve the hardware? 21 Sep 2014
- Dealing with an RDS replication issue 20 Sep 2014
- Web development bootcamps 17 Sep 2014
- Top down vs bottom up coding 16 Sep 2014
- Curated Twitter timelines and the tech stack 08 Sep 2014
- Importance of various tech services 07 Sep 2014
- API first startups 01 Sep 2014
- Managing settings files in Django projects 30 Aug 2014
- Yahoo fantasy football stats - 2014 edition 26 Aug 2014
- Cofounders and their situations 22 Aug 2014
- Trick your users into staying 18 Aug 2014
- A MySQL class proposal 17 Aug 2014
- Books are insanely cheap 11 Aug 2014
- Evolution of code deployment 09 Aug 2014
- Getting the most out of Lyft's 50 free rides 03 Aug 2014
- Hiring people on Odesk 31 Jul 2014
- Low quality? Start bundling! 29 Jul 2014
- Ephemeral security questions 27 Jul 2014
- When one door closes, another door opens 23 Jul 2014
- A simple way to automate AWS deployments 16 Jul 2014
- Set up HTTPS on EC2 running Nginx without ELB 15 Jul 2014
- Getting low level with HTTP 14 Jul 2014
- Good artists use fewer tools 13 Jul 2014
- Amazon courting app developers for the Fire phone 10 Jul 2014
- On Google Now 09 Jul 2014
- Retrieving a Twitter user's followers and followees 07 Jul 2014
- The future of databases 05 Jul 2014
- On having my Pinterest account hacked 15 Jun 2014
- An eBay design rant: timezone support 12 Jun 2014
- Replacing Evernote 08 Jun 2014
- Debugging a reverting database update 07 Jun 2014
- Approachable data science 02 Jun 2014
- Generate fake SQL data using JavaScript 29 May 2014
- On Fab's latest move 24 May 2014
- Logging in through your inbox 20 May 2014
- Examining ssh login requests 16 May 2014
- Coding in a VR future 15 May 2014
- Most commonly used shell commands 12 May 2014
- Site down? Fall back to S3 10 May 2014
- Gap fills and cross joins in Excel 03 May 2014
- Migrating from Linode to Digital Ocean 02 May 2014
- System knowledge and human creativity 28 Apr 2014
- Craigslist: the web's fertilizer 25 Apr 2014
- Bulk geocoding tool 21 Apr 2014
- Vertical integration and web development 16 Apr 2014
- Some computer memories 13 Apr 2014
- My computer experience 12 Apr 2014
- Self hosted services 07 Apr 2014
- PostgreSQL Fibonacci 04 Apr 2014
- AWS is about infrastructure optionality 30 Mar 2014
- Hacker lore 28 Mar 2014
- Visualizing my browsing history 25 Mar 2014
- Goodbye Gmail 18 Mar 2014
- Fun with the Oyster books API 16 Mar 2014
- Website load times: NYC vs Beijing 11 Mar 2014
- Examining the requests made by the top 100 sites 09 Mar 2014
- Follow the WhatsApp money 06 Mar 2014
- Trained for discounts 02 Mar 2014
- Blog posts are now tagged 26 Feb 2014
- More Sierpinski fun 21 Feb 2014
- Sierpinski triangle in D3 19 Feb 2014
- Heuristic vs algorithmic approaches 15 Feb 2014
- Foursquare as a contact book 13 Feb 2014
- Using virtualenv in production 10 Feb 2014
- Travel more 09 Feb 2014
- Visualizing GPS data in R 05 Feb 2014
- Why I manage my own blog 02 Feb 2014
- Solving coding tests in PostgreSQL 25 Jan 2014
- Developing on a remote instance 23 Jan 2014
- Emotional products 19 Jan 2014
- Ebook readers 15 Jan 2014
- Taxi prices around the world 09 Jan 2014
- Surge pricing ideas 05 Jan 2014
- Visualizing RunKeeper data in R 04 Jan 2014
- 2013 blog stats 30 Dec 2013
- Taxi pricing in NYC vs Mumbai 29 Dec 2013
- Smartphones and literacy 26 Dec 2013
- Global products 25 Dec 2013
- Getting a SIM card in India 23 Dec 2013
- CSV powered products 21 Dec 2013
- Why Bank of America, why? 20 Dec 2013
- Using the information_schema.columns table 15 Dec 2013
- Why are there so many cleaning startups? 09 Dec 2013
- Drowning in JavaScript 01 Dec 2013
- Genetic programming Connect 4 30 Nov 2013
- Blog analytics (blogolytics?) 26 Nov 2013
- I'm joining TripleLift 23 Nov 2013
- A Twitter flashback 16 Nov 2013
- RDS and R 15 Nov 2013
- Is Excel on a Mac intentionally hobbled? 09 Nov 2013
- Security in the wake of MongoHQ 07 Nov 2013
- Why I run 03 Nov 2013
- What the SEO? Followup 30 Oct 2013
- Lessons from consulting 27 Oct 2013
- Some more design ranting 23 Oct 2013
- What the SEO? 20 Oct 2013
- But I don't have time 14 Oct 2013
- My running progress 13 Oct 2013
- Decline of cynicism 12 Oct 2013
- Some JavaScript Tools 05 Oct 2013
- Why's the iPhone 5C so expensive? 01 Oct 2013
- Going rate for an email address 30 Sep 2013
- Pricing small consulting projects 28 Sep 2013
- In defense of Excel 20 Sep 2013
- Programming and math 17 Sep 2013
- Offering suggestions 16 Sep 2013
- MoMath visit 11 Sep 2013
- Want more sales? Start teaching 06 Sep 2013
- Design anti pattern: footer under infinite scroll 03 Sep 2013
- Startups aren't black and white 02 Sep 2013
- Simplicity vs power in product design 28 Aug 2013
- Extract info from a web page using JavaScript 26 Aug 2013
- Splitting an AWS account 24 Aug 2013
- On Teaching AP Computer Science 18 Aug 2013
- Netflix profiles, why now? 14 Aug 2013
- Rise of flat design 11 Aug 2013
- Introducing Better 404 07 Aug 2013
- A brief history of manufacturing 02 Aug 2013
- Run Django under Nginx, Virtualenv and Supervisor 30 Jul 2013
- The power inbox 27 Jul 2013
- Security through monopoly 22 Jul 2013
- Beware the data monopoly 21 Jul 2013
- Scraping Yahoo fantasy football stats with Scrapy 17 Jul 2013
- Marketplaces are hard 13 Jul 2013
- D3 and Vega 09 Jul 2013
- Meetings: to take or not to take? 07 Jul 2013
- A design that's too good? 03 Jul 2013
- Externalizing externalities in brick and mortar 01 Jul 2013
- Business frameworks are actually useful 25 Jun 2013
- Where are you on the sales matrix? 21 Jun 2013
- Pushing moral boundaries 20 Jun 2013
- Regulation and the share economy 16 Jun 2013
- Constantly entertained 12 Jun 2013
- Fun with Prolog: Priceonomics Puzzle 07 Jun 2013
- Citibike Directions: Second Attempt 04 Jun 2013
- Citibike Station to Station Directions 01 Jun 2013
- On SEO: Authority vs Originality 29 May 2013
- Investing in tech stocks 24 May 2013
- Save my reading spot, damn it 22 May 2013
- Adding attachments to django-postman 17 May 2013
- Google's “free” Adwords credits 15 May 2013
- Eighteen Months of Django: Part 2 10 May 2013
- Eighteen months of Django 07 May 2013
- Netflix, bundling, and the future of video 05 May 2013
- Follow through on that personal welcome email 02 May 2013
- Some gaming nostalgia 29 Apr 2013
- Smart software; dumb hardware 24 Apr 2013
- What does getting on the HN front page get you? 19 Apr 2013
- Automatically add a “Follow on HN” link 15 Apr 2013
- Why don't cell phones have a dialtone? 12 Apr 2013
- Raspbmc 10 Apr 2013
- Coke, Pepsi and Passover 05 Apr 2013
- The new Gmail compose 02 Apr 2013
- Mailbox: Is the server required? 29 Mar 2013
- Welcoming the long, single webpage 26 Mar 2013
- Email addresses are private? 24 Mar 2013
- One art, please 20 Mar 2013
- Makers Alley v2 16 Mar 2013
- Mmmm... pseudo static sites 12 Mar 2013
- Just do the work 09 Mar 2013
- Discriminatory Pricing in the Post Office 05 Mar 2013
- App Store, what took so long? 01 Mar 2013
- Book Review: Liars and Outliers 26 Feb 2013
- Account management madness 25 Feb 2013
- Vacationing with Foursquare 22 Feb 2013
- Tesla and privacy 21 Feb 2013
- An analysis of Lincoln's words 12 Feb 2013
- More thoughts on online education 08 Feb 2013
- Identifying duplicate bills across states 05 Feb 2013
- Improving online programming classes 01 Feb 2013
- The Patent troll troll 29 Jan 2013
- Blog updates since November 24 Jan 2013
- Why aren't there more engineers in politics? 23 Jan 2013
- Making sense of my Twitter archive 19 Jan 2013
- What do Fab and Groupon have in common? 15 Jan 2013
- Is the pen mightier than the sword in a social world? 11 Jan 2013
- Web scraping like a pro 09 Jan 2013
- 2013 Goals 02 Jan 2013
- Year in Review 2012 01 Jan 2013
- Self hosted Instagram export 19 Dec 2012
- The joy of upgrading an HD in a Macbook 16 Dec 2012
- Entrepreneurship is not a job 29 Nov 2012
- Github Migration Notes 14 Nov 2012
- Hello, Github! 13 Nov 2012
- Eating Yourself - Innovation & Cannibalization 12 Aug 2012
- In Defense of Yahoo 05 Aug 2012
- The Startup Advantage - Details, Details, Details 28 Jul 2012
- Race to 0 - RIM vs IE 10 Jul 2012
- Photo taken near Times Square 09 Jul 2012
- Achieving browser autocomplete 07 Jun 2012
- Trend of actor vs actress age differences 23 May 2012
- Selling to the enterprise? Target the consumer 22 May 2012
- Peter Thiel's CS183 16 May 2012
- Growth of Consumer Comfort with Technology 25 Apr 2012
- Draw Something Zyngafied 12 Apr 2012
- Future of Startups - Small Teams, Big Profit 10 Apr 2012
- On Writing 04 Apr 2012
- Where are the event recommendation startups? 30 Mar 2012
- Overcoming the Build Bias 24 Mar 2012
- When is it time to leave the full time job? 21 Mar 2012
- On business models - To collect or to fine? 05 Mar 2012
- Shakespeare and Startups 29 Jan 2012
- Improving the Subway User Experience 12 Jan 2012
- Screwed if you do, screwed if you don't 30 Dec 2011
- GroupOn Scheduler 08 Dec 2011
- Tech Interview Question 08 Jan 2011
- Google Giving Employees Free Adwords? 25 Aug 2010
- More posts coming soon 10 Mar 2010
- Improving your luck 28 Sep 2009
- Power of Twitter 08 Mar 2009
- Enabling modules in Apache2 under Ubuntu 23 Jan 2009
- What's the easiest way to be elected president? 21 Jan 2009
- More posts coming up 20 Jan 2009
- On weekend voting 24 Oct 2008
- Some thoughts on innovation 01 Oct 2008
- Should we apply the EU model to the US 15 Sep 2008
- Voting system proposal 12 Sep 2008
- On TV commercials 03 Sep 2008
- Advice on internet passwords 19 Jun 2008
- Privacy in the digital age 12 Jun 2008
- Interesting Perl behavior 30 May 2008
- Don't judge words by their author 28 May 2008
- Martha's Vineyard Lighthouse 24 May 2008
- Welcome 21 May 2008
- Brainteasers and interviews 14 May 2008
- Why we may never colonize space 13 May 2008
- Printers no longer come with cables? 13 May 2008
- Pronunciation 08 May 2008
- The homeless in the US 04 May 2008
- On Microsoft walking away from Yahoo 04 May 2008
- Why does EA want Take Two? 29 Apr 2008
- Video games as art 29 Apr 2008
- On Apple buying PA Semiconductor 25 Apr 2008