Cyno

joined 1 year ago
[–] Cyno@programming.dev 1 points 1 month ago

I was aware of some people trying to get it working on wine but last I checked it wasn't really going anywhere, there were some big blockers there, and I didn't know the developers were interested in it at all.

Fork and VS are probably the top 2 pieces of software I'm missing to fully migrate to linux so I'd be very happy if they developed an official port that works as well as it does on win.

[–] Cyno@programming.dev 1 points 1 month ago (2 children)

although they are experimenting with it)

Do you have a source for this maybe? This is very exciting news but I don't wanna get my hopes up if it's not true

[–] Cyno@programming.dev 1 points 1 month ago* (last edited 1 month ago) (1 children)

I guess I just don't trust myself (or the system) to keep stuff organized unless I do it meticulously myself from the start in a neat hierarchy. I'll try to use search more often since it does seem fast and sleek and see how it works out. The only annoying part about it is that it always defaults to my primary display for search even if im focused on the second monitor

Do you know of a good guide on how to use search better, like can I narrow so it only shows files and folders, or maybe match to a regex like *.js? it doesn't really find specific files when i search for them, is it supposed to work with other mounted drives as well?

gnome-shell-pano looks great but is it abandoned? It says my current (newest i assume) gnome shell version is not supported by the extension. Does it open the paste window where your mouse focus is (and on the correct monitor if you have more than one)? CH always opens it on the main display even if i'm focused on the secondary, its horrible...

I found I already have an installed gnome extension 'hot edge' that is supposed to do dock opening when hitting the edge, although i do have issues with it sometimes not triggering, it seems very focus sensitive but it's definitely better than nothing.

It's definitely an interesting experience and I don't want it to replicate windows, but i guess i need to come to terms with some design decisions that will feel unnatural after using windows for almost 20 years now.

[–] Cyno@programming.dev 1 points 1 month ago

VScodium

I tried this but it seems that VSCodium is missing many of the extensions that are available on VSCode, it has something to do with them using different extension registries?

In any case thanks for the advice but they don't seem to be completely equal in terms of features

[–] Cyno@programming.dev 2 points 1 month ago

It's been a while since I used ubuntu and popOS was only for a few days so maybe I was just mistaken, I remember it being somewhat comparable to a classic desktop at the time. And tbh until so far I thought cinnamon is gnome so it seems like I was just outright wrong about that one, thanks for clarifying

I'm definitely willing to try bazzite's gnome3 for a while, i just wasn't sure what's the default anymore and if it's bazzite doing something out of the norm or if the ubuntu based distros did.

[–] Cyno@programming.dev 2 points 1 month ago* (last edited 1 month ago) (3 children)

tl;dr KB+M and no touchpad here so that might have something to do with it, I prefer more compact and colorful UIs, and different behavior between LMB and RMB.

I'm not a big fan of the Nautilus file manager, all the rows seem too big and too padded. There is no compact mode and from what I've read changing the default file manager is a big no-no in linux since the OS depends on it (and I did try to install Dolphin just to compare but the theme was unusable with bazzite). I can't even pin other drives to the left navigation pane, only folders? The monochromatic theme is neat but just makes it more difficult to tell things apart, gimme some color please yellow folders.

I know the no desktop decision is "since they always get cluttered anyways", but making me use a folder instead will just force me to use a cluttered folder instead, or more likely keep stuff in Downloads. At least with the desktop I can visually arrange it.

I miss the taskbar for switching apps. I do agree pressing the win/command button is neat and practical but sometimes I just want to switch to a different app on my second monitor using mouse only (or see notifications from it) without moving my keyboard hand.

Then it's the small things - I did install the clipboard manager gnome extension (because copyq doesn't work with wayland apparently) but it always opens it in a corner, not on my mouse location.

Systray - left and right mouse buttons do the same thing and doubleclicking does nothing? For example to open the steam window from it I always have to click it, go down to library and click again, this is the default behavior of RMB in other OSes and here it's the only behavior.

Minimizing something and then immediately alt-tabbing doesn't bring that window back up, some focus issue? Two monitors issue? Dunno but annoying.

[–] Cyno@programming.dev 3 points 1 month ago* (last edited 1 month ago) (1 children)

Is gnome 3 the one without a desktop? The only thing I can figure out with gnome-shell --version is that bazzite uses 46.4

There is a KDE variant of bazzite I might try but I dont know what can of worms is that going to open

[–] Cyno@programming.dev 2 points 1 month ago* (last edited 1 month ago) (1 children)

