li

Womanish: a grown black woman speaks on love and life / Kim McLarin

Browsery E185.86.M244 2019




li

Dying of whiteness: how the politics of racial resentment is killing America's heartland / Jonathan M. Metzl

Browsery RA563.M56 M48 2019




li

The scientific journal: authorship and the politics of knowledge in the nineteenth century / Alex Csiszar

Browsery Q223.C85 2018




li

The anxious mind: an investigation into the varieties and virtues of anxiety / Charlie Kurth

Browsery B815.K87 2018




li

Skeleton keys: the secret life of bone / Brian Switek

Browsery QM101.S5487 2019




li

Walls: a history of civilization in blood and brick / David Frye

Browsery UG400.W35 2018




li

The devil's dinner: a gastronomic and cultural history of chili peppers / Stuart Walton

Browsery SB307.P4 W35 2018




li

Valley of genius: the uncensored history of Silicon Valley, as told by the hackers, founders, and freaks who made it boom / Adam Fisher

Browsery HD9696.2.U63 C3542 2018




li

Coming home: how midwives changed birth / Wendy Kline

Browsery RG950.K57 2019




li

Seeing race again: countering colorblindness across the disciplines / edited by Kimberlé Williams Crenshaw, Luke Charles Harris, Daniel Martinez HoSang, and George Lipsitz

Browsery LC212.42.S44 2019




li

Becoming a hair stylist / Kate Bolick

Browsery TT955.L46 B65 2019




li

Stories we live and grow by: (re)telling our experiences as Muslim mothers and daughters / Muna Hussien Saleh

Browsery HQ755.85.S25 2019




li

Antiracism: an introduction / Alex Zamalin

Browsery E184.A1 Z36 2019




li

Threatening property: race, class, and campaigns to legislate Jim Crow neighborhoods / Elizabeth A. Herbin-Triant

Browsery E185.61.H495 2019




li

Between Harlem and Heaven: Afro-Asian-American cooking for big nights, weeknights, & every day / J.J. Johnson and Alexander Smalls ; with Veronica Chambers ; photography by Beatriz da Costa ; food styling by Roscoe Betsill

Browsery TX715.2.A47 J64 2018




li

The social construction of difference and inequality: race, class, gender, and sexuality / Tracy E. Ore

Browsery HN59.2.S585 2019




li

In vivo: a phenomenology of life-defining moments / Gabor Csepregi

Browsery BD431.C74 2019




li

Hacking life: systematized living and its discontents / Joseph M. Reagle Jr

Browsery HM851.R432 2019




li

Mind and matter: a life in math and football / John Urschel and Louisa Thomas

Browsery GV939.U78 A3 2019




li

Reckoning: the epic battle against sexual abuse and harassment / Linda Hirshman

Browsery HQ1237.5.U6 H57 2019




li

Lifespan: why we age--and why we don't have to / David A. Sinclair, with Matthew D. LaPlante ; illustrations by Catherine L. Delphia

Browsery QH528.5.S56 2019




li

Reviving Ophelia: saving the selves of adolescent girls / Mary Pipher, Ph.D., and Sara Pipher Gilliam

Browsery HQ798.P57 2019




li

Julep: Southern cocktails refashioned / Alba Huerta & Marah Stets ; photography by Julie Soefer

Browsery TX951.H75 2018




li

Growing Up Aboriginal in Australia / edited by Anita Heiss

Browsery GN666.G76 2018




li

Basque country: a culinary journey through a food lover's paradise / Marti Buckley ; photographs by Simon Bajada

Browsery TX723.5.B36 B83 2018




li

How to smash garlic & the patriarchy: a modern womxn's field guide

Browsery HD6073.H8 H69 2019




li

Slime: how algae created us, plague us, and just might save us / Ruth Kassinger

Browsery QK566.K37 2019




li

The crisis of multiculturalism in Europe: a history / Rita Chin

Browsery HM1271.C4833 2017




li

