Hacker Newsnew | past | comments | ask | show | jobs | submit | accelbred's commentslogin

Pair programming is a great way to do knowledge sharing and collaborate on tricky problems. Now, I don't really want a multiplayer editor, but I'll highly contest that coding is solely a solo activity.

Sometimes I feel like people online hate all their coworkers. Thankfully, such people have not been highly represented amonst those I've worked with.


It's not hating coworkers. It's more that state of flow is not compatible with collaboration with other people. Getting to pair programming flow is basically like the neural "Drift" in Pacific Rim: it just doesn't work with two random people, or with shifting moods, energy levels or priorities.


I don’t get in flow but I do feel like it’s similarly productive though. Right where I would lull in energy or lack the motivation to think through something difficult I can unload some of that on the other person and feel like as a pair we are keeping each other accountable. Can be productive this way even without the same flow state.


There aren't that many good ways to mentor or share experience in a team without pairing though. Sometimes it's just better to sit down with someone and directly collab, and let the person with less experience do the driving so they get the muscle memory. This is an easy transfer of skill and knowledge and it works well because it's hands on.

AI doesn't make that very easy if you're just two people staring at an agent, but I think a lot of people who aren't already senior are going to hit a wall they can't climb when their experience limits what they are capable of doing with AI.

As with many things, usually the bad experiences with collaborative methods come from a specific implementation and those experiences become the bias.


You reach a different kind of flow state with two people, if you have chemistry. I think it’s a more productive flow state than the solo flow.

But, it’s not 2x. Companies are cheap, they don’t want to pay for it.


It does happen, but it's very very rare. I met maybe 2 people in my career I could do this with.


That actually makes the "Drift" analogy perfect, because you have to be "Drift compatible", you can't just grab two people off the street and throw them in a Jäger together and have it work.


It's less hating coworkers and more enjoying the perfect logic that comes from interacting with a cpu versus the fuzzy nature of human moods etc. It's likely why a lot of people (myself included) got into coding.


Ah, now I hate all my coworkers because I don't want to share a keyboard. Incredible insight.


If you're not sitting in a group of 5 watching one guy code, then you're not a team player.


Bro I can drive the car alone why do rally racers have two people in the car? Now I hate my coworkers because I don’t want to share a wheel? Smdh


I read "coding" as literally the act of being in the text editor and writing the code, not the encapsulating job of defining requirements, desigining a solution, etc. which is definitely not a solo activity.

But I agree with OP that when comes the time of sitting down and writing the code, it is a solo activity. I want to lock in and not see multiplayer cursors or avatars popping up around the editor. The part before and after that are for collaboration, but writing your piece of the code is (or at least I like it to be) solo.


pair programming is when two people collaborate on engineering decisions while one of them codes.


Yea that never made sense to me. I think and solve problems as I code, and having someone yapping while I'm trying to do that is a great way to disrupt my thinking process.


In my limited experience, the 'pairness' part of pair programming , is best done in silence. The discussion / planning happens up front, the keyboard person does the implementation and the second person doesn't 'backseat drive', but thinks about test cases (writes it down), thinks about weaknesses (writes it down) and writes documentation while the code is written.

All of these are reviewed before commit.

The 'interrupting' while coding is the shitty part (I agree with you), not having someone working with you.


I don't really see how this provides any benefit over pairing asynchronously, pinging with questions or updates on what's shifted, sharing pull requests, requesting comments, etc.

This process respects each other's time and allows each person to visit the relevant pieces without interruption. The common rebuttal to this is "Slack messages are too interrupting!" and my response is: ignore the message until you're in a good spot to address it, or if you can't spend meaningful time on it yet, just reply with an "I'll check this out later, thanks!"

The idea that we have to sit on a video call in silence while losing the ability to think and write privately is such a huge distraction. Half of my mental bandwidth is occupied with self-consciousness of being "watched", or if I have my video off, it's the idea of being present and tied down by simply being there.

As someone with ADHD, those circumstances do not mix and eliminate any possibility of being productive because it's too distracting on all fronts. Not to mention, I need intense music to really get in a flow state. You might be surprised by how many engineers feel this way because they similarly experience neurodivergent realities around this.


You might be working on much smaller and well constrained problems, pair programming works well when the problem is unconstrained with many complex and interconnected layees


