Hacker Newsnew | past | comments | ask | show | jobs | submit | floatingsmoke's commentslogin

I recently read that supabase.io is using this. https://supabase.io/docs/postgrest/server/about


I use Cloudflare Argo Tunnel for this purpose and am very satisfied. It's easy to setup and if you have TLD on Cloudflare, the daemon(cloudflared) creates new A record for each host and creates a tunnel between your host and the nearest Cloudflare data center. You can also run multiple services on a single host. And all these connections are secure.


$5 per month and 10c per GB or am I missing something?


That's what I understand. They could corner this market if they made it flat $5-$10/mo and finished getting their DNS registrar up and running. But I suspect they have bigger fish to fry.


When you deal with tens of Raspberry Pis, require high availability, and have low traffic bandwidth Argo Tunnel makes really sense.


Beside horrible, it's terrible, Just upgraded and can't even resize the panes. And the CPU usage is high even when not streaming or do any capture etc.


Huh. Happy OBS macOS user here.


Do you do any picture-in-picture of other apps with heavy CPU utilization, or apply any filters (chroma key/crop) or animated overlays? Multiple cameras or input sources? Multiple audio sources?

The framerate was terrible, the entire machine would lag, and the audio would constantly glitch out at best. Saved recordings were unwatchable.

I tried tweaking everything with the process priorities in OBS and the other apps, and could never get an acceptable result. AMD ThinkPad worked out of the box, did everything I described above, and CPU utilization stayed around 2-3%, and I couldn't even notice it was running while using other apps. All of this while I had it hooked up to extend the desktop onto 3 monitors. Streams and recordings are flawless.


Yeah, this is news to me too - we’ve been using it on a Mini (granted, it’s an i7 - but still, it’s a laptop in an aluminum case) with zero issues. Integrating NDI, no less!


What version of OS X are you running? What GPU do you have?


I guess YMMV. Used OBS a couple of times on macOS and was impressed with how smooth it ran.


Also let them fill their credentials in a single form. Two-step login makes password managers experience terrible.


I have noticed many implementations appear to be able to capture the password and have it auto-filled, or maybe my password managers are somehow able to handle them. I’m not against it when it works like that, as there are sometimes valid reasons for the design.


Got it. Why my MBP feels like burning when running zoom then?


If only one core is used, percentage of a core used is a misleading measure, because the CPU will boost the speed of that core, and have it use a way larger part of the power budget for the CPU (because the other cores do not need the power, and modern CPUs, especially in laptops, are almost always limited to some overall power usage limit by how much their cooling system can do)


Still no pinch to zoom. No chance on macOS.


Just set "apz.allow_zooming" to true in about:config. Pinch zoom works for me on macOS at least, didn't try on Windows yet. Works smoothly, just like in Safari and Chrome.

Perhaps there are still some minor bugs and they don't enable it by default?


Nice try. It works by pinching but double tap and smart zoom to cursor.

And if you zoom in somehow, you cannot pan over the page because Firefox act like you are seeing full screen and trying to go back or forward in browser history.


> And if you zoom in somehow, you cannot pan over the page because Firefox act like you are seeing full screen and trying to go back or forward in browser history.

Need to first pan at least a bit vertically, then it allows horizontal panning. But yeah, clearly not a finished feature yet. Still nice to see there's progress, and it's already mostly usable with the mentioned caveats.


> Need to first pan at least a bit vertically

Thinking of it, it would even be a nice feature since we need to pan to the left of the page or zoom out completely to go back in history with touch pad in Chromium based browsers.

> Still nice to see there's progress, and it's already mostly usable with the mentioned caveats.

At least.

Next release should definitely have this double-tap and smart-zoom feature.


A workaround if you really want that might be to set a bettertouchtool hotkey mapping pinch to CMD+/- when in the Firefox app.


I actually mean double tap zoom that zooms to HTML element that your cursor on. Amazing feature for browsing experience. Chromium has this feature since a lot.


This extension does that mostly. The only problem is that it zooms linearly, so when you get closer it takes more input to scale the same amount. https://addons.mozilla.org/en-US/firefox/addon/multi-touch-z...

Also read the description: there's an option to enable it, but for me at least, it was too buggy to use.


I use that feature often on Android/Firefox


see https://mixart.ist which is a great alternative.


I think ReactXP is not a visionary project but Microsoft's approach to take advantage of javascript developers and make them able to build mobile apps for Windows phones beside indispensable platforms(Android, iOS).


Wait, isn't Windows phone officially dead? https://www.bbc.com/news/amp/technology-41551546


A bunch of pioneer project like docker, kubernetes, etcd, prometheus etc. has been built with go and I don't believe that the maintainers suffered lack of generics and error handlers. On the other hand, as a new go programmer, I can really dive into their code base and understand each line of code without thinking twice. This comes from simplicity.

But these possible nested error handlers and generics will lead developers to think more than twice during writing or reading a code base. These ideas is not belong to go era but Java, C++ etc which go doesn't wanted to be like.

Someone here has mentioned that internal support of generics for slices, maps and other primitives. I think this can be the best solution for generics in go. For the error handling I think more elegant way could be found.

Please do not rush.


> A bunch of pioneer project like docker, kubernetes, etcd, prometheus etc. has been built with go and I don't believe that the maintainers suffered lack of generics and error handlers.

Here's an experience report from k8s: https://medium.com/@arschles/go-experience-report-generics-i...

They've been using a code generator as a work around: https://github.com/google/gvisor/tree/master/tools/go_generi...


I think code generators are a better path than having the compiler generator the code for you. It's nice to look and see what is about to be built instead of waiting for it to be built then trying to debug with breakpoints.


It sounds like nested error handling will be the abnormal case and the "default" error handling will often be normal. That is, all you will notice in common use is that the boilerplate "if" is replaced with a "check".

It also sounds like the nesting does not escape the function itself. It always either returns error, or doesn't.


Well, How about multiple return values? How will "check" keyword handle return values other than error?

  func ReadFile(path string) (string, error) {
    b, err := ioutil.ReadFile(path)
    s := string(b[:])
    return s, err
  }
How this function would be written regarding to drafts?. I am really confused.


The draft doesn't include any actual examples with multiple returns on a function that uses check internally, but the behavior is fully specified:

> A check returns from the enclosing function by returning the result of invoking the handler chain with the error value.

> A return statement in a handler causes the enclosing function to return immediately with the given return values. A return without values is only allowed if the enclosing function has no results or uses named results. In the latter case, the function returns with the current values of those results.

> A handler chain function takes an argument of type error and has the same result signature as the function for which it is defined.

> If the enclosing function has result parameters, it is a compile-time error if the handler chain for any check is not guaranteed to execute a return statement.

So any handler defined in ReadFile would be required to return (string, error) or not include a return at all (such that other handlers got their chance to interact with the error).


check returns all non-error return values, so the function would be written as:

  func ReadFile(path string) (string, error) {
    b := check ioutil.ReadFile(path)
    return string(b), nil
  }


A handle block has access to all variables that are in scope. So if you have partial results that you want to return is a check fails you can return them in the handle block if they are already declared/assigned. The easier way to handle this is using named return variables which are always in scope. If no partial results have been assigned then they will be returned as zero values otherwise the partial results can be set.


What you're thinking of is the default handler (because if you wrote a handler, it would be your code returning things).

The default handler will populate the last element of the return list with the error, and return.

The other elements get zeroes, if not named, or they are unchanged from how they have already been set, if named.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: