[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"topics":3,"posts:app-review::1:6:":62,"$fmAbo7HX1697lOJ4AVNBJl1PR7wUF0IkR_62krtbwQAE":140},{"data":4,"meta":59},[5,15,23,31,40,50],{"_id":6,"name":7,"description":8,"image":9,"imageAlt":10,"slug":11,"createdAt":12,"updatedAt":13,"uuid":14},"6a92c7892f7e20762f654f94","AI","Posts on AI in real product and engineering work: building AI-powered tools, using large language models for SEO and data platforms, and honest takes on where AI actually helps versus where it's overhyped.","https:\u002F\u002Fmsatbsx.sgp1.digitaloceanspaces.com\u002Fnewsai-2.jpg","AI flying to you!","ai","Sat Aug 29 2026 19:50:33 GMT+0800 (Singapore Standard Time)","Sat Aug 29 2026 20:18:46 GMT+0800 (Singapore Standard Time)","6f2f7079-c45c-4d74-b758-5419dd8755ee",{"_id":16,"name":17,"description":18,"image":19,"imageAlt":19,"slug":20,"createdAt":21,"updatedAt":21,"uuid":22},"6a92d5d26d3bae502260bcb4","CTO Show by TechVibe","Notes from the CTO seat - security, compliance, vendor relationships, build-vs-buy decisions, and the less glamorous parts of leading engineering that rarely make it into the highlight reel. All things given to Support TechVibe team.","","cto-show-by-techvibe","Sat Aug 29 2026 20:51:30 GMT+0800 (Singapore Standard Time)","afaf2020-622a-4b9c-961a-2e36d936230b",{"_id":24,"name":25,"description":26,"image":27,"imageAlt":19,"slug":28,"createdAt":29,"updatedAt":29,"uuid":30},"6a92d6156d3bae502260bcd3","Good Reads","Books Michal has actually read and would recommend to engineers and engineering leaders - from technical classics like Designing Data-Intensive Applications to leadership reads like Staff Engineer.","https:\u002F\u002Fmsatbsx.sgp1.digitaloceanspaces.com\u002Fnews\u002Fagainst.jpg","good-reads","Sat Aug 29 2026 20:52:37 GMT+0800 (Singapore Standard Time)","a9f75c75-c1b9-4637-b7ee-592babde3aae",{"_id":32,"name":33,"description":34,"image":35,"imageAlt":10,"slug":36,"createdAt":37,"updatedAt":38,"uuid":39},"6a92d78c6d3bae502260bdc3","Technology","A running log of tools, frameworks, and technical decisions Michal has actually used and formed opinions on - from React and Tauri to DevOps culture, database architecture, and API tooling.","https:\u002F\u002Fmsatbsx.sgp1.digitaloceanspaces.com\u002Fnewscity.mp4","technology","Sat Aug 29 2026 20:58:52 GMT+0800 (Singapore Standard Time)","Sat Aug 29 2026 21:03:33 GMT+0800 (Singapore Standard Time)","b9d2bf10-b22e-4afa-b778-2bb49d12a884",{"_id":41,"name":42,"description":43,"image":44,"imageAlt":45,"slug":46,"createdAt":47,"updatedAt":48,"uuid":49},"6a92dace6d3bae502260c000","CTO work","Notes from the CTO seat - security, compliance, vendor relationships, build-vs-buy decisions, and the less glamorous parts of leading engineering that rarely make it into the highlight reel. Plus bit of utopia in the topic image. ","https:\u002F\u002Fmsatbsx.sgp1.digitaloceanspaces.com\u002Fnewscto.jpg","CTO of the Future","cto-work","Sat Aug 29 2026 21:12:46 GMT+0800 (Singapore Standard Time)","Sat Aug 29 2026 21:13:06 GMT+0800 (Singapore Standard Time)","89273ffa-05fb-4e6d-bc6b-21fa593d4c8e",{"_id":51,"name":52,"description":53,"image":54,"imageAlt":55,"slug":56,"createdAt":57,"updatedAt":57,"uuid":58},"6a9373be6d3bae5022611315","DIY","Michal's own side projects and builds - desktop setup evolutions, Ace the chatbot, and small apps built for the fun of solving a real problem.","https:\u002F\u002Fmsatbsx.sgp1.digitaloceanspaces.com\u002Fnewsdiy.jpg","Do it yourself","diy","Sun Aug 30 2026 08:05:18 GMT+0800 (Singapore Standard Time)","ac6dffb6-41ee-41b0-8819-fed9ac1d26ca",{"totalnoOfItems":60,"perPage":61,"noOfItemsOnCurrentPage":60},6,24,{"data":63,"meta":138},[64,88,105,122],{"relatedTools":65,"_id":66,"id":67,"title":68,"alt":69,"category":70,"categorySlug":71,"date":72,"author":73,"readTime":74,"content":75,"image":76,"more":77,"extendedContent":78,"asHTML":77,"photoCredit":79,"headTitle":80,"metaDesc":81,"tags":82,"createdAt":84,"updatedAt":85,"uuid":86,"__v":87},[],"6a1685a9d40d531c026aa109","bruno-vs-postman-the-api-rebellion-begins","Bruno vs Postman: The API Rebellion Begins.","Bruno over corporate ","Hacks","hacks","2026-05-27T05:34:00.000Z","Michal",2,"Postman had a good run.\nBut somewhere along the way, an API client became a “platform”, then a workspace, then probably a lifestyle choice.\n\nMeanwhile Bruno￼ quietly showed up, stores collections in Git, works offline, opens instantly, and doesn’t ask me to log in just to send a GET request.\nNature is healing. (usebruno.com￼)","https:\u002F\u002Fmsatbsx.sgp1.digitaloceanspaces.com\u002Fnewsbruno.jpg","true","\u003Cp>I tried Bruno expecting another “Postman alternative”.\nInstead, it feels like someone rebuilt API tooling for developers who still remember files, folders and local apps. Revolutionary concept in 2026.\u003C\u002Fp>\n\n\u003Cp>No cloud sync drama. No mysterious team workspaces. Just plain text collections in Git and a client that starts faster than Postman loads its latest productivity popup.\u003C\u002Fp>\n\n\u003Cp>The funniest part about Bruno is that it doesn’t even try too hard.\nIts entire strategy seems to be: “what if API tools were simple again?”\u003C\u002Fp>\n\n\u003Cp>And honestly… after years of enterprise-grade bloat disguised as innovation, that’s disturbingly refreshing. \u003C\u002Fp>\n\n\u003Cp>Give it a try \u003Ca href=\"https:\u002F\u002Fwww.usebruno.com\">usebruno.com\u003C\u002Fa>\u003C\u002Fp>","Midjurney","Bruno, better API Client","Bruno is what happens when developers get tired of bloated API tooling. Fast, local, Git-friendly, and refreshingly free from enterprise nonsense.",[83,33],"App Review","Wed May 27 2026 13:48:25 GMT+0800 (Singapore Standard Time)","Sun May 31 2026 08:49:28 GMT+0800 (Singapore Standard Time)","6a650543-9742-4b7f-a3aa-62cc6e16ab32",0,{"relatedTools":89,"_id":90,"id":91,"title":92,"alt":93,"category":70,"date":94,"author":73,"readTime":74,"content":95,"image":96,"more":77,"extendedContent":97,"asHTML":77,"headTitle":98,"metaDesc":99,"photoCredit":73,"createdAt":100,"updatedAt":101,"uuid":102,"__v":103,"categorySlug":71,"tags":104},[],"6562a53411cb0a02ccb397d4","still-using-browser-as-default-browser","Still using browser as \"default browser\"?","Screenshot of Velja app.","2023-11-26T01:21:00.000Z","When managing multiple browsers on your device, it's advisable not to set a default browser. Instead, consider leveraging specialized apps that automate the process of opening links in your preferred browser. These apps can seamlessly handle link management or prompt you to choose the browser that suits your needs for each link.","https:\u002F\u002Fmsatbsx.sgp1.digitaloceanspaces.com\u002Fnews\u002Fvelja.jpg","\u003Ch2>Browser automation for easy web surfing.\u003C\u002Fh2>\n\u003Cp>Let's delve into a simple use case. I maintain two accounts on an error tracing tool—one for work and the other for my current personal project (which you're currently exploring). To manage these, I use both Chrome and Safari simultaneously. When I receive an email notification regarding an issue, I want a seamless experience where clicking the link directs me to the right account without any hassle. This is achievable by utilizing an application that works its magic in the background.\u003C\u002Fp>\n\u003Cp>Fortunately, there's a variety of apps available today that offer this convenient feature. Personally, for Mac users, my top recommendation is \u003Ca href=\"https:\u002F\u002Fsindresorhus.com\u002Fvelja\" target=\"_blank\" rel=\"noopener\">Velja\u003C\u002Fa> (about my previous choice - \u003Ca href=\"\u002Fpost\u002Fchange-your-default-browser\">Finicky, you can read in this post\u003C\u002Fa>). This tool allows for a user-friendly setup of rules, enabling you to effortlessly manage which browser opens your links. \u003Cp> \n\u003Cimg src=\"https:\u002F\u002Fmsatbsx.sgp1.digitaloceanspaces.com\u002Fnews\u002Fvelja-rules.jpg\" alt=\"Velja rules screenshot\">\n\u003Cp>Additionally, you have the option to set a 'prompt' as the default choice. This means that each time you click a link, a prompt will appear, allowing you to manually select the preferred browser.\u003C\u002Fp>\n\u003Cimg src=\"https:\u002F\u002Fmsatbsx.sgp1.digitaloceanspaces.com\u002Fnews\u002Fvelja-prompt.jpg\" alt=\"Velja prompt screenshot\">\n\u003Cp>Notably, this app is not only stable but also conveniently \u003Ca href=\"https:\u002F\u002Fapps.apple.com\u002Fus\u002Fapp\u002Fvelja\u002Fid1607635845?mt=12\">available on the App Store\u003C\u002Fa>, and surprisingly, it's free of charge. While it won't cost you a dime to enhance your browsing experience, I highly recommend considering a small donation to the app's author, Sindre Sorhus, as a token of appreciation for their valuable contribution.\u003C\u002Fp>","Why you should Velja as default browser.","Manage multiple browsers without a default: use apps to automate link opening, and choose the browser that fits your needs for each link. ","Sun Nov 26 2023 09:53:56 GMT+0800 (Singapore Standard Time)","Fri Dec 08 2023 09:53:52 GMT+0800 (Singapore Standard Time)","f1a0debb-e182-4f70-9a71-a05525ec2031",1,[83],{"relatedTools":106,"_id":107,"id":108,"title":109,"alt":110,"category":70,"date":111,"author":73,"readTime":74,"content":112,"image":113,"more":77,"extendedContent":114,"asHTML":77,"headTitle":115,"metaDesc":116,"photoCredit":117,"createdAt":118,"updatedAt":119,"uuid":120,"__v":103,"categorySlug":71,"tags":121},[],"644a650a774c389bc4de01b8","change-your-default-browser","Change your default browser!","full screen browser on  laptop","2023-04-27T12:03:00.000Z","Are you a tech-savvy Mac user? Then you'll love this solution: change your default browser to an app that's not even a browser at all! Let me explain the problem: when you receive incoming messages with links, you want to be able to open them easily by clicking, but sometimes you'd like certain links to open in Chrome (like Google Meet) and others in Safari (like Medium.com). Read further to learn how to do this.","https:\u002F\u002Fmsatbsx.sgp1.digitaloceanspaces.com\u002Fnews\u002Flaptop-browser.jpg","\u003Ch2>Setup is easy. At least for geeks ;)\u003C\u002Fh2>\nInstal Finicky App:\u003Cbr>\n\u003Cpre>\nbrew install --cask finicky\n\u003C\u002Fpre>\ncreate your configuration file at ~\u002F.finicky.js\u003Cbr>\nbelow you have my first experiments. \n\u003Cpre>\nmodule.exports = {\n  defaultBrowser: \"Safari\",\n\n  handlers: [\n    {\n      match: [\n        \"apple.com*\", \n        finicky.matchDomains(\u002F.*\\.apple.com\u002F)\n      ],\n      browser: \"Safari\"\n    },\n    {\n      match: [\n        \"google.com*\", \n        finicky.matchDomains(\u002F.*\\.google.com\u002F)\n      ],\n      browser: \"Brave Browser\"\n    },\n    {\n      match: [\n        \"atlassian.net\u002F*\", \n        \"*.atlassian.net\u002F*\", \u002F\u002F match subdomains\n      ],\n      browser: \"Google Chrome\"\n    }\n    ,\n    {\n      match: [\n        \"miro.com\u002F*\",\n      ],\n      browser: \"Google Chrome\"\n    },\n    {\n      match: [\n        \"127.0.0.1\u002F*\"\n      ],\n      browser: \"Brave Browser\"\n    }\n  ]\n}\n\u003C\u002Fpre>\nLast part is set default browser to Finicky at System Settings > Desktop & Dock > Default web browser (in Ventura, older OSX version have a bit different places). \nDone. With the example below, you'll open local addresses in Brave, Google, Miro and Atlassian in Chrome, others in Safari. This is only the tip of an iceberg. It is JS, you can go way further with custom conditions!\u003Cbr>\nLearn more about Finicky \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjohnste\u002Ffinicky\" target=\"_new\">here\u003C\u002Fa>","Change your default browser to Finicky","Tech-savvy Mac users, learn how to open certain links in Chrome & others in Safari by changing your default browser. Not to a browser at all!","Unsplash\u002FMichal","Thu Apr 27 2023 20:05:30 GMT+0800 (Singapore Standard Time)","Mon Dec 04 2023 19:44:45 GMT+0800 (Singapore Standard Time)","cc6ce5f3-d805-4515-86e5-b77ef2be0cf4",[83],{"relatedTools":123,"_id":124,"id":125,"title":126,"image":127,"alt":128,"date":129,"author":73,"readTime":103,"content":130,"__v":103,"category":70,"headTitle":131,"metaDesc":132,"more":77,"photoCredit":133,"updatedAt":134,"uuid":135,"categorySlug":71,"asHTML":77,"extendedContent":136,"tags":137},[],"6365bc1aced76de78f1603e5","raycast","Be more productive with Raycast.","https:\u002F\u002Fmsatbsx.sgp1.digitaloceanspaces.com\u002Fnews\u002Fraycast.jpg","Raycast app","2022-11-04T16:00:00.000Z","Mac user? Do you remember Alfred? It was a groundbreaking tool, best parts of it Apple has copied into Spotlight. Now is the time of Raycast, similar but modern. With JS plugins, it is trivial to create or download from the marketplace. Makes your Mac enjoyable again.","Loved Alfred? Switch to Raycast! ","Mac user? Remember Alfred? Apple copied its best parts into Spotlight. Now try Raycast: modern, JS plugins, easy to create\u002Fdownload from marketplace.","https:\u002F\u002Fwww.raycast.com","Mon Dec 04 2023 19:46:44 GMT+0800 (Singapore Standard Time)","d38bde12-445b-406e-81b5-aeec07177864","\u003Ch2>Raycast is easy to extend\u003C\u002Fh2>\n\u003Cp>What sets Raycast apart is its compatibility with JavaScript web developmnet, making customisation a breeze for each JS engineer. Whether you're creating bespoke functionalities or exploring a rich marketplace, the power to tailor your Mac experience is at your fingertips. Rediscover the joy of using your Mac with Raycast—where innovation meets user-friendly design, elevating your daily interactions with your device.\u003C\u002Fp>",[83],{"totalnoOfPosts":139,"page":103,"perPage":60,"noOfPostOnCurrentPage":139},4,{"enabled":141},true]