[-] lysdexic@programming.dev 1 points 2 years ago* (last edited 2 years ago)

Wouldn’t wrist position be considered part of your overall posture?

There are far more factors determining wrist position than the size of the keyboard, and only a very small fraction of all keyboard users end up developing any form of issue.

Moreover, I'd wager that the number of people enduring bad laptop keyboards greatly outnumber those developing any kind of RSI issue, let alone those who feel strongly enough to buy ergonomic keyboards.

It would be interesting to see how many ergonomic keyboards end up being snakeoil preying on people with more disposable money than good judgement.

[-] lysdexic@programming.dev 1 points 2 years ago

my point was that I was able to find answers for everything else before I had to resort to posting a question.

That's not a SO problem per se. Some projects do use SO as their semi-official customer support channel, but in general posting a question on SO is not supposed to be better than posting a question on Reddit: you get what you paid for.

[-] lysdexic@programming.dev 1 points 2 years ago

The decimal representation of real numbers isn’t unique, so this could tell me that “2 = 1.9999…” is odd.

I don't think your belief holds water. By definition an even number, once divided by 2, maps to an integer. In binary representations, this is equivalent to a right shift. You do not get a rounding error or decimal parts.

But this is nitpicking a tongue-in-cheek comment.

[-] lysdexic@programming.dev 1 points 2 years ago

It’s usually easier imo to separate them into different processes (...)

I don't think your comment applies to the discussion. One of the thread pools mentioned is for IO-bound applications, which means things like sending HTTP requests.

Even if somehow you think it's a good idea to move this class of tasks to a separate process, you will still have a very specific thread pool that can easily overcommit because most tasks end up idling while waiting for data to arrive.

The main take is that there are at least two classes of background tasks that have very distinct requirements and usage patterns. It's important to handle both in separate thread pools which act differently. Some frameworks already do that for you out of the box. Nevertheless it's important to be mindful of how distinct their usage is.

[-] lysdexic@programming.dev 1 points 2 years ago

What does this GitHub Action offer anyone that one of Microsoft's official Docker images doesn't provide already?

[-] lysdexic@programming.dev 1 points 2 years ago

Is there a simple way to do a http web server or socket?

What's your definition of http web server or socket? Most frameworks nowadays provide you with tools to get a fully working project up and running with just a couple of clicks.

For instance: https://start.spring.io/

[-] lysdexic@programming.dev 1 points 2 years ago

As a followup to this post, I've started including git rebase -i in my workflow when working on local branches. Basically things went like this:

  • I start working on an issue in a dedicated feature branch.
  • I commit small changes such as "Updates this feature in this component", "fixes this glitch on this function", "removes this dead code".
  • I keep going until I'm done.
  • If I stumble upon small nits, I just commit them right at the head.
  • when I'm done I run an interactive rebase and move these small commits around to sort commits that belong together.
    • nits and followup fixes are squashed together,
    • cleanup commits are moved to the start of the branch to line them up to be pushed as a separate pull request,
    • push a PR for the issue

To me this really paves a way to a far better workflow and faster turnaround times.

[-] lysdexic@programming.dev 1 points 2 years ago

I don’t think you mean ‘merge’ - that’s a specific operation. I think you mean ‘squash’, which combines multiple commits into one.

Yes, you are right. I apologize for the terminology mixup. I was referring to how it's possible to join two changesets so that they can be considered in the commit history as a single commit.

Once you get familiar with rebasing, you could try out stacked git.

Thanks for the recommendation, but I'll take a pass. Vanilla Git does the job well.

[-] lysdexic@programming.dev 1 points 2 years ago

But we often hear about ‘corporate lobbying’ and you’ve described things mostly carried out by individuals or nonprofits.

No, I'm describing lobbying. The definition of lobbying doesn't depend on your market capitalization or revenue. A corporation does lobbying, just like unions do and industry representatives and community groups. If you have personal interests and want to raise awareness with stakeholders then you reach out to them.

