HN user

djeikyb

268 karma

https://github.com/djeikyb

Posts4
Comments173
View on HN

There's a bunch of different UI frameworks, but WPF is pretty popular, and in WPF, my understanding is the normal control you'd use to just slap text on the screen is TextBlock. And a WPF TextBlock doesn't have any way to make the text selectable. And if text isn't selectable, you don't get the normal affordances of the window manager's copy functions.

I've used Avalonia, which is based on WPF. Its TextBlock control works the same way, which means the default way to put text on the screen is inaccessible. But if the programmer is thinking about it, they could use SelectableTextBlock instead, and then the text is available to the user for selecting and copying.

This is maybe a time for you to listen and learn about the experiences of others. Not, as you've done, call a stranger financially incompetent or insinuate they're lying.

i mostly use the git cli. i even like it; despite some ux problems! i've often been the one teaching git, and always make sure junior hires learn at least a little bit of git cli. but i do use a few extra interfaces.

1. complex staging operations. i do a lot of partial staging. staging by line or hunk is good enough most of the time. sometimes though i want a little more. maybe only part of a line, or parts of multiple lines. or even edit the staged content directly! i haven’t used eclipse in a few years, but its staging ui was great. side by side diff, working tree on one side, stage on the other. like resolving a merge conflict. full syntax highlighting, both sides editable. i haven’t found another tool like it. even primitive staging tools (like fork, tower, and tig) that don't do anything fancier than `git add -p` tend to be more useful to me, just because it's so quick to change your mind. no need to type out an unstage command then go through a bunch of screens. just drag and drop, or highlight and click.

2. studying history of a class or function. i use a jetbrains ide, and it makes it super easy to jump through the full history of a file. it's just git blame, but you don't have to copy and paste the ref to blame. very quickly you can see a bunch of versions all at once, and diff between them.

3. perusing git history. mostly, i use git-log and git-show. but sometimes, i want to see the git graph and quickly see the contents of individual nodes. a normal advanced scenario is, show me the full git graph, highlighting commits that touch a particular file, and let me quickly see the contents of those commits. i can do that with the cli, but it's way faster in other tools. if it's simple enough, i use tig right in my terminal. if my ide doesn't support the more complex cases, git-gui does.

4. interactive rebase. i don't know any tools where this doesn't suck. i'm rebasing against origin/master.. is it towards the top or towards the bottom? what files are in the commits i'm manipulating? what are the contents of those files? why can't i jump around between them without starting a new rebase session? i think there's potential for radically different tooling around interactive rebase, especially inside an ide. i'm used to the git cli. i interactive rebase constantly without any trouble. but my team mates don't, and it's not cause they're stupid or lazy. i just got really interested and put a ton of effort into learning it.

me too! got an offer, then the background check company flagged my claim to a high school diploma. they asked me to provide official transcripts. hr threw its hands up. this was in june. turns out the district was overwhelmed with the year end work of graduations and such, and just shut off the phones for a couple weeks. luckily i had family working for the district and got a suitable copy. absurd.

dotnet development targeting linux is painfully slow. on my macbook, with a relatively small asp core project, there is a 10-20s overhead to run any quantity of unit tests. i believe it will get better, but right now it's a bad choice.

i like recycling the phrase. to me, culture is: how frequently devs integrate their work, pull requests vs pair programming, how frequently is work delivered, (how) are devs involved with delivery, if some server related to a project has a problem, who owns it (who helps?), what is the flow of work, how does the team improve itself, how many work hours are expected each week, etc...

I think `jq` is more powerful, but for those afflicted with xml instead of json, there is `xmllint`. In a pinch, one can use it to hack something together (along with xpath and xslt).

there is even a third option! besides ice cream with no eggs and ice cream with cooked eggs, there is ice cream with uncooked eggs. i often hear the latter two options as "custard" vs "straight method".

My team just chose golang instead of java or dotnet core for a new crud app. I'm not especially fond of go, but mean length of feedback loops are worth it (so far). We have a bunch of tests, and they all run in a few hundredths of a second. Same coverage in java is usually several seconds at least. Often up to 30s if running tests with maven.

Standing up the app is also instantaneous. Spring boot apps with hibernate often take at least ten seconds. In prod this doesn't matter. But a cheap app start means integration tests are cheap. An fs hook runs both unit and integration tests every time the code changes.

ps. all the things people hate about go are true

I think scrum gets a bad name because folks get so caught up in strictly adhering to a concrete implementation of the agile philosophy that they lose track of the philosophy. Folks doing scrum often value scrum processes and tools over the individuals using them. Scrummers stick to their scrum plan rigidly instead of reflecting on and changing their process.

It's fine to say such teams aren't really doing scrum. It's true, right?

I wish that instead of promoting scrum as a one-size-fits-all agile process, scrum was taught as a place to start. That if in a couple months, a team was still doing scrum exactly as taught, they were probably failing to respond to the team needs, and also the business.

Even if engineers believe do not believe its going too fast (superficial review, lack of manual testing)

If the engineers are speaking up and are actively ignored, then the business's feedback loop is broken. The things in the agile manifesto need buy in beyond the people writing code.

scrum master end up make it happen as his job is to make sure "sprint commitments" are met

The whole idea of using the word "agile" is to allow commitments to be re-evaluated. Respond to change, don't rigidly follow a plan.

If someone is mandating a rigidly adhered to practice of scrum, and doesn't allow teams to adapt that process to the individuals and interactions at hand, it's not agile.