Showing posts with label desk work. Show all posts
Showing posts with label desk work. Show all posts

2026-03-21 at

frontend architecture : napkin draft

 Frontend architecture drafts are coming together. On today's walk,

  • 1. At the ORIGIN server, the TREE-manifest of application assets should be granularised to the CODE BLOCK, for styles, scripts, and markup.
    • 1.1. This allows INDEXING OF EACH function body, style rule, and document fragment, enabling de/serialisation a.k.a. de/hydration of client application state, including client application logic as state.
    • 1.2. That, then allows including NESTED CACHING of markup.
    • 1.3. And, that allows for the highly distasteful, but occasionally useful, practice of totally modelling the USER's client state, via [ server-side rendering, SSR ] of both [ entire documents ], and [ document fragments ].
    • 1.4. Server and client shall exchange data on latency, server shall default to laziness ( preferring client-side rendering, CSR ), client may object, and server may respond to various degrees, ultimately taking over all work and performing SSR.
  • 2. Client HTML app root functions as a broker
    • 2.1. ... managing all requests to servers,
    • 2.2. ... managing all DOM manipulations,
    • 2.3. ... registering web components,
    • 2.4. ... and, maintaining ( some degree of ) application state.
  • 3. Web components
    • 3.1. ... contain markup, styles, and logic, but no business data
    • 3.2. ... upon registration (2.3.), if data is required, will request it from broker (2.1.), and if DOM manipulations are required, will request those also (2.2.), possibly combining both into atomic transactions to be guaranteed by the broker.
  • 4. Mutation Observer API : enables C++ implementations of communication between components and broker. 
    • 4.1. It's not even necessary to propagate DOM events along the huge branches of markup, because markup is only an end-product after rendering. 
      • 4.1.1. The number of app components is far lesser than the number of markup elements, and it is possible to have a small, detached node tree, representing components without markup, which comes out of the box with the propagation behaviours of events between leafs and root.
      • 4.1.2. Even without a small detached node tree to model components without markup, it is possible to simply pass to each component and the broker, pointers to each component and the broker, so that they can all inbox each other directly without using the messaging medium of DOM event propagation along the giant markup node tree ( though the latter is initially useful, for passing the direct pointers to each other ).

... this design probably implies a lot of bugs I haven't though about.

