• 0 Posts
  • 11 Comments
Joined 1 year ago
cake
Cake day: July 5th, 2023

help-circle

  • I was once teaching a student introductory programming when I was in my undergrad.

    The problem was to draw two circles on the screen of different colours and detect when the mouse is inside of one.

    I said, “So our goal is simple: Let’s draw a circle somewhere on the screen. Consider what you’d tell me as a human - I’ve got the pencil, and you want to tell me to draw a circle of a certain size somewhere on this paper. We have three functions. Calling a function will draw a shape. Each function draws a different shape. We have rect(), circle(), and line(). Which of these sounds like the one we want to use? Which would get me to draw the correct shape?”

    “… Rect?” “Why?” “It draws a shape.” “What shape would rect draw?” “I don’t know.” “Guess.” “A circle?” “Why do you think that?” “We need to draw a circle.” “If I said that rect draws a rectangle, which of the three functions would we want to use then, to draw our picture?” “Rect?”

    I’ve now been teaching for many years, and those situations still come up a lot. When I put up a poll in class, with the answer still written on the board, about 25% of people in a 100+ student class will get it wrong - of people who were not only admitted to a competitive university program, but have passed multiple prerequisite courses to be here.

    Not only is it unknown gaps in knowledge, there is just a thought process I haven’t been able to crack through that some people really can’t see what is immediately before them.


  • I think he’s basically saying that it’s racist to “artificially” integrate communities, because (I think he’s saying) if they need to be integrated, then that’s the same as saying that black folks are necessarily inferior. I don’t think he’s trying to say they’re inferior, but that laws forcing integration are based on that assumption. So he can be well educated and successful because he isn’t inherently inferior, therefore there is no need for forced integration.

    … Which is such a weird stretch of naturalism in a direction I wasn’t ready for. Naturalist BS is usually, “X deserves fewer rights because they are naturally inferior”, whereas this is “We should ignore historical circumstances because X is not naturally inferior”.

    Start a game of monopoly after three other players have already gone around the board 10 times and created lots of rules explicitly preventing you from playing how they did and see how much the argument of “well, to give you any kind of advantage here would just be stating you’re inferior, and we can’t do that.”

    Man probably got angry at his golf handicap making him feel inferior and took things too far. Among other things.




  • My two cents, after years of Markdown (and md to PDF solutions) and LaTeX and a full two years of trying to commit to bashing my head against Word for work purposes, I’m really enjoying Typst. It didn’t take long to convert my themes, having docs I can import which are basically just variables to share across documents in a folder has been really helpful. Haven’t gone too deep into it but I’m excited to give it a deeper test run over the next little bit.



  • Lots of immediate hate for AI, but I’m all for local AI if they keep that direction. Small models are getting really impressive, and if they have smaller, fine-tuned, specific-purpose AI over the “general purpose” LLMs, they’d be much more efficient at their jobs. I’ve been rocking local LLMs for a while and they’ve been great as a small compliment to language processing tasks in my coding.

    Good text-to-speech, page summarization, contextual content blocking, translation, bias/sentiment detection, click bait detection, article re-titling, I’m sure there’s many great use cases. And purely speculation,but many traditional non-llm techniques might be able to included here that were overlooked because nobody cared about AI features, that could be super lightweight and still helpful.

    If it goes fully remote AI, it loses a lot of privacy cred, and positions itself really similarly to where everyone else is. From a financial perspective, bandwagoning on AI in the browser but “we won’t send your data anywhere” seems like a trendy, but potentially helpful and effective way to bring in a demographic interested in it without sacrificing principles.

    But there’s a lot of speculation in this comment. Mozilla’s done a lot for FOSS, and I get they need monetization outside of Google, but hopefully it doesn’t lead things astray too hard.


  • I get both sides of the argument here. I think we need to have this big reaction because companies have held so much power over employees for so long - I’ll avoid ranting about worker-owned cooperatives here - but the past few years I’ve surprised myself by moving into a bit of a “slippery slope” camp with these things. Not to say it shouldn’t happen, but that we need to be prepared for the follow-up.

    Hopefully related example, in education: There were some really big push backs recently where I am over bad treatment of the students in highschool, all legit. The school board ignored it for a long time, it got bad, they finally took it seriously. Then they overcorrected and stopped believing teachers at all and started jumping straight to firing at almost any complaint. Then students started weaponizing complaints, and now teachers are getting fired for trying to enforce deadlines and for giving low marks because students are complaining about how deadlines, grades, and meeting grading requirements are detrimental to mental health and well-being, and now there are a bunch of these students from this board in my university classes failing hard and filing complaints about courses being too difficult and other things despite them having glowing reviews just a few years prior.

    I guess what I’m getting at: I think it’s fair for someone to choose not to hire people like this because it’s possible that the people willing to stand up and make an important fuss over these things might not know where the line stands between a worthwhile complaint and a non-worthwhile one, and might make a company look badexternally even though it’s doing good internally, just not to someone new to the workforce’s expectations.

    I also think it’s fair to go the opposite direction, because ultimately we need major change in the way companies/everything are structured that lead to these nasty layoffs and poor conditions and if someone does raise issues where there aren’t, hopefully we are prepared enough and in the right enough to take it seriously, but weather it and act in everyone’s best interests.



  • I sit somewhere tangential on this - I think Bret Victor's thoughts are valid here, or my interpretation of them - that we need to start revisiting our tooling. Our IDEs should be doing a lot more heavy lifting to suit our needs and reduce the amount of cognitive load that's better suited for the computer anyways. I get it's not as valid here as other use cases, but there's some room for improvements.

    Having it in separate functions is more testable and maintainable and more readable when we're thinking about control flow. Sometimes we want to look at a function and understand the nuts and bolts and sometimes we just want to know the overall flow. Why can't we swap between views and inline the functions in our IDE when we want to see the full flow? In fact, why can't we see the function inline but with the parameter variables replaced by passed values to get a feel for how the function will flow and compute what can be easily computed (assuming no global state)?

    I could be completely off base, but more and more recently - especially after years of teaching introductory programming - I'm leaning more toward the idea that our IDEs should be doubling down on taking advantage of language features, live computation, and co-operating with our coding style… and not just OOP. I'd love to hear some places that I might be overlooking. Maybe this is all a moot point, but I think code design and tooling should go hand in hand.