ga

Infinite powers: how calculus reveals the secrets of the universe / Steven Strogatz

Browsery QA303.2.S78 2019




ga

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

Browsery BD431.C74 2019




ga

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

Browsery HQ1237.5.U6 H57 2019




ga

The House of Government: a saga of the Russian Revolution / Yuri Slezkine

Browsery DK601.S57 2017




ga

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

Browsery HD6073.H8 H69 2019




ga

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

Browsery QK566.K37 2019




ga

Tambora and the year without a summer: how a volcano plunged the world into crisis / Wolfgang Behringer ; translated by Pamela Selwyn

Browsery QE523.T285 B4413 2019




ga

Negative margins in CSS

I’m writing the Box Model chapter of the new book and came to the point where I had to treat negative margins. To my surprise, I found that there is no systematic treatment of negative margins anywhere. So I had to figure it out for myself. Below is my initial draft of the negative margin section.

The latest specification only says: “Negative values for margin properties are allowed, but there may be implementation-specific limits.” and leaves it at that. Not extremely helpful. MDN is mostly silent as well, and Rachel Andrew’s big overview article doesn’t mention negative margins at all.

That’s odd, especially since negative margins are a very old functionality that I might even have used in my very first CSS test somewhere back in 1998. (Unless I used position: relative; I can’t remember.)

But anyway, here is, apparently, the first-ever systematic treatment of negative margins in simple situations.

Negative margins in CSS

It is possible to give margins a negative value. This allows you to draw the element closer to its top or left neighbour, or draw its right and bottom neighbour closer to it. Also, there is an exception we’ll get to in a minute.

Here is our test element: a simple container with three paragraphs in it. Note that the paragraphs have a width of 250px. This is extremely important, due to the exception we’ll get to in a minute.

First paragraph with a bit of text in it to provide some content.

Second paragraph with a bit of text in it to provide some content.

Third paragraph with a bit of text in it to provide some content.

Negative margin-top and -bottom

To start, let’s give the first paragraph a -15px margin-bottom. Essentially, when the browser calculates the point where the second paragraph should start, it moves that point 15px upward. From then on the browser lays out all paragraphs as normal.

First paragraph with margin-bottom: -15px.

Second paragraph with a bit of text in it to provide some content.

Third paragraph with a bit of text in it to provide some content.

Therefore the second paragraph, being the bottom neighbour of the first one, is draw 15px closer to the first paragraph. The margin between the second and third paragraphs remains intact; the browser calculates it normally. Thus, the rest of the vertical rhythm is preserved.

This trick is useful for subtle tweaks, where the content of one element should slightly overlap the content of the one above it.

Now let’s give the second paragraph a -15px margin-top. As you see, this yields exactly the same effect. Again, the second paragraph is moved upward by 15px, and the subsequent paragraphs follow.

First paragraph with a bit of text in it to provide some content.

Second paragraph with margin-top: -15px.

Third paragraph with a bit of text in it to provide some content.

Margin collapsing

Also note that margin collapsing behaves different when you use negative margins. This, at least, is specified in CSS 2.1:

In the case of negative margins, the maximum of the absolute values of the negative adjoining margins is deducted from the maximum of the positive adjoining margins. If there are no positive margins, the maximum of the absolute values of the adjoining margins is deducted from zero.

In the last example, the first paragraph still has its default margin-bottom of 1em (Chrome; can’t find Firefox’s value).

Normally, the browser would take the first paragraph’s margin-bottom and the second one’s margin-top, figure out which one is larger, and apply that margin between the two, which would yield max(-15px,1em) = 1em. That’s not how it works, though.

In case of negative margins we take the absolute values of the two adjoining margins (15px for the second paragraph; 1em for the first), and deduct the smaller (15px) from the larger (1em). This yields about 1px (depending on the font size, of course).

Thus, negative margins are actually allowed to pull elements closer to their neighbours without being hindered by regular margin collapsing.

Now we treated negative margin-top and -bottom fully. It’s an occasionally useful effect.

Negative margin-left and -right

Negative margin-left and -right work the same, provided the element has a width. Here we apply margin-left: -10px and margin-right: 10px.

First paragraph with margin-left: -10px.

Second paragraph with margin-right: -10px.

Third paragraph with a bit of text in it to provide some content.

