blog

Samuel Squire

I’m a devops software engineer with skills in Python, Java, Javascript, Terraform and C.

You can email me [email protected]

Some highlights of what I am building: My blog is underneath this table. My code is usually Zero Clause BSD licenced unless it incorporates other people’s code.

Project Description Link
Automated Assembly Program Synthesis (Python) I implemented the A* algorithm and run it in parallel to do code generation to automate the synthesis of programs between states. samsquire/sliding-puzzle-codegen-memory
JIT compiler (C & machine code) Assembly expression compiler (Python) An amd64/x86-64 JIT compiler for a Javascript-like language and a Python expression compiler samsquire/compiler
Interactive Document editor (Javascript, nodejs, Pouch, Ruby, Python) An interactive environment for writing documents that are inter-referential screenshots samsquire/liveinterface project samsquire/live-interface
Pipelined Graphical Build server and GUI (React, Python, Kubernetes, Hashicorp Vault/Consul/Packer, Prometheus, Kibana) A command line tool with GUI for bringing up environments with Terraform https://devops-pipeline.com/ (homepage) samsquire/mazzle samsquire/mazzle-starter
Register allocation (Python) A register allocator in Python using a graph colouring and precolouring algorithm. samsquire/register-allocation2
C Parser An incomplete parser for the C programming language samsquire/c-parser
Multithreaded nonblocking barrier runtime (C) A C program that runs tasks in threads without locks for high throughput samsquire/assembly
Multithreaded ringbuffer (C) An multithreaded ringbuffer written in C inspired by LMAX Disruptor that sends messages between threads without locks. samsquire/assembly
Distributed pseudomultimodal (SQL/Graph/Document/DynamoDB-like) Database (Python, Flask) A toy multimodal distributed database that uses Rockset converged indexes samsquire/hash-db
3-way text diff (Python) A 3-way text differ based on Myers algorithm samsquire/text-diff
Eventually consistent replication protocol (Python) A epoll based Python server that asynchronously replicates samsquire/eventually-consistent-mesh
Journal #1: 100 Ideas for Computing A journal of ideas for computing samsquire/ideas
Journal #2: Another 85+ Ideas for Computing #2 A journal of ideas for computing samsquire/ideas2
Journal #3: An Extra 100 Ideas for Computing #3 A journal of ideas for computing samsquire/ideas3
Journal #4: Additional 100 Ideas for Computing #4 A journal of ideas for computing samsquire/ideas4
Journal #5: Ideas for Computing A journal of ideas for computing samsquire/ideas5
Blog: tech blog A blog of thoughts samsquire/blog

my blog

Samuel Squire’s personal tech blog

03/10/2023 LLMs order

Ordering in a neural network is interesting.

08/09/2023 There isn’t a single technical product for social media scalability

24/08/2023 The price is the product

16/08/2023 Costs and scaling and ratios

09/08/2023 Expedited payments

09/08/2023 I wonder if SSH streams are slowing down ansible?

I don’t know if Ansible uploads code and runs it unrestricted by stdout/stdin streams connected by TCP or if the buffering of the network protocol in the way blocks Ansible from running code at native speeds.

29/06/2023 Customer support apps

Without thinking of graphical user interfaces, user experience designers should decide on the verbs that I can do with my account and provide these in an app, on a phone, live chat, or website.

29/07/2023 Multi apply

When applying for jobs, it would be nice to apply through a centralised system that tracks our progress on each job at the same time.

19/07/2023 Desired outcome generation

Why is it that to get something done it requires a person to understand the steps and there’s always a form that isn’t digitised that needs scanning and sending?

Subscription payments, banks can do that

Taking payments should be easy

08/07/2023 Searching vector space for unrepresented ideas

I wonder if it’s possible to find unrepresented ideas in vector space and then map them to tokens? Rather than use a prompt to search vector space, generate interesting prompts from vector space that are unexplored, unrepresented by existing tokens.

08/07/2023 If it doesn’t do good for everybody, then should it be done?

27/06/2023 Unacceptable states and rule violation

I feel we need a unit test that tests that everyone has what they need and if a change would prevent that being true. Like a check list that prevents undesirable states from occurring.

Simple statements about what should always be true and the steps to take to reverse what is preventing something being true.

26/06/2023 It would make sense if it was renamed

The /usr directory in Linux.

24/06/2023 Just create landing pages

Describe imaginary technology - hope someone builds it.

23/06/2023 What’s going to last?

Linux, Postgres.

21/06/2023 Tragedy of software developers and companies

It’s upsetting that good ideas fall by the wayside. Take the Java Virtual Machine for example. It runs everywhere! It solves cross platform for you, but there are very few develop desktop applications for it.

19/06/2023 Elegance is a simple way of describing what you want to be done

19/06/2023 Going too deep on an diminishing returns/ineffective/knowledge kingdom idea

