Open Source, Ruby, Ruby On Rails, PHP, CakePHP, Mysql, Linux, PCBSD, Emacs, Ubuntu, CENTOS, ArchLinux, Slackware, Opera, Sabah, Malaysia
- Rule of Modularity: Write simple parts connected by clean interfaces.
- Rule of Clarity: Clarity is better than cleverness.
- Rule of Composition: Design programs to be connected to other programs.
- Rule of Separation: Separate policy from mechanism; separate interfaces from engines.
- Rule of Simplicity: Design for simplicity; add complexity only where you must.
- Rule of Parsimony: Write a big program only when it is clear by demonstration that nothing else will do.
- Rule of Transparency: Design for visibility to make inspection and debugging easier.
- Rule of Robustness: Robustness is the child of transparency and simplicity.
- Rule of Representation: Fold knowledge into data so program logic can be stupid and robust.
- Rule of Least Surprise: In interface design, always do the least surprising thing.
- Rule of Silence: When a program has nothing surprising to say, it should say nothing.
- Rule of Repair: When you must fail, fail noisily and as soon as possible.
- Rule of Economy: Programmer time is expensive; conserve it in preference to machine time.
- Rule of Generation: Avoid hand-hacking; write programs to write programs when you can.
- Rule of Optimization: Prototype before polishing. Get it working before you optimize it.
- Rule of Diversity: Distrust all claims for “one true way”.
- Rule of Extensibility: Design for the future, because it will be here sooner than you think.
Static Web Applications run independently of the need for server-side dynamic processing. Static web architecture eases common web development headaches without introducing additional complexity. This guide will introduce you to the world of static web applications and offer solutions to common challenges encountered while building them.
One interesting project on PHP-land. Going to evaluate this for my next project.
Last night I had the pleasure of speaking to the Boston JS Meetup on Ember. It was a great crowd and I want to thank everyone for coming out.
I put together about 50 slides on the subject and wrote a ton of notes per slide. I’d thought I’d share them on the blog as well.
Bayesian Methods for Hackers : An intro to Bayesian methods + probabilistic programming with a computation/understanding-first, mathematics-second point of view.
Check this out
A little over 4 months ago, I decided I was going to learn to code.
Ignoring the fact that I had no prior coding experience and had never taken any “technical” classes in school, I decided to build 180 websites in 180 days with no days off.
Today is Day 115.
Dynamic Languages are Unmaintainable (and Unit Testing is Overrated)
From a different perspective.
Hyperbolic title? Of course! It came from my ‘Scaling my Server’ blog post. It was a bold statement and it stirred up controversy and I paid for it with the pundits. But I broadly meant it, and it all comes down mental modeling and testing. Specifically, unit testing. Unit testing is overrated.
A resource for developers looking to put HTML5 to use today, including information on specific features and when to use them in your apps.
IntroductionI want to present an important and interesting topic in computer science, the Finite State Machine (FSM). In this part we start with the basics, gaining an understanding of what FSMs are and what they can be used for. This part is v…
The classic computer science text Structure and Interpretation of Computer Programs, or SICP, adapted to the Clojure programming language.
You’re already writing decent commit messages. Let’s see if we can level you up to awesome. Other developers, especially you-in-two-weeks and you-from-next-year, will thank you for your forethought and verbosity when they run
git blame to see why that conditional is there.
- The first line should…