As you see, the first paragraph is now offset 10px to the left, while retaining its width. Thus, its right edge also moves 10px to the left.

The second paragraph with the negative margin-right is unaffected. The negative margin-right would influence any element to the right of the second paragraph, but there aren’t any.

To show negative margin-right in its full glory, let’s float the paragraphs, so that they have a right neighbour. Here is the reference element.

First paragraph with a bit of text in it to provide some content.

Second paragraph with a bit of text in it to provide some content.

Third paragraph with a bit of text in it to provide some content.

Now we’re going to sprinkle some negative margins on the paragraphs.

First paragraph with margin-right: -10px.

Second paragraph with margin-top: -10px.

Third paragraph with margin-bottom: -10px.

As you see, the second paragraph is now drawn 10px closer to the first one due to the first’s negative margin-right. This is exactly the same effect as with a negative margin-bottom.

Also note that the second paragraph has a negative margin-top, which means it is offset 10px upward. The third paragraph has a negative margin-bottom, which has no effect, since it does not have a bottom neighbour.

Remember: margin collapsing does not work on margin-left and -right; just on -top and -bottom. Therefore we do not have to worry about it in this case.

If we give the second paragraph a margin-left: -10px, the same happens. Just like with top and bottom, left and right are interchangeable for this effect.

First paragraph with a bit of text in it to provide some content.

Second paragraph with margin-left: -10px.

Third paragraph with a bit of text in it to provide some content.

So far, negative margin-left and -right behave exactly like negative margin-top and -bottom.

width: auto and negative margin-right

Now let’s change the behaviour of negative margin-right by giving the paragraphs width: auto. They do not have a fixed width any more; instead they fill up their parent element completely while respecting its padding. That’s how width: auto works.

The paragraph with margin-left: -10px is still offset 10px to the left, but its width grows. Thus, its right edge is not offset but stays where it is.

Reference paragraph

First paragraph with margin-left: -10px.

Second paragraph with margin-right: -10px.

Third paragraph with margin-left: -10px; margin-right: -10px

The negative margin-right now does the same thing. It offsets the paragraph’s right margin by 10px to the right, and the paragraph’s width increases, causing its left edge to stay where it is. This only happens when an element has width: auto. As we saw before, elements with a fixed width behave quite differently.

Finally, the third paragraph has both. Both its left and its right margins are offset by 10px, essentially negating the container’s padding: 10px;.

This is by far the most common use case for negative margins. You give a container a padding so that its contents have some breathing space. However, you want the header to span the entire container, ignoring the padding. Negative margins are the way to go.

This is a header

This is a regular content paragraph.

This is a regular content paragraph.

These are the header styles; the container has padding: 10px

h5 {
	margin-left: -10px;
	margin-right: -10px;
	padding-left: 10px;
	margin-top: 0;
	margin-bottom: 0;
	background-color: grey;
	color: white;
	/* no width, so defaults to width: auto */	
}

Again, this is only possible if the header has width: auto. Fortunately that’s the case in 99% of real-world use cases.

This is how negative margins behave in simple situations. Now that I established a baseline I can look into how they behave in flexboxes and grids.



  • CSS for JavaScripters

ga

Conference organising in times of chaos

To the surprise of exactly no one, we cancelled CSS Day 2020, originally slated for 11th and 12th of June. In this post I’d like to explain our reasoning, and call for a gesture of solidarity and support to small, independent conference organisers.

All CSS Day attendees received a mail with details about the reimbursement process. If you did not receive it we do not have your correct email address on file, and you should contact us.

Being a good attendee

If you want the independent web conference community to continue to exist in the future, there are a few things you can do for your friendly local conference organiser.

  1. Make sure they can reach you. Check your email address in their sales system.
  2. If the conference offers the option, and if you can afford it at all, allow them to move your ticket forward to the next edition. This will give them some financial breathing room. See it as an interest-free loan aimed at preserving the ecosystem all of us built.
  3. Be understanding of delays and uncertainties. All conference organisers must chart their own course, and some will be taking a wait-and-see approach, especially if their conferences are scheduled for late June or beyond.
  4. If conferences do run, be accepting of a sharply diminished experience. It is very likely that conferences sell way fewer tickets than usual, and the most obvious way of saving money is removing luxury items such as nice extra catering options, afterparties with free drinks, diversity tickets, captioning, possbily even wifi. Speakers may be asked to waive their speaking fee. The entire conference might be moved online. Be accepting of such occurrences, and remember that they’re aimed at allowing the organisers to support themselves and their families.