Hanging out, messing around, and geeking out: kids living and learning with new media / Mizuko Ito, Sonja Baumer, Matteo Bittanti, danah boyd, Rachel Cody, Becky Herr-Stephenson, Heather A. Horst, Patricia G. Lange, Dilan Mahendran, Katynka Z. Martín

Browsery HQ799.2.M352 H36 2019




li

One life at a time: an American doctor's memoir of AIDS in Botswana / Daniel Baxter

Browsery RC606.55.B38 A3 2018




li

Invisible women: data bias in a world designed for men / Caroline Criado Perez

Browsery HQ1237.C745 2019




li

Linkbait 43

Back from hiatus. I’m starting up serious planning and writing of “CSS for JavaScripters” so this is a CSS-heavy linkbait, mostly filled with reminders to myself.

  • Every-layout.dev is easily the most important CSS resource to be unveiled in recent months. (In fact, it was unveiled at CSS Day, which was a nice touch.) Serious, in-depth, algorithmic discussion of several popular CSS layouts and how to construct them with care.
  • The 2019 State of CSS survey results. Contains several interesting gems. The figure that really surprised me is that 85% of the respondents is male. I thought CSS had a slightly higher ratio of women. Then again, maybe it’s the marketing of the survey that caused the disparity. (I never heard of it until I saw the results.) Or my gender guesstimate is just wrong.
  • The CSS mindset:

    [...] the declarative nature of CSS makes it particularly difficult to grasp, especially if you think about it in terms of a “traditional” programming language.

    Other programming languages often work in controlled environments, like servers. They expect certain conditions to be true at all times [...]

    CSS on the other hand works in a place that can never be fully controlled, so it has to be flexible by default. It’s less about “programming the appearance” and more about translating a design into a set of rules that communicate the intent behind it. Leave enough room, and the browser will do the heavy lifting for you.

    Interesting turn of phrase that echoes my own thoughts on the subject. Expect to find this in The Book.
  • Excellent overview of render blocking in CSS and how to avoid it. It’s simple, really, but there will be countless CSS programmers who need this sort of tutorials. Will also go in The Book.
  • An older article, but Harry Roberts’s Cyclomatic Complexity: Logic in CSS remains one cornerstone of CSS understanding, and teaching. This one is mostly meant to remind myself of its existence; you probably already read it.
  • Facebook lost 20% of its usage (likes, shares, and such) since the Cambridge Analytica scandal broke.
    This sounds great in theory, but what if the people who are harder to dupe are the ones who stop using Facebook, while the more gullible people remain? The average Facebook user would become more stupid, and Facebook would become even better at influencing its users.
  • Also, Facebook should be regulated. Not as a media company, but as a drug.
  • We all know third-party scripts are among the worst offenders when it comes to website performance. But how bad is it actually, and who are the worst culprits? Third-party Web provides useful answers and treeviews.
  • Excellent overview of WebViews, their purpose, their tricky bits, and their diversity. Required reading for all five people who care about the browser market.
  • [In Dutch] List of websites closed on Sundays. In an ultimate meta-move this list is only available on Sundays.
    (And why are these websites closed? Because their proprietors subscribe to the strict Dutch Reformed view that Sundays are not for media enjoyment. See this article about the SGP political party for more background information.)
  • You shouldn’t do thing with tool, you should do other thing
  • Have a tip for the next Linkbait? Or a comment on this one? Let me know (or here or here).




li

Linkbait 44

