• 0 Posts
  • 32 Comments
Joined 2 years ago
cake
Cake day: June 18th, 2023

help-circle
rss



  • At this point I have a hard time believing that anyone can buy a Chinese product and then talk about there being a “secret backdoor” in seriousness.

    Come on: We all should know by now that if it’s Chinese, there is more likely than not some way for Xi to use it for something other than what you want the product to do. There’s nothing “secret” or “back” about this door. It’s more like an open front gate with landing strips and a “welcome home Pooh bear” sign.


  • Not running any LLMs, but I do a lot of mathematical modelling, and my 32 GB RAM, M1 Pro MacBook is compiling code and crunching numbers like an absolute champ! After about a year, most of my colleagues ditched their old laptops for a MacBook themselves after just noticing that my machine out-performed theirs every day, and that it saved me a bunch of time day-to-day.

    Of course, be a bit careful when buying one: Apple cranks up the price like hell if you start specing out the machine a lot. Especially for RAM.




  • I have to be honest in that, while I think duck typing should be embraced, I have a hard time seeing how people are actually able to deal with large-scale pure Python projects, just because of the dynamic typing. To me, it makes reading code so much more difficult when I can’t just look at a function and immediately see the types involved.

    Because of this, I also have a small hangup with examples in some C++ libraries that use auto. Like sure, I’m happy to use auto when writing code, but when reading an example I would very much like to immediately be able to know what the return type of a function is. In general, I think the use of auto should be restricted to cases where it increases readability, and not used as a lazy way out of writing out the types, which I think is one of the benefits of C++ vs. Python in large projects.


  • The amount of people I’ve been helping out that have copied some code from somewhere and say “it doesn’t work”, and who are dumbfounded when I ask them to read the surrounding text aloud for me…

    Along the same line: When something crashes, and all I have to do is tell people to read the error message aloud, and ask them what that means. It’s like so many people expect to be spoon-fed solutions, to the point where they don’t even stop to think about the problem if something doesn’t immediately work.


  • While I do agree with most of what is said here, I have a hangup on one of the points: Thinking that “docstrings and variable names” are a trustworthy way to indicate types. Python is not a statically typed language - never will be. You can have as much type hinting as you want, but you will never have a guarantee that some variable holds the type you think it does, short of checking the type at runtime. Also, code logic can change over time, and there is no guarantee that comments, docstrings and variable names will always be up to date.

    By all means, having good docstrings, variable names, and type hinting is important, but none of them should be treated as some kind of silver bullet that gets you around the fact that I can access __globals__ at any time and change any variable to whatever I want if I’m so inclined.

    This doesn’t have to be a bad thing though. I use both Python and C++ daily, and think that the proper way to use Python is to fully embrace duck typing. However that also means my code should be written in such a way that it will work as long as whatever input to it conforms loosely to whatever type I’m expecting to receive.




  • I’ve found that regex is maybe the programming-related thing GPT is best at, which makes sense given that it’s a language model, and regex is just a compact language with weird syntax for describing patterns. Translating between a description of a pattern in English and Regex shouldn’t be harder for that kind of model than any other translation so to speak.


  • In general I agree: ChatGPT sucks at writing code. However, when I want to throw together some simple stuff in a language I rarely write, I find it can save me quite some time. Typical examples would be something like

    “Write a bash script to rename all the files in the current directory according to <pattern>”, “Give me a regex pattern for <…>”, or “write a JavaScript function to do <stupid simple thing, but I never bothered to learn JS>”

    Especially using it as a regex pattern generator is nice. It can also be nice when learning a new language and you just need to check the syntax for something- often quicker than swimming though some Geeks4Geeks blog about why you should know how to do what you’re trying to do.



  • Of course, Li-ion batteries will never cover large-scale power demand. Not primarily because of lack of lithium, but because it’s a technology that scales far too poorly into the MWh/TWh scale, and has a far too short lifetime.

    The battery tech we need for truly large scale storage is different from what we need for small, portable storage. Stuff like redox-flow batteries are looking promising.

    There’s also hydrogen, with different storage methods being actively researched- from direct storage to using ammonia as a carrier.

    The issue with using mechanical storage (like pumped hydropower) is threefold (off the top of my head):

    1. It has ridiculously low energy density
    2. Even after > 100 years of pumps and turbines, the power loss in a pump/release cycle is very high.
    3. It’s heavily limited by geography

    I’m not saying pumped hydropower isn’t part of the solution: I believe the solution is that we need many solutions. I just think it’s important to point out that battery tech isn’t some monolithic thing, and that there are issues with pumped hydropower (and mechanical storage in general).



  • If we’re able to make hydrocarbon-synthesis from CO2 efficient… we’re still going to need to source the hydrogen somewhere.

    But if we do that using electrolysis (with renewables), and are able to create more energy efficient CO2 capturing processes, I could see synthetic hydrocarbons as a viable fuel option in the future. The thing is: They’re stupidly good at being stable, energy dense, energy carriers. We also have a lot of infrastructure in place to handle hydrocarbons already.

    In principle, synthetic hydrocarbons could be part of a zero-emission cycle, where we capture CO2 and electrolyse hydrogen with renewable energy, and use the hydrocarbons as an energy carrier. But if we go that way, we’re definitely going to have to research efficient hydrogen production, and probably storage as well.


  • One of the advantages of hydrogen is that tanks and fuel cells can withstand a large number of “charging cycles” much better than batteries. Additionally, for ships, the amount of energy needed to move is so enormous that I fear we’ll have a hard time creating batteries that are feasible for long-distance shipping.

    For short distance ferrying (including large, car carrying ferries) on the other hand, Norway has already implemented quite a few electric stretches. The major issue there is building the infrastructure to charge the ferries.