<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: samsquire</title><link>https://news.ycombinator.com/user?id=samsquire</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 13:48:52 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=samsquire" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by samsquire in "Local-First and Ejectable"]]></title><description><![CDATA[
<p>Thanks for the interesting article.<p>Is anyone not just me hesitant to run their own servers? I think about patching and it becomes a full on devops job to set up something safe and stay on top of upgrades etc.<p>One idea Ive had is that if the web facing part of the software is just a form saver. It persists the form to disk for retrieval by the local-first server that I run on my laptop after pulling all records.<p>Would like to talk to persons about this topic: local first and low-maintenance service design SAAS<p>I wrote about an imaginary cloud service that would be about hosting forms for batch processing later this is similar to the workspace.zip in this article but this is used for the app itself.<p><a href="https://www.halfbakery.com/idea/Secure_20Form_20Endpoint_20Service_20(SFES)_20(Web_20framework_20in_20the_20cloud)#1704113170" rel="nofollow">https://www.halfbakery.com/idea/Secure_20Form_20Endpoint_20S...</a></p>
]]></description><pubDate>Mon, 17 Mar 2025 18:41:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=43391513</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=43391513</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43391513</guid></item><item><title><![CDATA[New comment by samsquire in "Some Programming Language Ideas"]]></title><description><![CDATA[
<p>I agree with you, I perceive it to be really difficult to change existing code to fit new things in. There's all interactions between things.<p>The source code of the widgets we use everyday - such as text editing or graphical editors are or your web browser's Javascript engine, are enormous.<p>'Just do X, too' is really difficult with what is already there.</p>
]]></description><pubDate>Tue, 25 Feb 2025 16:30:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=43173983</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=43173983</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43173983</guid></item><item><title><![CDATA[New comment by samsquire in "Append-Only Programming (2024)"]]></title><description><![CDATA[
<p>If you have a large body of existing code and you want to change its behaviour, you have to work out where to add your change, without breaking what already is there.<p>My thoughts in this is to somehow create a system where additional rules or changes to behaviour have marginal cost.<p>I am interested in the Rete algorithm, a rule engine algorithm. But we could run this sort of thing at compile time to wire up system architecture.<p>Boilerplate or configuration is an enormous part of programming and I feel there really could be more tools to transform software architecture.</p>
]]></description><pubDate>Fri, 21 Feb 2025 16:41:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=43129642</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=43129642</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43129642</guid></item><item><title><![CDATA[New comment by samsquire in "Small Tech (2020)"]]></title><description><![CDATA[
<p>Thank you for this post,
 I enjoyed it.<p>I like these kinds of posts, about wholesome satisfying work<p>I found a similar feed to HN on <a href="https://bearblog.dev/" rel="nofollow">https://bearblog.dev/</a> at <a href="https://bearblog.dev/discover/" rel="nofollow">https://bearblog.dev/discover/</a> that might be helpful for persons to find new posts that are interesting.</p>
]]></description><pubDate>Wed, 19 Feb 2025 09:44:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=43100370</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=43100370</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43100370</guid></item><item><title><![CDATA[New comment by samsquire in "Boring tech is mature, not old"]]></title><description><![CDATA[
<p>Thanks for your reply.<p>The JVM is a reliable stack. I used it at work on most projects.</p>
]]></description><pubDate>Wed, 12 Feb 2025 19:10:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=43028612</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=43028612</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43028612</guid></item><item><title><![CDATA[New comment by samsquire in "Boring tech is mature, not old"]]></title><description><![CDATA[
<p>Can someone reply me a mature stack that is extremely reliable and won't go away? That they're using.<p>I had frequently thought that I would prefer to maintain a batch system than an online system.</p>
]]></description><pubDate>Tue, 11 Feb 2025 22:49:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=43019379</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=43019379</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43019379</guid></item><item><title><![CDATA[New comment by samsquire in "It's time to make computing personal again"]]></title><description><![CDATA[
<p>where can I go to see the awesome things you're working on in your home personal computing?<p>I like the GitHub collected archives of "awesome" that is lists of things that persons have created or done<p><a href="https://github.com/sindresorhus/awesome">https://github.com/sindresorhus/awesome</a></p>
]]></description><pubDate>Mon, 20 Jan 2025 18:07:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=42771363</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=42771363</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42771363</guid></item><item><title><![CDATA[New comment by samsquire in "Why Twitter is such a big deal (2009)"]]></title><description><![CDATA[
<p>In early 2000-2007 I felt technology optimism (things like Digg, slashdot) about new websites and there was a hopefulness about new technology (file sharing) The spirit of new technology that "there is something new" and the "this is how things work from now on" (WAP websites, floppy disks, guest books, simple 1megabyte web hosting, geocities, fan sites, myspace, WhatsApp on cheap phones).<p>In other words, every new thing was something that may have been before but it was "this is how things work from now on". The platform defines and upholds the character of interaction. Twitter and Reddit do that and as pg highlights how twitter recipients is by algorithm. (From OP: "where you don't specify the recipients.")<p>I have fond memories of writing HTML from magazines and in the eras before me it was handwriting text games into BASIC interpreters.</p>
]]></description><pubDate>Sun, 19 Jan 2025 19:33:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=42760812</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=42760812</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42760812</guid></item><item><title><![CDATA[New comment by samsquire in "How I built this website on a Raspberry Pi"]]></title><description><![CDATA[
<p>I would like to benefit from big tech's security teams by hosting web forms and those various different kinds of site you suggest behind them and their teams! WAF + captchas + defence against bots I would rather not do the server handholding and hardening myself.</p>
]]></description><pubDate>Sun, 19 Jan 2025 08:01:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=42754926</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=42754926</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42754926</guid></item><item><title><![CDATA[New comment by samsquire in "Show HN: I made an open source directory of where to showoff your projects"]]></title><description><![CDATA[
<p>If you're looking for casual ideas what persons have ideas on then have a scroll through halfbakery.com they are inspired by problems that people foresaw.</p>
]]></description><pubDate>Thu, 16 Jan 2025 21:57:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=42731444</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=42731444</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42731444</guid></item><item><title><![CDATA[New comment by samsquire in "Understanding Memory Management, Part 1: C"]]></title><description><![CDATA[
<p>Thanks for such a detailed article.<p>In my spare time working with C as a hobby I am usually in "vertical mode" which is different to how I would work (carefully) at work, which is just getting things done end-to-end as fast as possible, not careful at every step that we have no memory errors. So I am just trying to get something working end-to-end so I do not actually worry about memory management when writing C. So I let the operating system handle memory freeing. I am trying to get the algorithm working in my hobby time.<p>And since I wrote everything in Python or Javascript initially, I am usually porting from Python to C.<p>If I were using Rust, it would force me to be careful in the same way, due to the borrow checker.<p>I am curious: we have reference counting and we have Profile guided optimisation.<p>Could "reference counting" be compiled into a debug/profiled build and then detect which regions of time we free things in before or after (there is a happens before relation with dropping out of scopes that reference counting needs to run) to detect where to insert frees? (We Write timing metadata from the RC build, that encapsulates the happens before relationships)<p>Then we could recompile with a happens-before relation file that has correlations where things should be freed to be safe.<p>EDIT: Any discussion about those stack diagrams and alignment should include a link to this wikipedia page;<p><a href="https://en.wikipedia.org/wiki/Data_structure_alignment" rel="nofollow">https://en.wikipedia.org/wiki/Data_structure_alignment</a></p>
]]></description><pubDate>Thu, 16 Jan 2025 12:16:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=42724271</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=42724271</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42724271</guid></item><item><title><![CDATA[New comment by samsquire in "Distributed Transactions at Scale in Amazon DynamoDB (2023)"]]></title><description><![CDATA[
<p>So one shot transactions can check if every timestamp in every write and item inside the transaction packet depends on data that is before the timestamp of that particular monotonic transaction timestamp?<p>And the pattern of including "check" transaction item is how we manually maintain data integrity (characteristic of Atomic in DBMS)<p>And we know which transactions are writing because they told us they wanted to write in the prepare phase (the part that the transaction manager handles separate from the one shot transaction information perspective from the client with its own communication between the transaction manager and storage nodes)<p>I implemented a toy dynamodb that is a trie in front of a hash map, it handles the "begins with" query style.</p>
]]></description><pubDate>Wed, 15 Jan 2025 15:08:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=42711648</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=42711648</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42711648</guid></item><item><title><![CDATA[New comment by samsquire in "Nix – Death by a Thousand Cuts"]]></title><description><![CDATA[
<p>I enjoy writing tools.<p>How do you feel about Kubernetes?<p>It would be good to have some interesting tasks to do?<p>I think the tools should do also much of the work. I actually prefer batch systems that are a simple execution of a program against a dump which are just process all the data and generate data with the new states than a networked online system that breaks all the time and due to DNS<p>Micro services keep me awake but a simple CSV processing I can fix in my own time.</p>
]]></description><pubDate>Tue, 14 Jan 2025 22:41:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=42704935</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=42704935</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42704935</guid></item><item><title><![CDATA[New comment by samsquire in "Proton: We're giving away over $1M to support a better internet"]]></title><description><![CDATA[
<p>We can all try make good content and share it but how would it be discovered?</p>
]]></description><pubDate>Tue, 14 Jan 2025 16:42:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=42699712</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=42699712</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42699712</guid></item><item><title><![CDATA[New comment by samsquire in "Debugging: Indispensable rules for finding even the most elusive problems (2004)"]]></title><description><![CDATA[
<p>One thing I have been doing is to create a directory called "debug" from the software and write lots of different files when the main program has executed to add debugging information but only write files outside of hot loops for debugging and then visually inspect the logs when the program is exited.<p>For intermediate representations this is better than printf to stdout</p>
]]></description><pubDate>Mon, 13 Jan 2025 20:52:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=42689090</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=42689090</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42689090</guid></item><item><title><![CDATA[New comment by samsquire in "Some programming language ideas"]]></title><description><![CDATA[
<p>Thanks for sharing your thoughts.<p>I am also agreeing that relational approach to in-memory data is a good, efffective thought.<p>I recently compiled some of my C code with the sqlite database and I'm preparing to think how the SQL model of my standard code could be used as the actual implementation language of in memory operations.<p>Instead of writing the hundredth loop through objects I just write a SQL query instead with joining with seeing the internal data representation of the software as an information system instead of bespoke code.<p>I was hoping to make it possible to handle batches of data and add parallelism because arrays are useful when you want to parallelise.<p>I was thinking, wouldn't it be good if you could write your SQL queries in advance of the software and then parse them and then compile them to C code (using an unrolled loop of the SQLite VM) so they're performant. (For example, instead of a btree for a regular system operation, you can just use a materialised array a bit like a filesystem so you're not rejoining the same data all the time)<p>I was thinking of ways of representing actors somehow communicating by tables but I do not have anything concrete for that.</p>
]]></description><pubDate>Thu, 09 Jan 2025 05:33:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=42641953</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=42641953</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42641953</guid></item><item><title><![CDATA[New comment by samsquire in "Show HN: Mashups – Resurrecting Yahoo Pipes, my side project"]]></title><description><![CDATA[
<p>Thanks for putting the work into this.<p>These kinds of software pipelines can be strangely satisfying to implement.<p>The development style of thinking of stream processing and online algorithms<p>It's also inspired by mapping and filtering and functional programming with flatmap.<p>It reminds me of factorio</p>
]]></description><pubDate>Tue, 07 Jan 2025 13:28:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=42622090</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=42622090</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42622090</guid></item><item><title><![CDATA[New comment by samsquire in "Self-Hostable Form Back End – OSS Alternative to Formspree"]]></title><description><![CDATA[
<p>Thanks for sharing.<p>I am curious: how low maintenance is this?<p>Is this something that can be hosted for long periods of time without security interventions and updates?<p>Is it fire and forget?</p>
]]></description><pubDate>Tue, 07 Jan 2025 12:32:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=42621726</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=42621726</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42621726</guid></item><item><title><![CDATA[New comment by samsquire in "Lord of the Io_uring (2020)"]]></title><description><![CDATA[
<p>This document helped me learn the io_uring API.<p>You can use io_uring with epoll to monitor eventfd to wake up your sleeping with io_uring wait for completions.<p>I have implemented a barrier and thread safe techniques that I am trying to turn into a command line tool<p>My goal is that thread safe performant servers are easy to write.<p>I am using bloom filters for fast set intersection. I intend to use Simd instructions with the bloom hashes.</p>
]]></description><pubDate>Mon, 06 Jan 2025 12:59:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=42610195</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=42610195</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42610195</guid></item><item><title><![CDATA[New comment by samsquire in "Learning Solver Design: Automating Factorio Balancers"]]></title><description><![CDATA[
<p>CPUs and railway signalling come to mind.<p>The low level uops (microops) of a CPU seem to be relevant.<p>Openttd is another example of a game where you can implement train signalling.</p>
]]></description><pubDate>Tue, 31 Dec 2024 11:35:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=42558105</link><dc:creator>samsquire</dc:creator><comments>https://news.ycombinator.com/item?id=42558105</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42558105</guid></item></channel></rss>