Links in times of chaos.

  • Laura Schenck, whose thoughts on programming CSS are very interesting anyway, discusses a project where she had to battle specificity. Key thought:

    Specificity breeds, much like conditionals breed in imperative languages [...]. Adding specificity is adding conditional logic. Once you start adding that logic, the code-base snowballs and it becomes difficult to understand, and thus difficult to maintain.

    She also asks if anyone who writes CSS should understand specificity to this degree. My answer is a firm Yes, just like you're expected to understand if- and for-loops when programming in any other language.
  • Rachel Andrew ponders the pros and cons of CSS4. She is afraid that people will get confused by “CSS4” because several articles said there will never be a CSS4, and the version number 4 does not align with the version numbers of existing modules. Although both are true, I seriously doubt whether the people that “CSS4” is aimed at (those I call the torso and long tail of the CSS world) are aware or care. To me, this argument is overly legalistic, in the sense that it doesn’t matter in the real world.
    A much more important argument is that the announcement of “CSS4” will make people expect a list of new features that work in all browsers. In itself that’s great, and I think it would be really helpful, but the problem is that someone will have to decide what goes on the list and what does not — and the CSS WG is already stretched thin and cannot spare the time to do this. Maybe we need a community effort to help them? Worth thinking about.
  • Interesting Twitter thread on why CSS is perceived as simultaneously very simple and very complicated.

    Because we think it's a simple language, we don't dive deep into it like we do with "real" programming languages. background: blue; makes the background turn blue, why should we bother diving in?

    But then it's time to build a layout and suddenly the combination of user agent styles and a lack of understanding in the fundamentals of CSS makes things break, or not behave how we expect them to.

    Yup.
  • Mostly for myself: the difference between defer and async on script tags. Or, as Nicholas Zakas puts it:
    • Do it now: <script src>
    • Do it later: <script defer src>
    • I don’t care when you do it, just not now: <script async src>
  • Coil, the web monetization company, offers some interesting but too-much-under-the-radar thoughts on probabilistc revenue sharing. The idea is simple: if A, B, and C cooperate on a to-be-monetized article, and A is allotted 60% of the revenue, B 25% and C 15%, you simply add those probabilities to your payment pointers. Eventually a tool will draw a random and assign a specific payment to a specific author, but for now you can use a script to emulate that behaviour.
  • Google proposes to sunset the User Agent string by freezing its version number and removing device information. The purpose here is to make fingerprinting (combining UA string, IP address, TCP/IP settings, device information and a host of other bits and pieces to accuratenly identify a web user) more difficult.
    The UA string will be replaced by client hints that give web developers some information about the browser, device, and platform. These hints will likely be more generic than the UA string, and thus hamper fingerprinting.
    The second problem with UA strings is the eternal arms race between clueless web developers and browser vendors, where web devs start using a certain badly-written browser detect, which forces browsers who want to end up on the good side of it to adjust their UA string, so that it gathers more and more cruft. (This is the reason every single browser string out there still starts with Mozilla.) I do not see this arms race go away. For instance, if the new Flow browser wants to defeat new browser detects written with client hints by clueless web developers, it will most likely be forced to announce itself as Chrome. Worse: we lose the ability to accurately identify it as Flow. As a result, new browser stats will make it appear as if Chrome is even more dominant than it actually is.
    Maybe we need another field Sec-CH-RealUA or something, where the browser can use its true name. On the other hand, that will be more fodder for clueless web developers and will perpetuate the arms race.
    In any case, to me it seems that more-or-less-accurate browser statistics will be the most important casualty of this switch.

    Related links (mostly for myself): client hints as currently implemented; discussion on a previous Safari attempt to do something similar; Blink intent to ship
  • Mozilla and KaiOS Technologies are going to cooperate on future versions of KaiOS, the operating system for “smart feature phones” (read: cheap phones) that’s based on Firefox OS. Included in the article is a whole list of features Mozilla will work on, but they essentially boil down to keeping KaiOS updated for the ever-evolving web.

    Broadly speaking, these updates will mean many first-time internet users gain access to more of the web’s advanced digital services on devices that are affordable, reliable, and secure.

    Remember: KaiOS is aimed at not-so-rich people from emerging markets. As of May 2019 there were about 100 million devices out there. That’s piss poor compared to iOS and especially Android, but let’s see if their use explodes or not.
  • Have a tip for the next Linkbait? Or a comment on this one? Let me know (or here or here).




li

Playing board games online