But I did think it would be cute, since the test is called Jonwik ( because it's not Qwik ), to call the broke Charon.

2026-03-14 at

Redundant ways to use AWS Lambda

Local test enviroments : 

  • (ServerlessApplicationModelSAM), 
  • (ServerlessFramework|SLS)
SAM uses (RuntimeInterfaceEmulator|RIE), SLS uses ... buttfuckall, no one has a name for it, it's not RIE, but it does the same thing.

Alternatives are LocalStack, et al.

Deployment tools :

  • SAM, 
  • SLS, 
  • (CloudDevelopmentKit|CDK), 
  • (CloudFormation|CF) 
... they are all wrappers for CF ... and CF is just a wrapper for the AWS API, so the most minimalist approach turns out to be to script against the AWS API directly. 

Alternatives are Terraform, Ansible, et al.

2026-03-12 at

IAM policy grammar, and the { subject, { predicate, object } } triple

Ok, I figured out what is unclear about AWS IAM policy grammar. It is about the implementation of the { subject, { predicate, object } } triple /triplet /3-tuple.

  • BASIS : 
    • Policies are written as a predicates, which means they lack a subject. When policies are attached to a subject, a.k.a. a principal, the policies-as-predicate are interpreted in the context of that principal-as-subject.
    • ISSUE ARISING : 
      • Without knowing the subject of a policy-as-predicate, it's not apparent what the policy-as-predicate is about.
  • BASIS : 
    • Policies-as-predicates must specify resources-as-objects.
    • ISSUE ARISING : 
      • Some policies-as-predicates specify the object key, "principal", which indeed specifies an authorised subject, however again it is not explicit what the predicate and its object are. Of course, by skipping steps of logic, it turns out that intuitively the current policy is a policy-as-predicate, and the specified principal is a principal-as-subject, indeed it is a principal-as-both-subject-and-object.






2025-06-26 at

Unsupervised Learning is mainly good for Feature Detection

Unsupervised learning is useful for low-level wetware emulation ... feature detection, signal recognition, etc. 

However, most of what we call civilisation and social life, depend on higher-level constructs which are maintained by supervised learning in humans, so it is only reasonable that we should teach anthropomorphic machines using the same methods which we already apply to humans.

I can never understand people who believe it is more efficient to do otherwise - though I would be happy to consider proofs.

( Updated my vocabulary today, with 'feature' and 'blackboard' : for concepts which I am already quite familiar with. ) 

Discussion : 

  • 2026-06-24 : I've generally been of the view that USL is inefficient for small things because that's just not how humans are educated. A refinement of that view is that USL/SSL captures how meat brains learn, but that's pretty low-level. Higher-level culture is built upon that, and relies on things that are rather much like logic programming and SL. IDK - maybe I'm just wrong about all of this.

2025-06-25 at

Using AI : in force multiplication via coaching

So, when I work with junior staff, and some higher ups ... I would typically be sitting next to them and pointing out the basic inefficiencies like posture, sequence of operations, and angle of attack of specific tasks. 

AI assistants really can't do better than this ... so using them in any OTHER way is basically an antipattern. This, I think, is the simplest way to explain how AI is a force multiplier : it displaces the human coach which used to sit with you as a force multiplier.

( Literally, same issues as people graduate to more senior / larger tasks. Starting with things like how to type, and how to clear emails quickly, how to build decks, how to analyse financial statements, how to visualise data, how to find legal governance loopholes, how to manipulate consumers, how to manage team hierarchies, how to architecture distributed systems, etc. etc. )




2025-06-24 at

Vomit Diving

Studying the body of human literature as a whole, is like swimming in a river of vomit. Most of what is written is trash. Some of what is written in internally coherent. Many things which could be coherent, are not yet strung together. It is the last bit which I am mainly concern myself with.

College was a great time to started on this. Then I put it on the bench for 18 years and now I must drown myself again in this river of shit.

Today : there are about half-a-dozen leading maths proof assistants, and maybe two score systems worth mentioning. And no standard interchange format. What the fuck is this ...

2025-06-21 at

Perhaps I am over-optimistic about the value of performance

Spending more time on Threads and LinkedIn in 2025, as I work solo at my desk. I realise that a lot of people are anxious about jobs, and career progression.

Maybe I am a horrible interviewee/pitcher because I've never viewed employment as a highly desirable objective. My approach to life has been that minimum wage is good enough, and I am overqualified for minimum wage, so there will always be jobs there. 

Before the AI renaissance, there was also always the option to teach, which I never activated - I think in the future, we should continue to expect that the premium on human interaction is not because of human skill ( which will never be competitive with machine skill in the long run ) but because of sentimental value between humans.

So maybe after all, the world's oldest profession has its place. But even that will be adjusted over time as sex bots become indifferentiable from human sex workers. I have been optimistic about the impact that sex bots and artificial wombs will have on civilisation. But I am not sure that I will see it happen - it is possible within 5-20 years, but politics always slows things down.

Why hire a human? Sheer performance value. That is why we go to cafes etc.

2025-06-15 at

The iteration of imperfect lives

  • In friendship ( or therapy ) we iteratively use imperfect thoughts to fix themselves.
  • In civilisation ( or government ) we iteratively use imperfect policies to fix themselves.
  • In science ( or epistemology ) we iteratively use imperfect concepts to fix themselves.
  • In scholarship ( or academia ) we iteratively use imperfect history to fix itself.
Such is our commitment to dogfood.

2025-05-25 at

Entering my "Compilers" Phase

I enjoy working on complex projects. ( The trendy term for these may be moonshots. ) At 42, my short-term project to learn about compiler architecture. 

If you know anything about compilers, you know this is RIDICULOUS. I actually have no idea at what point I'll stop digging into it, though it's likely that I will have to stop at some point. The only thing that comforts me, is my experience in approaching problems with an unfamiliar solution domain. 

In college, from 2002 to 2004, I had two interesting results. 

  • 1. I obtained a birds-eye view of the history of ideas, ALL ideas, and how they had been documented, and taught, over the history of earth. While impossible to be comprehensive, it was surprisingly interesting to gain this perspective.
  • 2. I figured out how to quantify every moment of my conscious experience, and thereby exhausted nearly all my curiousity about its structure. While I had been systematically checking this question since around 2000, I didn't actually expect to reach a conclusion so soon.

After that I immersed myself in more mundane environments, and even there, some interesting projects emerged. Particularly, I have a story about six years in a 24-hour coffee shop, but not here. So back to that short-term project I mentioned ... compilers.

My mid-term project is to build a sort of comprehensive software documentation tool for my studies, integrating literate programming, all of web architecture, and perhaps tools to be acquired via the aforementioned short-term project. My long-term project, since 2005 has been to get around to studying math, but there is no urgency whatsoever about this, as it all fundamentally boils down to killing whatever time I have had left, in an entertaining fashion.

Egad.


2025-04-01 at

AGI vs Software Development

 It's now trendy to talk about AI replacing programmers.



  • 1. I do believe that AGI will EVENTUALLY outperform meatworks in all aspects of intelligence : pedagogy, spiritual transformation, psychological therapy, art, design of systems, engineering implementation, etc.
  • 2. However, we're still quite some ways from that. 
  • 3. Particularly, we're still quite some ways from AGI doing "computer, software, design, and engineering", end-to-end. 




The reason for this ironic : human documentation of both systems requirements / demand, and system fundamentals / supply, lags behind human development of the same. ( This is an oft-repeated joke among project managers who say AI can't deliver anything that humans can't specify properly. )




Eventually however, specifications for systems will become more and more machine-readable on both ends of the stack : both underlying architectures, and what builds upon them, and what human users ultimately want.




It's just something we have to KIV as we continue to go about the huge pile of semi-documented operations in this field, for a few more years, maybe even a few more decades.

2024-07-15 at

Always design for imbeciles

Some people are born with imagination - others less so. Nature, or nurture, provides one with a certain degree of control over The Imagination ( TI ). TI broadly refers to two sorts of things, or two aspects of a complex thing : 


1. mutation : the ability to permutate, ( 1a ) abstract ideas using semantic handlers, or ( 1b ) concrete imagery in various sense modalities ( sight / sound / smell / etc. ).


2. conscious simulation : this is actually upstream from and facilitates 1b  ... the capability to consciously appraise a sensory-spatio-temporal model inside one's brain, without receiving any corresponding stimulation from an objective source via the peripheral nervous system ( PNS ).


It turns out that "TI2" varies widely in people, and is a popular academic and party conversation topic. But today I want to write about how it applies to the design of built-environments.


## Your Friends Who Care About Prettiness

People with limited TI2 capabilities simply think about what their TI is able to trace, over the "live data stream" from their peripheral nervous system. If you change the inputs to their PNS, you have changed their mind. This sort of person is therefore more sensitive to their PNS - they are also the sorts who are emotionally affected by order and disorder in their PNS streams.


## Your Friends Who Apparently Care Less

People with greater TI2 capabilities are about to significantly modify their conscious experience, just by wishing it to be different. As with all other people, their brains have to trace over and process raw PNS streams in order to build data models of the world. However, with a greater capability to append, overlay, subtract, or otherwise modify sensory models, such people can literally "imagine away" a mess. 


While the first type of person is forced to see the 0.5 degree non-conformity of a hung painting, the latter simply corrects this inside their own mind when they notice but choose not to let it concern them. 


Therefore designers with superior TI2 capability need to dumb themselves down in order to actively design things that inconvenience users with inferior TI2 capabilities.


Thus, I reflect upon the need for me to improve my own design practice.

2024-01-15 at

Desk Operations : dodging procrastination - note step 3

1. Reexamine universe of tasks.

2. Cluster tasks in useful dimensions.

[ [ 3. Clear working memory. ] ]

4. Load next cluster.

5. Resolve cluster.

6. Capture failed tasks.

7. GOTO 1.


2023-12-26 at

Curious Little Things

 I've spent the last few weeks of my life catching up on low priorities - one of which has been "technical analysis" for asset prices. This is a musical activity, about aesthetic ratios, similar to fashion or dance. The behaviour of price curves is cute, like the movements of small animals of children - curiosity and shock, follow the same meter. The simple curves look like snakes and worms, but I'm sure some chibi trading tool exists where you can make the price curve look like a small furry animal ... 

2023-09-01 at

(dash) Redirection Operators

Debian Almquist Shell (dash) operators


0.

(dash) is the default (sh) in Debian and Alpine (busybox uses dash).

(bash) is the default (sh) in Red Hat.


1.

Operands are EITHER string filenames (FNs) OR integer file descriptors (FDs); 

this is inflexible.


2.

[ow] "optional whitespace"


3.

"source from LHS (default 1, stdout) ..."


FD>[ow]FN "... sink to RHS, UNenforced clobber"

FD>|[ow]FN "... sink to RHS, enforced clobber"

FD>>[ow]FN "... sink to RHS, append to"

FD>&[ow]FD "... sink to RHS"

FD>&- "... sink to nowhere; (close LHS)"


4.

"sink to LHS (default 0, stdin) ..."


FD<[ow]FN "... source from RHS"

FD<&[ow]FD "... source from RHS"

FD<&- "... source from nowhere; (close LHS)"


FD<<[ow]delimiter "... source is the text between delimiters, 

stuff stuff withOUT parameter expansion"

stuff 

delimiter


FD<<[ow]"delimiter" "... source is the text between delimiters,

stuff stuff with parameter expansion"

stuff

delimiter


... furthermore if (<<) is replaced with (<<-), 

then leading tabs in the here-doc-text are stripped.


5.

"open on LHS (default 0, stdin) ..." 


FD<>[ow]FN "... for both reading and writing to RHS, UNenforced clobber"


6.

These are not implemented; you can't use these in (dash).


&>[ow]FN "(bash/zsh) for ( 1>[ow]FN 2>&1 ): 

both 2 and 1 end up in FN, UNenforced clobber"

&>>[ow]FN "(bash/zsh) for ( 1>>[ow]FN 2>&1 ): 

both 2 and 1 end up in FN, append to"

>>&[ow]FN "(zsh) for ( &>>[ow]FN ); not implemented in (bash)"

2022-01-23 at

Unified Inbox Strategy

Email's been having my ass this past half decade.

I recently learnt how to quick-convert dozens of marketing emails into a Gmail filter. Wish I learnt it ten years ago. Then again, maybe the "filter emails like these" button wasn't there till recently.

Anyway, now my MO is to label all emails, and to have no distinction between Archive and Inbox. Archiving without labelling is procrastination ... Archiving with labelling is trivial.

One Inbox!

2021-07-25 at

Modifier Keys ... a brief history

One thing I recently learnt from using Macs. 


Modifier keys in general : 


Shift : 

- ISO Unicode symbol : ⇧ "Level 2 Select"

- notational equivalents : "shift X"

- origin : typerwriters


Control :

- ISO Unicode symbol : ⎈ "helm"

- notational equivalents : "control X", ^X, C-X, Ctrl-X

- origin : teletypewriters' appropriation of typewriters' "carriage control"


Alternative :

- ISO Unicode symbol : ⎇ "alternative key symbol"

- notational equivalents : "alt X", Alt-X

- origin : IBM "AltGr" for Alternate Graphic


Option :

- non-ISO Unicode symbol : ⌥ "option key"

- notational equivalents : "option X"

- origin : Apple [ a filled Apple logo ] for Closed Apple Key

- contemporary : Apple keyboards have combined this with Alternative


Command : 

- non-ISO Unicode symbol : ⌘ "place of interest sign"

- notational equivalents : "command X"

- origin : Apple [ an unfilled Apple logo ] for Apply Key


Also see : Fn

2021-06-23 at

Statistics in the Workplace

Last week my boss updated me about some roles he is looking to hire for in 2021, and I didn't hear the word "statistician", so I brought it up.

The function of statistics is the set of reasoning tools which under-gird [ scientific inquiry in general ]. 

  • - :  "business analysts" may use some statistical tools, but are not always specialised as statisticians
  • - : "data science" is a trendy business term, but it is not well-defined as a discipline ... it tends to involve software engineering + machine learning models
  • - : "machine learning" (ML) is also a trendy business term, but fundamentally is composed of statistical methods which are then automated to run faster than manual operation will allow
  • - : "risk managers" (a super-set of fraud analysts) basically use statistics to assign a probability of loss to any asset + conditioning circumstances

So all "business analysts", "data scientists", "machine learning", and "risk management" staff in a company will use statistics. But currently we don't have a Chief Statistics Officer, for guidance. 

  • - : In the short-term it is possible to work with consultants, or senior temps.
  • - : In the long-term, I would recommend that someone lead and internalise this discipline throughout any company.

While this discussion continues, I am starting to read up on stats where I left off after highschool, myself. Here are some links which seem like a good summary introduction to the tools that will be needed here. I would encourage everyone to look through this briefly in their spare time.

2021-03-14 at

Oh, Sheets ...

Today is a happy day. All of the following remains contained in just ONE spreadsheet.

An initiative I've been pursuing at work is to get the daily DUTIES of our 100+ staff listed and tracked in a RELATIONAL database. We want to clearly bag duties and tag them under ROLES, with explicit SOLID LINE and DOTTED LINE reporting relationships to other roles, criss-crossing the organisation. Any STAFF can be tagged to one PRIMARY and multiple AUXILIARY roles.

Today we released v3 of this tool, and its reporting VIEW which instantly visualises all the relationships above for any staff. This greatly advances our shifting of cognitive stress from people to computers, allowing us to model and track operation with more agility and accuracy. Modern life is so complicated - I can't imagine why people would try to do it without assistance from machines.

The upcoming v4 will enhance the basic datastructure, where each role has prerequisite TESTS, and associated COMPENSATION data. Roles will also be tagged to performance management BENCHMARKS, with annual and project-wise CALENDARS, among other dimensions.

We're a small company: implementing this using an unconventional medium has been challenging, and it provides us with some hope that we can do enterprise quality work at minimal cost. 

2021-03-04 at

Annals of the Freelance

The message arrived in my WhatsApp inbox at nine minutes past midnight. I was driving, and would not reply to it until 33 minutes later. A founder for whom I had made a widget (type: financial) was writing to ask about modifying the qualifies of the widget, due to downstream feedback on the widget's use. 

I did not remember the full details of this widget's development, so I volunteered to first review our earlier engagement documents free of charge. One is not typically paid to remember work once work is delivered, yet one tries to be helpful when it is possible.

In my review, I included screen-caps and links to snippets of conversations from a month ago. The qualities of the widget which needed change were already flagged as problematic during development ... and conversations held during development clearly stated that there was a long, and expensive way to fix the widget, and alternatively a quick and dirty yet conventionally acceptable way to do so. To-date, neither fix had been adopted by the founder.

The founder expressed loneliness in not being able to spare any staff or other resources to address the issue. I had to return to my ongoing work for the day, and was unable to offer further assistance. I felt sad, but that is but a reflection of the harshness of the business environment - those who do not prepare, are often caught off-guard.

This episode, including this documentation, would distract me from work until 0133 hours. That was a cost I assumed, and this is my record of that expense.

2020-09-17 at

"Getting Sorted 2020" : item 7, reestablish daily quiet time

Following up on earlier steps of operations tuning, in this cycle:

Group 1

1. Set up general storage facility and interior architecture.

2. Set up sleeping quarters, washroom, laundry, pantry, and physical conditioning assets.

3. Set up electronic workstation, with large planes perpendicular to line of sight, to buffer verbal and visual memory.

4. Set up vehicles of commute from home office to production floor.

Group 2

5. Establish social ties with familiars, for physical and conversational intimacy/infrastructure.

6. Establish tracking of desk time as a precursor to partitioning time between desk and non-desk work. Software development, bookkeeping, public intelligence, visual design, etc. versus building maintenance, talent imprinting, logistical fulfillment, ground intelligence, in-person networking, etc.

Now, 7. I am planning to reinstate daily quiet times. (In the Christian tradition I was raised in, these would be once- or twice-daily events lasting a few minutes each, with a process of rituals for memory management, ethical review, and emotional recalibration against in-memory models of external entities. I am not here interested in the in-memory model of a deity, but all other components of this sort of daily event are revelant to the strategic layer of any operation.) Plan, daily:

7.1. Review any business priorities dangling in short-term memory.

7.2. Dredge up business priorities from mid-to-long-term memory.

7.3. Rewrite forward-8-hour execution path/priority-list.

7.4. Repack S/M/L-tM (7.1.-7.3. are the mental conditioning part.)

7.5. Check physical condition, social condition, financial condition, and tactically recondition any requirements antecedent to the success of 7.3.

7.6. Zoom out of the business context, and review the prioritisation of 7.1-7.5. against broader ethical considerations, in general. Reiterate back through 7.1.-7.6. as needed to reduce incoherence.

Group 3

8. Administrative debt: to be addressed in the future ... I do have a number of personal obligations such as quit rent which I need to pay, and tax declarations, which have not been addressed of late.