Maybe it does for you, but everyone is different. It is annoying (and sad) to see both sides asserting their experiences as universal truths.

I cannot stand pair programming, but I don't begrudge that it might work for some.


And for some of us it works great… sometimes.

Like, not as a rule. There are times when it would be helpful to have my trusted coworker helping to work through something. The answers aren’t all obvious and we don’t know exactly how it’s going to go. We’ll feel it out as we go. He has better instincts for some stuff and I have better ones for others. We’ll get there better and faster pairing.

But most of the time we have our own stuff to do and have our respective things well in hand. Then there’s no reason to force a pair programming situation.


Pair programming is also a great way to foster anxiety, shill arguments and have your engineers hate each other worse than they hate the job.

I like my neighbors and love to spend some time being nice to them. Pair programming is the equivalent of being forced to live with a random neighbor in your home and you both still pay full rent/mortgage of your respective homes.


I am willing to bet there’s a strong correlation between people who post/comment on Internet forums and anti-social behavior.


There’s tons of reasons

- antisocial people

- larpers and students and shit who don’t even have a job where they write code but comment like they do

- people who don’t do shit for 3/4 of the day and don’t want to be accountable for that

- people who work with too many idiots

Probably lots of other reasons. Personally I think it’s fun and useful, but I wouldn’t want to do it exclusively. Maybe scheduled hours a couple times a week. LLM aided development can be very similar experience.

Also a great teaching tool.

Big part of my job currently is taking slop level Pinocchio prototypes and turning them into a real boy. I’ve decided that I’d much rather have all of the conversations these people have had with Claude when creating the project than the final code artifacts. Hopefully we get more tooling in that direction.


ASOCIAL people prefer solitude.

ANTISOCIAL people doesn't care about society, are harmful towards other people, break laws, etc.


If you’re trying to diagnose a personality disorder sure. If you’re just using it colloquially then no it doesn’t matter.


Of course it matters, using "antisocial" in this context is plain ignorant and wrong.


No, it’s completely correct.

Dictionary definition #1 from dictionary.com for “antisocial”

> unwilling or unable to associate in a normal or friendly way with other people.

Furthermore, were you or the original pedant actually confused by what I meant? I seriously doubt it.


God forbid a well-meaning person need privacy and solitude to get work done in a meaningful way, just as other inventors and geniuses did in their private homes throughout history, and later came together with others to share their findings.

This idea that we need to be married to other co-workers throughout each day has all the same dysfunctional attributes as a nanny state or a daycare, where employees are treated as untrustworthy and needing to be monitored at all times.

The fact that talented engineers are able to contribute meaningfully, with few errors, and with brilliant solutions, all on their own, is proof enough that coding in solitude is a completely reasonable preference, that's shared among most of the engineers I've met in my career.

There's no reason to be so dogmatic about this.


Hey docmars you want to pair on this?

NO TOM I DONT WANT TO FUCKING MARRY YOU GOD FORBID, ME, A TRULY TALENTED ENGINEER AND GENIUS, TRY TO GET ANYTHING DONE FUCK THIS FUCKING NANNY STATE BULLSHIT as you return to clipping your toenails in the office


This was genuinely funny, gotta hand it to you.

I wish I were this insufferable, alas.

Truthfully, I don't mind pairing on something if someone needs help and doesn't mind doing it asynchronously instead of sitting on a video call all day pointlessly when Slack will work just fine. :)

The reason I went to hyperbole with this one was because a prior startup I worked for required everyone to pair on every ticket, whether they liked it or not. I simply refused, and they were fine with it, because they liked the work I did. If I needed to collab on anything, I'd just talk to the other engineers. And guess what? We survived and did amazing work together as a team!


This was modeled after my former coworker Tom who had to be told not to clip his toenails in the open office, and then told not to do it in the lounge room even if he was alone


Its unfortunate that this is using eBPF and not cBPF. I'd want to enable this in a namespace using binfmt-misc's namespace support, but eBPF requires root.


From their about page: "If you wrote a link that was posted, please reach out in chat, we'd love to have you join the community."


Editing scrollback is possible in eshell, and something I use often.


Ah. I tested it before but now I see that I have `(setq eshell-scroll-to-bottom-on-input 'all)` in my config which always snapped point back to the prompt when I tried to edit the scrollback.

Anyway, unfortunately that is not possible in a Ghostel buffer and most likely also will never be. I'm open to ideas though how we could improve or replicate your eshell workflow.