One of the things that keeps me fairly upbeat these days is playing board games and D&D with my friends online. Since others might want to do the same, I thought I’d jot down some notes on how I do it.

I briefly tried Tabletopia but didn"t like it. I understand why they built the interface as they did, but I found it very hard and very confusing to use, and it took us about 45 minutes to even start understanding the system. Granted, we picked Teotihuacan for our test game, which may not have been the best of choices.

So I continued using my homebrew system, and it works great so far.

Technical set-up

I use Whereby (the former appear.in), a WebRTC service that works absolutely GREAT. I totally recommend it to everyone for your online communication needs. The greatest thing about it is that you just go to a URL, ask the people you want to communicate with to go to the same URL, give permissions, enter the room, and start talking. No sign-ups or logins or whatever.

I have a pro account (or whatever it’s called) that allows 12 simultaneous connections to my room. You can also just grab a room name, go there, and start communicating, but these free rooms have a maximum of four simultaneous connections. So I advise you to take a paid account; you will most likely need more than four connections for playing board games online.

Besides, fuck free. The free Internet is slowly coming to an end and you should pay for services you like and use, or they won’t survive (or sell your data; see also Zoom).

Whereby works on modern Chromium-based browsers, and also in Firefox (though I haven’t tried Firefox on Android yet). It does not work in Safari iOS, but an app is available that works as simply as the web client.

Then figure out how many devices you own that you can use. On the whole, I send out three streams: my 'social' stream (my face, basically) from my laptop, the main board stream from my iPad, and a secondary board stream from a Samsung S6 I happened to have lying around. I occasionally use my real Samsung phone (an S7) as a third cam, for instance to make sure that everyone has the same bits and pieces on mirrored player boards.

Plug in all devices you use, and make sure any phones are on at least 25% charge or so before starting. My Samsung phones, especially, tend to spend a lot of juice on keeping the streams running, and even though plugged in all the time they might end up with less battery charge after a gaming session.

Mute Whereby on all devices except for your social stream. One very annoying thing I noticed is that, both on the iPad and on the Samsungs, it is impossible to turn off the sound completely. Therefore you need to do two things:

  1. Disable sound input by clicking on the microphone icon in the bottom bar.
  2. Disable sound output of all connections by clicking the Mute option in the menu you get after clicking on the three bullets icon in the upper right corner. You must repeat this for every connection.

You can only mute the output once everyone else has joined the stream. If someone drops out and re-joins you must mute them again. This is annoying; but it’s caused by idiotic device vendors not allowing you to mute the sound completely by using the provided hardware buttons — don’t ask me why they took this stupid step.

Now ask the others to join you. If possible and necessary they can also add their own cameras, for instance to show their player boards.

Picking the game

With the technical set-up out of the way, you should pick your game. I found that there are two absolute necessities here:

  1. All players must own the game, so that they can copy the moves of the other players.
  2. The game should have little to no hidden information.

So you might need to buy the same game as your friends. If you are in the Amsterdam area, please support your friendly local game store Friends & Foes instead of the big online retailers. Friends & Foes deliver in Amsterdam (I just ordered Tzolkin from them).

The two games I played most often so far are Azul and Alchemists. I am currently gearing up to try Madeira, Istanbul and Tzolkin; they should work as well.

Azul, Madeira, and Tzolkin have no hidden information at all. They have a variable set-up (and in case of Azul this is repeated each round), but that should be no problem.

Appoint one player or group of players as the Master; the other ones have Copies. The Master players draw all the randoms and show them to the other players, who copy them on to their Copy boards. Having the Master set provide all random draws is very important, since usually quite a bit of design thought went in to deciding exactly how many of one type of card or tile are available. These distributions should not be disturbed!

Azul

With Azul it is very important that all players set up copies of all other players’ personal boards. Part of the game is figuring out which tiles other players are likely to want, and for that all players need an overview of who has which tiles in which position.

