1. 23

    I really can’t agree with this more. At work I was just upgraded to a top of the line 16” MacBook Pro and I hate it. It’s so bad that I’ve been looking for something to buy myself to replace it and I can’t find anything good. The XPS 13 is probably good enough, but I’d really like something better than that.

    I’m probably even less demanding than Drew, I’m willing to deal with non-free device firmware blobs. But I need a high DPI screen, so I don’t even have the option of going with something old.

    1. 7

      The new ThinkPads aren’t so bad; I have an x270 and it works well for me. It’s been working with Linux pretty much out of the box ever since I got it 2 years ago.

      I don’t like how the XPS integrates the click buttons on the touchpad (a lot of laptops do that), but other than that it’s pretty okay for the most part.

      1. 3

        Can you only get a 1366 x 768 display on the x270? I don’t think I could deal with that.

        The XPS is probably where I’ll end up. The just announced a new model with a 16:10 display. I’m going to wait to see what the linux compatibility with that is/see if that display comes to the Developer Edition models. And I actually prefer the click being integrated in the touch pad, so that’s not a worry of mine.

        1. 4

          I had work buy me an X260 without thinking about it, and they got me a 1366x768 one. It never even occurred to me that such a thing would be possible to buy, so I didn’t think to specify.

          But even if they had gotten me a higher-resolution one, the display is still 16:9; too small to be usable without an external display. It’s also very dim; completely useless outside. The only good thing about it is that it’s not glossy. I’m much happier on my X301, so most of the time I just SSH in from that machine.

          1. 3

            Nah, I have a 1920x1080. For a 12.1” screen that’s more than plenty. Pretty sure I could also configure a higher resolution one. I’m not even sure they’re even selling the x270 any more, since there’s the x280 and x390 now. I’d probably get the x390 if I had to buy a laptop now.

            “ThinkPad [model]” doesn’t necessarily say all that much, since they come in a gazillion build configurations. A lot of them are mass-produced for enterprises that buy 500 of them for their office workers and the like, and come with shitty screens like the one you saw. But you can get better for sure.

            The ThinkPad has both integrated click and buttons on top; it’s a great design IMHO (but in the end of course a matter of personal taste/preference).

            1. 2

              Good to know, I only found one build of the x270 on their website, and I can’t even find that again now, which had that screen & AFAICT, couldn’t be customized. Probably just need to do through their website more.

              The ThinkPad has both integrated click and buttons on top; it’s a great design IMHO (but in the end of course a matter of personal taste/preference).

              Ah, yeah, that definitely is best. I miss that from my old x220. I wish I would have never gotten rid of that.

          2. 2

            I’m still holding out on buying anything as long as my X300 keeps running, but I just a look at the x270 and seriously … how can they build a notebook with a touchpad that has the buttons on the wrong side?

            1. 3

              I think they’re more intended for the TrackPoint than the touchpad, so it makes sense from that perspective. My old T61 had buttons on the top and bottom. I find it works quite well for both though. Also: it has a middle click button! A rarity on laptops and a small feature that actually matters a lot to me.

              1. 1

                I think you’re using the touchpad wrong. x270 is design with the nipple pointer in mind and that’s why the buttons are on the top. Also I’ll just put it out there: buttons on the top of the trackpad should be standard to begin with ­— it’s much more ergonomic. You need to move your finger less and your wrist of the hand that is touching the buttons can rest on the laptop rather than outside surfice.

                1. 1

                  Buttons at the top make it a pain to use gestures – if the laptop can’t be used without a mouse, why even bother with a touchpad?

                  Maybe Lenovo should just sell me the device 2€ cheaper and put a real mouse in the package instead. (Same with keyboards these days. Those super-thin devices don’t look that practical anymore if I have to carry an additional, usable keyboard.)

              2. 2

                They aren’t so bad, but they’re clearly worse work tools.

                I ~recently switched from a T430 to a A485 (that’s a T480 but with AMD in it).

                No latch on the cover, meaning that after 5 years it will be opening itself in the backpack every day.

                No ultrabay, or however it was called, meaning I need to carry around either a sata-to-usb converter or an external dvd depending on what I need. Sure it’s slimmer now: but also less useful. That’s not what I wanted a thinkpad for.

                Two batteries instead of one. Battery life is as good/bad as it was on the T430, but now when the battery wears out I’ll need to replace two instead of one – and one of them is deep enough to require a full-on disassembly.

                The physical cover for a webcam is nice, but everything else is a straight downgrade. If anyone else made laptops with decent trackpoints I’m sure I’d never look at Lenovo again :/

                1. 3

                  I’m using T430 privately, yet I’m thinking more and more about buying something new. T430 lacks power, 1080p x265 is too much for it. Putting SSD in it gave it second breathe at the time, but that’s about it. Working with ThinkPads spoiled me, I need trackpoint, touchpad is no go (I mean I use it only for scrolling, but can easily live w/o it at all), which limits me mostly to ThinkPads (there are few other non-Lenovo series that happen to have trackpoint equivalents, but there aren’t many of them).

                  I’m not necessarily fond of what is presently offered in ThinkPad lineups. I would even overpay for some Extreme if it was 14” and having normal RJ45 ethernet port (instead of Lenovo’s proprietary mini-RJ45-crap forcing you to buy and use some adapter if you’re wire networks user). 15” is too much, I want to have some mobility. And honestly, I use wire networks rarely, but lack of normal RJ45 port irritates me immensely, possibly more than it should. Ultrabays are cool too, I have one right now with additional SSD there. But if I need, I can replace it and put DVD drive in it, or something else. It takes literally seconds. Lack of it in newer models also bothers me (but not as much as lack of RJ45). And having USB-C for charging maybe is nice and dandy, but for firmness and durability I think slim tip connector, like used in T470 (my work laptop), is what I prefer the most.

                  They make laptops slimmer, but modularity and usability, are reduced because of that.

              3. 3

                What do you hate about the 16” MacBook Pro? I feel like I’ve been hearing generally positive things about it.

                1. 5

                  It’s just super unreliable. Half the time when I connect it to my Thunderbolt 3 dock (which I bought from an apple store) it just sits there and flashes until it reboots. It also fairly often will end up rebooting while its suspended. Bluetooth devices slowly get juddery over time and half the time it won’t auto reconnect to them.

                  I have more problems on top of that don’t help my impression of the system overall, those just come from Parallels being awful at what it does, but I need Linux to do my job.

                  Edit: I should also mention, my last work-issued laptop was a 2015 Macbook, which as I understand it was the last “good” one before they started mucking things up. So, my expectations weren’t pre-set to be super low. Maybe that is why I’m relativity more disappointed with it than others that had used other newer models.

                  1. 2

                    I have more problems […] those just come from Parallels being awful at what it does […]

                    I’m confused. Are most of your applications designed for macOS, Windows, Linux, or general Unix?

                  2. 3

                    I’m curious about the answer as well. I’ve been using a 16” for a few months now, and really like it. I’ll be disappointed(but not surprised) if the complaint is actually about the fact that it ships with Catalina.

                  3. 2

                    I have a hidpi x1 carbon v6 and it’s not bad. the v4 had better ergonomics though, and the fact that they backslid on that makes me sad. (specifically, the margins on the side of the keyboard are too small on the v6)

                    1. 1

                      … I need a high DPI screen…

                      As do I…

                      … so I don’t even have the option of going with something old.

                      …which is why I’m still using 15 year old T42p’s with 1600x1200 screens…

                    1. 4

                      Obligatory comment, just in case someone didn’t know about existence of The Manga Guides available through No Starch Press.

                      1. 3

                        It may be a truism, but good programmers do not really differ from good engineers:

                        • being reliable, owning matters/subjects that have been entrusted to them or that they started on their own,
                        • communicating in a clear and accurate fashion, be it talk, mail, doc, design, code,
                        • dealing with mundane tasks that have to be done without grimacing,
                        • easily decomposing bigger concepts or tasks into smaller ones,
                        • finding root causes of issues methodically, but often having good intuition to significantly speed up the process,
                        • having exploratory and open mind, always willing to learn something,
                        • openly admitting failures when they happen, learning from them, and not letting same kind of failures to repeat,
                        • persevering when necessary, but also not caring too much about less important matters,
                        • planning appropriately work that needs to be done, thus being able to detect inadequate resources (knowledge, manpower, time) early on if there are constraints that cannot be lifted,
                        • understanding how to cut corners if needed to deliver, but also fixing technical debt afterwards.

                        How to improve? Practice.
                        Do. Fail. Learn. Repeat.

                        1. 2

                          Most web-based mail solutions seems to be business-oriented, unfortunately, so even if you have some support for plain-text, you lack basic associated features like ability to read and write mails using monospaced (or fixed-width, if you prefer) fonts. You’re basically forced to use your own CSS overriding vendor’s ones or go with some existing browser extensions doing it for you. Or run vim, :set ft=mail, write mail, :%y, and paste it to your browser, if you don’t want to configure standalone e-mail client displaying monospaced fonts when reading and writing mails.

                          I tried contacting Zoho Mail in the past to make them improve the situation. After generic response (“It would be much appreciated, if you could share more specific details on the issue you are facing, along with relevant screenshots, so that we could analyze and guide you accordingly.”), I expressed my displeasure that they ask for more details and screenshot, as it felt like they wanted to talk me out of continuing discussion, even though all necessary information were provided in my initial feedback. But in the end I provided screenshot of mockup showing current state (no monospaced font when reading/writing mails) and what would be desired to have (monospaced font used when reading/writing mails). I never received the response.

                          (For context, what’s the state in Zoho Mail: In Settings > Mail > Compose you can choose Courier as Font Family or specify system font you have, but if your Editor Mode is Plain Text, font options are not applied, they only change default font for Rich Text… And there are still no options for font used for reading. There is Font Family in General > System, but it affects whole zoho interface and there is no monospaced font to choose from, even if someone would be ok to have whole UI using it.)

                          Gmail is not better either… Personally I haven’t sent my feedback to them regarding lack of monospaced fonts for plain-text mails, but I suspect people did it in the past many times.

                          1. 3

                            The link in the description on GitHub: https://nanos.org/ seems to be dead right now.

                            It would be nice to have some comparison to existing similar solutions like:

                            BTW There is a nice list of unikernel projects:

                            1. 2

                              Yeh sorry we’ve reserved the domain name but we don’t have a site for it yet - kinda too busy with other things. I’d imagine that site will be up within a month or so though.

                            1. 1

                              Seeing Duff’s device mentioned here reminded me of one particular article from a series of good ones that I couldn’t remember the name. But! I remembered that I had them on pocket, service I haven’t used since many many years, but logged in just now. Thankfully it has not deleted any stuff.

                              NO EXECUTE! A regular look at personal computer technology issues.
                              by Darek Mihocka, founder, Emulators.com.

                              May need to revisit them, as I don’t remember whether I’ve read all of them in the end.

                              The article I was thinking about in particular was:

                              Part 25: Predicting Interpreters about Nostradamus Distributor.

                              1. 1

                                Simple alternative to git’s status, or to be more precise status -s, is something I dubbed almost 10 years ago quick-status or qs for short.

                                Add to your ~/.gitconfig:

                                [alias]
                                    qs     = !echo staged: && git diff --cached --name-status && echo unstaged: && git diff --name-status
                                

                                It isn’t full-fledged replacement, but a good enough one for typical cases.

                                Unscientific comparison:

                                baytrail [~/git/git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux]$ time git status -s
                                M  sound/soc/intel/baytrail/sst-baytrail-dsp.c
                                 M sound/soc/intel/baytrail/sst-baytrail-pcm.c
                                
                                real    0m0.376s
                                user    0m0.262s
                                sys     0m0.302s
                                
                                baytrail [~/git/git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux]$ time git qs
                                staged:
                                M       sound/soc/intel/baytrail/sst-baytrail-dsp.c
                                unstaged:
                                M       sound/soc/intel/baytrail/sst-baytrail-pcm.c
                                
                                real    0m0.192s
                                user    0m0.113s
                                sys     0m0.265s
                                

                                It isn’t visible in this particular case, but difference can be quite big, Not sure if as big as 10x, but I’ve seen ~5x.

                                1. 2

                                  If you disable scanning for untracked files, of course it’ll be faster. On the other hand, you won’t know if you have untracked files.

                                  Recently git has introduced untracked cache. It’s disabled by default because it doesn’t work on all filesystems. You can see in the docs how you can test and enable it. After you do, git status will be just as fast (or slightly faster) than qs and it’ll give you untracked files. I highly recommend enabling untracked cache globally on every machine you use.

                                  FWIW, on my machine gitstatusd is faster than git and qs in linux repo by a factor of 6.74 (untracked cache enabled).

                                  P.S.

                                  The documentation for untracked cache makes some false claims. Untracked cache does not and cannot obviate the need to stat() every file in the index. It can only disable directory listing.

                                  For this to work the underlying operating system and file system must change the st_mtime field of directories if files in the directory are added, modified or deleted.

                                  No filesystem behaves this way. In fact, git update-index --test-untracked-cache checks that directory st_mtime does not change when files are modified.

                                  1. 1

                                    Thank you for useful information!

                                    Ages ago I used to read release notes for almost all git releases, so I was aware of many features and options that were added from time to time. But I haven’t done that for quite a few years already.

                                1. 3

                                  UX-wise SkyTube seems more polished. It lacks playback speed control, though. Almost any YT video that isn’t about playing music (as music can be badly distorted), can be watched using at least 1.25x speed without any issues, and many of them remain comfortably understandable with 1.5x speed.

                                  1. 21

                                    Well, one of my pet hates about phones these days is the sheer size of them – they’re basically a tablet in your pocket. I want a phone.

                                    And I thought I was the only one on the planet going nuts about this. I also bought an iPhone SE 2 years ago for exactly the same reason. I don’t get what the fascination with large sized screens is. You can’t even operate the phone with one hand.

                                    Anyway, I switched to iOS for similar reasons. Personally for me, the final straw was the Android permission system. Once an app has all the permissions, it has them all the time. Not sure if things have changed in the meanwhile, but I’m super happy that I switched.

                                    1. 10

                                      Once an app has all the permissions, it has them all the time. Not sure if things have changed in the meanwhile, but I’m super happy that I switched.

                                      It has

                                      1. 8

                                        The size of phones is just killing me, and they seem to be getting bigger. Hopefully the fashion will change soon.

                                        1. 6

                                          Yeah, I cannot understand why smartphones are getting bigger and bigger. It’s like sane phone sizes ended with end of 2014-2015, especially if you want some good specs.

                                          In 2014 you could buy Z1 Compact (dimensions: 127 x 64.9 x 9.5 mm (5.0 x 2.56 x 0.37 in); screen: 4.3 inches, 51.0 cm2 (~61.8% screen-to-body ratio)), now it’s practically impossible to buy similarly sized high-end smartphone.

                                          ~4.5” screen seems to be what is the limit of being able to somewhat comfortably operate smartphone in one hand using your thumb (unless you have some big hands, of course, but I don’t). With Redmi 2 (dimensions: 134 x 67 x 9 mm (5.28 x 2.64 x 0.35 in); screen: 4.7 inches, 60.9 cm2 (~67.8% screen-to-body ratio)) I’m actually already unable to reach top of the screen and 3 buttons below the screen with my thumb without slightly readjusting hand position.

                                          BTW It’s equally ridiculous for me to put 3K screens in such a small size factor like smartphones (well, they’re reaching 6” screens already, but even including that). Going over FullHD seems quite wasteful and brings only more battery drain. I doubt there are people using their phones with magnifying glass…

                                          1. 10

                                            My guess: more and more people are using phones as their only computer, so sizes will continue to increase in order to accommodate them.

                                            1. 8

                                              Exactly this – me and my partner are basically polar opposites on this front. When I need to do anything beyond simple, brief content generation (text messages, and only short ones) – I reach for my laptop. The time to take it out of my bag, tether it to my phone, get online and do the work then put everything away is less than my slow speed on a phone.
                                              Work wise – the phone is an accessory to my computer(s)… and mostly I use it as a well, phone, click, alarm and message receiving device.

                                              My partner legitimately runs two businesses from their phone. The phone is the primary content generation device, email, texts, taking photos, editing images, scheduling, planning, online resources, looking at sales data, ordering new products for the workplace, etc, etc – everything is done on the phone first, and begrudgingly done on a laptop if a product just won’t work from their phone. That product is likely to have a short shelf life because having a great phone experience is probably the most important feature to them.

                                              1. 2

                                                And I know people who use 17” laptops for impromptu presentations. Harder to find those these days.

                                                1. 1

                                                  For small table presentations (impromptu or otherwise), I love mirror mode to a 15.6” USB powered monitor, so I can sit behind my computer when presenting. Specifically great for like live coding / pair coding.

                                                  1. 1

                                                    Do any of those monitors have Linux support?

                                                    1. 1

                                                      Yep. I think almost all of them use the generic DisplayLink USB 3 stuff – which works (might need to install a Displaylink generic driver).

                                                      1. 1

                                                        The DisplayLink story wasn’t so good as of 4.1, have you noticed it getting better?

                                                        1. 1

                                                          I am not sure if I got lucky or what, but I haven’t had a major issue with it and been using them for a few years now on Ubuntu 16.04 and now 18.04 (various spins of it). I don’t use too many of the DisplayLink features (rotation, sound support, etc – so maybe that is where stuff gets hung up?).

                                            2. 1

                                              ~4.5” screen seems to be what is the limit of being able to somewhat comfortably operate smartphone in one hand using your thumb (unless you have some big hands, of course, but I don’t).

                                              I agree. I switched from an iPhone SE to an iPhone 6s with its 4.7” screen, which is just a bit too large. Luckily, iOS has this handy feature where if you double tab (not press) the home button, it will move the image 50% down, making it easier to reach top buttons. I’d still love a 4.3 or 4.5” iPhone though. But it’s not where things are moving, so unlikely to ever happen (they even abandoned 4.7” on new models, yes I know, newer models have smaller bezels).

                                            3. 1

                                              Americans like phones they way they like their cars – the bigger the better.

                                              1. 1

                                                Funny enough the giant phone trend is being driven by Asians, specifically Chinese and Korean customers. They all want massive screens for some reason. Americans don’t really help the trend much but for once were not actually driving the bus.

                                            4. 1

                                              That part was music to my ears as well :-) https://mastodon.social/@isagalaev/100981223084458245

                                              We should start a consumer group or something (oh well, who am I kidding?)

                                              1. 4

                                                Cool idea.

                                                Suggestion: Order of icons could match the name order: BB, GH, GL. (One of those: possibly nobody cares, yet it irked me immediately.)

                                                Question: Why is BitBucket not turned on by default?

                                                1. 2

                                                  Funny, I came to the comments to ask the same thing about bitbucket being disabled by default..

                                                1. 12

                                                  At home, I’ve been optimising my compression algorithm.

                                                  The encoder hasn’t received much attention yet, but I found a very nice trick for optimising one small part and it doubled the speed of the whole thing, putting it on par with LZ4. With tweaking it should beat LZ4 quite handily.

                                                  The decoder is where I’ve been focusing my efforts, and it destroys anything in the open source world. I’ve seen 60% faster with the same or a bit better compression than LZ4 on normal non-degenerate files, and I still have work to do. There’s definitely room for tweaking, and I want to try widening to AVX2. AVX is a bit derp though so I’m not sure if that will work out.

                                                  This is all particularly exciting because LZ4 has the world’s fastest practical LZ encoder (ruling out things like density) and I believe I’m in the same ballpark as the world’s fastest decoder (but with much less compression :<).

                                                  Next steps are to become #1 and figure out how to turn it into money.

                                                  1. 10

                                                    I believe there’s a ‘documentary’ called Silicon Valley that can be a good starting guide.

                                                    1. 2

                                                      I think they even had a real-world, case study toward the end involving life-like hands and cylindrical objects. Might be useful for bicycle games or something.

                                                    2. 2

                                                      Good luck with your project!

                                                      I’m observing compression-related subjects from the sidelines occasionally. (Lately I started providing some moderately recent Windows binaries for some compression-related tools, that are not widely available.)

                                                      Are you perhaps unaware of encode.ru forum? You can look there for some projects that were based on LZ4, like LZ4X or LZ5, and a lot of other interesting stuff, like promising RAZOR - strong LZ-based archiver for instance. You’ll find there knowledgeable people from the field and their insightful posts.

                                                      1. 1

                                                        Giving RAD a run for their money eh? :)

                                                        1. 1

                                                          Sort of. I’m trying to avoid taking them head on because I won’t win that. AFAIK they don’t put much effort into having super fast encoders, which leaves room for me to focus on end to end latency.

                                                      1. 3

                                                        I haven’t used VLC for ages, and even back then I preferred MPC-HC (on Windows) or mplayer2 (on Linux). I’m happy mpv user (on Windows and Linux) since its very beginning.

                                                        Are there any users who use both mpv and VLC often, and could shed a light what VLC has that mpv cannot provide them?

                                                        1. 2

                                                          Opening videos straight from the browsers “open with dialogue”. Using subtitles with VLC is more convenient for me. Few years ago I used VLC more when mpv had problems with some matroska containers, don’t know if this is problem anymore.

                                                          1. 2

                                                            VLC is a bit more Windows-friendly. But on unix, I use gnome-mpv.

                                                            1. 1

                                                              Do you use vanilla mpv or some kind of front-end with it?

                                                              1. 2

                                                                No GUI front-ends. I’m mostly keyboard-oriented user, but mpv’s built-in OSC is actually good too, so sometimes I operate with mouse in mpv window.

                                                            1. 2

                                                              I’m not sure if I should feel embarrassed, but I wasn’t able to tell what language it is about without clicking link to “two posts ago” and later “the first post”, because only then first paragraph mentioned it’s Rust.

                                                              Now I see that there is rust tag here, but sometimes I visit stuff after reading title alone, i.e. w/o looking into tags. And Rust is not mentioned in the post even once. I don’t know, maybe it was a deliberate action to make people click those links at the beginning of the post?

                                                              1. 1

                                                                Ok, I didn’t know that git 2.13 extended includes allowing conditional configuration. Nice stuff, but requires organizing specific directory layout for your repos, which may be already there, but not necessarily splitted between personal and work-related ones, so it may not suite everyone.

                                                                So far I was doing it by having same (personal) ~/.gitconfig everywhere and additional ~/.gitconfig.local, where my personal e-mail was overridden by corporate one. ~/.gitconfig includes ~/.gitconfig.local unconditionally, but I have a small script called gitcon, so I could easily change whether local version should be included (gitcon local 1) or not (gitcon local 0, which simply comments out include entry in ~/.gitconfig).

                                                                1. 1

                                                                  It’s nice that they ported darktable to Windows, even if it’s still an incomplete port.

                                                                  1. 4

                                                                    I’ve been relying on pinboard, but eventually want to use something with higher-fidelity archives. Googling revealed this ‘awesome list’: https://github.com/iipc/awesome-web-archiving

                                                                    Other things I’ve archived in one-off scenarios:

                                                                    • Myspace-era songs where the artist is no longer active and isn’t available for sale.
                                                                    • Talks I liked usually hosted outside of youtube. I’ve noticed some of them disappear over the years, or just want an easier way to stream/sync them (e.g. Engelbart’s Unfinished Revolution: http://purl.stanford.edu/gd223nv1866 )
                                                                    • Academic papers if they’re personally interesting.
                                                                    • Old out-of-print books. I’m more worried about this stuff disappearing than youtube videos.

                                                                    My problem isn’t so much the act of archiving, it’s figuring out how to organize it all to consume it or aggregate it for searching later - I’d like to at least sit down for a few days to comb through all my pinboard tags and give it some better structure (which leads to another thing - I kinda wish pinboard supported tag autocomplete).

                                                                    1. 1

                                                                      Thanks for sharing awesome list and your backup achievements.

                                                                      I perfectly understand your worry for old out-of-prints books.

                                                                      I agree also on how hard good organizing, i.e. useful for further processes on it, like mentioned consuming or indexing.

                                                                      One of my main problems regarding videos I back up, is that I have no solution for properly tracking what I watched already. I watch stuff on various devices, mobile phone, laptop, etc. and because full channel backup can take a lot of space, I have to move most of it to disk, which isn’t on-line all the time, because my home server, from which I watch stuff, has limited storage.

                                                                      1. 1

                                                                        Have you used plex? It sorta tries to track watching, at least to allow you to continue where you left off, and the mobile apps let you sync to watch offline. XBMC/kodi may also do this.

                                                                        1. 1

                                                                          No, I haven’t used plex.

                                                                    1. 1

                                                                      @przemoc Hi, I found this thread since you mentioned Shippable… I’m a co-founder :)

                                                                      You can configure builds on Shippable without putting a shippable.yml at the root of the repository you want to build. While the config is still yml-based, it can live in a separate repository pretty easily. Please reach out to me at manisha@shippable.com and I can point you to a couple of examples of how to do this.

                                                                      We’re also working on a UI based config which will be launched in a few weeks.

                                                                      1. 1

                                                                        I already left similar question to the one I asked here on your page via Conversations box. It was a few days ago and apparently no one was around, so I was asked to provide my e-mail to get an answer later, but I haven’t got any yet. I suggest removing that kind of chat box if you don’t intend to support it.

                                                                        Good to hear that there is some flexibility in Shippable, because I couldn’t find such information in your docs. It would be great if you could share details here. Or is there any specific reason you cannot write about it publicly?

                                                                        1. 1

                                                                          Sorry for the late follow-up from our side to your question on chat. I believe you’re now in touch with our customer success team.

                                                                          To clarify:

                                                                          1. 1

                                                                            No problem, @manishas!

                                                                            Indeed, I am in touch with one of your colleagues. And so far I am a bit disappointed.

                                                                            Let’s visit:

                                                                            There are lacking statuses, even in the latest one commit! And links from those available are wrong, as I get 404!

                                                                            I archived it just in case:

                                                                            For public repos such build job logs, that statuses link to, must be always accessible. They are useless otherwise. (For private repos they have to be accessible too, but not necessarily publicly to anyone for obvious reasons.)

                                                                            1. 1

                                                                              The issue with broken links to build logs was apparently addressed by Shippable.

                                                                              So I archived what we have right now in the sample project:

                                                                              Links are different now, but as older ones gave me 404, new one gives me 404 too.

                                                                              Previously they looked like this:

                                                                              so pretty clear.

                                                                              Now they look like this:

                                                                              https://app.shippable.com/subscriptions/58b5dd45ddd8e8070045dab1/pipelines/builds/5a30c1fccf141c0700bf6cbe/consoles

                                                                              which is HUGE UX regression in naming department.

                                                                              Why so cryptic links for public repos? They should be human-readable.

                                                                              But most importantly they should be simply working, and be accessible for anyone if it’s public repository.

                                                                              I’m honestly amazed that service’s basic features seemingly aren’t working properly.

                                                                              1. 1

                                                                                As I said before, this is not the forum to discuss every single email we are exchanging offline.

                                                                                If you try our mainline CI workflow, the links are human readable and publicly accessible. For example, here is a link to one of my projects : https://app.shippable.com/github/manishas/basic-node/runs/16/1/console

                                                                                I want to again stress that your requirement isn’t a mainstream requirement. UI based config is clunky, un-versioned, and usually considered inferior. YAML based config is becoming the defacto standard, and even traditional tools like Jenkins are moving towards ci config as code.

                                                                                I was trying to find a creative way make our platform work for your scenario, but maybe your needs are too specific. Good luck with your search!

                                                                              2. 1

                                                                                @przemoc you’re right that build results for public projects should be public. That is EXACTLY the behavior when you put the shippable.yml at the root of your repo. Most customers want the config yml in the same repository since that keeps source code and build pipeline in the same place.

                                                                                The workflow our customer success team suggested is an alternative workflow since you had different requirements and wanted to separate config from source code.

                                                                                Anyway, since our customer success team is helping you over email, let’s take it there.

                                                                                Overall, I am very disappointed in your communication style. Our customer success lead Ambarish specifically put together a sample for you and has been very responsive in clarifying all questions and issues, including the ones you raise above. I am not sure you have even forked the sample and tried it one time to see if it meets your needs. You should obviously find the best alternative that works for your scenario and needs, but some politeness in the process is always well appreciated.

                                                                                1. 1

                                                                                  Let me respond here to both of your comments in one.


                                                                                  Reply to 1st comment

                                                                                  you’re right that build results for public projects should be public. That is EXACTLY the behavior when you put the shippable.yml at the root of your repo.

                                                                                  So why the behavior isn’t the same when I put the file in other repo? In your first comment on my thread here you wrote:

                                                                                  You can configure builds on Shippable without putting a shippable.yml at the root of the repository you want to build. While the config is still yml-based, it can live in a separate repository pretty easily.

                                                                                  So can it live in a separate repository pretty easily or not? Apparently not, because it’s no longer functioning that well. Now I read that:

                                                                                  The workflow our customer success team suggested is an alternative workflow since you had different requirements and wanted to separate config from source code.

                                                                                  So why there was no information that build logs won’t be publicly visible from the very beginning?

                                                                                  Anyway, since our customer success team is helping you over email, let’s take it there.

                                                                                  I hoped so, but after reading your next paragraph, I couldn’t remain silent.

                                                                                  Overall, I am very disappointed in your communication style. Our customer success lead Ambarish specifically put together a sample for you and has been very responsive in clarifying all questions and issues, including the ones you raise above.

                                                                                  I appreciate that some sample was prepared specifically for me to show that what I wanted is possible with Shippable, but in fact it was not working, not even close. When you give someone sample you make sure it works. That’s the whole point of the sample. But let’s look back and see if what you wrote really holds value.

                                                                                  2 days ago, ~1.5h after getting first mail with the sample from customer success team (which was written to me in response to my question asked via conversation box few days before that), I replied that build links return 404.

                                                                                  The issue was completely skipped in response from Ambarish (which he sent 3 hours later).

                                                                                  Next day I replied mentioning another issue (which I didn’t catch before, because I was using smartphone when I was answering the first time, and mobile view on GitHub is limited): there are no commit statuses next to recent commits. And I repeated that I’m getting 404 errors when I try to see build logs from the commit statuses that are present.

                                                                                  First paragraph of response from Ambarish gave me some hope: “The links to the statuses are broken indeed! We are fixing this bug ASAP. “ 3.5h later there was a follow up message: “We have addressed the issue with the broken link. I had missed the showBuildStatus: true attribute on the gitRepo resource. The commit status links are correct now. You can fork the repo and try it out.”

                                                                                  Now I thought that maybe my first impression with the sample was wrong and Shippable actually seem to care after all. That’s nice. So I rechecked the repo. Finally there was a commit status next to the latest commit. I hovered over the tick icon and first thing I noticed was horrible and cryptic URL that I mentioned in my other comment already. So I clicked it. And guess what? 404.

                                                                                  So I replied mentioning that I am still getting 404 error when trying to visit build log. I also complained about needlessly cryptic URL for public repo, as they should be human-readable, and I reiterated: “But most importantly they should be simply working, and be accessible for anyone if it’s public repository.” Lastly, addressing forking invitation I simply stated: “There is no point in me forking the repo, if you cannot show that Shippable works even for some simple sample project.” That may sounded harsh indeed, but how can you react when someone tries to convince you that something works while it doesn’t really. Having build logs and looking into them are basic features in that kind of service for public repositories. At that time I was honestly amazed that they seemingly aren’t working properly.

                                                                                  In response Ambarish sent me “let me explain the whole story with the timeline”-mail. It sort of explained why commit statuses for older commits had wrong URLs. He ended mail saying that they will fix how URLs to build logs look like and make them more concise and gave me example: https://app.shippable.com/github/ambarish2012/jobs/basicnode_ci/builds/5a30c1fccf141c0700bf6cbe/console

                                                                                  There was one thing that was sorely lacking in his mail. The matter of 404 error I was still getting for build log for latest commit (e4fa8ae) was not even mentioned!

                                                                                  I got really irritated (who wouldn’t be at that point?). In the reply I wrote some of my paragraphs looked like this:


                                                                                  > 3. I then specified  showBuildStatus and the status links started getting
                                                                                  > posted correctly.
                                                                                  
                                                                                  If they're posted correctly now, why they're not working?
                                                                                  
                                                                                  404 means PAGE NOT FOUND (I hope you know that common knowledge).
                                                                                  And I get 404 for clicking the status icon next to your latest commit (e4fa8ae).
                                                                                  I even provided page archives so it would be clear.
                                                                                  
                                                                                      http://archive.is/RXXgC - commits page
                                                                                      http://archive.is/JjV6I - "build log" that redirects to 404
                                                                                  
                                                                                  Have you checked it?
                                                                                  
                                                                                  If the link to build log doesn't work, then it's useless as I wrote earlier.
                                                                                  

                                                                                  > https://app.shippable.com/github/ambarish2012/jobs/basicnode_ci/builds/5a30c1fccf141c0700bf6cbe/console.
                                                                                  
                                                                                  That will be an improvement, definitely. But why basicnode_ci?
                                                                                  It's true that's where config is placed, but you're building
                                                                                  basicnode, so it should be reflected in the URL.
                                                                                  

                                                                                  At the end I'll repeat what I wrote earlier.
                                                                                  
                                                                                  Please fix the links to build logs.
                                                                                  
                                                                                  Even bad looking link is better than good looking, which returns 404.
                                                                                  So far all links are bad.
                                                                                  

                                                                                  I'm on the verge of becoming indifferent at this point, because I'm
                                                                                  mentioning about broken links to build logs from a few mails back and
                                                                                  they are all still broken, including the latest ones supposedly
                                                                                  generated after fixing configuration. I don't know why you are unable
                                                                                  to fix it for that long time. It's core feature, isn't it?
                                                                                  

                                                                                  Surely that wasn’t an exemplary mail of politeness, but I was barely keeping my composure in check considering how communication looked so far.

                                                                                  Today I finally got response:

                                                                                  I perfectly understand what a 404 is :). The reason the link is a 404
                                                                                  for you is because you are not a member of my organization in GitHub.
                                                                                  Basically, I have created a simple pipeline to build my repository and
                                                                                  to see my pipeline, you need to be a member of my organization.
                                                                                  
                                                                                  We can get into the details why you need to be a member of my
                                                                                  organization to view my pipelines as well if you like.
                                                                                  

                                                                                  I’m baffled. Why we’re talking about some organizations all of a sudden? You were building public repo, right?

                                                                                  So things are apparently much more complex in Shippable than supposed to be and that were presented at the beginning. Well, it could be fine. But!

                                                                                  • Why not being straight from the beginning?
                                                                                  • Why no mention that I won’t be able to see build logs from sample application from the very start?
                                                                                  • And why no explanation what is the reason that you can view build log of public repo if its config is in the repo, but not if the config is in separate repo?

                                                                                  And regarding this very particular mail strictly, there are questions that immediately pop out after reading it:

                                                                                  • Why proper answer to my 404 error reports was avoided for so long?
                                                                                  • Why details of why you need to be a member of organization to view pipeline weren’t shared within this mail?

                                                                                  Does anyone reading my comment still believes that customer success team was “very responsive in clarifying all questions and issues, including the ones you raise above”?

                                                                                  I simply cannot agree with it. At the beginning I thought there is a genuine will to help me via showing how Shippable is capable of doing what I want. But with each further mail it seemed like it’s getting dragged for some reason (not in a strictly time-manner, but rather in a way how crucial information was (not) shared and how some of my issues were constantly skipped) and my main problem wasn’t addressed until the very last mail, and in fact only partially, as I am apparently supposed to ask one more time to be explained why it is like it is… And I mentioned so many times in my mails that build logs for public project must be available to anyone that it’s more than obvious that I would like to finally know these damn details, i.e. how is this sample application so different from “Most customers want the config yml in the same repository” case, that it cannot provide public build logs?

                                                                                  I started providing reports about Shippable in my thread here, because I hoped it would end up with success story - look, they reached me out and showed it can be done with Shippable. So everyone reading the thread in future would know that Shippable cares about their customers and delivers, even to non-paying ones wanting to build open-source projects there. But my hope was premature.

                                                                                  You say you are very disappointed in my communication style? I’m very disappointed that you sugar-coat how great communication looked from Shippable side.

                                                                                  I am not sure you have even forked the sample and tried it one time to see if it meets your needs.

                                                                                  I clearly stated that I didn’t fork it and I also explained why.

                                                                                  You should obviously find the best alternative that works for your scenario and needs, but some politeness in the process is always well appreciated.

                                                                                  I was polite, but I don’t deny I got irritated at one point.

                                                                                  Reply to 2nd comment:

                                                                                  As I said before, this is not the forum to discuss every single email we are exchanging offline.

                                                                                  That wasn’t my intention. I do believe, though, that open-source software and services for OSS need to be transparent and open, that’s what makes them best. You showed up in my thread stating that Shippable is up to my needs, so it was only natural that I’ll report back if it really is. I was only reporting here the issues I was facing so far.

                                                                                  But after seeing your 2 comments today, I decided I’ll share more details, to make the story more complete.

                                                                                  If you try our mainline CI workflow, the links are human readable and publicly accessible. For example, here is a link to one of my projects : https://app.shippable.com/github/manishas/basic-node/runs/16/1/console

                                                                                  But I was trying what customer success team prepared for me and that was supposed to match my needs. Talking about your mainline CI workflow here is a diversion.

                                                                                  I want to again stress that your requirement isn’t a mainstream requirement. UI based config is clunky, un-versioned, and usually considered inferior. YAML based config is becoming the defacto standard, and even traditional tools like Jenkins are moving towards ci config as code.

                                                                                  I understand that wanting to have configuration outside of main repo that is meant to be built is not a mainstream requirement. Otherwise I wouldn’t post this very question on lobste.rs regarding services that are able to do that.

                                                                                  And I have no clue why are you now talking about UI-based config. It’s another diversion from you. I prefer text-based configuration hands down, and YAML is fine for that. Have I criticized YAML configuration here or in any mail with Ambarish? I did not.

                                                                                  I just want the build preparation config for CI service to live outside of main repo, and if that may require using web UI (which actually doesn’t exclude use of YAML there and possibility of being versioned, right?), then I can still consider it despite my fully-text-based config preference.

                                                                                  I was trying to find a creative way make our platform work for your scenario, but maybe your needs are too specific. Good luck with your search!

                                                                                  Maybe my needs aren’t as specific as you paint and your platform would work for my scenario, but maybe you failed to communicate it properly, simply sell me on Shippable.


                                                                                  Maybe I should have accepted your proposal to mail you directly back then, because you seem to know the platform better, but back then I already left a question a few days earlier via your official site conversation box, so I believed I should go the standard way and wait for the reply, to have experience closer to standard prospective customer (who doesn’t know co-founder’s e-mail). I think it’s more fair that way. You were CCed by customer success team from the first mail anyway, so I guess that my experience was supposedly already meant to be better than most others can expect.

                                                                                  Not even once until today was stated, that supporting config out of the main repo is such a completely different workflow for Shippable, which has its own quirks like lack of publicly visible build logs, even for public repositories. I still don’t know why it is like that. Is it by design? What’s the rationale behind it? Maybe it could be fixed?

                                                                                  The whole discussion would go completely different if in the first mail from Shippable had proper sample, i.e. all needed information were included:

                                                                                  • link to the sample main repo with correct commit statuses,
                                                                                  • link to sample ci repo with correct config from the beginning,
                                                                                  • extremely important paragraph(s) explaining that to achieve such setup very different workflow (than in case of typical config-in-main-repo) has to be used, because typical run jobs work like this… [explanation], but we need here more advanced pipeline jobs (if I inferred correctly from what I read today from you and Ambarish), which work like this… [explanation], which leads us to the problem, that logs for them, that are linked from commit statuses, aren’t publicly visible, because… [explanation].

                                                                                  Then my reply would be simply:

                                                                                  • Can you make logs from pipeline jobs for public repositories publicly visible?
                                                                                  • Can you make URLs to logs from pipeline jobs less cryptic and human-readable?

                                                                                  Unfortunately it didn’t go that well.

                                                                                  I still don’t know answers to many of my questions. My curiosity slightly wants me to continue the mail conversation with Ambarish in hope that eventually they would be answered. My sanity, based on past experience and today @manishas’s comments, objects, though.

                                                                                  1. 2

                                                                                    Can you make logs from pipeline jobs for public repositories publicly visible?

                                                                                    • We’re looking into this issue and will have more information soon. After talking to the team, we need to rationalize how the runSh job type should behave in this situation. As mentioned earlier, the CI job already does this but that doesn’t address your needs.

                                                                                    Can you make URLs to logs from pipeline jobs less cryptic and human-readable?

                                                                                    • They are already human readable. The reason the link in Ambarish’s example said ‘basicnode_ci’ and not ‘basicnode’ is because that’s how he named the job that contained the CI commands. If he had named it basicnode, it would have been showed up that way in the URL.

                                                                                    The runSh job is an Assembly Line job which is not automatically associated with a source code repository, which is why you also have to specify a gitRepo resource as an Input to the job. This is the main reason why I call it ‘not mainstream ci’, since the runSh job was designed to separate repositories from configured jobs.

                                                                                    As an example, you could potentially configure builds for 10 different projects in a single shippable.yml, along with provisioning jobs, deployment jobs, etc and configure a complete end to end workflow for your application.

                                                                                    I hope that clarifies why the build link cannot be tied to a separate project and is simply the job name.

                                                                                    1. 1

                                                                                      Thank you for your answers, it clarifies some stuff. I really like the flexibility that you provide. I may still consider Shippable for use in the future. Hopefully the matter of publicly visible links for runSh job matters will be fixed by then.

                                                                                    2. 1

                                                                                      @przemoc The only reason I reached out is because you mentioned us in the comment.

                                                                                      Since you’ve taken the trouble of explaining your stance, let me explain mine:

                                                                                      • I saw that we could satisfy your scenario, and still believe we can. I was proposing a workflow that I wanted you to look at to see if it had what you needed. It’s perfectly ok if you see something that doesn’t work and choose to move on, but as long as we’re communicating, I expect it to be polite.
                                                                                      • Every time you found something that you either didn’t agree with or in the case of 404 was a bug, your responses were not very polite…. for example, instead of saying: I want builds for public projects to be visible to everyone, or, Why am I getting a 404?, your response seemed to be similar to this : I get a 404!! Even basic services do this and without it it’s all useless, etc etc.
                                                                                      • These type of statements do not give me confidence that you’re trying to understand why something works a certain way or to point out a bug… it sounds pretty hostile and condescending when in all actuality, we have these features working perfectly for the mainline scenario and were happy to investigate and try to address anything you needed even in the proposed workflow.
                                                                                      • Your message above is a great example of why I am frustrated. Now you’re accusing me of hiding things or not being upfront. Our customer success process is through a github repository or over email. I cannot come here and keep responding to every comment you post here when the exact same conversation is also happening over email. If your goal was to keep folks updated, you could have completed our conversation over email and posted a recap here at the end of it. Do you really want me to conduct customer success activities here? That’s not a reasonable request and I’ll challenge you to find any SaaS companies that even went to the extent we did.
                                                                                      • Another great example of your responses when Ambarish forgot to copy me on one email. You could have just copied me again and moved on. Instead your first instinct is to assume he either doesn’t understand or did it on purpose : “If she asked you to remove her, then it’s fine, but if not, then you shouldn’t do that, as it’s bad practice.” “
                                                                                      • Another example: “404 means PAGE NOT FOUND (I hope you know that common knowledge).”

                                                                                      Your statements were pretty condescending to Ambarish and while I understand you were frustrated, he is too good an engineer to be talked to this way. I felt compelled to stand up for him.

                                                                                      At the end of the day, we got off on the wrong foot. This is the first time, in 4 years of running the service, where I have felt compelled to stand up for my team and just say that communication needs to remain polite and respectful. I am happy to continue the conversation over a call or over email, but I won’t be visiting this board to litigate this further.

                                                                                      Good luck and I hope you find a service that fits your needs.

                                                                                      1. 1

                                                                                        Yesterday, before I sent my comment in response your other comment, where you wrote answers to my questions, I replied here. It was a longer comment (not as long as last time, thought), where I was addressing your points. But it’s not here, not sure what went wrong, and I don’t have the willpower to recreate it. I’ll only recreate what I wrote at the very end of it.

                                                                                        I apologize for all the words I’ve written that you think were rude, inappropriate, or condescending. I’ll apologize Ambarish personally tomorrow.

                                                                          1. 2

                                                                            I still use jwz’s venerable youtubedown.pl script for archiving YouTube, even though I have youtube-dl installed for mpv. Still works with nary an update.

                                                                            If a site is small or eclectic enough I’ll spider it with wget, but there’s been a few times where I’ve had to spend a few hours finding a single archive.org link to save. It’s on my to-do list to write automation for going through my pinboard XML to find broken/moved links, and to find forum posts: ltehacks.com went down a few months ago, and now that I’ve got a Calyx hotspot it would be useful to have those posts for reference.

                                                                            1. 1

                                                                              I haven’t used youtubedown.pl ever, but it’s possibly not as configurable as youtube-dl, so I doubt it will change anytime soon. youtube-dl works fine, is quite well maintained, supports a lot of other sites beside YouTube, etc.

                                                                              Ok, another Pinboard user. It’s like at least half of people commenting here use this service. Isn’t finding broken links already too late (unless you have archival account)? From what I read in other comments it seemed that Pinboard shows if link is no longer reachable, so why your own tool for that?

                                                                              1. 1

                                                                                I have a grandfathered one-time account and no archiving service. Pinboard does not check the links nor add tags in that case, and I have over 20k bookmarks.

                                                                                Sometimes the content has been moved slightly, (esp. if it’s an academic site, ie transitioning away from tilde-user directories) in which case I can usually manually find the content again. Some of them are also “read later” shortened Twitter/newspaper links from when I’m on my phone on the run, so a dead link in that case is “oh well, delete”.

                                                                            1. 2

                                                                              My archives show long stretches of using Firefox’s Scrapbook Autosave, which would save every page I visited. But there are also multiple interruptions caused by the extension breaking, or by (the last time) Firefox breaking it.

                                                                              1. 1

                                                                                Thanks for mentioning this Firefox add-on.