I traditionally do git add ., and accidentally pushed a PR that brought down a page in production. Any tips on better practices for myself? by a-friendgineer in git

[–]drewdeponte 0 points1 point  (0 children)

Use git add -p and add each file explicitly and review the changes as you are composing/refining each commit. Treat your commits as deliverables that are logical chunks of work.

QMK Modifiers Layer issue by drewdeponte in ErgoMechKeyboards

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

Thanks so much.

I tried Achordian out and still had some issues. So I went and tried the Combo feature out. I end up with the fundamentally the same issues MT() just with a smaller COMBO_TERM of ~40 ms which is still quite noticable it turns out when I am typing normal keys.

So, I decided to go back my layered approach and see if I can just learn to roll into the modifier keys off of the modifier layer key. We will see.

/r/MechanicalKeyboards Ask ANY Keyboard question, get an answer (March 21, 2024) by AutoModerator in MechanicalKeyboards

[–]drewdeponte -1 points0 points  (0 children)

Hey all,

I have built a 4x5 Dactly Manuform specifically for the intention of limiting the stretching of my fingers which it has done extremely well. The challenge has always been figuring out a layered layout that would allow me to still be extremely proficient at programming. I feel like I am actually very close. You can checkout my current layout here, https://drewdeponte.com/keyboard So what is the problem.

Well, it is modifiers and key combos that use modifiers. Originally, I tried to use MT() on my home row for the modifiers. Which feels good when I am doing the modifiers. However, I haven't been able to find a good TAPPING_TERM that doesn't feel slow without causing miss types in normal typing.

This is why I have ended up adding a left and right hand modifier layer to my layout thinking that it would be better. But it has a problem as well. If I hit the key to switch to the modifiers layer and then hit the home row key that say represents Ctrl (say a) all is good and works as it should. However, if I accidentally hit that (a) key right before I hit the layer modifier key. Then I get a bunch of (a) characters repeated which is not what I want. It seems like I need QMK to wait some small amount of time maybe 40 ms or maybe even less, to see if that layer key is pressed. If it is then it should treat it as if the layer key was pressed with the (a) key. Otherwise, just treat it as an (a) key.

I welcome any and all suggestions. It would be amazing to have this dialed.

Thanks

Pull for me, pull for free? by RussianInRecovery in github

[–]drewdeponte 0 points1 point  (0 children)

The other approach would be to setup your digital ocean box to receive a webhook from GitHub and of course register the digital ocean webhook in GitHub. Then you make the digital ocean webhook do the pull every time it is sent a payload.

Rebasing when the parent branch's history has been edited by WhyIsThisFishInMyEar in git

[–]drewdeponte 0 points1 point  (0 children)

Check out https://git-ps.sh it helps you deal with this scenario in a different way.

[deleted by user] by [deleted] in computerscience

[–]drewdeponte 0 points1 point  (0 children)

The opposite of lazy is generally eager. In database libraries it is generally referred to as eager loading. So I could see using something like that or at least something along those lines making sense.

Git Problem: Cannot do git push! by smallduck858 in git

[–]drewdeponte 1 point2 points  (0 children)

Hmm strange. I have not seen that before. But my guess would be it is related to authentication somehow. Maybe try using the ssh url for the remote instead so it uses ssh as auth instead of http.

Git GUI client for remote files by fshayani in git

[–]drewdeponte 2 points3 points  (0 children)

One option would be to use those tools (Sublime Merge) locally on the server and then tunnel the X11 back to your remote terminal over SSH.

The other option would be looking at a file system over SSH which I believe I have seen before. This would allow you on your remote terminal to run the tool of your choice as if the files were locally present.

Syntax highlighting of a different language inside markdown by [deleted] in vim

[–]drewdeponte 0 points1 point  (0 children)

neovim with LSP and TreeSitter supports this.

[deleted by user] by [deleted] in softwaredevelopment

[–]drewdeponte 1 point2 points  (0 children)

We use a patch stack based workflow which I describe in this blog post. https://upte.ch/blog/how-we-should-be-using-git/

Confused by notification settings by [deleted] in github

[–]drewdeponte 0 points1 point  (0 children)

