anahata's recent activity

  1. Comment on What do you think about YouTube rewind 2019? in ~talk

    anahata
    Link
    There was a comment made by one of the gaming streamers I follow last year or the year before along the lines of "YouTube Rewind shows just how massive YouTube is because I don't know any of these...

    There was a comment made by one of the gaming streamers I follow last year or the year before along the lines of "YouTube Rewind shows just how massive YouTube is because I don't know any of these people and no one I know (also professional streamers / YouTubers with millions of YouTube subs between them) does either". When the platform is as big as it is, you can have people with millions of subs who aren't on the list. The site is so large that it has many, many, many large channels and yet they're barely noticeable compared to the largest channels on the platform.

    12 votes
  2. Comment on Apple will reportedly release an iPhone without any ports in 2021 in ~tech

    anahata
    Link Parent
    That doesn't mean the iPhone does too.

    That doesn't mean the iPhone does too.

    1 vote
  3. Comment on What are the best and the worst purchases you've recently made? in ~talk

    anahata
    Link
    Worst recent purchase was a cushion from Purple. Quite a bad experience all-around. The cushion itself is a waffle like rubber substance (yeah, that should've been warning enough, but it came from...

    Worst recent purchase was a cushion from Purple. Quite a bad experience all-around. The cushion itself is a waffle like rubber substance (yeah, that should've been warning enough, but it came from a Wirecutter recommendation, and they've usually been spot on) with an uncomfortable odor. Returning it is where the real trouble started: I had to email them and give them my order info, fill out a form and provide them the same info again (and opt out of an email marketing list...), and then they said they'd refund me in two weeks after receiving the cushion. That didn't happen. I have a dispute active with my credit card right now because they still haven't refunded me three months later.

    Having trouble coming up with a best recent purchase. I'm finding myself looking at my card transactions to find something. So, yeah, sorry to disappoint.

    4 votes
  4. Comment on Good code comments are to the point and flow well in ~comp

    anahata
    Link
    The author prefers a writing style that is very^0 different from my own, and is presenting it as objectively better. This is another example--again about comments!--of the programmer personality...

    The author prefers a writing style that is very^0 different from my own, and is presenting it as objectively better. This is another example--again about comments!--of the programmer personality type trying to simplify something hugely complex--here, the art of writing--into simple, easily-digestible rules. I wonder if it comes from the way programmers abstract the systems they work on to similarly simple rules with the goal of simple, easily-digestible rules, i.e. code. His dislike of conversational comments is fine, as an opinion, but there's something to be said^1 for that style. It puts the writer in the mind of talking to the rubber duck and I've found bugs in my code by writing comments like this. I have a conversation with myself while writing comments, and that internal monologue helps me understand the code better and find bugs. Furthermore, it helps the reader feel like they're having a conversation with the developer, as if they were pair programming.

    The author furthermore seems to be an extreme proponent of the "omit needless words" school, specifically Stephen King's "adverbs are bad"^2 subschool. His likening technical writing to business writing belies a greater problem (actually, two). First, business writing isn't technical writing. The audience is different, the purpose is different, the rules are different. Second, Adams was really describing email writing, but called it business writing. The two are different; if you've ever suffered through an email written by an executive, you know what I'm talking about. If you substitute "email" for "business" in his post, all the rules are valid. Well, except the Strunk- and King-esque miserly approach to adjectives and adverbs.

    Furthermore, the author's advice has some other mistakes, most critical being not knowing the audience. His anecdote regarding an Irish employer is not justification for avoiding the colorful uses of language that excite and allure; rather, it's more a reflection on his Irish coworkers not knowing their audience and not adjusting accordingly. Most of the "big bag of examples" are just unclear writing, the kind of writing someone creates when they don't fully understand what they're trying to say. There's a difference between unclear thoughts and bad writing. One can have perfectly clear thoughts and still produce terrible writing (I do it all the time!). The "big bag of examples" is largely focused on poorly expressed ideas compared with the author's preferred minimalist style of expression.

    This terseness has its own flaws: the biggest is that it lacks detail. Yet this isn't covered in the post, as though omitting needless words will magically help the developer convey all they need to about the complex systems they're building.

    Please don't simplify complex real-world topics with absolutes. It never works.^3

    ^0 See this? I did this deliberately. "different" is not the same as "very different". You can distinguish them in your mind, and I will continue to defend the use of intensifiers--so important and prolific they are a specific, named concept in linguistics--for as long as I'm able to string words together.

    ^1 note how I used the passive voice there? You know exactly what I mean, and while it's not as short as the active voice is, it's an idiom, a common expression, and thus has similar cognitive load to the active voice.

    ^2 "For every complex problem there is an answer that is clear, simple, and wrong." - H L Mencken

    ^3 Deliberate irony is acknowledged and deliberate. (yes, that's a meme, a form of slang, and it, too, was deliberate)

    7 votes
  5. Comment on Apple announces their choices for best apps and games of 2019, charts for most-downloaded apps/games, and the winners for 2019's Design Awards in ~tech

    anahata
    Link
    The "best of" lists consist of more or less what I'd expect in the apps category. Some good productivity tools and some new tools for connecting with others. The only one that's new for me there...

    The "best of" lists consist of more or less what I'd expect in the apps category. Some good productivity tools and some new tools for connecting with others. The only one that's new for me there is The Explorers, and I'm going to take a look at that one soon.

    The games category is more interesting; almost all of the winners are ports from console / PC, or iOS-first games from publishers with a lot of success on consoles (thatgamecompany, the folks behind Sky, developed the utterly delightful Journey, one of my favorite games ever). They don't have any of the microtransaction nonsense that plague gaming, and I'm happy to see Apple highlighting games that are just games and not predatory monetization tools.

    2 votes
  6. Comment on Apple announces their choices for best apps and games of 2019, charts for most-downloaded apps/games, and the winners for 2019's Design Awards in ~tech

    anahata
    Link Parent
    I've had an iPad Pro and an Apple Pencil (current generation) for a few years now, and--for me--we're at the point where what's stopping me from adopting iPad + Pencil for all my writing is the...

    I've had an iPad Pro and an Apple Pencil (current generation) for a few years now, and--for me--we're at the point where what's stopping me from adopting iPad + Pencil for all my writing is the tactile feel. Inking has gotten to be faithful enough that it's possible for my writing to look legible (though not nearly as nice) on an iPad as it does on actual paper. But writing on glass with a rubber-like Apple Pencil tip doesn't have the same experience (in a tactile sense or an auditory sense) of gliding a gold nib fountain pen across imported French paper.

    What this means is that it's not going to replace the experience for the enthusiast, but everyone else absolutely should at least try this new method of writing and see if it works for them. Digital notes have a number of advantages over paper notes, so if you don't need any of the features of paper, do give digital a shot.

    1 vote
  7. Comment on Super Mario Maker 2 - A Legendary Update, coming Dec 5 in ~games

    anahata
    Link
    I've seen a few full-time streamers' reactions to this and they raise some really good points. The P-Blocks are an especially valuable addition because 3D World doesn't have on/off blocks, and the...

    I've seen a few full-time streamers' reactions to this and they raise some really good points. The P-Blocks are an especially valuable addition because 3D World doesn't have on/off blocks, and the P-Blocks will work as a substitute. Conversely, it's a little sad that only 3D World gets the Dash block; it'd be neat to see what you could do with various flying powerups (tail, cape) in tiny spaces. Reaching P-speed in a couple of tiles would lead to lots of fun things (especially highly technical speedrun stages). The Master sword powerup presents a lot of questions: can Link always shoot the bow and place bombs? Or are these stacked powerups on top of the Master sword powerup? We'll have to wait and see.

    1 vote
  8. Comment on A Comment Is An Invitation For Refactoring in ~comp

    anahata
    Link Parent
    I tend to be rather quick to judge people, something I should work on addressing; the above was an example of that. It's hard for me to trust someone if they do something... weird... like that.

    I tend to be rather quick to judge people, something I should work on addressing; the above was an example of that. It's hard for me to trust someone if they do something... weird... like that.

    1 vote
  9. Comment on A Comment Is An Invitation For Refactoring in ~comp

    anahata
    Link Parent
    That's all business logic that you're describing in your (extensive!) documentation comment. This is the kind of thing that's non-obvious and that I like to see explained. FWIW, your reply didn't...

    That's all business logic that you're describing in your (extensive!) documentation comment. This is the kind of thing that's non-obvious and that I like to see explained. FWIW, your reply didn't come across with a tone of disagreement, and indeed read as an inverse example.

  10. Comment on A Comment Is An Invitation For Refactoring in ~comp

    anahata
    Link Parent
    Can you provide an example to clarify, then?

    Can you provide an example to clarify, then?

  11. Comment on A Comment Is An Invitation For Refactoring in ~comp

    anahata
    Link Parent
    So I'm not allowed to talk about it because it's a developmental disorder (that I happen to have)? How are we to destigmatize mental health if we're not allowed to talk about it openly and honestly?

    So I'm not allowed to talk about it because it's a developmental disorder (that I happen to have)? How are we to destigmatize mental health if we're not allowed to talk about it openly and honestly?

  12. Comment on A Comment Is An Invitation For Refactoring in ~comp

    anahata
    Link Parent
    You're not at all the only one, and you have Don Knuth as company, which is about the best company you can hope to have. I should point out that both you and Knuth have something in common: you're...

    You're not at all the only one, and you have Don Knuth as company, which is about the best company you can hope to have.

    I should point out that both you and Knuth have something in common: you're both academic programmers. Sadly, those of us writing code in industry don't generally have the time to spend writing all that documentation--generally because manglement and marketing are awful and overpromise.

    On an unrelated note, John Siracusa... heh. He isn't someone you should listen to about code. I've seen some real horror stories in things he's written. Something like a 2,500 line method. One method. 2,500 lines. I don't drink but that's probably something that would've pushed me in that direction.

    1 vote
  13. Comment on A Comment Is An Invitation For Refactoring in ~comp

    anahata
    Link Parent
    How and why are generally obvious (if you're doing the obvious thing) to anyone who isn't a junior. I find those comments to be noise. I've seen people defend comments like these: import requests...

    How and why are generally obvious (if you're doing the obvious thing) to anyone who isn't a junior. I find those comments to be noise. I've seen people defend comments like these:

    import requests
    from bs4 import BeautifulSoup
    
    BUSINESS_LOGIC_URL = 'https://google.com/index.xml'
    
    # get the page index
    res = requests.get(BUSINESS_LOGIC_URL)
    
    # check for errors
    res.raise_for_status()
    
    # parse the contents
    soup = BeautifulSoup(res.text)
    

    and I just cannot at all understand what value comments like that have. Presumably you're commenting why you're not doing the obvious thing, which is why I will always advocate for commenting why not rather than just why.

  14. Comment on A Comment Is An Invitation For Refactoring in ~comp

    anahata
    Link Parent
    It is definitely possible to factor too much. I've worked with some codebases like that and it's quite difficult to get your head around a codebase when it's comprised of three line methods /...

    It is definitely possible to factor too much. I've worked with some codebases like that and it's quite difficult to get your head around a codebase when it's comprised of three line methods / functions and is quite large. I would seriously consider discarding the advice in this article as the opinionated pontifications of someone who has a very specific way of doing things that he clearly believes is best but is presenting as objectively, rather than subjectively, valuable.

    6 votes
  15. Comment on A Comment Is An Invitation For Refactoring in ~comp

    anahata
    Link
    This is the kind of absolutionist programming guidance that seems to come from the programmer (autistic?) personality type of trying to simplify a complex thing (here, an entire technical field)...

    This is the kind of absolutionist programming guidance that seems to come from the programmer (autistic?) personality type of trying to simplify a complex thing (here, an entire technical field) into simple, easy to follow rules. It's not that simple. I really don't see the value in making the developer read some other function / method, losing the mental context they've established in the middle of the code they're already reading, because some wotsit is an exceptional case. These suggestions don't make sense to me and I can't work out how they make code better.

    A lot of this post seems to come from the perspective of someone working with extremely junior developers (for whom absolutist rules like this have a small amount of currency) and given that he works at Uber as an engineering manager, it seems like that may be the case.

    15 votes
  16. Comment on Finland launches data security guarantee label – certification symbol serves as a guarantee to consumers that a device's basic information security features are in order in ~tech

    anahata
    Link
    This certification is "based on" the ETSI EN 303 645 standard (of which I can only find drafts). I'm reading through this specification and some of it seems to be pretty basic, some of it is very...

    This certification is "based on" the ETSI EN 303 645 standard (of which I can only find drafts). I'm reading through this specification and some of it seems to be pretty basic, some of it is very vague and hard to enforce / interpret. The points are as follows:

    • No universal default passwords
    • Implement a means to manage reports of vulnerabilities
    • Keep software updated
    • Securely store sensitive security parameters
    • Communicate securely
    • Minimize exposed attack surfaces
    • Ensure software integrity
    • Ensure that personal data is protected
    • Make systems resilient to outages
    • Examine system telemetry data
    • Make it easy for consumers to delete personal data
    • Make installation and maintenance of devices easy
    • Validate input data

    These are defined in section 4 starting on page 12.

    They do mandate response windows for reports by researchers (90 days, which is on the upper end of what I'd call reasonable), but they don't mandate response windows for updates. They do mandate the OEM disclose what the support period is for a device (this is very valuable and rare for consumer devices!), but not what that support period is.

    They have reasonable policies around passwords and keys, mandating that they're either device-unique or otherwise not-default (no backdoors based on default passwords or keys). The policies for minimizing attack surfaces are valid (default deny and what you'd otherwise expect). Some of the wording here is a little vague, though.

    "Ensure software integrity" mandates secure booting, which may get in the way of flashing alternate ROMs if an exploit isn't found. Personal data protection is required for GDPR compliance. The outage resilience will be nice; sometimes you don't see this in consumer kit so it's great that it's required. The point about deleting personal data is also relevant for GDPR compliance. Examining telemetry data is very vaguely worded and will be hard to enforce. There's a requirement that the user should be informed about the telemetry data, if any, and IIRC this is for GDPR compliance as well.

    Validating input data is, as you probably know, one of the hardest parts of software development. The requirement is nice, but actually doing it is another matter.

    In sum, about as good of an effort as you can expect. Do read the specification yourself and make your own decision about it, though; don't just take my opinionated word for it. It's not a very long read.

    4 votes
  17. Comment on A page has been added to view the posts you've voted on (up to 30 days old) in ~tildes.official

    anahata
    Link Parent
    You're right, I should have waited to calm down a bit and responded then. This is something I'm passionate about as you can see, and I'm sorry that the opportunity for discussion has passed. And...

    You're right, I should have waited to calm down a bit and responded then. This is something I'm passionate about as you can see, and I'm sorry that the opportunity for discussion has passed. And I'm sorry for any upset I've caused because of my wording. Not at all my intent!

    11 votes
  18. Comment on Your car doesn’t need a touchscreen in it in ~design

    anahata
    Link Parent
    This is because Microsoft was pushing Windows 8 really hard at the time, and the recommended stats included touch screen support, and Windows RT, the ARM-based (!) tablet-oriented version of the...

    This is because Microsoft was pushing Windows 8 really hard at the time, and the recommended stats included touch screen support, and Windows RT, the ARM-based (!) tablet-oriented version of the operating system, required touch input as it only ran Windows Store apps using the touch-first Metro interface.

    This didn't work out very well, and now Microsoft has mostly reverted to the traditional interaction paradigm with Windows 10. The touch interface is still there, as you see in the Surface line of products, but it's been deemphasized compared to Windows 8.

    It was pretty bizarre to observe all of this as a Mac user.

    10 votes
  19. Comment on A page has been added to view the posts you've voted on (up to 30 days old) in ~tildes.official

    anahata
    Link Parent
    This position lacks empathy. And it's also a slippery slope argument. I am vehemently opposed to the "preferences are bad" fad in software development because it is quintessentially exclusionary...

    This position lacks empathy. And it's also a slippery slope argument. I am vehemently opposed to the "preferences are bad" fad in software development because it is quintessentially exclusionary based on the perspective of the person making the argument. It lacks empathy for users other than the person making the argument; "these preferences are fine (for me) so they should be fine for everyone" does not take others' views into consideration.

    I'm sure this isn't your intention, but that's the way it comes across. It reads as you saying that you don't want the software to work in the way that others want it to work, and your justification is that users shouldn't want it to work in the way they just asked for because of an arbitrarily- and poorly- defined concept of what "too many preferences" is. Your own preference for what the software should do is met by fewer settings, i.e. the defaults, but this isn't the wider userbase. People who say "this is settings bloat" tend to actually mean "I don't want or need this setting and so the software shouldn't have it" which is utterly selfish and inconsiderate (even if unconscious and unintentional).

    There's a difference between too many settings and settings that aren't organized well. There's a difference between the settings that you want and the settings everyone else wants. reddit could do a much better job about organizing settings. And your browser's search feature can be very helpful for finding what you're looking for. Alternately, a filter dialog that supports aliases for settings would be great, too. As the number of settings increases, discoverability becomes more important.

    This is a slippery slope argument as there's no clear point at which we reach "too many" settings. As mentioned above, I'm sure that any setting you mention as "too far" will be something that someone else needs to use the site, and I'm sure there are settings that others don't care about that you find utterly essential. Recognizing that others are different from you and understanding their needs is a crucial part of the development and maturation of a software developer, and this fad really gets in the way of that.

    I sincerely hope it's not a popular opinion, because this fad needs to die. It's an inconsiderate, poorly-defined position that only seems to have currency because of an artificial valuing of "simplicity" without really understanding what that means or how it affect other users.

    I hate this fad. I hate it so, so much.

    6 votes
  20. Comment on What games have you been playing, and what's your opinion on them? in ~games

    anahata
    Link Parent
    ... sort of. By the time you're facing manticores, yes, it is a bit forgiving, but those first couple levels are rough.

    5e, which is very forgiving.

    ... sort of. By the time you're facing manticores, yes, it is a bit forgiving, but those first couple levels are rough.

    3 votes