110 karma · joined October 23, 2021
https://alexbarry.net
Edit: if the notification is sent by an attacker, does the attacker get access to firebase metrics as well? (Guessing they at least contain info about how many people opened the app)
At the very least they might have wanted to understand a baseline for how many people will open a notification just to dig into the app and try to disable future notifications, regardless of how annoying the text in the notification was.
Now Airbnb knows to change their key or something if possible, and I'll be very suspicious of any notifications from any app in the future, especially Airbnb.
Or did not many people get it? Could I be targeted, along with the others in this thread?
If the attacker really intended to send the notification to everyone (or even 10%), wouldn't that very likely get the attention of Airbnb, and then they'd know about the issue and be able to mitigate it?
Edit: assuming everyone got it, this seemed much more likely to be a mistake, to me. For example, someone working at Airbnb was testing something and accidentally did it in prod instead of dev. Otherwise, why not camouflage this as something more innocent, like an ad for Airbnb, saying something generic like "Check out our listings near you"?
But why doesn't the base macbook install support more of these features? I was led to believe (perhaps incorrectly) that I wouldn't have to tinker with a mac as much as I have with Linux. (I suppose that fine tuning keyboard shortcuts is very different from trying to desperately fix a video or wireless driver)
I assumed that apple optimized for a good user experience. Are "power users" (or even people that just want alt tab) not included in apple's UX goals?
But if this is the case, why do so many developers buy and enjoy macbooks? It seems ridiculous that you have to pay such a premium for a nice laptop, and then find random 3rd party applications to make it work the way you want.
If I wanted to endlessly tinker then I'd be happy with Linux. I was under the impression that macbooks would "just work". I've also been disappointed by poor UX in some cases, like randomly showing "enter your password" dialogs.
I haven't yet looked for a "how to effectively use mac keyboard shortcuts" comprehensive guide, instead I've looked for things as I need them. I can see the benefits for introducing "cmd" where "Ctrl" is usually used on other operating systems.
But I'm very disappointed by cmd tab and cmd backtick. Often I want to press a single keyboard shortcut to switch between three windows or so: usually a few browser windows, a terminal, and an IDE. cmd backtick switches between windows of the same program, cmd tab switches between programs.
Can any more experienced mac user tell me the way to do this properly? How to switch between a few separate windows, like alt tab, without having to think about what program they are?
Now 12 years later I have many Microsoft accounts, because I don't really use their services, I think they just strongly pushed me into making one when I setup windows laptops over the years. I also probably have one for Skype, I've created a few when playing Halo MCC on a new computer (every damn time it asks me to log in, even if I just want to play single player). Oh and another from when I played Xbox 360 a long time ago. Plus a few from high school when I used MSN messenger.
I've never actually tried to clean this up and merge them, and your comment has scared me from even trying. And more on topic, I'm sad that a game like Minecraft is likely going to be lost in this mess. It's the kind of game that I might open every few years and mess around for an hour. Now it will likely be like my experience when trying to recover my old Microsoft accounts... Extremely painful, mandatory phone number, new login from suspicious location, security questions... Ugh. At least with Minecraft it will be for a game that isn't already tied to another account that I actually use, like steam.
Maybe people don't want their game accounts to be attached to an email account and their OS. Hell, I don't want an account on my OS at all-- what is the benefit, if I don't use Outlook or OneDrive or any of their devices? If anything it's probably a liability, could I get locked out of my own PC if my (otherwise unused) Microsoft account was compromised?
I don't know how I'll fix this (I've never really debugged mobile web specific stuff before), but I'll look into it this weekend.
There must be a way to fix it, since I don't see the issue when going to https://www.mathjax.org/#demo and entering something like this: $$\frac{1}{\sqrt{2}}$$
EDIT: I actually have no idea why this would be happening, unless there is some sort of metadata that I should be providing on the page to tell chrome how to enable dark mode on my content. I don't think I'm messing with the styling on the web version at all.
Or is it Android? On my phone 1/sqrt(2) looks fine in "dark" and "very dark". If it doesn't for you, could you tell me what type of phone you have? I put some contact info in the "about" section of the app if you'd rather respond privately.
For dark mode on Android I just set the color and background-color attributes of the HTML display elements. (I didn't actually fully implement dark mode in the HTML version, though there are some commented out CSS files). But it's possible that something else is needed to work with MathJax in some cases.
I wish I had something like this back when I actually wrote reports and stuff in LaTeX. Now I barely have any use case for my own calculator, except occasional unit conversions.
The use case that I had in mind for mine was electrical engineering students, where I had to often use complex numbers in polar form, in degrees, for circuit questions. My calculator at the time had no obvious way of entering polar complex numbers in degrees, I ended up typing things like `e^(i*angle/1r)`, where the r was "radian", and when the calculator was in degrees mode, "1 r" would evaluate to "180/pi".
It was also cumbersome to write long expressions for. It showed something like 24 characters per line, enough that I'd often get multi line expressions. These expressions would be full of brackets, and sometimes I'd hit enter and not be sure if I missed a bracket. (Hence my goal of having a LaTeX display to show you what you're entering).
Cool! Is this because you type a lot of Greek (or math)?
> My unpopular opinion is that typing "alpha" should compute the product of the five values, equivalent to "a^2lph".
I wouldn't call it an unpopular opinion, that's how my physical graphing calculator worked, though it only had single letter variable names. The programmer in me likes my current way, though the (nearly long gone) engineering student cringes when I have to write things like "i*2*pi*f".
If people were mostly universally happy with single letter variable names then I could probably switch to this. If they were space separated then it would be a fairly simple change (except for the way units works, is "1 s" 1 times variable s, or 1 second? This is why I don't support 1 m/s to mean metre per second, it means "1 metre divided by variable s". 1 metre per second is "1 m s^-1").
I tried to compromise by making the UI automatically enter a multiplication symbol when entering tokens that aren't valid.
Perhaps if I added an additional input layer when typing then this would be feasible. Maybe something like pressing a special character, then typing "alpha" will convert it to the alpha character, and non greek letter variables could be wrapped in quotes or square brackets or something.
The one thing that would be lost is the ability to name a variable "x2". Maybe that's fine since "x_2" would still work.
As an update on unicode parsing, I still think it should be easy, but I'm running into issues. I quickly tried https://stackoverflow.com/a/11255698/9596600 but I'm seeing this:
terminate called after throwing an instance of 'std::regex_error'
what(): Unexpected escape character.
I suspect I just need to dig in on how to use these extended regexes (and remove some of my existing regexes). This weekend I might have more time to try it.I haven't had a chance yet to read the full paper, but it talks about fixing trig issues too. Would this fix my (unfortunate) result for `e^(ipi) + 1` to be exactly 0, too (instead of something ugly like (-210^-16 + j1.22*10^-16)).
And is there an implementation I could use?
At some point I plan on open sourcing this code, so if I never manage to fix this then maybe someone else might someday do it. Originally I figured I could finish this whole project in a few months, especially after figuring out webassembly and discovering MathJax. But it ended up taking way longer than that, with little things constantly popping up that I wanted to fix before I could even think about sharing it.
Assuming C++ standard regex supports unicode, then this should be easy enough. I never thought to try this. I'll see if I can implement it later today or this weekend. Do you think the spelled out "alpha" should map to the same thing as "<unicode alpha character>"?
Also, do you mind if I ask how you are entering Greek letters directly? (e.g. are you a Greek speaker, using a Greek keyboard?) I'd like to better understand how people would like to use this. I'm happy to accommodate whatever I can, and I'm relying on people asking for it directly since I don't have any sort of tracking implemented. (The android version doesn't even request any INTERNET permission (or any permission).)
I thought that it might be useful to use this application to generate TeX, so one feature I'm working on is to fine tune the output format (e.g. choosing the multiplication symbol, instead of \cdot, maybe \times or \,).
Thanks for trying it!
For choosing the desired output unit, press "alt" and the now shown "to units" button. Then enter the desired unit.
Available on:
* web (mobile or desktop): https://alexbarry.github.io/AlexCalc/
* Android: https://play.google.com/store/apps/details?id=net.alexbarry....
Some neat features:
* LaTeX equation display (I hated counting brackets on my old graphing calculators back in college, now I wouldn't have to if I wasn't ~10 years late in making this)
* variables (you can store variables with `1 + 2 -> x`, then access them `x^2 - 3`)
* unit operations, and unit conversions, e.g. `10 km / 2 minutes to mph`, or more fancily: `sqrt((3 kOhm + j*100 mH * 1000 kHz)/(1 S + j * 1 nF * 1000 kHz))`
* complex numbers (specifically focused on making it easy to enter complex numbers in polar form, in degrees, e.g. `5 angle 90`, but press the "degree" button)
* can enter input either via button presses or typing, so copying and pasting inputs works well
The core calculator parsing, evaluating, and LaTeX generation is in C++, with CMake build files. Using emscripten[0], this compiles to webassembly for the web version, and I can also compile this for Android and use JNI.
The library converting my generated LaTeX code to graphics is "MathJax"[1], a really nice browser library that I loved working with both in the web version and in the Android WebView.
I'm happy to receive any feedback at all. One big weakness currently are the syntax error messages, I haven't yet implemented a way to point to a particular position where an error occurs. If there is some nice parsing library that I could use instead, I might consider switching to that if it isn't too difficult. Currently the parsing uses a bunch of (fairly simple) regular expressions (e.g. check for number, check for optional unit, check for binary operator, add to stack, collapse stack. This ends up with a tree of nodes, and then this tree can either be evaluated or converted to LaTeX.)
I'm also interested in hearing any strategies for a decent cross platform UI. I didn't want to just include the HTML UI in a WebView on Android, since I figured it wouldn't be a great user experience. Originally I thought it would be small enough that I could just write two separate copies... but it turns out that there is a lot more UI code than I expected (automatically insert multiplication symbols on button presses, input history, storing "recently used units" when the button is pressed, etc...)
Specifically I'm wondering what the maximum number of cases in a short period is likely. I ask because I was shocked to hear that the number of ICU beds in a major city of 1M people in Canada was only a few hundred (or maybe that was total hospital beds? I can't remember). So it seems like you need to keep your "hospitalizations per population" number down to less than the ratio of "hospital beds per population".
Certainly I was wrong in saying "everyone will get it" in a few months because of the logistic growth curve, but it looks like a significant portion of the population could still be infected within the same period, even if you remove the 6% (Canada) to 20% (USA) people who have already been infected? And even if everyone is fully vaccinated, can the number of them that end up in hospital come close to the total capacity? It seems like we're already getting close to capacity.
I should have said "relatively effective", since I'm also under the impression that the vaccines weren't super effective at reducing transmission of the original variant (compared to vaccines against other infections). But I also haven't seen much data, I vaguely remember hearing something from the WHO like "60% effective at reducing transmission of original variant, 40% effective against Delta", but I don't remember.
I agree that the public was misled as to how effective vaccines would be at preventing transmission. Especially when the CDC said that fully vaccinated people didn't need to wear masks.
But how much more effective are traditional vaccines at preventing spread of illnesses? Wikipedia pointed me to this CDC page:
> The MMR vaccine is very safe and effective. Two doses of MMR vaccine are about 97% effective at preventing measles; one dose is about 93% effective. [0]
[0]: https://www.cdc.gov/vaccines/vpd/measles/index.html
I was always under the impression that traditional vaccines were really effective, enough that the virus stops spreading eventually, but not enough that you are almost totally incapable of spreading the virus or even getting sick. Like the outbreaks in disneyland, obviously they only happened because of people being unvaccinated, but my understanding is that vaccinated people can still get sick from it. I found this Washington Post article:
> A 2015 measles outbreak linked to Disneyland led to 147 cases in multiple states as well as in Mexico and Canada. Many of those who were sickened were unvaccinated or did not know their vaccine record, according to the Centers for Disease Control and Prevention.
[1]: https://www.washingtonpost.com/health/2019/08/24/tourist-inf...
Interesting, I haven't been following the pandemic as closely as I used to, but I was under the impression that the existing mRNA vaccines still work fairly well against new variants (including omicron), but that effectiveness goes down after 6 months (hence boosters). I'm not really sure if "effectiveness" is in preventing severe illness or transmission.
This sounds reasonable, but aren't fully vaccinated people ending up in the hospital pretty regularly too [2]? Using the 94% effective figure from the early trials, say fully vaccinated people are 20 times less likely to be hospitalized.
I don't know much about virology but I understand exponential growth. It looks like the cases are doubling every 2 weeks (edit: I guess this might even be a few days? See [0]). In a few months, almost everyone will get it. In the last two week period, won't half the population catch it? In that case, even with 100% vaccination, hospitalizations would still be 1/20 of half the maximum due to COVID. Right?
That's something I've never understood about the pandemic. Is reducing hospitalizations by a factor of 20 enough that having everyone get the virus is no longer a concern? Or was it expected that the vaccines reduce transmission enough that everyone wouldn't get it anymore? Canada has like 75% [1] (edit: oops, originally I said 85% here, but I guess that's in people 12 years and older) or higher vaccination and is still seeing record case numbers everywhere.
This isn't really an argument for or against kids in schools. I am just surprised that people are so quick to say "we have a vaccine so there's no need to worry about COVID in anyone vaccinated now". Certainly it seems like many health officials say something similar, so I must have missed something. (Or are they just trying to encourage everyone to get vaccinated? I know that many people don't really understand the details and would (erroneously) just say "it's not 100% effective so why bother")
Sources:
* "The spread of the Omicron variant of coronavirus appears to be doubling every two to three days" [0]
* "The cumulative percent of people fully vaccinated with a COVID-19 vaccine in Canada was 76.83% as of January 1, 2022." [1]
* "Fifty per cent of hospitalizations now, in Quebec, are due to people not having been vaccinated," [2]
[0]: https://www.theguardian.com/world/2021/dec/08/omicron-covid-...
[1]: https://health-infobase.canada.ca/covid-19/vaccination-cover...
[2]: https://www.cbc.ca/news/politics/duclos-mandatory-vaccinatio...
It might be cool to show a rough estimate of how many people are able to hear your messages? I tried shouting to my entire city but I noticed the global channel had around 78 subscribers, so I figured it was unlikely that anyone heard my message.
It would also be great at this stage to let you see a history of messages received in your location while you were away.
Also maybe let people send or at least listen to messages anywhere in the world, at this early stage? I'd love to see if anyone in my hometown is using this, but I don't live there anymore. Maybe you could set up a limited number of spots that you always get messages for? Say your home, work, etc.
Awesome job! Looking forward to updates. (If you have an RSS feed or something then I'd love to subscribe to it).
The TTS feature is pretty nifty (on Android, not sure if there's an equivalent on the web version, though firefox reader mode has TTS). With bluetooth headphones/speaker I can just have a bunch of articles read to me while I'm doing something else.
[0]: I hate random buttons for services I don't use showing up in my browser unexpectedly! I think stuff like this is part of why so many people (at least used to) avoid automatic updates. UI changes that don't immediately benefit the user.