Hi, I'm Radek.
I build software products and write on the Internet.
- Introducing DevReading.com
- Will AI Make Us Prisoners of Our Bad Habits?
- The Humane AI Pin and the Future of Computer Interfaces
- Why Google or Meta Won't Let You Pay for Privacy
- How to Add Synonyms to MiniSearch
- What I Learned from Zero to One
- Architecture and Gardening for Startups
- Can You Move the Button 30px to the Left?
- How to Build a Secret Dark Mode Toggle for Your Blog
- FOSDEM 2016: What I learned
- 2015 on radek.io
- Writing for developers, part 3
- Writing for developers, part 2
- Writing for developers
- My notes from LNUG November 2015
- Open-source project release checklist
- Parallel commits with gitwalk
- Build a new open-source project every year
- gitwalk: Bulk processing of git repos
- Manipulating git repositories with Node.js
- httpie: A CLI http client that will make you smile
- Growing the community around your open-source project
- Turning users into contributors
- Spreading the word about your open-source project
- Make your open-source project accessible
- Marketing for open-source projects
- Students and open source: A match made in heaven
- How to use Github issues to attract new contributors
- The future of open source for programmers
- Should innovation be driven by experiments or experience?
- How to pick an open source licence for your code
- Secondary skills for software engineers
- Open source software in the commercial world
- Bringing the best of Bash scripting to Ruby
- Free software vs. open source: What's the difference?
- Printing images in the terminal with 9 lines of Ruby
- Setting up a Debian repository using dr
- 5 Useful Gmail Filters for GitHub Users
- docopt: A brief introduction
- Digital For Good: Inspirations
- Scriptster
- Parson
- ack
- GitHub Authentication with Octokit
- The Halting Problem
- Debian Repository Manager
- Small gem updates
- Terminal colours made simple
- FOSDEM 2014
- Word-wrap in Ruby
- Moving Designs
- Developers Conference 2013
- The Biography of Linus Torvalds
- FOSDEM 2013
- Raspberry Pi
- Brief GDB Basics
- The Boxes Comic
- The Magical container_of() Macro
- Fedora 17 Tweaks
- Running a Custom Kernel on Fedora
- Core dumps in Fedora
- Test Driven Development
- Fun with netcat
- A Brief History of Time
- The DRY Principle
- nVidia CUDA on Linux (Fedora 15)
- Multiple Versions of gcc on Fedora 15
- Learning Ruby
- Theorem Proving in Mathematics
- The Pragmatic Programmer
- Myhill-Nerode Theorem in Practice
- Languages in Computer Science
- Strings in Computer Science
- Errors as Part of Interface
- Best Practices in Error Handling
- New Theme
- Static and extern keywords in C
- Basic Computer Science
- An Introduction to Computer Science
- Code Complete!
- Design Patterns: Bridge
- Design Patterns: Adapter
- The UML Class Diagram
- Interface Segregation Principle
- Installing Brother HL-2035 on Fedora 15
- Hello Lua
- Dependency Inversion Principle
- Building Ogre3D from Sources on Fedora 15
- Liskov Substitution Principle
- Design Patterns: Renderer
- Single Responsibility Principle
- The 'Oh' Moment
- SOLID Object-Oriented Design
- Open/Closed Principle in Software Design
- Design Patterns: Object Pool
- Design Patterns: Prototype
- Brute-force String Generation in C
- String Generation for Brute-force Attacks
- Design Patterns: Builder
- Documenting Python Code with Sphinx
- Design Patterns: Abstract Factory
- Unit Testing in Python
- Design Patterns: Factory Method
- Static variables and methods in Python
- Private, protected and public in Python
- Design Patterns: Singleton
- Design Patterns
- My notes on vim
- Linux File Permissions Explained
- New to Fedora
- Getopt in Bash
- Syslog Howto
- Why have a blog like this?
- Licensing Your Software
- Exploring Runlevels
- Changing the Linux Shell Prompt