I think for people starting out - rule 5 isn't perhaps that obvious.
> Rule 5. Data dominates. If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.
If want to solve a problem - it's natural to think about logic flow and the code that implements that first and the data structures are an after thought, whereas Rule 5 is spot on.
Conputers are machines that transform an input to an output.
> If want to solve a problem - it's natural to think about logic flow and the code that implements that first and the data structures are an after thought, whereas Rule 5 is spot on.
It is?
How can you conceive of a precise idea of how to solve a problem without a similarly precise idea of how you intend to represent the information fundamental to it? They are inseparable.
Obviously they are linked - the question is where do you start your thinking.
Do you start with the logical task first and structure the data second, or do you actually think about the data structures first?
Let's say I have a optimisation problem - I have a simple scoring function - and I just want to find the solution with the best score. Starting with the logic.
for all solutions, score, keep if max.
Simple eh? Problem is it's a combinatorial solution space. The key to solving this before the entropic death of the universe is to think about the structure of the solution space.
I mean - no. If you're coming to a completely new domain you have to decide what the important entities are, and what transformations you want to apply.
Neither data structures nor algorithms, but entities and tasks, from the user POV, one level up from any kind of implementation detail.
There's no point trying to do something if you have no idea what you're doing, or why.
When you know the what and why you can start worrying about the how.
Iff this is your 50th CRUD app you can probably skip this stage. But if it's green field development - no.
Sure context is important - and the important context you appear to have missed is the 5 rules aren't about building websites. It's about solving the kind of problems which are easy to state but hard to do (well) .
> c) goes against the concept of true democracy (which I like
You mean one person, one vote. Or in the case of Twitter/X - one person one voice/account.
Don't spaces like these become dominated by fanatics or money, or fanatics with money? All trying to manufacture consent?
Unregulated != democratic
Just like unregulated != free market [1]
Sure it's difficult to get the balance right - but a balance is required.
[1] As the first step of anybody competing in an unregulated market is to fix the market so they don't have to compete - create a cartel, monopoly, confusopoly ( deny information required for the market to work ) etc etc.
That's not direct democracy though. Here you refer to voting a representative, who may do anything.
Direct democracy means people decide on things directly. It is probably not possible since not everyone has enough time to read every law, so representatives may have to be used but it could be that the people can decide on individual laws and wordings directly. We don't seem to have that form anywhere right now.
Sure direct and representative democracy are different, but this is a bit of a tangent.
What I was trying to say above is that having an unregulated space doesn't mean it's therefore naturally representative of the underlying population.
The key differentiator between a democracy and other systems is the idea that you have one person one vote, and power isn't distributed on the basis of money or some other feature.
All I'm saying is, in a totally unregulated online space you'll get dominance by fanatics with money ( if it's important ) .
See, for a comedic treatment, Peter Cook's The Rise and Rise of Michael Rimmer (1970), co-written by Peter Cook, John Cleese, Graham Chapman and Billington.
Relying on a combination of charisma and deception—and murder—he then rapidly works his way up the political ladder to become prime minister (after throwing his predecessor off an oil rig).
Rimmer introduces direct democracy by holding endless referendums on trivial or complex matters via postal voting and televoting, which generates so much voter apathy that the populace protests against the reform.
Having introduced direct democracy in a bid to gain ultimate power, Rimmer holds a last vote to 'streamline government', which would give him dictatorial powers; with the populace exhausted, the proposal passes.
>accompanied by efforts to rebuild and maintain social trust: swift, visible accountability when corruption is discovered
This is essential - too often what we see is persecution of whistle-blowers instead ( with the wrong-headed logic that it's the revealing of wrong doing that's somehow the problem, rather than the wrong doing itself ).
The idea of a second chamber is not controversial. The argument is how you populate it.
Elected - you have the problem of two chambers claiming legitimacy and potential deadlock, and also the problem of potentially having the same short term view as the other elected chamber.
Appointed - who gets to appoint, on what criteria, who are they beholden to ( ideally unsackable once appointed - I want them to feel free to say what they really think ).
Inherited - Very unlikely to represent the population. No quality filter. Potentially a culture of service built up - and free to say what they think.
Random. - More likely to represent the population. No quality filter.
You can obviously have a mix of all or any of the above.
In my view, the ideal second chamber would be full of people of experience, who are beholden to nobody (unsackable), that represented a broad range of views, with a culture of service.
I'm against a fully elected second house - as that's not really adding anything different to the first house. Appointed has worked quite well in the past, but it has become more and more abused recently as the elected politicians have two much control.
Abused is probably an understatement. The Tories made some extremely questionable and bizarre appointments in their recent terms. We have the son of Russian oligarch sitting there! Inexplicable advisors whose appointment is a mystery even after FOIA requests. And extreme partisans like Jacob Rees Mogg and Priti Patel.
Imo they should be proposed and voted on by the house. That should at least offer some prevention of peerages as favours, as they quite clearly have been used.
> Imo they should be proposed and voted on by the house. That should at least offer some prevention of peerages as favours, as they quite clearly have been used.
You'd get party political trading - we will vote for your pick if you vote for our pick - but perhaps it will help at the margins - the obviously embarrassing would be harder to squeeze through.
The problem is the current process relied a bit too much on people being trustworthy - as you say that's kinda fallen away recently - and obviously the election of Trump show how dangerous it is for a process to rely on people being decent and not abuse the trust. Which is a shame as trusting people gives people the leeway to do the right thing.
In terms of JRM or Patel - while they are not my cup of tea, I think there is value in senior politicians becoming members of the Lords almost by default ( like senior judges or religious leaders ) - as to some extent it does reflect what people have voted for in the past and they have valuable experience. However perhaps it's too early in their cases.
An age limit has been talked about - but normally in terms of upper age - I wonder if it wouldn't be better as an age threshold - you have to have retired and be no longer 'on the make'. Sure that means no young people in the second chamber - but ultimately being representative is the commons role, the second chamber is for experienced people to tell the commons not to be hasty and do more work.
It's very tricky to balance right that's for sure. Agreed that it opens the door to behind the scenes deals. But marginal improvements are still better than whatever the hell we have now.
In the case of Priti Patel she was fired from government for having secret/undisclosed meetings with Israel to recognise some contested land (IIRC). That should be an instant disqualifier for a lifelong peerage.
> That should be an instant disqualifier for a lifelong peerage.
Again the current process does have an element of that - MI5 et al have a look at the list and say 'reputational risk'. "That's a very brave choice minster.."
However, as with Mandelsons appointment to the Lords and US ambassador, it's clearly being ignored - but then who better than the PM of the day to have the final say - the problem is somebody has to - and if you take it away from the PM - then it potentially becomes undemocratic.
Perhaps one improvement would be the removal of the tradition of exiting PM's creating a nomination list - when they no longer care about what the public think - a bit like Joe Biden outrageously pardoning his son.
>Imo they should be proposed and voted on by the house.
Then why wouldn’t the house just stuff them with people that will agree with everything they do and remove any checks and balances? You only need one house at that point.
In part because the composition of the commons changes over time - so if the term timescales are different then they won't necessarily agree at any point in time - but I do agree it would potentially become too politicised if you had that kind of vote.
Ultimately in the UK system, the commons has the final say ( ignoring the monarch in the room here ), so most of the time what the Lords do isn't typically a big public issue - it's quiet revision, have you thought of this?, type stuff. Not that common to have a big conflict - though it does happen.
It's not necessarily a reflection on the team you are going to be in.
Large companies have the problem that they get 100's if not 1000's of applicants for a role, and so HR screen them before they even get to the hiring manager.
And whether HR screen via keyword search, AI CV reading, online tests, phone screens or AI interviews - it's always massively imperfect - as the HR recruiter doesn't have the expertise of the hiring manager.
That's assuming they open up a role for public applications, I think (assume, believe, etc) that these companies will have internal recruiters reaching out first before opening it to the public.
That works better but is expensive - quite often you have to show the public route has failed before you can justify active recruitment.
Also large companies intrinsically know that in the end active recruitment is a bit of a zero sum game - you poach your competitors staff they poach yours - so there is a hesitancy in getting involved in that game.
I have seen people who are actively recruited ( hey we think your great please apply ), who are then forced to do these kind of HR screenings ( because that's the process ). This clearly doesn't make any sense and sends entirely the wrong signal.
Are you sure that availability of resources was a limiting factor during a large part of human evolution?
ie what has driven human population growth - a fundamental change in availability of natural resources or a fundamental change in how humans exploited them?
I'd argue it's the latter, and that's driven by accumulated knowledge - and before writing - the key repository of that was - old people.
Humans have selective adaptations to reduce resource competition between older and younger members of populations - examples are menopause and testosterone levels.
Part of the reason it benefited us that some but not all people become old is because people require more attention during two phases of their lives. Our biological evolution has prioritized care for the very young over the very old, with respect to a limit on resources (like attention), effectively until the modern age. In some cultures, for instance, those with teeth must pre-chew food for those without, or expected members to engage in ritual suicide at a certain age.
I think it's a mistake ( common ) to view any organism at a point in time as perfectly adapted.
It's like saying cars pistons are designed to wear out - because they do and as the car is perfectly designed ( the mistake ) then it must be for a reason.
Also take menopause - it happens a female has all the oocytes ( eggs ) they will ever have already at birth. Menopause happens when they run out.
What you are arguing is that the number at birth is optimised with a very indirect feedback loop - as oppose to a very direct one of how much resources do you put aside for eggs in terms of maximising number of direct children versus resources used. Occams razor suggests the latter is going to be stronger.
If what you say is true - think about it - old people wouldn't gradually crumble due to wear and tear, they would have evolved some much more efficient death switch. ie Women don't suddenly die post menopause.
Sure - though the tuned behaviour around turning the innate immune system up and down is probably dominated by the more recent part of that long history.
Sure. But yesterdays mistakes can be punished today. ie all evolution happens in retrospect - a mutation haopens - the world tells you after the fact whether that was good or bad. Evolution is hindsight in action. In hindsight - taking antibiotics everyday might have been a bad idea.
> Eh, the main downside in the short run is that you are killing your gut fauna.
Sure - thus increasing your chances for being colonised by an unfriendly and antibiotic resistent bug - which may result in your death - which in hindsight was obviously a bad idea....
It does raise the question of where in the future will companies compete.
What's the balance going to be between,
'connecting customers to product' and
'making differentiated product'?
In theory, if customers have perfect information ( ignoring a very large part of sales is emotional ), then the former part will disappear. However the rise of the internet, and perhaps AI agents shopping on your behalf, hasn't really made much of a dent there [1] - marketing, in all it's forms, is still huge business - and you could argue still expanding ( cf google ).
[1] Perhaps because of the huge importance of the emotional component. Perhaps also because in many areas of manufacturing you've reached a product plateau already - is there much space to make a better cup and plate?
There's also a world where "all companies have access to the software factory so sales and entrepreneurship in software disappears entirely."
But in that scenario it's hard to see where the unwinding stops. What are these other companies doing and which parts of it actually need humans if the "agents" are that good? Marketing? No. Talking to customers? No. Support? No. Financial planning and admin? No. Manufacturing? Some, for now. Shipping physical goods? For now. What else...
>It does raise the question of where in the future will companies compete.
Exactly where current companies compete, rent seeking, IP control, and legal machinations.
Hence you'll see a few giant lumbering dinosaurs control most of the market, and a few more nimble companies make successful releases until they either get crushed by, get snapped up by the larger companies, or become a large company themselves.
Was listening to a radio programme recently with 3 entrepreneurs talking about being entrepreneurs.
In relation to sales, there were two gems. For direct to consumer type companies - influencers are where it's at right now especially during bootstrap phase - and they were talking about trying to keep marketing budget under 20% of sales.
Another, who is mostly in the VC business, finds the best way to gain traction for his startups is to create controversy - ie anything to be talked about.
In both cases you are trying to be talked about - either by directly paying for people to do that, or by providing entertainment value so people talk about you.
You could argue that both of those activities are already been automated - and the nice thing about sales is there is that fairly direct feedback loop you can actively learn from.
Yeah I really would like to know how many bots are on reddit (and on particular subreddits/threads) and also how many are here!
The interesting thing though is that the bots are just cheaper versions of real human influencers. So nothing has changed aside from scale (and speed) - the underlying mechanisms of paying for word of mouth is the same as it's been for a long time.
> Rule 5. Data dominates. If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.
If want to solve a problem - it's natural to think about logic flow and the code that implements that first and the data structures are an after thought, whereas Rule 5 is spot on.
Conputers are machines that transform an input to an output.
reply