So you guys really liked this kind of tutorial and you wanted to see the process for a slightly more complicated character that included custom bone shapes and possibly reverse jointed. Not a problem. Luckily for you guys I happen to have exactly that kind of character ready. So let's do this. For starters, let's turn all the armor off so we can only see the body we need to weight paint. We'll talk about the tail later but for now shift A, armature and move the root bone where the bottom of the pelvis would be. Then press E to extrude two more bones to complete the spine. Right click the middle and press E to extrude one more bone to make the controller for the spine IK handle. Continue to extrude and make some neck and head bones. They don't need to be connected and detach one more bone to create the tail control. From here we'll extrude another bone to start the leg. A trick that I like to do is make one big bone, move it into place, then right click and subdivide it into smaller joints as needed. And as usual we'll extrude an IK control bone at the bottom that should have no parent and we'll do that again to make the pull target for the knee. Then we'll do the exact same process for the arms and on the hand make an extra bone in the same place for the arm IK. And as usual don't forget to make the elbow IK for the extra control. Awesome! Now that pretty much completes the skeleton so now we have to go through and name all the bones. Don't forget that we're going to be mirroring the left and right side over to each other so remember to add the words left and right to any bones that need to be mirrored. Once everything is named go ahead and check to make sure that the arms and elbow IKs are parented to the top of the spine and the legs and knee IKs are parented to the bottom of the spine. Then select all the bones that you want to mirror, right click, symmetries. Awesome! Now we just have to add IKs to the arm and the legs, click the handle, shift click the shin, shift I and assign the correct knee pull target. And our legs have two bones so we'll set chain length to two. If you see the leg bend in a weird angle like this it usually means you need to set the pull angle to something like 90 or negative 90. 90 seemed to work for us and now you can see that the knee IK controls the angle while the foot IK controls the leg. Repeat this exact same process for the other leg and when you get to the arm it's the exact same drill. Click the IK handle, shift click the forearm, shift I, assign the pull target and again if the angle is a little weird change the pull angle. Also something I'd like to point out is you can actually add all the IK stuff to your arms and legs before you symmetries. I just thought it would be easier for you to understand to see it all done step by step but when you do this for real just do the IK stuff first and then symmetries it. Okay now all the IK controls should be working fine except for the last one which is the spine. So click the IK handle, shift click the middle spine, shift I, then we go back over here and make sure that chain length is set to one. Awesome, now we can control the top of the spine with this IK bone. But the rotation is a little bit off so to fix that click the IK, shift click the top of the spine bone and press control, shift, C and R. This will make the top spine bone copy the rotation of the IK bone. And we're going to repeat the process for the hand bones because we also want the hands to copy the rotation of the hand IKs. Okay so the hard part is over, the rig works and now we just have to weight paint the body to the rig. The wings on my character aren't really going to move so I'm just going to parent them to the top of the spine, then I'm just going to parent the head to the head bone, then we're going to click the hips and auto-paint them to the rig, then click the shins and auto-paint those to the rig. Alright, looks good. So finally we'll auto-paint the main body to the rig. Now the weight painting is pretty much done but you can see that there's some weird stuff going on here. Like when I moved the arm the hips shouldn't be affected but they seem to be connected somehow. So to fix that we'll click the rig, shift click the hips and go to weight paint mode, make sure auto-normalize is on, check mirror X, X and topology mirror. Control click the hip bone and just make sure that the weird parts are completely red so that they only move with the hip bone. Okay, now the topology mirror should have mirrored our paint job to the other side automatically. And if we check it out, looks like it worked. That was really the only weird part the auto-weight paint didn't catch. So if we test the rest of it, looks like it moves around pretty good. You can perfect it later if you find things you don't like. But it looks good to me so now we just parent all the armor to the proper bone. So the tail should be parented to the tail bone, the guns should each be parented to the corresponded hand bones, shoulder pads should be parented to the spine, or you can do the biceps, depends on what kind of look you're going for. The core armor should be parented to the top of the spine and that should be everything. The whole body and armor pieces now properly move with the rig. And as usual our next step is to separate the control bones onto a different layer for animating. So shift click all the bones that aren't needed for animation, press M and move them to the second layer. This makes it much easier to see the bones, to see necessary bones and will save a lot of time when animating. And the natural next step is to color code them. So go to the groups and we will make three groups, red for right, green for left and yellow for middle. And as usual to assign a color, just select all the bones and click assign. You'll do this for the green side, the red side and the middle. From here I usually turn bone mode to stick just to see things a little easier and you guys wanted to see how to use custom bone shapes so I'll go ahead and show you. Let's say you made a custom bone shape and you want your bones to look like this shape. Well, in order to do that, just go to bones mode, go to the bone and down under custom object, find the name of the object that you want it to look like and bam, it's that simple. You can do this for any bone you want and this is why you see everyone's rig looking different. They're just using their own bone shapes. Okay, now for whatever reason most reverse joint type characters have tails. Not sure why, but if you're doing reverse joint then odds are your character has a tail. So I'll show you a little trick that I like to use whenever I'm making cool dynamic looking tails. This works best for machines and aliens but you can apply it to whatever you want. Start with whatever base shape you wanna use for the tail. Then control A to apply all transformations and make sure it's in the middle of the world. Then shift A, add a curve, then click your object and add an array modifier. Set type to fit to curve and the curve should be set to your curve. Make sure the offset is set to zero for everything except for Z which should be set to one. Check merge to true, then add a curve modifier, set the curve to your curve, set deform access to Z, then click your object, shift click your curve and move it where it needs to go. At this point if you tab the curve to edit mode you can drag and rotate the ends to whatever shape you need. In the curve edit mode you can press Alt S to change the size of each end and you can rotate the handles with R or press control T to get a cool looking twist design. Once you got all the shapes you want you can change the offset to effect the number of times you want it to repeat and finally you wanna be able to control the curve with your rig. So to attach a curve to a bone go to pose mode, click the bone you wanna attach it to, then go to object mode, shift click the curve, click the point you want and control H to hook it to your selected bone. Awesome, now the tail bone controls the tip of the tail but we also wanna repeat the process to attach the other side of the tail to the body, specifically the lowest spine bone. And well, you're done. Sorry if that was a little long but that was the entire rigging process for this reverse joint tailed character. I really hope that helped. If you thought this kind of rigging tutorial was useful and you'd like to see a slightly more complicated character, maybe one that even requires a feet and toe rig leave a comment down below. Otherwise, as always, hope you have a fantastic day and I'll see you around.


