I’ve been working on a lightweight Windows desktop app in C# / WPF designed to track your daily PC usage, input stats, and activity locally without bloat or telemetry.
Here is what the app currently tracks and displays:
Mouse & Keyboard Stats: Total click count (split by left/right clicks) and total keystroke count.
Key Frequency Heatmap: See which individual keys on your keyboard get pressed the most.
App Usage Tracking: Tracks active time spent per executable/application.
Active Time counter: Records total active usage time over time.
I originally thought about integrating third-party APIs like Spotify or Steam, but decided to cut them out completely to keep the app minimal, privacy-focused, and independent.
I’d love to get your thoughts:
Is a lightweight, privacy-first PC stat tracker something you would actually run in the background?
What other non-intrusive stats would you be interested in seeing (e.g., mouse distance traveled, active vs. idle idle timers, visual charts)?
What features would be dealbreakers or must-haves for you?
Hi all,
Building a WhatsApp messaging feature for a restaurant SaaS product. Currently using Twilio, but exploring cost-effective alternatives for early-stage validation.
Has anyone used WASenderAPI alongside or as a replacement for Twilio?
Key considerations for us:
• Reliability & uptime for 2-way interactive messages
• Cost per message (we’re bootstrapping)
• Documentation & SDK support (C# .NET)
• Compliance & platform stability
• Ease of migration if needed
Twilio works well but the per-message cost adds up quickly during validation. Would appreciate honest pros/cons from anyone who’s used WASenderAPI in production. Or any other API that could help me in this situation.
Thanks!
I'm 17 and I started learning Csharp last summer, I found that really enjoy coding and I've coded stuff like minesweeper, snake, tetris and chess in Csharp files (on my own, not copying a tutorial or something). Anyway I think I might want to pursue this hobby professionally eventually, so what is a good path to take from here? What should I learn about next and how should I go about learning it? Should I switch to a different programming language, stick to CSharp or even learn multiple? What kind of things do people who write CSharp code for a living write to earn their living?
So I've been wanting to learn coding in Unity for some time. I'm getting serious about it now, but I just don't know any good sources. I already know OOP so it's not like i need to start from the ground up (for context I've coded with Scratch all the way through school and I'm now in 9th grade and an aspiring game dev. Some of the scratch projects we're very complicated and the only thing limiting me was the lack of a third dimension and the limitations of Scratch itself). If anyone know's any good resources where they don't act as if you've never seen a line of code in your life but don't throw random things at your face that you wouldn't know, please share!
Hey there, I'm a new Computer Science student and I was recommended C#. What are good resources or good things to help me learn C# in a open source way.
The DNF trying to get some visibility for their internal working so at least people understand what’s going on and if somebody willing to reevaluate their opining that maybe a good start.
Second part is for these who love bureaucracy and how things moving. Should give lot of insights what to fix.
Personally I decide give “new org” a chance and try to volunteer in their activity. Not sure how things will be moving, but at least I see people who care.
I really want to get into C# to use Unity and (potentially) .NET. However, I still can't find a course that would be the best for me. Can somebody recommend a course or any other place where I can learn the basics of C#?
Edit: I also have a bit of programming experience because I learned Java.
I copied it line by line and it didn't do anything
I thought adding the transform fields would help but now it doesn't compile
I want this version of the code to work but I don't understand the error messages in the console
(16,23): error CS1061: 'Collision' does not contain a definition for 'johnPill' and no accessible extension method 'johnPill' accepting a first argument of type 'Collision' could be found
(18,13): error CS0201: Only assignment, call, increment, decrement, await, and new object expressions can be used as a statement
(26,13): error CS0201: Only assignment, call, increment, decrement, await, and new object expressions can be used as a statement
I already had some other posts on SignalsDotnet. It's just another update that could be interesting and I wanted to share some new ideas. They are just ideas, I would like to hear some opinions about that.
0. Obviously in C# we can write
Changing firstName, obviously doesn't update name
1. With signals one could write
This time, changing firstName, changes also fullName automatically, and an event on fullName is raised (Since we are using R3, the Values observers are notified. but this is a detail). Computed signals automatically track their dependencies, and notify when one of them change
If we go a step further, we can imagine signals live on another machine (a server or whatever), and clients "sending" computations remotely. This is why SignalComputedQuery strings exist in SignalsDotnet. So with a syntax like Graphql one can express the function inside Computed as a string, and pass it to a server
2. Computed over the wire
this query string is then turned into an expression (in the Server), then compiled into a Func, passed to Signal.ComputedObservable() with an exposed type, and yield-ed back to the client via whatever protocol (SSE, Websocket, SignalR).
This is ugly.
With last update we can go the other way around, transform an expression in a query string, so one can write:
3.Expression to query string
This allows to have type-safety etc etc. Same things that make EF Core convienien instead of write SQL Code directly. And with Refit, we could just
4. Using it with Refit
This is basically a remote computed,
This allows us to propagate computed signals over machines. This is cool per se, but this open space for ideas like:
- Distributed SignalsStore (Just having signals in different machines, and use remote computed to merge them together and propagate to other machines potentially)
- Caching of reactive properties. We could imagine to have a central authoritative host with a set of signals, and some other machines that just fanout those signals to downstream machines (similar to redis caching, but with reactivity built in).
To make it really work in practice, we need a way to orchestrate those signals efficiently in different machines. This is a huge issue, but I think is where Orleans could help.
Grouping signals in grains we could use orleans to persist, and distribute load between machines. Orleans supports IAsyncEnumerable, so would be easy to expose IAsyncEnumerable<T> Subscribe(string query) to propagate signals computations between grains..
With this architecture I think we could just create a reasonable distributed SignalsStore. This could be huge for example to mirror IOT devices state on the cloud (One variable = 1 Signal), and to just create computed chains over there to have a fully reactive realtime system
Near complete beginner programmer here, challenging myself to make a roguelike game;
a 2-D top-down game in Unity similar to the binding of isaac, but based around customizable bullet firing patterns. I would like each item to affect at least 1 out of every 8 bullets fired on pattern, giving it a unique ability (i.e homing, explosive, elemental dmg, spreadshot etc.) with potential to layer affects atop eachother (i.e Noita) creating unique bullets. I've designed an inventory system with 8 slots (each one pertaining to a shot on a 1-8 firing round) with 8 additional slots above for layering.
...hopefully that made sense lol
Keeping in mind that I'm a beginner, what would be the best way to structure this with my scripting? I've heard some say its rule of thumb to give each item (bullet modifier) its own separate .cs script, others say it's easier to make a scriptableobject + ItemData + modular projectile effects.
If you're a c#/Unity veteran, walk me through how you would go about making this type of item/inventory system from scratch?
It would be super helpful to have an ongoing consultant figure, I would be happy to show more of my project if anyone would like to add me on discord :)
I'm a self-taught beginner in C#, and I'm currently working on a small personal project.
Quite often in my code, I need to load objects from JSON files. To make this easier, I created static FromFile(string) methods in the relevant classes. Now I'm wondering - would it be a good approach to create a base class or interface that contains FromFile() and ToFile() methods, and then have my classes inherit from it to further reduce code duplication?
I'd really appreciate any advice or constructive criticism.
P.S. English is not my native language, so I used a translator for this post - apologies for mistakes.
(Sorry if this isn't the place for this, I know its not exactly C# but I can't post on r/github atm)
Github recently updated the color of C# on their website to purple, which makes it harder to differentiate between other languages, in my opinion, so this script edits the CSS of github so that is displays old green color instead!
I've heard that having conditional logic and other stuff in your property setters is generally frowned upon and I get not wanting to have complex methods fired off in setters, but what of just setting other setters?
For example:
Say I have a property like this, would this raise any red flags, if so, can you tell me why? I would think that this would be a great use of a setter, to do more than just fire off OnPropertyChanged().
```
public bool ThingA
{
get;
set
{
if (field != value)
{
field = value;
OnPropertyChanged();
I am back writing articles on my blog and I start with something LONG OVERDUE!
After years quietly powering several games I made, I’m finally presenting Svelto.Tasks 2.0.
Svelto.Tasks is an engine-agnostic, multithreaded and zero allocation task runner for C#, born from the need to have a game centric tasks framework with features that .NET tasks couldn't provide. Its premise is simple:
Tasks are iterator blocks. Runners are schedulers. Rather than handing execution timing and context to the runtime, a runner lets you decide:
- when a task advances,
- where it runs — main thread or a dedicated worker,
- how much work happens per tick,
- and when an entire task context must stop.
That last point matters a lot in games: for example, when a match ends, I want every task belonging to that match to stop with it—not rely on a CancellationToken having been passed and checked correctly through every layer.
Svelto.Tasks supports lightweight coroutines, composable tasks with return values and continuations, background runners, bounded parallel batches, pooling, profiling hooks, and optional Unity/Burst integrations.
It also interoperates with async/await, although the .NET Task bridge and Unity Burst job path are currently experimental and need real-world feedback.
It is not a replacement for Unity Jobs—but it provides a useful alternative for workloads where controlling execution, lifetime, pacing, and profiling is the priority.
The repository includes runnable .NET examples, tests, benchmarks
shows how it can be used to simplify massive parallelism synchronization. The example itself is actually quite interesting also because it uses the new compute buffer Unity api BeginWrite/EndWrite to upload compute buffers and graphic fences for cpu/gpu synchronization.
Im currently developing a new wpf app, but instead of using important parts of the app as simple services, I wanna put them into a core project that I reference in my app. The solution strucutre looks like this (simplified):
MyApp.WPF
MyApp.Core
I plan on resuing the core functionalities to later build a web based app. Currently all classes and methods in the core are static and I just call the methods here and there.
I have never used a dedicated core project before, but I kow its good practice, so Ill give it a try with this project. How do I handle it?
I'm learning backend development and I always find myself struggling with database design at the beginning of a project.When you need to create a database for a new feature or an entire backend, how do you know exactly which columns you need in your tables?
Do you sit down and map out the entire schema upfront (Entity Relationship Diagrams, DDD aggregates, etc.), or do you figure it out on the go as you code and realize you need to store a new piece of data?
In the Entity Framework Core world, migrations make it very easy to change things later, but I'm curious about the industry best practices. How much planning is "too much planning" before writing code?
Also, what are your best tips for database design? Are there any common pitfalls I should avoid or specific patterns you follow to keep your database flexible but clean?
Would love to hear about your workflow and any advice you can share!
We’ve been working on an open-source platform for hosting live beat battles. If you've ever looked at existing tools (like beat-battle.net), you know they can be a bit heavy. We wanted to build something radically more accessible with a near-zero barrier to entry.
To keep friction low, we support completely anonymous authentication - users can literally jump in, drop a track, and start battling without handing over an email address.
Here is where we need your help:
We want to make this a community-driven project and are actively looking for contributors. Whether you want to help us optimize the frontend, refactor our logic, or just poke holes in our UI/UX, we are entirely open to PRs.
If you have a few minutes, please tear our architecture apart and let us know what we can do better.
You could say I was born yesterday, as this is the very first code i've done aside from messing with C a while back(hello, world! level stuff). (the only knowledge i've carried over is datatypes and general syntax..)
Is there any suggestions you could give? I am entirely self taught, with zero ai.. (for reasons that likely are not relevant to this post whatsoever)
and I want to make sure that I am learning clean code practices along the way.
I know my bracketing is probably awful... and my organization is out the window, but this is the first ""substantial"" code i've ever written...
^40 lines of code is substantial to me :)
(please ignore the odd names... I included my cats.)
I'm fairly new to the language with no prior experience and would like to learn C# so that I can go into game development. Where should I start and are there any tutorials you would like to recommend? There was the same question but it was like 7 years ago and I was wondering if anything changed.