Showing posts with label thinking. Show all posts
Showing posts with label thinking. Show all posts

Sunday, January 21, 2024

Recent Reads, Recent Thoughts

It's been a good end-of-year/start-of-year. I don't know if I'll ever "work" again, or have to, but I'm getting ready anyway. A guy has to do something with his time. I put that dangerous word "work" in quotes because "work-for-money" is definitely a different beast from "work-for-gain". They aren’t the same. I'm going with Plan B for Max Gain.

Being paid isn't necessarily a "gain", either. It's just money. Money is handy to have, and useful for many things but not for all things. Mostly I'm interested in becoming better, as in sharpening my thinking, improving my ability to understand, and being able to reliably tell which from what.

So, in keeping with the title of this post, here are my recent technical reads.

(1) "Ship It!: A Practical Guide To Successful Software Projects", by Jared R. Richardson, 2005. Unfortunately, there will never be an update since the author died in 2016, but it's still a great book, even after two more decades.

(2) "The Pragmatic Programmer, Your journey to mastery", 20th Anniversary Edition by Dave Thomas and Andy Hunt, 2020. New, fresh, even better than the original, which I re-read about two years ago.

(3) "Extreme Programming Explained: Embrace Change", by Kent Beck, 2005.

(4) Basecamp/3ySignals books...

  • "Getting Real: The Smarter, Faster, Easier Way to Build a Successful Web Application", by Jason Fried and David Heinemeier Hansson, 2006.
  • "Rework", by Jason Fried and David Heinemeier Hansson, 2010.
  • "Remote: Office Not Required", by Jason Fried and David Heinemeier Hansson, 2013.
  • "It Doesn't Have to Be Crazy at Work", by Jason Fried and David Heinemeier Hansson, 2018.
  • "Shape Up", by Ryan Singer, 2019

I was hoping to find a newer edition of the extreme programming book, but no. Too bad. It's surprisingly great, and reading it left me wondering what Kent Beck has rethought in the last 19 years. I guess he done wrote it all out the first time. Pretty good as-is anyway.

So — There are lots of things to chew on presented in these books, but mostly they boil down to paying attention, working together, and using the best available tools and processes to best advantage. And these days there are lots more tools, more-capable tools than there were 20 years back when I had to smile and keep eating shit, if I wanted to keep my job. And pound my head against the wall just to get some relief.

If I may over-summarize what I got from the above books, collectively:

  • Get some input.
  • Use that to create a working system right now.
  • Put everything into version control.
  • Create tests and run them constantly.
  • Integrate constantly.
  • Maintain a working system from day one.
  • Be transparent.
  • Review, collaborate, compare, rethink, revise, redo, repeat.

Some ideas, not all of them new, from the above authors, and from some other research I've done lately:

  • BDD: Behavior Driven Development
  • CD: Continuous Delivery
  • CI: Continuous Integration
  • CIT: Continuous Integration Testing
  • DbC: Design by Contract
  • DTD: Design Top Down
  • ESA: Environment Setup Automation
  • FBoxing: Feature-Boxing, aimed at getting specific features done
  • FDD + WBS: Feature Driven Development + Work Breakdown Structure
  • Jugaad: Humility, Openness, Frugality
  • Linting: Random input stress testing
  • Preemption: If it isn't going, kill it
  • TBD: Tracer Bullet Development
  • TBoxing: Time-Boxing
  • TDD: Test Driven Development
  • Value: Do the most important thing first

I hereby recommend all of these books, and all of the topics in the list directly above.

Yeah, so fun. It looks like fun, if I'm up to it. I have enough topics to keep me busy for as long as I can keep my eyes open and my heart beating.

Besides that, I'm now reading "Poor Charlie's Almanack" ("Poor Charlie's Almanack: The Wit and Wisdom of Charles T. Munger" edited by Peter D. Kaufman, 2005.) Until just a few months ago, when he himself stopped breathing, Munger was Warren Buffett's longtime partner in Berkshire Hathaway. They did well. Together, and even separately. They knew lots.

This book contains my final kick in the butt, the push past the tipping point, the item that suddenly allowed me to consolidate all of my new thoughts.

Munger mentions the "Five Ws" (five dubble-youse): Who, What, Why, Where, When. And I now throw in a "How". I don't recall the context of Munger's use of these, but the concept has been around at least since ancient Greek philosophers began anciently, greekly, philosophizing. And it's been used, with a "How" added on, in journalism too, also from pretty far back.

Anyway, it came to me in a flash of at least reasonably bright illumination, considering the amount of intelligence that I'm capable of bringing to a subject, that this is the whole of software development, and a lot of other problem solving and engineering approaches as well: Who, What, Why, Where, When, and also How.

The "w" items set the stage. They're the user stories, the problem statements, the business rationale, the requirements, the documentation, the contracts, the law, and all that. They set the stage. And the "How" is the code that comes trotting along behind to make it all dance.

For a whole long time now I've been amazed that developers keep going on about just churning out code, "self-documenting" code even, as if that was even a thing, while completely ignoring the whole core of the issue. Code says "How", but the important parts, the central issues, are "What" and "Why". What the hell are we doing here and why in the hell are we bothering? How is actually pretty easy, even its hard parts. As a former co-worker of mine used to say "I can teach a chicken how to code. The important part is keeping the big picture in mind and solving the right problems."