All right. Well, thank you, Christina, for the lovely introduction. And thank you. I really want to thank the librarian, especially Christina, for all the work that she did to get me here. I really appreciate it. And I certainly appreciate also the libraries helping me get the great images into this book that I did. So I will tell you a little bit about how I came to this topic, because a number of people have been asking me, especially when they know that I teach in Wisconsin. They're trying to figure out how I ended up writing about a fair in San Francisco. So it's a little puzzling. But I grew up in Santa Rosa. That's the Sonoma County connection. And I've always been interested in California history.  So it was a little hard to escape, but I did my best. It just didn't work. I did my undergraduate thesis and then my master's thesis also on issues dealing with Northern California. And so when I was looking for a dissertation topic, which can be a very stressful time in one's life, I was in San Francisco and I went to an exhibit. And I wish I could remember what the exhibit was now. But it displayed art from at least the 39 Fair and I believe the 1915 Fair that I found really interesting. And I started to think about how I could use these world fairs to explore questions that I'm interested in. And I'm particularly interested in questions of race and gender and questions of power and questions of the way in which different communities exert power with each other and in relationship to different power structures. And the fair seemed like a great place to be able to explore some of those things. So although I'm trained as a women's historian, I wanted to do something that allowed me to use gender but also allowed me to explore some other things as well. And so I soon discovered that world's fairs are a world unto themselves. And there are many, many questions to ask and to answer when we come to world's fairs. And I just want to say that being in San Francisco is amazing at this moment. It's great to see how much interest there is in the fair, how much the exhibit at the Historical Society is really well done. I urge you all to go there if you haven't been there yet. It's a great exhibit. And there's just a lot of interest. And what I'm struck by is how many people have memories and not necessarily personal memories, but family memories and memorabilia of the fair. And it's really fun for me to hear those stories. Since I've done my, since I live so far away, I don't get to immerse myself in that the way that I might like to. And so it's just been a fun experience. And so I tell one particular story. There are a lot of other stories to tell about the fair as Laura Ackley over here, another author who's written a book about the fair, whose book I certainly recommend as well, can tell you fairs have so much stuff in them. But today what I want to talk about is the way in which local politics and local communities participated in the fair and participated in what I call the spectacle of the fair. So let me back up and just give you a little tiny bit of background about the fair for any of you that might not be familiar with it. The fair, obviously, occurred in 1915. We all know that, right? Okay. If you're my students, I'd say, okay, so when did the fair begin? So 1915, it was opened from February 20th to December 4th of 1915. It covered 635 acre fairgrounds in what we now know as the marina. So that's the location, as probably most of you know, the Palace of Fine Arts is the one, not necessarily surviving, but the one lasting building. It's a reconstruction of the Palace of Fine Arts from the exposition. Almost 19 million people, 19 million visitors, walked through the gates of the fair, which means that many, many people in San Francisco around California and the nation and the world were able to witness what was inside and what was happening inside the fair. And what I wanna look at is not the official narrative of the fair, but the way in which different communities tried to use the fair as a space from which to forward their own visions of society and their own narratives. So the fair was designed to boost San Francisco. As I titled my book, Empress San Francisco, the fair was an attempt to claim San Francisco's position as the preeminent economic power of the Pacific. Plain and simple, it was a booster venture. It was in the planning stages even before the 1906 earthquake, but the earthquake added momentum to the cause. It was only after the earthquake quake that large numbers of San Francisco businessmen came together to start to talk about planning the fair, to talk about actually convincing Congress to endorse San Francisco as the site for this international exposition. Now what did it mean to be Empress San Francisco? It meant that the city was interested in drawing business in declaring itself the center of the Pacific and Pacific trade and also drawing tourists and potential settlers to the state as well. So there are multiple goals going on here. Now officially the fair commemorated the completion of the Panama Canal as well as the 400th anniversary of Balboas subsiding of the Pacific. So I had to do the math there. There was a historic element as well as a contemporary element. One of the features of the fair that is important to understand is the participation of both China and Japan. Both nations were seen as essential participants in the fair. Fair officials believed it was really important to bring those nations to the fair because they wanted to make the fair international and they wanted the fair to feature Pacific nations. They wanted this to become an economic, a place where European and Eastern businessmen could come to see the wares that were being offered by China and Japan and those connections could be made. And I'll talk a little bit more about what that meant for local Chinese and Japanese communities as I go forward, but I just wanted to clarify that particular issue. So I'm gonna focus today, there are numerous examples that I can talk about when I talk about special days, I wanna excuse me, when I talk about communities, but I'm gonna focus on four distinct cases. I'm gonna talk about Germans, Chinese, Irish and African-Americans and talk about their participation in the fair. I'm gonna mention the Japanese as well, actually Japanese as well, excuse me. And there are certainly other discussions to be had, but these are some of the most interesting cases that allow us to ask and answer some really interesting questions. Before I do that, I wanna show you this picture of Chinese students' day at the exposition. Opposed picture, obviously, it happened in, I believe, August or September of 1915. And I look to it, unfortunately I don't have the original photo, this is from the cover of a book, Bridging the Pacific. But this photo demonstrates to me something I think was really important about the fair, which was that it allowed different groups outside of mainstream American society to participate, to show themselves, to claim space on the fairgrounds. Here we see rows of ethnically Chinese young men and women students posed for a picture after spending the day at the fairgrounds. They are dressed in Western clothes, they are not dressed in clothes that identify them as an exotic other, they are not dressed in clothes that identify them as traditional Chinese in any way. They are dressed to look like mainstream American students. And here I believe they are, in some ways, presenting a spectacle that claims space for them as students on an equal basis with other Americans. And this, I just think, is a great example of some of the themes that I'm gonna explore today. So one of the things that exposition officials sought to do was to involve local communities, because they believed it was essential to keep local communities interested and involved in the fair, partly because the fair was not reliant on federal funding. You may, if you've heard other things about the fair, you may know this. The way in which San Francisco convinced Congress to give them the fair was to say, hey, we'll do it without any federal funding. We'll raise the money ourselves. What I argue is that that meant that fair officials were particularly reliant on keeping certain communities happy and certain special interests happy so that they could actually make the fair happen. And thus part of what we'll see as the story goes on is the way in which the fair officials are actually trying to placate various groups to make sure that they are happy with what's happening on the fair grounds. But one of the things that happened was fair officials organized with the help of local ethnic organizations, organized ethnic auxiliaries, I think we could call them. And these included, I think there were 16 total and this included, some of the most prominent included the German-American auxiliary, the British-American, the Finnish-American, Swedish-American, Italian-American, and Dutch-American. These groups chose to publicize the fair. They became actively involved as a part of the exposition in raising awareness of the fair in their country of origin or their homeland. They weren't necessarily first generation, but in that country and also in raising awareness within the community in San Francisco as well. So they'd host events for visiting officials. They would send letters and telegrams to friends and relatives to convince them to support the fair. They raised money to stage events. Some members were actually traveled with official PPIE delegations to various countries to try to convince officials there to agree to send, to participate in the fair and to raise money for the fair. So for instance, delegations went to Finland, Greece, Norway, Portugal, Spain, Switzerland, and Serbia. It's an interesting array of countries. Not all of them were successful. Of these nations, only Greece, Norway, Portugal, and Switzerland committed to participation. But these activities demonstrate the depth of commitment from these men to the success of the fair and the importance that they saw in seeing their ancestral homelands represented therein. Sometimes, oh good, oh, I forgot to show you this, sorry. Here's an aerial view of the pavilions. For those of you who have not recently seen an aerial view of the exposition, this is a lovely colored view of the exposition that gives you a sense of scope. This is not the whole fair by any means. This cuts it off at the Palace of Fine Arts and you can't really see the zone on this particular picture. It's simply the pavilions. But this is, of course, facing the bay right at the northern tip where the marina is today. I'll let you look at that for a minute. So one of the things that local communities did, local ethnic communities, was help convince their home nations or their ancestral homelands to send exhibits. Norwegians, it was only through the forceful persuasion of local Norwegians that Norway decided to send exhibits and likewise enthusiastic Swedes convinced a Swedish government to erect a building at yet another exposition. Historian James Kaplan argues that the 20th century was a time when there was a lot of rivalry between different ethnic groups and so ethnic groups within cities would compete against each other with things like tugs of war and various drill team competitions and all sorts of different things. And San Francisco, of course, was a city, a very cosmopolitan city with many, many different ethnic groups. And so Kaplan argues, and I believe it's certainly a reasonable explanation, that the fair was another way to do this, right? This was a place where ethnic communities believed that they could increase their prestige and show off elements of their distinct culture. What you see in this slide is a depiction of the Swedish pavilion. This is, I believe, Swedish day, two different views of Swedish day. And Kaplan, who was written on Swedish day in particular, argues that Swedish day offered urban San Francisco Swedes a chance to differentiate themselves from popular stereotypes that depicted Swedes as taciturn Midwestern farmers, which I think we can probably understand. Now, fair officials, I suspect, probably saw the involvement of local ethnic communities simply as a way to drum up support and funds for the fair. They weren't interested in affirming ethnic heritage necessarily. But other groups, I think, perceived their work very much in that way. So local Welsh residents organized to bring a huge, I stood food, anybody speak Welsh? I stood food to the fair. And I stood food was a traditional celebration of Welsh music and poetry that dated to medieval times. And they did it because they believed, and this is in their own words, it would quote, it was in the best interests of the Welsh people to preserve and perpetuate its traditions, literature, music, customs, and language. I can't see a stronger affirmation of the way the fair could actually affirm culture for local people. Now, letters poured into the exposition office in support of this idea from both Wales and the United States. So I'm sure that officials simply acquiesced because they saw it as a way to drum up visitors and support, but certainly the local Welsh community saw it as an important part of affirming their heritage. The Swedes, to return to the Swedes again, upon the dedication of the Swedish pavilion, the local Swedish paper reported that there was no one in the crowd who did not quote, feel the indescribable joy of having the privilege of being Swedish. And I have the privilege of being Swedish so I can laugh at that particular joke. So let me turn to another community, and that's the German community. And the German community offers us a really interesting way to look at the way in which a community chose to involve itself, both when the home country didn't participate and also when they became embroiled in a very complicated international situation. So, German-Americans tried early on to urge the participation of Germany in the fair. They were very interested in bringing Germany itself. And the head of the German-American Auxiliary to the fair was a man named Edward Delgar. And he actually traveled across the United States, stopping at cities with heavy German populations, excuse me, such as St. Louis, to try to drum up support for the fair. But despite this enthusiasm, the German government resisted overtures by fair officials and declined the invitation to participate. Source decided frustration with a large number of previous expositions and a sense that the expense was staging an appropriate exhibit for Germany was simply not justified. But after Germany chose not to participate, the local Germans weren't willing to give up this idea. So they mounted a campaign to build a palace of German-American history and culture at the fair. They solicited money from Germans around the U.S. I'm sorry. But the beginning of the war in 1914 frustrated those plans as well. And in July of 1914, the Auxiliary formally gave up their sight and chose to stage a week-long celebration during German week at the fair. And they arranged for the donation of a Beethoven monument in Golden Gate Park from a New York Beethoven Association, a Beethoven choir as a permanent tribute to their German heritage. So this is German day. This is the parade on German day. And the Chronicle reported that the celebration would include, quote, no floats, no military display. The idea being to represent merely the numbers and loyalty of Germans in this country. However, as this photograph suggests, subsequent reports that I read about the day suggest a very different story. The parade included 35,000 participants, including a group of Irish volunteers bearing the Irish flag, a clear reminder of the Irish community's loyalty to German or inclination to be supporting Germany in the current conflict. It also included a group of German military veterans marching in goose step. Now, I do not know if these are the veterans marching, no, probably not, maybe at the beginning. The headline in the paper informed readers that the, quote, exposition is captured by German Americans. It contained multiple references to war and military strategy, making it pretty hard to believe that the author was not trying to link this celebration of German-American-ness to the ongoing war in Europe. Another interesting detail that appeared not in the chronicle, but in some other papers that I read from around the nation, said that the assembled crowd went wild, cheering the German victory when told about the fall of Warsaw. There was a public speech given by the keynote speaker of the day, a man named Dr. CJ Hexammer, who was the president of the German-American Alliance. He focused primarily on German contributions to American culture, but he also insisted on the importance of preserving German-ness, and he decried the move toward hyphenated Americans. Now this rhetoric obviously avoided the war in getting into such a dicey subject, but there were concurrent meetings of the German-American Alliance held at the fair, which squarely addressed the grievances of German-Americans and brought the war and the questions of the war and loyalties much more squarely into view. Newspapers reported in great detail about a debate that ensued over a proposed, quote, hot letter, that was their words, to President Wilson that heavily criticized his administration for their policies, both toward Britain, as well as toward potential Germans, to Germans in the country, and to potential immigrants. As we can see, German Week at the Fair therefore brought the national discussion about the war, of the relationship to German-Americans, to the U.S., to the fore. Now the U.S. doesn't enter the war for another 20 months, but tensions were already rising between supporters of Britain and Germany, and of course this eventually flares up into explicit anti-German violence and rhetoric after the U.S. enters the war. But at the Fair, German-Americans attempted to negotiate these tensions. They tried to assert themselves both as U.S. citizens with the rights to criticize their government, that's what came out of those German-American Alliance meetings, and as loyal children of the German fatherland. Now the majority of local communities that participated, like the Germans, did not have much conflict with the Fair. Germans themselves, the German group, I don't see any conflict of, that ensued either within the German community or between the Fair and the German community. But some local groups did experience debates about their participation in the Fair. And it's to those debates that I now want to turn, because they help us understand the significance that local communities placed on the Fair, and the ways that the Bay Area's political and social culture changed the way they could or could not participate. So I'm gonna talk about, I'm gonna divide this part of the talk sort of into two parts. So I first wanna talk about the pre-Fair relationship between Fair officials and local communities, and then I'm gonna talk in more detail about how some groups actually use the Fair during 1915. So I will return to some of the groups that I start to talk about. So I'll let you look at this while I introduce what's going on with the Chinese. So local Chinese and Chinese-Americans hope that the Fair could improve the status of Chinese-Americans in California and boost China's worldwide reputation. The Chinese Republic was founded in 1912, and local Chinese immigrants and their children, Chinese-Americans, were really eager to support China's efforts to demonstrate itself a strong nation at the Fair. The editor of the San Francisco paper, Young China, urged, quote, at the Panama Exposition, we must devote all our energy to it so that Americans will know the reality of our national power. The Chinese Western Daily, these are translated titles, emphasized how important the Fair could be to the development of China since overseas Chinese could actually learn things at the Fair and then take them back to China to help improve Chinese civilization. Others, and this is the part I find most interesting, urged that city residents take the opportunity to improve Chinatown's image, to clean up Chinatown, so that it can impress visitors who'd be pouring into the city who might come to Chinatown with, in their words, Chinatown's fame, and in one of the things they wanted to do was raise money for electric lighting so that their neighborhood could be on par with what they called Western neighborhoods. Local Japanese residents also urged support of the Fair and hoped that a strong display by Japan might help counteract the state's virulent anti-Asian sentiment. A 1912 editorial in the San Francisco's Japanese-American News argued, quote, it would not be trifling to say this exposition would be an ideal opportunity and a rare chance for us to combat anti-Japanese sentiment. The local Chinese community remains skeptical of the Fair, however. Chinese merchants, many Chinese merchants pledged a lot of money early on to support the Fair, but as the Fair approached, their enthusiasm grew a little less so. A harsh immigration bill was proposed in Congress. There were, of course, debates over the 1913 alien land law and there were a series of issues about bringing Chinese laborers onto the grounds, all kind of complicated relations between Chinese residents and the Fair. By early 1914, a Fair official, a local attorney, told Moore, quote, the Chinese people feel they're being called upon to assist a government exposition while at the same time they are, as they see it, being unduly harassed by a government with which they are friendly. The harassment that they were talking about, including crackdowns on activities in Chinatown, changes in immigration procedures that made it harder for resident merchants to return to the state. In response to these concerns, Fair officials took action. They took this seriously. They wanted to keep local Chinese merchants and the local Chinese community happy. They established an official Chinese committee of the exposition, held a series of meetings with representatives of the Chinese community. They organized outings and tours of the fairground for these men as well as visiting Chinese officials in order to show off the grandeur that was going to be the Fair. They tried to convince local Chinese that the Fair should not be held responsible for government immigration laws. And they hoped that these would help convince local Chinese that they should still support the Fair. However, as some of you know, when the Fair opened, this is one of the spectacles that greeted all visitors to the Fair. This is the Chinese village. And it includes underground Chinatown. Sadly, I have never seen any image of the inside of underground Chinatown. You can probably guess from the name. Underground Chinatown was kind of a variation of the ethnic villages of the zone. One of the things that these World Fairs did was they exhibited non-white peoples in ways that tended to juxtapose their supposed primitive civilization cultures against quote, what, civilized American culture. That's the short version. Underground Chinatown was a version of this. This was one that introduced visitors to what were supposedly conditions in pre-earthquake Chinatown. Visitors entered a warrant of underground passages that featured Chinese drug addicts, gambling, and forced prostitution. Supposedly, this was authentic. The Chinese community reacted in horror, as we might imagine, to what they saw, as rightfully saw, as an extremely offensive concession. They deluged the fair management with letters, protesting, asserting that they were upright residents, they were American citizens, and they deserved to have their voices heard and that this attraction needed to be closed. Sympathetic white ministers and others who worked in Chinatown and supported the Chinese community also wrote into the exposition. But it was not until the Chinese commissioner to the fair, Chen Qi, weighed in on the issue as an official representative of the Chinese government that the fair officials actually finally decided to close Underground Chinatown. The problem was that Underground Chinatown reopened, and it reopened as a concession titled Underground Slumming. So, in exactly the same spot, all they had to do was change Chinatown to slumming. So, yes. The advertising, I've seen an ad for it that said it would promise a glimpse of the evils of the drug habit, and it was more effective than any play, book, or sermon. It was clearly playing on the same tropes, the same ideas, but without using the name Chinatown and without using Chinese figures within it. This demonstrates how difficult it was, even for the Chinese community, even with the backing of the Chinese government, to be able to combat this level of racism and animosity. Other groups attempted to negotiate their representation on the fair grounds as well. One of those was local African-Americans, and I'm gonna return to them a little bit later, but from what I can tell, local African-Americans attempted to communicate with fair officials in the years before the fair about potentially participating or staging some kinds of events, and they seemed to have been rebuffed. They do not seem to have been received in any kind of real way. Thus, in early 1915, when someone suggested that a Negro day be held at the fair, this created a huge internal debate within the African-American community, and people discussed with the newspapers whether or not this was a good idea. Would this actually highlight anything reasonable about African-American culture, or would it simply perpetuate stereotypes since there really wasn't enough time for anybody to get together a reasonable exhibit or celebration within a month or however much time they had? So, the result was that the consensus was this would be more damaging than to have no event at all, so they chose not to have a Negro day event, and I'll return a little bit later to tell you what they did choose to do. The local Irish community, on the other hand, entered into discussions with fair officials about its representation at the fair as well. Fair officials were very aware of the power of the Irish in San Francisco, and were very much wary of offending them, and so they had a committee in which they discussed and sort of cleared things through before any exhibits and discussion was on the grounds, that were appeared on the grounds. So all these stories make clear that ethnic groups took their representation at the fair very seriously and perceived the power of the fair to either include or marginalize various groups. So now what I wanna talk about is the way some of these groups actually did participate and constructed their own spectacles for fairgoers. So one of the things that allows us to do this work is to understand the special days. German day was an example I presented to you, right? This idea that Germans would be able to stage their own event at the fair, they would have speeches. Now every day at the fair, there were multiple special days. It was not like only one group got a special day at the fair, but there were special days for ethnic groups, there were special days for counties, there were special days for states, there were special days for labor unions, for insurance agents. I mean, all kinds of different groups were recognized with a special day at the fair. And on these days, the groups for whom it was a special day were able to stage parades, pageants, speeches that generally were organized by the group themselves. And so these celebrations, I argue, allowed local communities to assert their status in the community and their relation to the American body politic to a very large audience. And one of the most important things that happens here is this audience was not only the people at the fair, it was also people who read the newspapers. One of the interesting things about 1915 is that the newspapers actually included news and lots and lots of news. No offense to anyone who might work for a newspaper today, but we all know how beleaguered newspapers are today. In 1915, if you do any microfilm research, I'm dating myself there, but microfilm research on newspapers, there's a whole lot of information in newspapers. And there are multiple daily newspapers in San Francisco as well. So, and I presumably, people read more than one newspaper. And the newspapers took it very seriously to report on what was happening on the fairgrounds. So many, many details about what was happening on the fairgrounds were included for people to read about. So when many of these events happened, they were reported on, which is how I, as a historian, was able to find out about them. But I argue that this brought these ideas, these brought these representations into a larger public dialogue than they would have had if they were simply contained to the fairgrounds themselves. So let's talk about one of these days. Now, this picture drives me nuts because I wanna cut the tree down every time I look at it. Darn tree. But this is China Day. And I believe that you use, the picture that you use was the China Day or the Chinese Pavilion dedication. The picture that's being used to promote my talk was another talk from another picture from China Day. Now, it's not clear to me whether China Day was solely organized by foreign officials or by local residents. But what is clear is the participants used it as a way to demonstrate pride in their Chinese heritage and their place in the Bay Area community while de-emphasizing the foreign nature of their community. So, the dedication of the Chinese building in March, which was a separate event, but another day that celebrated Chinese heritage, it included some Chinese music, but little other pageantry occurred. The featured musicians were local Chinese children who sang both American and Chinese songs in English. And reports mentioned their presence and even included their pictures and suggesting perhaps that the Chinese were interested in highlighting the presence of a Chinese American population within the city. Now, at this celebration, this celebration was marked according to the chronicle with, quote, no Orientalism for Chinese program. So, the paper itself found it necessary to note that this was not going to be a celebration of exotic others. It was going to be a very sedate celebration. The lead speaker, Kaifu Xia, the Chinese minister to the United States, emphasized China's long friendship with the US and called for their continued economic relationship. The event included speeches by exposition in Chinese officials, but none of the spectacle and pageantry that we're going to see from some other nations. It rejected traditional Chinese costumes and displays in favor of a focus on the nation's political and economic progress. At Chinese Students' Day, which I showed you the picture of earlier, the keynote speaker, YC Yang, a Chinese graduate of the University of Wisconsin-Madison. Concentrated on China's, I did not put that in there just because we share an alma mater. Concentrated on China's, quote, new consciousness, new civilization, and new understanding. Now, why might organizers choose to de-emphasize China's history? My suspicion is that organizers and participants realized that Imperial China was associated with many white Americans with decadence, with moral decay, with being backwards, and it was very stereotyped in a very negative way in the American mind. And they believed it was more important to demonstrate China's progress than to hearken back to images that might elicit negative stereotypes instead. The Japanese, however, took a very different tack. Japan Day similarly involved, and Japan Day and a number of other celebrations, involved local residents in celebrations as well, but their organizers seemed to have had no qualms about foregrounding key aspects of Japanese culture. Japan's day festivities included a ritual blessing of the national building by a Shinto priest, a huge parade containing floats designed to represent Japanese history, and the active participation of local Japanese-American children. Here you can see this photograph. I believe, as I just saw today in the California Historical Society exhibit, is a group of Japanese, I don't know if they're all local residents or not, posing on Japan Day, and you can see the Japanese wrestling, right? The wrestler's there in the middle. And here also is a group of probably some local Japanese as well, given the presence of women and children in the picture in front of the Japanese, part of the Japanese pavilion as well. Now the Japanese not only celebrated Japan Day, but they also celebrated some other traditional holidays, including the Dahl Festival and the Iris Festival. This is a photograph of the Dahl Festival. And I think the fact that they chose to celebrate those at the fair is that they had none of the qualms that the Chinese had about displaying aspects of their civilization that white Americans might perceive as exotic. And this is very much in keeping with what another scholar has noted about the 1910, exhibition that the Japanese were involved in. And he argued that the Japanese were really interested in emphasizing the value of, quote, their civilization of an old and high order into which modern civilization had been grafted. So rather than the Chinese who were trying to reject their old civilization and project something new at the fair, the Japanese were trying to value their old civilization and graft this new modernity on top of it. And we can talk more about that if anybody's interested. And let's talk about the Irish. So the Irish took over the fairgrounds on St. Patrick's Day. They turned the lights green, held a huge parade, celebrated high mass on the grounds and had a concert of favorite Irish songs. More than 60 local Irish societies participated. Now that's not 60 societies from San Francisco, but from around the state participated. A number that I think really indicates the breadth of interest and participation that all of these people came to the fairgrounds. Over 75,000 people participated in this day. One of the speakers, I'm gonna talk about this guy in a minute, but before I get to him, I wanna talk about Patrick McCarthy, who was the former mayor, exposition director and labor leader, was the honorary chairman of the celebration. And part of his speech, I think, really helps us understand a lot about the tenor of the event. He says, quote, we are gathered here today to celebrate not only our national holiday, but to perpetuate the glory of our race, a race which has produced men of great deeds in all times and in all kinds of human activities. Now, choosing the word race is certainly an interesting one here, but I think he's trying to, he's indicating that Irish organizers are totally confident in celebrating their Irish identity, right? They see no qualms about celebrating themselves as both American and Irish and they see no contradiction therein. They could wave green flags and celebrate being both loyal citizens of the United States and of a romanticized Ireland. This guy, John J. Barrett, who was the keynote speaker, gave a lengthy speech that, again, affirms this relationship between the Irish community and the United States. He says, quote, I know that I would give a tongue to every drop of Irish blood that stirs in this vast audience when I declared that. Though the emerald emblem of the newborn nation across the sea is unfurled by us today in uncompromising homage, the flag that now, as ever, is next to our heart and flutters in the breezes of its palpitating loyalty is the stars and stripes. They wrote much longer sentences then. Now, the Irish community had hoped to stage an exhibit of Ireland. They wanted Ireland itself to be represented at the fair and in the years before the fair, the Irish community worked to bring Ireland. Now, it's important to remember that Ireland does not exist as a country at this point. Ireland is still under the control of Britain and Irish independence is on everybody's mind, who's Irish, at least, and so Irish independence is part of the subtext of this display. But despite the failure to be able, oops, yeah, the failure of bringing Ireland to the fair, which became impossible, particularly once the war started, the Irish still chose to use the fair as a place to claim their role as both citizens of the U.S. and Irish. The one of the representations of Ireland that did exist at the fair was the Shamrock Isle, which was a very romanticized vision of Ireland and that you can definitely hear more about if you go on Tuesday. It was a short-lived attraction on the zone. The ethnic villages in general didn't do very well at the fair and I suspect that the Shamrock Isle simply wasn't interesting to people anymore. It didn't have any of the salacious interest of underground Chinatown and it closed shortly after the fair began. And it's also interesting because the Irish community was, members of the Irish community were really worried about what kind of concession might be staged as a fair. There was a lot of concern in the years before the fair that there would be a demeaning depiction of Ireland, but yet when the fair opened, there's no concerns that I can find at all about the Shamrock Isle, the newspapers that published criticisms in the years before the fair did not seem to continue those criticisms during the fair, which means that I think they did not see this as the same kind of damaging image that they feared. Yeah, I'm not going to actually talk about this concession. I'm going to instead talk about African-American participation, but I show you this example in order to depict, to help you understand what some of the images were, the Dixieland plantation was one other attraction on the zone. There was also a very short lived Somali village, Somaliland, that featured Somalis dancing and performing other kinds of traditional tasks in an example of a so-called primitive people. What I wanna talk about is how African-Americans eventually decided and chose to participate in the fair. I told you that they vetoed Negro Day, right? They said, we don't wanna do that. So what did they do? Community leaders, particularly African-American women, turned to urging participation in the celebration of both Alameda County Day and San Francisco Day. Those were two special days at the fair. And two days that were particularly significant because they were days that would draw people from their respective communities, right? Alameda County Day means all these people in Alameda County are gonna come and stage floats and parades and all these other things, participate in this parade. And San Francisco Day, of course, is designed to bring everybody from San Francisco to the fair. And the women, particularly who organized this, drew on conceptions of citizenship and civic pride as they thought about their participation, as they talked about their participation in this event. The Civic Center, which was an organization of Oakland Black women, held repeated meetings to organize their community's participation in the event. One local black paper, the Oakland Sunshine, urged the community to attend because, quote, they wanted to show visitors that this is our fair and our state and that we appreciate it. And on June 10th, the Alameda County Day parade included two floats of African-Americans, one designed by the Colored Women's Clubs and the other held 50 school children, including and featured the appearance of Virginia Stevens, who was the young African-American girl who actually won the call post contest to that coined the name Jewel City for the fair. A very interesting story. After the fair, after that day, the sunshine noted, quote, it was indeed a great day for our country and especially our county, excuse me, and especially our people. Now this is an image not unfortunately of Alameda County Day, but this is a float from San Francisco Day. And I chose it, A, because it's from San Francisco Day, but it also gives you a sense of what these floats might have looked like and what these parades were like. In November, leading up to San Francisco Day, again, local black newspaper editors called for the participation of their local community in the day in order to claim space for themselves in the community. After the event, the paper proudly noted, quote, we helped swell the throng by members of the race from all over parts of the state and we're in evidence all over. Local blacks still wanted to claim to the exposition. They wanted to claim their citizenship, they wanted to claim their participation in San Francisco and in California. And they took what opportunity they could to claim that space as their own even as they were being ignored by fair officials. Yet even as the African-American press praised their participation, I've seen no evidence that the white San Francisco papers mentioned their participation at all, indicating again that they were not necessarily being acknowledged as equal members of the community. Now the final thing I wanna turn to before I'm happy to answer all your questions is that one of the other ways that I see ethnic groups, ethnic and racial groups participating in the fair is by the opportunity to hold their conferences and their conventions and their congresses during the months of the fair. The PPIE featured 928 conferences and conventions. Groups from all over the country of all different kinds of groups came to the fair in order to hold these events. In the years before the fair, fair officials sent letters soliciting participation of every group they could think of, unions, sororities, alumni groups, all kinds of professional organizations, ethnic groups, all of them religious organizations, they urged them all to hold their annual meetings in San Francisco during the fair. The American Historical Association met in San Francisco during the fair, for example. And records show that Chinese American groups took advantage of this, as did African American groups. Those are just a couple of examples. And certainly religious groups, all kinds of different groups chose to come to the fair, Chinese Student's Day obviously is one example. In October, the United Parlor of the Sons of the Golden State, which was a newly formed group of second generation Chinese Americans, sort of a civil rights group, assembled on the grounds and met on the grounds. And again, the fact that these groups were meeting on the grounds meant that it was noted in local papers, sometimes they staged events that were public that people could actually watch, people could see, and contributed to the spectacle of the fair and the different things that people were able to experience as they walked around the grounds. In conclusion, fair directors invited the participation of local communities because they knew that local support was necessary to the event's financial success. And so they tried to make sure that powerful local communities were happy and they paid less attention to less important and less powerful groups. At the same time, local residents within the Bay Area debated how their group should be represented and whether or not they should participate because they realized that the representations of the fair carried immense power. They understood that the constructions of race, ethnic, and religious identities that were created on the grounds had the potential to deeply influence millions of people. And although the racial hierarchy that was laid out in pre-fair publicity and in the art, sculpture, and government exhibits clearly labeled California as the land of the white pioneer and something else I'm happy to talk about. I didn't dwell on here, but the racial hierarchy of the fair is very much premised on social Darwinist ideas, on ideas of scientific racism. Although that is the backdrop, I argue that Bay Area residents, among others, seize the opportunity to use the ground to construct their own racial and ethnic identities. Thank you very much.


