Profile

Stream

Prefix Trees and ParsersIn my last post, Tries and Lexers , I talked about an experiment I was doing related to parsing of JavaScript code. By the end of the post I had shifted to wanting to build a HTTP router using the techniques that I learned. Let's continue where we left off....﻿

Dimensional AnalysisThere's one skill that I learned in College that I wish everyone would learn. I wish it was taught to everyone in elementary school, it's that useful. It's also deceptively simple. So without any more introduction, let's talk about Dimensional Analysis: Wha...﻿

Scalar Types and PHPThere's currently a proposal that's under vote to add Scalar Typing to PHP . It's been a fairly controversial post, but at this point in time it's currently passing with 67.8% of votes. If you want a simplified breakdown of the proposal, check out Pascal Ma...﻿

On PHP Version RequirementsI learned something rather disturbing yesterday. CodeIgniter 3.0 will support PHP 5.2 . To put that in context, there hasn't been a supported or secure version of PHP 5.2 since January, 2011. That's nearly 4 years. To me, that's beyond irresponsible... It's...﻿

Communities

Tries and LexersLately I have been playing around with a few experimental projects. The current one started when I tried to make a templating engine. Not just an ordinary one, but one that understood the context of a variable so it could encode/escape it properly. Imagine ...﻿

Thoughts On The Design Of APIsDevelopers as a whole suck at API design. We don't suck at making APIs. We don't suck at implementing them. We don't suck at using them (well, some more than others). But we do suck at designing them. In fact, we suck so much that we've made entire discipli...﻿

Security Issue: Combining Bcrypt With Other Hash FunctionsThe other day, I was directed at an interesting question on StackOverflow asking if password_verify() was safe againt DoS attacks using extremely long passwords. Many hashing algorithms depend on the amount of data fed into them, which affects their runtime...﻿

Start by exploring what makes a site responsive and how some common responsive design patterns work across different devices. From there, you’ll learn how to create your own responsive layout using the viewport tag and CSS media queries. As you proceed, you’ll experiment with major and minor breakpoints, and optimizing text for reading.﻿

Stack Machines: CompilersI have the honor today of writing a guest blog post on Igor Wiedler's Blog about Compilers . If you don't know @igorwhiletrue , he's pretty much the craziest developer that I know. And crazy in that genious sort of way. He's been doing a series of blog post...﻿