• 0 Posts
  • 110 Comments
Joined 2 years ago
cake
Cake day: June 22nd, 2023

help-circle


  • Take your pet for a walk.

    Personally I find biphasic sleep pretty normal and easy to do when I’m working a job in a timezone that’s behind mine by a few hours.

    Go to bed at 12:30, sleep 4.5 hrs til 5:00, wake up with the cat at dawn, take them outside and enjoy the morning tranquility for a bit, go back to bed at 6, sleep til 9, get up to start my job at 10 or 11.

    I don’t do it when I have to be up early though, I both always struggle to go to bed early, and I find waking up and being up in the middle middle of the night, to feel more stressful than doing it at dawn.





  • For an IDE.

    I can configure VSCode as a full IDE for say C#/.Net development, and it performs pretty much just as well as VS which is written natively.

    Ditto for configuring it as a Python IDE vs PyCharm, ditto for Java and Eclipse, ditto for basically everything else.

    And I’m sorry but I have to respectfully disagree here: VIM / Neovim / any purely text based editor has never had anywhere near the same feature set as VS Code + it’s extensions. They are more performant, run anywhere, and can be configured to be quite powerful, but they’re still fundamentally hamstrung by using a typewriter’s line by line interface rather than being able to easily draw arbitrary 2d or 3d graphics and use the power of CSS styling.

    Like, just drawing out a list of items, and then being able to get more detail on one of those items, is fundamentally a pain in command line, requiring a list command and then an item detail command or a list verbose command, where is in a GUI you just list items and can then expand them or hover on them for more info.


  • As a casual js user (I build some static sites for fun and personal use), I am under the impression that JavaScript “sucks” mostly because some things really make it look like JavaScript was invented as a quick scripting tool rather than the backbone of the WWW.

    I’ll bring an example that maybe helps me learning someting. Why in javasctipt “1” == 1? I know the === operator exists, but why isn’t the default behaviour the safer one? Especially when the mantra is “don’t trust the user”.

    Like, I get, I am a strongly-typed guy, but I see why weakly-type languges exists, but this feel frankly moronic, and all the answers I’ve seen are " because that’s how it is". That’s just copium.

    Like, you’re not entirely wrong here. The == vs === is entirely just a legacy of a poor early decision in the language’s development.

    However, the reason that it’s still there isn’t just “because that’s how it is”, it’s to maintain backwards compatibility. You could break the language and change your equality operators to something more sensible, but to do so would result in:

    • A) If you make a new language that compiles to Javascript (like Typescript for instance), you can maintain compatibility, but you do now need to build a bunch of tooling around compilers and debugging so that you can trace errors in the compiled and running javascript back to your own code. In any situation where you have a codebase that contains a mix of the two, you’ve got to remember and stay on top of which to use where.
    • Or B) If you make a new dedicated language that runs in browsers, now browsers need to ship two engines, one for legacy javascript web sites and apps, and one for whatever your new language is. Same issues with mixing legacy and new code.

    OR the real answer is C) devs just add linters that check your code for common mistakes. All modern javascript dev environments will include a linter that yells at you if you accidentally use the == sign, right in your IDE as you type it, making it not really a big deal, and autocomplete will automatically use ===.

    And maintaining backwards compatibility for the Internet / World Wide Web, is probably the single most important place to maintain backwards compatibility, as it is effectively a continuous archive of information and publications. Putting up with === is honestly not that big of a deal in the context of all the above.

    Like, I get, I am a strongly-typed guy, but I see why weakly-type languges exists,

    I got my start with Java and C#, then Python, then Javascript, then Typescript / etc. etc. Trust me, I vastly prefer a good type system, which is why I use Typescript for everything I can these days. It is still technically weakly typed in that you don’t get type errors at runtime, just at compile time, but it still makes coding in javascript soooo much nicer and more pleasant and more predictable, and it’s quite frankly the most flexible and easy to use Type system / syntax of any language that I’ve used.

    Also when I tried to compile a single Cordova app to play around I needed some 5GB of npm modules that totalled ~200k files! Is that how modern app development is like?

    I mean, Cordova is not just a web app platform. That’s including the toolchain to build a web app, but also do compile it into an Android app, or to compile it into an iOS app. You’ve basically got large chunks of the android and ios sdks in there.

    Also, the particular webpage OP linked might be a little extreme, but modern software does suck ass, and is not user-friendly nor efficient.

    Just look at mobile communication apps, like Teams. The user experience is terrible, the UI is unrespive, the battery drain is crazy and it takes 800MB of space.

    Yes, because of corporate practices that prioritize feature development instead of addressing tech debt or performance. But that’s not always the case. I worked at Meta for a stint as a contract developer, I’ve seen how they make decisions and they’re not uninformed. They will run A/B testing on simulated apps to measure exactly how much of a difference performance makes, and then balance that against the effort it will take vs the effort it will take to develop new features and then they prioritize accordingly.

    No where else I’ve worked does that. Everywhere else just hears a customer or executive yell for a new feature and then the PM just starts working on it without proper research or without giving team’s time to go back and address tech debt.

    Is this because it’s an electron app, or because it’s made by incompetent programmers? I don’t know, but we made incredible hardware improvements in personal computing, new software should be even more efficient and use them better, not get more and more bloaty to have the same experience on older and newer hardware

    Given that VSCode is made by the same company, is also an electron app, and is generally remarkably performant, I would posit that teams is made by worse programmers since it’s a less attractive product to work on, and the team is probably less user focused since users don’t buy their software, the users’ workplaces do.


  • Do you know how you make good web apps with good performance? You don’t listen to people whining and bitching about a language, you go out and start coding something and find out where the actual issues are.

    Javascript / Typescript is great. There are little annoyances here and there, like with literally every single language, but anyone who says it sucks overall is a quite frankly, a moron.

    Our project focuses on advanced and experienced computer users. In contrast with the usual proprietary software world or many mainstream open source projects that focus more on average and non-technical end users, we think that experienced users are mostly ignored. This is particularly true for user interfaces, such as graphical environments on desktop computers, on mobile devices, and in so-called Web applications. We believe that the market of experienced users is growing continuously, with each user looking for more appropriate solutions for his/her work style.

    Designing simple and elegant software is far more difficult than letting ad-hoc or over-ambitious features obscure the code over time. However one has to pay this price to achieve reliability and maintainability. Furthermore, minimalism results in reasonable and attainable goals. We strive to maintain minimalism and clarity to drive development to completion.

    You now what all of this says? It says that they focus on building utilities that accomplish some small technical task and ignore their users’ actual workflow needs. It’s the equivalent of minimalist architects that make unlivable spaces because they’re technically nice.



  • In general, I disagree with you. I think the two things you fixated on (souless architecture and rentals) are bad approaches to density, but you will notice that for the most part, this is the form of “density” that places who are notoriously bad at density do. Its what happens when we deliberately regulate ourselves into not allowing other options.

    Soullessness and rent-seeking is what happens when housing is controlled by for-profit entities, and once you start building housing as system that is bigger, more expensive, or more complex, then one person / small family / support network can manage, then you inherently need to cede control and responsibility to a larger outside entity, which ends up being a corporation.

    Even cities like Boston that have a relatively large amount of mid rise housing still have massive housing costs that suck residents dry because it all ends up being landlord controlled.

    Also, i would like to highlight that a very small portion of people are living in newly built homes, and only a small portion are really able to make meaningful design impact. Most just buy the builder-grade suburban model home. The idea that suburban single family homes are some design panacae is just wrong.

    I’m no fan of suburbs, but at an inherent level (assuming no crazy HOA), you have far more control of any house that you own over any space in a building that you do. Your average 100 year old suburban home will have far more charm and look far more unique than your average 100 year old apartment unit or condo.


  • That the dense city movement, of building up, instead of out, is ultimately ceding a huge proportion of our lives (our dwelling sizes and layouts, their materiality and designs, how the public space between them looks and feels, their maintenance and upkeep, etc. etc.) to soulless corporations trying to extract every dollar possible from us.

    When we build out, people tend to have more say in the design and build of their own home, often being able to fully build it however they want because at a fundamental level a single person or couple can afford the materials it takes to build a home, and after it’s built they can afford to pay a local contractor who lives nearby to make modifications to it.

    What they don’t have, is the up front resources to build a 20 story condo building. So instead they can buy a portion of a building that someone else has already built, which leaves them with no say in what is actually built in the first place. Ongoing possible changes and customizations are very limited by the constraints of the building itself, and the maintenance and repairs have to be farmed out to a nother corporation with the specialty knowledge and service staff to keep building systems running 24/7.

    Yes, this is more efficient from an operating standpoint, but it’s also more brittle, with less personal ownership, less room for individuality and beautification, and more inherent dependence on larger organizing bodies which always end up being private companies (which usually means people are being exploited).

    In addition, when you expand outwards, all the space between the homes is controlled by the municipalities and your elected government, and you end up with pleasant streets and sidewalks, but when you build up with condos, you just have the tiniest dingiest never ending hallways with no soul.

    And condos are the instance where you actually at least kind of own your home. In the case of many cities that densify, you end up tearing down or converting relatively dense single family homes into multi apartment units where you again put a landlord in charge, sucking as many resources out of the residents as possible. In the case of larger apartment buildings, you’ve effectively fully ceded a huge portion of the ‘last mile’ of municipal responsibilities to private corporations.

    Yes, I understand all the grander environmental reasons about why we should densify, and places like Habitat 67 prove that density does not inherently have to be miserable and soulless, however, the act of densifying without changing our home ownership and development systems to be coop or publicly owned, is a huge pressure increasing the corporatization of housing.






  • And I’ve explained to you repeatedly that nobody cares about what you personally want. What’s being discussed is what’s a better UX, which is obviously having a single unified UI backed by APIs. I’ve also explained to you deficiencies in the current UI platforms, but you evidently are unable to grasp these problems.

    Bruh, you’ve explained jack shit beyond saying ‘but it’s obviously nicer when apps integrate with each other’, and you haven’t once approached explaining why a super app is the architecture necessary to achieve that when we used to have it all the time before walled gardens.



  • I am engaging with what you’re saying, and I’m explaining why what you’re saying is wrong.

    I’m literally a professional software developer who writes applications. I know the difference between a traditional set of OS apis like you see with Linux, the platformized nonsense iOS apis, the concept of applications using other applications to create a new unified experience using their own published APIs, and apps that publish APIs to try and be platforms.

    I have literally used and build software under all of those models and have very clearly engaged with this conversation, so maybe you should be doing some self reflection instead.