Full article on my mostly cogent analogous relationship between AI and puppies.
Yesterday’s Failures
So yesterday, before I got going, I made a list of things to do. It was pretty aggressive. One of the things I had on the list was “write a post about what I plan for the day/week ‘etc'”. I got maybe one and a half of those items done, and progress towards one of the other things that is a coding task that will take some time anyway.
However, I ended up on one call I hadn’t expected, and a few more calls which I prompted (and therefore expected) from people based upon that first call. At least one of those phone calls was from a time zone 3 hours behind mine, and as it went into the small hours, it also went well into the dregs of my physio-mental reserves (as I realized later, kind of hard to see it in the moment). The conversation started focusing on how to fit the topic of AI into discussions about a system I’ve been building the past few weeks while trying to sell the concept to interested parties.
I’m not really into the AI hype, but cannot deny that there is hype, and that generative models can produce scads of output faster than a room of trained monkeys. In retrospect, I fumbled for a conversation grenade pin I shouldn’t have gone near, and then tried to justify it to myself; but I see now it was my own limits I was hitting while feeling the accumulated weight of my own plans failing, and dragging me into a place (discussion about AI) that I had no more wherewithal to deal with at that moment.
I only hope I haven’t caused too much damage to an otherwise decent relationship.
So here’s what I had planned to put in my plan posting yesterday (based on notes in a paper notebook I have):
- write something about how posting about C# on Linked-In can lead to all sorts of people saying all sorts of things, and again how Linked-In is not really for technical people to show their chops, and further: what is Linked-In even for to the general population besides to have a presence and show one’s existence ?
- write something about how AI and machine filtering are on the receiving end of job-application and resume analysis, and now also on the front-end as well, so most job-applications submittal over the web are basically a demonstration of how well one can use AI tools to tickle an AI processing system without inadvertently and silently triggering AI rejection because AI was used to generate the inputs
- write something about how I’m making another attempt at getting all the way through Ludwig von Mises “Human Action – A Treatise on Economics”, this time with the restored scholar’s edition, because my hardbound 3rd edition needs repair
- put some stuff together about The Emotion Machine specifically about “levels of mental activity”, and how most LLM output can be thought to be operating in the two lowest levels…and then to also stitch in Julian Jaynes ideas about how consciousness as we think of it, can only “exist” with a sufficiently self-reflective narrative language structure, and does not encompass all of mentality
- contact some talent placement people against whom I should be trying harder to proffer myself as “talent”
- code more of my “ownership unencumbered” warehouse operations system kernel (that I’ve been working on for 3.5 weeks or so), after having lost yet another iteration of code I wrote for hire to yet another corporate fire-sale
- write my plans in a blog-post (self-referenentially)
Warehouse Operations (2)
50 Mythical Years
The Mythical Man-Month at 50 (https://en.wikipedia.org/wiki/The_Mythical_Man-Month)
Perhaps the first introspective book about software production; at the very least, the first truly widely read (i.e., “popular”) book on the subject. I remember it being a fairly easy read, and insightful. I read this in the early 2000s after finding it on a colleague’s bookshelf in his office, when it was “only” 30 years old. I won’t pretend to have committed it to memory – I considered it a pensive self-reflection with ponderous suggestions about what might have been different working on OS/360 in hindsight with perfect resultant knowledge of the actions taken.
In all honesty, its biggest impact on me was pointing out Melvin Conway’s “Law” – design organizations tend to make designs that are isomorphs of their own communication (i.e., hierarchical) structure, emphasizing organizational flexibility in order to maintain design flexibility. Conway’s “law” is a singular thesis and a much quicker read. (https://www.melconway.com/Home/Conways_Law.html).
The subtitle includes the word “essays”, so it is not intended to be an all-encompassing thesis, but rather a starting point for further understanding of just what the world of software production entailed – amongst a variety of subjects related to developing OS/360 — a conceptual progenitor of all modern operating systems. (https://en.wikipedia.org/wiki/OS/360_and_successors)
The banner “mythical man-month” implies that the outputs of software production are not directly related to the number of person hours assigned. Brooks specifically calls out “late” projects and the addition of (presumably) semi-fungible developers — noting that more developers means onboarding them (drawing away from other work) and more communication tasks to keep them working in concordance with the rest of the team.
I consider the focus on communication, documentation and organizational responsibilities the strongest points to take away from the book as a whole, and while there’s more in the book than just communication – it and documentation are recurrent themes offered as ways to mitigate the frictions and problems he experienced. I found the observations about developer motivations and system complexity worked better as warnings against trying to find simple answers (or factors) when estimating projects than they do as guidelines on how to estimate better. His late (1995) addition to the tome “No Silver Bullet” shores up that point.
IBM’s management structure and the place of OS/360 in IBM’s product offering act as implicit assumptions in the book, and most of his fiddling with who should do what is a result of the assumption that someone or something else was above all those roles and had accountability for the budget – often he calls this simply “management”. The idea that there could be a technology manager – being a technologist first and a manager first – doesn’t appear quite in the cards.
Though I can’t fault him for failing to offer what I consider the “revolutionary” idea of giving software architects control of headcount and budget, they will be able to optimize their teams better — even if they have to delegate some of those tasks to administrative and logistical associates, as long as the architect is ultimately responsible for everything that is built and by whom, down to the detail and the dollar. An architect optimizing a design, must also optimize the team — as the team is the human action instrument through which a design is refined and realized. Since software architects haven’t trained themselves to be accountable for headcount and budget (the market hasn’t demanded it because “management” handles those things), the cycle of careers in which architects are not responsible for the measurable utility of their software organization activity and output in dollars for profitability or cost continues.
Other neat idea presented (and now fairly common in software development when budgeted for) include:
- the “pilot system” (assuming you have R&D budget to handle that, or can R&D with iterative client projects)
- “good” code discipline and data-modeling practices being important
- efforts beyond “coding”, such as testing and documenting
- the second-system effect (mostly a warning about stress-induced “lessons” polluting the next system)
- a rudimentary DevOps valuation – maker of tools for the team
- (out-of-band) bugs/debugging processes: now mitigated through common practices of tracking systems
I remember it as a decent read, if you get the chance, read it at least once, and not just summaries of it, nor critiques of it.
.NET Software Architect Seeking Team
I am seeking a development team – itself looking for a highly skilled .NET Software Architect to design, develop, and oversee the implementation of robust, scalable, and high-performance software solutions.
I possess decades of experience in Microsoft .NET technologies, with a strong focus on C#, SQL Server, Entity Framework, dependency injection, and service-oriented architecture (SOA) involving multiple legacy and modern remoting technologies.
I can perform strategic thinking, deliver technical leadership, and use my hands-on proficiency in coding to guide development teams in delivering enterprise-grade applications for server, desktop and mobile platforms.
Greenfield, porting technologies, rewriting, refactoring all within my experience and acceptable.
Multi-tenant product, bespoke project delivery and internal line-of-business systems all familiar territory and acceptable.
Full-time employment, full-time goal-oriented contract, part-time contract consultancy all acceptable as warranted.
Core Proficiences
- Architectural Design: Design and document scalable, maintainable, and secure software architectures using .NET technologies
- Database Expertise: Lead the design and optimization of complex database systems using SQL Server, including schema design, stored procedures, and performance tuning.
- Entity Framework Implementation: Oversee Entity Framework implementation for efficient data access – perform data modeling and query optimization.
- Dependency Injection: Implement and promote dependency injection patterns to enhance modularity, testability, and maintainability of applications.
- Service-Oriented Architecture: Drive the development of loosely coupled, reusable services – ensuring interoperability and scalability across systems.
- Technical Leadership: Provide guidance to development teams, review solutions and code, and ensure adherence to system design principles.
- Performance Optimization: Identify and resolve performance bottlenecks in .NET applications, SQL Server databases, services and client apps.
- Collaboration: Work closely with product managers, developers, and infrastructure teams, to align technical solutions with business objectives.
- Innovation: Stay current with industry trends and advancements in .NET, SQL Server, Avalonia UI, and related technologies to recommend improvements and modernizations.
Qualifications
- Technical Experience: 30+ years of professional software development experience, operating as an “architect” through most of it, and with regularity over the past 15 years
- Industries: Worked in warehouse managment and automation (most recently), pharmacy operations, learning management systems, HR support systems, financial portfolio management, insurance and others
- .NET Expertise: Deep knowledge of .NET Framework and modern .NET, including C#, WPF, MAUI, Xamarin, and Avalonia UI, in both client-app and high-volume server processes
- SQL Server Proficiency: Practical experience with Microsoft SQL Server (6.5 up to present), including advanced skills in T-SQL, indexing, query optimization, transaction processing performance, database administration, and clustering technologies
- Entity Framework Mastery: Expertise in Entity Framework (EF Core preferred), LINQ queries and performance tuning.
- Dependency Injection: Comprehensive use of dependency injection in large-scale systems
- Service-Oriented Architecture: Designed and implemented multiple SOA-based systems in many industries, using RESTful APIs, gRPC, WCF and message queuing.
- Problem-Solving: Analytical and problem-solving skills focused on delivering extensible, robust, instrumented and scalable solutions.
- Communication: Excellent verbal and written communication skills to articulate technical concepts to both technical and non-technical audiences.
Additional Talents
- Experience with Azure cloud platform in configuring, scaling and cost balancing.
- Strong practical familiarity with cross-platform UI development such as Avalonia UI and .NET MAUI (and Xamarin) – familiarity with common web front-end technologies
- Experience with DevOps practices, including CI/CD pipelines, NuGet packaging and containerization (e.g., Docker) mostly within the context of Azure DevOps Service/Services (both)
- Standard Git experience (in addition to many other source-control systems)
Education
- Bachelor of Science – Geography, Geographic Information Systems, Automated Cartography and Remote Sensing – Penn State University 1993
Work Environment
- On-site, hybrid or remote work as necessary (and in that order of preference)
How to Submit
Submit your job-description a cover letter detailing your needs. I look forward to reviewing your team’s goals!
Warehouse Management
Part 1 – Background
The story so far…
Bringing my semi-professional narrative mess up to about 8 years ago. The last entry is one of the longer ones. It just had a lot of interesting things.
As usual, I have no editor, and no fixed audience, so all complaints and critiques will be filed in the memory hole.
System of Values
The ordinal value of every non-primary goal is elevated as the highest valued goal is achieved. Once successful fulfillment of a goal is achieved, the question immediately becomes: what next? Achievement and satisfaction of goals opens the door to further goals rising to point of action.
As enabling prerequisites to achieving a goal are recognized, they gain the priority of the goal they are expected to enable. The value of the desired goal does not change, it’s value justifies the priority of the prerequisite actions.
If a goal becomes recognized as unattainable – such as one of its logically identified prerequisites being impossible or outside one’s resource expenditure capacity – then it’s value must immediately disappear (or at least sink to below the level of attaining the resources). Emotionally it may linger, but any further activity cannot be classified as purposeful action towards the goal along the paths previously selected.
Recognizing that situations and priorities may change, that achievement is possible, that judgments about what is necessary, possible, plausible and impossible can fluctuate; it should be apparent that without even metricizing the cost and rewards, values are in a system of dynamic change.
Everyone that acts has a system of values, including oneself. Recognizing this is a prerequisite to controlling the value of one’s own values.
Pursuit of Value
Every so often I look around the rest of the internet and find terms I use, but used in different ways by different people.
“Pursuit-of-value” is a domain name I’ve had since approximately 2008 (at the latest, and with dashes deliberately as they are valid, Rick & Morty’s “story-train.com” dig notwithstanding…ouch). The original purpose was for me to vent out ideas that I might find useful about my understanding of praxeology, or the study of human action.
I’ve seen others use the same terms for other things. So at times I need to assert that I still find the purpose of human action is the pursuit of value.
Value is the “importance” of some identifiable goal by a human consciousness, and exists in primarily an ordinal relationship with every other identifiable goal that particular consciousness recognizes as valuable enough to take action to achieve. Until the “first” (or primary ordinal) value is achieved man is compelled to act to achieve that .
Identification of the importance and thus ordinality ones values counts as actions of primary importance. One not only acts to achieve value, but one acts to set one’s values in an achievable order; to the best of one’s abilities in the context of one’s situation, awareness and existence.
Learning to identify one’s values, learning to set them is ordinally a predecessor to any other action mankind can perform.
Human action is the pursuit of values, even down to the selection of values to pursue.
Communication and Conversation
(Note: First Drafted in June 2023, left dangling for awhile with areas for expansion. Snipped and garnished July 2024).
One communicates to improve the local community: that is, a municipality in a broad civilization of communities. This is done not for the community’s “good” per se, but because a healthy community is advantageous to the civic life of the individual. Conversely, the only standard for judging the “health” of a community is by how it affects the individual. This is pretty standard stuff for Austrian School methodological individualists and philosophical Objectivists alike.
If communication becomes impossible, then being “in communion” becomes impossible, and no community can be shown to exist. Communication requires a common language, not just in phonetic or lexical elements, but also in conceptual graphs of related assumptions, definitions, premises and conclusions.
A lexical language can be used to carry multiple conceptual languages, and a conceptual language can be carried on multiple lexical languages.
Conversation is having words with some person or persons. While there may be a connotation that there is some egalitarian aspect by the use of a word with the “co/com/con” beginning; that is more cognitively dissonant than actual.
A conversation may be a one to many (broadcast) with responses being vetted, controlled and regulated by enforced policy or real or perceived threat of reprisals for communicating outside the box. A conversation may be a one to one, with one being in a materially superior organizational position to another; or in a completely different aspect of an organization to another with no “power-over” the other. A conversation may be with a customer or prospect with any arbitrary or unknown degree of accountability or freedom to act within their respective organization.