<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>abstract.properties</title><description>Sufian Rhazi's weblog</description><link>https://abstract.properties/</link><atom:link rel="self" href="https://abstract.properties/rss.xml"/><category>Software Engineering</category><language>en-US</language><pubDate>Mon, 21 Apr 2025 00:00:00 GMT</pubDate><lastBuildDate>Mon, 21 Apr 2025 00:00:00 GMT</lastBuildDate><ttl>3600</ttl><item><title>Antisocial Intelligence</title><description>If AI is good, why does it make me feel bad?</description><link>https://abstract.properties/antisocial-intelligence.html</link><guid>https://abstract.properties/antisocial-intelligence.html</guid><pubDate>Mon, 21 Apr 2025 00:00:00 GMT</pubDate><category>AI/ LLM/ Programming/ Software</category></item><item><title>Gooey internals: simplifying the graph</title><description>An upcoming change to Gooey's dependency graph</description><link>https://abstract.properties/gooey-graph-internals.html</link><guid>https://abstract.properties/gooey-graph-internals.html</guid><pubDate>Thu, 27 Mar 2025 00:00:00 GMT</pubDate><category>javascript/ gooey/ frontend engineering</category></item><item><title>Gooey internals: keyless lists</title><description>The key prop isn't necessary for rendering lists in frontend frameworks</description><link>https://abstract.properties/gooey-keyless-lists.html</link><guid>https://abstract.properties/gooey-keyless-lists.html</guid><pubDate>Mon, 17 Mar 2025 00:00:00 GMT</pubDate><category>javascript/ gooey/ frontend engineering</category></item><item><title>The Shadow DOM is in the front</title><description>It'd be easier to understand if it was the "Front Facade DOM"</description><link>https://abstract.properties/the-shadow-dom-is-in-the-front.html</link><guid>https://abstract.properties/the-shadow-dom-is-in-the-front.html</guid><pubDate>Thu, 21 Nov 2024 00:00:00 GMT</pubDate><category>shadow dom/ javascript/ programming/ recurse center</category></item><item><title>Operational burden is a choice</title><description>Being oncall 24/7 is a technical choice, does it need to be that way?</description><link>https://abstract.properties/operational-burden-is-a-choice.html</link><guid>https://abstract.properties/operational-burden-is-a-choice.html</guid><pubDate>Wed, 06 Nov 2024 00:00:00 GMT</pubDate><category>devlog/ programming/ recurse center</category></item><item><title>Devlog: dependency graph as architecture</title><description>How Gooey works as an architecture for applications</description><link>https://abstract.properties/devlog-dependency-graph-as-architecture.html</link><guid>https://abstract.properties/devlog-dependency-graph-as-architecture.html</guid><pubDate>Tue, 29 Oct 2024 00:00:00 GMT</pubDate><category>devlog/ programming/ recurse center</category></item><item><title>Devlog: a sketch of this application</title><description>A rough idea of what I'm building</description><link>https://abstract.properties/devlog-a-sketch-of-this-application.html</link><guid>https://abstract.properties/devlog-a-sketch-of-this-application.html</guid><pubDate>Tue, 22 Oct 2024 00:00:00 GMT</pubDate><category>devlog/ programming/ recurse center</category></item><item><title>Devlog: what is a module?</title><description>A module is a bit like a function, could both be manipulated in the same way?</description><link>https://abstract.properties/devlog-what-is-a-module.html</link><guid>https://abstract.properties/devlog-what-is-a-module.html</guid><pubDate>Mon, 14 Oct 2024 00:00:00 GMT</pubDate><category>devlog/ programming/ recurse center</category></item><item><title>JavaScript's upcoming Explicit Resource Management is great!</title><description>Disposing of things is about to get much easier</description><link>https://abstract.properties/explicit-resource-management-is-great.html</link><guid>https://abstract.properties/explicit-resource-management-is-great.html</guid><pubDate>Fri, 11 Oct 2024 00:00:00 GMT</pubDate><category>programming/ javascript</category></item><item><title>Devlog: week one</title><description>Let's start with regular updates on my project</description><link>https://abstract.properties/devlog-week-one.html</link><guid>https://abstract.properties/devlog-week-one.html</guid><pubDate>Mon, 07 Oct 2024 00:00:00 GMT</pubDate><category>devlog/ programming/ recurse center</category></item><item><title>Practice and smoothing</title><description>Thoughts on what practice is and what practice means for programming</description><link>https://abstract.properties/practice-and-smoothing.html</link><guid>https://abstract.properties/practice-and-smoothing.html</guid><pubDate>Tue, 01 Oct 2024 00:00:00 GMT</pubDate><category>practice/ programming/ piano/ music/ thoughts</category></item><item><title>Fall 2024</title><description>Starting the season of change with new software</description><link>https://abstract.properties/fall-2024.html</link><guid>https://abstract.properties/fall-2024.html</guid><pubDate>Mon, 16 Sep 2024 00:00:00 GMT</pubDate><category>updates</category></item><item><title>Why are the rules of hooks rules?</title><description>An exploration about why React hooks are awkward</description><link>https://abstract.properties/why-are-the-rules-of-hooks-rules.html</link><guid>https://abstract.properties/why-are-the-rules-of-hooks-rules.html</guid><pubDate>Mon, 05 Aug 2024 00:00:00 GMT</pubDate><category>React/ JavaScript/ hooks/ thought exploration</category></item><item><title>How this Website is Put Together</title><description>An overview of abstract.properties</description><link>https://abstract.properties/how-this-website-is-put-together.html</link><guid>https://abstract.properties/how-this-website-is-put-together.html</guid><pubDate>Tue, 30 Apr 2024 00:00:00 GMT</pubDate><category>Infrastructure/ Operations/ HTTP/ TLS/ nginx/ SMTP/ OpenSMTPD</category></item><item><title>Fool's Gold</title><description>Reflecting on a career in tech</description><link>https://abstract.properties/fools-gold.html</link><guid>https://abstract.properties/fools-gold.html</guid><pubDate>Sun, 17 Mar 2024 00:00:00 GMT</pubDate><category>Technology/ Silicon Valley/ Business/ Culture/ Sendio/ IMVU/ Etsy/ Slack/ copywriting/ travel</category></item><item><title>gpt.py</title><description>gpt.py is a minimal commandline application to query OpenAI</description><link>https://abstract.properties/gpt.py.html</link><guid>https://abstract.properties/gpt.py.html</guid><pubDate>Sat, 03 Feb 2024 00:00:00 GMT</pubDate><category>OpenAI/ ChatGPT/ python/ commandline</category></item><item><title>Subclassing Function in JavaScript</title><description>How to subclass a function in JavaScript and TypeScript</description><link>https://abstract.properties/subclassing-function-in-js.html</link><guid>https://abstract.properties/subclassing-function-in-js.html</guid><pubDate>Sat, 14 Jan 2023 00:00:00 GMT</pubDate><category>JavaScript/ TypeScript</category></item><item><title>TypeScript's useDefineForClassFields is Slow</title><description>A surprising performance regression for polyfilling spec-compliant field access</description><link>https://abstract.properties/typescripts-usedefineforclassfields-is-slow.html</link><guid>https://abstract.properties/typescripts-usedefineforclassfields-is-slow.html</guid><pubDate>Thu, 20 Oct 2022 00:00:00 GMT</pubDate><category>Programming/ TypeScript/ JavaScript/ Performance</category></item><item><title>Introducing Gooey</title><description>Gooey is a new, experimental web UI framework</description><link>https://abstract.properties/introducing-gooey.html</link><guid>https://abstract.properties/introducing-gooey.html</guid><pubDate>Fri, 07 Oct 2022 00:00:00 GMT</pubDate><category>Gooey/ JavaScript</category></item><item><title>TypeScript compile-time inference assertions</title><description>Using TypeScript 2.8 features to perform compile-time type inference assertions</description><link>https://abstract.properties/typescript-compile-assertions.html</link><guid>https://abstract.properties/typescript-compile-assertions.html</guid><pubDate>Thu, 10 May 2018 00:00:00 GMT</pubDate><category>Programming/ TypeScript/ Testing/ Metaprogramming</category></item><item><title>Interviewing in 2018</title><description>Reflecting on interviewing for senior IC/management positions</description><link>https://abstract.properties/interviewing-in-2018.html</link><guid>https://abstract.properties/interviewing-in-2018.html</guid><pubDate>Wed, 09 May 2018 00:00:00 GMT</pubDate><category>Programming/ Management/ Interviewing/ Software</category></item><item><title>Management: philosophy and expectations</title><description>What should you expect from me, and what should I expect from you?</description><link>https://abstract.properties/management-philosophy-and-expectations.html</link><guid>https://abstract.properties/management-philosophy-and-expectations.html</guid><pubDate>Fri, 02 Jun 2017 00:00:00 GMT</pubDate><category>management/ software/ leadership/ lessons learned</category></item><item><title>Management: what is it anyway?</title><description>What does a software engineering manager really do?</description><link>https://abstract.properties/management-what-is-it-anyway.html</link><guid>https://abstract.properties/management-what-is-it-anyway.html</guid><pubDate>Thu, 01 Jun 2017 00:00:00 GMT</pubDate><category>management/ software/ leadership/ lessons learned</category></item><item><title>Incentives and web browsers</title><description>What is funding the browsers we use?</description><link>https://abstract.properties/incentives-and-web-browsers.html</link><guid>https://abstract.properties/incentives-and-web-browsers.html</guid><pubDate>Sat, 04 Mar 2017 00:00:00 GMT</pubDate><category>Advertisements/ Web Browsers/ Privacy/ Software</category></item><item><title>Ten years in software: The value of a test</title><description>Reflections on the past ten years of my career: things I've learned. This lesson is about automated tests.</description><link>https://abstract.properties/ten-years-in-software--the-value-of-a-test.html</link><guid>https://abstract.properties/ten-years-in-software--the-value-of-a-test.html</guid><pubDate>Thu, 15 Dec 2016 00:00:00 GMT</pubDate><category>Software Engineering/ Programming/ Management/ Testing</category></item><item><title>Ten years in software: fear is the mind killer</title><description>Reflections on the past ten years of my career: things I've learned. This lesson is advice against fear.</description><link>https://abstract.properties/ten-years-in-software--fear-is-the-mind-killer.html</link><guid>https://abstract.properties/ten-years-in-software--fear-is-the-mind-killer.html</guid><pubDate>Mon, 31 Oct 2016 00:00:00 GMT</pubDate><category>Software Engineering/ Programming/ Management</category></item><item><title>Ten years in software: burnout is self inflicted</title><description>Reflections on the past ten years of my career: things I've learned. Here, I talk about my burnout.</description><link>https://abstract.properties/ten-years-in-software--burnout-is-self-inflicted.html</link><guid>https://abstract.properties/ten-years-in-software--burnout-is-self-inflicted.html</guid><pubDate>Sun, 23 Oct 2016 00:00:00 GMT</pubDate><category>Software Engineering/ Programming/ Management</category></item><item><title>Ten years in software: study other people's code</title><description>Reflections on the past ten years of my career: learn by studying other people's code</description><link>https://abstract.properties/ten-years-in-software--study-other-peoples-code.html</link><guid>https://abstract.properties/ten-years-in-software--study-other-peoples-code.html</guid><pubDate>Wed, 15 Jun 2016 00:00:00 GMT</pubDate><category>Software Engineering/ Programming/ Learning</category></item><item><title>Ten years in software: how to solve problems</title><description>Reflections on the past ten years of my career: things I've learned. The first lesson was profound: a method to solve any problem.</description><link>https://abstract.properties/ten-years-in-software--how-to-solve-problems.html</link><guid>https://abstract.properties/ten-years-in-software--how-to-solve-problems.html</guid><pubDate>Sat, 05 Mar 2016 00:00:00 GMT</pubDate><category>Software Engineering/ Programming/ Methodology</category></item><item><title>Exciting ES2015 Features</title><description>A dive into exciting features that aren't often talked about in ES2015.</description><link>https://abstract.properties/exciting-es2015-features.html</link><guid>https://abstract.properties/exciting-es2015-features.html</guid><pubDate>Thu, 14 Jan 2016 00:00:00 GMT</pubDate><category>Programming/ JavaScript</category></item><item><title>Generators and Tasks</title><description>How asynchronous programming can be written in a synchronous style using generators.</description><link>https://abstract.properties/generators-and-tasks.html</link><guid>https://abstract.properties/generators-and-tasks.html</guid><pubDate>Tue, 15 Sep 2015 00:00:00 GMT</pubDate><category>Programming/ JavaScript</category></item></channel></rss>