Hi everyone, thanks for attending this talk. Today I will talk about the parametrized hydropower accelerators for lattice-based cryptography that we designed, as well as the application of these accelerators to a software hydropower code design for Qtesla. This is joint work with my collaborators, Shanquan Tian, Yaqub Shefer, from Ya University, Burhard Yonk, from Mantrunk in Germany, Nina Bindel, from University of Waterloo, as well as Patrick Longa from Microsoft Research. So during today's talk I will first explain why we are providing a new hardware design for lattice-based schemes, given that there are already many existing work. Then I will give a brief background introduction for the digital signature scheme Qtesla that we used to showcase the performance of the hardware accelerators that we developed. Following that, I will focus on two of the hardware blocks and expand the design details. In the end, I will show the software hardware code design for Qtesla, which is prototyped based on a Resquire platform. So now let's take a look at the new lattice-based hardware design that we're targeting. Before that, as I mentioned briefly, lattice-based schemes are pretty popular nowadays, and as a result, there are many different types of hardware designs for different lattice-based schemes. One type of the existing design occurs only on the development of one or two building blocks, for example the Gaussian sampler. These blocks cannot cover all the expensive computations in a full lattice-based scheme, therefore the schemes are only partly accelerated. Moreover, most of the existing work only supports one side of the security parameters, and hardware architecture they provided is fixed as well. Also, the target of this work is just usually one specific lattice-based scheme. Moreover, these designs don't take into account the portability metric, therefore they do not offer any support for standard interface communications. Another type of existing designs provide the full-hubber realization for a specific lattice-based scheme, and therefore these designs provide very good speed-up. However, still the same problems exist in these designs, for example fixed security parameters, fixed architecture, no support for standard IO, etc. More recently, a more flexible approach gradually being proposed and used, which is to use the software hardware co-design approach, and this brings more flexibility to the architecture design, but at the same time, the same problems remain, fixed parameters, tied to one specific scheme, etc. Therefore, in this work we would like to propose a new hardware design for lattice-based schemes, which is able to solve all of the problems that we have just discussed. The idea is to first develop a set of hardware accelerators that are generic enough to be able to support different lattice-based schemes. Further, we want to make sure that these hardware accelerators can not only be tuned depending on the security parameters, but further, users can tune the performance parameters when targeting different applications. Another very important design decision we made in our work is that we use standard hand-shaking protocol throughout our design to make sure that our hardware accelerators, as well as the software hardware co-design, can be ported very easily among different standard platforms, for example, risk-free based and arm-based architectures. Now let's take a look at the Qtasla scheme. Qtasla is a lattice-based signature scheme that has been our second-round candidate in this PQC standardization effort, but it didn't advance to the third round. Its reference implementation is already integrated in several open-source libraries. Qtasla is a scheme which is secure against both classical and quantum adversaries and is also secure against some implementation attacks, for example, some side-channel and some fault attacks. Another advantage of Qtasla is that it only uses very simple arithmetic operations, so they are perfect targets for hyperacceleration. But the property that actually makes Qtasla stand out from the rest is that it comes with proofably secure instantiation. That means the security hardness of a given instantiation is proofably guaranteed as long as its corresponding RAOW instance remains secure. This leads, however, to rather large parameters, as you can see from the table here. So in this work, a very interesting research question for us to answer is that how much the performance of Qtasla can be improved by use of hardware acceleration. Now let's take a look at the operations needed in Qtasla. For the signature generation, given the secret key and the input message, what you first do is to sample a random polynomial y, and then you do a hash based on the secret key, the random polynomial, as well as the input message. And then the check is carried out to ensure that the acceptance is valid during the verification step. If the checks succeed, you go and compute a potential signature, which would later be checked to ensure the security. If this check passes, you go ahead and send out the signature, otherwise you go back to the random polynomial sampling step and repeat the whole process. For the verification step, given the public key, the signature, as well as the input message, what you do is you first hash all of them together, and then you do a comparison with part of the signature. If this comparison result is valid, then you go further and check the security property. If this check passes, the verification passes, otherwise it fails. So that's pretty much how Qtasla's signing and verification works. As we can see from the whole procedure, the operations involved in Qtasla are pretty straightforward, pretty simple. Basically, all you need are sampling, hashing, some comparison, some multiplication as well as additional operations. Now let's take a look at the full list of accelerators that we implemented for lattice-based schemes. We used Qtasla as an example to get the reference software profiling results and further to get an idea of the computation cost for different functions used in lattice-based schemes. As expected, most of the time within a lattice-based scheme is actually taken by the hash function as well as the polynomial modification. Further, the Gaussian sampling process also takes a fair chunk of the communication time. We also found that for Qtasla, the sparse polynomial modification also takes a big portion of the communication time. Such patterns can also be found in many other lattice-based schemes. Therefore, based on these profiling results, as well as the repetitive evaluation results for the full software hardware co-design, we implemented the following hardware blocks for lattice-based schemes, including a unified hardware core for both shake and c-shake, targeting 128 and 256 bit secure level, and a novel parametrized binary search CDT-based Gaussian sampler, as well as a novel and fully pipeline entity-based polynomial multiplier. Further, targeting Qtasla, we also implemented a parametrized sparse polynomial multiplier as well as a very lightweight HMX sum module. More details can be found in our paper. During today's talk, I will only focus on the Gaussian sampler and entity-based polynomial multiplier. Now let's take a look at the design of the CDT sampler. Here I'm showing the pseudocode for the binary search CDT-based Gaussian sampler. The algorithm works as follows. At first, you have given the random number x and a pre-computed CDT table, which steps is not necessarily the power of two. In order to carry out the binary search, what you first do is you split the CDT table into two tracks, and later you will focus your search within the chunk whose steps is the power of two. Then depending on the value of the input value, input random number as well as the CDT table, you carry out the binary search and in the end you will figure out the corresponding row of the CDT table and extract the index of it. This index will later be sent out as one sample. In a hardware design, we implemented a binary search engine, which basically keeps interacting with a pre-initialized memory, storing the values of CDT. This diagram here shows the full architecture for the sampler. On the left side, you can see that the CDT sampler gets inputs from an outside C-shake module. These inputs will further be processed by a PRNG module, which prepares random inputs of our targeted precision. Then the PRNG pushes its results to an input FIFO, and this FIFO will feed inputs to the binary search engine. Once the results are available, they are pushed to an output FIFO, which is responsible for communicating with the outside world. One thing to note is that within the design of the CDT sampler, the communication within the sampler, as well as the communication between the sampler and the outside world are all implemented for an XC4 light-like handshaking protocol. Therefore, the parallelism, the synchronizations among different blocks are very easily maintained in our design. Overall, our CDT-based sampler has a few good features. First of all, the whole design is fully parameterized. We can freely choose the security parameters, namely the standard deviation, the targeted precision, as well as the tail cut. Further, you can also determine how many samples you want to generate at a time, which is determined by the batch size parameter. Therefore, as long as your lattice-based scheme involves relatively small standard deviation, you can use our CDT sampler in your design. Further, our design for the CDT sampler is fully constant time and also pretty lightweight. We will see that in a minute in the following table. This table shows the performance of the CDT sampler. As you can see, our sampler can be easily tuned to support different security and performance parameters. Further, you can see that the area usage of the sampler is very low, which shows that the design is very lightweight. Another important finding from this table is that due to the use of the hand-shaking protocol between different blocks, the searching phase and the PRNG phase are actually perfect to overlap. This you can see from the table because the total cycles is very close to the cycles taken by the PRNG. When we compare our design with state-of-the-art implementation for Gaussian sampler, you can see that actually now the existing design can be plugged in a real-world application easily because the commutations in these designs are fully sequential. There is no synchronization mechanism implemented between different sub-blocks in their design. Moreover, these designs, they use much faster but arguably less cryptographically secure PRNG while our design uses a C-shake-based cryptographically strong PRNG. Now let's take a look at the design of the entity-based polynomial multiplier. Currently, there are two widely adopted approaches for implementing entity-based polynomial modifications, both in software and hardware. One method allows one to only use a unified algorithm basically by using the same butterfly for both forward and inverse entity. The other approach uses a separate algorithm where the forward uses CT butterfly and the reverse entity uses a different butterfly, the GS butterfly. These two approaches both have pros and cons. For the unified approach, if you think about it from the hardware perspective, only one hardware module is needed because you have the same algorithm for both forward and inverse entity. But this would require a few extra computations in the algorithm. For example, pre-scaling, bit reversal, as well as some post-scaling operations. While for the separated approach, because of the different butterfly structures, you don't need such extra computations. However, as a hardware design, you will need two separate modules for forward and inverse entity. In our work, we proposed a new entity algorithm which is called CTGS entity algorithm. It's a unified algorithm in the sense that the same algorithm is used for both forward and inverse entity. And this is achieved by designing a combined CTGS butterfly unit which is able to function either as a CT butterfly unit or as a GS butterfly unit. We will see more details in the following pseudo-code. Therefore, our approach only involves one hardware module and no extra computations are needed. This is the pseudo-code for the CTGS entity algorithm. The core part of the algorithm is that the constants for the control logic have to be initialized properly at the very beginning. As you can see, the structure of the loop or the control logic when you map it to hardware designs for forward and inverse entities are pretty much the same. The only thing that differs is the interloop logic, which is handled by our merged butterfly unit. Another feature of our design was mentioning is that we implemented an efficient memory access scheme to ensure that there is no idle cycles in the computational units. And in this case, the entity-based polynomial multiplier is fully pipelined. In the end, we present such an entity-based polynomial multiplier. The diagram here shows the structure of it. It basically involves a few components. First of all, import memories as well as the memories during the pre-competitutal factors. And for the computational units, we have a merged butterfly unit and we have a generic Montgomery multiplier. We have a point-wise multiplication unit as well as some control logic. Overall, our design for the polynomial multiplier is fully pipelined in terms of the length of the polynomial as well as the modulus. Further, our design is fully pipelined, fully constant time and similar to the design of the city sampler, the multiplier also supports standard interface. This table here shows the performance of the polynomial multiplier and the comparison with state-of-the-art related walk. As we can see, compared with related walk, our design is parameterized. It supports flexible parameters tuning. Further, we can see that our design actually improves very good cycle count. Basically, the cycles we achieved is very close to the theoretical cycle limit. And as we can see from the table, when compared with a high-performance hardware design, which actually instantiates four parallel factor violets, our design actually achieves a much better time-ever product. Compared with another related walk, this actually shows that we achieved similar cycle counts but actually bigger in consumption. This is actually due to the fact that these related walks, they fixed the value of the length of the polynomial as well as the modulus Q. And this shape of this specific Q actually supports very cheap reduction, which is essentially a bunch of addition and shifting operations. And this can be easily done in hardware within one clock cycle. So the pipeline structure in this walk is pretty simple to design. Okay, now let's take a look at the prototype of a real lattice-based scheme Q-Tesla on a RISC-V-based software hardware co-design. We use Marex SoC in our work as the platform. This is a very lightweight SoC, which is fully open-sourced. Marex integrates a few components. First of all, a 32-bit standard RISC-V CPU, which is called VEX-RISC-V. It also has a memory block, which is shared for data and instructions. It also has an APB module, which can talk to different peripherals, for example, the UART module. Similarly, we add the hardware accelerators to the SoC by adding them to the APB as peripherals. This is a setup we use for real experiments. On the left side, there is a walk station, which first programs the PGA and later loads the compiled software code to the RISC-V. On the right side, we are showing an RTX 7 APGA, which is actually the APGA recommended by NIST for PQC hardware implementations. The RISC-V, together with the lattice-based accelerators that we designed, are running on the APGA. Once the commutation on the APGA is finished, the commutation results are sent back to the walk station through the UART module. Now, let's take a look at the evaluation results. This table here shows the speed-ups which is brought by the hardware accelerators for different functions in the lattice-based schemes, namely shake, Gaussian sampler, polynomial modification, as well as first polynomial modification. As we can see from the table, very good speed-ups achieved for all of these functions. You may have noticed the speed-up for the Gaussian sampler is especially high, which is much higher compared to the other functions. This is partly due to the fact that the hardware accelerator itself accelerates the software function very well. Another important reason is that the data communication overhead, which is between the software and hardware, is actually perfectly overlapped with the commutation within the sampler. Therefore, the overhead becomes almost negligible in this case. That's also why the speed-up of hardware code design is very high in this case. This table shows the performance of the key generation of Qtasla for different design configurations. The leftmost column shows the different configurations. Here, a plus sign means that the corresponding hardware accelerator is integrated with the Marex SoC. Depending on the user application, you can either just add one accelerator to the design, or you can add several accelerators in a merged fashion. If you want to achieve a full speed-up, you can simply add all the available hardware accelerators into the SoC. We can see that when all the available hardware accelerators are added to the design, the best speed-up is achieved for both Qtasla P1 and P3 variants. For the P3 variants, an over 100 times speed-up is achieved. And also in this case, this configuration gives the best time error product. We can see that Qtasla, although it's not competitive in terms of software performance, when you run Qtasla on our software-added code design, you can easily, for example, for the P1 variant, finish key generation operation within less than 8 milliseconds. We can also observe a similar pattern for the signing operation in Qtasla, and the round 10 times speed-up is achieved when all the hardware accelerators are integrated in it, and the smallest time error product is achieved. Similarly, we can see a similar pattern for the verification. When we compare the performance of Qtasla on the Morex SoC, with all the hardware accelerators integrated, further with the state-of-the-art implementation of, basically, two other lattice-based signature schemes namely DeLithium and Falcon. One thing to note here is that given that there is no dedicated hardware-based implementation for these schemes, a fair comparison is not able to achieve. But let's still try to do some comparisons. Here we can see that although the performance of the perfectly secure Qtasla variants are slower compared to the software implementation of DeLithium and Falcon, when you integrate the dedicated hardware accelerators into the design, we can see that they have comparable performance compared to the other two signature-based schemes. We also compared with a RISC-5-based software hardware co-design which is focused on generic lattice-based schemes. In this work, they included the performance of Qtasla with outdated heuristic parameters. So for better comparison, we synthesized our design with these heuristic parameters and do the comparison. Note that in this related work, they implemented a customized and non-standardized processor which is closely coupled with the hardware part because they're designed to target low power and low cycle IC complications. So you can see that their work presents a much smaller cycle count because they pack more commutations into one clock cycle, but this in the end leads to a poor frequency. So overall our design actually achieves better performance in terms of time, although we are using a standard processor model. Okay, to summarize, in this work, we presented the design and implementation of a few hardware accelerators for lattice-based schemes, including a shake and c-shake unified core, a binary-serve CDT-based Gaussian sampler, an NGT-based polynomial multiplier, as well as first polynomial multiplier and HMAC sum module. Further, we showcased the prototype of a full Qtasler scheme by use of accelerators that we developed. And last but not least, you can find our open-sourced code from this link. Thank you for your attention.


