HackerTrans
TopNewTrendsCommentsPastAskShowJobs

NewMountain

no profile record

comments

NewMountain
·السنة الماضية·discuss
There's something very wrong with the Russian one. The first example "Jessica | Tell History", is British woman speaking British English transliterated from Russian. It's absolute murder of the Russian language and painful to listen to.

The second example "Jessica | Record a commercial" is perfect. Confidence restored.

The third example "Laura | Help a client" is back to glass in your ears. This time an American is speaking American English transliterated from Russian.

Yikes. The English sounded fine, but the Russian has serious issues. Either there's a bug in your configuration (I hope) or your evals for Russian are unsound.

Edit: dial back the editorializing.
NewMountain
·السنة الماضية·discuss
I've seen this project pop up two or three times in the last few days. I'm really excited about this and wasm in general and spent last night working through the docs page (https://wasmcloud.com/docs/intro/).

I set up hello world in TS, Rust and Go and went through the happy path of saying hello world. That was a really nice and encouraging dopamine hit.

My biggest critique is once you need to go any further and turn hello world into even something pretty small but useful, the wheels fall off fast. Almost immediately after the "ooooh cool" of creating a hello world container with `wash dev` and seeing it on port 8000, which was my favorite part, things started to get weird.

After the tutorial introduces `wash dev`, a sort of create-react-app for wasm that bootstraps the project, generates a ton of boilerplate and generates a hot-reloading server, the tutorials immediately introduces `wash up` and `wash ui`. I figured out `wash ui` is an admin dashboard of sorts. Why can't I just have admin dashboard as an option in my hosting command like `wash dev --dashboard=true`? It never really explains why I want `wash up` vs `wash dev`, where they differ, why they differ and why each exists. The `wash up` experience is much more clunky and, to be honest, I'd really just want to keep going with the same command that was working for me like `wash dev --dev` and then `wash dev --prod` with a heavy emphasis in the tutorial on the difference for each as it's really not clear.

Confusion aside, the project seems very optimized for everything up to `wash dev` and then gets weird after that. I originally tried to create three components: hello-go, hello-rust and hello-ts. I used `wash new component hello-{lang} --template-name hello-world-{language}` and it created a sub-directory for each component. Each sub-directory looks like it's own self-contained universe and it is not _at all_ clear how to get each component invoking other components (which is heavily emphasized as one of the killer apps throughout the introduction page). Furthermore, the `wash dev` command seems to only work within a single component. It is not clear how, if at all, I can run `wash dev` in the main directory and rebuild each component in its sub-directory (how I would like this to work). Also, it seems like each component's `.wadl` defines the component behavior (the url via spec.components[http-component]) but I don't want to think about each individual component, I really want to have one infra definition in root that defines the behavior of every component (particularly the spreadscaler and http address).

There are no examples for anything beyond super-trivial /get of hello world. Could you show a post? Can I run multiple components on different routes? What about different components on different ports? If the intent is to run a "super lambda" that handles all traffic and routes internally, at least show that as an example.

Finally after a lot of digging, I found a link to a multi-component example (https://github.com/wasmCloud/wasmCloud/tree/main/examples/ru...) which introduces a half dozen new tools and commands not discussed anywhere in the tutorials and introduces a ton a clunky steps. In my head, I was thinking about all the steps in a Github Action runner I would need to make this seamless and just thought...this ain't it.

Also, about half way through the docs make a throwaway reference to hosting with Wasmtime and JCo....wat? I thought the point of the wash tool was to take me from dev on localhost to hosting in production. Is it not? If not, make that _very clear_ in the docs.

To be clear: I _REALLY_ want WasmCloud to be successful. A lightning fast (virtually cold-start free) self-hostable, serverless function platform is my dream. I would love nothing more than a platform where I and/or a small team could write functions in Go/Rust/JS/TS/Python, bundle and deploy them to a serverless platform we host. It's even better that this platform out of the box provides support for metrics, monitoring, logging and tracing. The first article I read about you a few days ago I jumped out of my chair in joy that my dream was finally coming true. While I didn't dig into it too much, it seems the platform also provides idioms for distributed systems (some mechanism to distribute load across self-organizing hosts on different machines). The reality is more rough and after using it, it's not clear if I misunderstood what this project is and was confusing it for something else or if it just needs more polish and DX focus.

I am rooting for you so much and wanted to give this feedback as I can't think of anything better than a self-hosted cold-start-less distributed serverless function platform but the rough edges would mean either I incur a ton of CI automation to smooth the rough edges, or I just keep watching this project before adopting.
NewMountain
·قبل 3 سنوات·discuss
I recently did a gig with a quad cortex and honestly I couldn't shake the feeling of just wishing I could have all my Plugins (FabFilter, SoundToys, NAM and NeuralDSP mostly) instead. iPad, good interface, some bluetooth switch/expression pedal and all the same plugins I have at home would be amazing for me.

Just curious if anyone knows. Suppose a band of the future is just a few players who show up with iPads (guitar, bass, key/synth, drums) and, where relevant, a control surface (midi controller, edrums, etc). Does Logic have a "federated" mode? Can each iPad synchronize to a shared click track or other backing tracks for lights, etc or does the "brain" of a performance still need to be centralized?

Edit: I'm wondering if that "federated" functionality could be used to reduce the amount of gear required for a band using IEMs. That would be a _killer_ use case.

I'm super excited about this though and really looking forward to a major step forward at least in the guitar world.
NewMountain
·قبل 3 سنوات·discuss
I honestly don't recall ever having a driver lower than 4.2 or so ever when taking an Uber. My guess is both of those drivers were low to mid 4 stars as I didn't pay any attention to it.
NewMountain
·قبل 3 سنوات·discuss
I had an Uber driver in upstate New York who was trying to get me to agree or at least not disagree with the superiority of the white "race". I had another driver in Oakland California who would not relent until I acknowledged God is real and I should be thankful for his love. I felt massive cognitive dissonance afterwards feeling both the requirement to report these drivers but also massive guilt at the non-zero chance I was depriving them of one if not the last potential for work available to them. I decided not to report either but still reflect on whether that was a good choice or not.

Edit: to be totally clear: I did not agree in either situation, but tried to gracefully divert or redirect without escalating the situation. I didn't confront as, frankly, I wasn't sure if the person would have responded violently.

Uber is valuable, but I have kind of accepted the premise that an Uber drive is just a public transit experience with a customized destination. I should expect some potentially weird and possibly unpleasant interactions as part of the process.

I would 100% convert to Waymo only away from Uber just based on those two experiences and dozens if not hundreds of generally positive Uber experiences.
NewMountain
·قبل 3 سنوات·discuss
I too hate them and don't want anything optimized for minute long content.

This is a kind of fun game of whack-a-mole, but here is my current ruleset for uBlock Origin:

    www.youtube.com###guide-content #endpoint[title="Shorts"]:upward(ytd-guide-entry-renderer)
    www.youtube.com###items #endpoint[title="Shorts"]:upward(ytd-mini-guide-entry-renderer)
    www.youtube.com##ytd-browse ytd-grid-video-renderer:has(span.ytd-thumbnail-overlay-time-status-renderer[aria-label="Shorts"])
    www.youtube.com##ytd-browse ytd-rich-item-renderer:has(span.ytd-thumbnail-overlay-time-status-renderer[aria-label="Shorts"])
    www.youtube.com##ytd-search ytd-video-renderer:has(span.ytd-thumbnail-overlay-time-status-renderer[aria-label="Shorts"])
    www.youtube.com##ytd-watch-next-secondary-results-renderer ytd-compact-video-renderer:has(span.ytd-thumbnail-overlay-time-status-renderer[aria-label="Shorts"])
NewMountain
·قبل 3 سنوات·discuss
Serious guitar player and coder. There is some overlap, but the areas prone to RSI are slightly different. I code 6-12 hours a day and play guitar 2-6 hours a day, most days in the middle of both ranges. Posture and form are really important in both but I've never had a problem where I couldn't do one or the other. However, I do notice some discomfort if I get sloppy or lazy doing either.

In guitar, posture, a good drum throne (roc-soc high stool with the back) and a more ergonomic guitar (Strandberg Boden) has allowed me to play as long as I'd want to daily as opposed to slouched over in a chair or on a couch with a Les Paul (that shape further exaggerated my slouch).

Similarly, good posture, an aeron chair, a good bright monitor with a monitor arm and a splitboard (UHK) has saved me from the aches and pains. My prior setup had me seriously wondering if I needed to start seeing a specialist for occasional numbness in one of my hands.
NewMountain
·قبل 4 سنوات·discuss
Do you have such insurance? Any company you've had good experiences with? I had a close call or two hiking in the Cascades and wasn't aware this was a thing so I'd appreciate any tips.
NewMountain
·قبل 4 سنوات·discuss
I've thought this as well. Trade "compliance" and "industry best practices" for "tech heresy" and boom, we're well on our way. At least at certain shops anyway.
NewMountain
·قبل 4 سنوات·discuss
I'm catching up on this thread now, sorry for the delay. You're absolutely correct. My function needs A, B and C to work is valid. That's perfectly fine.

    if __name__ == "__main__":
        a = os.getenv("foo")
        b = get_from_somewhere()
        c = "some_hardcoded_variable"
        my_app(a, b, c)
Is what I would expect in any reasonable codebase. The indirection and cognitive overhead was taken from Java where seeing @Autowired or @Inject, hitting reverse search and not being able to keyword search for the thing being injected is nightmare fuel. That is not something I would wish on an enemy, let alone on any user of a programming language I care for.

My original reply was in response to "please don't make Python Java", where that flavor of spooky action DI seems to be common.

To your original question: `what do I suggest`. I point to the authors example:

    di = Di()

    @di.register('A')
    class A:

        def __init__(self, di: Di):
            pass

        def action(self):
            print("Hi from A")

    @di.register('B')
    class B:

        def __init__(self, di: Di):
            self._di = di
            self._a = None

        def run(self):
            self.get_a().action()

        def get_a(self):
            if self._a is None:
            self._a = self._di.get('A')
            return self._a

    @di.override('A') # replace class A definition with a new one
    class C:

        def __init__(self, di: Di):
            pass

        def action(self):
            print("Hi from C")

    di.get('B').run() # prints "Hi from C"
    di.remove('B') # removes the B dependency from the registry
My suggestion: please not that.

How about:

    class A:

        def __init__(self):
            pass

        def action(self):
            print("Hi from A")

    class B:

        # A is default for some reason
        def __init__(self, a=A()):
            self._a = a

        def run(self):
            self._a.action()

    class C:

        def __init__(self):
            pass

        def action(self):
            print("Hi from C")


    if __name__ == "__main__":
        if os.getenv('ENV') == "PROD":
            a = A()
            b = B()
        # test/non-prod/whatever version
        else:
            a = A()
            b = B(C())

As someone who's been writing python for a while, I could walk into this having never read it before and say...ok sure, when prod, B takes A behavior, but when not prod, B takes C behavior.

In the proposed example, I would go in, read it (assuming I know to even look for this non-idiomatic use of the language) and then read through this code to figure out what should have just been an argument passed to B.

Which leads back to my original question: what is this buying me over dunder main or handing some arguments? In terms of cost, I have to understand something and walk through the code to understand something that could have been done more simply and more explicitly without this DI pattern.

Edit: formatting
NewMountain
·قبل 4 سنوات·discuss
100% this. Having worked on projects using and not using DI in several languages, I'd prefer a world in which we just say no to DI. What it offers, relative to the indirection and cognitive overhead has almost always been net negative.