Same with my account. My only conclusion is because I use a VPN. Gave them my real phone number so they already know my actual country, but still banned after a few months of on/off usage. I might consider setting up another PC for it someday, but they clearly don't want anyone to use them via VPN. Another option I considered is OpenRouter.
My company used Yup initially but we moved to Zod to be able to infer types from schemas. For example, API response payloads are Zod schemas. OpenAPI components are also generated from Zod schemas.
There are some performance issues, and WebStorm is struggling, which forced me over to VS Code.
I've been paying for Piano Marvel for a few years, and there is tons of room for improvement in this space:
- Native, non-janky app. Ideally cross-platform.
- More inspiring music in lessons.
- Recommendation algorithm for what piece/lesson to practice next.
- More methods of measuring progress over time.
- Spaced repetition for sight reading, technique, scales, ear training, sections of known pieces.
- Splitting pieces automatically into overlapping sections to practice, RH, LH and hands together (whatever makes sense).
- Simple streaming/recording features for use with piano lessons over video chat (screen/video/audio mixed together to a single stream?).
- Show music theory concepts based on what you are playing, in the context of the current piece. E.g. what chord is being played, and its function. Possible continuations.
My setup is a Macbook + FP-30 + USB midi cable. Having the laptop standing on top of the piano makes keyboard and touch pad usage clunky, so navigation must be simple. Also uploading custom scores is a must for me.
The `real` type (float32) only has 24 bits of precision. So converting `9999999999999999.0` or `10000000000000000` or even `10000000300000000` yields the 32-bit float `10000000272564224`.
For some reason Postgres prints it as `10000000300000000`. It uses a heuristic to print a "pretty" number that converts to the actual stored value, and it's not smart enough to give `10000000000000000`. Some heuristic like this is needed so something like `0.3` doesn't print the actual stored value of `0.300000011920928955078125`, which would be confusing.
The next representable number after 9999999999999998.0 is 1.0e16. 9999999999999999.0 is not exactly representable in IEEE 754 floats, and will be rounded up or down.
The difference between 0.0 and 2.0 in the table is likely due to different rounding modes. I'm curious how different languages end up with different rounding modes. Is that possible to configure?
It's not different rounding modes, but different floating point formats. Google is doing something very weird that is also base 10 related. Not sure about TCL.
TCL does for quite some years now use real integers (unbounded size) and floats (float8) whenever possible. By the way, the article does not specify versions of languages, so:
Cool! I have the same issue with unused coax cables between every room, and was planning on replacing them with ethernet cables. In my case it's feasible without breaking down any walls. Does this work even with splitters?
Yes, it works with splitters. Just be careful because you'll lose signal strength on each split, your splitter should have a number on it for how much is lost.
Some telecom providers actually provide a public IP address that maps directly to your phone. You might have to change your APN settings to get one, and it might be dynamic.
It's a spectacularly bad idea that lets you serve HTTP (and any other port) directly from your phone without a SSH tunnel. You can also debug your Android with ADB... over the internet.
That last part scared me! I tend to have ADB debug over USB always enabled on my phone but I'm not in any way enabling debug over wifi now I know this.
Whilst publicly exposing ports from a phone is still certainly scary, for ADB specifically it's actually not as bad as it sounds - wifi debugging requires an explicit & bi-directionally initiated pairing process beforehand (sharing a 6 digit code or scanning a QR code to do so) and then also separately trusting the public key of the connecting computer at the moment when it connects.
To allow untrusted access, you'd have to have the ADB port accessible to the attacker, and then intentionally open developer options and tap "pair for wifi debugging", and then enter/scan a malicious pairing code, and then accept the unrecognized public key when the device connected. And if that does happen, there's a persistent notification that a debugger is connected.
Go's fmt enforces some parts of formatting, like indentation, spaces vs. tabs and spacing around brackets and parentheses. But it is by no means a complete style guide. Fmt doesn't give your packages, structs or methods reasonable names automatically. Fmt doesn't tell you where to use values and where to use structs, what your interfaces should be, and how large your functions should be.
That being said, Claude Code produces the best code I've seen from an AI coding agent, and the subscriptions are a steal.