When the Union was hurrying to raise its army from only 15,000 troops to several hundred thousand, it incentivized people to raise regiments by giving those who did officers commissions. This wasn't an unusual practice at the time, and it was a policy used in both the Union and Confederacy, but as can be expected, it allowed highly unqualified people to earn officer commissions at the outset of the Civil War. One such man was Andrew Sheehan, who was part of the New York City Underworld. He was a professional gambler and boxer. In the world of New York City sports betting, Sheehan was considered crooked by many people, including a man named Marcus Stanley. Stanley was a Union man, and he also wanted to recruit people for the Union cause, but he didn't trust Andrew Sheehan. The men who raised regiments and gained officers commissions were trusted with respectable sums of money to be used to feed and provision their men, but there was little in the way of oversight as to how regimental officers might use the money. For a corrupt opportunist, which is exactly how Stanley viewed Sheehan, raising a regiment was an easy path to self-enrichment at the expense of the recruits under his command. So Stanley actually offered bonuses to volunteers in order to lure them into regiments other than Sheehan's Empire City Regiment, as it was called. In fact, Stanley made it clear to Sheehan that this was his goal. He was vocal about his distrust of Sheehan, and he said that he was hoping to thwart his ability to raise a regiment, even if he personally went broke to do so. Whether or not Stanley's judgment of Sheehan was fair, it does seem clear that Stanley was sincerely motivated and had honest intentions. But Sheehan wasn't happy about this, and by the middle of 1861, there was an easy avenue to take for recourse against personal enemies such as Marcus Stanley for people who were dishonest enough to use them. Sheehan wrote out a statement swearing that Marcus Stanley was an avowed secessionist and a union spy. He claimed that Stanley was deliberately undermining his recruitment efforts as a way of sabotaging the union cause. None of this held water for anybody who conducted even a cursory investigation of the matter, of course. Stanley was simply paying volunteers to join other union regiments. But Sheehan did everything he could to paint Stanley as a traitor to the North. Sheehan's statement was sent to Washington, where it was put in the hands of William Seward, Lincoln's secretary of state. Seward was the chief engineer of the policy of political arrests, and he cared little about having reasonable suspicion before ordering a citizen arrest. When he received the report about Marcus Stanley, Seward gave the order to have him arrested and imprisoned at Fort Lafayette. After his arrest, the superintendent of the New York police wrote to Seward to vouch for Stanley, not only offering assurance that Stanley was a union man inside and out, but also that, quote, what he did in breaking up the empire regiment, he deserves the thanks of the community for, end quote. Further investigation determined that this testimony was correct and Stanley was released from prison, still loyal to the union cause, but the arbitrary nature of arrests was such that many baseless arrests were made all throughout the loyal states, as far north as Maine. Political prisoners were often shuffled quickly through prison, being released after only a few days or weeks, but others were held for months at a time. Political arrests became so commonplace that pro-war editorials in the second half of 1861 would refer to people as quote, unquote, good candidates for Fort Lafayette, when they wanted to attack them for their anti-war stances. In fact, anybody who expressed any desire for peace, regardless of their actual views on unionism, were seen as southern sympathizers, secessionists, and traitors to their government, and it took nothing more than an empty accusation to get somebody arrested. It was this policy of martial law, even in free states, and the widespread acceptance of and support for political arrests that started the Civil War era centralization of power in which the federal government superseded the individual states and laid the foundation for later controversial laws such as the 1863 draft and the income tax, neither of which had federal precedent in the country before the war. It is for these reasons that the northern policy of oppression deserves more attention than it typically receives. I'm Chris Calton, and this is the Mises Institute podcast, Historical Controversies. We recently finished looking at the union's policies in the border state of Missouri, which was dangerously close to joining the Confederacy. In addition to initiating the second large-scale battle of the war, the battle of Wilson's Creek, the union military imposed martial law throughout the state, mimicking the policies that had already been imposed in Maryland. But by August, these policies were being spread all the way throughout the north, driven primarily by William Seward, but with the tacit hands-off approval of President Lincoln. After union defeat in the Battle of Bull Run and even more so after Wilson's Creek, more and more people in the north started to question the union cause. One pro-union newspaper editor wrote a letter to William Seward that was of significant concern for the Lincoln administration. He said, quote, There is no longer observable that feeling of unanimity in support of the administration or that confidence in the war and its ultimate issue, which pervaded the popular heart a few weeks ago. There is an anti-war party slowly but surely forming all over the north. End quote. For pro-war politicians, this was an ominous observation. In an early episode, I cited a letter that the anti-slavery newspaper editor, Horace Greeley, wrote to the president after the defeat at Bull Run, encouraging him to make peace with the Confederates, even if it was on their terms. If this trend continued, Lincoln's effort to maintain the union by force of arms would be defeated from within. But even as many people in the north were abandoning their support for the war, others were doubling down out of anger at the secessionists, who they blamed for all the troubles. Some Democrat newspapers published stories criticizing the behavior of certain union regiments and even spread false propaganda about the immoral behavior of union soldiers. One paper from New Hampshire claimed that, quote, Our southern papers are filled with heart-sickening accounts of the murders and robberies, which individuals in old Abe's mob are perpetrating on the southern people. Innocent women and children are shot on their own doorsteps. No wonder the northern people run when the honest men of the south march toward them. End quote. Despite the looting that was conducted by soldiers from both armies, this editorial was far from accurate. The claim that union soldiers were executing women and children in their homes was ridiculous. And when people, especially soldiers, read this editorial, they grew riotous. An angry mob formed in Concord, New Hampshire, and they stormed to the building where the paper was printed. The newspaper's office was on the third floor of the building, and they'd locked the mob out, but a handful of the printers showed up at the windows of the building, armed with the revolvers, and one of them allegedly yelled to the mob that they'd defend themselves to the death. Somebody in the mob shouted back at him, quote, Fire, you traitor, you rebel, you secessionist. Angry soldiers in the mob moved back up the stairs to the locked doors and started to break it open. In the chaos, gunfire was exchanged, and a handful of people were wounded, though nobody died. Before the mob successfully broke in, the printers locked inside escaped through the attic. But once inside, the mob turned on the equipment, throwing everything that could fit out the window to be smashed on the sidewalk below. Then they set the place on fire and left to find the printers who'd escaped. Some citizens had shown up to try to protect the printers, and they'd escorted them to the local police station while the mob was destroying the office. As the mob moved toward the police station, they shouted, Lynch them, Lynch them! The printers spent the night in prison and then moved to the state prison, not under arrest, but to keep them safe from the violent mob. Outside the building of their destroyed office, the mob hung a flag that read, The Doom of the Traders. In Bangor, Maine, a similar riot occurred on the 12th of August, and in this case, the printer was captured by the mob. Marcellus Emery published the Bangor Democrat, and his anti-war editorials were not kindly received. When he was at home eating lunch on the 12th, he heard the city's fire bells ringing, and he went to see what was going on, only to find that the fire bells were bringing attention to his newspaper office, where he now found that, like the office in Concord, all of his equipment had been tossed out of the upstairs windows and smashed against the street below. The mob around his building was almost 2,000 large, and they were surrounding a bonfire that had been set from Emery's papers and flammable equipment. He went inside the building to inspect his personal office and found that it had been broken into with crowbars, and when he returned back outside, the mob turned their attention to him, with people yelling, hang him, tar and feather him! Emery was saved by the intervention of friends in the community who escorted him to safety, but his livelihood had already been destroyed. He said of the event, thus had freedom of the press been stricken down here in Maine. But Emery was fortunate to escape being tarred and feathered, and other printers were not so lucky. A week after Emery's office was destroyed, another mob formed in Haver Hill, Massachusetts and directed its anger against three different newspaper offices, all of which were destroyed. One of the three papers was the Essex County Democrat, and its editor was Ambrose Kimball. On the night of the 19th, as he was walking down the streets of the town, the angry mob swarmed on him. Kimball had friends with him who tried to get him to safety, quickly finding him a carriage and taking off from his home. But the mob chased him, and when the carriage arrived at Kimball's home, the mob was right on his tail. They shouted for Kimball to come out of his home, and when he refused, they broke in, grabbed the editor, and dragged him outside. He was then carried by the mob to the town center, where he was asked if he regretted his anti-war publications. Kimball said nothing. He was then asked if he would admit to being wrong and promised to cease printing anything that would anger his community. To this, Kimball said no, and the mob responded by asking him to remove his clothing. Wearing nothing but his underwear, the mob painted Kimball with tar and covered him with feathers, then following a customary punishment for the time, they put him on a fence rail held on the shoulders of some men in the mob, and they carried him around town so that his humiliation could be on full display. Finally, after the parade was over, they asked him once again if he regretted his actions, and Kimball answered that he did. They forced him to kneel and give an oath, saying, quote, I am sorry that I have published what I have, and I promise that I will never again write or publish articles against the North and in favor of secession, so help me God. End quote. These kinds of riots were taking place all over the North. A mob in Pennsylvania burned a pro-union congressman in effigy for making statements that were only mildly anti-war. In Connecticut, a fight broke out between a mob of union men and a mob of peace men for the crime of hoisting a peace flag, not a Confederate flag, just a flag advocating the end of war. The union men outnumbered the peace men and they won the fight and replaced the peace flag with a union flag. Later, the ladies of the town held a meeting and raised their own flag that said, peace and our country. And during the meeting, they passed a resolution that said, quote, Civil war is now raging in our midst, laying waste to our land, demoralizing our people, prostrating our business, and should be brought to an immediate close. We cannot believe that a war like the present can ever reconstruct the union. End quote. These people were unionists. They just saw the destruction of the war and didn't believe that any good could come from it. But to many unionists, even this type of anti-war statement was tantamount to treason. Stories such as these were rioting mobs, destroy newspapers, and threaten anti-war editors and peace activists were more common than I can adequately relate to here. The editorials that sparked the mobs ranged from genuinely false smears of union soldiers to modestly anti-war statements from people who would have preferred the reunion of the southern states but either thought that war was not the best means to achieve that end or that the cost of war was too high to justify it. In Maine, Connecticut, Pennsylvania, Massachusetts, New Hampshire, New York, and New Jersey, at least such riots took place in various towns throughout the month of August. And the solution to these riots by the federal government was not to take action against the people engaging in the violence and property destruction, but to take action against the anti-war editors so that civilian rioters would no longer have to do so themselves. Action by the Lincoln administration took place gradually, eventually evolving into the policy of arbitrary arrests and political prisoners. At first, newspapers who published anti-war editorials were prohibited from delivering their papers through the Postal Service. This policy was instituted by Montgomery Blair, Lincoln's postmaster general, and initially directed against the anti-war newspapers operating in New York City, such as the Journal of Commerce and the New York Daily News, in addition to some smaller publications. Prohibition of distribution through the Post Office may not sound very severe in my modern standards, but this was the way subscribers received their papers at the time. Newsboys could still sell the anti-war papers, at least for the moment, but this only made up a small percentage of the distribution. By denying access to the Postal Service, the government could almost guarantee the death of a newspaper. This policy affected numerous papers, but I'll briefly detail the reaction by five different papers who were affected, each with a different response and a different outcome. That can tell us a great deal about the political goings-on of the Lincoln administration. For some papers, the move worked, at least from the perspective of the administration. One relatively large paper was the Brooklyn Eagle, and this is the most clear-cut case of the policy of repression working the way the administration wanted it to. The editor of the paper immediately promised to stop publishing any anti-war writings, and they were allowed to go back to business, now reporting only unsafe, government-approved stories. This was the way most newspapers responded to the policy, though in many cases it was only after examples were made in regards to what happened to those who resisted. The policy worked for the Journal of Commerce as well. The editor and part owner, Gerard Hallock, recognized that the policy would bankrupt him, and he entered into negotiations with the Postal Authorities, in which the journal would be allowed access to the Postal Network on the condition that Hallock sell his share of the paper and resign his position. Basically, the federal government said to Hallock that either he could retire, or he could be economically destroyed. Hallock agreed to retire, and the paper survived, having learned of the lesson about publishing anything that could be interpreted as being anti-war. The editor of the New York Daily News, Ben Wood, took a different approach, deciding to fight against the repressive policy. This paper was smaller than the journal, and the journal came from advertisements for the mayor of New York City, Fernanda Wood, who was not only sympathetic to the Confederate cause, but had previously advocated the secession of New York City to form its own country, and depended from both the Union and the Confederacy. So the Daily News was an even more of a bind. If it stopped printing anti-war editorials, it could lose its most important revenue stream, but if it continued, the postal policy would likely destroy it through a lack of distribution. But Ben Wood fought back, writing an editorial that accused Congress of, quote, endorsing the most stupendous series of frauds, political villainies, and usurpations of power that have been perpetrated in any civilized country since the days of Henry VIII, end quote. By allowing the executive branch to continue its unconstitutional policies, Congress had, quote, given sanctions to murders, massacres, illegal imprisonments, and robberies of the treasury, end quote. Wood went on to refer to President Lincoln as, quote, unquote, unscrupulous chief magistrate, who had delivered to Congress a message that amounted to, quote, ocean of falsehood and deceit, end quote. Although some patriotic readers abandoned the Daily News, circulation in the border states increased as a result of Wood's defiance of the administration's repressive policies. Private distributors tried to make up for the loss of postal access, even hiring news boys to make deliveries, but it didn't become a standard practice until the Great Depression. But Washington doubled down, ordering U.S. Marshals to find and confiscate any copies of the Daily News. Before the war, postal service refusal to deliver certain publications was not unusual, especially in the South, where local postal authorities refused distribution of any anti-slavery writings. But now, with the orders to confiscate privately distributed papers, the authority of the executive branch extended in an unprecedented way. Newsstands were told that they no longer could sell the paper, and at least one news boy, which means an impoverished child working for a meager living, was arrested in Connecticut for selling the paper. By September, Ben Wood gave up. The government had won. He wrote a final editorial, saying that his paper had been, quote, confiscated by government officials, acting without warrant or process of law, end quote. He resigned as editor. Pro-Union newspaper celebrated the demise of the Daily News. The New York Times ran an editorial saying that Wood should just be happy that he was still allowed to, quote, walk the streets with as much impunity as if he were a true man, end quote. It is important, and I think just as relevant to today's media, to remember that the arms of the press that support whatever the current administration is will rarely have the principles or moral character to stand up for the rights of the people with whom they disagree. Another interesting example of a repressed paper was The Daybrook, which was published in New York, but had circulation as far away as Oregon. When the post office refused to distribute its papers, the editor proposed a compromise solution. It would no longer write anything in opposition to the war, and instead its editorials would focus on the issue of slavery. Its motto would be borrowed from Stephen Douglas, quote, I hold that this government is based on the white basis by white men for the benefit of white men and their posterity forever, end quote. Because slavery was not the issue upon which the Union government was waging the war, this compromise was acceptable and the paper was allowed to resume business so long as it only published pro-slavery articles rather than anti-war articles. When it resumed operations, the paper changed its name to the weekly Caucasian and it saw no further harassment from the federal government. The final example I want to give is that of the small religious paper called The Freeman's Journal, edited by James McMasters and ran only by him and two other people. Now the name of the paper shouldn't mislead you. McMasters was a supporter of slavery, but the controversy wasn't about slavery, of course, it was about his support of secession and his religious opposition to the war. When he was informed that he would no longer have access to the postal network, he refused to back down. He changed the name of the paper to Freeman's Appeal and he promised that he would continue publishing until the country once again saw freedom of the press. Even with a reduced circulation, he kept printing for several weeks, but eventually a copy of his paper was put on the desk of William Seward and the person who brought it to him asked Seward, quote, What is your opinion in regard to McMasters' arrest? Seward replied, You will arrest and send him to Fort Lafayette. Shortly after this, four deputies were sent to McMasters' office to arrest him. He was uncooperative, demanding to see a warrant. They didn't have one, but they said they were under direct orders from the Secretary of State. To this, McMasters said that if Seward were present, he would shoot him. Then he said that he would submit to the arrest but only on the condition that he be handcuffed and escorted down Broadway to be on full display to everyone he passed. Every time he passed somebody he knew, McMasters held up his shackled wrists and yelled out, This is Seward's work. He was held in prison for more than a month. While he was in prison, his wife continued to publish the paper, though she agreed to do so without any anti-war editorials and the postal authorities agreed and renewed access to the postal service. These are not the only examples I could give, of course. They're just some choice anecdotes, but by the end of September, the Journal of Commerce, now operating without Halleck as the editor, reported that, quote, there is no opposition press, end quote. It wasn't wrong. Government repression works. After demonstrating the success of these policies in New York City, the same tactics were extended to New York State and then to other Union states. By September, there was no longer any need for angry mobs to form and destroy printing offices, as all anybody had to do was to inform Washington of any anti-war editorials and the federal government would exact its own punishment. The policy pattern followed that used in New York City. First, deny access to the postal service, Montgomery Blair's policy. And if this didn't work, arrest the editors, William Seward's policy. But Seward's pinching for arrests increased to the point that it wasn't long before it became standard practice to just arrest an opposition editor right off the bat. In some cases, such as the Philadelphia Christian Observer, the government seized the paper entirely along with arresting the editor. For the pro-administration papers, all of these actions were laudatory. The New York Tribune wrote that these policies, quote, helped public confidence in believing that the government means something, end quote. In the month of September, political arrests had ceased in Baltimore, though prisoners from elsewhere in the north were being frequently sent to Fort Lafayette. By this time, the Union general put in charge of Maryland was John Adams' dicks. While political arrests were heating up throughout the rest of the country, the pro-war northern papers were attacking dicks for treating Maryland with quote, unquote, kid gloves. There weren't any secessionist uprising taking place in Baltimore since May, but the northern papers never doubted the inevitability of a Confederate invasion of Maryland and a secessionist uprising in Baltimore. This was quite literally a conspiracy theory driven largely by a document that was circulating in Washington that was allegedly written by Jefferson Davis detailing the plan for the Confederate invasion of Maryland, though the reality is that we don't know who wrote it. It's currently archived as part of the Lincoln papers. The letter said that the signal to invade Maryland would come after the Maryland legislature passed an ordinance of secession. Then, quoting from the letter, after the act of secession, I will claim Maryland and make good her state action at all hazards and cross two columns over the Potomac, one above and one below Washington, not attacking Washington unless McClellan divides his forces. It would be a political heir to attack Washington until Maryland has re-assumed control over the soil of that city and would weaken the cause. We contend for state's rights. The eastern shore of Maryland is thoroughly secession and the lower two counties of Delaware are pledged to civil war. The upper column will march on Chambersburg, the lower on Annapolis. Baltimore must burn the bridges. We have over 300,000 men in Virginia all told, 232,000 are fully armed and efficient. The rest are without arms and are in camps of instruction at Lynchburg and elsewhere. I fully appreciate the risk of advance, but we need the stores now in Baltimore and must take the risk, end quote. The story of this plan spread through the Union press and as it spread, so did panic in the north, especially in Washington, D.C. In the nation's capital, a political witch hunt was taking place to try to root out secessionists who were employed by the Union government. It's known as the Potter Investigation Committee, this being different from the Potter Committee that took place in the 1870s that is more well known. The 1861 Potter Committee took witness testimonies against other government employees who were suspected of being disloyal. This meant things like government employees who opposed the use of military force against the South. Opposing war was treason. A September 18th article of the New York Times reported on the committee saying, quote, Mr. John Fox Potter is doing the utmost man can do to ferret out the traitors and all their hiding places, but vain his labor and thankless his sacrifices if these scenes are to continue, end quote. The evidence they used was often weak and Congress's meddling in the matters of cabinet employment was enough to annoy even such radical Republicans as Treasury Secretary Salmon Chase who was given a list of 74 of his employees who were suspected of disloyalty with recommendations to fire them. Chase himself did not consider the evidence from the investigating committee to be reliable. I'd actually like to talk more about the Potter investigation which sounds a lot like the Cold War era Red Scare, but there is surprisingly little written about this. But this was the state of paranoia that surrounded Washington DC and the fears about the secession and invasion of Maryland did not subside even after the May rioters had been quiet for several months and with the supposed plan of the Confederacy to invade Maryland being signaled by the state's ordinance of secession which by the way is kind of an odd plan considering it wouldn't really be an invasion by the Confederacy if the state joined them. But such logical problems mattered little when Washington was in a grip of paranoia and they believed they had to do everything they could to prevent Maryland from seceding. In early September Lincoln took a carriage ride with General McClellan, Secretary of State William Seward and his son Frederick Seward who was also the Assistant Secretary of State. They were riding to Rockville to meet with General Nathaniel Banks who was at this time still in charge of the Union operations in Maryland though he'd been ordered out of Baltimore so that he could guard the Potomac River. When the President and others with him met with General Banks, Lincoln made clear that it was now Banks' responsibility to prevent the Maryland legislature from meeting on September 17th. His orders were to not bother federal members of the legislature but anybody who either favored secession or opposed the war two issues that were treated as one and the same for all intents and purposes were to be quote, quietly turned back toward their homes end quote. Lincoln referred to it as quote unquote separating the sheep from the goats. On September 11th, Secretary of War Cameron sent General Banks further orders to step the plan up a bit. The order read quote General, the passage of any act of secession by the legislature of Maryland must be prevented if necessary all or any part of the members must be arrested. Exercise your own judgment as to the time and manner but do the work effectively end quote. Cameron also sent additional orders to General Dixon Baltimore giving him orders to arrest specific members of the legislature keeping them in custody and not allowing any visitors as well as seizing their papers to search for evidence of treason the order was carried out the next night at around midnight Maryland congressman Henry May a conditional unionist was woken up by a knock on the door and he found his house surrounded by 13 policemen May wasn't unaware of what was going on by September political arrests were widespread so he set a quick goodbye to his wife before it being taken to Fort McHenry then the police moved on to other individuals including some not named in the orders such as Ross Winans who had been arrested before as I detailed in a previous episode on Baltimore and Mayor George Brown one by one the police moved through the city in the cover of darkness woke up the people on their list and loaded them in a carriage to be taken to Fort McHenry some of the people they intended to arrest were out of town on the night of the 12th but they were arrested immediately upon their return home the police also arrested newspaper editors who were still printing anti-war editorials in the city including Frank Key Howard grandson of Francis Scott Key who had also been arrested before the night of September 12th and 13th essentially saw a purge of any Baltimorean legislator editor or prominent citizen that was suspected of disloyalty to the Union the Unionist newspaper the Baltimore Clipper held the arrests as a wonderful thing editorializing quote the most stupendous and important arrest of the time occurred between 11 o'clock on Thursday night and 11 o'clock Friday morning the following parties to our recollection have been arrested on the charge of uttering and circulating treason and are now snugly enjoying themselves in Fort McHenry end quote that editorial then went on to name several of the legislators including Mayer Brown which the author sarcastically referred to as his royal heinous but these arrests only removed to the legislators who lived in Baltimore so there was an anti-war or procession legislators from other areas of the state who were set to meet in Frederick Maryland so as to avoid Baltimore altogether on September 17th the day before the legislature was scheduled to convene general banks sent an order to another subordinate Lieutenant Colonel Ruger that read quote it becomes necessary that any meeting of the legislature at any place or time shall be prevented you will hold yourself in your command in readiness to arrest the members of both houses a list of such as you are to detain will be enclosed to you here with among whom are to be specially included the presiding officers of the two houses secretaries clerks and all subordinate officials let the arrest be certain and allow no chance of failure the arrests should be made while they are in session I think the process of arrest should be to enter both houses at the same time announcing that they were arrested by orders from the government any resistance will be forcibly suppressed whatever the consequences end quote but the order didn't even need to be carried out when the time came on September 17th there were only three state senators who bothered to show up and they only did so because they were staunch unionists the rest of the 21 state senators had either already been arrested or they didn't show up out of fear of arrest the Maryland House of delegates wasn't much different with only 11 out of 74 delegates present neither house had a quorum so both sessions were adjourned until the next day the lack of attendance actually stressed Ruger out since he was expected to make all of the arrests at once he could hardly do that if nobody showed up in response he decided to barricade the entire town of Frederick nobody was allowed to enter or exit the town without written permission from the lieutenant colonel then with the town sealed a squad of federal police and a military escort started their search for the absentee legislators as well as their employees slowly but surely the hunted men were rooted out and arrested most importantly were the state senators general banks and a wire to William Seward while the search was still ongoing reporting that 12 of the state senators had already been arrested and the rest would probably join them before the night was over it was incorrect though the final arrest came at noon the next day the authorities decided that there was no need to keep anybody but the legislators themselves so all of the prisoners who were not actually elected officials were given a loyalty oath and released except for one assistant clerk who refused to take the oath and was sent to Fort McHenry with the legislators Lincoln defended the arrests by claiming that quote in all cases the government is in possession of tangible and unmistakable evidence which will when made public be satisfactory to every loyal citizen end quote no such evidence was ever released no matter almost every member of the opposition party in the Maryland legislature was now in prison and every newspaper that would have defended them had been suppressed arrests continued in Maryland with full force after this including the arrests of the final few straggling legislators who wisely chose not to show up in Frederick at all other arrests were carried out against prominent businessmen or lawyers and anybody deemed important enough who refused to take the loyalty oath anybody who uttered anything against the Lincoln administration Republicans the war or the union soldiers was subject to arrest and at one point general McClellan even sent a note to one of the officers in Maryland saying that he quote fully approves your course in arresting a man who used offensive language toward your regiment end quote arrests were based on such loose suspicion that some of the people arrested were later found after an investigation to be among the strongest supporters of the union in Maryland and the arrest of Marcus Stanley that I opened the episode with included in these arrests was a man named Timothy Webster who was actually one of the operatives working undercover for Alan Pinkerton for the purpose of infiltrating and rooting out secessionists in Baltimore after the arrest and his subsequent release Pinkerton himself said that Webster had to use more caution quote when inside northern lines than while touring anywhere below the Potomac end quote this gives a good illustration of the wage hunt environment in the north especially in Maryland at the time but the statement wouldn't age well as only a few months later Webster would be discovered as a union spy enrichment and hanged but with the Maryland peace party as opposition groups were collectively called throughout the north with the peace party effectively destroyed the coming November elections looked promising for the unionists still there were a few lingering members of the peace party who'd not yet been arrested and as the elections approached some nominees to oppose the Maryland Republicans so now the goal was to make sure that the Maryland elections were secure for the unionists on November 1st general Dicks issued orders to arrest voters who showed up to the polls to quote convert the elective franchise into an engine for the subversion of the government end quote he also instructed the election judges not to allow their ballot boxes to be quote polluted by treasonable votes end quote as the election drew near several more arrests were made against citizens who were expected to vote for opposition candidates just before the election posters were plastered all over Baltimore encouraging loyal citizens to point out anybody who'd taken part in the Pratt Street riot in April to the election judges and the police so their vote couldn't be counted and they could be arrested when the election came on November 6th union men in the city were happy to comply hanging out at the polling places in order to point out any disloyal voters unwise enough to show up one man John T. Robinson did his part for the union cause by accusing three of his neighbors of respectively inciting riot bearing arms against the United States and insulting union soldiers all three men were arrested on the spot Robinson wasn't the only one Samuel Deur if I'm pronouncing that right turned in his neighbor Charles Schwatka for being a secessionist another neighbor was arrested for having cheered for Jefferson Davis and so on as I can hardly detail all such arrests but I want to give examples of the various justifications for the arrest of voters on election day this election also took place before the secret ballot so peace party voters had no way of hiding their votes from election judges each political party printed its own ballot which could be identified by its own distinct color so as voters went to put their ballot in the box many people were arrested for having a ballot of the wrong color the arrest being justified on the orders to not allow the pollution of the ballot box in one case an election judge tried to uphold honest election practices and he was himself arrested for quote failing to bar accused secessionists from voting end quote by the end of the day roughly 170 peace democrats had been arrested and many more never attempted to vote at all especially after rumors started to spread before noon that the peace democrat candidates were withdrawing from the election entirely because of the fact that they were arrested were released at the end of the day when the polls were officially closed with a few exceptions of prisoners who were held for several more days for various reasons the results of the election weren't surprising every seat in baltimore that was up for election was won by a unionist candidate the union candidate for governor augustus bradford won by a landslide only losing in four counties where there were no federal troops in the house of delegates six peace democrats managed to make efforts without the presence of the military barring disloyal voters but a whopping 68 unionist delegates were elected one of the victims of these oppressive policies described the situation in maryland quote spies and informers abounded a rigid supervision was established disloyalty so-called of any kind was a punishable offense rebel colors the red and white were prohibited they were not allowed to appear in shop windows or on children's garments or anywhere to defend the union sentiment of a newspaper promulgated disloyal sentiments the paper was suppressed and the editor imprisoned very soon no one was allowed to vote unless he was a loyal man and soldiers at the polls assisted in settling the question of loyalty end quote with the opposition party almost completely ousted from the maryland legislature the state was finally completely secure for the union and the policy of oppression in the north had been fully established for the union over the course of the war in the next episode we will begin looking at the division between eastern and western virginia leading into the establishment of a new state historical controversies is a production of the ludwig von mesis institute if you would like to support the show please subscribe on itunes google play or stitcher and leave a positive review you can also support the show financially by donating at mesis.org slash support hc if you would like to explore the rest of our content please visit mesis.org that's m-i-s-e-s dot o-r-g


