41554 blogs · [ { "id": "01a087e2-c0ec-7366-89ba-e1ae09b5ff8e", "title": "LLMs as Hackers: Autonomous Linux Privilege Escalation Attacks", "url": "https://snikt.net/blog/2025/10/15/llms-as-hackers-autonomous-linux-privilege-escalation-attacks/", "published_at": "2025-10-15T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae0a3f1da2", "title": "Installing LineageOS on Xiaomi Mi Mix 3", "url": "https://snikt.net/blog/2025/10/13/installing-lineageos-on-xiaomi-mi-mix-3/", "published_at": "2025-10-13T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae0aa5a872", "title": "Can LLMs Hack Enterprise Networks? Autonomous Assumed Breach Penetration-Testing Active Directory Networks", "url": "https://snikt.net/blog/2025/09/11/can-llms-hack-enterprise-networks-autonomous-assumed-breach-penetration-testing-active-directory-networks/", "published_at": "2025-09-11T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae0b99638d", "title": "Adversarial Bug Reports as a Security Risk in Language Model-Based Automated Program Repair", "url": "https://snikt.net/blog/2025/09/04/adversarial-bug-reports-as-a-security-risk-in-language-model-based-automated-program-repair/", "published_at": "2025-09-04T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae0c738269", "title": "On the Surprising Efficacy of LLMs for Penetration-Testing", "url": "https://snikt.net/blog/2025/07/01/on-the-surprising-efficacy-of-llms-for-penetration-testing/", "published_at": "2025-07-01T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae0d2bdec4", "title": "Benchmarking Practices in LLM-driven Offensive Security: Testbeds, Metrics, and Experiment Design", "url": "https://snikt.net/blog/2025/06/16/benchmarking-practices-in-llm-driven-offensive-security-testbeds-metrics-and-experiment-design/", "published_at": "2025-06-16T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae0dd035b6", "title": "Homeserver: Glances and Home Assistant for Monitoring", "url": "https://snikt.net/blog/2025/04/30/homeserver-glances-and-home-assistant-for-monitoring/", "published_at": "2025-04-30T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae0e9b6d73", "title": "Homeserver: Creating local Proton Drive/Mail Backups", "url": "https://snikt.net/blog/2025/04/27/homeserver-creating-local-proton-drive/mail-backups/", "published_at": "2025-04-27T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae0ee97bd9", "title": "Homeserver: Services Pt. 1", "url": "https://snikt.net/blog/2025/04/09/homeserver-services-pt.-1/", "published_at": "2025-04-09T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae0ef3fba8", "title": "Using tailscale on Fedora Silverblue", "url": "https://snikt.net/blog/2025/04/07/using-tailscale-on-fedora-silverblue/", "published_at": "2025-04-07T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae0f26d06d", "title": "Building a little home-server with Linux, TailScale, ProtonVPN, Docker Compose and VM support", "url": "https://snikt.net/blog/2025/04/05/building-a-little-home-server-with-linux-tailscale-protonvpn-docker-compose-and-vm-support/", "published_at": "2025-04-05T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae0fd8b271", "title": "LangGraph: Adding Plan-and-Execute Planner", "url": "https://snikt.net/blog/2024/10/14/langgraph-adding-plan-and-execute-planner/", "published_at": "2024-10-14T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae109296b9", "title": "LangGraph: Simplify our Tool-Calling Agent through `create_react_agent`", "url": "https://snikt.net/blog/2024/10/12/langgraph-simplify-our-tool-calling-agent-through-create_react_agent/", "published_at": "2024-10-12T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae1110227a", "title": "LangGraph: Improving Configuration Handling, esp. for Tools", "url": "https://snikt.net/blog/2024/10/11/langgraph-improving-configuration-handling-esp.-for-tools/", "published_at": "2024-10-11T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae118eb110", "title": "Work/Life Balance, pt. 3: Scheduling Work", "url": "https://snikt.net/blog/2023/11/11/work/life-balance-pt.-3-scheduling-work/", "published_at": "2023-11-11T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae11b1bdee", "title": "Work/Life Balance, pt. 2: Separation and Blurry Lines", "url": "https://snikt.net/blog/2023/10/28/work/life-balance-pt.-2-separation-and-blurry-lines/", "published_at": "2023-10-28T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae11e61541", "title": "Work/Life Balance, pt. 1: Prelude and Experiments", "url": "https://snikt.net/blog/2023/10/27/work/life-balance-pt.-1-prelude-and-experiments/", "published_at": "2023-10-27T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae124cd11b", "title": "Understanding Hackers' Work: An Empirical Study of Offensive Security Practitioners", "url": "https://snikt.net/blog/2023/08/23/understanding-hackers-work-an-empirical-study-of-offensive-security-practitioners/", "published_at": "2023-08-23T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae127f11c1", "title": "Getting pwn'd by AI: Penetration Testing with Large Language Models", "url": "https://snikt.net/blog/2023/08/17/getting-pwnd-by-ai-penetration-testing-with-large-language-models/", "published_at": "2023-08-17T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae1316f682", "title": "Using WSL2 to hide from EDR", "url": "https://snikt.net/blog/2023/01/27/using-wsl2-to-hide-from-edr/", "published_at": "2023-01-27T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae13719cb7", "title": "Active Directory: Using LDAP Queries for Stealthy Enumeration", "url": "https://snikt.net/blog/2023/01/25/active-directory-using-ldap-queries-for-stealthy-enumeration/", "published_at": "2023-01-25T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae146001b9", "title": "Enumerating User-Accessible Directories within Windows Network Shares", "url": "https://snikt.net/blog/2023/01/23/enumerating-user-accessible-directories-within-windows-network-shares/", "published_at": "2023-01-23T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae14aa2d4a", "title": "Trying my hand with hacking Active Directories with responder, mitm6, ntlmrelayx and crackmapexec", "url": "https://snikt.net/blog/2022/10/12/trying-my-hand-with-hacking-active-directories-with-responder-mitm6-ntlmrelayx-and-crackmapexec/", "published_at": "2022-10-12T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae14daa24a", "title": "Building a 4G/LTE router+accesspoint using hostapd, network-manager and modemmanager", "url": "https://snikt.net/blog/2022/02/11/building-a-4g/lte-router-accesspoint-using-hostapd-network-manager-and-modemmanager/", "published_at": "2022-02-11T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae15cb9443", "title": "What is AppSec anyways?", "url": "https://snikt.net/blog/2021/06/03/what-is-appsec-anyways/", "published_at": "2021-06-03T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae16068e16", "title": "Secure Software Development Lifecycle Basics", "url": "https://snikt.net/blog/2021/05/23/secure-software-development-lifecycle-basics/", "published_at": "2021-05-23T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae166719f3", "title": "HTTP Header Security", "url": "https://snikt.net/blog/2021/04/12/http-header-security/", "published_at": "2021-04-12T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae17665e90", "title": "Book Updates and Blog Posts..", "url": "https://snikt.net/blog/2020/12/08/book-updates-and-blog-posts../", "published_at": "2020-12-08T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae177f6d2a", "title": "Running OWASP Juice Shop with Root-the-Box on Google Cloud Platform", "url": "https://snikt.net/blog/2020/12/02/running-owasp-juice-shop-with-root-the-box-on-google-cloud-platform/", "published_at": "2020-12-02T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae182081d9", "title": "Create a new Ubuntu 20.10 Desktop without too much Ubuntiness.", "url": "https://snikt.net/blog/2020/10/13/create-a-new-ubuntu-20.10-desktop-without-too-much-ubuntiness./", "published_at": "2020-10-13T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae18665b99", "title": "Building a simple VPN with WireGuard with a Raspberry Pi as Server", "url": "https://snikt.net/blog/2020/01/29/building-a-simple-vpn-with-wireguard-with-a-raspberry-pi-as-server/", "published_at": "2020-01-29T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae18a9f82d", "title": "2019 redux, what to expect in 2020", "url": "https://snikt.net/blog/2020/01/01/2019-redux-what-to-expect-in-2020/", "published_at": "2020-01-01T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae19a7c414", "title": "Closing down my company", "url": "https://snikt.net/blog/2019/12/20/closing-down-my-company/", "published_at": "2019-12-20T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae1a58e452", "title": "Adding advertisement-filtering and spotify support to a Linux-based Access Point/Router", "url": "https://snikt.net/blog/2019/12/08/adding-advertisement-filtering-and-spotify-support-to-a-linux-based-access-point/router/", "published_at": "2019-12-08T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae1b36c355", "title": "FH-Lecture: Secure Operating Systems (SecOps)", "url": "https://snikt.net/secops/", "published_at": "2019-11-15T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae1b371004", "title": "Einführung in die Web-Security", "url": "https://snikt.net/websec/", "published_at": "2019-08-30T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae1b9c66a5", "title": "Hi, I Care About Security", "url": "https://snikt.net/about/", "published_at": "2019-08-30T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae1c626670", "title": "Building a secure torrent download station by combining Private Internet Access (PIA), OpenVPN and transmission through docker", "url": "https://snikt.net/blog/2019/08/05/building-a-secure-torrent-download-station-by-combining-private-internet-access-pia-openvpn-and-transmission-through-docker/", "published_at": "2019-08-05T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae1d1875bc", "title": "How to create a (good-looking) PDF and Kindle eBook from LaTeX", "url": "https://snikt.net/blog/2019/07/29/how-to-create-a-good-looking-pdf-and-kindle-ebook-from-latex/", "published_at": "2019-07-29T00:00:00+00:00" }, { "id": "01a087e2-c0ec-7366-89ba-e1ae1dadac42", "title": "LTE uplink for Raspberry Pi: Huawei E3372 vs Waveshare SIM7600E-H", "url": "https://snikt.net/blog/2019/07/05/lte-uplink-for-raspberry-pi-huawei-e3372-vs-waveshare-sim7600e-h/", "published_at": "2019-07-05T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953560688f1c", "title": "Books and influences of mine", "url": "https://snikt.net/blog/2019/06/26/books-and-influences-of-mine/", "published_at": "2019-06-26T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953560ead427", "title": "Building an LTE Access Point with a Raspberry Pi", "url": "https://snikt.net/blog/2019/06/22/building-an-lte-access-point-with-a-raspberry-pi/", "published_at": "2019-06-22T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953560fd7315", "title": "Switching a Xiaomi Mi Mix 2s to LinageOS (Android 9)", "url": "https://snikt.net/blog/2019/06/11/switching-a-xiaomi-mi-mix-2s-to-linageos-android-9/", "published_at": "2019-06-11T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953560fe55ca", "title": "Building an LTE Access point with OpenWRT Rooter", "url": "https://snikt.net/blog/2019/05/30/building-an-lte-access-point-with-openwrt-rooter/", "published_at": "2019-05-30T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-9535615467a5", "title": "To Fuzz a WebSocket", "url": "https://snikt.net/blog/2019/05/22/to-fuzz-a-websocket/", "published_at": "2019-05-22T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-9535617f01e6", "title": "JWT: Signature-vs-MAC attacks", "url": "https://snikt.net/blog/2019/05/16/jwt-signature-vs-mac-attacks/", "published_at": "2019-05-16T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953561e06872", "title": "On Reframing", "url": "https://snikt.net/blog/2019/01/07/on-reframing/", "published_at": "2019-01-07T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-9535620fe742", "title": "Amazing (Physical) Access Control with HID RFID cards", "url": "https://snikt.net/blog/2019/01/04/amazing-physical-access-control-with-hid-rfid-cards/", "published_at": "2019-01-04T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953562b7b454", "title": "This year's review, 2018 edition", "url": "https://snikt.net/blog/2018/12/31/this-years-review-2018-edition/", "published_at": "2018-12-31T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953562ec9743", "title": "Wireguard vs OpenVPN on a local Gigabit Network", "url": "https://snikt.net/blog/2018/12/13/wireguard-vs-openvpn-on-a-local-gigabit-network/", "published_at": "2018-12-13T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-9535637b07fb", "title": "Revising my lazy http/https interception setup", "url": "https://snikt.net/blog/2018/11/23/revising-my-lazy-http/https-interception-setup/", "published_at": "2018-11-23T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-9535639ca395", "title": "Living with changes", "url": "https://snikt.net/blog/2018/11/07/living-with-changes/", "published_at": "2018-11-07T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-95356479ba43", "title": "Fun Hacking Stuff ahead", "url": "https://snikt.net/blog/2018/10/23/fun-hacking-stuff-ahead/", "published_at": "2018-10-23T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-9535649737d6", "title": "GnuPG/PGP and Evolution/Seahorse Private Key Woes", "url": "https://snikt.net/blog/2016/12/01/gnupg/pgp-and-evolution/seahorse-private-key-woes/", "published_at": "2016-12-01T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-95356500a1cf", "title": "How (NOT) to hide OpenVPN behind HTTPS/SSL", "url": "https://snikt.net/blog/2016/12/01/how-not-to-hide-openvpn-behind-https/ssl/", "published_at": "2016-12-01T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953565fb8c00", "title": "Secret-sharing described by Prismacloud", "url": "https://snikt.net/blog/2016/02/27/secret-sharing-described-by-prismacloud/", "published_at": "2016-02-27T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953566616954", "title": "Firejail: Chroot on Speed", "url": "https://snikt.net/blog/2016/02/25/firejail-chroot-on-speed/", "published_at": "2016-02-25T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953566dff5c8", "title": "Low-hanging Security/Privacy for the Lazy 2016!", "url": "https://snikt.net/blog/2016/02/25/low-hanging-security/privacy-for-the-lazy-2016/", "published_at": "2016-02-25T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-9535670315a8", "title": "OSCP: Check!", "url": "https://snikt.net/blog/2016/02/07/oscp-check/", "published_at": "2016-02-07T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953567f7ede0", "title": "Network Concurrency Problem", "url": "https://snikt.net/blog/2015/11/13/network-concurrency-problem/", "published_at": "2015-11-13T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-9535681b2ee1", "title": "pathogen vs vundle", "url": "https://snikt.net/blog/2015/02/18/pathogen-vs-vundle/", "published_at": "2015-02-18T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953568e8e2d4", "title": "Capybara for automating Pen-Tests", "url": "https://snikt.net/blog/2014/09/09/capybara-for-automating-pen-tests/", "published_at": "2014-09-09T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953569a4778d", "title": "Migrating to Middleman", "url": "https://snikt.net/blog/2014/09/09/migrating-to-middleman/", "published_at": "2014-09-09T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-95356a78da90", "title": "Review: Penetration Testing with BackBox", "url": "https://snikt.net/blog/2014/09/09/review-penetration-testing-with-backbox/", "published_at": "2014-09-09T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-95356ab3a41c", "title": "Using a (host) reverse-proxy together with LXC application servers", "url": "https://snikt.net/blog/2014/04/25/using-a-host-reverse-proxy-together-with-lxc-application-servers/", "published_at": "2014-04-25T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-95356ba3100f", "title": "How to convert an KVM image into a LXC container", "url": "https://snikt.net/blog/2014/04/07/how-to-convert-an-kvm-image-into-a-lxc-container/", "published_at": "2014-04-07T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-95356c4f2f5c", "title": "How to use virt-install to install new virtual machines within libvirt/kvm", "url": "https://snikt.net/blog/2014/03/22/how-to-use-virt-install-to-install-new-virtual-machines-within-libvirt/kvm/", "published_at": "2014-03-22T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-95356d317036", "title": "Rogue Access Point and SSL Man-in-the-Middle the easy way", "url": "https://snikt.net/blog/2014/03/20/rogue-access-point-and-ssl-man-in-the-middle-the-easy-way/", "published_at": "2014-03-20T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-95356e2195b2", "title": "How-to setup a rogue access point with a transparent HTTP(s) proxy", "url": "https://snikt.net/blog/2014/02/24/how-to-setup-a-rogue-access-point-with-a-transparent-https-proxy/", "published_at": "2014-02-24T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-95356f190e1a", "title": "Politics: there seems to be no middle anymore", "url": "https://snikt.net/blog/2014/01/26/politics-there-seems-to-be-no-middle-anymore/", "published_at": "2014-01-26T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-95356fe3baaa", "title": "Luxury is Slavery", "url": "https://snikt.net/blog/2014/01/05/luxury-is-slavery/", "published_at": "2014-01-05T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953570089d17", "title": "Review and New Year's resolutions", "url": "https://snikt.net/blog/2013/12/31/review-and-new-years-resolutions/", "published_at": "2013-12-31T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-95357089897c", "title": "Cleaning Up", "url": "https://snikt.net/blog/2013/12/29/cleaning-up/", "published_at": "2013-12-29T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-9535717fb2ee", "title": "How to use FakeS3 for S3 testing", "url": "https://snikt.net/blog/2013/12/24/how-to-use-fakes3-for-s3-testing/", "published_at": "2013-12-24T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953571f69c36", "title": "Indulgence Galore!", "url": "https://snikt.net/blog/2013/12/24/indulgence-galore/", "published_at": "2013-12-24T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-9535729d8543", "title": "Linux: How to force an application to use a given VPN tunnel", "url": "https://snikt.net/blog/2013/10/20/linux-how-to-force-an-application-to-use-a-given-vpn-tunnel/", "published_at": "2013-10-20T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953572c49782", "title": "Git with transparent encryption", "url": "https://snikt.net/blog/2013/10/10/git-with-transparent-encryption/", "published_at": "2013-10-10T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-9535733d8060", "title": "Encrypted S3 storage filesystems", "url": "https://snikt.net/blog/2013/06/27/encrypted-s3-storage-filesystems/", "published_at": "2013-06-27T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953573ebe8cc", "title": "Secure Online Data Backup using Duplicity", "url": "https://snikt.net/blog/2013/06/27/secure-online-data-backup-using-duplicity/", "published_at": "2013-06-27T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-95357471eb56", "title": "Penetration testing", "url": "https://snikt.net/blog/2013/06/23/penetration-testing/", "published_at": "2013-06-23T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953575687bc7", "title": "Avoiding Internet/Network Surveillance", "url": "https://snikt.net/blog/2012/12/10/avoiding-internet/network-surveillance/", "published_at": "2012-12-10T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953576543336", "title": "Linux: How to encrypt your data on hard drives, USB sticks, etc.", "url": "https://snikt.net/blog/2012/12/02/linux-how-to-encrypt-your-data-on-hard-drives-usb-sticks-etc./", "published_at": "2012-12-02T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-95357667b7aa", "title": "Linux: How to forward port 3000 to port 80", "url": "https://snikt.net/blog/2012/11/18/linux-how-to-forward-port-3000-to-port-80/", "published_at": "2012-11-18T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953576fd9426", "title": "Postgres: Howto change owner for all tables", "url": "https://snikt.net/blog/2012/11/11/postgres-howto-change-owner-for-all-tables/", "published_at": "2012-11-11T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953577c82a92", "title": "Moving OctoPress to Amazon S3 and CloudFront", "url": "https://snikt.net/blog/2012/11/03/moving-octopress-to-amazon-s3-and-cloudfront/", "published_at": "2012-11-03T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-9535785c20f4", "title": "A full-powered shoebox-sized Desktop", "url": "https://snikt.net/blog/2012/10/28/a-full-powered-shoebox-sized-desktop/", "published_at": "2012-10-28T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-953578e08bac", "title": "The Lazy Engineer", "url": "https://snikt.net/blog/2012/10/28/the-lazy-engineer/", "published_at": "2012-10-28T00:00:00+00:00" }, { "id": "01a087e2-c0ed-72c9-9c4f-95357967d13e", "title": "Generating PDFs with wicked_pdf", "url": "https://snikt.net/blog/2012/05/01/generating-pdfs-with-wicked_pdf/", "published_at": "2012-05-01T00:00:00+00:00" } ] posts Claim your blog
Back to snikt.net
Blog · corpus.blog/blogs/snikt.net/posts

snikt.net

snikt.net

2025

2024

2023

2022

2021

2020

2019

2018

2016

2015

2014

2013

2012