A good example of the last point is the perfmatters conference over in the US. It switched to an online conference, but offered no refunds for the sharp decline in experience because the money was already spent. As a partial recompense, all attendees were allowed to invite someone else to the online conference.

I fully support Estelle in this difficult decision, but at the same time I’m glad I don’t have to do the same.

More in general, the question is whether we want the independent web conference community to survive. (I do, but I’m biased.) If we stick together, and attendees are accepting of cancellations, sharp service level declines, and possibly even loss of money, we might survive.

If we don’t, in a few years we’ll only have corporate conferences with a corporate agenda to attend.

Your choice.

Being a good sponsor

As a sponsor, there are also a few things you can do:

  1. If you can afford it, and the sum is not too large, allow cancelled conferences to retain your sponsorship money, possibly as a down payment for a sponsorship next year.
  2. Be accepting of point 4 above. If you had earmarked your sponsorship for a specific purpose, be prepared to waive that purpose.
  3. That last point will likely remain true for the next year. Please do not earmark future sponsorships, but allow the organiser to spend it as they see fit — and that includes avoiding personal bankruptcy.

Conference finances

Just so you understand my perspective: with one stroke I lost 1/3rd of my annual income. The situation is dire, though fortunately not hopeless. Other conference organisers are hit even harder.

The real question for me personally is whether performance.now(2020), 12th anf 13th of November, will run. Right now we think it will, but if it doesn’t I lose another third of my annual income and I have a real problem.

CSS Day was still far removed from the break-even point. That was completely expected at this time of the year, and even ten days ago we didn’t worry about it. Now, however, we must work with a scenario where we will not sell any more tickets, and where some current ticket holders will ask for a reimbursement. Thus, the financial risk of running the conference has gone from fairly low to enormous. This informs all decisions we took.

A small, independent web conference of our type breaks even when about 60-75% of the tickets are sold. Any number below 60% means that the organisers will have to pay money out of their own pocket.

We try to keep prices relatively restrained, that’s why the break-even point is so high. Huge corporate IT conferences have quite different break-even points, especially if they use the sponsor money to actually pay for the conference and put the complete proceedings of the ticket sales in their own pockets.

June cancelled

It is possible that the de-facto travel ban will be rescinded by early June. The big question is when exactly that will happen. Even if we are absurdly positive and say that we’ll be out of the woods by late April or early May, people will still be understandably concerned about their health, and will not be amenable to booking a trip for the next month.

That means that, in practice, even in a fairy-tale positve scenario we will sell way fewer tickets than last year. It is quite likely we will stay below the magical 65% line that breaks us even. Remember: every single cent we’d pay would come from our own pocket, since we’re going to reimburse the tickets and lose that money. The risk is simply too big, and we decline to run it. The organisers of the XOXO festival explain this problem more clearly than I can.

An added benefit is that we have not yet made any large payments to the venue and the hotel, and if we cancel now we won’t have to. Our suppliers are understanding of the situation, and it appears that the only costs we have to pay is a single speaker flight. That’s manageable.

Online conference? Nope

So: no physical conference in June. But what about an online conference or a postponed one?

Moving conferences online is frequently suggested on Twitter — mostly by people who have no experience in organising conferences. Sure we could try to do that, but there are considerable downsides:

  1. Will our audience buy tickets for an online-only conference? Our mailing lists and past audience have self-selected for a desire to attend a physical conference, where not only the talks, but also the social gatherings in the hallways are very important. Some people don’t like that, but our audience very much does.
  2. The ticket price would have to be significantly lower than for a physical conference. Of course, the costs would also be significantly lower, but a much lower ticket price still means much less profit per ticket. Financially, it might work. Then again, it might not. We just don’t know.
  3. What about our current ticekt holders? Our ticketing system allows us to reimburse them (and we will do so), but it has no option to partially reimburse the tickets of those attendees who’d like to switch to the online conference. We’d have to go through a manual process of invoicing and reimbursing that is likely to take a LOT of time.
  4. Then we’d have to find suitable software for online conferences. No doubt there are quite a few good options, but since we have no experience it would take us a long time to pick one.
  5. The biggest problem with online conferencing software is that we cannot test it. If something goes wrong on the conference day itself, we essentially do not know what to do, attendees become dissatisfied, and our brand suffers. People might even ask for a reimbursement — and we can’t even tell them they’re wrong.
  6. The massive uncertainty that comes with the software will have caused us to live in a state of ultra-stress for weeks, and that is not conducive to reasoning and clarity of thought.
  7. Finally, all of this would take a lot of extra time that we cannot spend on other jobs. Although it’s possible we would make some money, it’s also possible that we won’t. The risk is too high.