The SETI Institute and the Mars Institute have announced the discovery of what could be lava tubes on the Moon's North Pole. What does this mean for space travel? This is your space pod for January 18th, 2018. In a discovery based on data from NASA's Lunar Reconnaissance Orbiter, or LRO, and announced on January 11th, the SETI and Mars Institutes say they have found small pits in a large crater near Luna's North Pole. Now it's possible that these pits are entrances to an underground network of lava tubes. Pits appear as small depressions with shadowed interiors, they're generally about 15 to 30 meters across. Now these pits are located along sections of winding channels that are generally thought to be collapsed underground tunnels that at one time stream flows of lava. Now this is important to possible future exploration of our Moon. If we are to colonize our rocky neighbor, we'll need access to water. We know there's water in the lunar regolith, but the process for extracting it requires we excavate a lot of said regolith. While not yet proven if ice is present in the lava tubes, it's not that it would be in massive formations just as they occur often in lava tubes here on Earth, which is what you're looking at right now. Excavation would be easy too, as sunlight would be available for solar power just outside of the tube itself. Now these discoveries are located in a place called, and forgive my pronunciation of this, I believe it's Filosius Crater, which is exciting to scientists for a couple of reasons. First it's relatively young, which would allow scientists to study some more recent parts of Luna's evolution. It's also on the near side of the Moon, allowing for direct communication back to Earth. As we gear up to go back to the Moon, that makes this discovery all the more exciting. It's something new for us to explore and could help advanced humans explore the rest of the solar system. Now if you like this story and you're excited about ice on the Moon, or any sort of space nerdery, make sure to watch our live shows every Saturday at 1800 coordinate universal time. Also don't forget to like and subscribe to this video so you get notifications of not only new space pods, but also when we're live on the air. All right, one final note after the close. Normally Jared or Space Mike do the space pods, and they have these really nifty closing statements. Jared's Keep Exploring, Space Mike is at Astra. I haven't done a space pod forever, so I don't have a close, but because I'm all about the community, I thought I would give you the community an opportunity to create my closing statement. I am most likely going to immediately regret that. I will end up with a closing statement of Bodie McBoatface, but I think it would be fun to send it to the community. So what do you the community think my closing statement should be?


