131 karma · joined June 20, 2013
edit: here's something from, wow, 15 years ago. It was like this but more landscape-like in the flyover. https://www.youtube.com/watch?v=eD9rr0gTLSU
example - "I only ate 3 cheeseburgers"
https://suno.com/song/c15f0251-fbac-4a30-a3e1-002dbc78cb79/
edit: yes, I agree this example amusingly reinforces the rest of what parent is saying
Remote: yes
Willing to relocate: no
Technologies:
Typescript/Javascript, C#, HTML/CSS, Vue, SQL, noSQL, Bootstrap, Azure Devops/Github Actions, Kubernetes, Docker, Node.js, functional programming, CQRS, unit and automated testing
Résumé/CV: upon request via email
Email: michael[dot]goeke[plus]yc[at]gmail[dot]com
Laser focused Principal Software Engineer adept at delivering best in class solutions on time, on budget, while building a kick ass team in stride. Fearless and empathetic communication - break down walls, find and create alignment, empower those around me. Technical genius. Polymath and autodidact. Clear and concise communicator.
I like to see the actual content of a book before I buy it to know if it resonates with me.
I found the book's table of content with links to the content is available, so I linked that here. Hopefully you get something out of it, and buy either the digital or paper copy if it speaks to you.
Seems like they may be jumping to conclusions here.
The problem this is solving may be obvious from your perspective, but it isn't from mine, and maybe others.
I don't know I need your solution unless I see I have a problem.
Perhaps there are a few simple, general problem cases this solves. If so you could characterize those in context+problem+solution brief narratives. That could help others get on the same page as your solution.
And this is true for reasons I didn't understand when I was soley technical and younger.
At the end of the day people - _teams_ - want people they can trust in. That doesn't mean you handle things flawlessly, or that your boss can necessarily "set it and forget it" with you. Being trustworthy and responsible means acting out of good intent. Take a breath, keep your head on straight, look at the slightly bigger picture, and make reasonable choices. Communicate. Act as if the world isn't on your shoulders - because it isn't.
Take a step back, realize that we're all people, trying to make good decisions, and we're responsible to work with the outcomes and address problems as they arise.
I've found I grow by leaps and bounds when I embrace this.
* make the tool author new page-object-model files
* workflow to append to page-object-model files
* support nested page-object-models better (scope selector)
* make playwright selectors work both ways (only work one-way right now, generating, not executing)
* page-object-model patterns flexibility - embellish recorder rules with method parameters
* add an animated gif to the top of the readme showing usage
* clean up ui
* margins/alignment
* add toggle to show/hideWhat I’ve developed allows me immediate feedback every step of the way. It makes it _fun_ again so I can keep my head in the game and finish a test in 15-20 minutes and feel accomplished instead of burnt out. I’ve also taken an approach where the tooling (especially the recorder, and soon the page object model support) brings you 80-90% off the way there, but _always_ plays well with user created code - it has some loose basic expectations of the interface, but it doesn’t need to own the generated code - that’s just a starting point for you to improve it.
Super excited. My company already has a precedent for open sourcing projects so I’m hoping this won’t take more than a week or two to get it there. I’m on vacation for a week but plan to finish the page object model story when I get back.
I created a library at work that I'm pushing to get open sourced now. It provides live coding functionality for Playwright tests.
It also has an extremely powerful user configurable recorder.
I'm looking to add support to make it page-object-model aware next.
It took 2 weeks to make so far, is < 100 lines code in playwright test side and < 100 lines code in the browser side to do the entire thing.
Everything kept folding down smoothly and (almost) perfectly.
I'm very proud of it :-)
For you, some actionable steps: Finding a good counselor is an excellent step. I won’t try to advise how to go about that, others have done a much better job than I could. One key would be to take action (and keep taking action). Also don’t just settle with the first counselor you find. Try several and choose which one helps you move in the right direction most.
Secondly I have personally found Headspace’s mediations on Loneliness and on Anxiety very helpful on a physiological level.
Everything else I have is less actionable.
Our hearts and emotions matter. Compassion matters. People being compassionate toward you, and you toward yourself. Being seen for who you are matters.
Your history indicates deep wounds. When our wounding comes within the context of relationships, healing also ends up needing to come from relationships. This will take time. You will have to find people you can trust.
Life is more than getting by. Find yourself, and find people who love you and respect you, as different as you may be. This is a wake up call, who you are is signaling that you need more.
I suspect Haskell has enough base-level complexity to be productive in it that it gets in the way of its adoption.
Contrast that to say writing something to serve http requests in Go. The number of complex concepts or idioms in related library pieces is comparatively very low. [0]
I’ve found the complexity of the solution should match the complexity of the problem being solved. If the solution has equivalent number of moving pieces and choices as the problem space requires, then it’s been made “as simple as possible, not simpler”. This is where some languages (tools) are better suited to a problem than others. Don’t reach for imperative patterns when css declaratively does what you want and has matured enough to have boiled down the very good ways of doing it.
I like Joe Armstrong’s approach of writing and then iterating a solution (a method, part of a feature, whole feature) until the extra dead material falls off.
So like I said, I have mixed feelings about this. It’s a shame to have to add artificial complexity.
[0]: Go and it’s libraries are admittedly not a perfect example. I find Go leans a little past the edge in trying to make things simpler than they actually are. But it’s not too far off.
My friend has a Pharos manual grinder. I’ve come over to help his wife adjust the grind several times. I bring the same beans I’ve been using that week as a reference point. I’m always shocked how much better theirs tastes - even far-out-of-optimal shots - ones that are very fast or very slow. On my machine the unpleasant overextracted flavors creep in quickly. I chalk it up to consistency of the grind - and that’s observable. You can pinch grinds up and “smear” them across a white sheet of paper to observe size, and to a lesser extent, variability.
I’m still surprised that the grinder affects the espresso more than the espresso machine.
Note: the Pharos is a beast and I don’t recommend it unless you like armwrestling as part of you coffee prep every time.
It gives plenty of control. It's pretty great in practice.
I have the center channel bumped several steps louder than the others on my receiver. This makes a world of difference over stereo mixes. (I will admit the voice sound can be more uneven - wind noise etc starts to show through)
Hmm, thinking out loud - I bet a multichannel mix could be calibrated on your system to bump the center channel, even if outputting to 2 speaker
It came and was the full install, they were just giving a discount if you owned the previous version. It came with two additional CDs filled with DEMs. One with DEMs in the US, the other across the world.
Fun times, getting lost in the madness of creating.
C# supports extension methods, so if you want you can augment the original 3rd party class with your own (chaining in this case) methods. Or author your own “fluent interface” on your own classes, as he’s done here.
I’m the end, most of the time I found I was wanting a function ‘forward composition’ operator (like F#’s |> ). And the only place the chaining methods really made sense was factory classes/methods for complex declarative configuration.
The only ones that stuck for us were ORM mapping declarations, and factories for setting up complex domain specific data setup in tests.
Or would that just train us to ignore the ‘take over tone’?
Node js and the the package manager are inextricably tied together. Node js provides a local js runtime environment for the e.g. dev time packages to execute. It's also the api for interacting with the filesystem. Somewhere down there, yes, Node js is a web server, but it's kind of 'the' javascript execution environment for building local packages ("plugins"?) against.
The whole ecosystem is built up on javascript. If you're running grunt or gulp or webpack, it's all javascript. When you install packages globally they're put in a global folder. There are exceptions (I'm looking at you Cypress) that have native assemblies instead of js, but by and large there it's js, and it's stored locally. There are some pretty simple conventions (e.g. the 'node_modules' folder and the hidden '.bin' folder inside that) When running npm it feels like passing a one-liner javascript command into node's javascript repl/environment. The .bin commands are ambiently available.
It makes a lot of sense how it's grown organically... why there haven't been efforts to separate the constituent parts... I don't know. At some point maintaining the 'working thing' with <large degree of> complexity is easier than following a more rigorous, provable set of tools. I think it's a culture thing. Probably the same reason most of the problems are fixed by deleting node_modules and re running `npm i`
The output resolution is locked at 512x512. The "target style images" seem to be locked to that handful that come with the application. The brush materials don't include anything man-made.
Am I doing it wrong?
He's updated it since then several times
I like the docs because, having come from a different dev environment, and seeing web/html as a vast sprawling landscape of surface area to learn, littered with defunt, old, broken, and janky throwaway bits everywhere - the documentation implicitly points out the core path of what's needed to understand how to bind and work with data in a web page.
Bravo!
I'm convinced this clarity comes from you distilling down what exactly _are_ the core pieces, and only implementing them first.
some rambling questions:
I wonder how this (synergyjs) works for a webapp type situation? Would one extract .js scripts as modules to reuse custom components? or is that trying to bring this into a more complex setup than is the sweet spot for this lib? e.g. is this better suited for a page at a time?
Also, maybe I'm dense, but does this approach lend itself to single page apps? My understanding is it shines when you have single pages with some logic behind them. If you need to jump to another page, the "passed data" would be encoded in the url, yes?
(I seem to recall the html 5 standards were looking to add something (was it 'proxy'?) that was something like frames, but involved web components, and maybe even passing of data through slots... is that a thing?)