Better to ask a rubber duck than an LLM.
It has better results, is cheaper, and makes has a positive compounding effect on your own abilities.
Better to ask a rubber duck than an LLM.
It has better results, is cheaper, and makes has a positive compounding effect on your own abilities.
Shouldn’t you have an adblocker to block those scripts?
Lol, well I could change it, but it was based on the gif at https://quietkit.com/box-breathing/
I think it’s because you’re not supposed to expand your lungs so much that they feel like they’re going to burst.
But if you scroll to the bottom of the css and look at line 69, you can change transform: scale(90%);
to transform: scale(100%);
to see if you like it better.
I’m not seeing anything in the data collected that I wouldn’t want to be sent if the app crashed.
Presenting: an excerpt from my lua windows management script:
-- Exists because lua doesn't have a round function. WAT?!
function round(num)
return math.floor(num + 0.5)
end
Yeah, not a fan.
It seemed pretty clear to me that the article states that css is doing it’s job and it’s actually fonts that are the problem
Luckily for you, there’s not a vaccine for stupidity.
The windows 11 teams runs better, but if you’re using a school or work account, you need to use the old AngularJS+Electron version, or the new React+Webview2 version.
So for the time being, the Windows 11 teams is more catered for personal use only. It’s kind of like a modern reboot of Microsoft’s old MSN Messenger. It was included in Windows 11 (rebranded as “Chat”) but it’s been unbundled from Windows 11 installs and I think rebranded again. But not having the school/work account support means not a lot of people use it.
The transition between the AngularJS+Electron version and the React+Webview2 versions is happening now. At some point soon, anyone who is running an OS too old to run the new teams will be forced to use the browser version.
So after their transition, we’ll have to wait and see if they add the school/work account support to the native version because everyone using teams right now only uses those accounts.
There’s a reason Teams is/was shit.
The first teams was written in AngularJS (which is a slow to run resource hog, but fast to develop) wrapped in Electron. It was kind of a minimum viable product, just to build something quickly to get some feedback and stats on what people needed.
The plan was to build a new native version of teams and build it into the next windows while having an web fallback (built on react) for everyone else.
They stopped working on the original teams and started working on the new versions.
They got half-way through working on the native and react versions when suddenly, covid happened.
They couldn’t keep working on the new versions because they wouldn’t be ready for a while, so they had to go back and resume development on the old one, introducing patch after patch to quickly get more features in there (like more than 2 webcam streams per call).
Eventually covid subsided and they were able to resume development on the new teams versions.
Windows 11 launched with a native teams version (which has less features but runs super quick), and the new react based teams (which can now be downloaded in a webview2 wrapper) has been in open beta since late last year (if you’ve seen the “Try the new Teams” toggle, then you’ve seen this). The React+Webview2 teams will replace the AngularJS+Electron version as the default on July 7th.
Eh, it’s the same on the Android side of the fence. There are big and small features that Google has been comically slow to crib from iOS.
I’ve definitely said “fucking finally” to things like overflow scrolling animations,
Those things like overflow scrolling, keyboard peak, etc… were only held back because Apple would patent it prevent it from being put into Android and would file frivolous lawsuits against other phone manufacturers to try and get them not to use them, even when some android variants already had it built in before apple patented it in the first place. (I still facepalm at apple trying to sue others over a rounded rectangle shaped phone)
And those patents lawsuits only stopped because other phone companies called bullshit and started threatening apple with their own patents.
and the “wild” idea that users should get 5+ of major OS releases.
TL;DR on this point: not much of an issue anymore.
This isn’t an android/iOS thing, it’s a manufacturer thing. If a chip isn’t supported by it’s manufacturer, then no software on it can be supported. Different manufacturers had different support windows, but Qualcomm became notorious for making chips, then only supporting them for 2 years so they could sell a new “supported” one (and watch the money roll in). Once they saw other the larger players getting pissed off and poking around with the idea of making their own chips, Qualcomm quickly decided that they could support their chips for longer. Now they have to since both Google and Samsung have made public promises for 5-7 year support cycles. Of course, that hasn’t stopped other phones from already reaching 7 years of official support before. (A notable example being Fairphone 2 who used a Qualcomm chip while they were still in their shitty behaviour phase and managed to support it for 7 years, 2 years Qualcomm support then 5 years of their own support despite Qualcomm.)
Also, when Google was pissed at Qualcomm they decided to start modularising their OS and pulling chunks out of it out of needing direct hardware support. This means that even if chip support were to stop, it would only affect the background / lowest-level-invisible-to-the-user parts of the OS, and all the user visible parts of the OS could be updated independently (starting with Project Treble, and going all out with Project Mainline). This basically means that entire chunks of the OS can be updated the same way an app can be, early 2010 Qualcomm companies be damned.
This also has the weird thing of android not really being a “version” per se, one phone might have different components of Android 10/11/12/13/14/etc… running at the same time. The components themselves have their own versions.
Tailwind is only feels like a successor to CSS to developers writing css like it was 10 years ago (or using frameworks that write it like that, e.g. bootstrap), or projects not using visual regression testing.
Modern css is so much better.
:has()
, +
, ~
, nth-...
, … selectors.If you’re using something like BEM, or bootstrap to make columns, your knowledge is way out of date and you’re doing it wrong.
There’s absolutely a massive internal bias people have where they naturally believe that others develop the same kinds of content, when really it’s half working on page based content, and half working on component based content.
Both are correct.
The real problem is developers thinking that there are only two methods for making styles: external css files, and tailwind/atomic styles in class names.
Component developers should have their styles inside their components, but not inlined in style attributes (like in tailwind).
Component developers should instead place a style
tag inside their component that is scoped to just that component.
So let’s say you’re making an accordion component.
Make your html+js/jsx like you already do, and add an “accordion” class to your component’s root element. Now add a style tag in your component with a single selector targetting the .accordion
class. Now you can use nesting to style anything in the accordion exactly how you want. Want to style something based on whether an element is open or not? Use an attribute selector. Want to style something based on whether it’s child is doing something? Use the :has()
selector. etc…
If you’re making a widget system, use container queries. If you’re making a card system, use subgrid.
There’s so many obvious use cases that modern css provides for, so use modern css! and not any of this BEM or tailwind nonsense. Now your css is so much smaller, robust and more maintainable.
Follow up questions:
Q: But I don’t know modern CSS
A: Learn, it’ll be much better for you in the long run compared to using tailwind, then needing to learn something else once people switch off tailwind for something else.
Q: But wouldn’t putting a style tag in every component mean that there’s going to be two style tags on the page if I put two of the same component on the page?
A: It’ll only do that if you make it do that. Most component based frameworks are already set up to reduce repetition, check your framework’s docs. (e.g. react’s many css-in-js solutions, web component’s :host
selector, vue’s <style> and <style scoped>
elements, SSGs like Eleventy have Asset Bucketing, and even native html is getting it’s own solution this year with @scope
).
I’ve seen people advocate for Tailwind because “CSS is too hard, I don’t want to think about selectors”.
CSS isn’t too hard, there are easy ways to do things, and hard ways to do things (for backwards compatibility reasons). If you don’t learn modern CSS then you’re only going to be doing things the hard way.
Windows 95, 98, 2000, XP and 7 are generally regarded as having great UIs.
Of course, we know what happened later:
You mean a whole different window at the OS level?
Yes, that way I could switch between windows in a single shortcut, or even place them side by side so I can see both at the same time with other shortcuts.
That’s just a way inferior hack to the way vim does it by default.
Can you explain this more?
Why wouldn’t you want window management to be managed by the window manager?
Have you considered the Required<T>
generic?
https://www.typescriptlang.org/docs/handbook/utility-types.html#requiredtype
I’m assuming for your example that only one tab is shown at a time?
In that case, you can do that in vscode, the only difference is the semantics of what is considered a “window”, and what is considered a “tab”.
To do this in vscode:
Have one window with four panes, and another window with three panes:
Window 1
┌──────────┬──────────┐
│ │ │
│ Pane 1 │ Pane 2 │
│ │ │
├──────────┼──────────┤
│ │ │
│ Pane 3 │ Pane 4 │
│ │ │
└──────────┴──────────┘
Window 2
┌──────────┬──────────┐
│ │ │
│ Pane 1 │ Pane 2 │
│ │ │
├──────────┴──────────┤
│ │
│ Pane 3 │
│ │
└─────────────────────┘
You can then switch between your windows (or “tabs” in your example) by keyboard shortcut.
In vscode, you can make the Panes different files, or even different views of the same file.
What do you mean by:
There is no way to split a tab into windows in VSCode.
Do you mean, drag a tab out of a window to create a new window? Because if so, you can do that in vscode.
There’s a whole bunch of pull requests and issues sitting there for a start.
Personally I’d also update the example in the readme and set an engine value in the package.json file.