A seven-year-old arrives home with her first report card from school, which is full of terrible grades. Her dad leans over her shoulder to take a peek at the academic horror show. The girl turns around and asks, so what do you think, dad? Nature or nurture? Centuries ago, John Locke and others began arguing that our personality is mainly shaped by the environment we were raised in. Others, such as Charles Darwin, believe that we are largely programmed genetically. Modern behavioral geneticists think that it's more complex because the two interact. And relatively recently, a little crayfish from Germany showed just how little we actually know, but more about her later. First, let's go back to the girl, her dad, and what we do know. Neither the dad nor the smartest scientists can answer what leads to certain school outcomes of our seven-year-old girl. We do know, however, a bit about the influences of genes and the environment when it comes to groups of specific populations. Take for example, a group of a hundred white American men in their early twenties, and you will probably find, on average, an IQ of a hundred, a height of 178 centimeters or around 5.8 feet, and that ten have spelling problems. We can now ask, which of these three traits is determined by genes, anything that happened before conception often referred to as nature, and which by the environment, anything that happened after their mothers got pregnant, often referred to as nurture? To understand the two forces, we need to acknowledge that environmental influences are often random, siblings experience home very differently, and we need to recognize that genes are complex, there is no single gene doing a single thing. We therefore know little about which trait in an individual is the result of their genetic makeup and which is due to the environment. We only know about the impact of nature and nurture on trait differences of a particular group, and to learn about that, we need to understand heritability. Heritability is a factor that ranges between one and zero. One stands for genetic influences, zero for environmental factors. Heritability defines the genetic impact on trait differences in a particular population. It cannot measure the degree to which a trait of a particular individual is genetic. Dyslexia, for example, has a heritability closer to one. That means that genes explain more of the difference in spelling mistakes of our group than school, family, or random factors. It does not mean that one particular person with spelling problems got them genetically, some just didn't get much support when they were young. How complex the interaction between genes and environment really is becomes clear when we look at something as seemingly straightforward as IQ and height. First, let's examine height. A group of 100 white American male students are on average 178 cm tall, that's roughly 5'10". Their heritability for height is around 0.8. If some men in this group are 183 cm or 6' tall, then heritability allows us to assume that 80% of that difference is, on average, caused by genetic variance, and 20% of the difference is due to lifestyle. If the same group of people were raised in a region that experienced systemic droughts and they never had enough to eat, their potential for an average height of 178 cm is far from ever being reached. The heritability for height might now go from 0.8 down to 0.5. Nature and nurture are now equally responsible for group differences. This means heritability changes. If we have a well-nourished population on the one side and a malnourished group on the other, then the impact of nutrition on the differences in height changes from 20% to 50%. In other words, nurture matters a lot until we reach a point from which it's not as relevant. So what about intelligence? The heritability of IQ is around 0.6 for people in their 20s and then increases as we age. The average IQ in our group will be around 100, but some have an IQ of 110. These are therefore responsible for 60% of the difference and random factors in the environment for about 40%. In other words, for those with an IQ of 110, 6 of the additional 10 points can, on average, be attributed to nature and 4 points to nurture. Now even if nurture plays a big role, it doesn't mean that teachers or parents had any impact. Unlike height, which we know how to increase through nutrition, when it comes to IQ we don't know much about how to improve it. Random factors seem to play a big role. How random the environment is becomes clear when we look at two kids that are born into the same family. Both are raised in the same shared environment, but first-borns, on average, turn out to be more intelligent than their younger siblings. And if one of the two siblings was adopted, the two would have some correlation in IQ during their upbringing. But as adults, they would be hardly more similar in intelligence than complete strangers. Parents, it seems, have a very limited impact on a child's IQ. So now what about that crayfish? In 1995, German scientists made an odd observation. The little female creature had mutated and become asexual, able to make clones of itself. As each clone shared exactly the same genetic blueprint, the scientists set up an experiment for the ultimate test. Hundreds of these little identical creatures were placed in the same environment. Same water, same temperature, same amount of food. Even though the scientists tried to control all these variables, the unthinkable happened. Some crayfish stayed tiny, others grew big, some died, others lived on and on, and while some became social, others enjoyed solitude. Why do you think that happened? Is that nature, nurture, or a complex interplay of the two with some random variations in replicated genetic code? To download this video without background music and to learn more about the topic, visit Sproutschools.com. This and all other Sprouts videos are licensed under Creative Commons. That means teachers from all around the world can use them in classrooms, online courses, or to start projects. And today, thousands already do. To learn how it works and download this video without ads or background music, check out our website or read the description below. If you want to support our mission and help change education, visit our Patreon. That's patreon.com slash Sprouts.