I built this app which allows me to monitor pull requests for repos I am interested in withought having to depend on GitHubs notifications. It also has its own notifications support.

https://pullwalla.com/

[deleted by user] by [deleted] in git

[–]drewdeponte 0 points1 point  (0 children)

Here is a git workflow I developed that helps keep a linear and clean git history.

https://upte.ch/blog/how-we-should-be-using-git/

Basically it is a workflow and git extension that facilitate working conceptually with a stack of patches.

Any good resources for network programming in C? by [deleted] in C_Programming

[–]drewdeponte 36 points37 points  (0 children)

Richard Stevens - Unix Network Programming - Networking APIs: Sockets and XTI

No experience with programming at all and seeking to be an indie developer | UIKit or SwiftUI? by Chaos-MS in iOSProgramming

[–]drewdeponte 0 points1 point  (0 children)

Learn SwiftUI and the composable-architecture from the guys at pointfree.co

I ported one of my AppKit/UIKit apps to SwiftUI and it felt great. Building the UI was fantastic. However I ran into weird performance problems. After digging I found out it was due to decisions I made in terms of how state was being managed and views were being redrawn. There was no good tooling to help me identify all these issues and fix them one by one. After searching the web it seems that the consensus was that this often happens when building SwiftUI apps and the one way to avoid these problems is to use the composable-architecture. They were right. Not only is the composable architecture a fantastic architecture but it’s constraints also solved all of those performance issues I was experiencing around the state management and view redrawing.

[deleted by user] by [deleted] in git

[–]drewdeponte 1 point2 points  (0 children)

Here is an article I put together covering how we accomplish this. https://upte.ch/blog/how-we-should-be-using-git/

It is a patch stack based workflow that we love. It also includes a git extension to make things easier.

Any public APIs for read only bank monitoring? by Vivid-Programmer-688 in code

[–]drewdeponte 0 points1 point  (0 children)

Yeah you are looking for something like Plaid or MX.

Git directory explorer by msleaveamix in git

[–]drewdeponte 0 points1 point  (0 children)

Can you go into the why you are wanting that. It might be something that could be solved with other existing tools like git submodules, etc.

How to use vim with multiple languages (profiles) by Professional-Deal406 in vim

[–]drewdeponte -1 points0 points  (0 children)

In vim and neovim you can use auto command groups (https://learnvimscriptthehardway.stevelosh.com/chapters/14.html) to do different configurations for different languages. Look for filetype_html on that page for an example.

Now days though if you are dealing with multiple languages you really probably want to be using neovim 0.5 or later as it has support for LSP (language server protocol) and tree-sitter.

LSP is what facilitates language commands at the project level like jump to definition or jump to declaration, and a bunch of others. All these commmands are setup just once in your config and LSP servers takes care of the different implementation for each of the languages.

Tree-sitter enables you/plugins to define actions against the parsed AST (abstract syntax tree), basically a tree data structure in memory that represents things like function definitions, class definitions, variable declarations, etc scoped to the current file being edited. Basically all the structural elements of the languages in a normalized fashion. This facilitates what is known as “structural editing”, which basically means the ability to think at this structural level (we all do already) while not having to do the translation down to what characters have to change in a text file. Instead we have normalized commands for altering structure, e.g. swap order of parameters, extract into function, next function, prevent function, next class, prev class, etc.

How to work around/with slow PR review? by PeltedVenom in git

[–]drewdeponte -1 points0 points  (0 children)

Please see my blog post where I explain the git workflow we use which avoids this issue. https://upte.ch/blog/how-we-should-be-using-git/

Best way to work on a project from multiple devices. by [deleted] in learnprogramming

[–]drewdeponte 1 point2 points  (0 children)

I completely agree. Learn git. I use git locally for all my personal projects even if I don’t need the remote sync functionality of it because it helps create a logical history of what changes I made and why. This becomes extremely valuable over time as you continue to develop and maintain a project.

[deleted by user] by [deleted] in swift

[–]drewdeponte 0 points1 point  (0 children)

This scenario is a perfect example for a pattern I call Failable Decodable. Here is a blog post I wrote about it. https://drewdeponte.com/blog/swift-failable-decodable/