Which of https://sdgs.un.org/goals does your project aim at? It can be as indirect as you like (they're all hard problems) but pick just 1.
I freelance with https://www.adb.org/who-we-are/main using Observable on projects focused on gender equality and poverty in the south asia region. Got the job from https://talk.observablehq.com/c/marketplace/9
there was a UNICEF opportunity in there too a while ago.
In harmony with Engelbart, I think the things we do are meant to help people think and work better (alone and together, Engelbart focusing on the latter) so as to amplify the human capacity for problem solving. This would, one hopes, help us to make better progress on most of these problems...
I'm extremely suspicious of these kinds of things. They always sound like no-brainers on the surface, but the reality is often that any actual initiatives serve the wealthy more than the poor.
How come the thinking tools community doesn't seem to draw much inspiration from Wolfram? It's literally a tool for thinking mathematic and scientific thoughts.
yeah the Wolfram ecosystem is actually pretty interesting! I think Wolfram just gets a bad rap (they’re closed source which some people dislike) but they’ve done sustained R&D here while being an independently owned company.
Also — as someone who wants to bridge the data science tooling community with the tools of thought one, I’ve rarely found people overlapping / interested in both for some reason.
It’s a system for running mathematics, which in itself is extremely useful. However, I’ve never met anyone in all my time in mathland who experienced a new mathematical thought in Mathematica.
I used to use it to “run” / generate examples for proofs back in college
exploding compact formulas into specific examples is super nice for trying to internalize parts of proofs, but a bit cumbersome to do with pencil / paper
The thinking tools community happens to be on the wrong side of the walled garden. Wolfram|Alpha has potential to be a nice gate on that garden, but at some point at least, using it seemed a little upsell scammy.
A thing that surprises me slightly seeing some knowledge workers who try Matlab or Mathematica is that they sit down and just think that they should be able to use the thing. (On this front, Wolfram|Alpha input is the one thing that comes close. You type in a simplified version of what you want to ask to lookup the obscure syntax for doing that sort of calculation.)
On the other hand, people familiar with CAD, 3d modeling, any computer art tool, have a much better feel for learning curves. Though, like anyone, they're liable to think people get more than they do.
An architect friend was just complaining about some line-stopping mistakes their structural engineer made while screen sharing just to show how bad it was, but honestly the pictures were entirely lost on me. Right or long, it looked like an incoherent jumble of lines. To my eyes, it looked like five floor-plans layered on top of each other. Partly it was, because some things were misaligned, the problem in the first place, but properly aligned it didn't look much different to the untrained.
I’ve been obsessed with the question of how the future of coding might look like for a while, and I’m at the point where I have to ask myself if I’m actually progressing or just jumping from idea to idea.
I was initially motivated by the vague feeling that something about software development today is wrong and that there has to be a better way. My working hypothesis was that programming is too complicated. If we made it more accessible, everyone could create precisely the tools they need to solve their problems.
Is this true? If we gave everyone the ability to program overnight, very little would change. People still couldn’t quickly build tools to solve problems. I know this because I currently don’t use any tool I’ve created for myself. Most of the time, it’s just not worth it to build a tool for myself. Making programming easier isn’t sufficient to create an ecosystem of DIY tools. The shape of the artifact that we produce when we program has to change as well.
The next question is: Do people even want to create their own tools? The answer is most people probably don’t. B Nardi [1] surveyed how people use applications that support end-user programming like spreadsheets or CAD software. What she discovered is that most people only used basic features. If they wanted to do something more advanced, they relied on the few people on their team (10 - 20%) that had an intrinsic interest to tinker with computers and read manuals. She called these expert users local developers because they helped raise the technical sophistication of everyone by supporting their colleagues with questions and by sharing macros or formulas that they’ve created. We can see the emergence of local developers also in the no-code movement. There are now dedicated agencies that focus purely on creating no-code applications [2].
My initial hypothesis that we have to make programming easier was naive and too focused on the creation process. In the future, I want to focus more on the shape that applications should have once they are built. So, for example, I’m less interested in finding more user-friendly abstractions than the EXCEL formula language. Instead, I want applications that you can take apart into recombinable parts.
How could a tangible building material of information software look like?
How to address the different classes of users of the system?
I know this because I currently don’t use any tool I’ve created for myself.
A reason that the people who can program often don't feel the need to program is that many of their software needs have already been met by the mountain of past work from people similar to them — programmers. But people who can't currently program will have needs they face in their work that are less likely to have been met by software, because "people similar to them" are also presumably not able to program.
But that's just a quibble with this one supporting argument. I still agree with the conclusions you draw.
If we gave everyone the ability to program overnight, very little would change. People still couldn’t quickly build tools to solve problems.
I strongly disagree with this assertion, assuming I'm interpreting it correctly. I think we can make it practical for end users with technical aptitude to make apps.
My working hypothesis was that programming is too complicated. If we made it more accessible, everyone could create precisely the tools they need to solve their problems.
What do you mean by "make it more accessible"? There are many ways you could interpret that goal. Oftentimes when people say this, they mean making programming easier to learn. Other times, they mean making the programming community more friendly and diverse. Personally, I'm focused on re-inventing the very foundations of programming to make it simpler.
That said, I do agree we need "applications that you can take apart into recombinable parts". Many companies are already doing this with their "no code" and "low code" apps, but of course these are closed ecosystems. If you want an open, universal ecosystem of combinable code snippets, I would call that a (distributed) programming environment.
There are 2 relevant threads starting at https://marianoguerra.github.io/future-of-coding-weekly/history/?fromDate=2020-09-08&toDate=2020-09-14&channel=thinking-together#2020-09-08T18:06:34.135Z
An alternative, more comprehensive listing requires a few steps to obtain an offline copy of this group's archives:
qemu-system-i386 -m 2G -hda mu-browser-20210815.img -hdb foc-data-20210814.img
(You don't have to trust me since Qemu is a well-trusted project and my code is perfectly sandboxed inside Qemu. Running a program within Qemu is more secure than browsing to a website in a web browser.)/
to search and then type in exactly Is there any hope
and hit enter. (There's no keyword search and search is case-sensitive at the moment.)opinionated overflow thread
. Again, hit enter on the highlighted post to jump to its thread view.old blog posts
for my list of programs I've written for myself. It's a comment on a third thread which is also relevant.Apologies in advance for the crappy UX, but I have high hopes that these image files -- with every byte lovingly hand-crafted all the way up from machine code -- will continue to be browseable in 50 years time. (You'd just need to get your hands on a 2070-era x86 emulator.) I'd also love to jam with anyone interested in improving the search or anything else.
Needless to say, both Mariano Guerra's history browser and mine are examples of programs we've written for ourselves. They're kinda idiosyncratic, and we often work around their limitations rather than fix them. But they've both allowed us to treat this group's history as part of our exo-brain. I consider them great examples of the sorts of programs people would benefit from (without learning machine code) if they learned programming.
I wrote up some opinionated notes on A small matter of programming for this group a couple of years ago: http://akkartik.name/post/nardi. From my recollection, Bonnie Nardi is careful to distinguish between how people use software today and what is possible.