But also, eshell is awesome and Ghostel is not a replacement for it. It's more a replacement for term.el, maybe shell.el (with line-mode) and other terminal packages like eat and vterm.


I think issue #426[0] would be sufficient, since it would allow for editing after the command is finished. I understand that it probably won't happen any time soon, but embedding a full terminal emulator in Eshell is the thing that's got me staying on EAT right now.

Ghostel looks really nice though!

[0]: https://github.com/dakra/ghostel/issues/426


Noted.

I didn't even think of the use-case that then you can edit output from finished commands in the scrollback. But it makes sense and is another +1 for that feature request.


I don't think they can convince me they have actually reversed course on this. Its invisible so we wouldn't know if they kept on doing it secretly. It required building out technical capability which is unlikely to remain forever unused while conveniently available to them.

They relied on trust that they were providing the service they were being paid for. That trust was blown, and an "oops, lets undo that" does not regain trust. It would be prudent to assume the invisible guardraild are possibly in play for all future Clause use, Fable or otherwise.


Yes they already had an accident where the model magically downgrades itself, very likely that it just produces less good output rather than just stops working isn’t it… my guess is they were testing these features, accidentally or not, and wrote up something to justify what people were seeing. I find it absolutely disgraceful I can’t trust it to learn ML any more without there being a chance it’s messing me around. This whole saga represents a huge loss of trust for me in Anthropic.


C with Zig's comptime is compelling though. Zig doesnt allow you to access all the features your C compiler does, and puts you in the LLVM ecosystem. I've been working on something similar; extending C with both Zig/C++ inspired reflection and linear types, with a compiler that compiles to a subset of C to allow you to leverage GCC and all its extenstions.


Whelp time to figure out how to disable it or patch it out.


why? Web Serial is one of the better web-based integrations out there. There is no functionality available without an explicit authorization, all that website can do is to pop up a dialog. And you approve individual port on per-site basis, so it's not like it can grab a random port without your knowledge.

This is my favorite model for web: anything more complex should be gated behind user permission. A site which requires that functionality will get that permission with no problem, and a random clickbait fingerprinter will get nothing.


As others have said, you'll get a dialog if any site actually tries to use this. But if you want to fully turn it off, just set "dom.webserial.enabled" to false in about:config (and restart Firefox)


Should be a single click just like with all the other permission based stuff.


More like RIP bun. Wouldn't have paid any attention bun if it weren't for Zig. Now I need to figure out what the "normal" runtime is to switch my work typescript stuff to.


Sounds like a feature.


This level of quality is why they have my business. We had a CI setup with rpi boards that needed fans (uart clock tied to cpu clock so heat meant slowing down and the uart dropped characters). I got tired of seeing random test failures on some board and driving up to the office to replace the fan that had failed. And they were loud and annoying. I ended up frustrated and expensing hundreds of dollars of noctua fans. Dead quiet, did a better job, and not even one ever failed on me.


A quiet PC is one reason I've always removed the GPU cards from used ones I've gotten. The crappy little fans on GPUs that constantly whir up and down drives me nuts.


When my GPU fans went bad and I didn't want to buy a new GPU (nothing wrong with my 1070, it still runs the games I care about) I bought some smaller noctua fans and 3D printed an adapter plate (in PETG). The connectors were non-standard, but the signals weren't, so I had to splice together some cables with soldering and heatshrink tubes.


I think Noctua makes GPU heatsinks now too, so you're in luck. MSI was pretty good at making almost dead silent cards once upon a time too.


> I think Noctua makes GPU heatsinks now too

I got really excited for a while, been struggling to find a 3rd party heatsink for a noisy GPU that won't make it even more noisier.

But, seems what you're talking about is this? https://www.tomshardware.com/pc-components/air-cooling/noctu..., which seems to have been just for the GH200 and seems to be more like a "super-cooler", as it's cooling both the CPU and the GPU.

Went to Noctua's website and found no GPU coolers at all, so I think it might have been limited to just showing off at Computex 2024 maybe.


Nah I mean like they partner up to design that part for specific models, it would be hard to make a generic one-size-fits-all given how much PCBs differ, though now that I've looked into it it seems that they currently just have the 5080 available which is odd.

https://www.noctua.at/en/products/asus-geforce-rtx-5080-noct...


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: