45

I'm looking for some sort of chores calendar where we can set up scheduled chores each day and assign an owner to them.

If those chores are not done then they start to stack onto the next day.

My spouse and I need to hold each other accountable for the chores and tasks in which we are assigned. And I think a great way to represent that is showing how uncompleted chores stack up, they don't go away, the time it takes to complete them still exists as a form of debt to our free time.

Are there any open source projects that do this sort of thing or help with keeping up with the home, tasks, & household chores?

[-] douglasg14b@programming.dev 7 points 3 months ago

This is a weird take given that the majority of projects relevant to this article are massive projects with hundreds or thousands of developers working on them, over time periods that can measure in decades.

Pretending those don't exist and imagining fantasy scenarios where all large projects are made up of small modular pieces (while conveniently making no mention to all of the new problems this raises in practice).

Replace functions replace files and rewrite modules, that's expected and healthy for any project. This article is referring to the tendency for programmers to believe that an entire project should be scrapped and rewritten from scratch. Which seems to have nothing to do with your comment...?

45

GitHub: https://github.com/microsoft/garnet

Just saw this today and I am pretty stoked. It's just a drop in replacement and performs > 10x faster under workloads with many client connections. Not that I found redis slow, but in Enterprise workloads that's a lot of money saved. $50k Garnet clusters handling similar workloads for $5k would be significant.

It being essentially entirely written in C# makes it pretty easy to read, understand, contribe to, and extend. Custom functions in C# have a pretty low barrier to entry.

I get that there's probably going to be a lot of hate just because this is released by Microsoft developers.... But in my opinion the C# ecosystem is one of the best to build on.

[-] douglasg14b@programming.dev 4 points 3 months ago

.Net 8 will work on Linux just fine. But winforms will not, it's specifically a legacy windows-only UI framework.

You're going to have to jump through some incredible hoops to get it to work on Linux. Which are definitely not part of your normal curriculum.

[-] douglasg14b@programming.dev 3 points 7 months ago* (last edited 7 months ago)

IMHO it's unnecessary at this juncture, and further fragments already vastly under engaged communities (.Net & C#)

Posts about .Net & friends fit into the .Net community. It's not so busy that a new community needs to break off to direct traffic & posts to.


This is actually a common failing point/pain point for low traffic or "growing phase" communities & platforms. Fragmentation reduces engagement, and below a certain threshold it just straight dies. Avoiding unnecessary fragmentation until such time as it serves a purpose helps communities grow faster.

To highlight this: the number of mods you are suggesting this community should have to handle TZ coverage is more than the average number of comments on posts in the .Net community today...

[-] douglasg14b@programming.dev 14 points 7 months ago

I go full chaos and look up where I last used it when I need a snippet...

[-] douglasg14b@programming.dev 18 points 8 months ago* (last edited 8 months ago)

And what does it imply?

That an AI might be better at writing documentation than the average dev, who is largely inept at writing good documentation?

Understandably, as technical writing isn't exactly a focus point or career growing thing for most devs. If it was, we would be writing much better code as well.

I've seen my peers work, they could use something like this. I'd welcome it.

[-] douglasg14b@programming.dev 7 points 8 months ago* (last edited 8 months ago)

I do feel like C# saw C++ and said "let's do that" in a way.

One of the biggest selling points about the language is the long-term and cross repo/product/company..etc consistency. Largely the language will be very recognizable regardless of where it's written and by who it's written due to well established conventions.

More and more ways to do the same thing but in slightly different ways is nice for the sake of choices but it's also making the language less consistent and portable.

While at the same time important language features like discriminated unions are still missing. Things that other languages have started to build features for by default. C# is incredibly "clunky" in comparison to say Typescript solely from a type system perspective. The .Net ecosystem of course more than makes up for any of this difference, but it's definitely not as enjoyable to work with the language itself.

[-] douglasg14b@programming.dev 5 points 8 months ago* (last edited 8 months ago)

The great thing about languages like C# is that you really don't need to "catch up". It's incredibly stable and what you know about C#8 (Really could get away with C# 6 or earlier) is more than enough to get you through the grand majority of personal and enterprise programming needs for the next 5-10 years.

New language versions are adding features, improving existing ones, and improving on the ergonomics. Not necessarily breaking or changing anything before it.

That's one of the major selling points really, stability and longevity. Without sacrificing performance, features, or innovation.

[-] douglasg14b@programming.dev 4 points 9 months ago* (last edited 9 months ago)

.Net + EF Core + Vue/TS + Postgres. Redis as needed, Kafka as needed.

I can get applications built extremely quickly, and their maintenance costs are incredibly low. The backends are stable, and can hang around for 5, 10+ years without issue or problems with ecosystem churn.

You can build a library of patterns and reusable code that you can bring to new projects to get them off the ground even faster.

Would recommend.

[-] douglasg14b@programming.dev 13 points 10 months ago* (last edited 10 months ago)

Yeah but the ecosystem drags it about as far down as you can go.

Backend development for large applications relies on stability, the JS ecosystem has anything except stability.This is okay for FE development where you naturally have a lot of churn.

It's a reasonable expectation that a backend built today should be maintenance free and stable over the next 5-10 years if no more features or bugfixes are required. And is buildable, as is, anywhere in that timeframe with minimal or zero additional work.

Additionally, strong backends in the same ecosystem are similar, they use similar technologies, similar configs, similar patterns, and similar conventions. This is not the case for JS/TS backends, there is incredible churn that hurts their long term stability and the low-maintenance requirements of strong enterprise, and even more importantly small businesses backends.

Mature ecosystems provide this by default this is why C#/Java is so popular for these long-standing, massive, enterprise systems. Because they are stable, they have well established conventions, and are consistent across codebases and enterprises.

This is a perspective most devs in the ecosystem lack, given that half of all developers have < 5 years of experience and the vast majority of that is weighted into the JS ecosystem. It takes working with systems written in python, TS, JS, C#, Java....etc to gain the critical insight necessary to evaluate what is actually important in backend development.

Edit: to be clear this isn't just shitting on JavaScript because that's what people do, I work with it everyday, TS is by far my favorite language. 2/3 of my career is with JS/TS. This is recognizing actual problems that are not singularly solvable with the ecosystem that pulls down its liability for backend development. There are languages and ecosystems are much better for your back end it's not that scary to learn a new language (many of my co-workers would disagree it's not scary 😒)

[-] douglasg14b@programming.dev 14 points 10 months ago

If you do this enough you know how to design your solutions to be relatively flexible. At least for your backends.

Your frontend will always churn, that's the nature of the job.

[-] douglasg14b@programming.dev 3 points 11 months ago

I think you can have a well tended garden without giving up creativity.

You're not sacrificing creativity by practicing structures, considerations, and methodologies that maintain or improve the developer experience with whatever creative endeavor you're on.

The structure of your garden doesn't prevent you from playing around with new plants, it just outlines a set of patterns and expectations known to drive better outcomes.

I'm not saying that your extension of the analogy is bad I'm just disagreeing with some of the premise.

[-] douglasg14b@programming.dev 5 points 11 months ago

Pretty much.

For instance focusing on PR size. PR size may be a side effect of the maturity of the product, the type of work being performed, the complexity or lack thereof of the real world space their problems touch, and in the methodologies habits and practices of the team.

Just looking at PR size or really any other single dimensional KPI lead you to lose the nuance that was driving the productivity in the first place.

Honestly in my experience high productivity comes from a high level of unity in how the team thinks, approaches problems, and how diligent they are about their decisions. And isn't necessarily something that's strictly learned, it can be about getting the right people together.

view more: next ›

douglasg14b

joined 1 year ago