Gymnosperms are a group of plants that do not produce flowers so how do they reproduce? Their reproductive organs are the cones. So there are two types of cones in every gymnosperm the female cones and the male cones. So we already have a video on the male cone I would recommend you go back and look at it and this video we are going to look at the female cone and explore how reproduction happens in gymnosperms. This is a female cone and what we are going to do is we are going to take a longitudinal section of it by that I mean we are going to cut it from top to bottom and remove the front part so this is what we will see when we do that. So this is the LS the longitudinal section the cone has a technical name it's called the female strobilus or the female cone and if you look at the longitudinal section you see these things these parts that seem to arise from this central axis and each of these parts is a sporophyll the female sporophyll which is also called the mega sporophyll. So each of these is a mega sporophyll. Why mega? Mega means big and micro means small micro sporophyll would be the sporophyll present in the male cone that's because microspores are present in male cones and mega spores are present in female cones. We call them so because the male spores are much smaller than the female spores. So each of these is a mega sporophyll and why is it called sporophyll? Spore you know and fill stands for leaf. So these are modified leaves each of these is a modified leaf which contains spores in it that's why it's called the sporophyll. So now we are going to take a look at this little bump over here in each sporophyll. This bump is nothing but the ovule so this is the ovule and this right here you see there's a gap over here this gap is present towards the base of the sporophyll and is called the micropile. We will see later why the micropile is so important. So inside the ovule a lot of interesting things are going on. So we have this mega spore mother cell there is a cell there are a lot of cells inside the ovule but there is this one special cell which is the mega spore mother cell okay I'll just label it over here this is the mega spore mother cell and this as the name suggests is responsible for making spores. So what happens is this mega spore mother cell divides by meiosis and gives rise to four spores right here. So meiosis so the mega spore mother cell was diploid and after meiosis the spores that it results in these spores each of them are haploid. So all of these are spores but with time three of the spores degenerate okay and there is this one spore that remains standing and that's the spore that's important that gives rise to the female gametophyte. So this spore right here it divides and divides by mitosis to give rise to this larger structure and this is called the female gametophyte. Now you might remember from bryophytes and pteridophytes that the gametophyte is supposed to be a plant it's a green plant which can survive on its own it can do photosynthesis make its own food but this here is a really really tiny structure the ovules themselves are very tiny and the gametophyte is inside it it's even smaller. So this is much smaller than the gametophytes that are there in the bryophytes and the pteridophytes not only that they are not green and they are not independent plants they're completely dependent on the sporeophyte whereas the sporeophyte the female cone that is a part of the gymnasperm tree which is the sporeophyte. So the female gametophyte is completely dependent on the sporeophyte and so is the male gametophyte by the way. So this is what happened with evolution the gametophyte became smaller and smaller until it became completely dependent on the sporeophyte. So anyway you see these two smaller structures inside the female gametophyte these two are the archegonia singular is archegonium and plural is archegonia i'm going to enlarge this a bit you see these tiny dots over here these two are the eggs so each of these is an egg there is an egg in each archegonium now let's see what happens in fertilization so for fertilization of course the male gamete is required which is present in the male gametophyte and the male gametophyte is nothing but the pollen grain so this right here is the pollen grain the pollen grains in gymnasperms reach the female gametophyte by pollination and the pollination always occurs in gymnasperms with the help of the wind so once the pollen grain reaches the ovule it enters the ovule through the micro pile that is why the gap was there as you saw above there the gap was there for the male gametophyte to enter so when the pollen grain comes and sits at the base of the ovule it germinates let's just bring this down a little bit so this right here is the pollen tube and let me make this a little bit bigger so you see these tiny dots over here these are the two male gametes that are there in the pollen grain so the pollen tube grows and reaches one of the archegonia and one of the two male gametes goes and fuses with the egg that is there in the archegonia and hence the zygote is formed after the zygote is formed it grows by mitosis the zygote divides by mitosis repeatedly to form the embryo so this is the embryo and this entire thing which was the ovule once has become the seed and if you take a look at the entire cone and that too has matured so it become more woody and these right here are the seeds which were ovules once so this is pretty much what happens in the reproduction of gymnosperms we start the ovule where there is a megaspore mother cell which divides by myosistiform spores only one of which survives with which grows into the gametophyte the female gametophyte which has the archegonia with the eggs when pollination happens the pollen grain comes in through the microbiome in the ovule and the pollen grain germinates to form the pollen tube and the pollen tube discharges one of the male gametes into the egg in one of the archegonia and that forms the zygote and the zygote develops to form the embryo


Power or snowfall? Power. Road trips or flights? I like road trips. Hotels at Airbnb? Hotels. Twitter or threads? Twitter. Roundtable talk or radio? Radio. Drill or Jersey Club? Jersey Club. Lounge or strip clubs? Lounge. Charlemagne or Joe Budden? Charlemagne. Come on man, that's home team, I can't do that.


I graduated from law school and I took a year because I was so depressed I waited to take the bar exam. I felt really alone. I felt like I couldn't communicate my heart and I had lost that zest and thirst and love for life and that passion for discovery that I had once kind of just lived in. I turned everything off so I was definitely not functioning at all. My name is Elise Kerrigan and I'm from Boston, Massachusetts. I am the center manager at the Arlington Body and Brain Studio.  I think my whole life has kind of been a journey towards meeting with this practice. There's a few different things that I feel were stepping stones that brought me here. The first one was my love of movement. As a child I was a dancer, I was a gymnast. One of the things my parents always said about me is that they couldn't keep me still. They wanted to get me moving really early. Later in life I became a gymnast and I was a competitive gymnast all through high school. The next thing that kind of moved me towards brain education is my thirst for meaning and purpose and understanding why we're alive and I remember really feeling that from a really young age I really wanted to know why we are here. And then when I was in high school I had a history teacher who really moved my mind and my heart. I felt very lucky to have this teacher who mentioned enlightenment. He's like, why not? Live your life for enlightenment. I was like, well, is that a possibility? This history class, we would sit under this tree outside in San Diego and we would read Socrates and Plato and I was just like, well, okay, this is heading me towards something.  I moved from different majors so I started with communications and I was like, oh, this is not so much my thing. And then I thought, oh, okay, international business because that's what my dad does and I really like languages. And so I studied international business for I think maybe a semester or two. I couldn't make up my mind so I was undeclared for the first like three years of college. I was like, I only have one more year, what do I do? And so I was like, philosophy, let's major in philosophy, which was awesome because I fell in love with it. And I really got to ask those questions that were meaningful to me. And then when it came time to start considering what I was supposed to do with my life, I was very unclear. I had spent some time in London doing study abroad and philosophy and it was, I had one more semester left after that trip. And I really didn't know what I was going to do. So I had kind of, in my mind I had two options. I could get a PhD in philosophy and teach or I could become a lawyer. So I chose to become a lawyer and I studied for the LSAT and that's what brought me to Boston about 12 years ago. So I studied at New England School of Law and I was very fascinated with the law and I think my love for the philosophy of it was really combined with an interest in helping people because I was very connected to children and I wanted to learn more about children's rights and how we could affect the youth and younger generations and make the world a better place for our future generation. But I quickly, I quickly became kind of disheartened by my experience with the law. I just quickly through my different experiences realized this isn't the way I want to help people. Through that experience I started to feel, okay, what am I going to do with this? I felt like I was heading down this path that was not meaningful for me but I had this huge obligation to complete and finish. I had taken out a lot of student loans to go to law school. I had moved across the country. I had made new friends and some new connections and I was living a life that I didn't feel connected with myself and I felt this really, really, really heavy obligation to live this life that I was very clear was not going to make me happy. So I became really depressed. I went on antidepressants because I was really depressed and I gained a bunch of weight and I was working in a bar at that time and I was also in a relationship and living with the person that I was in a relationship with. And I had what felt like opportunities to have a lot of fun but I realized when I look back that I was really just numbing myself. I was partying a lot. I was working in a restaurant where, you know, the culture was just to work and then play. And then we would play really hard. And then I would sleep it off the next day. I would study. I would go to school and then I would work and then play. And there was no downtime. I wasn't giving myself any opportunity to really question what I wanted because I felt like it wasn't an option anymore. I felt like, well, this is the path that I have created for myself. This is the choice I made. Now I have to keep that obligation. I have to keep that promise to myself. It was like there was no opportunity to change anything about my life at this point except to just do what society says to do and just work and make money and do the next thing. Only I was in this position where none of those things were working out the way I had idealized them in my mind. I graduated from law school and I took a year because I was so depressed. I waited to take the bar exam. I felt really alone. I felt like I couldn't communicate my heart. And I had lost that zest and thirst and love for life and that passion for discovery that I had once kind of just lived in.  So I was definitely not functioning at all. It was really down in this hole and I didn't know what to do.  A year later, I took the bar exam and I studied for two months and I passed it but still had no intention really of practicing. So then I decided okay let's go a different direction and I tried to move into consulting and I got a job interview. So I started getting ready for this job interview and I wasn't too enthusiastic about it but it was something. I was shopping for my interview suit and I stumbled upon an information table about brain education and I signed up for an intro session and visited a local body and brain yoga studio in the Boston area and I brought with me nothing. I was just very infested. I did the intro session and I remember it just being this very unique experience. I knew I wanted to move my body again but I felt really cared for in that moment when I was meeting this person, this stranger that just kind of gave me a hug and welcomed me and made me feel like I can introduce you to something that's going to help you. I got energy in my hands for the first time and I was like wow this is cool. This is something I want to explore. When I went to sign up for a membership I didn't really have any money but I really wanted to try something and it had been a long time. I think this is the first time in a long time I had used any willpower to do anything good for myself in probably two or three years. I had really just been so empty and depleted. So I said yes to one month and I actually signed up using money I should have spent on rent but I didn't because I was really just ready to try something and then because of that I had a really desperate mind. So I started coming to the center every day. I would come every single day and I would take one, two classes if I could if there were two in a row I would take them and I just felt myself starting to change. My friends started to notice changes in me right away. I was feeling more bright, more positive, I was losing weight and then I started just taking different programs and learning more about it. I had a weekend long training and it was really challenging to get myself to go but once I got there it was life changing and I remember coming back and I was talking to my instructor when I got back and he asked me how my training was and I remember saying that if I could live my life making people feel what I felt on this weekend then I would know that my life has so much purpose.  And from there on I just started taking programs and I just moved really quickly and decided I want to become a brain education instructor and I've been doing that now for about six years and it's totally changed my life.  That I don't need to rely on external things that actually external things will not make me happy and in a sense I always knew that but what brain education has really offered me is the tools to live it and to do it. And so all the training methods help me connect with who I really am and they help me bring out my willpower and they help me live from who I really am and what I really want and they help me have the energy to overcome the desires or the negativities or the worries and anxieties inside that might be trying to lead me back into my negative habits and cycles but now through training I really know that no matter what even though I have all those things and they're not going to just disappear they're a natural part of being human what I also have is I have power and I have the power to change and I have the power to choose and those powers the power to choose and the power to change those are things that no one can take away from you no one can strip that from you and none of your life experiences can leave you totally and completely without that it's always there it might be hidden underneath something and it might need to grow and it can and what everybody needs is tools to help you grow them and it's priceless. So if I could talk to my old self who is so depressed I really felt limited by my life circumstances and controlled by them I would tell her that every day is a new beginning that you can restart that you can reshape your life and just because you've made certain decisions that gotten you to a certain point and a certain path that doesn't mean that there's not a fork in the road or that you can't pave a new path or there there isn't one already there kind of waiting for you you just have to open yourself up to discover it so if you want to experience brain education and change your life like I did you can experience it at Body and Brain Yoga and Tai Chi Centers and come visit me if you're in the Boston area I teach in the Arlington Center which is the Cambridge side of Boston where we actually have four centers in the area Brookline Cambridge and Riverwalk at Lawrence so it's an amazing place come take training with us and we'll help you feel amazing.


