1. 4

    Would add this classic, with a dad joke title to boot: A Lisp through the Looking Glass

    1. 2

      tl;dr: deflect and avoid saying “no” to superiors

      1. 2

        It’s more like, deflect and avoid an automatic “yes” to superiors.

        Obviously you need to weigh input from organizational heads differently, they have a different context then you do (otherwise what’s the point of em’). They tend to have a broader context, you tend to have a more narrow and detailed context.

        The superiors’ version of this advice is, don’t automatically override the decision making power of your subordinates, they probably have details that you don’t have. This article is full of good advice.

        1. 1

          That is very much not what I’m suggesting.

        1. 3

          https://blog.funcall.org

          Mostly Lisp, with some random vintage systems posts thrown in.

          1. 4

            My Lisp take:

            (defun circular-p (list) (setf *print-circle* t) (eql #\# (aref (format nil "~A" list) 0)))

            1. 3

              YES 🤣

            1. 5

              I’m trying to convince my workplace to get rid of whiteboarding interviews, does anyone know if there are resources for ideas of alternatives? Anyone have a creative non-whiteboarding interview they’d like to share?

              1. 7

                The best that I’ve found is to just ask them to explain some tech that’s listed on their resume. You’ll really quickly be able to tell if its something they understand or not.

                My team does basic networking related stuff and my first question for anyone that lists experience with network protocols is to ask them to explain the difference between TCP and UDP. A surprising number of people really flounder on that despite listing 5+ years of implementing network protocols.

                1. 6

                  This is what I’ve done too. Every developer I’ve ever interviewed, we kept the conversation to 30min-1hr and very conversational. A few questions about, say, Angular if it was listed on their resume, but not questions without any context. It would usually be like- “so what projects are you working on right now? Oh, interesting, how are you solving state management?” etc. Then I could relate that to a project we currently had at work so they could get a sense of what the work would be like. The rapid-fire technical questions I’ve find are quite off-putting to candidates (and off-putting to me when I’ve been asked them like that).

                  As a side note, any company that interviews me in this conversational style (a conversation like a real human being) automatically gets pushed to the top of my list.

                  1. 4

                    Seconded. Soft interviewing can go a long way. “You put Ada and Assembler on your CV? Oh, you just read about Ada once and you can’t remember which architecture you wrote your assembly for?”

                    1. 2

                      I often flunk questions like that on things I know. This is because a question like that comes without context. If such a problem comes up when I’m building something, I have the context and then I remember.

                      1. 6

                        I don’t think any networking specialist would not know the difference between TCP and UDP, though. That sounds like a pretty clear case of someone embellishing their CV.

                        1. 4

                          So if you can’t whiteboard and you can’t talk about your experience, what options are left? Crystal ball?

                          1. 3

                            I like work examples, open ended coding challenges: Here’s a problem, work on it when you like, how you like, come back in a week and lets discuss the solution. We’ve crafted the problem to match our domain of work.

                            In an interview I also look out for signs of hostility on the part of the interviewer, suggesting that may not be a good place for me to work.

                      2. 5

                        A sample of actual work expected of the prospective employee is fair. There are pros and cons to whether it should be given ahead of time or only shown there, but I lean towards giving it out in advance of the interview and having the candidate talk it through.

                        Note that this can be a hard sell, as it requires humility on the part of the individual and the institution. If your organization supports an e-commerce platform, you probably don’t get to quiz people on quicksort’s worst-case algorithmic complexity.

                        1. 7

                          I certainly don’t have code just sitting around I could call a sample of actual work. The software I write for myself isn’t written in the way I’d write software for someone else. I write software for myself in Haskell using twenty type system extensions or in Python using a single generator comprehension. It’s for fun. The code I’ve written for work is the intellectual and physical copy of my previous employers, and I couldn’t present a sample even if I had access to it, which I don’t.

                          1. 5

                            Yup, the code I write for myself is either 1) something quick and ugly just to solve a problem 2) me learning a new language or API. The latter is usually a bunch of basic exercises. Neither really show my skills in a meaningful way. Maybe I shouldn’t just throw things on GitHub for the hell of it.

                            1. 4

                              Oh, I think you misinterpreted me. I want the employer to give the employee some sample work to do ahead of time, and then talk to it in person.

                              As you said, unfortunately, the portfolio approach is more difficult for many people.

                              1. 1

                                I write software for myself in Haskell using twenty type system extensions or in Python using a single generator comprehension. It’s for fun.

                                Perhaps in the future we will see people taking on side projects specifically in order to get the attention of prospective employers.

                            2. 3

                              I recently went through a week of interviewing as the conclusion of the Triplebyte process, and I ended up enjoying 3 of the 4 interviews. There were going to be 5, but there was a scheduling issue on the company’s part. The one I didn’t enjoy involved white board coding. I’ll tell you about the other three.

                              To put all of this into perspective, I’m a junior engineer with no experience outside of internships, which I imagine puts me into the “relatively easy to interview” bucket, but maybe that’s just my perception.

                              The first one actually involved no coding whatsoever, which surprised me going in. Of the three technical interviews, two were systems design questions. Structured well, I enjoy these types of questions. Start with the high level description of what’s to be accomplished, come up with the initial design as if there was no load or tricky features to worry about, then add stresses to the problem. Higher volume. New features. New requirements. Dive into the parts that you understand well, talk about how you’d find the right answer for areas you don’t understand as deeply. The other question was a coding design question, centered around data structures and algorithms you’d use to implement a complex, non-distributed application.

                              The other two companies each had a design question as well, but each also included two coding questions. One company had a laptop prepared for me to use to code up a solution to the problem, and the other had me bring my own computer to solve the questions. In each case, the problem was solvable in an hour, including tests, but getting it to the point of being fully production ready wasn’t feasible, so there was room to stretch.

                              By the time I got to the fourth company and actually had to write code with a marker on a whiteboard I was shocked at how uncomfortable it felt in comparison. One of my interviews was pretty hostile, which didn’t help at all, but still, there are many, far better alternatives.

                              1. 1

                                I’m a little surprised that they asked you systems design questions, since I’ve been generally advised not to do that to people with little experience. But it sounds like you enjoyed those?

                              2. 1

                                There are extensive resources to help with the evangelism side of things.

                              1. 1

                                Related to anaphoric macros.

                                I like the improved style vs. Graham’s implicit bindings, but for whatever reason binding conditionals in Lisp never gained traction. Perhaps they are just harder to read.

                                1. 1

                                  These are(were?) super common in Clojure, fwiw. I can’t fathom a reason they ‘d be popular in Clojure, but not in Common Lisp, other than one having a Lisp-1 and a community that hates typing more characters than necessary…but in that case, the implied ‘it Would be better….

                                  1. 1

                                    I can’t fathom a reason they ‘d be popular in Clojure, but not in Common Lisp

                                    They’re included in the Clojure standard library, but you have to write them yourself in CL (or use a library). That’s probably why.

                                    1. 1

                                      Right. The barrier to entry is far less in Clojure, but the idea of binding conditionals was not new in Clojure. So there was lots of opportunity for CL users to adopt it, and for it to end up in SBCL’s standard library, or be a quicklisp library away. That seems to have not happened.

                                1. 4

                                  Nothing specific! My app has been finished and as of $work, my bureaucracy filled vacation starts. Considering to finally add progressive image support to Common Lisp JPEG library. Long overdue really but not sure I’ll even have time to look until Friday.

                                  1. 16

                                    Option #4: Start a product business (the right way)

                                    Did the author ever run a business?

                                    The most realistic chance of working less than 35 hours is slacking off somewhere as a salaried employee.

                                    1. 5

                                      Slacking usually requires you to be in n office, so you’re still working

                                      1. 15

                                        This is where it gets philosophical. Sure you can’t go hiking or do parenting in that time. However people playing games, reading books, solving puzzles and even building entire parallel careers in their nominally work time aren’t unheard of.

                                      2. 3

                                        Exactly, when I ran my own startup, it was like working at 2 jobs. Always something to do, fix, research, discuss, plan, etc.

                                        1. 2

                                          It depends on the business, though. I know people with couple moderately-successful iOS apps where yes, they do some support nd bugfixing, but can do it on their own schedule and the money comes it “on its own”.

                                          Startups are a particular kind of product company that is high-pace. But small-businesses can also exist.

                                        2. 2

                                          He did found a startup in the early 2000s.

                                          1. 1

                                            And it failed! Because we did it the wrong way. But Amy Hoy has done it the right way, and teaches how, which is why I linked to her stuff.

                                            Also note that VC-backed startups are very definitely NOT the way to get decent working hours as a founder. It’s totally possible to work decent hours (<40) as an employee, as I’ve done at last three jobs.

                                        1. 5

                                          Just want to express my gratitude to the author for the series.

                                          As a C++98 survivor, any C++ post made me throw up a little bit for a long time. These series convince that C++ is a lot nicer now, if we forget about all the ugliness introduced by the committee before.

                                          1. 4

                                            The last time I was paid to write C++ was 2011, and after that job, I vowed to never write C++ again. However, the lastest revisions have mellowed my antipathy for it, so yeah, I’m with you :)

                                            1. 3

                                              He’s been responsive to me on Twitter about the series (https://twitter.com/PowerDNS_Bert). Very nice guy.

                                            1. 5

                                              Finished subscriptions handling in my app, rolling out TestFlight beta version for now. So this week is cleaning up the UI, code, adding more elaborate error handling, cosmetic touches. Hope to make my first submission to App Store by the weekend.

                                              Work, studying and experimenting with Precision Time Protocol and its possible use in a product.

                                              1. 7

                                                1900: people going around on horses, public lightning using gas.

                                                1960: cars, jet and nuclear powered airplanes, satellites, semiconductors, computers with LISP and COBOL compilers, antibiotics, fiber optics, nuclear fusion experiments (tokamak)

                                                2020 - another 60 years and do we really have to show?

                                                1. 11

                                                  Compared to “commonplace” things like cars and antibiotics? Internet, GPS, maglevs, a vast array of surgical techniques, the absence of smallpox…

                                                  Compared to “works but government and academia only” things like satellites and compilers? Hololens, quantum computers, drones, railguns, graphene, carbon nanotubes, metamaterials…

                                                  Compared to “wildly experimental and probably won’t ever happen” things like tokamak and nuclear airplanes? Probably a lot of classified shit. Antimatter experiments at LHC. Arguably a lot of work with AI

                                                  1. 4

                                                    Maglevs were invented in 1950s and first operated in 1970s. I also don’t have anything made from graphene, or know anyone who knows anyone owning a graphene artefact.

                                                    More importantly, none of that is imagination shattering from 1960s point of view. We do not have things mid-century people couldn’t come up with.

                                                    1. 1

                                                      More importantly, none of that is imagination shattering from 1960s point of view. We do not have things mid-century people couldn’t come up with.

                                                      Antibiotics, heavier-than-air flight, cars, and computers (if you count Jacquard Looms) were all demonstrated before the 1900’ss. They weren’t imagination shattering from a 1890’s point of view.

                                                      Even the internet isn’t imagination shattering from an 1890’s point of view.

                                                      1. 3

                                                        Antibiotics, heavier than air flight, and a programmable computer were not demonstrated before 1900s.

                                                        1. 3
                                                          • We first observed that bacteria didn’t grow in the presence of mold in the 1870’s.
                                                          • The first manned, powered heavier-than-air flight was 1890.
                                                          • The Jacquard Loom had programmable loom patterns and was 1804, and the first programmable reading of data was the US 1890 Census.

                                                          Do any of these look close to what our modern conceptions of these things are? Not really. But it shows that the evolution of the first demonstrations of ideas to widespread use of polished version takes time.

                                                          1. 3

                                                            There’s a huge difference between observation of mold and a concept of antibiotics, no matter how trivial that sounds with hindsight.

                                                            The “uncontrolled hop” does not qualify as a flight, except in the most trivial sense.

                                                            The loom is not a computer, but I’d love to see a fizzbuzz with Jacquard patterns to prove me wrong.

                                                            1. 2

                                                              It still means that all of the “imagination shattering” stuff in the 1960’s had precedents more than half a century old. We do not have things mid-century people could not have come up with. They did not have things 1800’s people could not have come up with, so we shouldn’t be thinking that our era is particularly barren.

                                                  2. 4

                                                    I think it is reasonable to say that the reworking of daily life has slowed.

                                                    The stove, the refrigerator and the car changed the routine of life tremendously.

                                                    The computer might be more impressive by any number of measures but it didn’t rework daily life so much as add another layer on top of ordinary life. We still must cook meals and drive around.

                                                    The linear extension of the car and the stove would be the auto-chef and the flying/auto-driving car.

                                                    Both things are still further than is sometimes claimed by the press but the seem a bit closer than 2012. However, the automation offered by externally available power, which began in the 1800s, definitely has reached a point of diminishing returns.

                                                    We may experience further progress through computers, AI and such. But this seems to hampered by a “complexity barrier” - an equivalent amount of daily life automation as various technologies offered earlier through power now requires systems that are much more computationally complex. Folding towels really does turn out to be the hard part of washing, etc and even with vast advances in computational ability, we may still be at diminishing returns.

                                                    1. 2

                                                      There have been significant advances since then (for instance, in medical treatments like cancer therapies and surgery—life expectancy in the US has risen from 70 to 79 since 1960), but nothing revolutionary, that would seem remotely as magical as the developments across the first half of the century.

                                                      1. 3

                                                        Magical is relative. All the psychiatrics I take were invented after 1970. They’re pretty magic!

                                                      1. 4

                                                        Doesn’t seem to be a lot of content here. Right now if you wanted to move away from Intel for whatever reason, the only viable choice for the {x}Pro lines isn’t ARM, it’s Power. And there’s no way they’re going to do that. There’s also no way in hell Apple will allow the Mac line to fragment into two separate architectures unless they’re 100% compatible. Fat (or mostly-compiled) binaries and identical frameworks would be the order of the day.

                                                        In addition to that, I don’t know if anybody’s noticed but they’re pretty clever over at Intel. I’ve yet to see anything resembling a proof that ARM scaled up to compete with 86/Power for processing would still retain its power (as in watts) advantage.

                                                        My prediction remains: The cheap machines will go ARM, and soon (by mid-2020). Apple has emulated CPUs smoothly before, and Windows 10 does it now. The Pro machines will not (for a few years at least), although I wouldn’t be surprised to see Apple make their own GPUs for them, and to possibly even slap 4-or-5-ipads’ worth of ARM+GPU into the Mac Pro (as co-processors) for GPGPU loads. Jobs that are “embarrassingly parallel” are the kind of things you want to run with a pro machine, but you won’t give up single-threaded performance that only deeply pipelined complex CPUs like 86 and Power can give you.

                                                        1. 1

                                                          Maintaining two archs of MacOS will be too taxing. I really doubt they’ll do architecture switch for only half the products.

                                                          1. 2

                                                            There’s no way they don’t already have a full build for ARM hidden away somewhere, and probably still maintain one for Power as well, just to keep the code portable. They had it running secretly on Intel for years before they switched.

                                                            1. 1

                                                              Notice how they switched to Intel wholesale and sunset the old arch as fast as they could.

                                                        1. 1

                                                          Despite the dopey cover, Smith’s book is IMO the best introductory text in the subject.

                                                          1. 2

                                                            Based on the index and introduction, that definitely looks like a good starting point. I will have a look. Thanks!

                                                          1. 8

                                                            Fascinating read with good, detect work, Sir! :)

                                                            My worries kicked in when you said it was at over 200 libraries. If it sounds true and is horribly wrong, then I thought it could still be polluting peoples’ minds as they start programming. Maybe they’ll think they’re not smart enough as the examples don’t run. Maybe they’ll get past that with bad habits that lead to data corruption, crashes, and/or hacks. Maybe others will correct their bad practices.

                                                            I don’t know but the book at libraries ain’t good. Made me think about sending out emails to those in bigger areas to ask that they throw the book in the trash. Maybe send a recommendation for a good book for newcomers, too. What’s the best one for that you think? In that hypothetical scenario, I’d also note that the language doesn’t change a whole lot over time like most IT stuff. So, whatever they buy they won’t have to replace every year. Lots of small libraries avoid computer books if they obsolete too much.

                                                            1. 10

                                                              Maybe they’ll think they’re not smart enough as the examples don’t run.

                                                              I couldn’t shake that thought the whole time I was reading it and it’s why I really detest sloppy tech books.

                                                              As for the books in the library, I’m thinking of finding the copies (1st and 2nd edition!) in my alma mater’s library and at least leaving a warning note in them.

                                                              1. 1

                                                                Good idea. I might at least do a few on the list. Again, what’s the current, best recommendation for a beginner book in your mind in case they ask about one?

                                                                1. 5

                                                                  Truthfully, I don’t know a good C book for beginners. I have not looked at such books in a long time. I learned from K&R, but I was also learning it in university from different books at the time. None of them stand out in my mind. (I don’t think K&R is a great fit for beginners, especially with modern C.)

                                                                  If anyone has suggestions, please feel free to comment.

                                                                  1. 4

                                                                    There is 21st century C, though it assumes some general programming experience.

                                                                    There is also Head First C, though I have no direct experience with it, as I read through the C# book in the same series, rather than the C book. I recall learning a lot from the book Head First C#, so that gives me some hope for Head First C.

                                                                    To be fair, I don’t know that C is a very good first programming language these days, unless you’re starting in a domain that doesn’t require working with care around allocations, or unless you have someone helping you learn.

                                                                    1. 4

                                                                      To be fair, I don’t know that C is a very good first programming language these days

                                                                      I hope most of us agree on that by now. :) I always encourage them to learn something like Python first just to get into the mental habits of breaking problems down, implementing solutions precisely, and debugging others’ code. That’s hard enough by itself to learn without the low-level stuff in there. Once comfortable with that, then learn the low-level stuff with a book on something like C language.

                                                                      I guess I’m looking for best intro(s) to C to recommend for someone with some programming experience in a high-level language.

                                                                      1. 3

                                                                        21st Century C seemed like a decent introduction to C, and takes exactly that angle. It doesn’t have the abrasiveness of Learn C the Hard way, and starts out explaining the C environment so that you aren’t left ignorant of how to work with makefiles and the like.

                                                                        It does recommend autotools, however.

                                                                        1. 4

                                                                          While it’s a great book, I see it more as a ‘refresher’ than an intro text to a novice. Would still recommend K&R 2nd ed. for essentials, followed by this to get up to date practices.

                                                                2. 4

                                                                  My worries kicked in when you said it was at over 200 libraries. If it sounds true and is horribly wrong, then I thought it could still be polluting peoples’ minds as they start programming. Maybe they’ll think they’re not smart enough as the examples don’t run. Maybe they’ll get past that with bad habits that lead to data corruption, crashes, and/or hacks. Maybe others will correct their bad practices.

                                                                  The same is true for multiple other wrong books and other texts. Best to avoid anything by Herb Schildt, Yashwant Kanetkar, Zed Shaw, Richard Reese, many tutorials like Beej’s guide to C, etc.

                                                                  What’s the best one for that you think?

                                                                  K&R 2nd ed. was definitely the best 20 years ago. Now I don’t know, but perhaps “C How to Program” by Harvey Deitel and Paul Deitel or “C Programming: A Modern Approach” by Kim King. And of course “C: A Reference Manual” by Harbison and Steele for reference. Also books written by Richard Stevens for UNIX programming.

                                                                  1. 2

                                                                    Why exactly would you say Beej’s guide to C isn’t a good tutorial?

                                                                    1. 3

                                                                      I’d actually like an explanation for all of those—assuming of course, that they aren’t all making the exact same mistake, which seems highly unlikely. I was under the impression that Zed Shaw, albeit controversial, wrote good introductory material.

                                                                      1. 2

                                                                        I don’t have the time to review them again. Now I think that I should write reviews them once and for all and then share every time they come up in a discussion. Like Ed’s thoughts on “Learn C The Hard Way”.

                                                                1. 10

                                                                  A.k.a. How To Become An ESR.

                                                                  1. 2

                                                                    Is that the worst thing in the world? We could use a few more good hackers-as-defined-by-ESR in the community, at least by my reckoning.

                                                                    1. 4

                                                                      Lots of things mentioned aren’t really typical. Met tons of hackers who don’t play any instruments, and hardly know anyone involved into martial arts except a couple sysadmins. Bit of painting by numbers there.

                                                                    2. 1

                                                                      It’s easy to take potshots at an old and sick man and his work a decade after the fact.

                                                                      As horribly cringey as a lot of his stuff is, some documents of his (like this one) are an honest and decent attempt to make the world a better place, and I don’t think it’s particularly useful to throw them aside without something much better to replace them with.

                                                                      1. 3

                                                                        You have a point, I should have expressed myself perhaps in a more civil manner. My opinion of the piece, however, didn’t change since it was published.

                                                                        1. 1

                                                                          It’s easy to take potshots at an old and sick man and his work…

                                                                          Honestly, I think this call to human pity is out of place.
                                                                          I think we should be able honestly analyze a work without losing human solidarity for the man who did it.

                                                                          …a decade after the fact

                                                                          The last revision is from 06 October 2017.

                                                                          an honest and decent attempt to make the world a better place

                                                                          I think “honest”, “decent”, and “better place” largely depends on how much you align with his values.

                                                                          I don’t think it’s particularly useful to throw them aside without something much better to replace them with.

                                                                          As influentials as those texts have been, they need a serious critical read if we want to hack something better.

                                                                          Those who cannot remember the past are condemned to repeat it.

                                                                        2. 0
                                                                        1. 7

                                                                          Personal projects: my first iOS app saga continues.

                                                                          Put together a solution for push notifications last week. Coming from Common Lisp, initially opted for Clojure. But seeing how my mostly idle process eats up 700Mb memory, vs. <300Mb of full fledged trading backend in CL changed my mind. So dusted off my Ruby (pre-Rails times) and made a small push notifier using Apnotic. Have to say its json parser is impressively fast.

                                                                          Otherwise, tackled on the can of worms Apple’s in-app renewing subscription system is. Think it’s mostly under control now, but a few corner cases have to be handled. Deferred purchases, cancellations. Guess that’ll keep me busy most of the evenings this week.

                                                                          At work it’s relatively quiet, so we have time to go through with the contractor over preliminary BOM and schematics for the new product. This time around I split the design process to have an early functional prototype patched together. A few design defects were already found before the layout for “real” prototype has been completed, chances are good we’d need minimal changes to production.

                                                                          1. 2

                                                                            Whenever I read about the legendary programmers and inventors, these people sought out programming by themselves.

                                                                            So I don’t have much hope that pushing these things onto kids would give such good return. The top tier potentials will already find their own ways.

                                                                            You don’t need to know how computers work to operate in a modern society just as you don’t need to know how a car works to drive. It’s good to know but not necessary.

                                                                            Given the availability of computers, the extra ‘discovery’ of potential, I think would be small.

                                                                            So the whole ‘teach xyz to program’ seems like a mostly cost-ineffective boondoggle to me.

                                                                            1. 9

                                                                              We can safely drop mathematics, physics and literature from school curriculums then. Most of the students aren’t ever going to be good at it, and talent will find the way.

                                                                              Learning programming by yourself does not necessarily make you top talent, though we’d all love to entertain that idea. It’s certainly not worse with a self motivated learner who is actually aided by school system. Besides the “self learners” of old days didn’t come from Amazon jungle to a running PDP rack and started hacking. They still had the fundamentals of logic, maths and reasoning taught in the school.

                                                                              1. 3

                                                                                If school failed me back then the same way it’s failing kids today, it’s by teaching students idiotic facts beyond the basics of reading, writing and math. Introduce kids to as many matters as you can in such a way to cultivate curiosity and you’ll have won.

                                                                                The whole ‘teach xyz to abc’ is ultimately pointless if what you’re seeking is innovation. It’s super good if you’re raising cattle-citizen though.

                                                                                1. 1

                                                                                  This seems orthogonal to what @varjag is and @LibertarianLlama are saying. Llama seems to be arguing that being great at programming is innate and we shouldn’t bother teaching kids programming because they’ll never be great because if they were great they don’t need to be taught. And varjag is pointing out that education, historically, has not been about making the greats. Whether or not the quality of education is any good seems quite different than the question if if we should educate.

                                                                                  1. 2

                                                                                    I’m not responding to @varjag, although there is a relationship between what we both say. What I’m saying is, teaching programming for the sake of teaching programming is indeed pointless, but then again, so is pretty much everything beyond basic math and reading skills (then again, there’s the case of the enormous amount of functional illiterates so I’m not sure even that is technically necessary).

                                                                                    You’re correct, of course, both matters are vastly different. I think they’re ultimately connected, especially if you’re after cost-effectiveness, which I don’t agree should be the target of education, but that’s also another matter.

                                                                                  2. 1

                                                                                    “Idiotic facts” is a very curious term.

                                                                                    Are you referring to history? Facts about how society is structured and how laws are made?

                                                                                    The last time I checked our local education directives “innovation”was just one facet of the welll-rounded citizens it was aiming to educate.

                                                                                    1. 2

                                                                                      My bad, I did not correctly express my idea. I mean every part of my education which required the absorption of data for the sole purpose of regurgitation at a later date. I’ve lived that through many different subject matters. If you’re just pumping facts into brains so that you get graded on the quality of your repetition, it’s not really productive, and the students end up losing much of what they “learned”.

                                                                                      1. 1

                                                                                        This I can definitely agree with is not a good way to learn.

                                                                                1. 6

                                                                                  Adjacent set of unfocused rants: are we even teaching them useful programming?

                                                                                  • As a society, we’re obsessed with teaching “practical” knowledge by rote instead of learning how to learn. Are 1 month JavaScript bootcamps useful for people 5 years down the road? 10?

                                                                                  • We teach kids how to learn, but they can do nothing useful with it even if they do care. Environments like Swift Playgrounds are cute, but they can’t be used to develop applications - for that, you need a Mac (and how to use it!) and a developer license. Even on Android, for “post-PC” children, especially in the third world, what good is their programming knowledge if there’s no good environment for it?

                                                                                    • Likewise, nothing much can be really done with programming on device. It’s not like you can script or query Instagram - it’s all silos. AppleScript or Unix pipelines could be a model. (It seems Apple might start to resolve that a little with the Shortcuts app though.)
                                                                                  1. 7

                                                                                    There is no question it’s not possible to teach kids “useful” in the professional sense programming in a few months course. Even adults for that matter. That’s not the point however.

                                                                                    For all talk about “digital natives” the kids have no fainest clue about how the things that define most of their waking life work. They only have an ad hoc mental concept of networking, casual exposure to what OS is, they rightfully fear malicious software and hacking but do not understand the vectors they work through nor what they can or can not do. Computers and smartphones are magic to them, to the extent that cars, electricity or airplanes never were for the previous generations.

                                                                                    My son had a programming course like that, it lays a decent foundation to how computers actually work, what they can and can not do. It’s a lot easier to explain how malicious program can work when a person has a concept of what a program is. There were also a bunch of classes with Micro:bit helping demystify what’s happening in countless devices around us.

                                                                                    1. 5

                                                                                      Yeah. I think a lot of Lobsters users are in a “goldilocks” generation of computer knowledge - young enough to have the access or necessity to learn computers, but old enough to do it back when computers were hard.

                                                                                      1. 1

                                                                                        I rolled a 20 on being in the right time to learn computers. I had Tandy 1000XLs in my kindergarden, with various educational apps, then around the 4th grade, I received a hand-me-down Commodore 64 with two cubic meters of books, wires, disk drives, disks, carts, an Atari with a keyboard, joy sticks, paddles, a koala pad, etc. I played with that a couple years, and my very next computer was a 120Mhz Pentium, Win95, no internet. After exploring almost literally every file on the thing, I got AOL, riiiiight before the web blew up.

                                                                                        Today, as you might imagine, I hate almost everything that is going on with computers. :/

                                                                                    2. 3

                                                                                      Did you read the article? It’s basically a response to this exact critique, saying that focusing on the end product misses other benefits, like knowing what kinds of things programs are and are not capable of. This helps them make more informed decisions around privacy, etc. thruout their life regardless of career path.

                                                                                    1. 10

                                                                                      Good on you. It’s worth mentioning here that Microsoft is going in the other direction. https://www.mercurynews.com/2018/06/19/microsoft-defends-ties-with-ice-amid-separation-outcry/amp/

                                                                                      1. 3

                                                                                        In response to questions we want to be clear: Microsoft is not working with U.S. Immigration and Customs Enforcement or U.S. Customs and Border Protection on any projects related to separating children from their families at the border, and contrary to some speculation, we are not aware of Azure or Azure services being used for this purpose. As a company, Microsoft is dismayed by the forcible separation of children from their families at the border.

                                                                                        Maybe I’m missing something, but it seems they are going in the exact same direction…

                                                                                        1. 6

                                                                                          It’s a very confusing article; my best guess is that they are working with ICE, but not on “projects related to separating children from their families at the border”.

                                                                                          1. 11

                                                                                            And just because Microsoft isn’t directly helping, they are still helping. That nuance is discussed in OP’s article - any support to an morally corrupt institution is unacceptable, even if it is indirect support.

                                                                                            1. 7

                                                                                              But that perspective is very un-nuanced. Is everything ICE does wrong? It’s a large organization. What if the software the company that @danielcompton denied service to is actually just trying to track down violent offenders that made it across the border? Or drug trafficking?

                                                                                              To go even further, by your statement, Americans should stop paying their taxes. Are you advocating that?

                                                                                              1. 18

                                                                                                ICE is a special case, and deserves to be disbanded. It’s a fairly new agency, and its primary mission is to be a Gestapo. So yes, very explicitly, everything ICE does is wrong.

                                                                                                1. 3

                                                                                                  On what ground and with which argument can you prove your statement? I mean, there is probably an issue with how it’s run, but the whole concept of ICE doesn’t sound that wrong to me.

                                                                                                  1. 14

                                                                                                    From https://splinternews.com/tear-it-all-down-1826939873 :

                                                                                                    The thing that is so striking about all three items is not merely the horror they symbolize. It is how easy it was to get all of these people to play their fascistic roles. The Trump administration’s family separation rule has not even been official policy for two months, and yet look at where we are already. The Border Patrol agent is totally unperturbed by the wrenching scenes playing out around him. The officers have sprung to action with a useful lie to ward off desperate parents. Nielsen, whom the New Yorker described in March as “more of an opportunist than an ideologue” and who has been looking to get back into Donald Trump’s good graces, is playing her part—the white supremacist bureaucrat more concerned with office politics than basic morality—with seeming relish. They were all ready.

                                                                                                    I’m going to just delegate all arguments to that link, basically, with a comment that of it’s not exceedingly obvious, then I probably can’t say anything that would persuade you. Also, this is all extremely off-topic for this forum, but, whatevs.

                                                                                                2. 11

                                                                                                  There’s always a nuance, sure. Every police force ever subverted for political purposes was still continuing to fight petty crime, prevent murders and help old ladies cross the street. This always presented the regimes a great way to divert criticism, paint critics as crime sympathisers and provide moral leeway to people working there and with them.

                                                                                                  America though, with all its lip service to small government and self reliance was the last place I expected that to see happening. Little did I know!

                                                                                                  1. 6

                                                                                                    Is everything ICE does wrong? It’s a large organization.

                                                                                                    Just like people, organizations should be praised for their best behaviors and held responsible for their worst behaviors. Also, some organizations wield an incredible amount of power over people and can easily hide wrongdoing and therefore should be held responsible to the strictest standard.

                                                                                                    1. 9

                                                                                                      Its worth pointing out that ICE didn’t exist 20 years ago. Neither, for that matter did the DHS (I was 22 when that monster was born). “Violent offenders” who “cross the border” will be tracked down by the same people who track down citizen “violent offenders” ie the cops (what does “violent offender” even mean? How do we who these people are? how will we know if they’re sneaking in?) Drug trafficking isn’t part of ICEs institutional prerogative in any large, real sense, so its not for them to worry about? Plenty of americans, for decades, have advocated tax resistance precisely as a means to combat things like this. We can debate its utility but it is absolutely a tactic that has seen use since as far as I know at least the Vietnam war. Not sure how much nuance is necessary when discussing things like this. Doesn’t mean its open season to start dropping outrageous nonsense, but institutions which support/facilitate this in any way should be grounds for at the very least boycotts.

                                                                                                      1. 5

                                                                                                        Why is it worth pointing out it didn’t exist 20 years ago? Smart phones didn’t either. Everything starts at some time.

                                                                                                        To separate out arguments, this particular subthread is in response to MSFT helping ICE, but the comment I responded to was referring to the original post, which only refers to “border security”. My comment was really about the broader aspect but I phrased it poorly. In particular, I think the comment I replied to which states that you should not support anything like this indirectly basically means you can’t do anything.

                                                                                                        1. 5

                                                                                                          Its worth pointing out when it was founded for a lot of reasons; what were the conditions that led to its creation? Were they good? Reasonable? Who created it? What was the mission originally? The date is important because all of these questions become easily accessible to anyone with a web browser and an internet connection, unlike, say, the formation of the FBI or the origins of Jim Crow which while definitely researchable on the net are more domains of historical research. Smart phones and ethnic cleansing however, not so much in the same category.

                                                                                                          1. 4

                                                                                                            If you believe the circumstances around the formation of ICE are worth considering, I don’t think pointing out the age of the institution is a great way to make that point. It sounds more like you’re saying “new things are inherently bad” rather than “20 years ago was a time with a lot of politically questionable activity” (or something along those lines).

                                                                                                            1. 9

                                                                                                              dude, read it however you want, but pointing out that ICE is less than 20 years old, when securing a border is a foundational issue, seems like a perfect way to intimate that this is an agency uninterested in actual security and was formed expressly to fulfill a hyper partisan, actually racist agenda. Like, did we not have border security or immigration services or customs enforcement prior to 2002/3? Why then? What was it? Also, given that it was formed so recently, it can be unformed, it can be dismantled that much easier.

                                                                                                              1. 1

                                                                                                                I don’t understand your strong reaction here. I was pointing out that if your goal was to communicate something, just saying it’s around 20 years old didn’t seem to communicate what you wanted to me. Feel free to use that feedback or not use it.

                                                                                                      2. 2

                                                                                                        In addition, I bet the ICE is using Microsoft Windows and probably Office too.

                                                                                                        1. 1

                                                                                                          That’s a great point, and no I don’t advocate for all Americans to stop paying taxes.

                                                                                                        2. 0

                                                                                                          any support to an morally corrupt institution is unacceptable, even if it is indirect support

                                                                                                          A very interesting position. It just requires you to stop using any currency. ;-)

                                                                                                          1. 3

                                                                                                            No, it requires you to acknowledge that using any currency is unacceptable.

                                                                                                            Of course not using any currency is also unacceptable. When faced with two unacceptable options, one has to choose one. Using the excuse “If I follow my ethics I can never do anything” is just a lazy way to never think about ethics. In reality everything has to be carefully considered and weighed on a case by case basis.

                                                                                                            1. 1

                                                                                                              Of course not using any currency is also unacceptable.

                                                                                                              Why? Currency is just a tool.

                                                                                                              Using the excuse “If I follow my ethics I can never do anything” is just a lazy way to never think about ethics.

                                                                                                              I completely agree.
                                                                                                              Indeed I think that we can always be ethical, but we should look beyond the current “public enemy”, be it Cambridge Analytica or ICE. These are just symptoms. We need to cure the disease.

                                                                                                  1. 5

                                                                                                    Finished the user end (Swift) and the backend (Common Lisp) of my first ever iOS app. Now looking into enabling remote push notifications via APNs. Unfortunately it’s HTTP/2 & ALPN only, and there’s no Common Lisp library to handle that directly. There’s an H2-14 reference implementation which unfortunately does not support ALPN and have suffered from some serious code rot. So my choices are either fix that up, or get it via some existing library (libcurl?).