A curated list of advent articles
Advent lists offer a retrospective of the previous months on a variety of subjects and great insights on what you should expect in the future from the best developers and opinion makers.
Also it's a great way to keep track of our industry's evolutions throughout the years.
Pull requests welcome!
-
24 ways - grandfather of all advent lists
- Cohesive UX
- Taglines and Truisms
- Integrating Contrast Checks in Your Web Workflow
- Naming Things
- Meet for Learning
- Why You Should Design for Open Source
- A Holiday Wish
- Content Production Planning
- An Overview of SVG Sprite Creation Techniques
- SEO in 2015 (and Why You Should Care)
- Five Ways to Animate Responsibly
- The Introvert Owner’s Manual
- Is Agile Harder for Agencies?
- Putting Design on the Map
- Making Sites More Responsive, Responsibly
- Responsive Enhancement
- Websites of Christmas Past, Present and Future
- Collaborative Responsive Design Workflows
- Don’t Push Through the Pain
- What Is Vagrant and Why Should I Care?
- Developing Robust Deployment Procedures
- JavaScript Modules the ES6 Way
- Dealing with Emergencies in Git
- What It Takes to Build a Website
-
- Email Search System
- Security - Confidentiality, Integrity and Availability
- Push it real good
- Standalone Mail Servers
- Security – Integrity
- User authentication
- Automated installation
- Squire: FastMail’s rich text editor
- Email Authentication
- Security – Availability
- FastMail Support
- FastMail’s MySQL Replication: Multi-Master, Fault Tollerance, Performance. Pick Any Three
- FastMail DNS hosting
- On Duty!
- Putting the fast in FastMail: Loading your mailbox quickly
- Security – Confidentiality
- Testing
- Billing and Payments — a potted history
- Mailr
- Open-sourcing OvertureJS – the JS lib that powers FastMail
- File Storage
- CardDAV Beta Release
- JMAP — A better way to email
- Working at FastMail
-
- Probabilistic Data Structures for Go
- Handwritten Parsers & Lexers in Go
- Delve: Go debugger
- Git2go inception
- String Matching
- Macaron: Martini-style, but faster and cheaper
- Reading config files the Go way
- Nigel's WebDAV package
- Patchwork Toolkit - Lightweight Platform for the Network of Things
- Easy Docker Deployment with Hooks and Captain Hook
- Writing file systems in Go with FUSE
- goquery: a little like that j-thing
- Probabalistic Data Structures for Go: Bloom Filters
- Using a JSON File as a Database Safely in Go
- The Case Against Third Party Libraries
- Wrapping Git in rc shell
- Soy - Programmable templates for Go, Java, JS
- Atlas: Building with Rails and Go Microservices
- Simple backoff
- Cobra: A Modern & Refined CLI Commander
- Managing Dependencies
- Testing Microservices in Go
- Viper: Configuration with Fangs
- Type safe templating with ego
- The Other Side of Go: Programming Pictures, the Read, Parse, Draw Pattern
-
- The Elf that Came in From the Cold
- Designing For the Slow Web
- 3 Ways to Select the Perfect Method for your Research Goal
- Dear UX Beginner
- Gluten Free Mince Pies
- Stripping UX Back to the Bare Minimum
- Is the ‘User’ Always Right?
- The 5Ws and 1H of User Interviews
- 7 Things I Wish Everyone Knew About Interaction Design
- Designing for Ephemerality: The Rise of Self-Destructive Messaging
- Daily Design Confusion
- Mid UXmas Season Tipple—Mexican Hot Chocolate
- Towards A Better UX Community
- How to Overcome Portfolio Creator’s Block
- Hooked on a Feeling
- Digital Transgressions
- 5 Roads to a Great UX Team
- The Phenomenon of Automagic
- If you Think Paper Prototyping is a Waste of Time, you’re Doing it Wrong.
- What can UXers Learn From Rudolph?
- About that C Word …
- Old Dog? Time to Learn some New Tricks
- R.E.S.P.E.C.T. for the Method: Workshop Facilitation Guidelines, Inspired by Aretha
- Santa, the Child, and the Magic of UX
-
- Hardware Accelerated CSS: The Nice vs The Naughty
- Web Beacon Speedup for Improved User Experience
- Leverage Browser Storage For a Faster Web
- Speeding up HTTPS with session resumption
- Blast from the Past: Impact of TCP Components on Time to First Byte
- Different Angles of Web Performance
- MozJPEG 3.0
- Saving Money by Investing in Performance: A Financial Model
- The Power of Perceived Performance
- Simplify speed with the HALT number
- W3C APIs in the Wild – Measurements beyond plain load times.
- Fast-Forward Performance – The Future Looks Bright
- Squeezing the Most Into the New W3C Beacon API
- The changing role of the browser cache
- Retake performance
- Going beyond onload
- Tips For Optimising SVG Delivery For The Web
- Free WebPageTest API Keys: CI Perf Tests Made Even Easier
- Little RGB Riding Hood: a JPEG’s Tale
-
Performance measurements using Chrome DevTools code snippets
-
Async Fragments: Rediscovering Progressive HTML Rendering with Marko
-
Images Are King: An Image Optimization Checklist for Everyone in Your Organization
-
6 web performance books that every web developer should read
-
Bursting our Bubble: Mobile Performance Outside the First World
-
- Day 17 - DevOps for Horses: Moving an Enterprise A...
- Day 16 - How to Interview Systems Administrators
- Day 15 - Cook your own packages: Getting more out ...
- Day 14 - Using Chef Provisioning to Build Chef Ser...
- Day 13 - Managing Repositories with Pulp
- Day 12 - Ops and Development Teams: Finding a Harm...
- Day 11 - Turning off the Pacemaker: Load Balancing...
- Day 10 - DevOps View of Cryptocurrency
- Day 9 - D3 for SysAdmins
- Day 8 - From Operator to Guide: Lessons Learned Mo...
- Day 7 - What System Administrators Can Learn From ...
- Day 6 - Debugging for Systems Engineers
- Day 5 - How To Talk About Monitors, Tests, and Dia...
- Day 4 - Introduction to Kafka
- Day 3 - So Server, tell me about yourself. An intr...
- Day 2 - Running Applications at Scale with Kuberne...
- Day 1 - Docker in Production: Reality, Not Hype
-
- Run Ragged
- The Command Position Principle
- Bringing Design and Research Closer - Together
- Managing a Mind
- Untangling Web Typography
- How to Write a Book
- Get Started With GitHub Pages (Plus Bonus Jekyll)
- Project Hubs: A Home Base for Design Projects
- Credits and Recognition
- In Their Own Write: Web Books and their Authors
- Home Kanban for Domestic Bliss
- Data-driven Design with an Annual Survey
- The Responsive Hover Paradigm
- Grunt for People Who Think Things Like Grunt are Weird and - Hard
- Why Bother with Accessibility?
- Keeping Parts of Your Codebase Private on - - GitHub
- Kill It With Fire! What To Do With Those Dreaded FAQs
- Animating Vectors with SVG
- Levelling Up
- JavaScript: Taking Off the Training Wheels
- Git for Grown-ups
- Coding Towards Accessibility
- Make Your Browser Dance
- URL Rewriting for the Fearful
-
- PACK THE FUN!
- BRING CHRISTMAS
- MAKE ME FEEL
- A CHRISTMAS TALE
- CHRISTMACRYLIC
- First Person Santa
- Listening Disney Playlist
- Well Aligned
- Moose Rhythm
- LOCALOCO
- The only tree
- Flat Landscape Generator
- Tempo
- Boules
- House
- Xound Box
- Santa's beard
- Paper Christmas
- Toothy wish
- Jingle Balls
- Snowroller
- Dark Sunrise
- Pop crack'art
- Sporel
-
- Go Advent Day 1 - Go 1.2 is released
- Go Advent Day 2 - Go 1.2 performance improvements
- Go Advent Day 3 - Building a Twelve Factor App in Go
- Go Advent Day 4 - GoConvey
- Go Advent Day 5 - An introduction to beego
- Go Advent Day 6 - Service Discovery with etcd
- Go Advent Day 7 - A Router for GOV.UK
- Go Advent Day 8 - Doctor Who and the mutant Go compilers
- Go Advent Day 9 - Building A Weather App In Go
- Go Advent Day 10 - Beyond Static Binaries
- Go Advent Day 11 - Build a Christmas List with Martini
- Go Advent Day 12 - Inside the Go Playground
- Go Advent Day 13 - Go web services with Tiger Tonic
- Go Advent Day 14 - gobrew
- Go Advent Day 15 - Accelerating ecommerce with Go
- Go Advent Day 16 - Coconut: a pure Go blogging engine
- Go Advent Day 17 - Pond: a New RSS+Atom Syncing Protocol
- Go Advent Day 18 - Go Outside
- Go Advent Day 19 - Eject the Web
- Go Advent Day 20 - Go in Academia: Emulating Wireless Networks
- Go Advent Day 21 - Two Factor Authentication in Go
- Go Advent Day 22 - A Journey Into NSQ
- Go Advent Day 23 - Multi-Platform Applications: Architecture and Cross-Compilation
- Go Advent Stocking Stuffer Bonus - Ginkgo and Gomega: BDD-Style Testing For Go
- Go Advent Day 24 - Channel Buffering Patterns
- Go Advent Day 24.5 - Thank you
- Go Advent Day 25 - Announcing GopherCon 2014 Speakers
-
- Jodie’s Totally Divine Mulled Wine
- December Discounts on UX Training
- Stop The Elves
- My Ten Favourite UX Tools
- Facilitating Organizational Change Through UX
- Did UX Kill Branding?
- Wait for It ...
- A Funny Thing Happened on the Way to the Stakeholder Meeting ...
- The Interface That Gives
- The Power of Personas
- How to Cure UX Burnout
- User Experience: Meet your Maker
- UX Tools of the Trade
- I’m In, How Do I Get Out?
- The Squabble Over Personas: It Turns Out There are Enough for Everyone
- A History of Usability
- The Naughty and Nice of UX Conferences
- How to Sell your Skills as a UXer
- UX vs CX
- The Lazy Information Architect’s Guide to Organising Content
- Owning your Place in the Machine
- Good Design Starts with Empathy
- Beyond UX Design: Finding your Path
- My 2013 UXmas Wishlist
-
- JavaScript Performance Analysis: Keeping the Big Picture
- Automatically Detecting 3PC with ThirdPartyContent.org
- Selling web performance to the business
- React’s diff algorithm
- The real challenge: making the entire web fast
- Rapid Response – performance techniques for Responsive Web Design
- An engineer’s guide to optimization
- Web Performance Waterfalls from 10,000 Feet
- Mobile ISP image recompression
- Who’s Afraid of the Big Bad Preloader?
- It’s not just about being the fastest…
- There’s No Avoiding Network Latency on 4G
- Measure web performance with Jenkins
- Slow Pages Damage How Users Perceive Your Content, Design, and Navigation
- Breaking the PageSpeed Barrier with Bootstrap
- The Runtime Performance Checklist
- Mixing SPDY and Domain Sharding
- Mature Optimization: An Introduction
- Thoughts on Performance Culture
- Holistic Performance
- Introducing the Akamai Web Technologies Video Series
- Browser Wishlist 2013
- A Big Mobile Application Performance Win
- Different Aspects of Performance
- Reducing Domain Sharding
- Seasonal Trends
- Web Site Optimization With Browser-Specific Image Formats
- phantomas – PhantomJS based, modular web performance metrics generator
- Boosting UX via Delayed, Non Blocking, Enhancements
- The Answer to Your Mobile Strategy and Performance Could Simply be…ESI
- Why is the web so slow?
-
- Day 25 - Go at a glance
- Day 24 - Ars Longa, Vita Brevis
- Day 23 - The profession of operations and why it´s...
- Day 22 - Getting Started Testing Your Puppet Modul...
- Day 21 - Making the web secure, one unit test at a...
- Day 20 - Distributed configuration data with etcd
- Day 19 - Automating IAM Credentials with Ruby and ...
- Day 18 - Wide Columns, Shaggy Yaks: HBase on EMR
- Day 17 - Stupid SSH tricks
- Day 16 - omnibus´ing your way to happiness
- Day 15 - Distributed Storage with Ceph
- Day 14 - What is Packer?
- Day 13 - Controlling a cluster of servers with Ser...
- Day 12 - Upgrading Mongo for Fun and Profit
- Day 11 - The Lazy SysAdmin´s Guide to Test Driven ...
- Day 10 - AWS Spot Instances - HowTo and Tweaks
- Day 9 - Getting Pushy With Chef
- Day 8 - Sorry, Python, but I just stole virtualenv...
- Day 7 - Managing Windows with PowerShell
- Day 6 - Ansible: Infrastructure Management Made Ea...
- Day 5 - A Gentle Introduction to X-Trace
- Day 4 - Yum and repository tools by example
- Day 3 - 14 Tips for Git Giddiness in 2014
- Day 2 - Introducing the Guide to SysAdmin Body of ...
- Day 1 - System APIs
-
- Science!
- Monkey Business
- Unwrapping the Wii U Browser
- Infinite Canvas: Moving Beyond the Page
- Content Planning Demystified
- Direction, Distance and Destinations
- Giving Content Priority with CSS3 Grid Layout
- Cut Copy Paste
- How to Make Your Site Look Half-Decent in Half an Hour
- A Harder-Working Class
- Using Questionnaires for Design Research
- Redesigning the Media Query
- Design Systems
- Responsive Images: What We Thought We Needed
- Fluent Design through Early Prototyping
- Should We Be Reactive?
- Giving CSS Animations and Transitions Their Place
- Think First, Code Later
- Flashless Animation
- Responsive Responsive Design
- Colour Accessibility
- Being Prepared To Contribute
- Starting Your Project on the Right Foot (and Keeping It There)
- HTML5 Video Bumpers
-
- Be Lazy
- The Long View
- Get a Little Uncomfortable
- CSS Sliding Panels
- Take Time to Make Time
- The Three Ugly Sisters
- Node.js with Express.js in Business
- Retina Ready
- Security in the Round
- More Than a Dot
- Persistent Terminal Sessions
- Continuous Deployment Practices
- Light It Up with Markup
- Landing on Your Feet
- More Code, More Problems
- Dealing with Email Image Blocking
- Make a Difference
- The Anti-Spec Movement Is Going Too Far
- PhantomJS
- SSH Tips
- Better Forms for Mobile Users
- The Gift of Sharing What You Know
- Going from One to a Million Users
- Debugging Zen
-
- All good things yet to come
- Lock, Stock & Pointer - the PointerLock API
- Drag 'till you drop!
- Please welcome to the stage: "Wrap-flow & the CSS Exclusions"!
- HTML5 Form Field Frenzy
- Let it flow, let it flow, let it flow (into CSS regions)
- Painting on a Canvas background!
- Calc()ulating layouts & backgrounds with CSS
- Getting your bearings on DeviceOrientation
- The background: cross-fade() Conundrum
- How to not lose data & the online/offline event
- Lining up your backgrounds
- Fun with the File API
- Read between, above, and under the underlines!
- Bring yo Audio API Boombox!
- Think outside the box with the Fullscreen API
- Hide & seek with the Page Visibility API
- Power up the Battery API
- Lights, camera, action with getUserMedia!
- Go column-crazy!
- More effects than a Hollywood movie
- Swashbuckling with swashes & other ligatures
- Live events from the server side
- Delicious Web Notifications
-
- UX Design, Role-playing & Micromoments
- The Science of Great Site Navigation
- An Alternative Approach to UX
- The User Experience of Wine
- I Knew You Were Going To Say That
- The UX Portfolio: Telling Your Story
- The MP3 Effect
- The (U)X-Factor
- Sounds of Science (Fiction)
- Future-proof: Designing for an Ageing Population
- UX Trends For 2013
- Breaking Content Down
- Zen and the Art of UX Design
- Land the Perfect UX Job in 2013
- Driving Innovation Through Research
- The 4 H’s of Writing Error Messages
- Guerilla Testing
- A Primer On User Research
- Mobile Design From The Bottom Up
- Why Don’t People Just ... ?
- 5 Popular UX Techniques I Rarely Use
- We Wish U(X) A Merry Christmas
- Lose That Credit Card Field
- Build a Winning UX Strategy from the Kano Model
-
- Creating a Performance Culture
- Speed Up Your Site Using Prefetching
- Optimizing Your Network Stack for Optimal Mobile Web Performance
- Giving Your Images An Extra Squeeze
- Progressive jpegs: a new best practice
- SPOFCheck – Fighting Frontend SPOF at its root
- Deciphering the Critical Rendering Path
- Life on the edge with ESI
- Proactive Web Performance Optimization
- Make your mobile pages render in under one second
- Building Faster Sites and Services with Fiddler
- A/B testing and front-end optimization: Not as easy as A-B-C
- Snow in canvas land
- Is your CDN intentionally hurting your performance?
- Xmas Gift: WebPagetest API Swiss Army Knife
- Situational Performance Optimization – The Next Frontier
- Efficient HTML5 data- attributes
- An Introduction to the Resource Timing API
- Moving beyond window.onload()
- The Shape of the Internet is Changing
- Why bother with performance metrics when you can cheat?
- Record, Examine, Fix
- Do you sitespeed?
- The non-blocking script loader pattern
- Liking performance
- SPOF: How we fixed a weird bug causing random users’ browsers to freeze
- Using NGINX, PHP-FPM+APC and Varnish to make WordPress Websites fly
- Efficiently compressing dynamically generated web content
- Performance: See the Whole Picture
- Latency in Mobile Networks – The Missing Link
- Using RUM to Calibrate your Synthetic Testing
- Is localStorage performance a problem?
-
- Day 25 - CFEngine Sketches
- Day 24 - Twelve things you may not know about Chef...
- Day 23 - Down and Dirty Log File Filtering with Pe...
- Day 22 - Be a Fire Marshal, Not a Fire Fighter
- Day 21 - The Double-Hop Nightmare
- Day 20 - Data-Driven Firewalls
- Day 19 - Modeling Deployments on Legos
- Day 18 - Effective System Administration
- Day 17 - Diving Into Alert Streams
- Day 16 - SSH keys shared with FUSE
- Day 15 - Remote Working the Right Way
- Day 14 - Migrating Legacy (Physical) Servers into ...
- Day 13 - Configuration Management as Legos
- Day 12 - Devops is a Mindset; a Cultural Case Stud...
- Day 11 - Data Center Ops Tips
- Day 10 - Packages Doing Too Much?
- Day 9 - Backups for Startups
- Day 8 - Scheduling Projects with TaskJuggler
- Day 7 - Bacon Preservation with ZFS
- Day 6 - Watching out for Vendor Lock-In
- Day 5 - Following the White Rabbit
- Day 4 - ZooKeeper for Distributed Coordination
- Day 3 - Zero-Downtime MySQL Schema Changes
- Day 2 - Building Community for Fun and Profit
- Day 1 - Easy Visualizations with Spreadsheets
-
- Crafting the Front-end
- There’s No Formula for Great Designs
- From Side Project to Not So Side Project
- Taming Complexity
- Raising the Bar on Mobile
- Going Both Ways
- Getting the Most Out of Google Analytics
- Designing for Perfection
- CSS3 Patterns, Explained
- Extracting the Content
- Design the Invisible to Tell Better Stories on the Web
- Your jQuery: Now With 67% Less Suck
- Displaying Icons with Fonts and Data- Attributes
- Nine Things I've Learned
- Context First: Web Strategy in Four Handy Ws
- Composing the New Canon: Music, Harmony, Proportion
- Adaptive Images for Responsive Designs… Again
- Front-end Style Guides
- Defending the Perimeter Against Web Widgets
- Collaborative Development for a Responsively Designed Web
- Adaptive Images for Responsive Designs
- Subliminal User Experience
- Conditional Loading for Responsive Designs
- Creating Custom Font Stacks with Unicode-Range
-
- Facilitating Development Environment Consistency
- Look Ma! No Passwords!
- Keep the Front in the Front
- Social-Driven Development
- Code for the Users, Not for the Spec
- Egomaniacal and Scalable Apps
- Simplifying Commerce for Small Business
- PHP for All the Things
- Cracks in the Foundation
- Cross-Origin Ajax with CORS
- Nightmare Before (Last) Christmas
- Don’t Forget the Front
- Bake Cookies Like a Chef
- Out with the Old
- Better Object-Oriented Arrays
- Merry Error Handling
- Integration Testing
- Twilio in Two Minutes
- Dates and Times
- A Stitch in Time Saves Nine
- Better Than the Rest
- Reduced-Friction Deployment
- More Than Just Style
- Because It’s Fun!
-
- Border-width animation fun
- Icons with character
- What happened to my cursor!?
- :target those elements
- Counting on counter() and friends
- Let us hear some noise!
- Giving text some outline
- Radiant radial gradients
- Blurring the lines
- :before and ever :after
- Behind the mask
- Shady text effects
- Patterns patterns patterns
- Marquee, where have you been!?
- Drop that shadow!
- Amazing canvas pixels
- Framed by keyframes
- Be my background element()
- Picture frames and other borders
- Element, can we style a number of your children?
- Parallaxing CSS3 backgrounds
- Flexing your flex-box muscle
- Extreme CSS3 Tic Tac Toe
- Happy Holidays!
-
- Web Font Performance: Weighing @font-face Options and Alternatives
- When good back-ends go bad
- Measure twice, cut once
- Losing Your Head With PhantomJS and confess.js
- CSS Selector Performance has changed! (For the better)
- Beyond Bandwidth: UI Performance
- A Simple Way to Measure Website Performance
- Performance testing with Selenium and javascript
- Lossy Image Compression
- Why you’re probably reading your performance measurement results wrong (but at least you’re in good company)
- Advice on Trusting Advice
- Lazy evaluation of CommonJS modules
- Introducing mod_spdy, a SPDY module for the Apache HTTP server
- Beyond web developer tools: strace
- Stop wasting your time using the Google Analytics Site Speed Report
- Mobile UI performance considerations
- How Response Times Impact Business?
- A Practical Guide to the Navigation Timing API
- Using Intelligent Caching to Avoid the Bot Performance Tax
- I see HTTP
- Timing the Web
- Useless downloads of background images in Android
- Pure CSS3 images? Hmm, maybe later
- Secrets of High Performance Native Mobile Applications
- All about YSlow
- Frontend SPOF in Beijing
- Automating website performance
- The need for parallelism in HTTP
- Carrier Networks: Down the Rabbit Hole
- The art and craft of the async snippet
- Why Inlining Everything Is NOT The Answer
- localStorage Read Performance
- WebPagetest internals
-
- Day 25 - Learning from Other Industries
- Day 24 - Implementing Configuration Management in ...
- Day 23 - All The Metrics! Or How You Too Can Graph...
- Day 22 - Load Balancing Solutions on EC2
- Day 21 - Automating Web Monitoring
- Day 20 - Thoughts On Load Testing
- Day 19 - Why Use Configuration Management?
- Day 18 - Why Businesses Do Things
- Day 17 - Speaking the Same Language
- Day 16 - Shipping Some Logs
- Day 15 - Automating WordPress with CFEngine
- Day 14 - Write Your Resume in Markdown Already!
- Day 13 - Test Driven Infrastructure with Vagrant, ...
- Day 12 - Reverse-engineer servers with Blueprint
- Day 11 - Simple Disk-Based Server Backups with rsn...
- Day 10 - Analyzing Logs with Pig and Elastic MapRe...
- Day 9 - Data in the Shell
- Day 8 - Running services with systemd
- Day 7 - Change and Proximity of Communication
- Day 6 - Always Be Hacking
- Day 5 - Tracking Requests with Request Tracker
- Day 4 - A Guide to Packaging Systems
- Day 3 - Share skills and permissions with code
- Day 2 - Strategies for Java Deployment
- Day 1 - Don´t bash your process outputs
-
- Calculating Color Contrast
- Circles of Confusion
- Everything You Wanted To Know About Gradients (And a Few Things You Didn’t)
- A Contentmas Epiphany
- Put Yourself in a Corner
- Sketching to Communicate
- Speed Up Your Site with Delayed Content
- Designing for iOS: Life Beyond Media Queries
- The Articulate Web Designer of Tomorrow
- Real Animation Using JavaScript, CSS3, and HTML5 Video
- An Introduction to CSS 3-D Transforms
- Good Ideas Grow on Paper
- The Great Unveiling
- Documentation-Driven Design for APIs
- Optimize Your Web Design Workflow
- Extreme Design
- “Probably, Maybe, No”: The State of HTML5 Audio
- Golden Spirals
- Wrapping Things Nicely with HTML5 Local Storage
- Beyond Web Mechanics – Creating Meaningful Web Design
- Go Forth and Make Awesomeness
- My CSS Wish List
- Using the WebFont Loader to Make Browsers Behave the Same
- Finding Your Way with Static Maps
-
- Mistrust and Verify
- Aspect-Oriented Design
- Don’t Panic
- Color for the Holidays
- Big Data
- The Ghost of Christmas Past
- Text and Media Files
- Thumbnails
- Legacy Jungle
- Debugging
- Usage Statistics
- Streams
- Share and Enjoy
- Managing LAMP
- Everyone Loves PHP
- Building Mobile Apps with PHP
- Output Buffering
- Bits and PHPieces
- JavaScript for PHP Developers
- Code for Today
- The Thing with the Two Heads
- Profiling with XHGui
- First-Class APIs
- Localization
-
- 2010 State of Performance
- Bulletproof JavaScript benchmarks
- Thoughts on Performance
- Mobile performance analysis using pcapperf
- Poll: Which waterfall led to greater revenues?
- Measuring the Performance of Task Completion
- The No-Rocket-Science Guide to Web Performance Analysis
- Fast Ads with HTML5
- PNG that works
- The new Twitter
- Benchmark the Network
- The truth about non-blocking JavaScript
- High-Performance Mobile
- HTML Lazy Load
- Coding Better Object-Oriented JavaScript with Closure Compiler
- Easy Cache Headers
- Bloated Request & Response Headers
- Mod_Pagespeed Performance Review
- Pushing Beyond Gzipping
- An Introduction to Automating Performance with Phing
- WPO Analytics
- All you should know about your first enemy: Latency
- The Full Stack
- The State of Web Performance Optimization – 2010
-
- Day 25 - Wikis and Documentation Part 2
- Day 24 - Terminal Multiplexers
- Day 23 - Package vs Config management.
- Day 22 - DevOps: Where Are We Now (part 2)
- Day 21 - Wikis and Documentation
- Day 20 - Github Gist
- Day 19 - Upstart
- Day 18 - DevOps
- Day 17 - Smoke Testing Deployments using Cucumber
- Day 16 - Introduction to LVM
- Day 15 - Down the ´ls´ Rabbit Hole
- Day 14 - FreeBSD Jails
- Day 13 - Don´t be a Human Keyboard
- Day 12 - Scaling Operability with Truth
- Day 11 - A Journey to NoSQL
- Day 10 - Basic Sniffing with tcpdump
- Day 9 - Automated Deployments with LittleChef
- Day 8 - Everything is a DNS Problem
- Day 7 - Website Performance Optimization
- Day 6 - Aggregating Monitoring Checks for Better A...
- Day 5 - Why Aren´t You Doing Code Reviews?
- Day 4 - Make sense of Perfmon with PAL
- Day 3 - Debugging SSL/TLS With openssl(1)
- Day 2 - Going Parallel
- Day 1 - Linux Containers (LXC)
-
- Make Your Mockup in Markup
- Ignorance Is Bliss
- Real Fonts and Rendering: The New Elephant in the Room
- Make Out Like a Bandit
- Cleaner Code with CSS3 Selectors
- Spruce It Up
- A Pet Project is For Life, Not Just for Christmas
- The Web Is Your CMS
- Designing For The Switch
- CSS Animations
- Going Nuts with CSS Transitions
- Rock Solid HTML Emails
- Self-Testing Pages with JavaScript
- Incite A Riot
- A New Year's Resolution
- Don't Lose Your :focus
- The Construction of Instruction
- Type-Inspired Interfaces
- Front-End Code Reusability with CSS and JavaScript
- HTML5: Tool of Satan, or Yule of Santa?
- What makes a website successful? It might not be what you expect!
- Have a Field Day with HTML5 Forms
- Breaking Out The Edges of The Browser
- Working With RGBA Colour
-
- 1,500 Lines of Code
- Exceptional PHP
- PHP in Odd Places
- GeoIP Wrangling
- Unmaintainable PHP
- Performance for Web Apps
- You Don’t Need All That
- PHP’s Not Just a Language
- Managing Bob
- Dæmonize Your PHP
- CSS and Other People
- Untitled
- JSON Gotchas
- World of PHPCraft
- Character Sets: Garbage In, Garbage Out
- Developers Versus Designers
- Testing with PHPT and xUnit
- Get a Haircut
- Parenting Versus Programming
- Automate Your Deployment
- One Step at a Time
- Do URLs Matter?
- You Really Need to Learn JavaScript
- Comprehensible Code
-
- The performance business pitch
- CSS performance: UI with fewer images
- iPhone caching
- Progressive rendering via multiple flushes
- Extreme JavaScript optimization
- The new game show: "Will it reflow?"
- DOM access optimization
- Rendering: repaint, reflow/relayout, restyle
- How To Measure Web Site Performance
- JavaScript loading strategies
- Free-falling waterfalls
- Give PNG a chance
- Big list of image optimization tools
- Reducing the payload: compression, minification, 204s
- Caching vs. inlining
- Duplicates and near-duplicates
- Collecting web data with a faster, free server
- Data URIs, MHTML and IE7/Win7/Vista blues
- The pain points of having fewer components
- Reducing the number of page components
- Psychology of performance
- Required reading
- Performance tools
- The performance roadmap
-
- Day 25 - Introducing UNIX 4.0!
- Day 24 - Config Management with Cfengine 3
- Day 23 - The Dungeon Master´s Guide to IT: A Stand...
- Day 22- Lessons in Migrations
- Day 21 - collectd
- Day 20 - Becoming a Sysadmin
- Day 19 - Kanban for Sysadmins
- Day 18 - Who Watches the Watcher?
- Day 17 - Monitoring with Xymon
- Day 16 - Hudson: Build Server and More
- Day 15 - Replacing Init Scripts with Supervisord
- Day 14 - Inventory Management Tools
- Day 13 - Redundancy
- Day 12 - Managing User Expectations
- Day 11 - Looking for Trouble
- Day 10 - Solving Public Network Exposure with VPNs...
- Day 9 - What Time Is It?
- Day 8 - Cron Practices
- Day 7 - Active Directory naming is easy, right?
- Day 6 - Storage: ATA over Ethernet
- Day 5 - Storage Availability: DRBD
- Day 4 - Communication and Organization of Changes
- Day 3 - Development for Sysadmins
- Day 2 - Zen and the Art of Troubleshooting
- Day 1 - Software Installer Management
- Welcome to the SysAdvent Calendar 2009!
-
- Recession Tips For Web Designers
- Contract Killer
- Absolute Columns
- Geotag Everywhere with Fire Eagle
- Ghosts On The Internet
- Moo'y Christmas
- Shiny Happy Buttons
- A Festive Type Folly
- What Your Turkey Can Teach You About Project Management
- Making Modular Layout Systems
- Rocking Restrictions
- The First Tool You Reach For
- Checking Out: Progress Meters
- Easier Page States for Wireframes
- A Christmas hCard From Me To You
- Charm Clients, Win Pitches
- The IE6 Equation
- How To Create Rockband'ism
- Using Google App Engine as Your Own Content Delivery Network
- Art Directing with Looking Room
- Sitewide Search On A Shoe String
- User Styling
- Geometric Background Patterns
- Easing The Path from Design to Development
-
- PHP Without PHP
- On Internationalization
- What Time Is It?
- Listen
- PHP Is Not Java
- Practice Safe Idempotent Methods
- Less Whining, More Coding
- Full-Text Searching with SQLite
- PHP Meritocracy
- MySQL Client Tips
- “Yet”
- Optimize This
- JSON is Everybody’s Friend
- The Framework as Franchise
- Guide to Conferences
- Coping with the Holiday Shopping Spree
- Getting Started the Right Way
- Commenting on Commenting
- Questions to Ask Before Changing Jobs
- Which Web Service?
- Why Using PHP Makes You Cooler
- Don’t Commit That Error
- Use Responsibly
- You Need the PHP Community
-
- Day 25 - dotfiles and power users
- Day 24 - Message Brokers
- Day 23 - Change Management
- Day 22 - What´s the problem?
- Day 21 - Out-of-Band Management
- Day 20 - Ganglia
- Day 19 - Visibility and Communication
- Day 18 - Logging Tools
- Day 17 - Time Management
- Day 16 - Relax!
- Day 15 - Documentation
- Day 14 - UDPcast
- Day 13 - Accessible Automation
- Day 12: Capistrano or Puppet?
- Day 11 - Home away from home
- Day 10 - Config Generation
- Day 9 - Lock File Practices
- Day 8 - One-off graphs
- Day 7 - Host vs Service
- Day 6 - Automating Tripwire
- Day 5 - Capistrano
- Day 4 - Extending snmpd
- Day 3 - Babysitting with Monit
- Day 2 - Windows Powershell
- Day 1 - strace and tcpdump
-
- Performance On A Shoe String
- A Gift Idea For Your Users: Respect, Yo
- How Media Studies Can Massage Your Message
- Mobile 2.0
- Diagnostic Styling
- Christmas Is In The AIR
- Keeping JavaScript Dependencies At Bay
- Increase Your Font Stacks With Font Matrix
- Get In Shape
- Conditional Love
- Underpants Over My Trousers
- CSS for Accessibility
- Unobtrusively Mapping Microformats with jQuery
- Tracking Christmas Cheer with Google Charts
- 10 Ways To Get Design Approval
- Back To The Future of Print
- JavaScript Internationalisation
- Typesetting Tables
- Minification: A Christmas Diet
- My Other Christmas Present Is a Definition List
- Capturing Caps Lock
- The Neverending (Background Image) Story
- Get To Grips with Slippy Maps
- Transparent PNGs in Internet Explorer 6
-
- Sean Coates
- Elizabeth Naramore - Writing Code is Like Doing the Dishes (5 Reasons Why Documenting Your Code Makes You a Better Coder)
- Sebastian Bergmann
- James McGlinn
- Cal Evans - Five Resources Every PHP Developer Should Know About
- Davey Shafik - APIs, UIs, and Other Underused Acronyms
- Elizabeth Smith - SPL to the Rescue
- Matthew Weier O'Phinney - Don't Reinvent the Wheel
- Ivo Jansch - Design Patterns
- Chris Cornutt
- Ben Ramsey
- Ed Finkler
- Terry Chay - Filter Input; Escape Output: Security Principles and Practice
- David Sklar - Timing and Profiling
- Paul Reinheimer - Channels and Output
- Jeff Moore - What We Can Learn about Software Development from a Failing Restaurant
- Ilia Alshanetsky
- Christian Wenz - WSDL Despite PHP 5
- Marcus Börger
- Adam Trachtenberg - User-Defined Functions in SQLite
- Luke Welling - Following the Big Dogs on Web Application Security
- Derick Rethans
- Jay Pipes
- Nate Abele
- 24 ways
- Gravity-Defying Page Corners
- Cheating Color
- Photographic Palettes
- A Scripting Carol
- Intricate Fluid Layouts in Three Easy Steps
- The Mobile Web, Simplified
- Boost Your Hyperlink Power
- Knockout Type - Thin Is Always In
- Fast and Simple Usability Testing
- A Message To You, Rudy - CSS Production Notes
- Styling hCards with CSS
- Revealing Relationships Can Be Good Form
- Compose to a Vertical Rhythm
- Showing Good Form
- Writing Responsible JavaScript
- Marking Up a Tag Cloud
- Random Lines Made With Mesh
- Making XML Beautiful Again: Introducing Client-Side XSL
- Hide And Seek in The Head
- Accessible Dynamic Links
- Rounded Corner Boxes the CSS3 Way
- Flickr Photos On Demand with getFlickr
- Faster Development with CSS Constants
- Tasty Text Trimmer
- 24 ways
- Have Your DOM and Script It Too
- Edit-in-Place with Ajax
- Debugging CSS with the DOM Inspector
- Swooshy Curly Quotes Without Images
- Naughty or Nice? CSS Background Images
- Tables with Style
- Introducing UDASSS!
- Avoiding CSS Hacks for Internet Explorer
- "Z's not dead baby, Z's not dead"
- Splintered Striper
- Broader Border Corners
- Transitional vs. Strict Markup
- Introduction to Scriptaculous Effects
- The Attribute Selector for Fun and (no ad) Profit
- Auto-Selecting Navigation
- Putting the World into "World Wide Web"
- Centered Tabs with CSS
- Don't be eval()
- Practical Microformats with hCard
- DOM Scripting Your Way to Better Blockquotes
- CSS Layout Starting Points
- Improving Form Accessibility with DOM Scripting
- An Explanation of Ems
- Easy Ajax with Prototype
- Tools
- Other
- 25 Days of - build your own advent list
- Christmas symbols
This list is public domain, all websites and articles mentioned are copyright of their respective owners/authors.