- In Windows, files that are in use cannot be modified
- As a result, Windows updates have to happen when the computer is not in use, such as during shutdown or boot (often both)
- Compare to Linux/macOS, which can install updates while the computer is being used 😎
- As a result, Windows updates have to happen when the computer is not in use, such as during shutdown or boot (often both)
- Windows command line has a length limit of 8191 characters
- Compare to Linux, which has a much higher limit (typically over 100k characters)
- Windows uses backslashes (
\
) as file system path separators- All other modern operating systems (macOS, Linux, Android, iOS, etc) use a normal (i.e. forward) slash (
/
) and use backslashes for escaping
- All other modern operating systems (macOS, Linux, Android, iOS, etc) use a normal (i.e. forward) slash (
- Windows can't run Docker containers natively
- They need to run inside a Linux VM (they can be run inside WSL, which is itself a Linux VM)
- Windows' NTFS filesystem performs poorly compared to Linux's
ext4
filesystem
Parser | Size | Maintained | Node.js | Browser | Streaming | Types | Modifying XML | Notes |
---|---|---|---|---|---|---|---|---|
jsdom | 3.11 MB | yes | yes | N/A | DefinitelyTyped | yes | Probably the best choice since its API is closest to the browser API for manipulating XML | |
cheerio | 558 kB | yes | yes | yes | included | yes | jQuery-like API for parsing and manipulating HTML and XML | |
xmldoc | 41.4 kB | yes | yes | yes | DefinitelyTyped | Partial, not recommended (nfarina/xmldoc#51) | ||
@xmldom/xmldom | 182 kB | yes | yes | yes | included | yes | ||
sax | 55 kB | yes | yes | yes? | yes | DefinitelyTyped | Not recommended |
ⓘ This list is more-or-less limited to languages I have personal experience with
- Recommended?: 👎
- Pros
- Like a more modern Java without a lot of Java's problems
- Cons
- Although it is now open-source with .NET Core, a lot of existing code and libraries aren't compatible
- A fully open-source .NET/C# seems to conflict with Microsoft's priorities: Can we trust Microsoft with Open Source?
- See also: Is .NET an open platform yet?
Name | Recommended | React support | Accessible | Mobile-friendly | Backed by large organization | Notes |
---|---|---|---|---|---|---|
React Spectrum | 👍 | 👍 | 👍 | 👍 | Adobe | |
Carbon | 🤷♂️ | yes | ??? | ??? | IBM | The square corners design already feels dated 😕 |
Semantic UI | 👎👎 | yes | ⚠ not good | 👎 | ⚠ Inconsistent opacity behaviour | |
Blueprint | 👎👎👎 | yes | ⚠ not good | ⚠ no | ⚠ Palantir | ⚠ Palantir Uses Open Source to Profit from Human Rights Abuses. |
- The general consensus seems to be use UTC everywhere and convert to the local time zone when displaying dates/times to the user
- UTC isn't perfect; aside from leap seconds, the biggest issue seems to be when local time zone rules change, making dates stored in UTC inaccurate
- When passing timestamps over the wire (e.g. to/from an API), convert them to strings using an unambiguous standard format that includes the time zone such as ISO 8601
- In TypeScript/JavaScript this can be accomplished using
Date.toISOString()
. Usenew Date(dateString)
to convert back into aDate
object
- In TypeScript/JavaScript this can be accomplished using
- In the cases where the time zone is set to
UTC
but a local timestamp is needed (e.g. to represent "today midnight"), a library may be needed: https://momentjs.com/docs/#/-project-status/recommendations/
[new Date(year, monthIndex, day)
](https://developer.mozilla.org/docs
A simple way to write native applications (particularly CLI applications but optionally GUI applications) in a modern language (e.g. not C++/Qt) that's fun to use (e.g. not Go). This is primarily for small utilities where speed isn't a big concern. Binary size is a mild concern. Most of the rest is just icing on the cake (cross-compile support, etc).
Language | High-level | Garbage-collected | Cross-compiling | REPL | Backed by large organization | Cross-platform GUI library | Comments |
---|---|---|---|---|---|---|---|
👉 TypeScript with pkg | yes | yes | yes | yes | yes | yes | This isn't really "native" but may be the best option for something quick and dirty without having to resort to less-fun languages (like Go). See test-javascript-executables for ways to get the binary as small as possible. |
Kotlin with GraalVM | yes | yes | ⚠ [no](https://github.com/oracle/graal/ |
I tried this to vertically center an image (https://stackoverflow.com/a/11716065/399105) , and it did not appear to work.
Wii remote will randomly power off when in use.
This is most often caused by a bad connection between the batteries and the contacts, which is frequently due to corrosion from current or past battery leakage. This is fairly common with standard non-rechargeable alkaline batteries.