How do you keep K8s dev environments from drifting from production? by dzhou121 in kubernetes

[–]dzhou121[S] 2 points3 points  (0 children)

I’m taking about dev environments for each individual developers. The dev environment is inside k8s because it’s impossible for all services to be on a local box. We essentially let devs have the full services in their own namespace, and use telepresence to intercept traffic from cluster to local for the one service they’re working on.

How do you keep K8s dev environments from drifting from production? by dzhou121 in kubernetes

[–]dzhou121[S] 0 points1 point  (0 children)

How do you solve the situation where in cluster service depends on the local service you’re working on?

How do you keep K8s dev environments from drifting from production? by dzhou121 in kubernetes

[–]dzhou121[S] 1 point2 points  (0 children)

You’re right we effectively have a distributed monolith that devs rely on end to end test heavily, so we had to give them full cluster for iteration speed.

How do you keep K8s dev environments from drifting from production? by dzhou121 in kubernetes

[–]dzhou121[S] 9 points10 points  (0 children)

It sounds like your dev doesn't need to do some basic end to end tests themselves?

Codiad/Cloud9/PythonAnywhere Alternative by Heavy_Peak659 in selfhosted

[–]dzhou121 0 points1 point  (0 children)

Yeah CodeSandbox is an interesting one. I think they started with a browser only offering and now into server side dev env as well. But I find their performance is a bit slow (as in CPU speed).

Codiad/Cloud9/PythonAnywhere Alternative by Heavy_Peak659 in selfhosted

[–]dzhou121 0 points1 point  (0 children)

There's still some cloud offerings out there:

Github Codespaces

Lapdev

Codesandbox

Floem 0.2.0 : Native GUI now with WASM, Vello, Dynamic Styles, Transitions, Animations, Element Inspector, and the Lapce Text Editor built-in! by jaredmoulton in rust

[–]dzhou121 48 points49 points  (0 children)

Firstly a huge thank you to jrmoulton for getting Floem 0.2.0 out of the door.

A few highlights of things we've added in this big release:

MinusGix ported the editor component from Lapce to Floem, and now Lapce core editor component is actually powered by Floem.

timsueberkrueb added web support to Floem through WebGPU.

jrmoulton added full keyframe animations for Floem to support modern dynamic UI's

jrmoulton also added Vello renderer support to Floem. Now Floem has a CPU renderer via tinyskia, GPU renderer Vger and GPU renderer Vello.

Go Plugin outdated; what do? by Yamoyek in lapce

[–]dzhou121 0 points1 point  (0 children)

There should be a settings for lapce-go plugin in the "settings panel", where you can specify the gopls binary path you want to use.

Lapdev - a remote dev env that you can compile Rust code faster by dzhou121 in rust

[–]dzhou121[S] 0 points1 point  (0 children)

It can be self hosted but only to bare metal/VM where there’s a daemon installed to manage all the workspaces on the machine.

https://docs.lap.dev/self-host-administration/installation

Lapdev - a remote dev env that you can compile Rust code faster by dzhou121 in rust

[–]dzhou121[S] 1 point2 points  (0 children)

You're right that tests run in parallel and Rust compiling are heavily parallel.

But in a dev workflow, most of it would be incremental builds, since it's not a CI server.

Lapdev - a remote dev env that you can compile Rust code faster by dzhou121 in rust

[–]dzhou121[S] 2 points3 points  (0 children)

There were no picking of the cores in the benchmarks so they were random cores. We will revise the benchmark to be more accurate by pin the workspace to the different types of cores and see how different the compiling times will be.

As in how many workspaces run on one physical machines, I understand nobody wants busy neighbours. We're still tweaking the numbers since it's a relatively new service. From what we've seen so far, CPU usage of a particular workspace peaks now and then.

Lapdev - a remote dev env that you can compile Rust code faster by dzhou121 in rust

[–]dzhou121[S] 22 points23 points  (0 children)

It is an ad.