When thinking of new things you can either go deep or broad. If you go broad, you can cover a lot of shallow ground. If you go deep, you can learn insights that reveal new ground you didn’t see before. In the computer industry, we learn new abstractions and build upon abstractions, but sometimes there is an idea where people go very deep and there is diminishing returns or the idea wasn’t that good to begin with. People create kingdoms of what they understand and build upon what they understand as intuitive. We are all different in what we understand, at different levels of understanding.

In Haskell, we replace the the complexity of the concrete with the complexity of the abstract. Is it superior or just different?

14/06/2023 The web’s attention is divided and fragmented

The web feels very different from how it felt in the 2000s. People are split between different websites, mobile applications and different social media and social networks.

12/06/2023 - Writing a JIT compiler is EASIER than frontend development

12/06/2023 - That’s important to me

12/06/2023 Distributed systems are easier with State Machine formulation

12/06/2023 Low-tech GitHub communities

I am encouraging you to create a GitHub repository for the following topics:

12/06/2023 Installing, Visiting, Buying should feel good

Buying a product or service should feel good and feel satisfying, like you gained something of value, worth more than what you paid. Most websites don’t have this property.

Would you pay for Google? Facebook? TikTok? People spend all their attention on these applications but not their money.

Going to a website should feel valuable. I remember when growing up I was on holiday and I helped a couple create a Hotmail account in the hotel computer room. It felt valuable to have a Hotmail account. I remember when Tripod and AngelFire were a thing, free webspace was a thing, it felt valuable.

10/06/2023 We need to talk about monetization

How can you charge money before you’ve demonstrated value?

I don’t like the Internet attitude that someone else should pay for it or that it should always be free. If something is free, you’re relying on the donation or investment of someone else’s time and resources. That’s not sustainable.

There’s a shelf life for free things and it’s not forever.

On the internet, I feel people don’t like monetization, it tends to deteriorate experiences. A mass of people represents a fire hose of users spending, attention and data: that is extremely valuable. It’s just poorly directed at where it can do the most good. If you try harvest it, that disrupts it.

Everybody has costs. A very small website costs at least $3 a month. People enjoy using services for free and are extremely fast to abandon when the site or app begins to become non-free. That $3 website can handle at least 100 simultaneous concurrent users.

In the open source world, people expect open source developers to do what they want them to do, not allow the open source developer to do what they want.

Monetization makes things worse, but it doesn’t have to.

08/06/2023 NixOS and Guix are stamp collecting

Why are we building the same abstractions of packaging again and again, repeating the build process for slightly different operating systems?

06/06/2023 The computer industry has gone the way of the hifi industry

High fidelity stereo was something many people were invested in but now it has become a niche hobby. The same is happening to desktop computers.

02/06/2023 Standards are high in aggregate but individual contribution standards are low

Businesses want someone with 15 years experience for something that has only existed for 10. The standards of Job Descriptions are very high. They represent a “T” shaped person, someone who is good at everything. Teams are asked what kind of person are they looking for and they get the perfect description of someone good at everything.

02/06/2023 Each abstraction brings its own problems or added complexity

01/06/2023 When a language is insufficiently advanced for what you want to do, most devs push through

01/06/2023 Carrying capacity of monetization

01/06/2023 Haskell and relationship trees

01/06/2023 OpenValuation and KeepAlive

31/05/2023 Isolated Ecosystems are size limited based on the amount of work that needs doing

Each programming language ecosystem is limited in its size because of the amount of work that needs doing to support it. Each language brings its own orthogonals of interactions between its type system, garbage collection, the stack, semantics. It’s easier to create a language than read the implementation of someone else’s.

26/05/2023 Large language models understand every detail of your architecture

26/05/2023 Game mechanic - it works for a while

22/05/2023 Call stack logging is awesome

Callstack logging is awesome

https://callstacking.com/ is awesome

22/05/2023 Neural networks and LLMs are function discovery for human words

It must be obvious to others, but neural networks discover functions through relationships.

14/05/2023 Everyone has their own Frameworks

It would seem that everyone has their own way of thinking about problems and solving problems. We see many frameworks that are particular ways of looking at things.

14/05/2023 The problem with searching for a beautiful elegant solution

05/05/2023 If you look at IT history you can see that many ideas didn’t turn out as intended

03/05/2023 One large problem in IT is how to rate control your spending on IT

If you have no money coming in, how can you do things properly? You don’t have resources to buy servers, rent servers.

03/05/2023 I want to see a big tech giants do business software

The Amazon AWS strategy of adding services and standardising them on state of the art platform is really interesting. This model should be picked up by other big tech giants.

21/04/2023 We need an Large Language Model for software architecture

Large Language Models can transform and manipulate tokens meaningfully because they understand the relationships between vectors. They can explore vector space of concepts semantically.

Now we need to represent potential software models with a LLM and then be capable of transforming them. Imagine being capable of transforming your software architecture with a prompt?