Wnen I stream Azul, the main camera is on the central part with the available tiles. Other players can copy that if they like, but it’s not really necessary if the stream is clear enough. My secondary camera is on my own player board, so that everyone can see what I’m doing.

During the game all players clearly state their moves; for instance “I take the two blues with the star, and I put them on my three row.” I take the tiles from the central part, and the other players see me doing that, so they can correct me. They don’t see my copy of their playing baords, but that has never been a problem yet, as long as everyone gives clear instructions.

After a round has ended but before scoring I start up my tertiary camera to stream my copies of everyone else’s player boards, just to make sure no mistakes were made. Then I score each player’s board while showing it on camera. We repeat our final scores orally, just to be sure, and then the Master player sets up for the next round by drawing random tiles from my Master bag.

Alchemists

Alchemists does have a little bit of hidden information: random ingredients drawn, and random helper cards we always call Friendly Friends. (I forget their official name.) The Master player draws these cards for me and shows them on their camera without looking. I take the corresponding cards from my own copy of the game. This works fine, and the distribution of ingredients and Friendly Friends remains intact.

Alchemists really only needs a Master main board stream and social streams; there is no reason to add more cameras.

Although Alchemists’ board is pretty big, it doesn’t contain all that much information, which is good for online gaming. I just need to see which artifacts and ingredients are drawn (and copy them to my own board), and where players place their action cubes (and copy them as well). If I can’t see it clearly I just ask, and that works fine.

Part of Alchemists becomes much easier. In real life every player needs a beautifully-designed but sometimes cumbersone player contraption to both visualise their research and hide it from the other players.


Credit: Karel_danek

Online, it’s not necessary, and I find that my research and thinking flows much easier. Other players cannot see my board, and that gives me a lot more space to work with.

Madeira, Istanbul and Tzolkin

I haven’t played Madeira, Istanbul and Tzolkin yet, but they do not contain hidden information; just start-of-game randoms, plus the random buildings that occasionally appear in Tzolkin and the bonus cards in Istanbul. I do not think these will cause a problem.

The bigger problem might be that their boards are much more involved, and there’s a lot of game state to track. I might need to use two cameras to stream them accurately; I’m not sure yet. We’ll figure that out once we do the first session.




li

Photovoltaic systems : design, performance and applications / Wassila Issaadi, and Salim Issaadi, editors





li

Special functions and generalized Sturm-Liouville problems Mohammad Masjed-Jamei

Online Resource




li

Arakelov geometry over Adelic curves / Huayi Chen, Atsushi Moriwaki

Online Resource




li

Mathematical topics on representations of ordered structures and utility theory: essays in honor of Professor Ghanshyam B. Mehta / Gianni Bosi, María J. Campión, Juan C. Candeal, Esteban Indurain, editors

Online Resource




li

Power in numbers: the rebel women of mathematics / Talithia Williams, PhD

Online Resource




li

Strange functions in real analysis / A.B. Kharazishvili

Online Resource




li

Fourier restriction, decoupling, and applications / Ciprian Demeter

Dewey Library - QA403.5.D46 2020




li

Difference equations for scientists and engineering: interdisciplinary difference equations / Michael A. Radin (Rochester Institute of Technology, USA)

Dewey Library - QA431.R3255 2019




li

Stabilization of programmed motion / E. Ya. Smirnov

Online Resource




li

Spectral theory of bounded linear operators Carlos S. Kubrusly

Online Resource




li

Stochastic processes with applications to finance.

Online Resource




li

Random matrices / Alexei Borodin, Ivan Corwin, Alice Guionnet, editors

Dewey Library - QA196.5.R3585 2019




li

Probability theory and statistical inference: empirical modelling with observational data / Aris Spanos

Dewey Library - QA273.S6875 2019




li

Bifurcation and stability in nonlinear dynamical systems / Albert C.J. Luo

Online Resource




li

Probability and statistics for data science: math + R + data / Norman Matloff

Dewey Library - QA273.M38495 2020