So today, we'll be running some Spark jobs on Kubernetes with Argo workflows. What we'll cover here, we'll be learning about the scaling and stability advantages of running Spark jobs on Kubernetes versus traditionally running them on Yarn. We'll learn how to use Argo workflows to deploy and automate Spark jobs on Kubernetes and not just run one job, but run multiple Spark jobs successively or in parallel. And once we're running our job on Kubernetes, we will also learn what else is possible to do. So a little bit about us. I'm Kaelin, co-founder and CEO of PipeKit, you probably just heard about. But at PipeKit, we use Argo workflows to scale data pipelines for enterprises. We help them with a SAS control plan that sets up Argo workflows and gets them running on production using Kubernetes to build faster and have more reliable data pipelines without having to know everything about Argo. I'm a contributor on the Argo workflows project. And I was supposed to give this talk today with my talented teammate, Darko. But unfortunately, he couldn't make it from Serbia. So just shout out to Darko for the contributions on this talk. Let's get into background of the tools that we're using. So first, Apache Spark. So it's a really popular big data compute framework that's open source. So in addition to being super performant for batch data jobs, it's actually a really versatile tool. So that's why it's maintained its popularity over time, even with upstarts like Dask and Ray coming onto the scene that are really even better at doing batch jobs. But Spark is possible because it's versatile. You can adapt, use the framework to also run streaming jobs alongside your batch jobs. Has a handy machine learning library creatively named MLlib. So you can transition right from ingestion and data processing into machine learning and do that with a bunch of common languages. So we work with a lot of companies that use Spark alongside all these other frameworks and do it on Kubernetes. So we want to talk about a bit of the advantages today because more and more Spark jobs are moving away from Yarn. There's a bunch of issues that we run into when we deploy on Yarn. First is requiring global installs. So the risk of sharing libraries between your Spark jobs on one cluster is really hairy to deal with. And often you want to use a different Spark version for different apps that you're building and not have to go back in time and refactor Spark jobs as versions upgrade. But this isn't really possible with Yarn. So that's a big advantage of adopting Kubernetes. Of course, using Docker natively is another big advantage of moving Kubernetes. On Yarn, you have to do a lot of legwork to be able to containerize your applications and take advantage of the faster dev experience and the improved dependency management that Docker offers. Again, there's a resource benefit as well. So instead of running a JVM on each node, you can take advantage of Kubernetes pods. And then autoscaling is the big final advantage that we really want to take advantage of. So how can you use different CPU or GPU thresholds on the same cluster? And how can you adapt to spiky data jobs depending on the workload you need? But we often ask just, why use Kubernetes for data science? And to quickly touch on this, four data teams who are newer to Kubernetes often, when you use containers as your building blocks in the pipeline, you get reproducibility of the pipeline. So you can share parts or the full pipeline with different people on your team. And you get improved reliability given better dependency management. Kubernetes also gives you a declarative approach to pipeline. So this is much more advantageous than so that you can essentially define what outputs you want and let Kubernetes handle the autoscaling. And so that's where vertical autoscaling comes into play. Kubernetes is a great complement to the horizontal scaling that a framework like Spark offers you, but now introduces the ability to also vertically scale depending on the compute that you want. And finally, we'll talk a little bit later about how the cloud native ecosystem can come into play to bring your data pipeline fully to production. We've talked a lot about Argo workflows today. So we'll be using Argo workflows. And the big benefit here is it's generalizable. So beyond just running your batch jobs, you can now use Argo workflows alongside Spark to then trigger ML training jobs, trigger a model serving or deployment. And ultimately, we're using this as the workflow engine, the orchestrator to automate many, many Spark jobs instead of having to run these manually. Taking a look at what the solution looks like, so on the cluster here, we'll be deploying Argo workflows. And the user would submit a workflow to Argo in the Argo namespace. Argo then talks to the Kubernetes API to schedule that workflow, which is going to be a series of Spark jobs. Kubernetes starts the workflow, and then the workflow starts to step through and submit Spark jobs for the Kubernetes scheduler to then spin up the Spark driver pods and then spin up the executor pods for the driver to then assign tasks to. And the big advantage here is, number one, Argo workflows is managing the state of these jobs. So that's how we can then begin to string jobs together into a longer pipeline. And the second big advantage is Kubernetes is handling the spinning up and down of all the executor pods. So as pods are no longer needed, Kubernetes will spin those down and save you resources. And then once the driver's done, it spins that down as well. So you're not holding any sort of resources idle. So yeah, all in all, we're really seeing the problems we saw initially solved by moving container native. So we're now running different Spark versions and different jobs on the same cluster. We can manage dependencies more easily. And we can stop downloading those dependencies at runtime. The other big thing that we get is now lower resource requirements for running our jobs and autoscaling vertically. But wait, there's, of course, more that we get. So the first thing that we want to call out here is it's duplicable. So this architecture can be used if you have a team that wants to move beyond Spark, start adopting Dask array. You don't have to completely set up a new cluster. You can spin up a similar architecture on the same cluster, run some jobs with Spark, some with Dask and Ray, and use our workflows to orchestrate all of that. You can extend it, so now you can bring in other data processing or machine learning tooling into the same cluster, which we'll talk about in a minute.  You're agnostic, and you can start to pull in other tools like Prometheus for your logging and metrics. So quickly, I'm going to jump into a demo and how we get this done. Let's see. So what we're going to be running here is a couple of basic Spark jobs. So we have a bike share data set that we're pulling off a Kaggle. We're just doing a simple map reduce. So we're going to count our bikes by bike type and total up the amount of hours we've rode. And then what we're going to do is create an Agra workflow that is a DAG that runs these two Spark jobs in parallel. So we're going to run the bike type count job, and then we're going to run the ride length job in parallel. So what we do is we create an Agra workflow, and we start to define the DAG steps. So first down here, we're going to define the bike type step. We're going to define the success and failure conditions, which again is handy for when we want to string together tasks, depending on how a step completes or fails. We then designate that this is going to be using the Spark operator. We then designate the language. So we're using Scala for this job. Sorry, the video is blowing up on me here. We're going to set the mode to cluster, which we have to do, for running Spark on Kubernetes. We also put in our Docker image here, and we set our main class, which is the Scala file that we defined our job in. And then we set the jar location and the Spark version. So this is where you can change within the same workflow. You can have one step that runs version 3.1, one step that's running version 2. And then down at the bottom here, we start to define our resource requirements. So first for the driver, which we set up here to run locally. And then next for the executors. And of course, we can scale these up if we want. We're going to move to our AWS account and move off a local. But for now, we're just going to run two instances here, which would mean that we're going to spin up two Kubernetes pods to execute each Spark job. Let me just skip. So now what we've done, let's see, there we go. We're going to take our workflow, put it into Argo, and run it. And now we can see our DAG that maps back to our workflow file. So we have our bike type count and our bike length count. And this is going to run. And now what we can do is we can go into kubectl and monitor it. So we see that we have our driver pods, two driver pods, and two executor pods for each driver. Once they complete, I'm going to just grab the logs here. And we can see that we get our output of our count for bike type. And then we'll also grab the logs for our ride length by bike type. And since this is a demo, we're just using the print statements there. But that's an example of how we can just run two Spark jobs in parallel on Kubernetes with Argo. Now we're going to shift into how we can actually parameterize that workflow file so that more people on our team can run workflows on their own by just simply passing arguments. So for instance, this is an example of a workflow that we're actually going to be using the workflow template ref to call in a Spark workflow template. And instead of writing all the YAML that we did before, we just simply pass in template parameters that we've defined in the workflow template. So as a data scientist, we can just define what our Scala job is going to be, the file, the image, and where we want to run it, and what resources we need to run it. And so what this looks like on the workflow template side is a bunch of input parameters that map back to our original workflow. But instead, we set some defaults. And we allow now any user to adapt this template, depending on the Spark job they want to run. So just jumping back into next steps. So now that we're running Spark on Kubernetes, we can next enable Cron workflows. So if you hop into the GitHub repo that we have online, we have an example of that that you can check out as well. We can start to define different node pools. So if you want to scale up GPUs for certain jobs or not with a few lines of code, you define those nodes and select them. And with Argo workflows, have the logic to then run certain Spark jobs on more compute or less compute, depending on your needs. Start to use cluster autoscaling, and then extend the pipeline with more capabilities. An example of that is this architecture where we're deploying Argo workflows. But we're also then deploying a REST API that can feed events through Kafka and into Spark's structured streaming app. We can ingest that alongside running some batch jobs that we're pulling from a database. And we can use Argo and Argo events to trigger these Spark jobs simultaneously. And then we can, now that we know the state of these jobs, we can trigger ML model trading, hyperparameter tuning, and even model deployment as the pipeline progresses. So you get an all-encompassing way to automate your ML pipeline on Kubernetes with Argo workflows. As far as resources and next steps, feel free to check out our repo, where we have all the code in the demo. Hit us up on Twitter if you're curious about chatting about this any further. And make sure to check out a couple extra resources if you end up diving in. Thank you.


