Joshtronic
Shipping Fixes Everything
GeneralSoftware / engineering practiceLinux / UnixAI / MLEngineering blogs
- Posts
- 1,052 from 26 Sep 2008 to 26 Oct 2026
- Posting
- weekly (52 in the last year)
- Kind
- personal blog
- Feed
- https://joshtronic.com/atom.xml
2026 43
- Learning a New Tech Stack with an LLM
- Halloween Movies Watch List 2026
- Pros and Cons of Self-hosting a Public Git Forge
- Confessions of a Middle-Aged Domain Hoarder
- Rediscovering Long-Form Email
- I stopped drinking the AI Kool-Aid
- New pic, who dis?
- I ran my agents from my phone for two weeks
- Security Caveat: Locked out of my server while traveling
- Last Saturday
- I taught a robot to detect Joshes
- Reverse Engineering a PostHog SuperDay
- Observations From Building a PR Review Loop
- New feature games
- Invite systems are an open relay
- Sandbox coding agents
- Automating what doesnt need me
- Anecdotes trench coat
- Nobody gives day off
- Personal software
- Do not track claude code remote control
- Collective consciousness shared hallucination
- Pasting images claude code linux
- Introducing igor
- Replacing uptime kuma with monit
- Wwe fatigue
- Restore ios home apps
- Replacing notion
- Dumb home
- Weechat wrong nick sasl
- Install dig debian
- Neovim to vim
- What not to pack
- Youtube music
- Whitelist ip aws nat gateway
- Is that ai
- Eleventy ignoring files
- Finding hairstylist
- Learn to code
- Not joshing you
- Overly confident paste
- Cleaned out my closet
- Hello 2026
2025 52
- Finally embracing flatpak
- Mining ai for content ideas
- Dumping chatgpt for claude
- You dont need now page
- Creativity drm free
- Stop judging mix phone speakers
- Streaming services art police
- Rate limiting nginx
- Move fast make noise
- Creating links in slack
- Ai product research fallacies
- Diablo iv eternal realm
- Ai coding tools q4 2025
- Halloween movies watch list 2025
- Real time web analytics goaccess
- Stop overcomplicating sea monkeys
- Eleventy category tag pages
- End of world carnitas
- Perceived personality generative ai
- Week cursor agent cli
- How to rotate log files with logrotate
- Wordpress login security fail2ban
- Ai code completion cognitive castration
- Last modified date eleventy
- First impressions switch 2
- Technical independence
- Reusing deleted custom domain cloudflare pages
- Ditching github
- Tech support in the ai hallucination age
- Stay ahead of the pain
- Ai coding tools june 2025
- Ditching wordpress for eleventy
- Leaning into generative ai development
- How to increase wordpress media upload size
- Vps showdown has moved
- Built for the storm
- Dropbox libappindicator warning gnome
- Feedback or flattery
- Vps showdown april 2025 digitalocean vs linode vs upcloud vs vultr
- Does anybody check references
- Find amplitude api key
- Failed to create sink input sink is suspended on arch linux
- Switch to previous checked out git branch
- Vps showdown march 2025 digitalocean vs linode vs upcloud vs vultr
- Operation failed bird lover feeder app
- How to move the first element to the end in javascript
- Show full timestamps with ls
- Vps showdown february 2025 digitalocean vs linode vs vultr
- New old tunes
- Overwritten uninspired
- Vps showdown january 2025 vultr cpu comparison
- Never trust always verify
2024 52
- Knulli wifi wont connect
- What do i need to claim an artist on spotify
- Set dock icon size on macos cli
- How to unstow with gnu stow
- Vps showdown december 2024 digitalocean cpu comparison
- Three cheers for older apps
- Option alt alacritty macos
- Align hotkeys macos gnome
- Vps showdown november 2024 digitalocean vs linode vs vultr
- Client side environment variables nextjs
- Switching to alacritty
- No module named trimage on arch linux
- Vps showdown october 2024 digitalocean vs linode vs vultr
- Dependencies digitalocean app platform build
- Mysql delete foreign key contraints
- Quick Guide to Boss Materials in Diablo IV
- Target home page google tag manager
- Vps showdown september 2024 digitalocean vs linode vs vultr
- Transferring steam game save data isnt worth the headache
- How to automatically delete old s3 files using lifecycle rules
- Intel cpu generation linux
- Vps showdown august 2024 digitalocean vs linode vs vultr
- Convert string to number with javascript
- Wordpress rss feed full articles
- Vim os detection
- Vps showdown july 2024 digitalocean vs linode vs vultr
- Arch linux could not satisfy dependencies
- Arch linux replace dbus python extra
- Rpm tools rpmextract conflict
- Diablo iv mythic uniques
- Vps showdown june 2024 digitalocean linode vultr
- Node.js 22
- Clear spotify cache
- Fix docker networking gitlab runner pipeline
- Vps showdown may 2024 digitalocean linode vultr
- Numeronym javascript
- Yoast seo no filter phrase not working
- Adding custom script unbounce landing page
- Vps showdown april 2024 digitalocean vs linode vs vultr
- Check package version linux
- Stop eslint from searching up the directory tree
- Airbnb style guide nextjs
- Gnome keyring disables ssh agent
- Vps showdown march 2024 digitalocean vs linode vs vultr
- Cannot load certificate snakeoil debian
- Bios unsuccessful post intel nuc
- Switching to tmux windows numbered 10 and above
- Vps showdown february 2024 digitalocean vs linode vs vultr
- Mocha tests hang nodejs
- Arch linux update frequency
- How to generate a JSON compile commands database with CMake
- Vps showdown january 2024 digitalocean vs linode vs vultr
2023 53
- Bitcoin price tracking widget for ios with scriptable
- Update single package pacman arch linux
- New user 2fa google workspace
- Home accessories battery drain
- Steam Deck Dock Not Working: Easy Step-by-Step Fix Guide
- Content pruning for seo
- Moving to wordpress from jekyll
- How to install node js 21 on ubuntu
- Dark mode not working with gnome terminal on arch linux
- How to overwrite read only files with vim
- Zoom failed to start because no qt platform plugin could be initialized
- How to install dig on arch linux
- Libgedit amtk and amtk are in conflict
- Your steam deck is connected to a slow charger
- How to enable multilib on Arch Linux
- Error cannot find the fakeroot binary on arch linux
- The joys of distro hopping
- How to fire events on button clicks with optinmonster
- Am i ai
- How to disable the x mailer header with phpmailer
- Jdownloader error you added an archive that has several parts
- How to apply security updates on amazon linux 2 ami
- How to delete docker images
- Anbernic rg35xx vs rg353m
- Are travel routers worth it
- Steamworks initialisation failed running v rising on steam deck
- Linux distro conditionals in shell script
- Easily sync philips hue to alexa
- Filtering wordpress menu items
- How to connect to wi fi from the command line on debian
- So ive been moving all weekend
- Identifying large packages installed on debian
- Free up disk space on debian by cleaning your apt cache
- How to start an aws codepipeline
- Command not found csc on debian
- Repository 'Debian bookworm' changed its 'non-free component' value from 'non-free' to 'non-free non-free-firmware'
- Node.js 20
- Obligatory post about artificial intelligence
- Unzipping multiple files from the command line
- How do i update godmode9
- Check cluster size of fat32 disk in linux
- Time zone conversion with php
- Parsing arguments in shell script
- Schedule queries with mysql
- Removing unneeded firefox esr language packs on debian
- Fastify not working in docker
- Emudeck not working after renaming micro sd card
- Horizontal and vertical alignment with scriptable
- Wait for open port before running command
- Enabling and disabling unattended upgrades on debian and ubuntu
- Git error path is unmerged
- Key is stored in legacy trusted gpg keyring
- 24ghz devices with eero mesh wifi
2022 52
- My favorite tech purchase of 2022
- Nodejs repl history
- Disabling command q for macos terminal
- Show hidden files with tree
- Convert a buffer to a string in nodejs
- Generating uuids with mysql
- Reinstalling packages on debian and ubuntu
- No sound from ios games without headphones connected
- Like query operator in Jira's JQL
- How to install nodejs 19 on ubuntu 2004 lts
- Apple tv remote volume not working
- A month after switching to debian i know i made the right call
- Using variables in mysql queries
- Incrementing and decrementing numbers in vim
- Generating lowercase UUIDs with uuidgen on macOS
- How to search for installable packages on debian
- Using multiple profiles with aws cli
- Switching from arch linux back to debian
- Screenshots are not documentation
- Showing differences of staged files with git
- Fixing missing cycle area in logic pro
- Ssh into server with broken or missing shell
- Using paths to create hierarchies in parameter store
- Getting string and securestring parameter store parameters with nodejs
- Husky command not found with npm install production
- Decrypting securestring parameter store parameters with nodejs
- How to use an ssh tunnel to forward ports
- Add column after another column in mysql
- Docker desktop wont reopen on macos
- Winding down the vps showdown
- How to export all photos from google photos
- How to convert json to csv in javascript
- How to convert csv to json in javascript
- How to install family sharing apps on macos
- Vps showdown digitalocean lightsail linode upcloud vultr
- Node.js 18
- Execute command in timed intervals
- How to restart an aws ecs service
- Vps showdown digitalocean lightsail linode upcloud vultr
- Response time comparison gitlab pages vs cloudflare pages
- How to change the hostname on arch linux
- Tracking daily active users with redis
- Vps showdown digitalocean lightsail linode upcloud vultr
- How to run a command after changing directories in zsh
- How to display a javascript array in html
- How to fix signature is unknown trust on arch linux
- Vps showdown digitalocean lightsail linode upcloud vultr
- How to fix tlp and power profiles daemon are in conflict on arch linux
- Reattaching to a still attached gnu screen session
- How to get a totp secret from a qr code
- Spliting strings and keeping the separator in javascript
- Vps showdown digitalocean lightsail linode upcloud vultr
2021 53
- How to reset brother hl l3210cw toner cartridges
- Downloading files in nodejs with axios
- How to hide nginx server headers on ubuntu
- Vps showdown digitalocean lightsail linode upcloud vultr
- Associative arrays in bash
- Connecting to Wi-Fi with the iNet wireless daemon (iwctl)
- Monitoring the progress of dd
- Vps showdown digitalocean lightsail linode upcloud vultr
- Is today halloween
- How to install nodejs 17 on ubuntu lts
- Spotify stuck in fullscreen
- Free up disk space on arch linux by clearing your pacman cache
- Vps showdown digitalocean lightsail linode upcloud vultr
- Coam modems with spectrum
- Best way to pin typescript as a dependency
- Fixed repository debian security buster updates changed suite from stable to oldstable
- Vps showdown digitalocean lightsail linode upcloud vultr
- Remove unnecessary files in node modules
- Multi factor authentication not working
- Debugging an aws lambda that stopped working
- Fixing nest error e73 no power to rc wire detected
- Vps showdown digitalocean lightsail linode upcloud vultr
- How to kill query on aws rds
- Setting an authorization header when using file get contents with php
- How to push an empty git commit
- Vps showdown digitalocean lightsail linode upcloud vultr
- Migrating from aws ecr get login to get login password
- Get original url from bitly link
- Using find with symlinks
- Yay error while loading shared libraries libalpm
- Vps showdown digitalocean lightsail linode upcloud vultr
- Unlock user after too many failed sudo attempts
- How to push to multiple git repos at once
- How to install nodejs 16 on ubuntu 2004 lts
- Vps showdown digitalocean lightsail linode upcloud vultr
- Find unused npm dependencies
- Run command instead of alias
- Case statements in shell script
- 5 vps showdown digitalocean lightsail linode upcloud vultr
- 6 vps showdown digitalocean vultr
- Repeating strings in javascript
- Uninstalling dev dependencies with npm
- Automatically update arch linux mirrors
- Delete all files in an s3 bucket
- Vps showdown digitalocean lightsail linode upcloud vultr
- Phoning it in
- Overengineering challenge is number even or odd in javascript
- Gnome screen locking not working
- Vps showdown digitalocean lightsail linode upcloud vultr
- Search and replace filenames
- Recursively create directories with nodejs
- Broken icons on openweather gnome extension
- Vps showdown digitalocean lightsail linode upcloud vultr
2020 76
- Counting files in multiple directories
- Counting files in the current directory
- Displaying an entire object with nodejs
- Vps showdown digitalocean lightsail linode upcloud vultr
- How to kill a hung ssh session
- Juggling assertion syntax between phpunit versions
- Julian read 58 pages of a book in 2 days
- Problem importing keys for spotify on arch linux
- Vps showdown digitalocean linode vultr
- How to install nodejs 15 on ubuntu
- Passing a test without assertions with phpunit
- Fixing chrome address bar slowness
- Vps showdown digitalocean linode vultr
- How to set redis max memory usage
- How to remove uhc motion from fitbit inspire hr
- Reflector service exists in filesystem owned by reflector timer
- Vps showdown digitalocean lightsail linode upcloud vultr
- Looping through an array in shell script
- How to comment source code
- Splitting a string into two variables
- How to get the default git branch
- Vps showdown digitalocean lightsail linode upcloud vultr
- Allow dots in paths with webpack dev server
- How to get the first and last item from an array in mongodb
- Swapon swapfile has holes
- Vps showdown digitalocean lightsail linode upcloud vultr
- Load pubkey invalid format when using ssh
- How to set the background color of a google chart
- Fixing an arch linux system missing vmlinuz
- Unable to upgrade ttf google fonts opinionated git on arch linux
- Vps showdown digitalocean lightsail linode upcloud vultr
- Increase memory list for composer
- How to escape curly brackets in liquid templates
- Only run step for specific version with github actions
- Hiding scroll bars while maintaining scroll functionality in modern browsers
- Moving from only syntax to rules syntax in gitlab ci cd v13
- The repository does not have a release file on older ubuntu releases
- Replacing text in multiple files with sed
- Replacing multiple strings with sed
- Vps showdown digitalocean linode vultr
- How to install nodejs 14 on debian and ubuntu
- How to install nodejs 14 on ubuntu 2004 lts
- How to install nodejs 14 on debian 10
- How to install nodejs 14 on debian 8
- How to install nodejs 14 on debian 9
- How to install nodejs 14 on debian sid
- How to install nodejs 14 on debian testing
- How to install nodejs 14 on ubuntu 1604 lts
- How to install nodejs 14 on ubuntu 1610
- How to install nodejs 14 on ubuntu 1704
- How to install nodejs 14 on ubuntu 1710
- How to install nodejs 14 on ubuntu 1804 lts
- How to install nodejs 14 on ubuntu 1810
- How to install nodejs 14 on ubuntu 1904
- How to install nodejs 14 on ubuntu 1910
- Recursive functions in typescript
- Recursive types and interfaces in typescript
- Error cannot resolve a dom point from slate point
- Resetting a slatejs editor to an empty state
- Resetting the undo redo history of a slatejs editor
- Submit on enter except when shift is pressed in javascript
- Detecting modifier keys being pressed with javascript
- Vps showdown digitalocean linode vultr
- Making and feeding a sourdough starter
- Protected routes with react router v5
- Speed comparison github vs gitlab 2020
- Connection reset with webpack dev server inside docker
- Vps showdown digitalocean lightsail linode upcloud vultr
- Complete ci cd pipline with gitlab runners
- Converting integers to roman numerals with typescript
- Coming home to chrome
- Vps showdown digitalocean lightsail linode upcloud vultr
- How to fix ugly chrome window borders on linux
- Fixing distortion and red lines when moving items in diablo iii on a macbook pro
- Padding strings and numbers with javascript
- Vps showdown digitalocean lightsail linode upcloud vultr
2019 56
- The end of a decade
- Installing pacman breaks dependency replaced by yay
- Another two weeks with firefox
- How to bypass the ssh host key check
- Vps showdown digitalocean lightsail linode upcloud vultr
- My 2020 goals
- How to remove an array element by index in javascript
- Undervolting the new dell xps 15 7590 on arch linux
- Vps showdown digitalocean lightsail linode upcloud vultr
- What is mrr
- How to loop through all files in an s3 bucket in php
- Own your mistakes
- Vps showdown digitalocean lightsail linode upcloud vultr
- Installing linux on the new dell xps 15 7590
- Migrating from mailchimp to emailoctopus
- How to fix a borked usb flash drive
- The fallacies of unlimited
- Vps showdown digitalocean lightsail linode upcloud vultr
- Could not find a declaration file for module
- How to install packages from testing on arch linux
- Checking disk space from the command line
- Vps showdown digitalocean lightsail linode upcloud vultr
- Symlinks with nginx and php fpm
- Managed wordpress showdown july 2019
- How to exit vim
- How to upgrade from debian 9 stretch to debian 10 buster
- Vps showdown digitalocean lightsail linode upcloud vultr
- Managed wordpress showdown june 2019
- A guide to working by the pool
- How to downgrade terraform on arch linux
- Vps showdown digitalocean lightsail linode upcloud vultr
- Managed wordpress showdown may 2019
- Slow and steady doesnt win the race
- Explaining vs communicating
- Vps showdown digitalocean lightsail linode upcloud vultr
- How to install node v12 on debian and ubuntu
- Get rid of your kids
- 30 days a vegetarian
- How to address an envelope
- Stop asking for handouts
- Vps showdown digitalocean lightsail linode upcloud vultr
- Always find the time
- Solo developers should still do code reviews
- Unsolicited relationship advice
- Theres no harm in asking for a refund
- Vps showdown digitalocean lightsail linode vultr
- Google price protection
- Yoga pants and your camel toe
- What to expect when you reset your authy account
- The best hot lunch on a budget
- Vps showdown digitalicean lightsail linode vultr
- Why would they do it that way
- Posting code snippets to slack
- The good book
- How to list installed packages on linux
- Vps showdown digitalocean lightsail linode vultr
2018 71
- 2018 recap accomplishments and lessons learned
- Vps showdown december 2018
- S o s
- How to install the latest nginx on debian and ubuntu
- Gnu screen versus tmux hotkeys
- Your shell aliases may be making you dumb
- My 2019 goals
- Vps showdown november 2018
- America our national language
- The most efficient way to check the last character of a string with javascript
- Save time by not locking your computer
- Using alternate ssh ports with rsync
- Kicking the wife out of the house
- Upgrade to node 10 or 11 on ubuntu 1810
- How to check if a string contains another string with javascript
- Finding which process is listening on a port
- Blogging too frequently
- Vps showdown october 2018
- Hibernate laptop on lid close with systemd boot on arch linux
- Portal at eleven
- How to install yakyak on arch linux
- Speed up your shell prompt when usuing nvm
- Improving the feel of the galago pro trackpad
- System76 galago pro review
- Include files in your ssh config
- Ten year blogiversary
- Vps showdown september 2018 digitalocean lightsail linode vultr
- Speed comparison github vs gitlab 2018
- Why i dont use a tiling window manager
- Autonomous smartdesk 2 home edition
- Left align multiple line list items
- Vps showdown august 2018 digitalocean linode vultr
- Will vim die with bram moolenaar
- Fizzbuzz in typescript 3
- Vps showdown july 2018 digitalocean linode vultr
- Keeping up with whats next
- Six months with the seven minute workout
- Encouraging entrepreneurial spirit in kids
- How to calculate united states holiday observances
- Stop blaming your hosting company for downtime
- The problem with dark mode in macos mojave
- Vps showdown june 2018 digitalocean linode vultr
- Unique indexes with mongodb and mongoose
- Set vim background based on your terminals background color
- Vps showdown may 2018 digitalocean linode vultr
- Coping with writers block
- The josh sandwich
- How to install nodejs 10 on ubuntu 1804 lts
- How to post to a webhook
- How to install the latest version of nodejs 8 on ubuntu 1804 lts
- I deleted my facebook and heres what happened
- So i guess that makes me a liar
- How to install firefox developer edition in gnome on debian stretch
- Chunking an array in javascript
- Vps showdown april 2018 digitalocean linode vultr
- Unable to open gnome settings on arch linux after gnome upgrade
- The distrohopper or there and back again
- How to important inline styles in react
- Using style blocks in react
- Vps showdown diy edition
- Url routing in php
- Get your own dotfiles
- Digitalocean flexible droplets compared
- Eggs by the ounce
- How to tell if your shell is a subshell of vim
- 5 tips to help you find the confidence to start blogging
- Minimalist git prompt
- Vps showdown january 2018 digitalocean linode vultr
- Phpunit with multiple versions of php and hhvm on travis ci
- Seven minute workout review
- 2017 year in review
2017 86
- Days until christmas in javascript
- Vps showdown december 2017 digitalocean linode vultr
- Upgrade to nodejs 8 on debian and ubuntu
- Debian is stable
- My 2018 goals
- Not all cables were created equal
- I am a freeloader
- Before you send another email read this
- Fixed radeon kernel modesetting for r600 or later requires firmware amd graphics
- Kindle unlimited isnt worth it
- Empower your child by letting them cook dinner
- Adding comments to json
- Two weeks with meetedgar
- How to install animal crossing pocket camp on android today
- Oci runtime error after upgrading docker on arch linux
- Configuring jest to show code coverage for all of your files
- Switching from tmux to gnu screen
- Upgrade to nodejs 8 on ubuntu 1710
- Switching to vim from neovim
- Setting defaults for all your superagent requests
- Trigger a github pages rebuild with aws lambda and cloudwatch
- How to downgrade to the lts linux kernel on arch
- Stop trying to sell me
- Simple cache busting with webpack
- Stop over configuring vim
- The death of the headphone jack
- React draft wysiwyg with mongodb
- Corporate vs community in open source software
- The easiest way to engage your readers
- When your esp embarrasses you
- Using ssh copy id with an alternate ssh port
- Dont stay in your own lane
- Recaptcha is broken
- How to spend a working weekend in austin texas
- How do i sign up
- The boob post
- Fixing an arch linux system that is booting into emergency mode
- How to do stuff
- Side projects are not a threat
- Founder falloff
- Confessions of a distro hopper
- You gotta get away for a while
- Finding old pending comments in disqus
- Hide title bars in gnome shell
- Five dollar showdown linode digitalocean lightsail vultr
- Stop thinking start doing
- Tortilla chip croutons
- Using goals to create habits
- Saying goodbye
- Missing in me
- Charity starts on your hard drive
- June challenge improve posture
- Just drive
- Changing personality types
- How to calculate mothers day in javascript
- The alchemist
- Effective use of screen real estate
- Speed comparison github vs gitlab 2017
- How to install tmux 2 on debian 8
- Switching from ubuntu to debian
- Vertical alignment is a waste of time
- Upgrade to php 7x on ubunu 1404 lts
- Lawn mower wont start after winter storage
- Getting suspend in linux working on a macbook pro
- A week with opensuse tumbleweed
- I beat php and so can you
- Two weeks with firefox and ddg
- The 48 laws of power
- Five dollar showdown linode vs digitalocean vs lightsaild vs vultr
- You may not need oh my zsh
- Survivor a novel
- The 50th law
- My favorite tech purchase of 2016
- Beaking up with boa
- Zero to one
- Unable to connect to wifi in linux
- The divine comedy
- Rise of the rocket girls
- Kombucha smells like nail polish remover
- The total money makeover
- The final redesign
- Small giants
- The great gatsby
- Reading calculator
- The girl on the train
- 2016 recap
2016 54
- Weeks a pizza tenth anniversary
- Reading list december 2016
- 8gb showdown linode digitalocean lightsail vultr
- I survived the 30 day plank challenge
- Striking while the iron is hot
- Ten dollar showdown linode vs digitalocean vs lightsail
- My 2017 goals
- A day without food
- Switching from mac os x back to linux part 5
- Switching from mac os x back to linux part 4
- Switching from mac os x back to linux part 3
- Switching from mac os x back to linux part 2
- Switching from mac os x back to linux part 1
- Reading a specific line from a file with php
- Invalid or corrupted package pgp signature during pacman sync
- How to pickle peppers
- Convert mongo bsondocument to an array in php
- Programming the same thing in multiple programming languages
- Losing friends to the great beyond
- Sourcing external files from your gitconfig
- Set vim tab spacing based on the type of file
- You should totally blog about that
- Closed sourcing an open source project
- The soundtrack to your feelings
- Making a house a home
- Get the day of the week from a date in php
- Calculate time left in day in php
- Ten dollar showdown linode versus digital ocean july 2016
- How to pull from git
- How to make sauerkraut
- How to read more
- Leveraging the power of the right command key in os x
- Jazz sucks
- Grilling gas versus charcoal
- Why my site doesnt have any navigation
- Honeymoon in austin
- Goodbye forever
- Using s3 to host images on a budget
- Make open source contributions a priority
- Speed comparison github vs gitlab
- Fastest way to switch between apps
- How to calculate easter sunday in javascript
- Switching from iterm2 to terminal
- Review bose quietcomfort 20 acoustic noise cancelling headphones
- How to capitalize the first character of each word in a string in javascript
- Migrating from mandrill to sparkpost
- Multiple buttons with hubspots vex
- How to capitalize the first letter in a string in javascript
- Ten dollar showdown linode kvm versus digitalocean
- Using an 11 inch macbook air for development
- Intentional infinite loops
- Pocket is purgatory for articles
- How to sync local files to spotify mobile
- Youre using spotify wrong
2015 87
- Switching from spotify to apple music and back again
- Tracking peak users online with redis
- How to ride a bike without training wheels
- The true cost of meetings
- Sumome is hiring
- Evernote more like evernope
- Email validation via mx lookup in php
- I deleted all of my email and it was glorious
- Drizly shares your address via twitter
- First impressions of the new apple tv
- Forcing yourself to use shell aliases
- Consolidating phpavecom
- Check if a string contains a character
- Shark tank killed the magic
- Generate random hex color
- Transitioning from google wallet to android pay
- Css not issue in safari on ios9
- Run code a percentage of the time
- My experience with the mandela effect
- Its never too late to start tracking metrics
- Stop submitting feature requests for open source software
- Bitmaps vs sets to track monthly active users in redis
- Error invalid position 1
- Dont try to speak my language
- Php is stupid and so are you
- My skills have nothing to do with my interest
- Who the hell are you and why are you emailing me
- How to block adblock users without javascript
- My three favorite free mobile education apps
- Get homeschool news
- How to stop wordpress pingback ddos attacks
- 5 benefits of kombucha tea
- Determining if you are passionate about something
- How to make the worlds best chili dogs
- How to organize your kindle library
- Find time to be creative every single day
- Empower your child with an allowance
- Start your day with morning pages
- Knowing when to quit
- Detect bots and spammers with project honey pot
- Improving my vim experience
- Cutting the cord on cable
- How to convert a string to a time
- Safari bug when signing up for twitter
- Set array pointer to a specific key or value
- Basic page routing in php
- The power of a morning routine
- My standing desk made me lazy
- Using phps built in web server
- Outline numbering for an object tree
- Wonder whats next
- Dynamic variable names aka variable variables
- Layout with fixed header and independently scrolling columns
- Get all defined variables
- Open challenge learn lisp with me
- Handling click and touch events on the same element
- Working with json
- Staying motivated with streaks
- Truncate string with ellipses
- Chat personas
- Get date for easter in php
- Decouple your code from your web server
- Serializing and unserializing variables
- Calculate the length of a string
- Start your day with a list
- How to get a servers hostname
- Non binary genders are complicated
- How to save a remote file to disk
- Never stop learning
- Basic http authentication with php
- Refocusing my blogs content
- Life of pi
- Making time for side projects
- Developer titles are bullshit part 2
- How to replace a string with a string
- Developer titles are bullshit part 1
- How to round numbers
- Converting decimal to other number systems
- Ikea expedit standing desk
- 5 things i learned by unlinking all of my facebook likes
- To infinity and beyond
- Finding the smallest or largest value
- High volume showdown linode vs digitalocean
- Find the largest value in an array
- Life without google
- Find the lowest value in an array
- How i doubled my investment with gaw miners hashlets
2014 106
- Depth vs duration of friendships
- How to convert an array to a string
- Days until christmas in php
- Sudo without password
- Blogging from your phone
- How to reverse a string
- How to generate a date range
- Nodejs on the command line
- Get out of your own way
- How to convert a string to an array
- Sort an array in reverse order
- The cost of convenience
- Portable grits
- Pull random values from an array
- Difference between dates
- Putting the sht in joshtronic
- Benchmarking php code
- Why i still use and maintain my own php framework
- How to generate the fibonacci sequence with php
- Never run out of firsts
- How to connect to mongodb using php
- Stop accommodating shortcomings
- How to merge two sorted arrays without array merge or sort
- Thoughts on api design
- No i will not fix your computer
- Visibility in php
- Simple i18n internationalization and localization class
- The definition of done
- Debugging invalid xml
- Stop making it so hard for us to share your content
- Upgrade php 53 to php 56 on ubuntu 1204 lts
- Writing unit tests for legacy code
- Call to action php 56 on ubuntu 1204 lts
- My top 10 tips for new bloggers
- Jquery plugin to calculate read time
- Upgrade to php 56 on ubuntu 1404 lts
- Are gawminers hashlets worth it
- Fizz buzz in php
- 10 office pranks you should try at your own office
- How to execute an http post using php curl
- Looping through a date range
- Why work so hard to stay at the bottom
- Difference between break and continue
- Tabs vs spaces im switching sides
- Php without fancy braces
- Review sprint wego
- Debugging simplexml objects
- Tools of the trade 2014
- Parsing soap responses with simplexml
- Self employed cabin fever
- Qutting a job you just started
- How to calculate independence day observances
- How to parse xml with simplexml
- The importance of a staging environment
- Checking your imap email using php
- Ten dollar showdown linode versus digitalocean
- How to calculate mothers day and fathers day
- Migrating from ios back to android
- How to pipeline with phpredis
- The receiving end of a ddos attack
- Breaking away from the apple ecosystem
- How to process put requests with php
- Having a child ruins your life
- Url routing with php
- Google places php library
- Spending money on advertising only to acquire spammers
- How to install phpredis on ubuntu 1404 lts
- Linode vs digital ocean performance benchmarks
- How to install the mongodb module on ubuntu 1404 lts
- Swallow your pride and stop blaming your tools
- How to setup a lemp stack on ubuntu 1404 lts
- Linode ssd versus digitalocean
- How to setup a lamp stack on ubuntu 1404 lts
- The pros and cons of being accessible to your users
- Compressing and uncompressing a string
- Reducing redis used memory by moving back to mysql
- Migrating from wp engine to github pages
- The e modifier is deprecated
- The dirtiest thing you wear
- Transactions pdo
- How to zero fill a number
- The importance of code editor proficiency
- Dynamic page titles with github pages
- How to get keys from an associative array
- Opt out responsive design using less
- Passing variables to anonymous functions
- Linode is my favorite dns hosting provider
- Using list foreach
- Failed to open page on windows phone 8
- Upgrade php 5 3 php 5 4 ubuntu 10 04 lts
- Use generators php
- Using keyring access on the osx commandline
- String dereferencing extract single character string
- Warning network tcp port is being used by usr sbin php5 fpm possible rootkit
- Catching multiple exceptions
- Easily identify duplicate properties in your css files
- Co founder application
- Command line all the things
- Write files disk php
- Gravatar as an identicon generation service
- Use trycatch statements oh finally
- Use switchcase statements
- Your stack is outdated
- How i saw the test driven light
- Improve performance reusing objects
- Php 5 5 syntax highlighting vim
2013 119
- Domains are worthless without traffic
- Upgrade php 5 3 php 5 5 ubuntu 12 04 lts
- Php segmentation faulting from logging too much
- Getting php version command line
- Lessons learned from sending thank you cards to my users
- Error setting undefined class properties
- That time i got ripped off on flippa
- Bake your fees in dont line item them
- What transferring a domain to a new registrar entails
- Ground up rewrites should be a last resort not the status quo
- How to set up a lamp server on ubuntu 1310
- Holiday api free ready fork
- Nintendo wii u first impressions
- Calculate thanksgivings date
- What i am thankful for
- Convert negative number positive number
- My experience with wizpert
- Directnic may have been compromised
- Book review remote office not required
- Outputting a string with here document syntax
- Handle daylight savings time
- One year quitaversary
- Split array chunks
- Temporary ufw rules or how i learned to stop scripting and love the shell
- Shuffle associative array
- Were termites the least of our problems
- Incrementing decrementing string
- New orleans is more than just mardi gras you know
- Simple probability distribution
- The pitfalls of using buysellads
- Incrementing decrementing a number by a number
- Linkedin endorsements are nonsense
- Sorting associative array specific key
- The complexity of permalinks and slugs with user generated content
- Company culture is what you make of it
- Convert csv file array
- How to determine if it is friday the 13th
- Building a number guessing game
- How to terminate a script
- The wrong way to save
- How to pluralize words
- Output variables within strings
- How to use colors in command line output
- Why limit the format of a password
- How to compare numeric variables
- How to check if a variable is an integer
- How to strip whitespace from a string
- Simplifying single server deployments
- How to increment decrement a number
- While you were out
- New lines in command line output
- Version control for individuals
- How to output strings
- How to capture user input from the command line
- How to generate a random number
- The importance of a logout page
- Using transactions with pdo
- How to use prepared statements
- How to connect to a database with pdo
- Yet another linode vs digitalocean post
- Split a string by letters
- Passing Arguments to Command-Line PHP - Joshtronic
- Calculating page load time / execution time with PHP - Joshtronic
- MySQL and Redis Command Equivalents - Joshtronic
- Check if PHP is running from the command-line - Joshtronic
- Check if a PHP class exists - Joshtronic
- Check if a PHP class has a certain function - Joshtronic
- WP Engine Review - Joshtronic
- Check if a PHP function exists - Joshtronic
- Detect Required PHP Version - Joshtronic
- Convert Errors to Exceptions in PHP - Joshtronic
- Rediscovering WordPress - Joshtronic
- Speed up PHP with APC - Joshtronic
- Why I always wear a helmet - Joshtronic
- How to Build a Leaderboard with PHP and Redis - Joshtronic
- Getting a User's IP Address in PHP - Joshtronic
- PHP Redis Clients - Joshtronic
- Recruiters need to learn to listen - Joshtronic
- How to Install Wordpress on Ubuntu 12.04 LTS - Joshtronic
- How to Install the SQLite Module on Ubuntu 12.04 LTS - Joshtronic
- How to Install the Memcached Module on Ubuntu 12.04 LTS - Joshtronic
- Moving out of the cloud - Joshtronic
- SQLite as a PHP Session Handler - Joshtronic
- Redis as a PHP Session Handler - Joshtronic
- Memcached as a PHP Session Handler - Joshtronic
- Installing PHP Redis - A PHP Extension for Redis - Joshtronic
- Apple iOS 7 Beta Review - Joshtronic
- Calculate Age from Date with PHP - Joshtronic
- Configuring PHP Sessions - Joshtronic
- PHP Login System - Joshtronic
- PHP Session Handling - Joshtronic
- Sending Email from PHP - Joshtronic
- HitTail Review - Joshtronic
- Password Hashing Techniques in PHP - Joshtronic
- Encrypting Passwords in PHP - Joshtronic
- Specifying a User Agent when using file_get_contents() in PHP - Joshtronic
- How to Setup a LEMP Stack on Ubuntu 12.04 LTS - Joshtronic
- LESS Icons for easy styling and customization - Joshtronic
- Command-Line PHP - Joshtronic
- Browser redirect with PHP - Joshtronic
- How to Setup a LAMP Stack on Ubuntu 12.04 LTS - Joshtronic
- How I schedule my time - Joshtronic
- Advice on Freelancing - Joshtronic
- Don't be surprised by success - Joshtronic
- Linode NextGen vs. DigitalOcean - Joshtronic
- Quitting Caffeine - Joshtronic
- How I use Redis - Joshtronic
- PHP: Built for the web - Joshtronic
- Blocking Proxy Sites with JavaScript - Joshtronic
- Going Vanilla with MySQL - Joshtronic
- The Accidental MVP - Joshtronic
- Node.js for Web Apps? Not so much. - Joshtronic
- How a kindergarten teacher impacted my life - Joshtronic
- Lessons learned about directory based sharding - Joshtronic
- Getting real IP addresses using NodeBalancer and Nginx - Joshtronic
- CSS ALL THE THINGS! - Joshtronic
- Linode vs. DigitalOcean - Joshtronic
- My departure from CrowdSavings - Joshtronic
- Moving from Tumblr to Jekyll (and GitHub!) - Joshtronic
2012 25
- Review: Anatomy Framework - Joshtronic
- Command line website uptime checker using the OS X Notification Center - Joshtronic
- DKIM with multiple domains with Exim4 - Joshtronic
- Everything I learned from my first cruise that my wife didn't tell me even after reading Birnbaum's Guide and talking about the cruise for 6 months beforehand - Joshtronic
- Apple Fanboy-dom - 3 month recap - Joshtronic
- Go fork yourself you forking fork - Joshtronic
- PCI Compliance doesn't like the Desktop Services Store - Joshtronic
- All it took was owning an iPhone for a week ... - Joshtronic
- Dumping Android for an iPhone - Joshtronic
- Online Tools - Joshtronic
- Drain your InnoDB Buffer Pool by moving large fields out of MySQL - Joshtronic
- Movie Review: The Human Centipede 2 - Joshtronic
- The stylesheet doesn't seem to be loading - Joshtronic
- ID Much?! Site's gone, but the dream's still alive - Joshtronic
- My Search for the Perfect Desktop Environment Part 3: Xmonad, Gnome Shell and back again - Joshtronic
- My Search for the Perfect Desktop Environment Part 2: How I spent 2 weeks attempting to be an Apple Fanboy - Joshtronic
- My Search for the Perfect Desktop Environment Part 1: Switching from Unity to Gnome Shell - Joshtronic
- Clock? We don't need no stinkin' clock! - Joshtronic
- Why developers (maybe everyone) suck at estimates - Joshtronic
- Because if you're not kicking your own ass, someone else will - Joshtronic
- Spell & Speak - Joshtronic
- PCI Compliance and the importance of a 404 page - Joshtronic
- Recursive PHP Lint-inator - Joshtronic
- SceneKids.com - 8 months later - Joshtronic
- Fuck this, I'm going to Tumblr - Joshtronic
2011 12
- Viral landing pages rarely go viral because no one knows or cares about you or How LaunchRock tricked you into making their site viral - Joshtronic
- Doing Less, Better - Joshtronic
- Version Control: It doesn't matter what system you use - Joshtronic
- Restoring a Linode Backup - Joshtronic
- Tux 'n Droid: How I spent not even 2 months as a starving webcomic artist - Joshtronic
- Switching to Linux, you're doing it wrong (redux) - Joshtronic
- WorkFlowy: Adventures in Text Parsing - Joshtronic
- Why you don't make $80k+ and how you can get there - Joshtronic
- TeuxDeux: Adventures in Screen Scraping - Joshtronic
- Quality over cost or how PennySMS sucks and I switched to Twilio - Joshtronic
- Switching to Linux, you're doing it wrong - Joshtronic
- The Zen of the Server Crash - Joshtronic
2010 18
- Why you shouldn't redirect HTTP errors back to / or how I learned to always include a favicon.ico file - Joshtronic
- Ditched WordPress - Joshtronic
- My Thoughts on Rails Rumble - Joshtronic
- Setting up a secure MySQL server on Rackspace Cloud Servers - Joshtronic
- Why I recently switched to WordPress - Joshtronic
- Gravity Boulevard Redesign - Joshtronic
- Moustache.ME - Joshtronic
- Script to Install Adobe Air on Ubuntu 64-bit - Joshtronic
- ID Much? - An Alternative to "See ID" - Joshtronic
- What could you do in 10k? - Joshtronic
- Stubby Bottom Icons v1 - Joshtronic
- Project Update - Joshtronic
- Using GRUB to boot a Linux ISO - Joshtronic
- Oh, how awkward. - Joshtronic
- Are Flash developers the new COBOL developers? - Joshtronic
- First Impressions of the iPad from an Android fanatic - Joshtronic
- So I Pre-ordered an iPad - Joshtronic
- New year, new problems - Joshtronic
2009 27
- No Resolutions, Just Retrospect - Joshtronic
- Server Migration - Joshtronic
- Redesign to the Max - Joshtronic
- So I'm addicted to checking my email - Joshtronic
- Websites are more than just buying a domain - Joshtronic
- Going full circle on Allman Style Indenting - Joshtronic
- RMS makes me want to be a better person - Joshtronic
- Oops I tried KDE again... and back to GNOME - Joshtronic
- /home is where the heart is... on the NAS - Joshtronic
- Wireless Connection at Boot (pre-GUI) - Joshtronic
- New Project: Function of the Day - Joshtronic
- Super Awesome Setup Script, Yummy! - Joshtronic
- And finally, I upgraded my hard drive (part 2) - Joshtronic
- And finally, I upgraded my hard drive - Joshtronic
- Mass svn add script - Joshtronic
- Media Temple Grid-Service... ehhh, not so much - Joshtronic
- Super massive content update - Joshtronic
- Intel Graphics Regressions in Jaunty, say wha? - Joshtronic
- I wish YoVille! would just die - Joshtronic
- New Feature, an RSS Feed! - Joshtronic
- Nintendo Wii Won't Power On - Joshtronic
- Pidgin Issues Revisited - Joshtronic
- File Usage Reporting Script - Joshtronic
- Smarty Function: State Drop Down - Joshtronic
- Using SQL's IN syntax to search multiple fields - Joshtronic
- Nonogram Demo in PyGTK - Joshtronic
- Oops, father has gone, wait for me, wait...! - Joshtronic
2008 10
- All Music Guide (AMG) Tagging Script - Joshtronic
- PHP Warning: Module 'mcrypt' already loaded - Joshtronic
- Bash script to flatten a directory - Joshtronic
- Why I still use GNOME instead of KDE - Joshtronic
- Upgrading from Ubuntu 8.04 LTS to Ubuntu 8.10 - Joshtronic
- "My Computer" hangs when accessing it - Joshtronic
- Recursive grep (grepr) for Solaris - Joshtronic
- Firefox 3.0.1 on Mac OS X weirdness - Joshtronic
- Issue with SQLyog Job Agent on Ubuntu - Joshtronic
- Re-establishing my web presence - Joshtronic