The last job I had before giving up was in a completely dysfunctional state agency. (Go figure.) I was hired to work on a project rewriting a mainframe system as a client-server system. As usual, one of the first things that happened was that all the work went to contractors, and then it got worse from there, before it got worse, and then kept getting worse.

Back then, "UML" (Unified Modeling Language) and "RUP" (Rational Unified process) were state of the art, big-time practices as was hiring a person to sit at a computer and do manual testing, all day, every day, forever. But we didn't even do much along those lines, beyond management saying that we were doing it all. So things have come a long way. People actually follow actual processes now. Verifiable processes.

Even Kent Beck, with his 2005 book on XP (Extreme programming) was about 16 decades ahead of where we were, even though I quit that place in 2003, before the book, before "Agile" and "XP" even became common, though well after their principles had come into use here and there.

But I think I've got it now. After it's too late for my so-called career, of course, but my aim is understanding, rather than hoping for a someday promotion from Information Technology Applications Specialist 4 to Information Technology Applications Specialist 5 so I can qualify for higher retirement pay and just get the hell out.

It's not a competition between hotshot coders who say code is everything and documentation is unprofessional and a horde of buzzing bureaucrats intent on filling shelves with neatly-bound volumes that no one ever reads or can understand, documenting a system that was never actually built that way anyhow, but a cooperation of all involved, fully and completely understanding "Who", "What", "Why", "When", and "Where", as implemented by a working and fully functional, ever-improving "How". To get things done.

Yeah, so thanks, Charlie. I needed that. Decent kick in the ass. I'll keep these ideas in mind, whatever it is I happen to be doing from now on.

Now I need to get back at it, just for my own satisfaction and personal edification, maybe by starting with learning Go. We'll see. Maybe I still have enough time left to do something useful with my life.

 


Have anything worth adding? Then try sosayseff@nullabigmail.com
Me? As noted above, but maybe a little crazier.

 

Etc...

so says eff: sporadic spurts of grade eff distraction
definitions: outdoor terms
fiyh: dave's little guide to ultralight backpacking stoves
boyb: dave's little guide to backpacks
snorpy bits: nibbling away at your sanity
last seen receding: missives from a certain mobile homer
noseyjoe: purposefully poking my proboscis into technicals

Thursday, December 14, 2023

Who Me? Yes.

