• 0 Posts
  • 17 Comments
Joined 1 year ago
cake
Cake day: June 18th, 2023

help-circle




  • I’m still confused by this not being cross-platform. It’s made in Rust; basically every graphics library is cross platform out of the box, and so is all the file IO stuff. There will be some specialist OS api stuff in places but surely it can’t be much.

    For once this comment isn’t even snark. I acknowledge my ignorance and wonder if someone could explain why the cost is bigger than I think?

    Perhaps it’s setting up CI and packaging for other platforms? Maybe they want human QA on every release? Maybe the APIs for slick OS integration are more complicated than I realise? (e.g. putting UI in the taskbar)


  • Counter-point: Atom is terrible. Its electron competitors are terrible. Big IDEs are terrible. Simple text editors are terrible.

    If you are under 50 and chose to learn vim or emacs, there is a 100% chance that you were also forced to learn latin at school and honestly it’s not your fault that you turned out this way.

    These are all the options. Sometimes all the options are terrible.


  • Here’s one I learned from a past manager:

    Stress that everyone needs to pitch in and make themselves useful at all times, but do not share any information at all

    Make sure the work is not broken down into clear tasks. Make sure nobody else has access to the stakeholders. Make people ask separately for every single account or access credential they need, and respond with incredulity that they don’t already have it.

    Give the impression that there are no processes. When someone submits work, criticise them for not following the process.

    Each day, schedule meetings so you are impossible to contact until the early afternoon. That way you can interrupt any request for information by asking the person what work they did in the morning. The goal is to close the loop by making people scared to talk to you, so they blame themselves for not knowing anything.



  • Rewriting bits of the kernel makes sense. I can’t imagine them porting much C# to Rust though, beyond very small, self-contained services.

    Everyone likes a dramatic headline, but in my estimation there is 0% chance of Microsoft pushing widespread Rust adoption over C#.

    In the long-term I’d guess they are more likely to continue extending C# with features that make it possible to optimise hot loops. They already added NativeAoT and ref structs, and they have done a lot of research into memory regions and capabilities (an alternative to Rust’s affine types).

    Eventually it may be possible to opt into a clunky language subset that gives Rust-like performance without giving up memory safety.

    They are also quite likely to use OS-level intervention to safely sandbox C++ code inside a .NET process without giving up performance. They’ve done a lot of research on this, and now they can steal notes from webassembly too.


  • Haskell has very famously not solved this problem. As in, pretty much every academic paper published on the subject in the past 15 years includes a brief paragraph explaining why Haskell’s effect monads are terrible.

    Also, it would be surprising for Rust’s developers to be scared of monads when Rust already has monads as a core language feature, with special syntax support and everything.





  • It’s similar to any tech buzzword. Take “agile” for example. Agile was successfully sold as being a great idea without really being well-defined. Suddenly anyone selling a development methodology had a strong incentive to pitch it as being the real way to do agile development.

    In the 90s and 2000s every 10x california tech guru agreed that OO was the future, but apparently none of them actually liked smalltalk. Instead, every new language with a hint of dynamic dispatch suddenly claimed to represent the truest virtues of OO.

    There are also people who argue that smalltalk is not true OO. They say that by Alan Kay’s own definition the most OO language is Erlang.

    I think it’s most useful to learn about that history, instead of worrying about people’s post-hoc academic definitions.




  • I use a Tokonami KX450, which is not the newest but it’s the most widely available military-grade model that the average silicon shop is able to customise.

    With that in mind you’ll want a uranium microreactor to really get that turbo button cranking out the keycodes (the french stuff is cheapest but ukrainian kit is worth the extra), as well as a mercury cooling solution and ideally a set of maglev keys for all the most common letters (NOT backspace; frankly you should remove that key entirely to avoid habits that damage your WPM).

    Assuming you’ve got a solid pair of high-torque power gloves that should get you up to at least 20000 WPM, which admittedly won’t cut it if you’re trying to keep all the NPM dependencies up to date in a modern bank’s transaction processing software, but it’s probably enough if you’re just doing a bit of data analysis in python.