So our huge time investment and stress load might not actually pay out, and I personally might still be left with a gaping hole of about 1/3rd of my annual income after spending way too many weeks on a solution that didn’t work, left everyone dissatisfied, and precluded me from doing other work while stressing me out so much that I have to take a few weeks’ break without having any money.

I will not go that route. The risk is too high.

Postponing? Nah

Postponing the conference is a more realistic approach. But to which dates? The venue was kind enough to offer us early September dates, but we doubt those are going to work.

Same problem as always: will people buy tickets? They might, but they might not. The risk is too high.

There are additional risks, as Niels Leenheer, who was recently forced to cancel the Fronteers 2020 conference, outlines in a recent article. If many conferences move to fall dates, they will compete not only with one another, but also with the regularly-scheduled conferences that would take place in fall anyway. It’s a lose-lose scenario for everyone.

Part of conference organising is the careful planning of the date. You do not want to be too close to similar conferences, and you’re bound to conference season anyway, which stretches from early March to late June and then from mid September to early December — at least in Europe.

Moreover, once you have a time slot that you have used for several years in a row, your attendees — and your competitors — adjust to that. Changing it is something not to be considered lightly, and will affect not only your own conference, but also other ones planned around the new dates. Solidarity requires us to stay away from the time slots of other independent web conferences.

Also, speakers may have other obligations by that time, or they might still decline to come due to health concerns. All this is entirely understandable, and while we have built up a great network of supportive former speakers who would probably be willing to help us out, it wouldn’t be the conference our attendees bought a ticket for. Besides, it would mean repeating speakers year over year, something we generally try to avoid.

Finally, this would cost us some extra time, though not nearly as much as moving the conference online. Is it the wisest course of action to spend that extra time on postponing the conference instead of looking for other jobs? I don’t think so.

The risk is too high. It’s far better to write off CSS Day 2020 entirely and use the freed-up time to make money in other ways.

***

So that’ where we stand right now. The independent web conference community is taking a severe hit, and we are no exception. Still, we aim to return.

There’s one silver lining: when all this is over there will be pent-up demand for conferences. Plenty of people enjoy going to them, and while skipping one is not a great hardship, skipping an entire conference season might be. So with a little bit of luck our conferences might return to normal in 2021.

If we stick together and show some solidarity we can survive this.

Stay healthy,




ga

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.




ga

Model management and analytics for large scale systems / edited by Bedir Tekinerdogan, Önder Babur, Loek Cleophas, Mark van den Brand, Mehmet Aksit

Online Resource




ga

Stochastic game strategies and their applications / by Bor-Sen Chen

Online Resource




ga

Nonlinear dynamics of structures, systems and devices: proceedings of the First International Nonlinear Dynamics Conference (NODYCON 2019). / Walter Lacarbonara, Balakumar Balachandran, Jun Ma, J. A. Tenreiro Machado, Gabor Stepan, editors

Online Resource




ga

From Lambda Calculus to cybersecurity through program analysis: essays dedicated to Chris Hankin on the occasion of his retirement / Alessandra Di Pierro, Pasquale Malacaria, Rajagopal Nagarajan (eds.)

Online Resource




ga

Continuous semigroups of holomorphic self-maps of the unit disc Filippo Bracci, Manuel D. Contreras, Santiago Díaz-Madrigal

Online Resource




ga