How will manually retyping git pull or checkout 30+ times a day, or using the terminal log instead of a nice GUI with VSCode integration, teach me to solve other complicated issues? I just don't really see the benefit of struggling for most of the time for something that might or might not happen later

[–] Cyno@programming.dev 7 points 1 month ago* (last edited 1 month ago) (3 children)

When you need more advanced stuff then GUIs tend to become more of a sticking point I find

What's stopping you just opening the terminal in those rare cases? For 99% of my daily needs I'm good with a good GUI

[–] Cyno@programming.dev 2 points 1 month ago (1 children)

I'll give it a try, thanks. Maybe I was just messing around with domains too much, could be that part is more strictly defined here compared to win

[–] Cyno@programming.dev 1 points 1 month ago (3 children)

I can't access my router due to ISP policy. Some tools do allow connecting to the name.local format (Vinagre did for example, but that one has other bugs so I gave up on it) so I'm starting to think that's actually just a problem with Remmina, not a general Linux issue.

Not sure what you mean by the domain question, I do have a domain specified if i check the windows machine pc properties so I'm guessing I am actually in one?

[–] Cyno@programming.dev 1 points 1 month ago

Ok, I'll just default to flathub for app search instead, thanks.

Wish I wasn't already running into bugs with it though - I started installing vscode and logseq with flatpak, it opened them in Mint's Software Manager and there's a spinny thing now indicating work is being done, but when I click on it it just says "Currently working on the following packages" and then... nothing, blank screen. No idea if it's stuck or actually doing something in the background, but it's been a while (way longer than those would usually require to be installed).

Not a good first impression for sure

 

Short explanation of the title: imagine you have a legacy mudball codebase in which most service methods are usually querying the database (through EF), modifying some data and then saving it in at the end of the method.

This code is hard to debug, impossible to write unit tests for and generally performs badly because developers often make unoptimized or redundant db hits in these methods.

What I've started doing is to often make all the data loads before the method call, put it in a generic cache class (it's mostly dictionaries internally), and then use that as a parameter or a member variable for the method - everything in the method then gets or saves the data to that cache, its not allowed to do db hits on its own anymore.

I can now also unit test this code as long as I manually fill the cache with test data beforehand. I just need to make sure that i actually preload everything in advance (which is not always possible) so I have it ready when I need it in the method.

Is this good practice? Is there a name for it, whether it's a pattern or an anti-pattern? I'm tempted to say that this is just a janky repository pattern but it seems different since it's more about how you time and cache data loads for that method individually, rather than overall implementation of data access across the app.

In either case, I'd like to learn either how to improve it, or how to replace it.

 

Was just wondering what's popular nowadays, maybe I find something new and better - what kind of tools are you using to access and manage databases?

I'm personally using Dbeaver a lot but honestly it feels increasingly more buggy and unreliable as time passes, every installation and update has had (unique) issues so far and there's little support. However the ease of use and some powerful, convenient, utilities in it make it preferable to others.

 

It is a common sentiment that managing dependencies is always a big issue in software development and the reason why so many apps come pre-bundled with all the requirements so it reliably works on every machine.

However, I don't actually understand why is that an issue and why people generally bash npm and the way it's done there. Isn't it the simplest and most practical solution to a problem - you have a file which defines which other libraries you need, which version, and then with one command you can install them and run the program?

Furthermore, those libraries and their specific versions can be stored elsewhere and shared across all apps on a system so you can easily reuse them instead of having to redownload for each program individually.

I must be missing something since if it were that easy, people would have solved it years ago and agreed on a standardized best way, so I'm wondering what is the actual issue and a cause of so many headaches.

 

I see this often with both new and old developers, they have one way of doing a thing and when presented with a new problem they will fall back to what they are used to even if it's not the optimal solution. It will probably work if you bruteforce it into your usual patterns but sometimes, a different approach is much easier to implement and maintain as long as you are willing to learn it, and more importantly - know it exists in the first place.

On a less abstract level, I guess my question is - how would I go around learning about different design patterns and approaches to problem solving if I don't know about their existence in the first place? Is it just a matter of proactive learning and I should know all of them in advance, as well as their uses?

Let's for example say I need to create a system for inserting a large amount of data from files into the db, or you need to create some service with many scheduled tasks, or an user authentication system. Before you sit down and start developing those the way you usually do, what kind of steps could you take to learn a potentially better way of doing it?

view more: ‹ prev next ›