1. 23

    You can also support the youth led climate strike on September 20th.

    Global: https://globalclimatestrike.net/#join

    United States: https://strikewithus.org/

    If you’re in San Francisco California and want to participate feel free to send a DM.

    1. 19

      I believe that trying to live more ethically individually has very little impact compared to being involved in direct political action. We have to force government to act rapidly and dramatically to limit the factors that will end life as we know it if left unchecked. We have to be in the streets and we have to make it too expensive for them to ignore our voices.

      1. 2

        THIS. Those of you in BOS, I hope to see you outside CIty Hall on the 20th.

      1. 5

        Streaming video is the most energy consuming activity of the avg software consumer. Stop watching pornography. Lead by example.

        EDIT: most energy intensive web activity of avg software user.

        1. 2

          Literary erotica/smut is energy efficient, especially when delivered as plain text.

          1. 3

            Save the world, read ASSTR!

        1. 8

          Reminded of Rob Pike’s 2000 Systems Software Research is Irrelevant, not because they espouse the same viewpoint, but because both fill me with a sense of potential and wonder. Things could be so different if only we could lift ourselves out of our current quagmire of thought.

          1. 3

            Things could be so different if only we could lift ourselves out of our current quagmire of thought.

            To overcome the current thinking, you must design a programming environment that is small, extensible, and reasonably performant. It must speak to a different needs than most industrial languages, favoring individual power over institutional concerns.

            This has all been done before: Lisp, Smalltalk, Rebol, Forth, Wirth, etc. The only missing ingredient in most hacker’s minds is the imagination required to see that their computing substrate should not require millions of dollars of investment to operate.

            That, unfortunately, is a much harder problem to solve.

            1. 1

              The reason most of us are in a quagmire of thought is that it’s how we earn our paychecks. Improvements in software change just what it is that we’re working on in the quagmire. I call it the aggravation conservation law.

            1. 16

              So I did the fMRI study on tulpamancy. I also got a 3D image file of my brain that I then crunched in FreeSurfer to create a 3D model. It’s like 600,000 triangles or something ridiculous like that. I gave the model to a gamedev friend and I got this back. I’m gonna writeup the process and see if I can get the gamedev friend to explain how the expanding brain meme video works.

              EDIT: blogpost explaining how i got here is up: https://christine.website/blog/brain-fmri-to-3d-model-2019-08-23

              1. 4

                You should get a 3D-printed copy.

                1. 3

                  Just waiting on a coworker to print it at this point!

                  1. 2

                    I have my daughter’s NIFTY file from when she got scanned for an academic study. I’ve been meaning to 3d print it but they cut off her nose and the top of her head.

                2. 1

                  Cool post. FYI video embed also wasn’t working for me in Chrome, but it works fine in Firefox.

                  I also did brain scan this year and it was extremely uncomfortable. For those who haven’t tried: you are locked in a partially-enclosed tomb, with your head strapped between two large magnets. The machine intermittently hums and blasts torturous white noise at you for about 20 minutes. You can hear examples on YouTube.

                  1. 1

                    I actually found it really nice. The machine was loud, sure, but the noise was regular enough I could use it to time breathing. I was in the fMRI machine for a total of three hours and almost fell asleep in it several times. I liked it to be honest, it was peaceful in its own way; regardless of the stepper motor possessed by angry dialup modem sounds. I just laid in there and meditated in-between tasks.

                    1. 1

                      Three hours! I am failing to find the descriptor (I don’t think “stoic” quite fits here) but whatever it is you have, I envy you for it!

                      1. 1

                        I just meditated in it yo, following the breath is peaceful as heck. No distractions makes it so much easier to.

                1. 3

                  Scientists IME tend to be smart and don’t mind grinding away at a problem. This can lead to terrible code.

                  When I was working on a scientific codebase, the parts written by scientists were immediately obvious because they were so incredibly complex. Tons of global state, a lot of repetition, functions running 100s (or 1000s) of lines.

                  I tend to have to write relatively clean code (IMO) because I’m not that smart and I’m easily annoyed. I can’t keep track of 53 global variables whose state is constantly mutated, and if I have to change something in more than 2 places, it bugs he hell out of me.

                  1. 3

                    It’s not that they’re smarter, it’s that the complexity is a representation of the domain they’re working in, which is at the top of their minds at all time. You, meanwhile, have to dive in, figure things out, fix things, then hop to someone else’s code base representing some other domain.

                  1. 10

                    Totes in favor of getting scientists to write higher quality, better tested code! In part because I don’t think this is the worst case:

                    However, I can tell from personal experience that badly written code tends to break. Break a lot and unexpectedly. […] The code runs without producing an error and the result displayed on your screen is utter nonsense.

                    The worst case is that you get a result that is sensible but wrong. Then you’ll use it and get wrong results in your paper. Results like, say, austerity is good policy.

                    1. 2

                      This concerns me quite a bit too. Researchers are pretty good at peer reviewing each others’ experimental designs, methods, and reasoning, but I’ve never heard of peer reviewers scrutinizing code. And as the article points out, a lot of researchers are novice programmers. (I know several who are self-taught; Python and R are favorites.) I’m unsure how much exposure they get to norms of other development communities.

                      What concerns me most is that in order to validate a piece of software (e.g. write tests for it) you need to know what the expected outcome is. If you’re doing scientific modeling, you don’t necessarily know what to expect. That’s why you’re writing the model in the first place! Ideally you validate the model against known data first and squint at it to make sure it’s within bounds, but automated tests that deal with randomized scenarios and still aren’t flaky take skill to write.

                      Maybe we can get some kind of partnership going where researchers teach more experienced programmers about the needs of research computing, and the experienced programmers help with code reviews (primarily looking at correctness issues.) And of course you’d want people who are in the intersection of those two groups leading the effort. :-)

                      1. 4

                        I kind of sort of do it for a living, and as Hillel puts it, yes, code that crashes worries me far less than code that gives out the wrong results.

                        What I validate is the relationship between the modeler’s intent and his code. The methodological soundness of his intent is not my department. So to test it I use frozen inputs and check the outputs. Out of sample testing to test the model ? That’s done by the lady two cubicles away from mine.

                        1. 2

                          Can you tell me more about what your position entails? I assume you’re not getting paid to review models in academic publications… maybe working in some research department somewhere?

                          1. 2

                            My company produces wind power forecasts for prospective and operating wind farms. Meteorologists design the models, and evaluate the models. I just make sure their code matches their intentions.

                    1. 2

                      Die, floppy disks. DVDs and audio jacks: you’re next.

                      Just kidding about the audio jack.

                      1. 4

                        I bought a new phone recently, and I was so mad (at Google, but also at myself for not checking) to find that I had to use USB-C headphones and that I had to install and configure them before they worked. Why is this necessary? (It reminded me of the first USB key I got in ~1999—it was utterly useless because I needed to install drivers for every machine I used.)

                        1. 10

                          Not only that, I’ve seen people move their USB Type C 3.11 for Workgroups with Power Delivery charger around each port of their computer to try and find the one which will actually accept power. There are tiny dark-grey-on-black hieroglyphs next to each port on my new laptop marking which ones are USB Type C 3.11 for Workgroups with LightningStrike or Thunderbolt OSR2 Enhanced or whatever it’s called, while others are USB Type C 3.11 for Workgroups with DisplayPort alt-mode LTS Edition. Thank god my eyesight is in normal human range; I’d hate to try and work this out with vision difficulties! The laptop will only boot from USB Type C 3.11 for Workgroups Mass Storage Edition on certain ports, and blithely ignore boot media in others. This is unmarked and undocumented, so my passable eyesight is no help here.

                          The cable situation is even worse. There are a zillion different types of cables, which are supposed to have markings (i.e., black-on-black embossings that nobody will be able to see). These will allegedly identify which cables are base USB C 3.11 for Workgroups, and which ones support delivering a value meal along with your data, or whatever other hare-brained scheme they cram in there next. Presumably they’re following the logic of whoever makes SD cards: make them look like NASCAR jackets and maybe people will learn what all the weird symbols mean. But of course most of the cables are made in China and are totally unmarked, so the iconography is moot. The only cable you can trust is the one that came with your gizmo.

                          We’ve gone from having function-specific ports that were visually distinct, though an all-too-brief golden age of “match the plugs and it’ll probably work”, to a bunch of function-specific ports which all look the same. Anyone involved with USB C 3.11 for Workgroups should be deeply ashamed of themselves, with the exception of that Benson guy who calls people out on their terrible cables.

                          1. -1

                            Not only that, I’ve seen people move their USB Type C 3.11 for Workgroups with Power Delivery charger around each port of their computer to try and find the one which will actually accept power.

                            So rather than acknowledging that when companies do the right thing, and make all USB-C ports accept power, it’s easier for the user, you instead choose to blame the standard which allows said ease of use, on the shitty manufacturer who implemented it in a half-assed way to save a few dollars.

                            The laptop will only boot from USB Type C 3.11 for Workgroups Mass Storage Edition on certain ports, and blithely ignore boot media in others

                            Yet again, completely unrelated to USB - your laptop is a POS.

                            We’ve gone from having function-specific ports that were visually distinct, though an all-too-brief golden age of “match the plugs and it’ll probably work”, to a bunch of function-specific ports which all look the same.

                            We’ve gone from dozens of single-use ports that are fucking useless for the user if they don’t happen to have that type of peripheral, and will make the peripheral useless with their next computer because the specific set of single-use ports will have changed and converters are simply not practical or available, to the ability for manufacturers to provide ports that are multi-purpose, and can connect multiple legacy single-use ports with inexpensive, readily available adapters.

                            This same argument (single-use ports are better) is made about even expensive laptops, like the MacBook Pro. People whine and whinge about the lack of HDMI and fucking SD card readers - and ignore that they’re completely useless for a whole bunch of people.

                            1. 3

                              So rather than acknowledging that when companies do the right thing

                              I have literally never seen anyone do this completely right.

                              You instead choose to blame the standard

                              No, I blame everyone. You know this industry: the ideal world specified by a standard and the set of implementations people must interoperate with are often two distinct worlds.

                              […] connect multiple legacy single-use ports with inexpensive, readily available adapters.

                              The few adapters I have seen have neither of these properties. Sitting a laptop in a plate of dongle-spaghetti is not an improvement. And then you have to break out your magnifying glass to find out whether this particular adapter talks DisplayPort alt-mode or DisplayLink. Reading online, one is painless and the other is impossible.

                              Oh, and: this is painful enough for people who work with tech for a living. I feel for all the normal people who have had this shoved onto them; I have no idea how anyone not immersed in this stuff could make head or tail of it.

                              1. 1

                                I have literally never seen anyone do this completely right.

                                Apple’s TB3-supporting computers all do it “right”, and even their now-discontinued Macbook (which had USB-C but not TB3) did it “right”, from what I can see.

                                The few adapters I have seen have neither of these properties.

                                Few? Have you actually looked for any? USB-C to <Insert combination of USB-A, Ethernet, Some form of video, Some form of card reader> are ridiculously common amongst accessory makers.

                                Sitting a laptop in a plate of dongle-spaghetti is not an improvement. So, before USB-C was a thing, the devices somehow didn’t have wires? With adapters you’re doing one of two things:

                                • you’re connecting one or more devices via single-port adapters - in which case you just have a slightly longer cable(s); or
                                • you’re connecting multiple devices to a single multi-port adapter - in which case you’ve moved the ‘spaghetti’ of multiple cables away from your computer..

                                And then you have to break out your magnifying glass to find out whether this particular adapter talks DisplayPort alt-mode or DisplayLink.

                                I don’t even understand this complaint, unless you just searched for “weird proprietary confusing display tech” and got a result for DisplayLink. The manufacturers who support it in hardware seem to be limited to those who also make the same shitty decisions like “hey we’ll put 8 USB-A ports, but only 2 of them are high speed, guess which”.

                          2. 1

                            Annoying, isn’t it? And they can’t undo the decision.

                            The flipside is that I just carry around wired earpods in my pocket wherever I go. It’s okayish.

                            I keep telling myself “They need that room on the hardware for other things, like AR.” But I’m unfamiliar with hardware engineering, so that’s just a bedtime story.

                            The worst is that all the adapters for car <-> phone are useless now. And bluetooth cars aren’t really prolific, at least among my family members.

                            1. 1

                              I think the reality is that they save a little bit of money on the BOM by leaving out the jack and associated components, and when they sell thousands/millions of units they earn a bit extra.

                              1. 5

                                Adding to your BOM idea, it’s also more expensive to waterproof an audio jack, from what I have heard.

                                1. 2

                                  I’m not the expert, but I don’t why waterproof headphone jacks would be more expensive than waterproof USB ports.

                                  1. 4

                                    You already need to have a USB port, so a headphone jack is one more thing to waterproof/IP certify.

                                    1. 1

                                      But is the cost of that anywhere near significant on the total cost of developing a new phone that will sell millions of units?

                                      1. 3

                                        Bean counters are that way… There was a managed switch by Ubiquiti where the OS had serial console support, the board had the controller, and even had the RS232 header in place, but the port was not soldered. Some people ended up cutting a hole in the enclosure and soldering the port to it.

                                        That would be a very cheap addition with a lot of value for the customer. But someone probably got a bonus for saving $0.01 per unit.

                                        1. 1

                                          That’s kind of my whole point above.. saving a few dollars on a unit when you expect to sell millions of them adds up.

                                          1. 1

                                            That only considers the cost side. There’s also a benefit side: more people interested / not turned off, so you sell more units. If cost is low enough, adding a feature is a no-brainer. I wonder about the math here.

                                            1. 1

                                              That’s not what is happening though. It would seem that consumers are ‘too invested’ in the Apple brand, for example, to move away entirely from the product line when Apple decides to remove features.

                                    2. 2

                                      Yes, I think it was so claimed by Apple when they got rid of the headphone jack and added IP67 dust and water resistance — both in the same iteration with iPhone 7.

                                      TBH, it doesn’t necessarily make much sense — what’s the big deal with simply designing a proper IP67-rated headphone jack component like they already do with all the other parts?

                              2. 3

                                I’d be fine using Bluetooth everywhere if it actually heckin’ worked. I tried to pair my phone with my car once to play music without an aux cable. Never again.

                                1. 2

                                  What’s wrong with DVDs? They’re now so wide open pretty much anything will play them.

                                  1. 4

                                    DVD-ROMs are okay, but video DVD format builds on top of PAL/SECAM/NTSC analog television with interlacing, which is too harsh legacy. It’s basically a crudely digitized VHS. It have to go just like Kodak Photo CD, despite jpeg, maybe, is even more ancient tech.

                                    1. 3

                                      Image quality is what’s wrong with DVDs IMO.

                                      1. 3

                                        I literally don’t have a device in my house that will play DVDs. I have two 2018 computers (one mini desktop, one laptop), a 2011 laptop, and a 2018 (purchased, probably 2017 model) receiver.

                                        The weird thing is my car will (apparently, I’ve never actually tried it) play a DVD.

                                        1. 1

                                          They lose data very quickly. Even allegedly archival quality DVDs

                                      1. 2

                                        We’re looking for an experienced (senior-level) Python dev (Flask experience a big plus) to work on our front-end middle-end code. Good SQL experience is likewise a big plus. As we’re migrating some old PHP code, it would be nice if you had some experience with that too.

                                        Austin, TX, USA is preferred but I believe (don’t quote me on it) that remote work is possible. US citizenship is required.

                                        PM me for more information.

                                        1. 3

                                          In my day we called it middleware.

                                          1. 1

                                            Python dev with Flask and SQL experience for front-end code? Are you sure that’s correct?

                                            1. 1

                                              “Front end” in this case being “API that talks to our engine on one side and the JavaScript UI on the other.” “Middle-end” sounded weird. The API itself is also going to be directly consumable by customers as well.

                                              1. 1

                                                Friendly advice: the kids will be very confused if you call this front-end. (I didn’t really know this use of “front-end” until pretty recently).

                                                I think language has shifted here. What you’re describing is just a backend web developer.

                                                1. 4

                                                  Ugh, kids these days with their long hair and their rock music and their perfectly reasonable evolution of terminology…..I’ve updated the comment, thank you. :)

                                                2. 1

                                                  Yeah, that’s middleware. Tons of it in enterprise space.

                                                  1. 1

                                                    Middle-end is what I’ve called it at other jobs. :)

                                              1. 1

                                                Is MI5 so demoralized and underpaid? This is failed-state level behavior here.

                                                1. 2

                                                  Pretty sure it’s an April Fools joke, just seemingly not a very funny one. “Wang Kit” was the giveaway for me.

                                                  1. 1

                                                    Selling exploits is how you infiltrate exploit sale marketplaces (which, presumably, they want to do for reasons other than being short of money).

                                                  1. 1

                                                    I wrote a quick Perlk wrapper script as a front end to a certain job queue manager, in the waning years of the last millenium. Google tells me it is still in use where I wrote it.

                                                    1. 1

                                                      My SPrint ends in a code freeze in one hour, and things are not ready, so I think there will be some weekend work happening over the VPN this weekend.

                                                      1. 12

                                                        Much as I like the notion of re-decentralizing social networking, I feel that Mastodon’s emphasis on Twitter-like brevity means it is still part of the problem and not part of the solution.

                                                        1. 11

                                                          Mastodon does not solve 1) the addiction problem of an app with variable rewards 2) short posts leading to stunted discourse 3) virtual dogpiles 4) people talking to similar people 5) the lack of soft disapproval you see in real spaces (with body language, etc) and many more problems. I don’t think it was meant to solve all these problems, however.

                                                          1. 7

                                                            All of these have been addressed to some degree, but generally not in a deep way & generally not until relatively late in the process. Gargron’s focus seemed to be on making a twitter clone, not on engineering good incentives, so unless a problem has been brought up directly his decisions tend to be along the lines of “let’s just do what twitter does”.

                                                            The way #1 and #3 have been addressed has been mentioned below. I should note, with regard to #1, that mastodon’s web interface also has substantially more detailed visibility settings for notifications than twitter’s (and notifications can be disabled entirely), and some instances have patched the interface so that metrics are completely invisible.

                                                            With regard to #2, mastodon started off with 500 character posts, & a number of instances have much larger post size limits. Threading is not handled particularly well, though (and mastodon & pleroma have different threading behaviors).

                                                            With regard to #4, mastodon (and the fediverse in general) is not optimized for creating the kind of inter-community collisions that twitter has. Rando-in-my-mentions problems are a little less frequent. I think, because there’s a tiered community structure rather than a flat one, this makes inter-community communication a bit easier simply on the grounds that it’s generally a decision made by both parties, rather than an imposition by an impersonal algorithm. Mastodon also does not implement algorithmic post ordering – only reverse-chronological feeds – so to the extent that trendism would normally accelerate an echo chamber effect through algorithmic ranking, it doesn’t here (and it’s possible to hide all boosts, as well). (My client, fern, treats boosts as clones of the original post & applies the same read status to it. Since fern operates primarily by jumping to last/next unread post, boosts are functionally only visible the first time you read them or their original.)

                                                            With regard to #5, I think social networks very quickly develop their own forms of soft disapproval. (As an autistic, I gotta say: body language for soft disapproval isn’t unambiguous or reliable enough for me, so I much prefer language-based soft disapproval, which no text-oriented social network elides.)

                                                            1. 3

                                                              Thanks for the info on these points. Ideally, social factors would be considered from day one in the design of any social network.

                                                            2. 4

                                                              The (3) problem is addressed, somewhat. For example, this is why boosts cannot include a reply in them. The rationale being that you either give someone else a voice or you don’t – you don’t get to also imma-let-ya-finish.

                                                              1. 5

                                                                3 is also addressed by making search opt-in instead of opt-out. On twitter it’s common for people to search for topics they disagree strongly with just to get in arguments with random users they would otherwise have no contact with. In Mastodon the search function only works on hashtags, so it’s your choice whether you want your post to be visible in the results or not.

                                                                Similarly 1 is addressed by not showing boost/fav counts in the main view.

                                                                They’re definitely thinking critically about the impact of certain features and how they can have unintended negative consequences.

                                                                1. 3

                                                                  In my experience of running fediverse software for an already established userbase of a website/product (i.e., not tech people), the users are stymied about why there is no quote reply. They genuinely want it.

                                                                  1. 2

                                                                    Yeah, I see it a lot.

                                                                    But I also think it’s a good reason to not have it. I have seen it as the basis for abuse on Twitter.

                                                            1. 2

                                                              Interesting that you omitted the formal methods tag. “If it works, it stops being AI.”

                                                              “If it enters common use, it stops being formal methods.”

                                                              1. 2

                                                                I left it out because this is more akin to logic programming than formal methods in my mind. Maybe the distinction is artificial but formal methods in my opinion extends beyond just logic/relational programming because technically SQL would qualify as formal methods.

                                                              1. 2

                                                                Taking the MIT IAP class on Applied Category Theory, and pressing for my home city to extend an existing bike path

                                                                1. 1

                                                                  Paradoxically, the more software engineers collaborate online to do free creatively labor, simply for the love of doing it, as a gift to humanity, the less incentive they have to make them compatible with other such software, and the more those same engineers will have to be employed in their day jobs fixing the damage

                                                                  Gross mischaracterization in my experience. Part of my job is to submit bug reports to open source projects for issues my employer encounters using various open source products. When my employer’s interests are sufficiently aligned, I allocate some of my working hours to add pull requests along with those bug reports. Naturally I do plenty of duct taping the rest of the day, but that’s not “bullshit,” any more than it’s “bullshit” for assembly line workers to put together parts they didn’t cast out of molten steel themselves.

                                                                  Meanwhile, those OSS participants I collaborate with do have an incentive to make their product more compatible with my duct taping and with other products because that is part of what makes their products better. That is in fact part of what they do as a labor of love. (Unless they’re on the clock, that is.)

                                                                  TLDR: Graeber isn’t looking very closely at how this stuff works.

                                                                  1. 3

                                                                    We are.

                                                                    We crunch wind power and electricity market data, to manage the financial risk of running wind farms and contracting to buy their juice. We do R, Python, SQL, Javascript, to that end. PM me.

                                                                    1. 3

                                                                      Now that Flickr is reverting to a shutterbug site, instead of ad funded cameraphone backup service, my Rustwell project is more relevant to my life and other people’s so I’m going to give it more love this weekend.

                                                                      1. 4

                                                                        Github: programming for fun, that is. Rust is particularly enjoyable in this context because it lets me do really small incremental steps on a project that interests me, and as soon as it builds, it runs, usually correctly, and I can call it a night and turn in.

                                                                        PDFs: there’s always enough fun stuff gettiing posted to open access journals. FInd something, download, read, move on.

                                                                        Reading more generally. Going through Charlie Stross’s oeuvre at the moment.

                                                                        Cycling - it’s hard to fit in by I have a good bicycle commute.

                                                                        Want to do: CAD and 3d printing. Jiu Jitsu. Camping.

                                                                        1. 1

                                                                          Blender. I still owe my kids 3d printed things, but no time this week. Next week, I think

                                                                          1. 3

                                                                            My kids let me Github a little each night, so I’ll be githubbing this weekend a little bit