The Spanish Civil War was a civil war in Spain fought from 1936 to 1939 between the Republicans and the Nationalists. Republicans were loyal to the left-leaning Popular Front government of the Second Spanish Republic, and consisted of various socialist, communist, separatist, anarchist, and republican parties, some of which had opposed the government in the pre-war period. The opposing Nationalists were an alliance of Falangists, monarchists, conservatives, and traditionalists led by a military junta among whom General Francisco Franco quickly achieved a preponderant role.

On this day in 1936, the Confederación Nacional del Trabajo (CNT) and Unión General de Trabajadores (UGT), together more than 3 million members, called a general strike, beginning the workers' revolution during the Spanish Civil War.

The strike, revolutionary and anti-capitalist in character, was called in response to a fascist military coup that had taken place on July 17th. During the general strike, civilians acquired weapons by raiding state weapons depots.

The war began after the partial failure of the coup d'état of July 1936 against the Republican government by a group of generals of the Spanish Republican Armed Forces, with General Emilio Mola as the primary planner and leader and having General José Sanjurjo as a figurehead.

The government at the time was a coalition of Republicans, supported in the Cortes by communist and socialist parties, under the leadership of centre-left President Manuel Azaña. The Nationalist group was supported by a number of conservative groups, including CEDA, monarchists, including both the opposing Alfonsists and the religious conservative Carlists, and the Falange Española de las JONS, a fascist political party. After the deaths of Sanjurjo, Emilio Mola and Manuel Goded Llopis, Franco emerged as the remaining leader of the Nationalist side.

On July 24th, the first voluntary militia, known as the Durriti Column, named after libertarian communist Buenaventura Durriti, left Barcelona for the region of Aragon. Other regiments formed, such as the anarchist Iron Column and the CNT-affiliated Red and Black Column.

Over the next three years, revolutionary Republicans began reorganizing society and production on anarchist principles and battled with the Nationalist forces, led by the fascist Francisco Franco.

The Nationalists and the Republican government fought for control of the country. The Nationalist forces received munitions, soldiers, and air support from Fascist Italy, Nazi Germany and Portugal, while the Republican side received support from the Soviet Union and Mexico. Other countries, such as the United Kingdom, France, and the United States, continued to recognise the Republican government but followed an official policy of non-intervention. Despite this policy, tens of thousands of citizens from non-interventionist countries directly participated in the conflict. They fought mostly in the pro-Republican International Brigades, which also included several thousand exiles from pro-Nationalist regimes.

International Brigades

The International Brigades were military units set up by the Communist International to assist the Popular Front government of the Second Spanish Republic during the Spanish Civil War. The organization existed for two years, from 1936 until 1938. It is estimated that during the entire war, between 40,000 and 59,000 members served in the International Brigades, including some 10,000 who died in comba

The International Brigades were strongly supported by the Comintern and represented the Soviet Union's commitment to assisting the Spanish Republic (with arms, logistics, military advisers and the NKVD)

The largest number of volunteers came from France (where the French Communist Party had many members) and communist exiles from Italy and Germany. Many Jews were part of the brigades, being particularly numerous within the volunteers coming from the United States, Poland, France, England and Argentina.

Republican volunteers who were opposed to Stalinism did not join the Brigades but instead enlisted in the separate Popular Front, the POUM (formed from Trotskyist, Bukharinist, and other anti-Stalinist groups, which did not separate Spaniards and foreign volunteers), or anarcho-syndicalist groups such as the Durruti Column, the IWA, and the CNT.

The Soviet Union provided the largest amount of foreign aid to the Republic, supplying artillery, aircraft, tanks, guns, troops, and military advisors.

The Fall

The Nationalists advanced from their strongholds in the south and west, capturing most of Spain's northern coastline in 1937. They also besieged Madrid and the area to its south and west for much of the war. After much of Catalonia was captured in 1938 and 1939, and Madrid cut off from Barcelona, the Republican military position became hopeless. Following the fall without resistance of Barcelona in January 1939, the Francoist regime was recognised by France and the United Kingdom in February 1939.

On 5 March 1939, in response to an alleged increasing communist dominance of the republican government and the deteriorating military situation, Colonel Segismundo Casado led a military coup against the Republican government, with the intention of seeking peace with the Nationalists. These peace overtures, however, were rejected by Franco.

