• 4 Posts
  • 149 Comments
Joined 2 years ago
cake
Cake day: July 8th, 2023

help-circle
  • I’d be happy to test on android, I’ll send a DM

    If you make it manage ssh keys on desktop (create new ssh key, give them nicknames, set default key, etc) I would be thrilled. I’ve attempted to make my own, with Tauri specifically, but I just have too many projects.

    I have also come up with a way to compile the keepass crate to WebAssembly

    This is exciting. My only request here is: whenever it works please release a standalone wasm file somewhere (anywhere). So many projects either require building the wasm themselves, or instead of releasing a .wasm, they release a JS wrapper that auto-loads the wasm/wasm-imports. Its a pain to try to extract the wasm out of those projects.




  • I disagree. Yes there can be good intermediate steps, but deleting slop is not even half as healthy as locking a phone away.

    1. Interruptions

    Not just phone calls or texts, but things like typing an email on the phone and then seeing a text or having the GPS interrupt your train of thought by yelling “Continue straight for 5 miles”. Brains hate interruptions. Those are still going to exist even when the slop is gone.

    1. Resisting a temptation is exhausting. “not eating candy is healthy”… yes but having a candy bowl right next to your desk is exhausting. It takes 2sec to open a twitter link in the browser. Uninstalling an app is like moving the candy bowl to a nearby room, yeah its better, but it only takes 30 sec to reinstall.

    Turning off the dopamine machine (not eating candy) is one thing. But Eddy was showing something a lot bigger than that; deleting his access to the temptation. He didnt know the code to unlock the phone.


  • My guess, 10,000x the cost on CL1. Even with the tech perfected, bio neurons fire much much slower than logic gates and electricity in a circuit board. If you have an ASIC (custom built board that isn’t really using a CPU), the ASIC would be much much faster for deterministic calculations at high speed with an active cooling system.

    Bio neurons are great at self-organizing. If you already know how they need to be organized (e.g. a hashing algorithm), and you need max-speed output there’s no real advantage.

    It’s not wrong to say bio neurons are power efficient, its just that power efficiency depends on what the activity is.


  • Don’t worry all neurons are cage free, grass fed, open range

    For real though, where the neurons come from is as interesting/impressive as the computation itself. The guys at Cortical, at least in prototyping, give blood samples, revert blood cells into a stem cell state, and then (over the course of 6 months) they convert their stem cells into neurons before putting them into a dish. (To be clear, Cortical did not invent the stem cell tech at all. Apparently its standard practice and nobody in the bio engineering world cared to tell the rest of the world.)

    Meaning… You could theoretically build a computer out of your own neurons and then program them.





  • Input speed is not “just” input speed.

    Note: I’m not about to argue for or against modal editors, I just want to answer: why is input speed really really really important, when (we agree) its not a big percent of total time.

    5min at 80mph over a bumpy dirt path is very very different than 5min of flat smooth straight driving. And not just because of effort.

    A senior and junior dev could spend the same amount of time to rename a var across 15 files, move a function to a new file, comment out two blocks, comment one back in, etc. But. When I try to have a conversation while they do that, or when I change my mind and tell the junior to undo all that, its a massive emotional drain on the junior.

    But effort isn’t the whole picture either: speed is a big deal because pausing a conversation/mental thought for 5 seconds while you wait to finish some typing, is incredibly disruptive/jarring to the thought-process itself. That’s how edge cases get forgotten, and business logic gets missed.

    Slower input is not merely input time loss, it also creates time loss in the debugging/conceptualizing stages, and increases overall energy consumption.

    If the input is already fast enough that there’s no “pauses in the conversation” then I’d agree, there’s not much benefit in increasing input speed further. BUT there’s almost always some task, like converting all local vars (but not imported methods) in a project to camel case, that are big enough to choke the conversation, even for a senior dev. So there’s not necessarily a “good enough” point because it’s more like decreasing how often the conversation gets interrupted.


  • Don’t Speculate

    Go to Twitch/YouTube. Watch a senior Vim/Jetbrains/Emacs/VS Code/Helix dev churn out code for a hackathon/advent-of-code, and see what you are (or are not!) missing out on.

    If you have “how the hell did they just do that” moments, figure out what that feature is, and STEAL IT. If its too hard to steal, then maybe you are being limited by your editor. Base your “fear of missing out” on what you see rather than random people tossing their opinions around. Only you can answer “how much is that feature worth to me and my workflows?”

    • If you’re going to try modal editors, sooner is exponentially better. Probably start with Vim bindings for VS Code.
    • If you’re not going to go modal, then make absolutely sure you don’t bottom out. To be frank, Ctrl+D is the tip of the iceberg. Half the benefit of modal editors is, mastery is mandatory; they chase you around with a 10k volt taser until you’ve got 100 instinctual shortcuts. Hardly anyone mentions this but Go beyond/outside your editor: At the OS level, use spacebar as a modifier key, where holding spacebar converts your WASD into arrow keys. Then disable your normal arrow keys. Something like that will get you vim-like benefits, but in every app, and with a learning bump instead of a learning mountain. For VS Code, get cursor jumper extensions like Mario (block jumper), get cursor-alignment extensions, write boatloads of custom code snippets, get a macro record+replay extension, make a jump-to-next quote, jump to next bracket, install sequential number generator extension, a case change (camel case, snake case, etc) extension, sort lines, case-preserving rename. If you can avoid bottoming out, and keep learning, you’ll likely never feel that you are missing out on whatever modal editor people are swearing by.

  • Its a tough problem. You have to find something that you want to exist; like an app or a website or a game. For example, try making a GUI for managing SSH keys. You know, like the ones github makes you create in order to clone and push to a repo. Make a visual representation of those keys (stored in the .ssh folder), and tools to add/delete them.

    Along the way you’ll find tons of missing things, tools that should exist but don’t. Those are the “real” projects that will really expand your capabilities as a developer.

    For example, I was coding in python and wanted to make a function that caches the output because the code was inherently slow.

    • but to cache an output we need to know the inputs are the same
    • hashes are good for this but lists can’t be hashed with the built-in python hash function
    • we can make our own hash, but hashing a list that contains itself is hard
    • there is a solution for lists, but then hashing a set that contains itself is a serious problem (MUCH harder than hashing a list)
    • turns out hashing a set is the same problem as the graph-coloring problem (graph isomorphism)
    • suddenly I have a really deep understanding of recursive data structures all because I wanted to a function that caches its output.

  • This could actually be a pretty big deal

    1. The Eclipse foundation has been making alternatives to VS Code’s “killer apps” (Docker, Python, Go, C++, SSH, Live share, etc). AKA the closed source ones exclusive to VS Code offical that make all forks of VS Code a huge downgrade. The Eclipse foundation is also running the extension store that powers VS Codium.
    2. “why not just use VS Codium?” (With the killer extensions made by Eclipse)
      • VS Codium is great, but because of manpower limits, they always have to be “downstream” of VS Code. They can’t rewrite any of the core systems.
      • As someone who contributes to VS Code, and loves VS Codium, many issues I have with VS Code have been open on github for +7 years, with hundreds of comments and thumbs-ups. We can’t even sort the file explorer view by last-edited and folders-first (but we can do folders-first alphabetical). Thats been open since 2017.
      • Theia looks like it could finally be the hard fork I’ve been waiting for. A hackable editor, trying to be open source, where all my extensions work, and the community can actually make a PR, get it merged, and extensions are not excessively sandboxed.
      • Will it be that? Only time will tell, but the Eclipse foundation has a pretty good record. They’re definitely prepared for long term support.

  • jeffhykin@lemm.eetoFediverse@lemmy.worldWhat are your complaints about Lemmy?
    link
    fedilink
    English
    arrow-up
    11
    arrow-down
    1
    ·
    2 years ago

    The “front page” of most instances are not interesting to average people or to professionals (e.g. local gov that wants to go open source, like those switching to Mastodon).

    Part is lemmy’s hot-sort is basically broken as a ranking, another part is bad language filters, another part is that major communities here (fediverse, Linux memes, star trek memes, science memes, etc) are off-putting with in-group jokes. Its a hard fix.


  • Same haha.

    I’ve already started it twice for lemmy, but didn’t put in heavy effort yet. I’ve got a wrapper for nix that helps with common issues, but its on the messy side.

    There are so many small GUI apps I want to make but I refuse until I can get Tauri to build an appimage and macos app within nix. It was more than a year ago since I put a lot of effort on that though. If you’ve got any tips/pointers or examples for tauri I’d be happy to hear them.



  • Sadly it still causes system instability even if you NEVER need the feature.

    You might not need numpy at all, but Pandas needs numpy and Opencv needs numpy. Sometimes pandas needs one version and Opencv needs a different version. Well… python only allows one global verison of numpy, so pandas and opencv fight over which one they want installed, and the looser is forced to use a numpy they were not designed/tested for. Upgrading pandas might also upgrade numpy and break opencv. That causes system instability.

    Stable systems like cargo coupld upgrade pandas, have pandas use numpy 1.29 without touching/breaking opencv (opencv would still importing/using using numpy 1.19 or whatever). That stability is only possible if the system is capable of having two versions of the same dependency at the same time.


  • I feel like they missed the most important point in their abstract and top of their conclusion; why is urban agricultural producing more carbon. The TLDR conclusion is “urban garden = bad”. But if done correctly, theres no way a rainwater compost local vegetable using handmade wooden tools burns more carbon than air-freight across the Atlantic.

    Its not till much later that they say “If our UA sites sourced all their materials from urban waste, all three forms of UA would be carbon-competitive with conventional agriculture”


  • And FYI to OP, if you can’t install two versions of the same library at the same time (ex: numpy 1.25 and numpy 1.19) then the answer to “has its dependencies under control?” is generally “no”.

    • Deno (successor to NodeJS) is “yes” by default, and has very very few exceptions
    • Rust can by default, and has few but notable/relevant exceptions
    • Python (without venv) cannot (even with venv, each project can be different, but 1 project still can’t reliably have two versions of numpy)
    • NodeJS can, but it was kind of an afterthought, and it has tons modules that are notable exceptions


  • jeffhykin@lemm.eetoProgramming@programming.devIncus and programming
    link
    fedilink
    arrow-up
    1
    arrow-down
    2
    ·
    edit-2
    2 years ago

    The more reliable/reproducible the container is the more pain/effort it is to setup. If you don’t need reliability, then you don’t need containers.

    • If you want unbeatable reliability, use nix.
    • If you want better-than-nothing use venv/anaconda envs (one or the other, not both)
    • If you want the most reliability-per-effort and don’t care about performance, use distrobox