And yeah, don't have adblock on my work PC which is probably why it's so insufferable.
Advertising the kind of industry that you'd really like to shove into a plywood submarine and set its bearings for the Titanic.
414 karma · joined October 12, 2016
And yeah, don't have adblock on my work PC which is probably why it's so insufferable.
Advertising the kind of industry that you'd really like to shove into a plywood submarine and set its bearings for the Titanic.
Whenever we visited him, I would flip through the book and marvel at the creativity of nature.
These photos made me feel a little bit in the same way.
And, well, as much as I applaud the effort, I also think that I'll stick to my text editor for browsing JSON data and to jq for extracting data from it.
My text editor because it's easy to perfom free text search and to fold sections, and that's all that I need to get an overview.
Jq because it's such a brilliantly sharp knife for carving out the exact data that out want. Say I had to iterate a JSON array of company departments, each with a nested array of employees, and collect everyone's email. A navigational tool doesn't help a whole lot but it's a jq one liner. Jq scales to large data structures in a way that no navigational tool would ever do.
Also, there is the security issue of pasting potentially sensitive data into a website.
Yeah, well, Communism was meant to put an end to poverty and class injustice. Brexit was meant to restore glory to Britain. The Catholic Church was mean to put an end to vice. Things don't always do what they say on the tin.
As the Bible puts it: "For every tree is known by its own fruit".
Specifically, if the fruit seems consist of nothing but speculative bubbles and billion dollar frauds then that may be the true nature of the tree.
The source code is here, by the way: https://github.com/mvindahl/interword-c64
Still, a few general observations about that particular corner and that particular time of software development:
- There were multiple successful 8-bit platforms, all of which were very different from each other. Different makes of CPU, different custom chips, different memory layout. You could be an expert in one and an absolute novice in others.
- The platforms were more constrained, by magnitudes. A very limited color palette, far fewer pixels, far less RAM, and far slower CPUs. For a semi-large project, it could even become a challenge to keep the source code in memory and still have room for the compiled machine code.
- On the upside, the platforms were also far more stable and predictable. A Commodore 64 that rolled out from the factory in 1982 would behave identically to one built five years later. Every C64 (at least on the same continent) would run code in exactly the same way.
One thing that followed from the scarcity and from the stability is there was an incentive to really get close to the metal, program in assembly language, and to get to know the quirks and tricks of the hardware. Fine tuning an tight loop of assembly code was a pleasure and one could not simply fall back on Moore's law.
It was a simpler world in the sense that you didn't have to check your code on a number of machines or your UI on a number of window sizes. If it worked on your machine, it could be assumed to work everywhere else.
Another thing that I remember is that there was more friction to obtaining information. The internet wasn't a thing yet but there were text files flowing around, copied from floppy to floppy, and you could order physical books from the library. But a lot of learning was just opening up other people's code in a mchine code monitor and trying to understand it.
Some of these things started to change with the Amiga platform, and once PCs took over it was another world, with a plethora of sound cards and graphics cards and different CPU speeds that people had to deal with.
And also because it’s not necessary; existing regulation will get us most of the way:
- if you are, in effect, selling a security, let this be regulated this like any other security
- if you are, in effect, running a bank, etc.
- if your coin X acts like an intermediary for transferring money to hostile jurisdiction Y, then regulate transfers to X like transfers to Y. Forbid these if necessary.
- if your manufacturing process is needlessly wasteful then forbid this manufacturing process (globally) under threat of forbidding your product
Etc
Back in 2022, we’re now looking at a technology that has not, for all its promises of a glorious future, has not produced anything but centralized Ponzi-as-a-Service platforms, a way for organized crime to move money, and smokestacks. At least asbestos and freon had some utility.
Wired: Coinbros on Fire Festival
Sure, index funds are freeloading a bit in the sense that they don't allocate any resources to scrutinizing the prospecta of each individual company, they just assume that other market players have done they homework.
This would be a problem if every investment was passively managed but that's not the case and it will never be. If we ever came close to that, then actively managed funds would outperform the passively managed ones by large margins.
Also, would suggest mentioning gitbash in the Windows section. You get it for free with git so it's easy to come by, even in corporate environments where obtaining permission to install software is hard. If combined with something like ConEmu, it's actually pretty nice.
My overarching goal is to be able to create and deploy a new web app, from scratch, and just have the platform take care of all the boring stuff that should just work.
So far I've been pretty pleased with nextjs and now 2.0, especially once I grokked the lambda concept and found out how to slice my old express server into vertical pieces. Also, I had to realize that the monorepo model was the right fit.
I'm not quite up and running yet on now 2.0 but I'll be any day now. Curious as to how it will affect my bill.
Anyway, being a professional, I put in my hours and did my best to contribute until the contract ran out. But I also stuck a post-it note to the bottom of my screen with my all-time favourite Polish phrase: "Nie mój cyrk, nie moje małpy". Literally: "Not my circus, not my monkeys.". I.e. the inherent brokenness wasn't my problem to fix.
Also, by all means, memorize the delineation tables and the rotes that will help you identify accusative and dative. I still remember those from school and they never cease to be useful.
Oh, and by the way, it turns out that Polish is even worse in terms of grammar .. or maybe my mind is just less pliable these days :)
A spaghetti monster which solves a real business problem can be improved, chunked into pieces, gradually rewritten, whatever improves maintenance. If need be, there will be funds and time for doing so.
By contract, an impeccably architectured, layered, no-design-patterns-omitted, product which solves no business problem .. oh, the horror.
The most prominent one started out more than two decades ago by as a kind of subscription service -- every week you'd get a bag containing the produce of the season, along with weird stuff like Hokkaido pumpkins that most people had no idea what to do with.
These days they ship recipes along with the exact quantities of ingredients that you'll need for cooking. Often ingredients that are hard to come by in grocery stores. It's time saving and usually delicious.
Anyway, my point is, they bootstrapped their business, pivoted a bit here and there, and built it to be profitable. So it's certainly doable.
- Usually, for large chunks of work, you want to bring in more people. Both because they tend to involve several modules or several layers of the stack, and very few people are equally skilled in every part of the codebase. But also because there will most probably be design decisions and tradeoffs along the way to discuss. Coordinate who is working on which parts of the codebase at any given time.
- I'd avoid excessive preplanning. But I'd make tasks to make explicit the general plan and the interdependencies. E.g. create new server API, then refactor client, then remove old server API.
- Don't be too concerned with showing progress in stand-ups. Feeling like you need to do this to justify yourself is a team process smell. Abandon them if they bring no value, e.g. if you have a de facto three people subteam who is coordinating all the time anyway.
I don't think a developer is ever "easily replacable" (discounting obviously incompetent people which shouldn't have been hired in the first place). As soon as we join a team we start accumulating all kinds of knowledge about the codebase, the domain, the history, company politics, etc. Replacing with a new hire is back to square one. It's expensive, disturbing, and generally undesirable from a company perspective.
Yet you can't blame companies for trying to make each developer "as replacable as possible". There is always an employee churn -- people leaving for all kinds of reasons, some after a short while, some after decades -- and new people being hired. It's in the company's best interest to minimize the cost of this entirely predictable churn.
Actually, I think it's in the best interest of the developer as well. The more replacable we can make ourselves, the easier it is to leave to work on new, exciting projects. The more irreplacable, the more likely we are to be the dude who spent the past ten years maintaining the module written in $OBSOLETE_LANGUAGE_OR_FRAMEWORK because everyone else left and nothing was really documented.
I don't think daily stand-ups is really the tool for making yourself replacable since the information transmitted tends to be very short lived. Good code structure, well maintained tests, rock solid build env, good documentation of purpose, requirements, design considerations ... we never quite arrive at that nirvana but it would be the goal to aim for.
Yet the total amount of gold on this planet is finite, and as the millennia have passed, it has become increasingly expensive to dig it out of the ground. These are the same properties that people laud in bitcoin.
> Bitcoin's supply curve is programmed with time as the only input
As far as I am informed, bitcoin mining farms also tend to be connected to the power grid. May be just to keep the soft drink vending machine running. Dunno.
> This is a coup de grâce against every other existing store of value.
Limited supply is by no means unique to bitcoin. Gold and real estate share the same properties.
And yeah, you can encode your private keys in gold, and I kind of think that everyone should do that, to keep future archaeologists puzzled :-P
1) Has been used for millennia. Bitcoin was invented ten years ago.
2) Accepted as valuable by most of human population. Bitcoin mostly as valuable within internet echo bubbles.
3) Although price fluctuates, it's more stable than that of bitcoin, thus better suited as store of value.
4) Has applications for industrial uses or for jewelry, guaranteeing that your gold retains at least a base value. Same cannot be said of prime number data structures.
5) Doesn't corrode and doesn't depend upon hardware or storage media to be working.
I'm not saying that people should hoard gold, just that bitcoin is a pretty poor substitute.
And, BTW:
> No countries win the gold-geography lottery (Your country that has no gold reserves can still accumulate)
Pop quiz: the population of Germany is roughly on par with the population of The Democratic Republic of Congo. Do the citizens of the two countries currently hold the same amount of bitcoin? If not, how come?
If, on the other hand, you put down your money in bitcoin or at the online blackjack tables then you're gambling, not investing. Win or lose, your gamble creates zero domestic growth. Why should any government incentivize that?
Either way, it would make sense to tax cryptocurrency trading by using the same tax code as other kinds of overseas online gambling.
Sounds like a brill idea. We could cut those pesky developers out of the loop. I imagine that the AI would need some kind of detailed specification to guide it. To avoid ambiguity, the spec should have a very clear syntax. We'd need people to translate from human language to spec language, of course. And to remove unforeseen consequences, and to change the spec as business requirements evolve. And when unsupervised, these people would argue over indentation or write comments on HN ...
Hey, wait ...
:^)
From here, it may be possible to kick the bucket down the road a couple of times but basically I think it's game over.
Was hoping to at last have someone describe an actual use case for the blockchain, but nope, another blank.