41554 blogs · [ { "id": "01a08741-cec7-7074-bcfd-462eae8f2037", "title": "How to set up Chatwoot with Migadu", "url": "https://blog.adriaan.io/connect-chatwoot-smtp-with-migadu.html", "published_at": "2025-04-09T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eaf7bb17f", "title": "How to block last history item in terminal on macOS", "url": "https://blog.adriaan.io/remove-last-terminal-history-item-on-mac.html", "published_at": "2023-11-23T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb0409bd5", "title": "How to block traffic from a specific IP address with Docker enabled", "url": "https://blog.adriaan.io/block-ip-address-with-docker.html", "published_at": "2023-09-12T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb0e9f2c9", "title": "Remove and redirect trailing slashes from URLs in Nuxt 3", "url": "https://blog.adriaan.io/redirect-trailing-slashes-in-nuxt-3.html", "published_at": "2022-11-29T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb14e5fc3", "title": "A simple loading animation component in Vue.js", "url": "https://blog.adriaan.io/loading-animation-component-circle-in-vue-js.html", "published_at": "2022-10-05T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb1e5ecff", "title": "Valdiate email addresses with MX records in Node.js", "url": "https://blog.adriaan.io/validate-email-addresses-with-mx-records-in-node-js.html", "published_at": "2022-07-22T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb20b2935", "title": "Paste keystrokes automatically with Apple Automator", "url": "https://blog.adriaan.io/automated-keystrokes-applescript-automator.html", "published_at": "2021-12-20T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb2716f67", "title": "Promise with a timeout", "url": "https://blog.adriaan.io/timeout-promise.html", "published_at": "2021-12-01T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb361a506", "title": "Turn off Wi-Fi when macOS goes to sleep", "url": "https://blog.adriaan.io/turn-off-wifi-when-mac-goes-to-sleep.html", "published_at": "2021-03-08T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb3c19715", "title": "Convert URL searchParams to plain JS Object", "url": "https://blog.adriaan.io/convert-url-searchparams-to-plain-javascript-object.html", "published_at": "2021-02-06T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb46a89b4", "title": "Vue 2: this.$refs is undefined with v-if", "url": "https://blog.adriaan.io/vue-2-this-refs-is-undefined-with-v-if.html", "published_at": "2021-01-14T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb4c27282", "title": "Install Docker on Raspberry Pi 4 with Ubuntu 20.04", "url": "https://blog.adriaan.io/install-docker-on-raspberry-pi-4-with-ubuntu-20-04.html", "published_at": "2020-12-19T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb596615d", "title": "Make a JavaScript array with objects unique by its (nested) key", "url": "https://blog.adriaan.io/make-a-javascript-array-with-objects-unique-by-its-nested-key.html", "published_at": "2020-11-19T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb5de7398", "title": "How to copy Let's Encrypt account including all certificates to a new server", "url": "https://blog.adriaan.io/how-to-copy-letsencrypt-account-including-all-certificates-to-a-new-server.html", "published_at": "2020-11-10T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb6d5f178", "title": "Running Ubuntu in VirtualBox on macOS fails because rf kill switch", "url": "https://blog.adriaan.io/running-ubuntu-in-virtualbox-fails-because-rf-kill-switch.html", "published_at": "2020-10-16T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb76855f2", "title": "Allow (whitelist) domains with Algo VPN in DNSCrypt Proxy", "url": "https://blog.adriaan.io/whitelist-domains-algo-vpn-with-dnscrypt-proxy.html", "published_at": "2020-06-07T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb79d0599", "title": "Open external links in a new tab in JavaScript", "url": "https://blog.adriaan.io/open-external-links-in-a-new-tab-in-javascript.html", "published_at": "2020-05-29T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb7a35627", "title": "Install Ubuntu Server 18.04.4 on encrypted disks with RAID 1, GRUB, and legacy BIOS", "url": "https://blog.adriaan.io/install-ubuntu-server-18-04-4-with-raid-1-encryption-grub-and-legacy-bios.html", "published_at": "2020-04-14T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb866a036", "title": "Make array with objects unique on multiple keys in javascript", "url": "https://blog.adriaan.io/make-array-with-objects-unique-on-multiple-keys-in-javascript.html", "published_at": "2020-02-13T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb887cf40", "title": "Replacement for optional chaining for nested JS objects", "url": "https://blog.adriaan.io/replacement-for-optional-chaining-of-nested-objects-in-js.html", "published_at": "2019-10-09T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb8f53a17", "title": "Disable Firefox Account / Sync", "url": "https://blog.adriaan.io/disable-firefox-account-sync.html", "published_at": "2019-07-09T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb91c4bc9", "title": "Run a simple server on your Mac for your static files", "url": "https://blog.adriaan.io/run-a-simple-server-on-your-mac-for-your-static-files.html", "published_at": "2019-07-02T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb9405e4c", "title": "Links in iOS Safari WebApp keeps opening in a new tab", "url": "https://blog.adriaan.io/links-in-ios-safari-web-app-keeps-opening-in-a-new-tab.html", "published_at": "2019-06-26T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eb9d1b9d7", "title": "Bimes: Generate random rememberable words in Node.js", "url": "https://blog.adriaan.io/bimes-generate-random-rememberable-words-in-node-js.html", "published_at": "2019-02-07T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eba0fce99", "title": "Send notifications from Stripe to your own Telegram via Node.js", "url": "https://blog.adriaan.io/send-notifications-from-stripe-webhook-to-telegram.html", "published_at": "2018-12-30T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eba93760d", "title": "Log output of your cronjobs to syslog in Ubuntu", "url": "https://blog.adriaan.io/log-cronjob-output-to-syslog-in-ubuntu.html", "published_at": "2018-12-29T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ebad423e2", "title": "One NGINX error page to rule them all", "url": "https://blog.adriaan.io/one-nginx-error-page-to-rule-them-all.html", "published_at": "2018-12-22T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ebb4d91c8", "title": "Turn on automatic apt-get updates and upgrades", "url": "https://blog.adriaan.io/turn-on-automatic-apt-get-updates-and-upgrades.html", "published_at": "2018-11-06T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ebc1a124e", "title": "End to the endless if's to get a JavaScript value in (nested) objects", "url": "https://blog.adriaan.io/no-more-endless-ifs-on-javascript-objects.html", "published_at": "2018-11-01T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ebc834fc1", "title": "Log CRON to syslog on Ubuntu", "url": "https://blog.adriaan.io/log-cron-to-syslog.html", "published_at": "2018-09-24T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ebd4a10d1", "title": "Submit Event Listener Does Not Work", "url": "https://blog.adriaan.io/submit-event-listener-does-not-work.html", "published_at": "2018-05-20T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ebdfa2f79", "title": "Merge conflict in package-lock.json", "url": "https://blog.adriaan.io/merge-conflict-in-package-lock-json.html", "published_at": "2018-05-02T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ebe32351a", "title": "What I do when I setup my new Mac", "url": "https://blog.adriaan.io/new-mac-setup.html", "published_at": "2018-04-19T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ebf122e4f", "title": "How To Adjust Brightness In Final Cut Pro", "url": "https://blog.adriaan.io/how-to-adjust-brightness-in-final-cut-pro.html", "published_at": "2018-01-16T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ebfff2391", "title": "Make Async Await Work In Promises", "url": "https://blog.adriaan.io/make-async-await-work-in-promises.html", "published_at": "2017-07-10T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ec0a715c9", "title": "Use Ember Get For Nested Objects", "url": "https://blog.adriaan.io/use-ember-get-for-nested-objects.html", "published_at": "2017-02-08T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ec17b4ce6", "title": "macOS Sierra Broke My Git", "url": "https://blog.adriaan.io/macos-sierra-broke-my-git.html", "published_at": "2016-10-31T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ec1c78c3d", "title": "The New Details And Summary Tag", "url": "https://blog.adriaan.io/the-new-details-and-summary-tag.html", "published_at": "2016-07-02T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ec2b04fd1", "title": "How Clearfix Can Demolish Flexbox", "url": "https://blog.adriaan.io/how-clearfix-can-demolish-flexbox.html", "published_at": "2016-07-01T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ec3060286", "title": "Check If Elements Are In Viewport In Vanilla Javascript", "url": "https://blog.adriaan.io/check-if-elements-are-in-viewport-in-vanilla-javascript.html", "published_at": "2016-06-30T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ec32d7993", "title": "Exclude Folders In Sublime Text Search", "url": "https://blog.adriaan.io/exclude-folders-in-sublime-text-search.html", "published_at": "2016-06-06T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ec3a086b6", "title": "Different Files Per Environment In Ember", "url": "https://blog.adriaan.io/different-files-per-environment-in-ember.html", "published_at": "2016-06-06T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ec497ddb5", "title": "How To Push Without Set Upstream In Git", "url": "https://blog.adriaan.io/how-to-push-without-set-upstream-in-git.html", "published_at": "2016-05-21T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ec564c79c", "title": "Transfer Files From The Command Line", "url": "https://blog.adriaan.io/transfer-files-from-the-command-line.html", "published_at": "2016-03-20T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ec62fc77e", "title": "Sublime Text 3 pretty JSON", "url": "https://blog.adriaan.io/sublime-pretty-json.html", "published_at": "2016-02-11T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ec65d4b76", "title": "Setup Git shortcuts (aliases)", "url": "https://blog.adriaan.io/setup-git-shortcuts.html", "published_at": "2016-02-03T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ec754c26e", "title": "Replace all in JavaScript", "url": "https://blog.adriaan.io/replace-all-in-javascript.html", "published_at": "2015-12-16T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ec80e966a", "title": "Front end developers and designers, increase your contrast", "url": "https://blog.adriaan.io/front-end-developers-increase-your-contrast.html", "published_at": "2015-12-14T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ec8ec0c16", "title": "Run cronjobs with dokku PaaS", "url": "https://blog.adriaan.io/run-cronjobs-with-dokku-paas.html", "published_at": "2015-11-09T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ec98b4e05", "title": "Disable mouse gestures in Google Chrome on Mac", "url": "https://blog.adriaan.io/disable-mouse-gestures-chrome-mac.html", "published_at": "2015-10-26T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eca7eae9a", "title": "Use the same style definitions twice without extend in SASS", "url": "https://blog.adriaan.io/use-same-styling-on-two-selectors.html", "published_at": "2015-10-22T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ecafb5c1f", "title": "Run a check on your npm modules before serving Broccoli", "url": "https://blog.adriaan.io/npm-check.html", "published_at": "2015-10-22T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ecbacc112", "title": "How to trim whitespace on save in Sublime Text", "url": "https://blog.adriaan.io/trim-whitespace-on-save-in-sublime-text.html", "published_at": "2015-10-21T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ecc5fe25e", "title": "How to automaticly add css prefixes with Brocolli or EmberJS", "url": "https://blog.adriaan.io/autoprefixer-for-broccoli.html", "published_at": "2015-10-21T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462eccaa475a", "title": "How to create a shortcut in terminal for Mac for Sublime Text", "url": "https://blog.adriaan.io/sublime-shortcut-mac-terminal.html", "published_at": "2015-10-14T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ecd0d7abb", "title": "Ember.merge()", "url": "https://blog.adriaan.io/ember-merge.html", "published_at": "2015-09-14T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ecd918424", "title": "Ember isFulfilled", "url": "https://blog.adriaan.io/ember-isfulfilled.html", "published_at": "2015-09-14T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ece53fef2", "title": "Ember Use findBy on PromiseArray", "url": "https://blog.adriaan.io/ember-findby-on-promisearray.html", "published_at": "2015-08-26T00:00:00+00:00" }, { "id": "01a08741-cec7-7074-bcfd-462ece5f6fc0", "title": "Terminate a program by port on Mac", "url": "https://blog.adriaan.io/mac-terminate-program-by-port.html", "published_at": "2015-07-22T00:00:00+00:00" } ] posts Claim your blog
Back to blog.adriaan.io
Blog · corpus.blog/blogs/blog.adriaan.io/posts

blog.adriaan.io

blog.adriaan.io

2025

2023

2022

2021

2020

2019

2018

2017

2016

2015