I'm just trying to feel that you're excited about that, but now, quick little review. Alright, so first thing, stop and start bumping the floor, getting to our overstep. Grab the chest and the hip. Here, armpit, hip, elevate. Fuel the ceiling. Jump the leg in. I want to adjust my hips. I don't want to be off the side. I want to adjust my hips up on top. Shallow leg. Toe the mat. Laces here. Both breakdowns are straight in this leg. Ticking that out. First, my hips. Alright, one breakdown. First breakdown was grabbing the wrist. First down to the wide here. Every time I put my toe across. Another one. One here. Here is grabbing my feet. He's up. Grabbing four fingers. Turning, arching, and kicking. Use my toe across. Alright, and then the two turns we did. From here, toe across. The opposite knee comes to the armpit. I got a arm over the top here in a blot. Going forward. Rotating my knee straight up. Taking a bump into my lap. First set of back points. Looking down. Keeping my toe across. Now taking the opposite way. My right leg's in. I'm protecting power half on the opposite side. I'll go to shoulder 45 degree angle. Drive for my chest. Hold the top of the shoulder. The bottom of my chest is the top of the shoulder. I don't have a lot of pressure here at all. A lot of power. I've got all my weight out of shoulder too. I'm trying off this. To turn them, I'm not making them over. I'm rotating my elbow out. This is what turns this. My elbow doing this. That's what turns it. That's what I call that. I'm up the armpit. The arm. He turns in. This is the way. He turns away. Looking at everything else. Grabbing the knee from the armpit. Question. Alright, so that's my quick review. That's the last minute or two working out. One, two, three.