I mean, Wikipedia's article on lobbying also refers to it as advocacy. From Wikipedia;

In politics, lobbying or advocacy, is the act of lawfully attempting to influence the actions, policies, or decisions of government officials, most often legislators or members of regulatory agencies, but also judges of the judiciary.

"Attempting to influence" is the operative principle.

And so is "lawfully". Which is not the same as the corruption you pinned on "Eastern countries".

[-] lysdexic@programming.dev 1 points 2 years ago* (last edited 2 years ago)

I agree that complexity is the problem and I’m avoiding Kubernetes like the plague. I set up a nomad cluster in a few days and it just works, has service discovery, and is perfectly simple to understand.

I think Kubernetes gets a bad rap out of ignorance. You can make it as complex as you want, but you can also keep things trivial and simple if that's what your aiming for.

Case in point, I operate a Kubernetes cluster with microk8s. I got my nodes up and running in a one-time setup, and after this all I need to do is kubectl apply -k to get my apps deployed and running. Each konfiguration script is trivial too. ingress, services, deployments. That's it. A docker compose script is far more complex and hard to maintain than that. Where's the complexity?

Honestly, have you ever gave kubernetes a try? If you did, what exactly did you tried to do? I bet that if you do an honest apples-to-apples comparison with any setup that you believe works, you'll notice that you're doing far more work to achieve the same result. This is a given as you're pointing out nomad of all things as something simple.

[-] lysdexic@programming.dev 1 points 2 years ago* (last edited 2 years ago)

Western countries got ‘lobbying’

The term "lobbying" doesn't mean corruption. It means basically have meetings with stakeholders to discuss issues regarding policy and agenda.

If you hold a meeting with your local city council asking for a crosswalk, you're engaged in lobbying. If you chat with the local police chief asking for more patrols in some part or another of town, you're engaged in lobbying.

Now, lobbying might set the stage for corruption. If you're talking to your city council about the need for a crosswalk and you show a video of cars speeding by an intersection, that's ok. If instead you tell your city councilman that if he hires your construction company to build that crosswalk then you'll pay him a wad of cash, that's corruption.

Lobbying is not corruption. It's weird how the basis of any democratic system is attacked for being "corruption" to try to justify corruption in corrupt hellholes.

[-] lysdexic@programming.dev 1 points 2 years ago

A far better reason not to use WhatsApp is that it is run by Facebook. It was also a primary vector for Pegasus.

Aren't you doubling down on the government of France's position?

I mean, the french minister did explicitly stated that "[you] cannot guarantee the security of conversations and information shared via them".

0
0
61

Glassdoor has been here for years and is one of the reference sites to evaluate and review companies, specifically their work conditions in general and salary ranges in particular. Glassdoor also operates a job board, but it doesn't enjoy the same reputation as it's company review service.

So, what's your opinion on Glassdoor? Did you ever had any experience with the company? And how do you rank it with regards to other job board services?

1
2
Git - Trace2 API (git-scm.com)
24
1
65

The "don't repeat yourself" principle is well established, but over-aggressive refactorizarions to extract common code are also widely known for creating hard to maintain code due to the introduction of tight coupling between components that should not be coupled. A passing resemblance between code blocks is reason enough to extract them away, even if that ends up breaking Liskov's substitution principle.

To mitigate problems caused by DRY fundamentalisms, the "write everything twice" (WET) principle was coined. WET works by postponing aggressive refactorizarions, the kind that introduces complexity and couples unrelated code just because it bears some resemblance, by creating a rule of thumb where similar code blocks showing up twice in the code should not be refactored, and only code that shows up multiple times should be considered for this task. However, this rule ignores context and nuances, and can dissuade developers from cleaning up code.

So, where do you stand on the topic? How do you deal with duplicate code? Do you follow any specific rule of thumb?

1
C++ Core Guidelines (isocpp.github.io)
0
0
Memory Order in C++ (www.sobyte.net)
1
view more: ‹ prev next ›

lysdexic

0 post score
0 comment score
joined 3 years ago
MODERATOR OF