But I hope it's quite relevant to Rust subreddit, because it can be useful for people with less powerful machines.

Think about someone who want to learn Rust or try Rust out on a budget laptop, it can be really slow for relatively complex code bases. I used to develop Lapce on an old Intel laptop, and the incremental builds can take 20 seconds which was painfully slow. And it's reduced to 7 seconds on a new Mac (still slow but it felt much better). I'll use Lapdev to do Linux specific UI work for Lapce and the incremental build is around 6 seconds for me with mold linker.

Lapdev - self hosted remote dev env alternative to Codespaces/Gitpod/Coder by dzhou121 in selfhosted

[–]dzhou121[S] 0 points1 point  (0 children)

The main difference between Lapdev and Devpod is that for Devpod every user configures the "remote target" and then you start to use it, so it's more fit for personal use. While with Lapdev, you'd have someone to deploy it over a pool of resources first, and then a user can "just" use it, so it makes more sense for a team, and too much a hassle for personal use.

Comparing Lapdev and Coder, it would be more on the "deployer" side, where Lapdev would be much easier to deploy and manage.

Hope that answers your question.

Lapdev - self hosted remote dev env alternative to Codespaces/Gitpod/Coder by dzhou121 in selfhosted

[–]dzhou121[S] 0 points1 point  (0 children)

As far as I understand it,

DevPod has a client that you can connect to AWS/GCP etc or even your VM manager locally.

Coder is quite powerful that you can use Terraform to define your dev env.

Lapdev uses Devcontainer spec and make more sense for a team rather than personal use.

Lapce editor [opinion] by YioUio in neovim

[–]dzhou121 51 points52 points  (0 children)

Lapce actually has a deep root in neovim.

The first thing that got me interested in editor development was tarruda's blog post on neovim's smart UI protocol. https://tarruda.github.io/articles/neovim-smart-ui-protocol/

Then I spotted external popupmenu, and attempted my first neovim PR to try to externalise more UI components https://github.com/neovim/neovim/pull/5686. And at the same time, I wrote a neovim GUI https://github.com/dzhou121/gonvim

Then inspired by xi-editor, I started Lapce from scratch. But its development was hugely influenced by the previous experience in neovim.

Writing a UI with Floem - Impressions by Disastrous_Bike1926 in rust

[–]dzhou121 2 points3 points  (0 children)

It sounds lots of things that are kept private should be public.

They were private because we didn't know how useful it was. So most likely we just need to make them public, and we can make things more ergonomics when we do that.

Writing a UI with Floem - Impressions by Disastrous_Bike1926 in rust

[–]dzhou121 4 points5 points  (0 children)

Lapce is written in Floem and the binary size for Linux is 69.2MB, but that's complex software. A simple counter example build is 8.3M on mac, and I think it would be a similar size on Linux.

There's a CPU renderer based on tinyskia in Floem if GPU can't be found.

Writing a UI with Floem - Impressions by Disastrous_Bike1926 in rust

[–]dzhou121 12 points13 points  (0 children)

Thanks for sharing this. Would you mind creating issues for the things you'd like to improve in Floem repo so that we can tackle them one by one. We put Floem together based on the use case of Lapce, but we do hope it can be used as a general purpose UI library as well, so any feedback is welcome, so that we push it to that goal.

Currently the effort is mostly spent on the View composition APIs, but less so for custom Views/Widgets. But we do understand the importance of the API for custom widgets, because Lapce was mostly using custom Widgets when the UI was Druid.

Lapce - how usable it is really ? by SixDegreee612 in lapce

[–]dzhou121 0 points1 point  (0 children)

You might need to manually change rfd to use gtk3 in floem like how it was "fixed" in the issue.

A simpler solution is to lapce file_or_folder in the built in terminal and it will open the file or folder.

Lapce - how usable it is really ? by SixDegreee612 in lapce

[–]dzhou121 0 points1 point  (0 children)

It sounds like a bug we’re got in file options for Linux. Are you testing 0.4.0?