Fully retired now and one of the things I’d like to do is get back into hobby programming through the exploration of new and new-to-me programming languages. Who knows, I might even write something useful someday!

  • 0 Posts
  • 38 Comments
Joined 1 year ago
cake
Cake day: July 4th, 2023

help-circle

  • I didn’t suggest otherwise. I was merely pointing at a couple of examples where some pretty smart, pretty experienced people used Go to successfully implement entire collections of algorithms in some very performance-sensitive systems. It’s just by coincidence that I chose those examples because that is where my study is right now. Ask me in a year and I might point to your project as an example when the next person is asking for similar advice.

    If Go isn’t going to be fast enough to perform your task, then you’re probably going to be sorely disappointed when you finally get the performance you’re after and then have to stick it at the end of a wire with all kinds of stuff between you and your end users:

    Operating systems, databases, hardware, virtual machines, containers, webservers, firewalls, routers, HTML/CSS/whatever, DNS, certificate authorities, more routers and firewalls, ISPs, modems, more routers and firewalls, WiFi connected machines of all kinds, and random browsers implementing any of several different rendering engines.

    Quite frankly I can’t imagine a language that won’t offer enough performance to meet your needs in that environment.


  • The CSS also came, with the idea that HTML should focus on text information while CSS should do so on the visual design.

    My biggest beef with CSS is that it’s on the wrong end of the wire. What ever happened to the idea that the client is in charge of rendering?

    Or maybe it’s that the clients have abdicated their responsibility: the browser included with OS/2 Warp had a settings page that let me set the display characteristics of every tag in the spec. Thus, every site looked approximately the same: my font, my sizes, my indents, my spacing, whether images displayed (or even downloaded, I think) and whether text split at an image or wrapped around it. And it’s not like I had to customize everything for each site: if you used a tag my browser recognized, my browser took over.




  • That IT subject matter like cybersecurity and admin work is exactly the same as coding,

    I think this is the root cause of the absolute mess that is produced when the wrong people are in charge. I call it the “nerd equivalency” problem, the idea that you can just hire what are effectively random people with “IT” or “computer” in their background and get good results.

    From car software to government websites to IoT, there are too many people with often very good ideas, but with only money and authority, not the awareness that it takes a collection of specialists working in collaboration to actually do things right. They are further hampered by their own background in that “doing it right” is measurable only by some combination of quarterly financial results and the money flowing into their own pockets.


  • I’ve always thought the best way to kill a hobby was to turn it into a job.

    100%

    I tried turning my hobby of programming into my job. On the surface, I was reasonably successful, but the most enjoyable aspects of my hobby had to be set aside in favour of actual productivity.

    Worse, the fact that I actually got pleasure from my work left me open to exploitation. When I finally woke up to that, I ditched programming in favour of “just a job” that paid the bills and was about a million times happier as a result. It’s only recently, 15 years after leaving the field, that I find myself once again drawn back to programming.


  • In the spirit of “-10x is dragging everyone else down” I offer my take on +10x:

    It’s not about personal productivity. It’s about the collective productivity that comes from developing and implementing processes that take advantage of all levels of skill, from neophyte to master, in ways that foster the growth of others, both in skill and in their ability to mentor, guide, and foster the growth of others. The ultimate goal is the “creation” of more masters and “multipliers” while making room for those whose aptitudes, desires, and ambitions differ from your own.



  • But typically when a field becomes more affordable, it goes up in demand, not down, because the target audience that can afford the service grows exponentially.

    I’ve always been very up front with the fact that I could not have made a career out of programming without tools like Delphi and Visual Basic. I’m simply not productive enough to have to also transcribe my mental images into text to get useful and productive UIs.

    All of my employers and the vast majority of my clients were small businesses with fewer than 150 employees and most had fewer than a dozen employees. Not a one of them could afford a programmer who had to type everything out.

    If that’s what happens with AI tooling, then I’m all for it. There are still far too many small businesses, village administrators, and the like being left using general purpose office “productivity” software instead of something tailored to their actual needs.



  • All excellent points. I never worked at those scales or under those conditions, neither should I have been permitted to. And I had enough self-awareness to keep myself away from anything like that.

    I guess when I read about this breach or that, the real damage seems to be a result of not having the basics covered. Whatever “basic” might mean for different scales of operation, encrypted at rest seems to be the the basis of public harm through theft of data, and it strikes me that if that can’t be managed at a particular scale, then operating at that scale should not be considered.


  • Of course, but that just makes the case for security as a foundational principle even stronger.

    Mistakes happen. They always will. That’s not a reason to just leave security as the afterthought it so often is.

    None of the things I mentioned have anything to do with errors and scope creep, but everything to do with building using sound principles and practices always. As in, you know, always. In class, during bootcamps, during design meetings, when writing sample code, when writing reference implementations, during the construction of the prototype that, let’s face it, almost always goes into production. Always.


  • That is something I just don’t get. I’m a hobbyist turned pro turned hobbyist. The only people who I ever offered my services to were either after one of my very narrow specialties where I was actually an expert or literally could not afford a “real” programmer.

    I never found proper security to have any impact on my productivity. Even going back to my peak years in the first decade of this century, there was so much easily accessible information, so many good tutorials, and so many good products that even my prototypes incorporated the basics:

    • Encrypt the data at rest
    • Encrypt the data in transit
    • No shared accounts at any level of access
    • Full logging of access and activity.
    • Before rollout, back up and recovery procedures had to be demonstrated effective and fully documented.

    Edited to add:

    It’s like safety in the workplace. If it’s always an add-on, it will always be of limited effectiveness and reduce productivity. If it’s built in to the process from the ground up, it’s extremely effective and those doing things unsafely will be the productivity drain.



  • This may not apply to your situation, but I found that most of my problems like this were related to “general vs specific”.

    Many people have difficulty generalizing from specific instructions so they need help every time something looks different to them. In an extreme case, found a person unable to choose a font in the header of a word processing document because the only thing they’d ever been shown was how to choose a font in the body of the document. It’s not even that they were particularly dense, it’s that they’d seen so much unexpected and unexplained variation in other areas that they started assuming that everything is an isolated task with a potentially distinct set of procedures. Now that I’ve switched from Windows to Linux, I’m getting a better understanding of how that happens, with many applications using different hotkeys, not implementing what I think are sensible “tab ordering”, etc.

    Many people have difficulty going from the general to the specific without also seeing several specific examples in a variety of scenarios. That kind of thing normally requires more formalized training. If their only exposure to your knowledge is through ad-hoc help desk kinds of interactions, there will be no opportunity to put everything together.


  • Thanks for your interest!

    Apart from here and “self-hosting” and other communities, if you’re a glutton for punishment, you can see what’s up at https://walloftext.ca. I’m currently in the process of rebuilding everything from the ground up, including an associated mastodon-compatible instance. I’ve not yet rewritten my project outline to account for all the new stuff I’ve learned about in the past few months, but it’s coming in the next few days.

    Just note the most important part of my tagline: “Unstable by nature”. Some would argue that applies more to me than the stability of the site and projects. 😛 Either way, chaos is probably the order of the day for at least the rest of this year. (And I mostly take summers off to reenergize by fishing, working in my shop, etc.)


  • Tension. Always tension. My mom had the same battles. My aunt never had trouble.

    I suspect that buying a new mid-grade machine or better from a reputable dealer is the secret. I’ve bought a couple of $50 used machines because I don’t want to spend 10 times that or more if it turns out that I’m not going to actually use it. I already do enough of that. 😀

    Go find a sewing club and get their advice. That’s what I’m doing the next time the bug bites.