Threads for herval

  1. 4

    Not only verbal fluency - there’s a huge amount of small cultural norms and customs that a second language speaker rarely gets to understand easily.

    1. 23

      Counterpoint: After years of ThinkPads, I’m far happier with my M1 MacBook Air. It was like having a veil lifted on what a laptop should be. No parlour tricks or half-baked gimmicks (i.e. bay batteries) or things that just aren’t useful anymore (i.e. media bays), just straight up portability - hours of battery life for years with great performance. Is the keyboard not the best? Sure, but it’s perfectly usable and I never think “oh, this isn’t good” (That, and my ThinkPad keyboards also weren’t spectacular to begin with either. They’re good at best, but not exceptional, and the quality varied a LOT.

      1. 4

        What I really like about the mac (I don’t use one anymore) was the ability to have home/end/pgup/pgdn functionality associated with the cmd key and the arrows. It is so natural to me that I think it should be pretty standard to have say the fn key (usually there is one) and the arrows do that functionality. Insert is useless to me*, Delete can be substituted by fn-backspace.

        * unless it is a full keyboard, then I can use ctrl-ins, shift-ins, and shift-delete.

        1. 5

          What I like about thinkpads is the robustnes. I just grab the thing by the screen or something and take it to kitchen to make pizza and read or watch stuff on it, then shove it into a backpack and go away for a week with it, and I never worry about damaging it.

          Granted, I never bought a new thinkpad. That may be part of it.

          1. 5

            What I like about thinkpads is the robustnes. I just grab the thing by the screen or something and take it to kitchen to make pizza and read or watch stuff on it, then shove it into a backpack and go away for a week with it, and I never worry about damaging it.

            This might have been true for X220s or other models from this era but you cannot do that with Lenovo Ultrabooks like an X1. In fact, the X1 shows a lot more chassis flex than any MacBook.

            1. 3

              Hell, the thick models of the time had severe chassis flex. I have a T42 that bends like a willow tree if you pick it up by a corner - enough it would cause damage to the GPU on the board.

              Not to mention that the plastics on the X220/T420/etc were prob the worst of any ThinkPad. My X230t feels like it’s falling apart plastics wise.

              1. 2

                Chassis flex is part of what made them so robust. Like modern cars vs the steel death traps of yore

                1. 1

                  That is also true. I haven’t had a chance to have a new ThinkPad (whether it’s the T or X series). I always got myself a used one. Which is probably another reason I felt ok with abusing them.

                2. 1

                  I am actually thinking about a new laptop. I primarily use a desktop these days, but use a laptop on go. It is an old macbook air (2013) running windows only - great performance still I have to say, but it has limits and there is a screen cable issue with it.

                  The framework laptop looked interesting, but not sure if I should.

                  1. 2

                    I’m still using a 2014 Macbook Pro that’s holding up ok, but the battery (replaced once) is giving up the ghost.

                  2. 1

                    Macbooks are pretty sturdy overall, I don’t think that’s a thinkpad-specific thing. The thinkpads look more robust, so maybe that adds to the impression though

                3. 4

                  The M1 is huge for me. I’m at a desktop most of the time, and use barriers for it to work alongside, and it is great. I haven’t had it long, but the battery life and lack of heat are such a relief. My previous laptop got hot, was loud, and had poor battery life (x1e). It took me a while to get it setup to my tastes, but UTM virtualized linux is amazing. It cut compiles of aarch64 stuff I’m working with from 3 hours to a bit over 10 minutes. I don’t love the keyboard as I use a split ergo day to day, but I’ll survive. The m1 solves some of the basic problems I’ve had with laptops for the past few years, and I’ve had previous apple laptops and I have one from 2014 still in use with only a battery replacement. I’ve used lenovos over the same period and I don’t remember them ever being without their own issues. The author mentioning the pinebook is confusing. The limited RAM and CPU would rule it out for me. I tried to use an 8GB RPi as a desktop and with a web browser it just wasn’t realistic for me. I thought I was limping along until my laptop was repaired and realized just how bad it was and how it cut my productivity.

                  1. 2

                    I refrained from buying this thing because I thought all the comments were an exaggeration, but the M1 is indeed a shocker. It’s the first Mac device since probably the early Macbook Airs that feels great in all the areas that matter, with none of the useless gimmicks in between (butterfly keyboards, the single-usb-port ones, touch bar, etc). Really glad they got “back to the basics” with this one

                  2. 2

                    Plus, if you’re a Vim user (or use an editor that supports Vim emulation), HOME/END/DELETE/etc aren’t even desirable keys on a keyboard; they’re just wasted space.

                    Personally I like the tradeoffs modern laptops offer: more portability when you need it, and when you’re at home, you’re presented with a wealth of customizable keyboards (down to the switches) that modern standalone keyboard manufacturers offer.

                    If you’re really crazy, the Moonlander is even portable!

                    1. 2

                      Speak for yourself. I’m a vim user and I still prefer to use PgUp/PgDn - but I am actually ok with the placement left and right of the up arrow. It’s not ideal, but ok.

                      Also I use enough text input in non-editors, so looking at only and IDE is kinda useles.. What about terminals, I scroll back all the time there?

                      1. 3

                        What about terminals, I scroll back all the time there?

                        Are you aware of ^A and ^E?

                        1. 1

                          I find that highly unergonomic and not a proper replacement.

                      2. 2

                        The Moonlander is absolutely gigantic compared to some DIY travel split keyboards!

                      3. 2

                        Counterpoint: After years of ThinkPads, I’m far happier with my M1 MacBook Air.

                        I wanted to write the same. After working with an M1 machine I cannot return to x86 laptops, the MacBook Air is so much better than any ThinkPad I used in the past (including X1 Carbon’s) that it is almost unfair to compare them. Also, I know what I’m getting with the MacBook, with a ThinkPad on the other hand, it’s like playing the lottery. Especially displays on ThinkPads ranged from garbage to adequate for the same model. But as a customer you had no influence on which display panel would eventually be built in, it might be a decent one, maybe not. The same goes for SSDs.

                        1. 2

                          The inability to get >16GB RAM in a MacBook anything drove me back to ThinkPad in 2018, after holding out for almost 2 years past the point where I really should have purchased a 32GB laptop, in hopes they’d be introduced on the Mac side.

                          Especially displays on ThinkPads ranged from garbage to adequate for the same model. But as a customer you had no influence on which display panel would eventually be built in

                          This has me unlikely to re-buy a ThinkPad on the next round. (I’m still living with my 2018 model.) I lucked out with mine compared to a coworker. And by all indications, it’s more of a lottery now, for both keyboard and display.

                          I’m still not certain to return to the MacBook universe. But I’m probably done with Lenovo unless things really flip. I feel like I’m on borrowed time with a 4 year-old T480 and I’m really hoping it continues to serve my needs long enough for me to see what Framework does with their second gen and (hopefully) like it.

                        2. 1

                          That, and my ThinkPad keyboards also weren’t spectacular to begin with either. They’re good at best, but not exceptional, and the quality varied a LOT.

                          Not sure which you tried, but I think people praise the last generation of non-chiclet Thinkpad keyboards way too much. The generations before that (ending with X201/T400) are the ones truly worthy of praise. The 7-row thing isn’t even that important to me but I find the tactility and sturdiness of those keyboards puts them in a class of their own.

                          Some other benefits of old Thinkpads for completeness:

                          • They cost about 1/10 what MacBooks cost, which makes me worry much less about losing my backpack or getting mugged. Also makes it practical to have multiple laptops in different locations or as backups.
                          • Nice flat surface to write on when the laptop is closed
                          • Taller screen means less hunched posture
                          • Much broader software compatibility
                          • More secure for certain threat models

                          There are of course a lot of draw backs and overall increasing downside as the good generations get older and computing demands increase.

                          1. 1

                            I used an X201 as my daily driver for a few years, plus I have many older models. So I’m a little tired of the default narrative of /g/ et al.

                            I can’t address all the claims because of how specific/ they are, but I will say: The X201 is fine, but it’s not noticeably better than say, my X230t’s or my X40’s. (My X40’s is a bit weird feeling in the era around the enter key, which I chalk up to age/abuse in its former life, so I won’t hold that against it.)

                            1. 1

                              personal preference I guess. FWIW I think the X40 keyboard is at least as good as X201.

                          2. 1

                            I like my MacBook too! The author is mourning the dearth of high-end laptops that come in many different shapes and sizes though. It’s not that complicated: Apple has the sales volume to essentially monopolize the entire high-end laptop market, because it owns the chips and the OS preferred by most high-end users. And Apple only makes a few models at a time.

                            Some day, another company will challenge Apple in the high-end laptop market – maybe Samsung since they have the chip and OS expertise, or Microsoft since they already came pretty close with the Surface. And then there will be some variety again.

                            1. 1

                              I don’t think that’s quite the correct assessment, because workstation laptops absolutely exist and sell well. As have gaming laptops, which took off and can usually be built on the same platform as a workstation. I suspect he’s chuffed that they don’t have things like media bays anymore, when the situation and context around laptops have changed significant to discount them.

                          1. 6

                            There might not be such a thing as 10x engineer, but there are for sure 0.1x engineers, and I’ve been bitten by them very badly.

                            Perhaps the problem isn’t that there are no such things as 10x engineers, but that some 0.1x engineers can drag a whole team down.

                            (I’ve worked with a couple of guys who quite literally made the worst possible design decisions. Like…I almost wondered if it was sabotage. $120,000 - $150,000 a year and didn’t understand foreign keys or unique constraints on databases, thought that hex-encoding something counted as encryption…)

                            1. 3

                              If there are 0.1x engineers, then by definition, there’s relative 10x engineers. I think labeling either (or seeking an elusive 10x) is usually a waste of time - you have to try to adjust the people to the circumstances - a 10x here is a 0.1x there, environment plays a BIG role. We also tend to confuse “10x” output vs outcome (it’s obvious producing 10x more code isn’t a goal, unless you’re selling CRUD forms) - and particularly with technical details (there can be an engineer that generates 100x more value than other without having to understand foreign keys).

                              1. 1

                                (there can be an engineer that generates 100x more value than other without having to understand foreign keys)

                                No doubt. The problem with these particular guys was that they claimed to be good at databases.

                            1. 1

                              All I can say here is nothing on this article (from the number of WeWorks to what Kafka is used for to the volume of data to the comment that WeWork IPOd) is accurate. It’s the typical “I don’t work at company X but pretend I know how things happen” article…

                                1. 1

                                  I guess I hate the com/foo/bar/more/dir/stuff so much I want to flatten it.

                                1. 2

                                  Digging into Scala.js which is making me finally take the time to learn Scala.

                                  God, it’s weird. Nice, but weird.

                                  Scala.js is kind of a dream, though. Scala has enough OO to make JS interop really quite seamless.

                                  1. 1

                                    weird how?

                                    1. 2

                                      There are just so many ways to do everything! I suppose I’m not yet understanding the “Scala way” but right now I’m trying to walk out some basic FP idioms as I know them and I feel like there are lots of relatively arbitrary choices I have to make at each step.

                                      1. 2

                                        I got the exact same impression from Scala. Scala makes me think, “you folks just threw everything at the wall to see what would stick when designing this language, didn’t you?” It feels like Perl.

                                        1. 1

                                          That’s funny, I just wrote how I’m working on bringing java.time to ScalaJS above. :-)

                                          Let me know if you have any questions about Scala or Scala.js!

                                          1. 1

                                            I’m curious about time libs, yeah. I really like Haskell’s time lib, actually.

                                            1. 1

                                              The Haskell library looks nice, but it seems to suffer from what a lot of other libraries suffer:

                                              Implementing the easy 80% and punting on the hard 20%, except that with time libraries, 20% are easy and 80% are hard.

                                              I’m not a fan of Java, but java.time goes a long way covering all the ugly, hard corner cases and requirements people have in the real world.

                                              1. 1

                                                I’d be curious what you put in each column. I feel like Haskell’s time library goes quite far to what I see as the hard 80%. You have to include another like (time-series) to chop off another big part of it (time zone nastiness) but then there’s little else extra I would ask for.

                                    1. 3

                                      Not sure if I’d describe the effect as twisting my words. If I’m using messenger, I know how it’s likely to be presented. In response, I’m not going to be so verbose. I mean, if you talk to a stranger in a bar for three minutes, that’s fine, but leaving a three minute voicemail is definitely creeper like.

                                      1. 4

                                        Quick nitpick: How do you know whether the other party is seeing the small popup chat, using messenger.com, getting a push notification, reading on their watch or in a tablet?

                                        1. 2

                                          In my experience, one tends to plan defensively for the worst possible situation until you’re certain that it’ll be seen in a particular circumstance (not consciously, obviously).

                                          (in other words, I’d probably never do this on Messenger, and even if I did, I’d be sure to send it as a single message with newlines)

                                          1. 1

                                            I assume they’re reading it on their phone, which is how nearly everyone I know reads messenger (except the few people I know using messenger.com at work). It’s pretty easy to start with “hey, great to meet you” and then ask the other person out after they reply with “same”.

                                        1. 3

                                          From the article: “A microservice is an isolated, loosely-coupled unit of development that works on a single concern.” … “ if one microservice has a hard requirement for other microservices, then you should ask yourself if it makes sense to make them all part of the same unit”

                                          Aren’t these two aspects potentially conflicting?

                                          1. 4

                                            I think the implication is that two microservices that are tightly coupled are actually acting on the same concern, so making them two microservices was premature.

                                          1. 2

                                            Maybe I’m too old (and had to deal with the horrors of moving a file on CVS), but I never had any problems with merging on Git (I tend to avoid them because rebases are so much cleaner, but rebasing would use branchs anyway, so…). Perhaps I’m missing something?

                                            Also, if your problem is really with merge conflicts, you will get them just the same if everyone is commiting to master/trunk, no?

                                            Finally, lots of assumptions there (“this is faster”, “that is slower”) and the only references seem to point to articles defending branched approaches (trunk-based, which I particularly dislike + condemning feature toggles)

                                            1. 3

                                              I’ve just put together a Docker image for Google’s Deepdream. I know, I know - a gazillion people did the same thing, but mine will run it as a command-line process, instead of opening an IPython notebook.

                                              1. 4

                                                Working the “implementation details” of an idea - a vinyl-pressing-as-a-service. Basically talking, emailing and phonecalling - definitely not as fun as actually building things…

                                                1. 2

                                                  What is the point of adding an extra M?

                                                  1. 5

                                                    it’s customary in accounting to indicate thousands as an M and millions as two Ms (that’s from the roman numerals, where M is a thousand).

                                                    1. 2

                                                      What is interesting is that the original article that the guy links to doesn’t bother to do that.

                                                  1. 5

                                                    Adding some more patterns to my comment blocker plugin for Chrome: https://chrome.google.com/webstore/detail/anti-social-hide-all-the/ngmpaodhbmmkamjlgdajipkanidojngm (source on GitHub) :-)

                                                    1. 4

                                                      Instead of saying things like “don’t open such large pull requests” tell someone they should “open smaller pull requests.”

                                                      Is that really any different?

                                                      1. 30

                                                        there’s a lot of cognitive research that says yes.

                                                        1. 14

                                                          Yeah, to add a little more, the research says that when you give a negative direction, the person doesn’t immediately know what action to replace it with, and there’s also a chance they don’t hear the negation in the sentence.

                                                          You can see this when you tell a dog not to do something and they start randomly picking other actions to perform instead (including coming back to the one you told them not to, eventually!). As a human example, it’s my understanding that cops are told not use negations in orders they give civilians and each other for those reasons.

                                                        2. 19

                                                          Yes! It certainly is. Yelling “don’t run!” at my three-year-old son is unlikely to make him stop. But yelling “walk” might. Focus on the action you want implemented.

                                                          1. 8

                                                            You’d think people would interpret it that way, but not everybody does (and not necessarily because they’re idiots).

                                                            You’ll get somebody who instead emails you “before I submit this giant pull request, perhaps you’d like to look it over. (Bajillion lines of diff to follow.)”

                                                            1. 1

                                                              Yes! The first expresses disagreement with the persons actual behavior, while the second is an instruction towards desired behavior.

                                                              “Don’t open such large pull requests” makes is unclear what the fix is. (It could also be not to create any any pull requests anymore)

                                                            1. 13

                                                              Every time I set an alarm, I end up waking up around 10 to 20 minutes before it, then turning it off (before it ever rang) and getting on with my day…

                                                              1. 2

                                                                Putting together a simple service for delivering Pocket + Instapaper + Readability content to my Kindle (which was on my backlog for almost 2 years): http://dailycrunch.mobi/

                                                                90% done over the weekend, now to some extra features (archiving/starring/sharing directly from the Kindle, etc)

                                                                1. 6

                                                                  This Saturday I finally switched the API keys from test to production on my side project. That was an incredibly nerve-wracking experience. Pestering some IRC friends to try it out resulted in a 0% conversion rate (which is still better than a 0% rate because you never launched). So this week I’ll be hacking on:

                                                                  • Making it more clear what the product does
                                                                  • Allowing the user to demo the product before they try
                                                                  • Changing the pricing schema so it’s more clear

                                                                  If anyone knows good writing on proper user onboarding, I’d love to hear it. Hopefully next week it’ll be ready to post here.

                                                                  1. 3

                                                                    What’s the project? Mind sharing here?

                                                                    1. 2

                                                                      The general idea is Birthday Cards as a Service - the software takes care of all the hard parts of handling birthday cards (getting the card, remembering to send it at the right time, etc) while still letting you pick the colors/message/etc.

                                                                  1. 2

                                                                    I’m working on a quick tool for calling Thrift services + inspecting responses on the command line, much like you would cURL a JSON api: https://github.com/herval/thrurl

                                                                    1. 1

                                                                      It’s interesting how you seem to put Apple and Google in such extremes in your comparisons throughout the site: “Apple doesn’t sell their users”, “they don’t do spyware while Google does”, etc. Perhaps I’m a cynic, perhaps I’m mixing up the news I heard, but could you elaborate a bit on these polar opposites?

                                                                      1. 7

                                                                        One thing I find odd is that Windows fulfills their platform criteria: it’s a paid-for product, with no interest in selling your personal data, and all cloudy things are optional.

                                                                        So why not build a Windows app first? They don’t even mention it.

                                                                        1. 6

                                                                          As much as I dislike the “white elite” trope, I believe this sums up the universe this guy lives in rather well: https://twitter.com/evemassacre/status/554963254490202112

                                                                          Egos cloud everything - including the potential for accepting that “M$” might fit their agenda… (he cites Microsoft as one of the “evil corps” in his blog because they “sell you out”, as opposed to Apple)

                                                                          1. 2

                                                                            I also just found that they are explicitly named in their manifesto, but not in the linked article.

                                                                            https://ind.ie/about/ https://aralbalkan.com/notes/spyware-2.0/

                                                                          2. 1

                                                                            I understood it to be because MS doesn’t (usually?) sell the hardware, while Apple does.

                                                                            1. 1

                                                                              I think there’s an unfilled niche of high quality, we’ll integrated software for Windows from small independent teams, like you see on OS X. But most Mac focused teams I see like this one don’t care and brush it off.

                                                                            2. 1

                                                                              http://twitter.com/aral might have the answers you seek.

                                                                              (Edit: I posted this here as the parent explicitly talks to the author - which is @aral and he usually can be contacted via twitter)

                                                                            1. 4

                                                                              For fun, I started working on an ssh chat server in Go. Basically clients will ssh chat.whatever.com and boom, you’re in an IRC-style chat room with everyone else connected. Proof of concept is nearly ready, hopefully post it in an upcoming week.

                                                                              No real great reason for why I’m doing this, mostly because I wanted to use the Go crypto/ssh module and learn more about the ssh protocol. Let me know if you’ve seen this done before.

                                                                              One cool feature I hope to have from this is that all identity/auth will be done implicitly by the pubkeys, but not sure why this is actually useful, open to ideas. :)

                                                                              1. 2

                                                                                Why not implement the IRC protocol? Might be an interesting exercise too!

                                                                                1. 3

                                                                                  Implement IRC on top of SSH? I am considering doing a subset of it, at least for client-side commands. The goal is to have a no-dependencies no-registration chat room experience. I like the idea of repurposing ssh clients (which are actually very powerful and versatile) for something silly like this. :)

                                                                                  1. 2

                                                                                    Or a MUD

                                                                                    1. 1

                                                                                      That is definitely on the list of ideas, but probably more work than I’m willing to sign up for this project.

                                                                                      I’d like to release a library to make these kinds of things super easy, though. Stay tuned!

                                                                                  2. 1

                                                                                    I think using SSH as the base is an excellent idea. IRC encryption is a pain. PubKey FTW.