1. 1

    Ask for their credit card numbers. Ask for their passwords. Ask for the path their children take to school. Ask if they have a really good opinion of a particular car maker. Then ask if they woudl like the dealer to know that when they walk in to buy one.

    1. 25

      Ya boy is getting married!

      1. 4

        Confusion to your enemies!

        1. 2

          Congratulations!

          1. 2

            Congratulations! My wife is my better half in more ways than I can count :)

            1. 2

              Congratulations!

              1. 2

                Congratulations!

                1. 2

                  That’s awesome! Have a great time and congratulation on your wedding!!

                1. 1

                  Catching up on MIT’s Programming with Categories lectures (Bartosz and company).

                  1. 6

                    Yossi Kreinin wrote an interesting article where he challenged people to implement matrix algorithms in a type-safe way. His conclusion was many of them had intermediate steps that were very hard for most type systems to handle.

                    Have you considered using contracts for catching errors?

                    1. 2

                      Interesting, but I think if I could have type checking for all the functions I write that wrap around linear algebra primitives, I could limit the opportunity for that class of errors to a manageable subset of my code. And then have confidence in all the functions that wrap around my functions.

                      Not perfect but a vast improvement.

                    1. 2

                      There is static typing for Python provided by MyPy.

                      1. 2

                        If Pandas was friendly to type annotations I would be a happynerd.

                      1. 5

                        Fortran 77?

                        A little more seriously, a lot of this depends on what sorts of errors you expect to catch. Syntax is one thing, but like do you want something to catch ill-conditioned or singular matrices or something?

                        1. 2

                          But why mention f77 if Fortran 95 seems already available as free software and has modernized syntax, among other improvements?

                          1. 1

                            If you could statically encode information about each variable in a scientific computation, the benefits would be immense. For example:

                            `double WindSpeed; // Wind speed in m/s, not adjusted for air density ` 
                            

                            versus: wind_speed_raw_m_per_s WIndSpeed;

                            You could make sure that no wind speed measurement would be used as an input for a. function if it is not 1. a wind speed measurement, 2. in meters per second, 3. not yet adjusted for air density. You could do this with Python and type annotations except that annotations are hard to add to anything in the Pandas et al ecosystem. And if you could do it, I’d ask for half of my hours to be allocated to something besides QA and be much happier.

                            (I should add, this would be just the tip of the ice berg. )

                            1. 4

                              F# has units of measure :)

                          1. 2

                            Pulling my BBB out of mothballs so it can start doing stuff for the home network.

                            1. 1

                              Your Better Business Bureau? :) What’s a BBB?

                              1. 3

                                BeagleBone Black perhaps?

                                1. 1

                                  Beaglebone Black. I plan to use it for a TOR SSH daemon so I can SSH to my home stuff. And have it run a sync between my Flickr/Google/Shutterfly photo backups

                                  1. 1

                                    How does that work if you don’t mind my asking? Do you run an exit node with egress and ingress heavily restricted?

                                    Ah, just looked it up. You run it as a Tor hidden service. That’s super interesting!

                              1. 4

                                Finishing my slog through Daniel Jackson’s Software Abstractions book on Alloy. Next month starting on Z3 or TLA+/PLUSCAL.

                                1. 3

                                  Week 2 of the sprint. QA duties are ramping up, BUT, I just checked in the first Alloy model to my company’s repository, and may have a useful report generated from it in a couple days about our database schema.

                                  Mad props to Hillel and Jay. Could not have done it without them.

                                  1. 2

                                    I’m QA, and it’s week 1 of the sprint, so my duties are relatively light. So, learning more about Alloy. Major shoutout to hwayne for his DB migration example. I can’t really bring myself to walk through the usual formal methods cliches, so practical examples really help.

                                    1. 6

                                      When I tell them, people often say “but you don’t act autistic!” Well yeah, that’s because I’ve spent years learning how to socialize better!

                                      Also, most people don’t realize that autism has physical effects on you too. I’m extremely sensitive to textures and automatically walk tiptoe if I’m barefoot.

                                      1. 4

                                        A lot of non-autistic people don’t really seem to internalize the fact that social skills are, in fact, skills that can be learned and practiced. They do it all the time for special-case scenarios like giving presentations or trying to sell something, but the idea of doing it for “normal” things like sitting down and having coffee with someone, or participating in a conversation involving more than three people, doesn’t occur to them.

                                        1. 3

                                          For me it’s hearing and textures. I can hear conversations clearly across a room, and certain food will make me physically sick if I try and eat it when prepared a certain way.

                                          The loud noises meme is no joke, I end up wearing some form of headphones in offices at all time to drain out noise because my head picks up everything.

                                          1. 1

                                            I hope you’ve had. an ortho look at you head to toe to mitigate the consequences of a lifetime of toe walking. If not, do it now. When you reach my age you’ll be glad you did.

                                          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. 10

                                                  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. 4

                                                    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

                                                      None of the environments you mention above require millions of dollars of investment to operate.

                                                      OP explains why building alternatives can accelerate the problem rather than fixing it. This is probably unavoidable: Lisp, Smalltalk, Rebol, and Forth have not become the ‘new normal’ because they have not become widely taught the way C, C++, and Java have, and they haven’t become widely taught because teaching programming is treated as a way to produce new professional software engineers rather than as a way to produce well-rounded people. Unless you have the power to force a thousand universities to change their curricula against the will of professors and administrators, the best you can do is combine a demonstration with a manifesto and keep plugging it.

                                                    2. 2

                                                      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. 11

                                                            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).