Following internal conflict between Republican factions in Madrid in the same month, Franco entered the capital and declared victory on 1 April 1939. Hundreds of thousands of Spaniards fled to refugee camps in southern France. Those associated with the losing Republicans who stayed were persecuted by the victorious Nationalists. Franco established a dictatorship in which all right-wing parties were fused into the structure of the Franco regime.

The Republicans were defeated in 1939 and General Francisco Franco came into power, ruling Spain until his death in 1975. Many Spanish revolutionaries sought political asylum in the United States, and they would produce the paper "Espana Libre" to connect the scattered community of Spanish exiles until Franco's death. Other anti-fascists would work to undermine Franco's government from outside the country.

"Don't you see why I'll continue fighting as long as these social injustices exist?"

Megathreads and spaces to hang out:

reminders:

  • 💚 You nerds can join specific comms to see posts about all sorts of topics
  • 💙 Hexbear’s algorithm prioritizes comments over upbears
  • 💜 Sorting by new you nerd
  • 🌈 If you ever want to make your own megathread, you can reserve a spot here nerd
  • 🐶 Join the unofficial Hexbear-adjacent Mastodon instance toots.matapacos.dog

Links To Resources (Aid and Theory):

Aid:

Theory:

  • hexaflexagonbear [he/him]
    ·
    5 months ago

    Data scientists are so funny. Their linkedin posts are like "it's humbling to realize you will never match the optimized matrix multiplication of numpy" which is technically correct, but their attempt is just the intro to lin alg algorithm. You learn more efficient methods in an algos class! Then they'll try like the built in for-loop parallelizer, and, again, parallel matrix multiplication is a basic example you'd do in an HPC course! I won't match a dedicated dev team's attempts, but come on, this is just sad. Like couldn't you check with a book first?

    • hexaflexagonbear [he/him]
      ·
      5 months ago

      The data science community is like it takes so much knowledge, you have to know statistics, linear algebra, ML, algorithms. Then everyone in the field is unfamiliar with like at least 2 of them.

      • Hohsia [he/him]
        ·
        edit-2
        5 months ago

        In a group of 5 data scientists, 1 is familiar with statistics, linear algebra, ML, and algorithms and the other 4 are frantically searching stackoverflow and other niche vlogs from a decade ago because they don’t understand anything

        And those other 4 only got the job because they are good at interviewing (not a job skill btw who would’ve thought)

        • bigboopballs [he/him]
          ·
          5 months ago

          maybe I should become a data scientist. But I think I'm probably too lazy to do any work even if I did learn enough about it.

    • PaX [comrade/them, they/them]
      ·
      edit-2
      5 months ago

      Its like, you can literally go look at how they did it, the source code is available

      And how "they did it" only really works on certain PC and ARM processors by the grace of trillion-LOC optimizing compilers (I said plural but just the 2 actually, you know the 2, we all the know the 2, there are none but the 2) and hand-written assembly and assembly-like C code maintained only by the souls of 10,000 software devs sacrificed every day in the name of BIG DATA (okay I glanced at the code and it's not actually that bad on their end but I fear the PC processor designers, who I can only assume aren't crushed under the weight of 50 years of immovable/unchangable architectural history while still expecting to make it go faster every fucking year is because they have tooling that allows them to divide this Herculean task into hundreds of thousands of more manageable tasks)

      ANd when you wanna crunch REALLLLLY BIG DATA everyone just uses repurposed freeze-gamer slop hardware, sometimes rebranded, because change in the capitalist computer industry is IMPOSSIBLE unless its adding more ad-hoc shit on top of other ad-hoc shit to find more frontiers to charge rent on with the least possible investment and somehow most of the supercomputers on the TOP500 list are literally JUST MASSIVE PILES OF PCS

      I know it's Linkedin which is a wasteland but it's not magic, you can look inside and it's mainly just parallelism, and we could be doing so much better

      Unlimited destruction on cargo-cult computer-touching mentality and MBAs qin-shi-huangdi-fireball

      I have not slept in a while blob-no-thoughts

      • hexaflexagonbear [he/him]
        ·
        5 months ago

        Numpy is actually pretty good about turning our pretty optimized code, which is also why I get annoyed at linkedin MBAs or intellectually incurious (non-ECE/software) engineers giving you random numpy "killer" libraries which are only more efficient in some edge case because they themselves couldn't RTFM. But yeah, the issue here is the guy is writing his own matrix multiplication code without reading the absolute very basic coursework about it. Like matrix multiplication is ubiquitous, there's lots of sources on how to do it efficiently. If you can't get close to the library performance that's a massive skill issue!

        • PaX [comrade/them, they/them]
          ·
          edit-2
          5 months ago

          This is true, I'm looking at it rn and like it's mainly just meticulously vectorized code

          You don't even have to try so hard, they just did it cuz they wanted to squeeze everything out of these processors

          Like it's not an easy project but you could do it

          I don't work in the industry but I feel like I see this kind of thing online a lot, people who treat this stuff like magic and the libraries like black boxes that just work

          Idk :(

          giving you random numpy "killer" libraries which are only more efficient in some edge case because they themselves couldn't RTFM.

          Also that's kinda hilarious lol, like they're sharing some kind of "secret" with you or something? Probably really tied to grindset shit, like go start a company with this library? Lmao

          • flan [they/them]
            ·
            5 months ago

            there are literally internet tutorials that will teach you all of the techniques you need to know to get to like 95% of cutlass performance in a weekend

          • hexaflexagonbear [he/him]
            ·
            5 months ago

            Also that's kinda hilarious lol, like they're sharing some kind of "secret" with you or something? Probably really tied to grindset shit, like go start a company with this library? Lmao

            It's usually like an actual improvement, but also realistically not needed if you know what you're doing and aren't lazy. One thing that comes to mind is Polars, which is meant to be more memory efficient than pandas, and better at multithreading and vectorization. And while it does do that, usually the main memory issue for pandas is at dataframe creation, and you can generally avoid it if at initial load you read in using chunks, and instead of using csv or another inefficient format to store data, you use anything that lets you preserve the dataframe structure. The fancy way is with parquet, but I think even pickling a dataframe wouldn't be awfully memory inefficient for i/o. You can also combine these if you're working in a vm with very low memory, read in chunks, store chunks in parquet, read from drive as needed. For vectorization, the rows and columns of a dataframe are already numpy arrays, with some pretty minimal effort you can vectorize your code. I remember making a colleagues code go from 1 hour runtime to 30 seconds because... their for loops were just a groupby with a function mapped onto the result.

            Anyway, lots of tools emerging in big data that while cool and well designed, their main usecase is... people are way too lazy to think about what they want to do

            • PaX [comrade/them, they/them]
              ·
              5 months ago

              I seeee.... I was maybe too quick to judge, my bad

              Tbh I've never heard of most of that software you mentioned lol, I think I get what you're saying though as in just properly formatting input data

              I'm just a dumb Unix nerd blob-no-thoughts

              Also it kinda seems like Python/data people like to develop entirely new terminology for things that already existed but got a new name in their preferred library or whatever, it's kinda strange to me tbh. I had to look up what a "dataframe" is and it's just a 2-dimensional array? I feel like Javascript people do this too sometimes

              • hexaflexagonbear [he/him]
                ·
                5 months ago

                Yeah, my bad, forget that I'm using jargon sometimes. There's some stuff both pandas and numpy do under the hood, which is why generally other libraries use their classes when doing other things (so Pandas is very memory hungry at dataframe creation because it does some work to make querying faster). The terminology actually comes from the R programming language, which calls its arrays dataframes, afaik Pandas itself is a project whose goal was to port some of the data manipulations techniques from R to Python.

                • PaX [comrade/them, they/them]
                  ·
                  5 months ago

                  Yeah, my bad, forget that I'm using jargon sometimes.

                  You're good, I guess I just haven't really engaged with the data science infrastructure/community before that much

                  Was aware of R but not that its arrays were called dataframes, interesting

                  I gotta logout, gonna go sleep lol

                  Fun talking

        • PaX [comrade/them, they/them]
          ·
          5 months ago

          I just wrote a new KILLER LIBRARY

          /* O(1) matrix multiplication, just call function until you get the right answer, works with any representation of matrix of any size */
          Matrix*
          matmult(Matrix* m, Matrix* n)
          {
              Matrix* r;
              r = malloc(sizeof(Matrix));
              return r;
          }
          

          999999999 BILLIONAIRES LIKED THIS POST, NOW GO START A NEW COMPANY WITH THIS ALGO GRINDWOLF KING AWOOOOOOOOOO