Continuous and discontinuous piecewise-smooth one-dimensional maps: invariant sets and bifurcation structures / Viktor Avrutin (University of Stuttgart, Germany), Laura Gardini (University of Urbino, Italy), Irina Sushko (National Academy of Sciences of U

Dewey Library - QA614.8.A97 2019




ga

Nonlinear dynamics and control: proceedings of the first International Nonlinear Dynamics Conference (NODYCON 2019). / Walter Lacarbonara, Balakumar Balachandran, Jun Ma, J.A. Tenreiro Machado, Gabor Stepan, editors

Online Resource




ga

Zero-sum discrete-time Markov games with unknown disturbance distribution: discounted and average criteria / J. Adolfo Minjárez-Sosa

Online Resource




ga

New trends in nonlinear dynamics: proceedings of the first International Nonlinear Dynamics Conference (NODYCON 2019). / Walter Lacarbonara, Balakumar Balachandran, Jun Ma, J.A. Tenreiro Machado, Gabor Stepan, editors

Online Resource




ga

Game theory: an applied introduction / José Luis Ferreira

Dewey Library - QA269.F47 2020




ga

Morse theory of gradient flows, concavity and complexity on manifolds with boundary / Gabriel Katz

Dewey Library - QA614.7.K37 2020




ga

The Joy of SET: the Many Mathematical Dimensions of a Seemingly Simple Card Game.

Online Resource




ga

Practical optimization / Philip E. Gill, Walter Murray, Margaret H. Wright

Online Resource




ga

Rahul Gandhi speaks to Raghuram Rajan on Covid-19's economic impact

The video of their conversation is likely to be streamed soon




ga

Kannada actor Huccha Venkat arrested over comments against Ambedkar

Kannada actor Huccha Venkat arrested over comments against Ambedkar





ga

Bengaluru's lakes turn into sewage pools

Bengaluru's lakes turn into sewage pools





ga

Bengaluru techie murder

Bengaluru techie murder




ga

Bengaluru leopard scare

Bengaluru leopard scare




ga

Kailash Kher enthrals music lovers in Bangalore

Kailash Kher enthrals music lovers in Bangalore




ga

ATM robbery attempt in Bangalore foiled as brave security guard fights thieves

ATM robbery attempt in Bangalore foiled as brave security guard fights thieves








ga

Now, scientists try and figure out what makes Game of Thrones popular

Now, scientists try and figure out what makes Game of Thrones popular




ga

Bengaluru techie crushed to death while trying to get off moving train

Bengaluru techie crushed to death while trying to get off moving train




ga

Bengaluru Metro Phase II

Bengaluru Metro Phase II




ga

Trump thinks journalists who covered 2016 Russian investigation should retu...

Trump thinks journalists who covered 2016 Russian investigation should retu...




ga

Non-bailable warrant against AAP MLA Prakash Jarwal in connection with doct...

Non-bailable warrant against AAP MLA Prakash Jarwal in connection with doct...




ga

Criminal injured in encounter with police in UP's Aligarh

Criminal injured in encounter with police in UP's Aligarh




ga

Coronavirus pandemic: Leganes manager reveals date when La Liga will resume...

Coronavirus pandemic: Leganes manager reveals date when La Liga will resume...




ga

Top sports news: La Liga to resume from June 20? BCCI treasurer provid...

Top sports news: La Liga to resume from June 20? BCCI treasurer provid...




ga

Gambling on ore: the nature of metal mining in the United States, 1860-1910 / Kent A. Curtis

Dewey Library - TN623.C87 2013




ga

Celebrating the megascale: proceedings of the Extraction and Processing Division Symposium on Pyrometallurgy in honor of David G.C. Robertson: proceedings of a symposium sponsored by the Extraction and Processing Division of The Minerals, Metals & Mat

Hayden Library - TN688.5.C45 2014




ga

The physics and chemistry of inorganic clathrates / edited by George S. Nolas

Online Resource




ga

Gmelin handbook of inorganic chemistry.: Geochemistry: hydrosphere, atmosphere. Cosmo- and geochemical cycles / authors: Bärbel Sarbas, Wolfgang Töpper ; editors: Wolfgang Töpper

Online Resource




ga

Gmelin handbook of inorganic chemistry: Compounds with Se / authors: Hartmut Bergmann, Hiltrud Hein, Peter Kuhn, Ursula Vetter ; editors: Gerhard Czack...[and more]

Online Resource




ga

Gmelin handbook of inorganic chemistry: compounds with Te, Po / authors: Ingeborg Hinz, Peter Kuhn, Ursula Vetter, Eberhard Warkentin ; editors: Hartmut Bergmann, Hiltrud Hein, Ingeborg Hinz, Ursula Vetter

Online Resource