56,966 blogs · [ { "id": "01a08767-b002-739b-ad42-acf74f3170c6", "title": "8bitDo SN30 Pro + USB Wireless Adapter 2 [Tesla Model 3/Y]", "url": "https://dannyherran.com/2026/04/8bitdo-sn30-pro-usb-wireless-adapter-2-tesla-model-3-y/", "published_at": "2026-04-20T19:33:30+00:00" }, { "id": "01a08767-b002-739b-ad42-acf74f370a4b", "title": "I made a simple web app entirely with AI and this is what I learned", "url": "https://dannyherran.com/2025/05/i-made-a-simple-web-app-entirely-with-ai-and-this-is-what-i-learned/", "published_at": "2025-05-30T18:50:00+00:00" }, { "id": "01a08767-b002-739b-ad42-acf74f4f591c", "title": "Cooler Master NCORE 100 MAX Fan Swap Mod", "url": "https://dannyherran.com/2025/05/cooler-master-ncore-100-max-fan-swap-mod/", "published_at": "2025-05-18T17:21:32+00:00" }, { "id": "01a08767-b002-739b-ad42-acf74f6bb2a0", "title": "Laravel Sanctum optional route authentication and guard selection", "url": "https://dannyherran.com/2022/01/laravel-sanctum-optional-route-authentication-guard/", "published_at": "2022-01-18T22:25:05+00:00" }, { "id": "01a08767-b004-70dc-90fb-a321553d77e9", "title": "Tailwind CSS with Parcel v2", "url": "https://dannyherran.com/2021/08/tailwind-css-with-parcel-v2/", "published_at": "2021-08-28T20:19:11+00:00" }, { "id": "01a08767-b004-70dc-90fb-a32155707fde", "title": "Stay Meta – a social platform for gamers", "url": "https://dannyherran.com/2021/07/stay-meta-a-social-platform-for-gamers/", "published_at": "2021-07-30T16:24:54+00:00" }, { "id": "01a08767-b004-70dc-90fb-a321557c064d", "title": "Laravel reCAPTCHA v2 Middleware in 3 minutes", "url": "https://dannyherran.com/2020/11/laravel-recaptcha-v2-middleware/", "published_at": "2020-11-05T17:43:50+00:00" }, { "id": "01a08767-b004-70dc-90fb-a3215604597e", "title": "Git squash commits in VS Code", "url": "https://dannyherran.com/2020/06/git-squash-commit-vs-code/", "published_at": "2020-06-18T16:37:49+00:00" }, { "id": "01a08767-b004-70dc-90fb-a32156fb497b", "title": "Laravel Fractal pagination with simplePaginate", "url": "https://dannyherran.com/2019/03/laravel-fractal-simplepaginate/", "published_at": "2019-03-08T18:29:30+00:00" }, { "id": "01a08767-b004-70dc-90fb-a32157819f71", "title": "Importing Foundation 6.4 ES2016 JS files with your favourite module bundler", "url": "https://dannyherran.com/2017/11/foundation-6-4-es2016-module-javascript/", "published_at": "2017-11-01T18:51:05+00:00" }, { "id": "01a0c505-d174-7010-8fdf-13a021df5e76", "title": "Redux or MobX: What I learned after refactoring a medium-sized React app", "url": "https://dannyherran.com/2017/03/react-redux-mobx-takeaways/", "published_at": "2017-03-17T16:15:43+00:00" }, { "id": "01a0c505-d174-7010-8fdf-13a0223be6a3", "title": "State of affairs: Bootstrap 4 vs Foundation 6.3", "url": "https://dannyherran.com/2016/03/state-of-affairs-bootstrap-4-vs-foundation-6/", "published_at": "2016-03-28T21:07:39+00:00" }, { "id": "01a0c505-d174-7010-8fdf-13a02268fe2b", "title": "This is how you upgrade (or downgrade) the PHP version on EasyPHP for Windows", "url": "https://dannyherran.com/2015/11/this-is-how-you-upgrade-the-php-version-on-easyphp-for-windows/", "published_at": "2015-11-18T14:59:27+00:00" }, { "id": "01a0c505-d174-7010-8fdf-13a0235de037", "title": "These are the frontend web development tools that you should be using right now", "url": "https://dannyherran.com/2015/11/tools-improve-frontend-development-productivity/", "published_at": "2015-11-14T21:23:17+00:00" }, { "id": "01a0c505-d174-7010-8fdf-13a023e4c2d8", "title": "Why are frontend web development technologies so broken?", "url": "https://dannyherran.com/2015/04/why-are-frontend-web-development-technologies-so-broken/", "published_at": "2015-04-03T14:25:01+00:00" }, { "id": "01a0c505-d174-7010-8fdf-13a023fb2c95", "title": "Seamlessly validate forms and file uploads with CodeIgniter", "url": "https://dannyherran.com/2014/07/validate-forms-file-uploads-with-codeigniter/", "published_at": "2014-07-12T17:39:57+00:00" }, { "id": "01a0c505-d174-7010-8fdf-13a023ff6a84", "title": "This is how it all started", "url": "https://dannyherran.com/2013/09/this-is-how-it-all-started/", "published_at": "2013-09-13T13:18:40+00:00" }, { "id": "01a0c505-d174-7010-8fdf-13a024a03ac9", "title": "How to load and use SimplePie 1.3+ with CodeIgniter 2.1+", "url": "https://dannyherran.com/2013/06/how-to-load-and-use-simplepie-1-3-with-codeigniter-2-1/", "published_at": "2013-06-19T00:10:32+00:00" }, { "id": "01a0c505-d174-7010-8fdf-13a024ca5794", "title": "How to force a cache refresh on CSS and JavaScript files with PHP?", "url": "https://dannyherran.com/2012/12/how-to-automatically-force-a-cache-refresh-on-css-and-javascript-files-with-php/", "published_at": "2012-12-30T18:41:16+00:00" }, { "id": "01a0c505-d174-7010-8fdf-13a024fb99f7", "title": "Integrating the jQuery Validation plugin with Twitter Bootstrap", "url": "https://dannyherran.com/2012/10/integrating-the-jquery-validation-plugin-with-twitter-bootstrap/", "published_at": "2012-10-22T17:37:18+00:00" }, { "id": "01a0c517-5ae4-7218-92c3-a339e192dc4e", "title": "Mobile browser detection for WordPress – embedded is_mobile() function", "url": "https://dannyherran.com/2012/03/mobile-browser-detection-for-wordpress-embedded-is_mobile-function/", "published_at": "2012-03-07T16:06:53+00:00" }, { "id": "01a0c517-5ae4-7218-92c3-a339e28bb6aa", "title": "How is responsive design the answer to mobile web consumption?", "url": "https://dannyherran.com/2012/02/how-is-responsive-design-the-answer-to-mobile-web-consumption/", "published_at": "2012-02-13T18:36:18+00:00" }, { "id": "01a0c517-5ae4-7218-92c3-a339e2af63e5", "title": "Load several instances of your Tweet, Like and +1 buttons asynchronously", "url": "https://dannyherran.com/2011/09/load-several-instances-of-your-tweet-like-and-1-buttons-asynchronously/", "published_at": "2011-09-23T00:09:33+00:00" }, { "id": "01a0c517-5ae4-7218-92c3-a339e354986e", "title": "Finding unique array combinations with PHP (permutations)", "url": "https://dannyherran.com/2011/06/finding-unique-array-combinations-with-php-permutations/", "published_at": "2011-06-23T23:08:01+00:00" }, { "id": "01a0c517-5ae4-7218-92c3-a339e44c60af", "title": "How to add a Twitter Poll to your website", "url": "https://dannyherran.com/2011/06/how-to-add-a-twitter-poll-to-your-website/", "published_at": "2011-06-17T17:12:09+00:00" }, { "id": "01a0c517-5ae4-7218-92c3-a339e4db595f", "title": "How to add the Google +1 button to your website", "url": "https://dannyherran.com/2011/06/how-to-add-the-google-1-button-to-your-website/", "published_at": "2011-06-02T06:54:08+00:00" }, { "id": "01a0c517-5ae4-7218-92c3-a339e529a8a4", "title": "Twitter adds a one-stop ‘Follow’ button for websites", "url": "https://dannyherran.com/2011/06/twitter-adds-a-one-stop-follow-button-for-websites/", "published_at": "2011-06-01T06:06:22+00:00" }, { "id": "01a0c517-5ae4-7218-92c3-a339e5f1682a", "title": "Error Validation Class for CodeIgniter Reactor 2.0", "url": "https://dannyherran.com/2011/05/error-validation-class-for-codeigniter-reactor-2-0/", "published_at": "2011-05-04T01:34:48+00:00" }, { "id": "01a0c517-5ae4-7218-92c3-a339e6304e19", "title": "Alternate row colors with pure CSS3", "url": "https://dannyherran.com/2011/04/alternate-row-colors-with-pure-css-yes-css3/", "published_at": "2011-04-29T07:07:18+00:00" }, { "id": "01a0c517-5ae4-7218-92c3-a339e6ed8fd4", "title": "Exporting your MySQL table data with PHPExcel + CodeIgniter", "url": "https://dannyherran.com/2011/03/exporting-your-mysql-table-data-with-phpexcel-codeigniter/", "published_at": "2011-03-08T17:24:58+00:00" }, { "id": "01a0c522-437a-728f-8d90-0cd37a553ad5", "title": "63% of web video is HTML5 friendly", "url": "https://dannyherran.com/2011/03/63-of-web-video-is-html5-friendly/", "published_at": "2011-03-02T17:03:11+00:00" }, { "id": "01a0c522-437a-728f-8d90-0cd37ac00a8b", "title": "Facebook PHP SDK and CodeIgniter for basic user authentication", "url": "https://dannyherran.com/2011/02/facebook-php-sdk-and-codeigniter-for-basic-user-authentication/", "published_at": "2011-02-24T18:16:56+00:00" }, { "id": "01a0c522-437a-728f-8d90-0cd37b30709a", "title": "CodeIgniter 2.0 is out with cool features!", "url": "https://dannyherran.com/2011/02/codeigniter-2-0-is-out-with-cool-features/", "published_at": "2011-02-14T00:36:58+00:00" }, { "id": "01a0c522-437a-728f-8d90-0cd37b697234", "title": "Read Word documents with PHP (up to Word 2003)", "url": "https://dannyherran.com/2011/02/read-word-documents-with-php-up-to-word-2003/", "published_at": "2011-02-10T23:27:49+00:00" }, { "id": "01a0c522-437a-728f-8d90-0cd37c3d7a49", "title": "Detect mobile browser/user agent with PHP (iPad, iPhone, Android, BlackBerry, WP7 and others)", "url": "https://dannyherran.com/2011/02/detect-mobile-browseruser-agent-with-php-ipad-iphone-blackberry-and-others/", "published_at": "2011-02-02T23:22:10+00:00" }, { "id": "01a0c522-437a-728f-8d90-0cd37c416369", "title": "$_GET parameters on CodeIgniter", "url": "https://dannyherran.com/2010/12/_get-parameters-on-codeigniter/", "published_at": "2010-12-13T20:43:48+00:00" }, { "id": "01a0c522-437a-728f-8d90-0cd37c6365db", "title": "CodeIgniter 2.0 new FTP class “download” method", "url": "https://dannyherran.com/2010/11/codeigniter-2-0-new-ftp-class-download-method/", "published_at": "2010-11-26T00:49:47+00:00" }, { "id": "01a0c522-437a-728f-8d90-0cd37d140019", "title": "Get YouTube video thumbnails (the easy way)", "url": "https://dannyherran.com/2010/10/get-youtube-video-thumbnails-the-easy-way/", "published_at": "2010-10-20T18:16:03+00:00" }, { "id": "01a0c522-437a-728f-8d90-0cd37dd5c7d5", "title": "A little dot that made me pull my hair off", "url": "https://dannyherran.com/2010/10/a-little-dot-that-made-me-pull-my-hair-off/", "published_at": "2010-10-15T18:20:26+00:00" }, { "id": "01a0c522-437a-728f-8d90-0cd37ebd2055", "title": "Trim long texts by words in PHP", "url": "https://dannyherran.com/2010/10/trim-long-texts-by-words-in-php/", "published_at": "2010-10-14T16:39:08+00:00" }, { "id": "01a0c52d-b89e-7385-a9dd-a03aad438953", "title": "HTML Table Class on CodeIgniter 2.0", "url": "https://dannyherran.com/2010/08/html-table-class-on-codeigniter-2-0/", "published_at": "2010-09-01T01:16:47+00:00" }, { "id": "01a0c52d-b89e-7385-a9dd-a03aadff0c8b", "title": "Fixing UTF-8 encoding problems on MySQL queries with PHP", "url": "https://dannyherran.com/2010/08/fixing-utf-8-encoding-problems-on-mysql-queries-on-php/", "published_at": "2010-08-25T02:51:52+00:00" }, { "id": "01a0c52d-b89e-7385-a9dd-a03aaef449d5", "title": "Twitter feed on your website with cURL and PHP", "url": "https://dannyherran.com/2010/08/twitter-feed-on-your-website-with-curl-and-php/", "published_at": "2010-08-16T03:41:19+00:00" }, { "id": "01a0c52d-b89e-7385-a9dd-a03aaf00e4e1", "title": "Alternate row colors with PHP", "url": "https://dannyherran.com/2010/08/alternate-row-colors-with-php/", "published_at": "2010-08-11T03:35:47+00:00" }, { "id": "01a0c52d-b89e-7385-a9dd-a03aafcbd268", "title": "Element indexes and jQuery", "url": "https://dannyherran.com/2010/08/work-with-element-indexes-and-jquery/", "published_at": "2010-08-11T03:27:27+00:00" }, { "id": "01a0c52d-b89e-7385-a9dd-a03ab0045983", "title": "Change selected option by value on select list with jQuery", "url": "https://dannyherran.com/2010/08/change-selected-option-by-value-on-select-list-with-jquery/", "published_at": "2010-08-11T03:07:46+00:00" }, { "id": "01a0c52d-b89e-7385-a9dd-a03ab0892a82", "title": "Fix / workaround for the z-index problem on IE7", "url": "https://dannyherran.com/2010/08/fix-workaround-for-the-z-index-problem-on-ie7/", "published_at": "2010-08-09T23:04:46+00:00" }, { "id": "01a0c52d-b89e-7385-a9dd-a03ab0896206", "title": "Create thumbnails on the fly with CodeIgniter", "url": "https://dannyherran.com/2010/08/create-thumbnails-on-the-fly-with-codeigniter/", "published_at": "2010-08-09T20:46:07+00:00" }, { "id": "01a0c52d-b89e-7385-a9dd-a03ab1aa5686", "title": "Prevent image hotlinking with Apache and htaccess", "url": "https://dannyherran.com/2010/08/how-to-prevent-image-hotlinking-with-apache-and-htaccess/", "published_at": "2010-08-09T19:52:55+00:00" }, { "id": "01a0c538-477c-7350-be06-ab883cc93aba", "title": "Prevent directory listing in Apache with htaccess", "url": "https://dannyherran.com/2010/08/how-to-prevent-directory-listing-in-apache-with-htaccess/", "published_at": "2010-08-09T19:42:53+00:00" }, { "id": "01a0c52d-b89e-7385-a9dd-a03ab1071c9e", "title": "Add www subdomain automatically to your domain with htaccess", "url": "https://dannyherran.com/2010/08/add-www-subdomain-automatically-to-your-domain/", "published_at": "2010-08-09T16:04:04+00:00" } ] posts Claim your blog
Back to dannyherran.com
Blog · corpus.blog/blogs/dannyherran.com/posts

dannyherran.com

dannyherran.com

2026

2025

2022

2021

2020

2019

2017

2016

2015

2014

2013

2012

2011

2010