Threads for cepp

  1. 11

    The Firefox snap does not support the NativeMessaging protocol 25 yet but this feature is planned to be added soon.

    This means that the 1Password extension cannot be unlocked by the desktop application and vice-versa. It’s been broken since they introduced the snap and I’m disappointed they’re shipping another major version with this still broken.

    1. 3

      Similarly Firefox snap edition will often crash due to font issues (at least with Japanese fonts) and it makes fonts unload and FF kinda unusable in this state

      There are workarounds but snap is still pretty rough around the edges…. I get the value of snaps but would not mind if the sandboxing was toned down a bit so that applications could work.

      1. 2

        I’d guess thus the keepassxc integration is also broken?

        1. 1

          yep, it’s broken now..

      1. 39

        I’d prefer every downvote to cost karma points for the downvoter as well (not just for the downvotee).

        1. 11

          Maybe not cost, but those who flag a lot should get the same banner. Perhaps they already do. I haven’t flagged or seen that banner before.

          1. 4

            It’s an interesting idea (though I can think of a few downsides as well). It adds a cost to flagging. Though I’m not sure how effective it would be on heated discussions with minority viewpoints where the commenter will feel the brunt of the flags but each flag costs a user a single point of karma.

            1. 3

              It adds a cost to flagging.

              That’s exactly the point - to prevent people from blindly flagging everything they disagree with.

              1. 1

                Indeed, that was in agreement, apologies.

              2. 2

                Maybe we could play with the concept of “refunds” where an administrator certifying a flag (i.e. spam or self-promo) would give the karma back? Limiting the scope of said refunds would also prevent any ethical quandaries for the administrators.

                1. 1

                  I thought about this as well, but this then places additional work on the admins or mods to actually go back and mark a flagged comment is valid. I also presume, especially because of the current usage of flags being used as “disagree” buttons, that many comments are flagged in a day. Hopefully a “currency” style of flagging helps, but I’m not certain.

              3. 2

                Feels a bit punitive. You can get a similar effect by having different downvotes weighted differently. E.g, every user has a base outgoing downvote scale of 1, each of your downvotes in a given calendar day has a base downvote power of the inverse of the number of downvotes you cast that day. That is: if you cast 2 downvotes in a day, each one has a base power of 0.5; if you cast 10 downvotes in a day each one has a base power of 0.1. That way people can just cast as many downvotes as suits the way they use the site, but the mechanics don’t add an incentive to cast more downvotes.

                You could also take the base power of a downvote in a given thread and multiply it by the total number of upvotes that user received in that thread on that day. Or like, score every user according to pagerank for each topic and weight their actions based on their relative expertise in that topic (although that probably favors old accounts)

                This is all assuming “democratic discourse” actually works, which I’m not particularly convinced of. It seems that on all the sites that structure discourse by popularity that a form of tyranny of the majority takes hold, and gets more and more severe as that network grows.

                1. 2

                  That you refer to flagging (i.e. identifying something as inappropriate) as “downvoting” is the key take away here, IMO.

                  I don’t know what the official word is, but my view is that if you flag something because you disagree with it, you’re Doing It Wrong (TM).

                  1. 1

                    Which was the key issue here. If we let everyone “flag” things and give that flag any authority (such as, suggesting that a user takes a break or deletes their account), then we’ll just end up with like-minded people that only approve of each-others thoughts. If, on the other hand, we make this a signal for the mods, then the mods get the banner in question, the mods can have further authority to decide if this really is an issue. Context matters, and flags or downvotes system do not look at context.

                    1. 1

                      I think it is mostly a signal for mods now. But while Lobsters has an upvote, but no downvote, people are going to mis-use the flags to indicate “I disagree with this”.

                1. 1

                  I’ve been using the Mac off and on for ~12 years and the thing which stands out to me about MacOS is the size of UI elements. I’ve found that in every OS release the UI has gotten larger. In everyday use it’s possible to hide the dock and be left with only the menubar, but when I think about the web browser, or mail app what I want to see is content and not the interface. I think Linux, maybe for its lack of maturity in scaling actually excels in this area. Window chrome is kept to a minimum and emphasizes the content, not the system providing it.

                  1. 1

                    I’m working on nachomemes: a declarative meme-generator made for Discord. There are a couple other declarative meme generators for Discord, but this bot aims to be dead simple to use and light + performant. It’s been an interesting exercise in many regards:

                    • I rarely work with my friends. So it’s been insightful to see how they code + approach a project.
                    • I really love Python and this has been a great vehicle for constantly trying new language features or implementations (i.e. mypy).
                    • Working on something entertaining. When you’re doing something purely for the meme and without a pretense of sincerity it offers unfound latitude in decision-making.
                    1. 4

                      I’ve, similarly, become interested in minimal bundles and binaries of late. One point I would add — I think a large amount of bloat is due to the fact that it’s so easy. When installing another node dependency is one npm i away then it’s trivial to add one more.

                      I wholly agree with you that most of the battle is just caring about size. If you change the mindset from “of course we need Google Analytics” to “what are the objectives GA is delivering and how can we best go about achieving them” you’ve already made significant progress. We keep adding and collecting without ever stopping to ask, why?

                      1. 4

                        I take contention with the author’s recommendation of “Handling if-else logic”.

                        The synopsis: for functions with a significant amount of branching logic it should be abstracted to a dict containing functions. I believe the reason the author recommends this is two fold:

                        1. Python lacks a proper case/switch statement instead deferring to to if...elif... and
                        2. maximum branches should generally be < 12.

                        However, this code is not, in my opinion, Pythonic. A dict containing function pointers is more akin to Javascript than Python, wherein you’re effectively executing arbitrary code as the result of a lookup. Further, I think this approach significantly reduces the readability of the codebase. You’re now deferring logic to a multitude of other functions rather than encapsulating the unit of work inside the caller.

                        I agree that Python’s lack of a switch statement is less than ideal but I ardently disagree that this “trick” is something to recommend others use.

                        1. 5

                          The dict approach is something that should only take place if there is more than ~10 options IMO. Sometimes it truly is the option to take, as it allows easy extensibility and can separate the code into more logical parts. But reaching 10 cases is sometimes a pointer that something else is wrong in the system, since most of the time there shouldn’t be so much different cases handled by a single piece of code. But sometime, it just has to be like that (in a parser for example) and that’s where you can use dictionaries to clean it up if you need to. Upcoming structural matching should make that choice obsolete though.

                          1. 1

                            Agreed on all counts.

                        1. 3

                          Fairly standard setup:

                          I run an X1 Carbon running 20.04 with work. My personal rig (read: gaming) is a 3700X + 6800XT in a FormD T1.

                          My area of most delight is peripherals. For work:

                          • Atreus 42 + GMK Paperwork
                          • Elecom Deft Pro Trackball

                          For home use:

                          • InputClub Nightfox
                          • Kensington Pro Fit Ergo
                          • Razer Pro Click Ergonomic
                          • Steam Controller

                          I currently have a pre-order in for the new version of the UHKB and will try it for home use first.

                          The area I’m least happy with is the monitor. I like running a single monitor setup but prefer the freedom of more screen real-estate. I’ve been fence-sitting on an Apple Pro Display XDR purchase, but instead think it’ll be more likely I end up getting 2xLG GN950 on a Herman Miller dual monitor arm.

                          When I’m not standing I use the Mirra 2 from DWR and an ergorest.

                          1. 14

                            With luck, e-ink. DASUNG teased a 25” e-ink desktop display just recently. Maybe it’s wistful but I’m really hoping that more people can produce differentiated monitor technology; my eyes look forward to it!

                            1. 20

                              I’d be interested to learn how they got organizational buy-in to fully adopt a <2 year old language. I presume there’s likely some de-risking from the fact it’s made and produced by the platform vendor, but even still it seems like asking for trouble by being an early adopter (especially as it was re-iterated that the business was heavily influenced by the outcome of this project).

                              1. 21

                                It’s remarkably easy for teams to fall into the trap of “chasing the shiny”, even with good oversight and experienced engineers.

                                I’m reminded of Gunpei Yokoi, Nintendo, and “lateral thinking with withered technology”:

                                Essentially, Lateral Thinking with Withered Technology boils down to using mature technology in novel or radical applications. At the time of the invention of the Game & Watch, LCD display technology was everywhere. It was a well-understood process and because prices for individual components had dropped so much, integrating an LCD into a product was relatively inexpensive. Some people at Nintendo wanted to use fancier technology in the Game & Watch, technology that would have reduced battery life and raised costs, but Yokoi insisted that affordability was key and that the player cared more about fun gameplay over flashy technology


                                1. 8

                                  In the case of programming it’s even more applicable since you can do more or less everything in Objective-C that you could do in Swift – just in different ways. It’s not like writing a program in Swift enabled new features that would be impossible to implement in Objective-C.

                                  This is different from LCD screens vs. fancier screens, where the fancier screens at least offer features that would be impossible on LCD screens, and it’s essentially a trade-off choice of “fanciness vs. costs and battery life”.

                                  1. 6

                                    That’s a great story.

                                    Another expression of this idea is innovation tokens. Your organization or team or project is allocated 1 or 2 or maximum 3 innovation tokens, which you have to use to pay for any novel technology choices you make. Using a brand new language would certainly cost 1 or 2 innovation tokens.

                                  2. 5

                                    For me this is the craziest part. I can see re-writing a single service in it or a PoC app to see how the dev tools are and how debugging it is etc. ….but going full-blown “we’re rewriting everything” is kind of insane!

                                  1. 2

                                    Any recommendations for high-quality sellers of refurbished Thinkpads in the US aside from those found on Amazon and Newegg? To me, the barrier to entry is finding a reputable seller to purchase from.