It was a very nice experience. I literally learned a few things from my co-panelist and it was very comfortable actually to talk to people here.


This study focuses on the development of copper oxide, CO, nanosystems by analyzing their antimicrobial and bacterial properties. It is believed that these nanosystems could be useful in the development of both directed and sensor systems for the detection of pathogens and for the treatment of infections. This article was authored by Madalina Elena Grigore, Elena Ramona Biscou, Elena Maria Holbin, and others.


When they are loosely coupled, it is very easy to reuse them and replace them with some other component. So in Java, how many of you are doing Java here? So Java folks, you might be aware of different different components that we generally use in Java world. But in Rails, it is little difficult inside Rails application. This talk is mainly around view components. When I joined, earlier I used to be a Java developer. When I joined Rails project, the first question came to my mind that time it was a web application that, okay, is there a way to add components or to create components so that I can segment my page into different, different components, which are MVC in itself and which would be easy for anybody to replace component by other. The straightforward answer came to me was, no, there is no direct support. I know that we all know Rails is directly or tightly coupled with active records. It is, it has done really an amazing job at, from where it was in 0.7 and where it has reached and soon, sooner we will get 4.0. But at that time immediately after the question, I found there was this render component. How many of you have used it? So I was really, I, I became really happy, okay, there is, there is a component stuff in Rails and let's go and start use it. I started using it and very soon it got deprecated and I again became sad. The reason for deprecation according to Rails document was do not use components to separate concerns within a single application. Furthermore to it, it says reserve the usage of this components for those rare cases where you definitely or you are 100% sure that you have a reusability in views and mainly talks about try to create components where it can, it can be applicable across application. And at the very end it says it can better be replaced by partials and filters. There is something I kind of, the best example of components which are, which may not be view related or which may be view related are like Ruby gems. For Java ball, it could be like jar. How many of you use a very simple library like display tag from Java? It's, it's basically, it's basically at view layer. So it is, it is again related to, it is again a component which is, which allows you to easily create tables and columns. When it comes to Rails, because of the convention, you got a very good directory structure and it becomes very easy to find or to locate a particular view. Let's say if I want to go to list.html that is the list action inside my events controller, I can use, I, I know that it is there in the events directory, which is really an awesome thing. But this makes this, this is better fit when application is small, though because of the convention, you can directly locate a view. But as your application grows, let's see what happens to this view directory structure. Let's take this example. So you have a big, let's say it's a landing page, homepage. You have sidebar where different promotional sections can, can appear. You have then tab navigation at the top. You have sections, section one, section two and section three, which could be again promotional contents and could be driven by an administrator or an editor. Now let's try to imagine, I want to develop this in a very traditional way in Rails. How do I do that? I'll start creating controller, I'll put an index action and I'll start writing code for it. And in views, I'll start creating all these separate, separate partials. When I say partials for Java world, it is very similar to what you do for your simple JSP include. You can map it, it's not direct mapping, but it is, it is very much similar to that. I was having a conversation with Nick, who is creator of sales and Apotomo, which is our main topic. And over email, he said, it would be nice to show some real life example or examples in production. Community who are currently using sales and Apotomo, they wanted to see some examples in production. So this is something currently in production. This is from our very recent project. So this is again a landing page. Everything is unrelated. On this page, nothing is related. So you have a breaking news section. You have a watch live promo. You have some other promo like supporters. You have an author column and then you have a middle section of shows. Nothing is related. Let me give a brief introduction about what this project is all about. This is basically news. This organization is basically an independent media and they run one hour show. So basically in that one hour show, they produce stories and headlines. And if you see that video, it is related to the headlines and stories, which is one chunk and all other are related unrelated. There is another example of the same stuff. This is a headlines page where you have a video and you have some description about this headline. Let's say, but look at the right hand side. It's totally unrelated. So you have some stories and headlines from some day. Then you have watch live and most popular. Editors have no relation to the headlines page. It's not even related to related headlines. It's totally different. Now to add on to complexity, let's say I want to show this on the headlines page immediately after the description. Is this related to headline? No, because it's talks about top stories which could be driven by editors, which could be controlled by editors. Then you have a feature topics which has no relation to your headlines. Let's say as an editor, I want to promote Follow DN option. When I say DN, it's from the project, Democracy Now. Let's say I want to promote this follow option so that users would come and start following on different social platforms. Then you have, let's say, this is a tab navigation. And again, this either, let's say, editors decide, okay. For some day, I want to show featured section. And later, I don't want to show featured section. Instead of that, I want to show top stories like this, recent stories. And the last one, let's say, example of speaking events. Speaking events could be events happening all over the place, like the same Rubicon. We'll take a look at how we can implement a speaking event and create a view component little later. Now the main problem comes when CMS is used. How many of you have used CMS? Good. Great. So, let's say I want to control everything from CMS. As an editor, I want to define a layout. I want to define what should come on what part of the page. And I want a flexibility to turn it off, turn it on, or I want to replace it with some other component, which has the same CSS styling for the dimensions, width and height. It becomes very difficult to manage it. We fall into the same trap of creating monolithic controllers, monolithic page, defining one controller, and then different, different, different partials. It becomes difficult to understand and to practically implement mashup. In Java world, how many of you used sitemesh? In Java world, I really like this sitemesh tool. It's a page decorating framework. It's very, because of that, it becomes very easy to decorate your pages. Let's say if you want to implement something like YouTube, you have a video related video more from something like that. And let's say, as an editor of YouTube.com, I want to control what should appear on the related, whether related should appear or something else should appear there. Then it becomes easy with the help of sitemesh, where you can add different, different page rules on the page. Let's say, how many of you have heard segmentation by freshness? It becomes easy to achieve segmentation by freshness. Martin has written a very good article on segmentation by freshness. What it means in a very basic, in a very simple terminology, let's say you have a page divided into sections. Let individual component own that section so that everything related to caching performance can be handled there itself. Rails by default gives different, different caching mechanisms. You have a page caching. You have action caching. You can think of fragment caching when you want to cache individual parts of the page. But fragment caching has a cost. And the cost is, first of all, the code lies in the view. Second thing is the expiration is little trickier. Expiration of the cache, cache invalidation is anyways one of the difficult jobs. But fragment caching, there is a lot of things that you have to write, let's say for expiration. And let's say if you write sweepers, sweepers need to understand, okay, for this particular model, there are six, seven fragments. Let's say if tomorrow you delete one, you add two, you have to go and modify those many stuff, which is little tricky. So how do we handle this? Let's consider one example. Only one page with unrelated section as one. As I said, this is again the snippet from the code base. Let's say I write a controller and on this page, I want to show those speaking events which we just saw. How do I write it? I'll just say before filter, I'll try to gather data and make it available as an instance variable so that it is available in the view. What should we really do this? Personally, I use before filter only if it is, I tend to use before filter only when it is related to authentication and authorization and not for too many data gatherings unless it is really tricky and becomes very messy. This was a very simple. Now let's add complexity. What if some unrelated sections are used on all pages? Any guesses? What do we do here? Very simple. We all know in inheritance, what we do, we actually take everything and put it into application controller. Again, there is a problem. In an object-oriented world, we say instead of inheritance, go for composition. But when it comes to coding, when it comes to actually writing, modifying, we actually move it to immediately application controller and everything works fine and we become productive. But that's not really the way we should think of. The other way is somebody say, we can create a mixing. Somebody say, we can create a module and include it. It's a composition. What if there are many unrelated sections? Let's add a complexity here as well. Many unrelated sections and there are, let's say, many pages. So there would be lot of combinations of page and its unrelated section. In that case, we definitely need a way to divide page into segments so that segments can be treated as MVC in itself. When we do all these things, when we want to write something in view, what we do? We start creating partials. Let's say if there is one unrelated section, we create, let's say, one partial. If there are many, we tend to create some more partials. If there are, let's say, lot of, then we try to create some more partials again and we keep going on. And then let's see what happens to our view. There's so many partials. So what are the options? So long time back, when Merb came into existence, there was a nice gem, came in like Merb parts. How many have you, how many have you used Merb, Merb parts? So Merb parts was basically giving, creating a parts controller, that means one controller which was extending from abstract controller and giving all the basic functionalities. Basically it was a wrapper on your request, responses, templates, whatever the abstract controller provides. Then there was a Rails part. Rails parts, I won't talk about merge of Rails and Merb. Rails part is Merb parts ported for Rails 3. And there is third, sales and apatomoe. So let's understand what is sales. Sales is a view component. It's a gem, it's a view component and it is a mini controller. So when I talked about, when I said page can be divided into segments, each segment can be treated as sales. But word of caution, do not create unnecessary sales. Create sales only if they are unrelated, so that they can become, they can be independent and they can be reusable. Let's take an example of this. Let's try to create speaking event cell. Basically it's nothing but an events model which has let's say date and time, a URL to go to a venue and then a detail. Let's say if I've already created this, how do in a normal way I would say render partial, give a partial name and pass different parameters. If I create a cell, you can replace it with say render cell, give the name of the cell and give the state, that means it's action. You can treat sales as a block on a page, one particular block on a page. How do I create this cell? Let's say, here I am using 187 to actually generate cell. When I say cell speaking event show, it has generators. It actually creates a directory inside app folder. So now it is, how many of you use Rails 3.1? So slide sheets are now coming in app folder, right? In the form of CSS or SAS. So similarly you have a app folder defined as cells and inside cell you have views associated to that cell. So when I say cell speaking events, speaking events is the name of the cell. Show is the action and you have app cells, speaking events, that is the name of the class, that means object and then you have associated view that should show.html.erb. One interesting thing, you can easily test this cell object. Let's start with the test first as we all like TDD or BDD. Let's say I want to return future events in a very simple way. I'll create two events and I'll try to assert on event. It looks exactly similar to your controller. There is hardly any difference that you would find out. Let's use, it has self test case, which actually makes it easier to write test cases for cell. Here I'm just verifying the instance variable and doing an asset equal, but you could also verify the HTML getting generated out of it. This is an object, speaking event cell which stays in app cells. You have a show, action, basically it says find upcoming, try to look at the events and does the rendering. You notice something like head. There is a little problem currently in cells in Apotomo related to CSS and JavaScript. How and where do we include CSS and JavaScript? In a better practice, in a very, if you follow all good practices, JavaScript, where should be a JavaScript? At the bottom of the page, right? But with this, you have to get the, you have to find little bit work around to actually put JavaScript at the end, at the very end. But if you think cell as an independent block, you can create another state, let's say call head, and you can put all the CSS and JavaScript associated to the cell itself. In any parent view, you just say render cell, speaking events and show. Render cell is the name of the cell, show is the action, and you get a nice looking speaking events. When Yehuda wrote an article on Merck parts, he mentioned that, okay, there was something like render component, which was heavy weight and not really used by many developers. They cut that off, but still we need lightweight component. And further to that, he was saying, we need lightweight component first, so that it can be, it can replace partials and filters. Second thing is, it can understand the context, current context, when I say current context, it can understand what controller is, the request is coming from. When I say what controller, let's say if I am on welcome controller, and I want to show this speaking events there, then my cell understand, cell understand that the request is coming from welcome controller, how it may, it actually takes a controller variable inside it, it's like a dependency. And because of that, your session, request and params are easily available in cell. But as a practice, we should try to avoid using and directly not to, we should try to avoid using all those things and try to make it little independent and pass explicit parameters to cell. So when I say, let's say I want to show only one particular event. I could say show and pass either event ID or event title and let cell do the job of actual finding the title, actual finding the event. The other important aspect, when I was talking about segmentation by freshness, a page divided into multiple segments, each segment can cache itself, let's say for some point, some particular duration. So that cache invalidation happens directly. So there is a nice DSL like cache, you have a state and you can easily specify how much time do you want that cache to be available, and then it will expire it immediately after the duration. There is another variation to it. Let's assume that I'm showing all the speaking events. And instead of caching the entire output of the cell, I want to cache individual events. Let's say if some, let's say if editors has, you know, removed one of the event. Instead of caching the entire cell, what I could do, I could easily say cache, instead of show, I need to create another action, which would accept only one event. And just here in the cache, I could just say the, if you look at the do block, it accepts two parameters like cell and the item. The item could be the object, it could be the single node or whatever you want to actually customize the caching for. Let's assume that it is a single event and in the cache block, in the do block, you could specify, you could try to return what cache key you want to use for that particular node. If it is event, then it could be event.id or you could provide some hash or you could generate a key for it. There is another variation like you have an expiration in sweepers. The expiration is pretty straight forward, expires cell state. Cell caching, because of cell caching, fragments are gone. But internally it is a fragment. Even if you want to cache fragments of a fragment, as an example I've just given, that is also possible. Even instead of expire cell state, you could also expire fragment by giving the directly URL, the path that would expire the fragment, because cell caching is internally is a fragment caching. But the overhead of the maintaining fragment caches is taken over. Interestingly, cells can be nested. It supports view in inheritance. Now Rails has in inheritance and one interesting problem, how many of you have faced double renderer error? Yes, there is no double renderer error. It is nested. It is view in inheritance. You can call render as many times as possible. It won't throw double renderer error to you. Cell, it is very good when you want to create view components which are not interactive. But when, because of the reach client, reach internet applications, everybody is moving towards web 2.0, 3.0, et cetera, then you have to have some kind of interactivity in these components. So cells plus interactivity is called upper term. It is based on cells, it is again a gem and it uses JavaScript. It's very similar to RJs, but it does not have that much of code. It is JavaScript agnostic. All the things have have been moved into gem. So you don't really need to worry about what is being used, whether it is jQuery, prototype. It's all there. Persistent, reusable, independent and events. Actually, events might create misunderstanding. It is actually, it supports event driven model. It's not events. It supports event driven model. When I say persistent, we'll talk about the examples. Then I'll give the clarity on all these things. I'm pretty sure reusable and independent are clear by itself. These are the examples where you could go for upper term. You have dashboards. Dashboards again have different, different sections, which actually keeps refreshing themselves. You might have seen the spinning. When you do Ajax calls, you might have added some spin, spinner and you might see spinning there. Then you have image galleries. When I talked about persistent, image galleries could be an example. Let's say you have loads of images as thumbnails.  And on the same page, let's say you have an upload form where you could upload n number of images simultaneously. So the persistent, putting images or if you're using maybe a paperclip, putting image metadata in the table can be done by the cell itself. And if you think, sorry, upper term itself. If you think upper term it that way, then it is easier to actually create reusable components, reusable view interactivity components across application. Let's say I want to use the similar functionality like thumbnail, because thumbnail could be generic. Then tap panels could be generic. And that could go and that could be there in all the applications. Let's try to look at this simple example. This is the most amazing page I have ever written. It has one form, only two list items. So you have a form, you have a listing, and you have a count. How do you do that in upper term? As I said, it is a cell based. I'll quickly go through generators. It's very similar to cell. You have generators available. The interesting part is there are two widgets I'm going to create here. One is note listing and one is note form. Two separate widgets just to understand events. Let's say I'm creating a note form. I have a notes widget where I'm just getting all the notes. This is a basic view for it where I'm just collecting all the titles for it. And this is a note form where you have, you just have a text box and a create block. This is important. In the controller, you have to have a has widget entry where you could put the entire widget tree out here. You can actually move this outside and create your own widget tree and just use the reference over here as a family name because widget trees are attached to a root, which is a topmost note and you can have different different families inside it. Like it could you could have a tab related stuff. You could have a comment related stuff. You could have a thumbnail gallery related stuff. And simple index.html you have render widgets. It just uses the ID. It just uses the ID, which have been defined under has widget block, nothing else. You just need to know the ID, which would be your div ID. That's the only thing you need to do. And if you run this application, which is available on GitHub, you would see this particular entry. Now let's go through very quick stuff. Let's say if you want to create a note and update listing encounter and filter notes on typing both the approaches. I've just added a URL to the existing form URL for event submit and URL for event typing as I type. I need to say submit an event. This is a basic JavaScript block. This is very simple stuff I've written. One is from form submit. One is for key up. This is the change response to event submit with update. So whenever there is a submit event happening from client side on the server side, it would respond with an update state. And what does an update do? It would create a new note and trigger a new note event. When the new note event is triggered, it would actually, it actually needs to update note listing, right? So how do I do that? In the notes widget, I would do again respond to event, the event name, and what callback do I need to do that is update. And it would actually replace the existing state of the displaced action. That would, it would again phased all the notes and render, re-render it. The similar thing goes for the typing. This is the important stuff. The event bubbling happens from one widget to another till the root. There is another provision from where you can pass an event directly from widget 1.1. Let's say to widget 2.1. That means you can pass an event between two different widgets. That is also possible for, in production examples, which are currently live, you can go to democracynow.org and which has, I would say 75% of, you know, sales, which are unrelated, but there is still a scope of adding more and more sales. That's it I have for this talk. Thank you. Is there any question? I have two things. One is doubt and one is question. So the sales caching that you just told, it's a fragment caching, right? So is it really helpful in the distributed system having multiple servers? Distributed systems having multiple servers. So as long as you maintain your cache at one main store, at one store, it won't have an impact. So the thing is, even if you don't use this fragment caching and if you use any other caching, as long as your store is maintained at one particular location, if you don't replicate, you know, if you replicate, then in that case, you have to manage the replication. If the replication is directly generated with, let's say, for example, a kind of relation like master and slave, then it would be, but that support has to be given by tool itself. For example, even if it is a distributed or a single application, if you use one store, let's say if you use memcache, for example, to put all your, you know, cache over there and if all the system related to this talks to one store, then you can get that. Cell caching is something different from memcache, right? Cell caching is nothing but internally it is a fragment cache, but for fragment cache, you can define a store, which is there in the, which is, you can define in your configurations like either development.rb or in Rails, you have different, different configuration based on different, different environments. So you have development, staging, test and production. There you can store, there you can define your main store. It could be cache store. It could be a memory. It could be memcache, something like that. One more thing is, you just mentioned that in new thing, the double rendering error is like, doesn't bother if we use double rendering thing. So does it meaning that it like tends to, in case that wrong thing is rendered without notifying something or like, as of now what happens is it notifies that double rendering is not possible. Like someone has rendered and someone has redirected, it just notifies, which will not happen. Right? Which will not happen. Like without notification, it should happen that the thing like go to the wrong thing, like without notification. Can you please repeat? In double rendering, what happens that if, if I write two renders, like one render and one redirect, redirect, it will say that this is not. It will give you, it will give you an exception. It will give you an error. So meaning I want to render something by mistake. I have written redirect somewhere. Okay. Like I haven't noticed that it should be in some condition, but some condition is not getting raised and it is happening like both, both of the things will execute in that case, the render will like redirect. The next statement will, will take the priority, right? Yes. If it is played without notification to the like to me. Yes. So in that case, as I, as I wrote that there, the problem with the problem with, let's say if you do, if you try to do redirect, okay? And if you have render after that in, even if you don't use it, there are two ways. I think in Rails 3.x, that case is not there, but in Rails, at least in Rails 2.3.14, unless and until you write an if block where you segregated out the redirects and renders, it won't have a problem. But after one render, after another render, after another render, it won't cause any issue. Where is the? So the sales and upper term is anyways on the GitHub. The example is on GitHub. Should I? Yeah. But to install this is a gem. Where's we just do gem install? Yeah. Yeah. It's on RubyGems. So it's just gem install. Yes. And where's the code for that? Where's that gem? So the code is available on the GitHub, but it is also available on the RubyGems. And where is it on GitHub? That's what I'm trying to ask. So on the GitHub, it is under Apatonic username. Oh, OK. Good. Thanks. So Apatonic is a nickname for the creator. His name is Nick Shatrud. Yeah. Darshan, thanks for the talk. One question. I come from mainly the Java background. I'm a Java developer, so correct me if I'm wrong, but this Apatoma itself is what Portlet is in the property in the Java world. I mean, over the years, people were very excited about portals and portlets. Now they've realized it's making their life very easy. They know all the pages have become very easy, and all that stuff. So have you seen any kind of similar experience when it comes to performance that sells? And you're using this in a page which is very rich in functionality, a lot of components. Is there any performance or any other non-functional constraint or drawback? No. So to be honest, it's an experiment with Apatoma. But sales, we haven't faced anything. Can I initiate expiry time of sales? You can. Can I initiate expiry time of sales from the server side? Yes. So you have to specify if you want to cache a cell for a given duration, then that expired time you have to specify in your cell block, in the cell object. It's in one request flow. Yes. It depends on your application, whether you want to, whether you are going to render all the sales on one page or you want only some sales on this page and the other remaining sales on the other page. I am just talking about the double render. You just mentioned that in sales, you are not going to get double render error because it's not going to be as all sales are rendered in one particular equation. Every cell is an object which uses a controller needs within it. So you would never get a double render error. So I did not hear a comparison with an alternative would be for Widget. Sorry. I can go ahead, right? Okay, sorry. So an alternative would be to have segmentation by freshness implemented in a way where your widgets are driven from the client side and each of them just hit a controller starting from the browser itself. Whereas this is all probably server side in one shot. So how do you compare these two approaches of one server side response versus a chatty application? Yeah, very good question. So the problem I saw with the first one was let's say I want to show n number of unrelated items on page load. In that case, what do I do? I try to create, I try to send those many Ajax request on the page load itself. And if it is going to take time, then I might see spinners all over the page. At least for let's say there are 500 later sections and then immediately you would see five spinners for Ajax calls. And personally I feel that we should try to avoid and move it to one page load and have segmentation by freshness mostly on the server side. We'll take one last question before we wrap up. Might sound silly, but can you just redefine what the issue was with partials and why we're using cells instead of just the usual partials? Cell is an object oriented replacement for partials. So when you use partials... What is the challenge with partials? I mean here I can see that it's making stuff a bit more complicated and it's something new and that has baggage that comes with it. So we have partials we're all used to it and you have that you can render a partial directly with the instance variable and you have simple stuff like that and you can use decorators to kind of give you and delegate those getters so stuff they're familiar with. So why cells, what's wrong with partials? So it's the same thing whether you want to opt whether you want to go for individual partials you have seen the... So you have to write a HTML code somewhere. I mean you can't escape that. So it's a underscore whatever file or a cell file that code has to be there. Then in that case... So what problem are we solving? So the problem is your code gets messier. Like can you define... So let's say for example, let's say for five undilated sections on your one page. How are you going to write let's say before filter? So are we assuming, I mean I'm not talking about before filters because the way I'd collect the data would be using conditional sort of decorating it wouldn't be before filters because even I use before filters for like what you said but my point is if you have a lot of undilated sections and a lot of partials you'd use template inheritance and share them and that code has to be written somewhere. So you're not escaping, you know, writing that code. Getting those partials you have that render with the at instance variable which just by convention finds the partial. So you have these two things as long as that instance variable is available in the controller you're looking for why do we need to add in this complex? Is it making... I mean because I don't know about caching that much the caching advantage then completely sold but apart from that So forget about caching and I won't even defend object oriented let's take an example where you want to show five undilated sections and should be driven by editors. Let's say I want to show I want to show video and as an editor I want to today I want to show related images or related videos for this particular video in that case I would create a related blog related cell Can we start from the view? Your view would have some conditional logic which will call render or whatever right? No, why would... So when it is... Let's say I have a XYZ controller and there is a main body and there are five unrelated sections in that controller in the view for that controller there has to be you'd have to have a way perhaps of making sure the HTML code gets in that view right? So if I had to render some cell name whereas say I had to render some partial name you'd need to do that right? But your editors would... Can I interrupt you guys for a second? We're just out of time so maybe you guys could... We'll talk about this later So the next talk in this track is going to be...