• Jimmy Miller

    Jimmy Miller

    1 year ago
    I know a lot of us here have been influenced by talks like Bret Victor’s “Inventing on Principle”. But I’m curious about your favorite papers that are somehow related to the future of coding. I’ll start with mine. PILOT: A Step Toward Man-Computer Symbiosis - Warren Teitelman This is actually a thesis, so it is a bit long, though much of that length is taken up with a transcript. I will admit there is a lot in this paper that isn’t great. The resulting system is almost certainly something no one would want to use today. But yet in it are such interesting ideas. It is often considered to be the paper that introduced aspect oriented programming, but I believe that sells it a bit short. PILOT is an integrated, live, editing and computational system. It’s goal is to allow programmers to 1) customize their interface and syntax, 2) edit programs they are unfamiliar with 3) make changes not just to current functions in the program, but future ones as well 4) control how the program itself executes and so much more. It is a bit of a historical trip, but includes so many fascinating ideas. Programming as Theory Building - Peter Naur Naur lays out a view of the activity of programming that is both radical and yet highly attractive. A key consequence on his theory is that the real end product of programming is not the source code, not the build artifact, not the running system, but the knowledge that a programmer builds. So much follows from this. It is a fascinating paper that I highly recommend reading. The Structure of a Programming Language Revolution - Richard P Gabriel A beautiful paper about the changes to programming language research that Gabriel has seen over his career. I will just leave you with this quote that sets the mood for the paper.
    That night I pulled the paper down from the ACM server and read it while outside enormous puffed clouds dwelled overhead, lit from beneath by the town of Porto de Galinhas on the Brazilian coast; the smell of burning sugarcane and bitter ocean pushed into my room.
    What are your favorites? What papers have really pushed you in a particular direction? What papers do you think people should read, even if you disagree with them? Whatever the criteria for the paper being good, I want to know about it.
    Jimmy Miller
    Konrad Hinsen
    +5
    41 replies
    Copy to Clipboard
  • y

    yaxu

    1 year ago
    Ok here goes a 'diversity' thread! I ran a session on the weekend that was like a kind of reverse beginners' workshop. We talked about what it was like engaging with tidalcycles as a community as a beginner, trying to teach me how to improve things. It echoed a discussion I took part in with early career Black artists as part of a programme called 'algoafrofutures' - I learned there are huge hidden barriers to participation in the form of hidden hierarchies and norms that repel most people ('most', given that white men are the minority). It seems that many just don't want to post their questions to a forum or especially engage with a live chat system because of bad past experiences and the general attitude of the "men on the internet" who hang out there. It seems people who experience racism, misogyny etc are there, but are lurking or not participating (shout out to the lurkers! would love to hear what you think but, well..). Similarly with local live coding workshops in Sheffield, women-only workshops will be full but then only men will show up to open workshops and mansplain things to the woman co-running the workshop. This is serious I think - communities that repel most people in ways they don't realise, and which totally undermines their aims to e.g. find a future of coding for everyone (in the case of this community), or do something similar by connecting computer programming with performing arts and wider culture (in the case of live coding). So what can we do about it, besides solemn introspection? I really enjoyed Emma Dabiri's work which challenges the response to BLM, from an Irish and UK perspective. I recommend her short book 'what white people can do next' and most recent appearance on the blindboy podcast - best to check that out than rely on my summary.. But her thinking is based on solid academic understanding of the nature of race, and argues not for allyship (which only re-enforces power structures) but coalition. I think I'll stop there as I'm interested in what other people think 'coalition' could mean in this context..
    y
    t
    +7
    61 replies
    Copy to Clipboard
  • y

    yaxu

    1 year ago
    Ok thanks for the thoughts and recommendations. I'm going to check out now, it seems tech-oriented slack discussions are just no good for me and vice versa. Hope to catch up with some of you elsewhere
    y
    1 replies
    Copy to Clipboard
  • Mariano Guerra

    Mariano Guerra

    1 year ago
    Have you tried enso, darklang, wasp, glamorous toolkit, mu, imp, simoji.pub, operon, cuttle, flowrunner, gadget, meemoo, MockMechanics, WhiteBox, MAudio, TypeCell, Ratio, natto.dev, kinopio? Why not? 😉 Maybe you didn't know you could? where to start? what to do? what kind of feedback to give? in which format? where to submit it? Here's an idea: Review Jam! A Week of Constructive Feedback and Conversations An opportunity to share and get real usage feedback on your project An opportunity to experience, review and get inspired by other projects Like a game jam but we try each other's projects Check the draft page and let me know what you think! http://marianoguerra.github.io/review-jam/
    Mariano Guerra
    i
    +7
    41 replies
    Copy to Clipboard
  • f

    fivo

    1 year ago
    Imagine a finished system that runs (in the sense of there are no runtime bugs) that has lots of threads/routines with all kinds of message queues/channels that interact. I am wondering what kind of visualization tools exist that help me understand where possible bottlenecks are, which parts are active and where there is congestion? The closest I can kind of think of is VisualVM , but it is still kind of basic in the sense that it only gives visually access to stuff like fine grained memory usage, performance of subparts, which threads are active, idle, parked but does not give me a lot of insight in how the different system parts interact with one another. I admit that I also don't know exactly what I am looking for and therefore don't know what I should be typing into my favorite search engine. I am sure somebody has built more elaborate tools in that direction and would like to hear your thoughts and suggestions of what I should be looking at. So as an example, let's take a simple producer/consumer model on a channel. Let's say the producer is producing more stuff of than the consumer can take from the channel. One could imagine a node (consumer/producer) and a line (channel) visualization where one sees how active the producer/consumer is (via a red to green spectrum), maybe also one could zoom in to see which subpart is active and how full the channel is (maybe also via a red to green spectrum). That is just an example that came to mind in which the channel would be become dark red over time as it becomes "congested". Keen to hear your thoughts/ideas.
    f
    Mariano Guerra
    +2
    8 replies
    Copy to Clipboard
  • Cole

    Cole

    1 year ago
    Has anyone seen a great WYSIWYG experience for editing margin (and/or) padding in a design tool? I’m thinking something that does not require a tool window on the right side of the screen, and might be a bit opinionated about the amount of flexibility give to the “designer”. One example that comes to my mind is the designer for theming Alfred (for macOS). cc @Ivan Reese @Florian Schulz @Joshua Horowitz?
    Cole
    Florian Schulz
    +1
    6 replies
    Copy to Clipboard
  • n

    n1ckfg

    1 year ago
    So a few months ago I was posting here about teaching coding in the same university art dept. ten years apart, and finding that the institutional memory of how we did it vanished in the interim. Now I've put together a new intro course and I've encountered a fascinating new curveball from the Class of ~2024: profound lack of familiarity with desktop UI conventions. https://www.theverge.com/22684730/students-file-folder-directory-structure-education-gen-z
    n
    Leonard Pauli
    +4
    25 replies
    Copy to Clipboard
  • Allan Campopiano

    Allan Campopiano

    1 year ago
    🏸 Quick question: Do data scientists use inferential statistics such as t-tests, ANOVAs (and related stats like p-values and confidence intervals)? If so, is this done to compliment ML approaches? I’d love to hear some examples. A social scientist is usually concerned with explanation rather than prediction. The opposite seems to be true for data scientists. I’m curious how much overlap there might be from a data scientists perspective.
    Allan Campopiano
    l
    +1
    5 replies
    Copy to Clipboard
  • h

    heartpunk

    1 year ago
    some asked about my thoughts on the ethics of full time employment in my intro thread (https://futureofcoding.slack.com/archives/CC2JRGVLK/p1632414970023600), since there were other topics in the thread as well i'm splitting them both out to threads here. this one will be just for the ethics of full time employment in tech. rant follows. it comes down to the power to say no meaningfully. full time employment ties your wellbeing to that of your employer. employers are fundamentally pro profit, or at least pro continuation of the organization generally (nonprofits don't tend to stop existing, partly because they hardly reach fundamental solutions, which... well, it's never incentivized) code has immense power to structure the very fabric of our world. i got into caring so much about this because of overdraft charges in the US, which i thought, there just has to be a better way this could work. why can't this shit be more instantaneous and easier to reason about. turns out that was partly just a money making scheme by the banks, but also? the US financial infrastructure is absolutely awful. and websites were always full of awful crap that made my life unmanageable as an invisibly disabled person (autistic, ocd, cptsd). every organization i've been part of in my decade of paid tech, no matter how nominally benevolent, has casually made decisions that harm others without consulting them. every single one. and i've worked at places that just like, taught literal arithmetic to elementary students. you'd think that could be harm free!! in my time as an SRE at google, I realized just how fundamental conflict and disagreement is to software. i was repeatedly incentivized to harm my end users and spin it as doing a good job. i saw the tendency of infrastructure teams to say no reflexively, even when there was clear benefit to users, and people actively depending on and asking for the features. at the same time, higher ups were saying satisfying the end user is in fact the most important thing. that we should be talking to them, doing surveys, etc. when i went to implement this, it was used against me in perf as being on task. same for when i tried to defend our data integrity SLO against a migration that would fundamentally break it, right after we'd just adopted it. i could've done better by those users if i'd actually been empowered to serve their needs. i could've done better by everyone impacted by my work across my whole time in industry, honestly. but i would've had to be able to actually listen to and trust users and other stakeholders. i couldn't do that and advance professionally. i couldn't for a decade, and i tried so hard. but serving users better and aligning interests with them has never been in the interests of my employers, and fundamentally can't be in the interest of any for profit organization as we structure them today. i think to do better we need platform coops where all stakeholders have governance power of some sort. literally all. i don't think we can ever make tech more usable or ethical without it. the reason is that tech is a wicked problem (wiki it) space, full of essentially contested concepts (wiki it) (this is not the venue for deliberation over these questions, but) two examples everyone will be aware of in some way: • what is a name • what is a gender really illustrate the point here. there is fundamental disagreement on these. with disagreements about such fundamental compound datatypes, the very idea of software correctness looks questionable at its philosophical foundations. correct for who? for what purpose? by what values? we can't even do the weak notion of software correctness we talk about these days, much less reliability or usability, and we're never going to get anywhere by ignoring the fundamentally socially complex nature of our work. corporations aren't suited to address those kinds of questions. they can't be. we've reached the point where tech is too personal, and as the personal is always political, corporations must try to grapple with political and social questions while being composed of individuals who are profoundly incentivized to never discuss such things bcz professionalism and for-profits-should-be-neutral-or-only-good-for-branding-reasons. that's some thoughts. (@Konrad Hinsen @Eric Gade since you both asked about it over in the original thread.)
    h
    Konrad Hinsen
    +8
    64 replies
    Copy to Clipboard
  • h

    heartpunk

    1 year ago
    re symbolic execution in ruby, i'll put that in a thread because i did NOT realize how much of a wall of text i was putting up just now (oooooops)
    h
    Kartik Agaram
    +3
    14 replies
    Copy to Clipboard