See "How To Live Like A Cynic" by Ansgar Allen, December 6, 2023 at psyche.co ( https://psyche.co/guides/how-to-live-like-a-cynic-and-challenge-social-norms OR https://web.archive.org/web/20231207101328/https://psyche.co/guides/how-to-live-like-a-cynic-and-challenge-social-norms )

For a while I thought this was it. Not quite, but it's close. It's inspiration.

I keep thinking that if I had my life to do over again, everything would be different. True. True of me an everyone else, but how? Definitely more along these lines:

  • Improvise your life.
  • Live shamelessly.
  • Push against all boundaries.
  • Act with courage, refuse to respect the powerful.
  • Give up everything you can live without.

I also recommend "Mornings on Horseback" by David McCullough, an amazing and thorough book-length biography of Theodore Roosevelt. He lived somewhat along the lines of the principles listed above, better than I have, though much more conventionally than Diogenes. Everyone has lived much more conventionally than Diogenes, but it's the core ideas. Very similar in both cases. Both fearless beings.

Particularly, in my case, I come from people who try to fade into the background, and had almost no education in how to get through life from my parents. They were both clueless, both the youngest of large families, my mother being a good little girl and my father being a spoiled brat who never worked. Both incapable of actually dealing with what life threw at them.

Being shy, and bookish, and having no clue about anything, and seeing my relatives wander aimlessly through their own lives, I grew up making lots of mistakes. Mostly mistakes. All the way through. My whole life so far has been one continuous mistake.

I have missed nearly every opportunity, played by the rules, deferred to authority, hoped for the best, and continued getting it all wrong.

Now I'm revamping myself, reinventing, reforming, redoing. Though I no longer have to work for money, I am working, working at making myself the person I should have been all the way through. My one practical talent is that I know how to live within my means and with that have always been good at saving money, so I've got enough of that anyway, and its freedom.

I read Allen's "How To Live Like A Cynic" piece, and then got his book and a couple others on cynic philosophy and started reading them. And quickly gave up on all. Three academic works, going into endless detail about everything except the subject that I was interested in. The bullet points above do a better job, and Allen's piece is stellar. He hits the relevant points and covers them in enough detail to get the core ideas across. That's enough right there. You don't need more.

I'm thinking a lot here of software development, but I'm actually more interested in process than in programming, though in my so-called "professional" life, producing software was supposedly the goal. In line with this, I'm also working my way through Andy Hunt's "Pragmatic Thinking and Learning: Refactor Your Wetware", which is all about thinking. Also great. Ground-breaking, earth-shaking. More than reformative. Revolutionary.

For me it's all about the principles. I'm abstract, more interested in "what" and "why" than in "how". Cynicism and pragmatic thinking have been key parts of me since the beginning, and I'm only now, late in life, realizing that, and identifying who I could have been and what I could have done. I'm an inventor, a designer, a creative, iconoclastic dirty-fingernail philosopher. For me, what works is what works, and I keep trying to figure that out, no matter how anyone else does it. ("If it ain't broke, don't fix it," and "We've never done it that way" have always enraged me, and will forever.)

OK-fine and too bad. My life has been a waste, but here we are.

At least I do recognize the truth of things and am working on it. I like clarity and direction, unencumbered by the clutter of life, so once again:

  • Improvise your life.
  • Live shamelessly.
  • Push against all boundaries.
  • Act with courage, refuse to respect the powerful.
  • Give up everything you can live without.

These are things that I've been doing all along, but accidentally, too quietly, in private, internally, without a real plan.

I'm not now headed for the street to run up and down, howling, and knocking the hats off people to get my point across. No. I plan on asserting myself when necessary, standing my intellectual ground, never being intimidated, living bullshit-free, and just getting on with it. Anyone else wants to do it a different way, fine, go ahead. Not me. I won't get in your face unless you force it.

It's December, the Xmas season, again. When I was five years old I badgered my parents until they finally gave in and admitted that Santa Claus was a fake, didn't exist. That's me. I'm proud.

And that was about five years before we had television. Before we had television, so I wasn't seeing programs every night with plots about guys dressing up in funny red suits to lie to children. How I figured it out I don't remember, but I did. Santa Claus is the first deep societal evil perpetrated on children.

I got past that and want to live the remainder of my life getting past the rest. End of story.

 


Have anything worth adding? Then try sosayseff@nullabigmail.com
Me? As above.

 

Etc...

so says eff: sporadic spurts of grade eff distraction
definitions: outdoor terms
fiyh: dave's little guide to ultralight backpacking stoves
boyb: dave's little guide to backpacks
snorpy bits: nibbling away at your sanity
last seen receding: missives from a certain mobile homer
noseyjoe: purposefully poking my proboscis into technicals

Wednesday, November 29, 2023

As If It Mattered

This can't be a new idea, but it is new to me, and I doubt that very many people have paid enough attention to the problems of software to have thought it through well enough.

Estimation. How long will it take? When can I have it? Why isn't it done yet? Perennial issues. I know — writing software isn't the same as building a bridge. Writing software isn't building anything. Writing software is imagining something.

The building part is hitting a key or two and generating another copy of the runnable software, but the writing of it is not equivalent to construction. The writing of software is equivalent to one part of the planning and design process. Equivalent to one of the last stages of that, but still not the same as piling bricks on top of each other.

And yet, especially with what is called "agile" software development, or more often these days, what has been congealed into "Agile", the process depends on starting by asking naive users of an existing system, or equally naive future users of a system not yet built, what such system should do: Getting "user stories".

Does anyone suppose that this might be a way to build a nuclear submarine? A power grid? Would anyone ask a few random commuters how a new highway bridge should be built? No? Then why ask "users" what a software system should be like?

It seems to me that any business that needs a software system should put muscle into the process, should get serious, should actually commit. Experts should come in on the first day and really seriously hash out in detail what the laws are, what the business requires, how things are done now and how things need to be done once the new software is in place, and skip the story nonsense.

User stories be damned. Get serious already.

Sure, lots of big material projects go sideways all the time, but no one starts building a bridge across a river and ends up with a barrel factory. Because people are committed to getting it right. Things get sloppy when people do, not because things are inherently sloppy and completely unpredictable. Pay attention, work closely together, and don't let anything happen without it receiving close and continual scrutiny.

Run this sort of system a couple of times and you have a factory that can generate solid, clean, working software, and if you need estimates, then good ones ought to come along as an inevitable part of the process.

Can't be that hard, not if anyone really cares enough to treat development as if if mattered.

 


Have anything worth adding? Then try sosayseff@nullabigmail.com
Me? Haven't quit thinking yet.

 

Etc...

so says eff: sporadic spurts of grade eff distraction
definitions: outdoor terms
fiyh: dave's little guide to ultralight backpacking stoves
boyb: dave's little guide to backpacks
snorpy bits: nibbling away at your sanity
last seen receding: missives from a certain mobile homer
noseyjoe: purposefully poking my proboscis into technicals

Wednesday, July 19, 2023

Mind The Gap

See the Paul Graham essay (www.paulgraham.com/gap.html) of the same name.

I like this essay. It made me mad at first, but then I caught on and it made me feel good. I got giddy realizing that I'd been wrong all these years, and my problem wasn't figuring out what I wanted to be when I grew up, or finding the right job, or figuring out how to be extroverted and fearless enough to go out and talk people into working with me, but my problem was just relaxing and giving myself permission to grab whatever it was that I wanted and needed in life. Honestly, and through hard work, sure, but grabbing need not inspire guilt.

If there is no shortage of wealth, then I can have as much as I want, and I don't have to worry where it comes from. If I don't happen to create my quota then someone else will just make more, because wealth is not found or given but created. So easy.

Mr. Graham has opened my eyes: "making money is a very specialized skill...but when a few people make more money than the rest, we get editorials saying this is wrong.... What causes people to react so strongly?

"(1) the misleading model of wealth we learn as children

"(2) the disreputable way in which, till recently, most fortunes were accumulated

"(3) and the worry that great variations in income are somehow bad for society."

Because we're given money as children, and do not earn or manufacture it, we grow up with a distorted view, he says. In the past, fortunes were created largely by taking what others had and saying, in effect, "It's mine now, just come and try to take it back and I'll kill all the rest of you too."

And now that the world has become so technologically intense, some of us can be ever so much more productive than others, and we get fantastically rich because of it, and the poorest among us are fantastically richer than the poorest of the past, and both the poor and rich alike are now all pretty much the same. We eat the same foods, buy the same goods, live in houses with central heating, drive cars, and so on.

So what's the big deal then? Why should anyone get upset because Mr. Bill Gates owns something in the neighborhood of $60 billion, and the average person with a median sort of income makes somewhere in the neighborhood of $50,000 a year. Does it matter that an average person would have to work 1,200,000 years to equal that wealth?

Yes.

One of the current political arguments is about inheritance of wealth. Some refer to taxation of inheritance as a tax on dying. I understand that there is something called an estate tax and something called an inheritance tax, and that the former kicks in upon death, and the latter upon descent of value to one's heirs. And that isn't the issue.

Neither is the amount, or the cutoff value.

What is relevant is that we live in one world and that wealth is not infinite, and neither can it be created on the fly. Sorry, Mr. Graham. Such taxes exist because wealth is dangerous. Hardship we can handle. It brings us together and coaxes the best out of us. Not so with being wealthy, especially if we inherit it. It sours us. That's why we tax inheritance.

I know all too little about economics, but one of the things I do know is that there are various kinds of industries, and the wealth-producing industries are those like mining, fishing, hunting, agriculture, in which value is either directly removed from the belly of the earth itself, or free natural processes are harvested. Without sunshine, air and water, agriculture would be pointless, and agriculture would be pointless if a farmer had to produce light, heat, air and water to feed crops and livestock. What gives farming a shot at profitability is the availability of energy, substances, and processes that are there for the taking.

Yes, farmers may have to pay for the use of irrigation water, or pay to pump it from the ground, but they don't have to create hydrogen and oxygen, combine them, capture the resulting water, and apply it to their plants. No farmer has to create plants or animals from piles of minerals, and invent metabolic pathways that consume water, air, and nutrients, and then provide nourishment. It takes smarts, care, hard work and luck, but the basics are there for use by anyone, for free.

All industries except for a very few just transform that wealth which is created, and since wealth, fundamentally, is material, it is limited. Don't confuse energy with immateriality. Energy is equivalent to matter. They are two aspects of the same phenomenon. It is also limited. The universe at large may contain more matter and energy than humanity can even comprehend, let alone use, but right here where we live there are limits.

"Materially and socially, technology seems to be decreasing the gap between the rich and the poor, not increasing it. If Lenin walked around the offices of a company like Yahoo or Intel or Cisco, he'd think communism had won.... Everything would seem exactly as he'd predicted, until he looked at their bank accounts. Oops," says Mr Graham.

But it's just not so. Technology and politics are increasing the gap between rich and poor. It may be true in the past that the nobility lived far better than the other 98% of the population, and that a simple peasant could never have dreamed of becoming king. A peasant may have dreamed of having enough bread to eat, but no more.

But in that far distant past, almost everyone was pretty much at the same level, the other 98% of them. They may have been abjectly poor compared to even our common homeless street alcoholics, and diseased, and ignorant, but there was no real gap. Everyone was like them, except for a few exotics in feathers and brocades, who lived in high palaces and kept armies. Those few were seen as gods, not as rich humans.

Those clever youths mingling freely in bright offices of technology companies did not create the world. And we cannot compare them only one to another. There never was, is not, and never will be the self-made-man. We depend on each other. We are better now at extracting and shaping the things we can harvest from the earth, and make a much wider variety of things from out common raw materials. Because of our education (from knowledge slowly built up over the last 4.5 million years of human existence) we have learned about new raw materials. We no longer seek only to mine silver, gold, copper, coal, iron and lead. We now make from sand machines that think. But the sand is still free. We take it and use it but no matter how clever we might be, we still can't afford to make it.

But even beyond that, there is the use of the rest of the world's people as raw material. Those bright young happy people in offices are not the whole story. We should not compare them one to another, but to the rest of the world's peoples.

If a factory in Mexico can make shirts cheaper than one in Cincinnati, then it's off to Mexico with the factory and our jobs. Then to India from Mexico, and then to China from India, and to Vietnam, Laos, Malaysia, and who knows where. Anywhere people are paid less for more work is good for our cubicle dwellers. Cheaper goods means that they keep more of the money they make, and through taxes apply subsidies for our own industries, so they and we get wealthier and wealthier. Some of us. Not all of us.

Some of our own, lots of our own in fact, are going down with the ship as well. It isn't just the farmers of India who are paid so little for their crops that they can't afford to eat. Even though the grain they produce is sold to Australia and Europe as cattle feed, and even though some is repurchased and imported back again into India to serve as emergency rations for the poorest. Even in this country the price paid farmers keeps dropping while retail prices hold steady. And many Americans scratch through food banks now, seeking enough to just get through the month.

It doesn't matter much that as Palagummi Sainath has said, India ranks eighth in the world in the number of billionaires (as figured in U.S. dollars, no less). India is getting both richer and poorer at the same time, as the gap between the richest and the poorest widens. As it is in this country, which has the biggest gap among all "developed" nations. And we can feel it.

We're long past the time when one income could support a family. Like it or not, many women if given the choice would prefer to work at home raising their children. It happens that women are really good at that, and it can be really good for children. But few can do it, because even with a woman and her husband working, they still have trouble getting by these days.

No, wealth doesn't come out of the air. It doesn't materialize when smart, educated, driven people apply themselves. That's needed, but wealth grows exceedingly slowly if it has to be created. Only when wealth is taken, as Mr Graham has said happened in the past, does the graph take a sharp upward jump.

And we are more and more rapidly taking from the poorest of the world to benefit the richest. We are taking resources and labor from the poorest of the world and using them for our benefit, and not giving back. We are dealing with the lowest bidder, the one who does not provide clean water, enough food, medical care, education, and who does not enforce even the most basic labor laws. And that's one reason why we are getting richer.

Some of us.

I simply don't agree with Mr Graham that "in a modern society, increasing variation in income is a sign of health". I believe that the opposite is true. Wealth creates both economic and political power, and the wealthy use power to become even wealthier and more powerful. That is the way it is today, and that is the way it has always been. We are too weak to control our lust for wealth and power. It is the human disease.

That is why the United States has a constitution.

If you want a truly healthy and happy society, one full of rich competition and growth in the arts, sciences and in business, you need to have an egalitarian one. One that has learned from the sad mistakes of human history. One that is wise enough to know that unchecked capitalism is as dangerous as unregulated military power.

If wealth is good, and a gap in wealth is better, and increasingly better as it grows wider, then power is also good, and a disparity in power is better, and absolute power is best. Either route will lead to an intense concentration of wealth, political power, religious power, police power, and military power. Dictatorship. The ultimate monopoly. It always happens. That is not what I want for the United States, or for the world as a whole.

Mr Graham ignores the story of Europe, a subcontinent that has learned the hard way. The European Union has a larger population than the United States. It is wealthier than the United States. Its people are better educated and happier. They all have health care, and don't worry about their pensions. They have high taxes and they pay them willingly. They know what the alternative is. They know what they're getting for the money. Several countries, including France, even have higher productivity than the United States. Bite that.

Europeans know that too much difference between the two ends of the economic spectrum creates problems for everyone. It isn't a personal moral failure to be poor, it's a social moral failure. It makes sense to share. An educated population can adapt and innovate. It can be more creative and peaceful. A healthy population need not fear epidemics bred and spread through a diseased underclass.

Toward the end of his essay, Mr Graham says a couple of interesting things.

"If I had a choice of living in a society where I was materially much better off than I am now, but was among the poorest, or in one where I was the richest, but much worse off than I am now, I'd take the first option.... It's absolute poverty you want to avoid, not relative poverty."

This is of course just the opposite of reality. Poverty is poverty. Being poor in a rich society is a little better than being poor in a poor society, but not much. The poor always suffer more. It doesn't matter whether they drive old cars or walk shoeless . The status of poverty is the crime, and the poor live shorter, less happy and less healthy lives because of it. Period.

And if Mr Graham lived as a rich man in a poor society, he would be much better off. If it bothered him too much, he could use his wealth to do good. This is rare, but some have done it. Without modern medicine and sanitation he might die relatively young, but maybe not. Many premodern societies were full of the elderly. It was the first five years of life that were the most dangerous. After that, if you didn't have to work too hard, if you were rich, you probably had it made. And the rich get a big boost just from being rich, and from being powerful. That's why they lived into old age.

Mr Graham's final comment is "You need rich people in your society not so much because in spending their money they create jobs, but because of what they have to do to get rich. I'm not talking about the trickle-down effect here. I'm not saying that if you let Henry Ford get rich, he'll hire you as a waiter at his next party. I'm saying that he'll make you a tractor to replace your horse."

Um, yes he is. It's right in there. "In spending their money they create jobs" is a standard line of the wealthy, even though he says it isn't so. Every wealthy person believes in an absolute, innate right to their own wealth: because I am wealthy I am good, and because I am wealthy I create jobs all around me, and so I deserve to be even wealthier, because I am blessed. If I were not blessed, I would be poor too.

But try to find a person who actually manufactured a significant portion of his or her wealth. It doesn't happen. My wealth comes from getting someone else's wealth. It's that old economic thing again. Money does grow on trees, and in oil wells, but hardly anyone gets it there. It's too much work. It's much easier and more fun to get it from someone else. Just to pick on Bill Gates again (well heck, everyone knows who he is), he didn't create wealth. He accumulated money from you and me for a long time. What he has now was once ours, and we willingly gave it to him.

Therefore he is now rich. Not a self-made man, but one that you and I made.

Will you pray for him? Or for Rupert Murdoch? Or for Warren Buffett? Larry Ellison? Do you sob with joy when you think of what Donald Trump has done for the world? How do these people compare to Albert Schweitzer, Mohandas Gandhi, Martin Luther King, Jr., or the Dalai Lama? How about Jesus?

Rich men, were they? Self-made millionaires? Do you admire them because of that? Or because they gave? Who's powerful now?

What really does matter? What is the value of a rich man, except to excite our own greed? Is there even a single thing to admire about a rich man? Isn't wealth a measure not of how much one has, but of how much one gives?

Mr Graham would not want to live as a poor man in a rich society. The basis of his essay has an opposing thrust. He is an entrepreneur. He values accumulating and winning. To be happy as a poor man means that he is not an entrepreneur. But he is.

If free enterprise is followed to its limit, and the accumulation of wealth is worshipped above all else, well, it leads somewhere we've heard of. It was called the Dark Ages. There is no such thing as a free lunch. We can't all be rich, and unfortunately, being rich still means that someone is rich and someone else can't be. It will always be that way, by definition. If we were all tall, then none of us would be. If we were all fat, then no one would be. Get the picture?

Think back a few years when IBM owned about half the software in the world, Microsoft owned nearly all of the rest, and a few other companies held title to what was left.

Compare that to now. Because of a few crackpots who insisted on sharing software freely, things have changed radically. Ownership, secrecy and lawsuits are no longer the keys to success. First called the "Free Software" movement, now sometimes also called the "Open Source" movement this change has revolutionized the world.

Almost everyone who wants to get into software now has a shot at it, and not only is free to take the source code and bend it into new shapes, but often can get it all free of cost.

This is progress. This we can celebrate. No one has to win or lose. We can share and rise together.

(Originally published in 2006.)

 


Have anything worth adding? Then try sosayseff@nullabigmail.com
Me? Self-supporting.

 

Etc...

so says eff: sporadic spurts of grade eff distraction
definitions: outdoor terms
fiyh: dave's little guide to ultralight backpacking stoves
boyb: dave's little guide to backpacks
snorpy bits: nibbling away at your sanity
last seen receding: missives from a certain mobile homer
noseyjoe: purposefully poking my proboscis into technicals

Wednesday, May 24, 2023

Getting Your Head On Straight

There is a fundamental problem in building software, and that is deciding what to build. It is fundamental because everything else rests on this one decision, and it is often overlooked, or made in the wrong way. Because everything else depends on it, you have to start at ground level, from first principles, if you want to make a sound decision.

Thinking from first principles is simple but hard. Very hard.

The need for a piece of software may come from several directions. It may arise because of a critical need of the business. Then again it may be only a perceived need. It could be an impulse, driven by one strong personality or the tide of politics internal to the business. This would not be good.

You may need software because of new laws that must be complied with, from fear of competition, or just because you're feeling a little behind and want to keep up with trends by copying everyone else.

A good reason will arise from a true need, and if carried through it may result in a real benefit to your business. If you are working from faulty principles though, you will have not only a poor foundation but a poor result.

You need to know your business through and through. And your customers. One way or another you are in business to do something for someone else, something they cannot do, or do not want to do, so they come to you. If you can deliver they will be glad to pay you what you need to get by. But you do have to keep their needs in sight.

Somewhere along the way you will have to deal with staff, even if you are self-employed. The people you directly employ are the experts in running the business. They know how things work, and when, and all of them are acutely aware of exactly everything that does not work. They are your surface of contact with customers, the membrane your business breathes through, its nerve endings.

Staying close to your customer's needs is critical, but so is anticipating where they might be going, so you need to make your decisions match the long term interests of the business. With the customers, and your staff, and the long term in mind, go for the greatest gain possible from the minimum investment, but always focusing on that "greatest gain".

Plan to start small, with something functional, something you can use tomorrow, or the day after, but don't shoot for something sometime next year. You need to start small and see how it feels, then let the software evolve and accrete over time while it's being used, and lead you to a successful end point.

Evolution is a wonderful thing, and it has a proven track record.

If you build software that your business really needs, and start small, and keep adding to it, then you will get to keep testing it every day, starting from the first day, when that software is still very small and very simple.

Daily stressing of any living thing is the best way to have it grow up to be strong. The more you use the first parts you create, the more time you will have to fill all the gaps, and build more and more strength. As time goes by, your foundation will be more than strong enough to support the whole edifice, no matter how big it gets, and the whole structure will have been thoroughly tested by time.

By starting small you will also be able to stay within your budget, and within your competence, and assess all risks. You can measure small things pretty easily, so when faced with small problems you will be able to head them off, knowing that they do exist, and knowing exactly where they are, and that they are small. You can also measure progress a whole lot better on a small project. Because it is small, it is small enough to understand.

By starting small you can also keep an eye on resources. Not just money, but time and the energy of your staff as well. Burning through your money, wasting your time, and flaming out your staff are all bad, but much less likely to happen when your project starts small and grows organically.

Then, with a little success under your belt, and because you have learned to assess risks and measure resources, you can think about going outside your areas of maximum comfort and competence and gradually branch into new areas.

But first, last, and always, you have to keep your head on straight. There are some deep pits to fall into. Maybe you don't need software at all. If you do, you will likely be better off buying something rather than building it.

If you do decide to build software, there are two attitudes you especially want to avoid. One is dismissive, and it runs something like "Why should I have to get involved? You're the computer people. You should know what to do."

The other is arrogant, and follows the rule that we all have running around in our heads, no matter who we are, that if I don't understand something, then it can't be important, so I don't have to pay attention to it.

Considering that about 80% of software projects still fail all these decades after computer programming became a thing, you really want to avoid a losing attitude. If you are going down the route of building software, then you have to be real. You have to be serious about knowing what you want, why you want it, and what it will do.

You need a real plan, you need coordination, and you have to measure everything and make sure that you are on track. You need to keep checking your sanity all the way through, and every day you need to wonder if this is really the right thing to be doing.

If you don't treat software development like a real job, it can eat you up and put you right out of business. It happens every day.

 


Have anything worth adding? Then try sosayseff@nullabigmail.com
Me? Yep.

 

Etc...

so says eff: sporadic spurts of grade eff distraction
definitions: outdoor terms
fiyh: dave's little guide to ultralight backpacking stoves
boyb: dave's little guide to backpacks
snorpy bits: nibbling away at your sanity
last seen receding: missives from a certain mobile homer
noseyjoe: purposefully poking my proboscis into technicals

Friday, March 24, 2023

Getting To The Point In Six

"In the end, everything simply began." Ali Smith wrote that. It's his six word story. Its meaning is left as an exercise for the reader. As they say.

Go figure. Return. We'll talk then.

If you haven't heard yet, all of this is said to have started with Ernest Heminqway, when challenged to write a story in only six words. He did. It's good. Look it up.

Jim Lyon: "Walking home, she regained her virginity."

Yehuda Berlinger: "Found the bouquet in the garbage."

Gregory Maguire: "Commas, see, add, like, nada, okay?"

Alan Moore: "Machine. Unexpectedly, I'd invented a time"

Steven Meretzky: "Steve ignores editor's word limit and"

Get the picture yet?

A few years ago I found a small web site called "Six Word Stories" where these are being collected. There is more than one of these sites, but the quality here is good. Try it. Still there, for now.

Ocean Master: "Mime trapped in box. Irony lost."

Jkypoo: "Fell asleep smoking. Woke up homeless."

Or search for the others.

Or make your own.

 

References:
Six Word Stories
alt link

To cut a long story short
alt link

Caterina Fake

Fifty Original Six Word Stories, by Yehuda Berlinger
alt link

Wired: Very Short Stories - 33 writers. 5 designers. 6-word science fiction.
alt link

 


Have anything worth adding? Then try sosayseff@nullabigmail.com
Me? Still counting my toes. Endless fun.

 

Etc...

so says eff: sporadic spurts of grade eff distraction
definitions: outdoor terms
fiyh: dave's little guide to ultralight backpacking stoves
boyb: dave's little guide to backpacks
snorpy bits: nibbling away at your sanity
last seen receding: missives from a certain mobile homer
noseyjoe: purposefully poking my proboscis into technicals

Wednesday, January 11, 2023

Generally Speaking

It's hard being right, it really is.

Not so hard as being wrong, but people who are often wrong usually don't know it. Most of them aren't bright enough. So maybe overall it's easier being wrong a lot. Maybe even most of the time. Because if you are you can't tell anyway.

Can't tell left from right, up from down, inside from outside, fur from feathers. Did you notice the worst singers auditioning for that "American Idol" show? Or the worst of anyone trying to do anything? They can't tell how bad they are because part of being bad is being so bad that you have no clue whatsoever. It's been proven by science.

Being right is frustrating but satisfying.

Frustrating because people don't give a flying fork. Tell someone where they're wrong and they'll turn on you faster than a pit bull on a baby. No perspective. Except the one that says my idea is right because it floated through my brain and if you prove it's wrong then I will have to hate you. Because you are wrong to tell me something like that. Where are your manners, fool?

So cool.

In that vein I once heard a brief interview with a woman who was virulently against Barack Obama. Her reasoning was that Obama had repudiated the statements of a longtime pastor and had parted ways with the man. Therefore, in her mind, he was faithless since she stood by her own Roman Catholic Church no matter what evil might be perpetrated by some of its staff, and Obama wasn't doing the same.

OK so far, if she really wanted to go there. None of my business. But then she said that if Obama would do a thing like that he would also lie about his true religion and therefore he was really an anti-American terrorist Muslim. In secret. And she hated him for that. Which is a prime example of both being wrong and being stupid.

I'm really not political. At all. It's part of being right.

If you are political then you are about power. About having power, or wanting it, or wanting to be near it, or wanting someone you think deserves it to then have it. But you don't get to be right. Because being right gets in the way. Being right means that you have to work to understand things, think them through, and often rule against yourself. In politics you never give an inch. Unless you give an inch today to become a snake in the grass and take a mile tomorrow.

The only power I really want is over my own life, and that starts with understanding it. With understanding me, myself and I. And my context. And understanding my own life turns out to be a lot more important than having power. Because you can't have any power at all of any kind if you're stupid and ignorant and keep your mind closed.

You don't get to be powerful and wealthy (two views of the same puppet show from different seats) if you are stupid and ignorant and keep your mind closed, or if you do you can't hold onto either one for long. You don't necessarily get to be either powerful or wealthy if you are smart, or well educated, or think a lot. But you do come to some conclusions. And can do whatever you want with some real chance of success.

And a lot of those conclusions are right.

No one is right all the time. Ever. But if you pay attention and stay honest with yourself you get close.

Way back when was when I started asking myself questions. Like "Why is that?" or "How does that work?" And so on. Way back. In my teens. And after the question I'd arrive at an answer. Most often it would pop into my head. I imagine that it happens that way with most everyone. First a question and then an answer, out of particularly nowhere.

And then I'd ask myself why the answer was right. Sometimes I had to change my answer. Because the answer wasn't right, it was only something that I felt good about or liked or wanted to be right or was prejudiced in favor of. Only because it floated through my head.

And I'm still not right all the time, and you aren't either. Though I do like people who are right about things, especially if they're more right than I am. Because then I can learn how to think better. Quicker, more deeply, more imaginatively, more honestly.

The hard part is really the honesty.

If you keep hacking at something you'll eventually get through the crusty old useless parts. Your habits, your preferences, your desires, the way people around you think, what's good for your finances, or what's consistent with what you said or thought or did yesterday. Once you get through to the soft tender sensitive parts underneath, then you can do some real work.

But you have to be honest. Until it hurts, and then some. Until it bleeds, and then some more. Honesty will take you places you've never been. Sometimes it's surprising. Most always. Because honesty and a little clear thinking will make you pry up stone after stone until you finally do find the real answer.

The fun part is adapting to it. It can be hard.

I was on a hike with someone once who said she didn't want to know the names of plants and trees because it would take away the magic. I've had that idea too. About a lot of things. It doesn't work. Knowing is much more fun, and more magical too.

Not knowing is easier in some ways, but it's being ignorant. And being ignorant is a lot like being stupid, which is a lot like being wrong. Which is a lot like waking up in the morning with bad breath, flat greasy hair and gummy eyes. It's better to have a fresh, awake mind in full possession of the facts. And have non-gummy eyes.

Learning things is hard but you don't have to learn everything. And you can't anyway. You can at least learn a lot. And when you do learn you start understanding things. Everything suddenly gets a face and a story The world becomes bigger, not smaller. And you find doorways leading places you could not have imagined before.

I've always been a generalist. A friend once described himself as a dilettante. Sort of proudly. In a way. Normally that's something you don't brag about. It doesn't sound great, like saying in public that when you're eating at home you spill so much food that you just eat off the floor. But he said it. Sort of proudly. He was doing a little tail pulling but he meant it.

He worked for many years as a newspaper reporter and did it well. Being a generalist was good, even if someone might call him a dilettante in a not nice way. He knew a lot. He was on top of it.

Generalists generally are. The real ones.

You get to be a generalist by paying attention. Because you can't help it. You like stuff. You like ideas, and people, and events. You do different jobs in different parts of the country in different decades. Your bookshelves at home look like a cross section of the public library. No one can figure out who you are by the books. You see more possibilities and have wider tastes that way. You end up knowing more. Hands down.

There are lots of people out there who are absolute screaming experts at blade-thin areas of knowledge and most of them are bright. And true dullards. Duds. Dorks. Stupes. Dolts. Bores. Spores. Pod people.

Being an expert can do that to you. Being a generalist will not, though mostly the specialists get paid better. Too bad for me, eh? Blame my English degree.

I couldn't have gotten to be as good a generalist and as clear a thinker without the English degree. I got it because I couldn't decide what to be when I grew up. So three decades years later, plus one, I still have the degree and still can't decide, but I learned a lot along the way.

The next time they give you all that civic bullshit about voting, keep in mind that Hitler was elected in a full, free democratic election. -- George Carlin

You can learn a lot from writers. If you don't believe that then turn on your TV set. See a movie. Watch a play. Read a book. It's all about writers. I suspect few know. Even reality shows ("reality" shows) have writers. Writers run everything. Without a plan you have bunches of people running around and bumping into each other. And mumbling a lot.

Writers weave it.

Writing and reading and thinking about writing and reading have ways of honing thought. You find ideas and take pleasure in them. You can come home with pockets full of them and sit in the sun and endlessly turn them over, and over again, and again. And sort them and stack them and play, and decide which are the real and good and true. And from that learn to make your own.

Like math without the math. Also pure thought but accessible to everyone. Open ended. You grow big invisible feelers that sound warnings when things aren't right. Sometimes people call these B.S. detectors. Handy. When they are in "off" position they will often turn their gaze back toward you, and that's one way you learn to think better. You think a thought and arrive at a conclusion and then you hear this funny buzzing sound, and that's when you know you have more work to do. Your feelers tap dance on your head until you catch on.

That's your next step into the world of honesty.

You may adapt but not everyone will love you. Because you'll want to share. Honesty is hard to accept. And people will feel threatened. Because (a) they haven't thought at all, or (b) they have a vested interest in how things are.

It was like that on my last job. They were rebuilding a software system. I came in at iteration three. After a year of working in good faith it became clear that it was a waste of time. They were only working on an extended failure. My feelers were aching. All day and all night. I started talking. No one wanted that.

They carried on for another four years or so and finally threw out six years of work. After deciding it was really was a failure. And then they started over and threw that one out too. And then I heard, after I left, that they were at it again.

It's hard being right, it really is. But it's wrong to be willfully stupid.

I'm still mad about that one. Two of us, with help from three or four carefully chosen others, could have built a bare bones version of the system that was needed. Solid, rock solid and reliable. Squeaky clean. Bare bones but rock solid, and a good platform for extension. We could have started it the right way at the beginning of 2003 and could have finished it sometime in 2004, maybe sooner.

Nope.

They didn't want to be right. That would have been work. Hard work. Tedious work. Intense work. Everyone had it easier and made more money from extending the gig than I did, but I have my integrity, such as it is. It is hard though. And most of them, if they remember me at all, hate me. Because for them it hurt too much to think. And hurt too much to change. Even though they eventually were allowed to change their minds. When management said it was the new policy.

So what's the right answer, then?

 


Have anything worth adding? Then try sosayseff+nosey@nullabigmail.com
Me? All too soon forgotten, which is actually the way I like it.

 

Etc...

so says eff: sporadic spurts of grade eff distraction
definitions: outdoor terms
fiyh: dave's little guide to ultralight backpacking stoves
boyb: dave's little guide to backpacks
snorpy bits: nibbling away at your sanity
last seen receding: missives from a certain mobile homer
noseyjoe: purposefully poking my proboscis into technicals