ShriramKrishnamurthi Profile picture
@BrownCSDept / @BrownUniversity || @BootstrapWorld || @PyretLang || @racketlang
16 May
Since so many people seem worried about side-effects from the COVID shots, a bit about my personal experience. Got the two Moderna shots 4 weeks apart. Here's what I experienced: ↵
Shot 1: sore arm, like a flu shot. 5:30 on a Wed. Spent Thu waiting for the fever/fatigue to hit. By 3pm realized I'd squandered the day doing not much of anything, played hooky and read books. No fatigue at all. ↵
Shot 2: also Wed 5:30pm. Much sorer arm for ~36 hours. Otherwise fine Wed. Wasn't going to get fooled again. Worked normally Thu AM, went for a bike ride. Thought I'd take it easy; 5 mins in had forgotten and was riding normally. ↵
Read 7 tweets
15 May
@georgemporter @trello We've tried it to run Bootstrap. For many years it went well. But lately it has not been working so well for us. A bit more on this below. For my personal todo it was really bad because I didn't get email updates (maybe it does that now?). ↵
@georgemporter @trello We use it for our household shopping lists, and it's fantastic for that. Works on all devices, cards are nice and lightweight, etc. But back to managing a group. ↵
@georgemporter @trello One of the virtues was how cards would disappear instantly on everyone's screens when one person archived them. Bootstrap is very distributed, so on a call (pre Zoom) it was vital for everyone to have a shared view, and Trello syncing provided that. ↵
Read 7 tweets
12 May
Shout out to @femaregion1, @RIHEALTH, and others for an amazing experience with COVID vaccination in Providence today, a great illustration that public health is as much a social science as about medicine and biology. A short thread explaining why: ↵
I was accompanying a person who is very, VERY scared of needles. They wanted to get vaccinated, but were also really afraid of doing it. We went to The Dunc [@DunkinDonutsCtr]. Very smooth, quick, efficient. We get to the point where we get assigned a vaccination booth. ↵
The lady senses that this person is really nervous. They can't see the face (mask), but the voice gives it away. They ask, "Are you really nervous about this?" They say yes. I'm expecting the usual, "Oh, don't worry, it's nothing", etc. But no: ↵
Read 16 tweets
26 Apr
Here's a productivity technique I've been using for a month and has worked really well. It reduces distraction, focuses effort, and sets targets. It assumes most of your tasks accumulate as emails. I'll explain it in a short thread. ↵
Some of my inbox entries are big tasks that require a lot of thinking: e.g., correspondence with research colleagues on experiments, results, and papers. They take time and require me to engage deeply. Often interleave email, calls, and shared docs. ↵
But several things are small and, for external reasons, annoying. Examples: I need to: authenticate into a site, look up some info before replying, handle a few things similarly, add entries to a calendar, etc. ↵
Read 33 tweets
25 Aug 20
This is a #BookReview of a book I wish I'd read a long time ago: @Ram_Guha's "India After Gandhi". If your Indian education was like mine, I think you'll want to read it. I also know this will irritate some of my Indian friends (but do read through). Here goes: [thread»]
Guha's premise is that Indian history has tended to halt at 1947 (or 30 Jan 1948). Everything after that is sociology or political science. He wants to fix that, and spends over 900 pages doing so. I found the book gripping and wanting more. »
My hunger was stoked by my so-called education in social studies. History and civics were about memorizing, not analyzing. I could name a 100 kings but not tell you what any stood for. We had a vague sense of an Indian nation, hundreds of miles wide but an inch deep. »
Read 28 tweets
15 May 20
@bodil This is how you know Racket is a production tool meant for real software engineers, whereas the student languages are obviously not. If it can't generate confused SO posts, it doesn't really exist in the professional's mind. Without struggle, there is no triumph. »
@bodil More seriously: over the years, I've come to feel that slightly inferior technologies are better — not in the Gabriel sense but because they create communities (of support and help) and ecosystems (of tools). It's my own theory of worse-is-better. »
@bodil Every "tool" is actually a "weakness", but it keeps a community together. There's a way for people to contribute. It's like a game that leaves little bonuses lying around. If a novice can make a small contrib, even better. They feel good, and now they've made a commitment. »
Read 6 tweets
11 Apr 20
@maxsnew @samth To begin with, imagine if someone wrote an article about education from the perspective of videoconf tools. You'd think that's a tiny part of what goes into education, and maybe this is missing the big picture. Ditto an economics perspective. »
@maxsnew @samth Why would an emergency shift to online "accelerate a permanent shift"? If you have a building problem and someone brings in a temp trailer, do people assume we'll stay in the trailer forever? But the very phrase assumes a strong trend that doesn't really exist. »
@maxsnew @samth This old trope about "online superstars" has been played out. This is what everyone thought about MOOCs, too. And yes, there's a bit of preferential attachment. But it didn't put everyone else out of business. »
Read 25 tweets
7 Feb 20
I see increasing calls for conferences to allow remote presentation. This is a terrible idea that will ultimately lead to good things. Some thoughts. »
I understand the motivation. Travel is expensive. Visas are hard. CO2 is a thing. Harder still with mobility/health issues or living far from the action. And they're gatekeepers. »
But here's the thing. Conferences are not primarily meant as write-only media. It's in the very name (roots: conversation, getting together). Focusing on talks misses most of the value. »
Read 11 tweets
31 Jan 20
@yminsky @hillelogram I'll do my best. Here's my story. I was asked to teach upper-level software engineering many years ago. How hard can it be, I thought. I do SE, I publish in all the major SE confs, this should be easy. I got about a dozen SE books to read over winter break to design my course. »
@yminsky @hillelogram Something happened to me that NEVER happens to me. Middle of the day, deep in the middle of SE books, I was falling asleep. Like actually going out. I knew I couldn't in good conscience use such a book with my students. As this kept happening, I was panicking. »
@yminsky @hillelogram Then I realized the problem: it's all abstractions up front. (And more than a bit of what Spolsky calls architecture astronautics.) It was clear that if I began my classes the same way, I would kill my students. Had to find another way. »
Read 15 tweets
30 Nov 19
@krismicinski @tikhonjelvis Deeply controversial opinion. I love EOPL and was "raised on it", but I don't love it the same way any more. It's a great book *for people like me* (going on to get a PhD in PL). Not AT ALL sure it speaks to the "coder on the street". »
CC @AustinZHenley @tomgilray
@krismicinski @tikhonjelvis @AustinZHenley @tomgilray I wrote PLAI as a response to that ( It *intersperses* uses of concepts with their definition, and *precedes* use before definition. (Hence App followed by Impl in title.) Need to motivate these ideas for students. »
@krismicinski @tikhonjelvis @AustinZHenley @tomgilray A driving principle in my PL education thinking has been, "How do I successfully communicate with the other 90%?" That is, the 90% who won't go on to get a PhD in CS (10% is probably generous, maybe 1% will…so more like other 99%). They are NOT LIKE US. »
Read 24 tweets
5 Jun 19
This man literally has no idea what he's talking about. Stay in your lane, dude.
I got called out by @paulg for not explaining my comment. Fair point, though sometimes it's exhausting. Maybe that means one unwilling to explain their reasoning shouldn't comment at all. Topic for another day. Let me explain my response a bit here. »
Note that I'm assuming a SOUND type system. (Please look that up. E.g.: Pierce's TAPL or my PLAI [].) Otherwise many bets are off; depending on level of unsoundness, effectively a dynamic language (or worse). »
Read 28 tweets
19 May 19
Here's some context for my comment. My Indian educational system put a lot of store in rote learning. Being able to memorize a large quantity of information accurately, index it well, and reproduce it accurately conferred significant advantages. »
This was reinforced in some odd ways. In high school, I participated a lot (and well) in trivia competitions (which we called "quizzes"). Here knowing facts, names, and classifications was a superpower. »
Read 25 tweets
4 Feb 19
I didn't actually *answer* the original question, so let me try to write a few tweets about it here. It really depends on what you're starting with. Some would (very reasonably) argue that you should co-design a language and its type system. »
That would seem to work well if (a) you're designing a language from scratch and (b) you want that language to be typed. However, it's a smart idea to do it *even if you don't want the language to be typed right now, but might in the future*. That's what we did with @PyretLang: »
We asked, "What kind of type system might we someday want for this language", which also included (VERY CRUCIALLY) "What kind of type system do we NOT want for this language", and then designed it around that intended type system. »
Read 18 tweets
21 Sep 18
@madeofmistak3 Yes: I've done a ton of work on error messages too (some of which others working on errors have read):……
So that's not really the point I'm making.
@madeofmistak3 Let's read what the slide says: the error message should make it "obvious" how to fix "the" problem. Both of those words are very problematic and suggest an incomplete understanding of the issues or of very sloppy writing or sloganeering. »
@madeofmistak3 Let's first assume there isn't some very advanced AI is running between the error and message generation. Because sometimes it will be spectacularly right and sometimes spectacularly wrong, and in latter case will totally fail this criterion. So assume "traditional" messages. »
Read 15 tweets
6 Sep 18
This is a very good question about Examplar, so I'm highlighting it and responding. Also a good reminder about something hard-core CSists often forget: tools are never divorced from pedagogy. There's always at least an implicit one (literally the tool's "operating system"). »
There is a very real reason to be concerned about the "gamification" element here. Some students are indeed going to obsess about "closing both circles". (The left one they always should. The right one is the problem case. But both _could_ take hours.) »
Examplar currently offers no feedback on failing wheats/chaffs. It easily can. Past versions of auto-grading student examples (in batch mode, by us, w/out tool for students) would give "filenames" of failing wheats/passing chaffs. So easy to imagine incremental output here. »
Read 9 tweets
14 May 18
OK, confession. First time I taught SE I got a dozen books to read over break. I read a lot and never nap during the day. I literally fell asleep in the middle of the day. Multiple times. Because of the SE books. They are uniformly awful.
I realized part of the problem is that they're backwards in two ways. …
First, they begin with abstractions and move to concrete things rather than the other way around. One cannot meaningfully teach this way and hope to retain the attention of most students in a class of non-trivial size. …
Read 7 tweets
4 May 18
I haven't, but have wanted to. But let me summarize the issue. Suppose I have students A, B, C with deadlines in successive weeks. I allocate time accordingly to wrap up their papers in the last weeks. …
Now A's deadline is extended by a week. This sits directly atop the time that I *promised* to B. I have two choices, neither of them satisfactory. …
I can tell B "Sorry, I promised you exclusive access, but you don't get it". B did nothing wrong. The PC chair of A's conference did. But B suffers. …
Read 16 tweets