What's up everyone it's your girl Kenzie here from Layton Sports Cards And I'm ripping a couple more personal boxes for Dan W We've got a 21-22 Panini Revolution basketball hobby box as well as a 2022 select baseball new release Alright best of luck Dan. Here we go time for some new release select baseball Got tri-color Ryan Sandberg and Mookie Beth Sparks Got out of 250 Silver Jumbo rookie patch Luke Williams and Silver Killbrew Moonshots Zika we've got Jonah Dome on the rookie Diamond level Got light blue to 149 Mike Ustromsky got Silver Luis Castillo Got Josh Lau on the rookie patch Rays Yachty Molina Tri-color Cody Bellinger and Garrett Colt stars red to 199 Luis Robert Silver Brice Harper Phillies We've got two 90 98 hey Glaver Torres Moonshots auto There you go Dan This little vet auto there to 98. I got Kristen Yellich Wasn't it what's on Q first got to 99 Tri-color RPA here of Ronzie Contreras pirates Tri-color patch and a Fuego Shane Bieber and last pack here for you It's all a box to select Got Luke Williams on the neon green to 99 rookie Phillies All right, that'll do it for your box of select Dan Now time for revolution. All right. Good luck Soccer is going first tonight Nick soccer some mosaic soccer forest vortex fractal of Scotty Barnes rookie of Banton Fractal of poor Zengas and vortex of Evan Mobley Josh Christopher on the Astro rookie and Joshua Primo rookie Nope, who's these top little for me today? You Astro Jama rants and rookie revolution of Moses moody prove Jimmy Butler and Isaiah Jackson rookie We've got impact to 149 Jalen Brown and liftoff Jalen Green Rockets Got Evan Mobley to 75 on the anniversary card.   Congrats again. Thanks again for hopping back in and we'll get these right out to you