41554 blogs · [ { "id": "01a087af-7b2e-733f-862b-1b11c3d6d54e", "title": "Debugging Oauth shenanigans: the curse of the production headers", "url": "https://nickvahalik.com/2026-01-10-debugging-csp-headers", "published_at": "2026-01-10T00:00:00+00:00" }, { "id": "01a087af-7b2e-733f-862b-1b11c46bc9a8", "title": "The Online Blog of Nick Vahalik", "url": "https://nickvahalik.com/", "published_at": "2025-11-26T15:41:55+00:00" }, { "id": "01a087af-7b2e-733f-862b-1b11c4ed64e6", "title": "Benchmarks don't tell the whole story", "url": "https://nickvahalik.com/benchmarks-dont-tell-the-whole-story", "published_at": "2025-11-21T00:00:00+00:00" }, { "id": "01a087af-7b2e-733f-862b-1b11c5bbda14", "title": "Laravel's ControllerDispatcher: a cleaner solution for custom controllers", "url": "https://nickvahalik.com/2025-11-15-laravel-controllerdispatcher", "published_at": "2025-11-15T00:00:00+00:00" }, { "id": "01a087af-7b2e-733f-862b-1b11c6acd962", "title": "Running Phalcon within Laravel", "url": "https://nickvahalik.com/running-phalcon-within-laravel", "published_at": "2025-11-14T00:00:00+00:00" }, { "id": "01a087af-7b2e-733f-862b-1b11c6ecb46b", "title": "Jujutsu: Resources and Notes", "url": "https://nickvahalik.com/jj", "published_at": "2025-11-08T00:00:00+00:00" }, { "id": "01a087af-7b2e-733f-862b-1b11c7444205", "title": "You may not need pg_vector, sqlite-vss, etc.", "url": "https://nickvahalik.com/you-may-not-need-pgvector-sqlite-vss-etc", "published_at": "2025-11-06T00:00:00+00:00" }, { "id": "01a087af-7b2e-733f-862b-1b11c8004d35", "title": "Dealing with ReferenceError can't access lexical declaration before initialization issues in an Angular application", "url": "https://nickvahalik.com/dealing-with-referenceerror-cant-access-lexical-declaration-before-initialization-issues-in-an-angular-application", "published_at": "2022-10-20T00:00:00+00:00" }, { "id": "01a087af-7b2e-733f-862b-1b11c8b99675", "title": "Debugging PHP applications on Ubuntu", "url": "https://nickvahalik.com/debugging-php-applications-on-ubuntu", "published_at": "2022-04-19T00:00:00+00:00" }, { "id": "01a087af-7b2e-733f-862b-1b11c99316fd", "title": "Strong like steel? What about the mighty oak?", "url": "https://nickvahalik.com/strong-like-steel-what-about-the-might-oak", "published_at": "2022-02-03T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd37059b60", "title": null, "url": "https://nickvahalik.com/hot-code-updates-for-cordova-applications", "published_at": "2022-01-23T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd33c5c838", "title": null, "url": "https://nickvahalik.com/eloquent-upsert-requires-unique-index-mysql", "published_at": "2021-10-29T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd3c29b1af", "title": null, "url": "https://nickvahalik.com/notes-on-writing-good-laravel-tests", "published_at": "2021-09-22T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd3ad60c7d", "title": null, "url": "https://nickvahalik.com/modifying-eloquents-relations-upon-loading", "published_at": "2021-09-01T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd302cfe2d", "title": null, "url": "https://nickvahalik.com/databases-inspection-while-debugging-tests", "published_at": "2021-05-04T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd31e4b011", "title": null, "url": "https://nickvahalik.com/dont-put-services-in-a-laravel-console-command-class-constructor", "published_at": "2021-04-20T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd1afe7440", "title": null, "url": "https://nickvahalik.com/404-when-deleting-a-model-through-livewire", "published_at": "2021-04-06T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd3b2ea522", "title": null, "url": "https://nickvahalik.com/nerdy-movies-i-grew-up-watching", "published_at": "2021-02-06T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd2fa05289", "title": null, "url": "https://nickvahalik.com/carbon-today-vs-now", "published_at": "2021-01-13T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd3b8c6cee", "title": null, "url": "https://nickvahalik.com/notes-on-using-sqlite-with-laravel-from-a-mysql-user", "published_at": "2020-12-04T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd4370caa9", "title": null, "url": "https://nickvahalik.com/using-a-css-inliner-with-laravel", "published_at": "2020-11-27T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd25b1116f", "title": null, "url": "https://nickvahalik.com/archive/notes-on-setting-up-lockr-on-acquia-dev-desktop", "published_at": "2017-09-01T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd3cf4f662", "title": null, "url": "https://nickvahalik.com/open-letter-dries-what-are-our-values", "published_at": "2017-03-30T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd4431984a", "title": null, "url": "https://nickvahalik.com/yield-generators-and-iterators-nodejs", "published_at": "2017-03-09T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd26e00ebc", "title": null, "url": "https://nickvahalik.com/archive/perceived-value-and-my-favorite-mobile-game", "published_at": "2017-02-13T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd1cb40d3a", "title": null, "url": "https://nickvahalik.com/acquias-access-log-file-format", "published_at": "2016-11-18T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd1faa6417", "title": null, "url": "https://nickvahalik.com/archive/building-kick-saas-installation-profiles", "published_at": "2016-09-16T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd37b8675a", "title": null, "url": "https://nickvahalik.com/how-monitor-any-text-file-import", "published_at": "2016-07-08T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd41b3fa33", "title": null, "url": "https://nickvahalik.com/taking-look-output-buffering-php", "published_at": "2016-06-26T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd23a5aafb", "title": null, "url": "https://nickvahalik.com/archive/initial-impression-hamshield", "published_at": "2016-05-23T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd37e99693", "title": null, "url": "https://nickvahalik.com/importing-price-drupal-8-drupal-commerce-2x", "published_at": "2016-04-20T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd4469b9bd", "title": null, "url": "https://nickvahalik.com/you-can-chain-callbacks-drupal-8-migration", "published_at": "2016-04-20T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd28923c1b", "title": null, "url": "https://nickvahalik.com/archive/quickly-importing-new-config-entities-command-line-using-drush", "published_at": "2016-04-18T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd21f2ea21", "title": null, "url": "https://nickvahalik.com/archive/field-tools-replacement-features", "published_at": "2016-04-04T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd3e662c66", "title": null, "url": "https://nickvahalik.com/quick-note-about-drupal-commerce-price-updaters-use-feeds-and-feeds-validation", "published_at": "2016-03-31T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd3a660920", "title": null, "url": "https://nickvahalik.com/modifying-distribution-makefiles-within-your-own-project-makefile-platformsh", "published_at": "2016-02-24T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd1bedc115", "title": null, "url": "https://nickvahalik.com/acquia-dev-desktop-and-drupal-7-test-runner", "published_at": "2015-11-15T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd41db5e9e", "title": null, "url": "https://nickvahalik.com/technological-pendulums", "published_at": "2015-11-09T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd296f2846", "title": null, "url": "https://nickvahalik.com/archive/recreate-drupals-users-table-urlalias-table", "published_at": "2015-08-19T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd29f9e0cd", "title": null, "url": "https://nickvahalik.com/archive/redirect-checker-script", "published_at": "2015-04-22T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd3301924f", "title": null, "url": "https://nickvahalik.com/drupal-community-cost-code", "published_at": "2015-04-15T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd2833d242", "title": null, "url": "https://nickvahalik.com/archive/pyaudiomixer-more-versatile-python-audio-mixer", "published_at": "2014-09-07T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd2a1b17dd", "title": null, "url": "https://nickvahalik.com/archive/rewrapping-wxstatictext", "published_at": "2014-09-02T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd2be63eb8", "title": null, "url": "https://nickvahalik.com/archive/setting-wxpython-global-hotkey-regular-character", "published_at": "2014-08-31T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd36084c8f", "title": null, "url": "https://nickvahalik.com/getting-amateur-radio", "published_at": "2014-08-04T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd3ee79d82", "title": null, "url": "https://nickvahalik.com/quick-note-regarding-exfat-volumes-used-windows-mac-computers", "published_at": "2013-10-20T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd301b3bfa", "title": null, "url": "https://nickvahalik.com/custom-google-apps-scripts-spreadsheet-functions-technical-sales", "published_at": "2013-10-19T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd391bb8fe", "title": null, "url": "https://nickvahalik.com/interesting-notes-about-qr-codes", "published_at": "2013-04-28T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd357566a1", "title": null, "url": "https://nickvahalik.com/fixing-hfs-disk-will-not-mount", "published_at": "2013-03-17T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd3d8c608d", "title": null, "url": "https://nickvahalik.com/quick-n-dirty-way-get-wifi-password-os-x", "published_at": "2012-12-30T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd2a7935b9", "title": null, "url": "https://nickvahalik.com/archive/rm-rf", "published_at": "2012-05-28T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd2c98ff65", "title": null, "url": "https://nickvahalik.com/archive/they-can-put-man-moon-we-cant-get-pictures-display-proper-orientation", "published_at": "2012-04-16T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd1eadbbf5", "title": null, "url": "https://nickvahalik.com/archive/automator-workflow-copy-downloaded-music-itunes-and-then-trash-it", "published_at": "2012-02-09T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd1cf7f331", "title": null, "url": "https://nickvahalik.com/alfred-scripture-lookup-bible-translations", "published_at": "2011-11-27T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd3484c144", "title": null, "url": "https://nickvahalik.com/finally-html-pdf-workflow-works", "published_at": "2011-11-05T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd1e0a1a0b", "title": null, "url": "https://nickvahalik.com/archive/attending-xcommerce-innovate-developer-conference", "published_at": "2011-10-10T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd236315ea", "title": null, "url": "https://nickvahalik.com/archive/god-us-father-son", "published_at": "2011-07-24T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd2e05e725", "title": null, "url": "https://nickvahalik.com/arrays-utf-16-strings-will-give-you-headaches", "published_at": "2011-05-19T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd33b02c25", "title": null, "url": "https://nickvahalik.com/easily-view-magento-layout-alan-storms-layoutviewer", "published_at": "2011-05-16T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd24df908e", "title": null, "url": "https://nickvahalik.com/archive/limits-powder-primers", "published_at": "2010-05-17T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd42b674ff", "title": null, "url": "https://nickvahalik.com/theming-local-task-tabs-drupal-6", "published_at": "2010-05-14T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd268efa30", "title": null, "url": "https://nickvahalik.com/archive/panics-checkout-form", "published_at": "2010-05-13T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd206e3ae1", "title": null, "url": "https://nickvahalik.com/archive/dgoto-url-shortener-and-smartener-drupalorg", "published_at": "2010-04-28T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd24391d45", "title": null, "url": "https://nickvahalik.com/archive/intricacies-lee-press", "published_at": "2010-03-12T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd369e9fc5", "title": null, "url": "https://nickvahalik.com/getting-javaiocharconversionexception-pdftk-while-using-mamp", "published_at": "2010-02-05T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd3ae595d8", "title": null, "url": "https://nickvahalik.com/my-first-contributed-drupal-module-permission-report", "published_at": "2009-12-29T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd2e8d9ce2", "title": null, "url": "https://nickvahalik.com/avoid-using-drupal-path-module-create-clean-paths-your-module", "published_at": "2009-11-05T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd2c919585", "title": null, "url": "https://nickvahalik.com/archive/smartsleep-can-kill-your-battery-life", "published_at": "2009-07-07T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd3ff42c17", "title": null, "url": "https://nickvahalik.com/simple-drupal-database-copying-script", "published_at": "2009-01-01T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd3792ad25", "title": null, "url": "https://nickvahalik.com/how-make-scaled-images-look-better-ie", "published_at": "2008-12-22T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd1cfa750a", "title": null, "url": "https://nickvahalik.com/altering-profile-field-profilemodule-view-functionality", "published_at": "2008-12-11T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd21eda692", "title": null, "url": "https://nickvahalik.com/archive/do-your-hot-corners-ever-stop-working-osx", "published_at": "2008-10-29T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd2105935a", "title": null, "url": "https://nickvahalik.com/archive/different-strokes-different-folks", "published_at": "2008-10-27T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd324caa68", "title": null, "url": "https://nickvahalik.com/download-uncompress-and-untar-file", "published_at": "2008-10-27T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd2ca3750e", "title": null, "url": "https://nickvahalik.com/archive/why-cant-we-monitor-file-uploads-major-browsers", "published_at": "2008-10-24T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd248b0258", "title": null, "url": "https://nickvahalik.com/archive/iphone-functionality-wishlist", "published_at": "2008-09-24T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd2d105811", "title": null, "url": "https://nickvahalik.com/archive/yet-another-reason-why-adobe-air-amazing", "published_at": "2008-08-09T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd2af00a73", "title": null, "url": "https://nickvahalik.com/archive/rsync-backups-using-exavault", "published_at": "2008-07-21T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd1d5c04af", "title": null, "url": "https://nickvahalik.com/alternating-alignments-full-node-views-contemplate", "published_at": "2008-07-14T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd22b9223d", "title": null, "url": "https://nickvahalik.com/archive/fixing-quiet-volume-problem-iphone-speakerphone", "published_at": "2008-07-14T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd23713fbb", "title": null, "url": "https://nickvahalik.com/archive/how-i-cut-my-servers-load-average-more-half", "published_at": "2008-05-27T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd2575fbdd", "title": null, "url": "https://nickvahalik.com/archive/my-new-love-affair-adobe-air", "published_at": "2008-05-25T00:00:00+00:00" }, { "id": "01a0de36-bf2c-7003-b8dd-8ddd273a2c26", "title": null, "url": "https://nickvahalik.com/archive/phptek-2008-let-fun-begin", "published_at": "2008-05-19T00:00:00+00:00" } ] posts Claim your blog
Back to nickvahalik.com
Blog · corpus.blog/blogs/nickvahalik.com/posts

nickvahalik.com

nickvahalik.com

2026

2025

2022

2021

2020

2017

2016

2015

2014

2013

2012

2011

2010

2009

2008