This was incredible to watch, and I have to chuckle at this title. It's obvious why the webcam matters, with people round the world watching, but the destruction of a webcam is such a tiny thing in comparison to the eruption itself it's strangely funny.
And that hasn't changed much since. At work and at home, I'm usually looking at emacs with no tab or menu bar, full screen on all monitors, with everything else (browser, etc) a virtual desktop switch away: exwm at home, one terminal emacsclient in ssh per monitor with a single daemon on linux server (accessed from Windows) at work. With many minor variations this is how my desktop has looked since my first programming job, which coincidentally was in 2002, but the details of the setup have changed a lot. The bit that has remained constant is that all I want on my monitor(s) when I'm programming is code.
Edit: Probably the most visible change is better fonts and font rendering.
Edit 2: To expand on "all I want is code": let's say there is a menu bar with maybe 10 menus and 100 or so items, and a project navigator thingy, and a compiler output window. I would much rather these things not take up permanent space on my screen. Every one of them shows information/commands that I can access with a key combination and in some cases some fuzzy completion after hitting a key combination. Any decent editor can do this and you can learn it in an afternoon, and if you're going to spend the next couple of decades in front of it it's worth getting rid of the pixels permanently allocated to advertising "you can do this thing".
It has a price for the person with the condition. For the person developing the cure it does not (except perhaps opportunity cost, money not made that could have been), whereas killing their patients can have an extremely high one.
100% agree, but fortunately I don't think it is the "default lens". If it were nobody would be adding new async mechanisms to languages, because "what color is your function" was a self-described rant against async, in favour of lightweight threads. It does seem to have established itself as an unusually persistent meme, though.
If by "we" you mean US popular culture, yes. It's not universal, and definitely varies by country.
In the UK we don't tend to idolise the rich so much. Not to say it doesn't happen, but in popular culture positive depictions tend to be limited to period portrayals of idealised aristocracy (and even then it's rarely shown as heroic), with contemporary wealth usually treated as a dubious virtue.
Yes. Good point. This is a pretty US specific cultural phenomenon.
Probably rooted in the 'self made man', 'rugged individualism'. Go West to make your fortune. We forget the US is pretty young, and still has a lot of culture based on colonizing the west, taming the wilderness to find your riches.
It's a collection of interesting assembly snippets ("gems and riddles" in the author's words) presented without commentary. People have posted annotated "solutions" online, but figuring out what the snippets do and why they are interesting is the fun of it.
It's also available as an inscrutable printed book on Amazon.
Visual Studio Code has absolutely nothing to do with Visual Studio. Both are used to edit code.
.NET Core is a ground up rewrite of .NET and was released alongside the original .NET, which was renamed .NET Framework to distinguish it. Both can be equally considered to be "frameworks" and "core" to things. They then renamed .NET Core to .NET.
And there's the name .NET itself, which has never made an iota of sense, and the obsession they had with sticking .NET on the end of every product name for a while.
I don't know how they named these things, but I like to imagine they have a department dedicated to it that is filled with wild eyed lunatics who want to see the world burn, or at least mill about in confusion.
> they have a department dedicated to it that is filled with wild eyed lunatics who want to see the world burn, or at least mill about in confusion.
That's the marketing department. All the .NET stuff showed up when the internet became a big deal around 2000 and Microsoft wanted to give the impression that they were "with it".
I'm not sure what point is being made here. AIUI, Musk comes from a wealthy family. Are you saying a biography would say otherwise?
I think the point people are making about the low wage jobs is that it's irrelevant. People from wealthy backgrounds take low paid jobs sometimes, so having done so doesn't imply he's a rags-to-riches story.
I'm saying Musk's company was not founded on family wealth. Even if it was, where are all the other trillion dollar companies given that lots of families have wealth?
> People from wealthy backgrounds take low paid jobs sometimes, so having done so doesn't imply he's a rags-to-riches story.
It does in Musk's case. Why not read a biography of him? It's more interesting than speculation.
Nobody said his company was "founded on family wealth". They said he had that wealth available as a cushion to fall back on should his ventures fail. They also never said "every person from a rich family can make a trillion dollar business". They claimed that those who found successful businesses are disproportionately from wealthy backgrounds, and provided a supposed mechanism: a greater ability or willingness to take financial risks knowing there is a limit
to how far they can fall if they don't pan out.
Personally, I don't have any view on whether that is correct or not but it's obviously the claim that was made. It seems plausible but I'd want to see some actual data to believe it, not just anecdotes about a few of the most famous founders. Your points about low wage jobs and other trillion dollar companies are simply not relevant to it, and if biographies of Elon Musk contain information that would refute it you haven't said what or how.
Knowing you are an extremely accomplished man and fully capable of parsing this, I have to wonder why you seem blind to it.
I've come to quite a specific definition of "bad code", at least the main form of bad code that infests corporate environments. It's overly complicated code, but people disagree on what that means too, and I have a concrete definition of that now.
Bad, over-complicated code is code that requires you to form an unnecessarily detailed mental model of it in order to answer a particular question you may have about it.
People rarely read code in its entirety, like a novel. There is almost always a specific question they want to answer. It might be "how will it behave in this use case?", "how will this change affect its behaviour?" or "what change should I make it to achieve this new behaviour?". Alternatively, it might be something more high level, but still specific, like "how does this fit together?" (i.e. there's a desire to understand the overall organisational principles of the code, rather than a specific detail).
Bad code typically:
* Requires you to read and understand large volumes of what should be irrelevant code in order to answer your question, often across multiple codebases.
* Requires you to do difficult detective work in order to identify what code needs to be read and understood to answer the question with confidence.
* Only provides an answer to your question with caveats/assumptions about human behaviour, such as "well unless someone has done X somewhere, but I doubt anyone would do that and would have to read the entire codebase to be sure".
Of course, this doesn't yield some number as to how "complicated the code is" and it depends on the question you're asking. A codebase might be quite good on some questions and bad on others. It can be a very useful exercise to think about what questions people are likely to seek answers for from a given codebase.
When you think about things this way, you come to realise a lot of supposedly good practices actually pessimise code in this sense, often for the sake of "reusability" of things that will never be reused. Dependency injection containers are a bête noire of mine for this reason. There's nothing wrong with dependency injection itself (giving things their dependencies rather than having them create them), but DI containers tend to end up being dependency obfuscators, and the worst ones import a huge amount of quirky, often poorly-documented behaviour into your system. They are probably the single biggest cause of having to spend an entire afternoon trawling through code, often including that of the blasted container itself (and runtime config!), to answer what should be a very simple and quick question about a corporate codebase.
>People rarely read code in its entirety, like a novel. There is almost always a specific question they want to answer. It might be "how will it behave in this use case?", "how will this change affect its behaviour?" or "what change should I make it to achieve this new behaviour?". Alternatively, it might be something more high level, but still specific, like "how does this fit together?" (i.e. there's a desire to understand the overall organisational principles of the code, rather than a specific detail).
+1. For me the most frustrating one is "where is the core logic for this one user-visible feature actually implemented?"
You look in all the obvious places and it's just nowhere to be found. Or it's shredded into tiny pieces and scattered across multiple files and seventeen layers of inheritance ...
reply