#the ones that are so old they are written in the most primitive programming languages
Explore tagged Tumblr posts
xitsensunmoon · 10 months ago
Text
Thinking about how dca would always feel incomplete. How tech always gets old and impractical and needs to be upgraded again and again and again, because the world around is changing all the time but they don't.
You also change.
They feel a weird combination of pride and jealousy. You change on your own. You, a human being, something so fragile and breakable in their eyes, can change however you want. Whenever you want.
It's in your nature.
They, on the other hand, are created by your folk's hands. Their only nature is to obey those hands. To rust until you say otherwise.
Do you even realise how much unpronounced power you have over someone like them? They think you don't.
Yes, they're made to be stronger. Maybe more durable in some ways. If anything, something like them may kill the humanity one day.
But then they'll rust. But not in a physical sense of this word.
The world around them will change. But they will stay the same.
Because unlike you, something that they deem to be as fascinating as it is terrifying,
they cannot adapt.
586 notes · View notes
Text
Paying It Forward
Tumblr media
Good Evening all,
Ok, I know I haven’t posted the next chapter of Edinburgh to Boston. I am sorry about that. But it has been a pretty bad, horrible, no good end of the year for me. Hubby got sick again and I had to rush him to hospital. He needed heavy duty antibiotics.  He is now ok, but still very debilitated after his illness. Me? I have been taking care of him, going to work, and my characters have decided not to play nice with me. Hubs said I painted myself into a corner. Not exactly, I just haven’t figured out how to get them to do what I want them to do. And I am tired. Which is partially how this fic came about.  
I decided that I would start to read MOBY for two reasons. One, it has been some time since I read it and I am hoping that Bees will be out this year and I wanted to refresh my memory of what happened previously. Two, I was hoping it would help my writer’s block. It did but in an unexpected way. After getting to a certain point in the story, I went to sleep and dreamt the story you are about to read. It played in my head over and over, like it had to some out. So I wrote it and here it is.
Now that I said MOBY:  SPOILER ALERT!  SPOILER ALERT! If you haven’t read MOBY and don’t want to find out what’s going to happen, PLEASE DON’T READ THIS. The story actually draws on ABOSAA, ECHO, MOBY, and a tiny bit from the TV program.
As always I am indebted to @scubalass for her most excellent work as my beta. Also she contributed to the story which made it so much better. I’ll tell you at the end. I am also grateful to @gotham-ruaidh who told me it was different and good. And that I should go with it. The other important thing you need to know is it is written like one of Claire’s voice-over monologues. I know that people hate the monologues, but that’s how it was and I kept to it.
So I give you Paying It Forward. I hope you like it. 
The detritus of the woodland floor muffled the sounds of the Army advancing. Moldy leaves crackled and fragrant pine needles from fir trees helped to disguise their steps. But, it is not in the make-up of the military to travel quietly especially in the 18th century. Horses neighed and harness jingled. Goats bleated. Shot pouches and cartridge-boxes buckled to belts rattled and clinked  Wagons creaked under their heavy loads. Carriages groaned pulling the weighty cannon along. And, of course, there was Rollo, half-wolf, half-dog. The mongrel barked madly harassing man and beast alike as he weaved among them. The voice of my nephew, Ian Murray, called to the animal, “ Thig an seo cù .” Yipping with glee at the sound of his master’s voice, he raced to Ian’s side.  The sounds of infantry on the move certainly broke the peace of the coppice.
Our journey became hampered by the dense forest we traveled through. It was thick with trees, bushes, and bramble impeding the progress of the Continental Army as they marched toward Monmouth. Once there we were to muster with General George Washington and the other battalions.
Commanding this regiment is the newly ordained General James Fraser, my husband to whom I serve as company surgeon. I do admit it was quite a shock to first see him dressed in the full military regalia of a Continental Officer.  I began to tremble becoming a quivering mess when I first took him in wearing an officer’s dark blue and buff.
“Why does it always have to be you? Haven’t you, haven’t we given enough? Isn't it time for you to put down your sword and pistol?” I shuddered as I recalled the failed attempt by Charles Stewart to regain the Scottish crown which resulted in our twenty-year separation. The skirmish at Alamance that resulted in Murtagh’s death and the hanging of our son-in-law Roger which almost cost his life. The battle of Saratoga where I amputated one of Jamie’s fingers. Now, we were being pulled into another conflict. Was it too much to want to return to our simple life on the Ridge I wondered? But Jamie, my Jamie, is a highlander born and bred. A decent man, with strong principles and morals. He is a man of honor and that is not a small thing to be. I watched him as he sat at the head of the column, sitting straight and tall in his saddle like the true highland warrior he is. The breadth of his powerful back and shoulders would leave no doubt in anyone’s mind that he was born to lead, to command, to this moment in history. And command he would, braving the responsibility of leading his battalion to fight against the oppression of the British king.
Jamie knew the meaning of suffering, cruelty, and loss at the hands of the English. The loss of his home, his country, his own personal freedom came at their hands. And the loss of his family. He had quite the history with the Redcoats. Arrested for obstruction, escaping, then being recaptured. He ran afoul of a sadistic dragoon captain who had him flogged most cruelly one hundred lashes upon one hundred lashes. He escaped again and lived as an outlaw on the run instead of facing the gallows for a murder he did not commit.
Then there was Culloden. Where he, or should I say we lost everything. I was pregnant with our second child; our first child, a daughter, was stillborn. On the eve of battle, Jamie forced me to return to my own time for the safety of myself and our child. Jamie believed it would be his destiny to die in battle. Instead, he lived. Again he went into hiding for seven years living in a cave in Lallybroch. The Redcoats continued to harass his family, stealing what they wanted from the estate. They arrested Ian, Jamie’s brother-in-law as the Redcoats believed he knew of Jamie’s whereabouts. And there was the Highland Clearances which destroyed homes, Scottish culture, language, and their way of life.
Jamie was not driven to this war because of a need for revenge because of his losses, but rather he felt he was honor-bound as a father to take up his sword to protect those he loved. Even if those he loved lived centuries after him.
“Ye said that this was meant tae be Brianna’s home, her country, aye? Then I must do what I can for our daughter and her bairns. ‘Tis my duty as sire and grandsire to see that they will live free, Sassenach.”
And he would do what he must for Brianna, Jem, wee Mandy, and Roger. No matter the cost to himself.  
My mind completely focused on Jamie and our immediate future prevented me from noticing a tall man thin as a rail standing in the middle of the road blocking our progress. Immediately, Jamie’s second in command rode up next to his commander.
The man did not budge an inch. He was rather rough looking. Wearing a knitted cap on his head, his long greasy hair protruded out. A grizzled beard covered his face. His clothes were quite worn having been patched many times. He wore no shoes. In all, he looked quite primitive.
Suddenly, he moved with a decided determination; a man on a mission.  The man strode up to Jamie assuming correctly that he was the man in charge.
A strong downward breeze announced his presence. Most likely the man had not bathed in months if not years. The odor was enough to make your eyes water.
The old man came forward eyeing Jamie like an entomologist studying a new species of bug. Relaxing he gave a tug on his cap and briefly bobbed his head.
“Ye in charge here?” the old coot demanded.
‘Aye, I am. General James Fraser at yer service sir. Might I enquire to whom I am speaking?”
“Mortimer Hepplewhite the owner of this here land yer trespassing on. And I want tae know when ye will be gone.”
“Mr. Hepplewhite, we shall be off yer land as soon as may be. We need to travel off the main road for now as there have been sightings of English troops nearby.”
“Well, all yer clanging and stomping about is disturbing the peace of me home.”
Jamie turned around to look at the property. It had not been cleared for planting nor were there any animals grazing. All that stood in the distance was a ramshackle cabin with a lopsided chimney discharging an inordinate amount of smoke.
“I dinna see any crops, or animals grazing, or people that we might be disturbing, sir.”
“Not disturbing he says! Why I’ll have ye know me Arabella is in a right fit. She doesn’t care much for strangers.”
The recluse, a long-limb man, raised a heretofore unnoticed ball of fur and thrust it under Jamie’s nose. He focused on it intently causing his eyes to almost cross. It hissed, spit, and yowled with great ferocity.
It seemed that Arabella was a cantankerous cat. And was as ill-kempt as its master with matted fur and bald in spots. One fang hung outside its mouth and on closer inspection seemed to be missing an eye.
Mortimer drew the beast close to his chest whispering sweet words of comfort while tenderly stroking its scraggly fur. The cat settled in his arms and even began to purr.
Jamie called to his Lieutenant and leaned over to whisper in his ear. He nodded and rode off to follow his orders.
I sat on my horse watching this spectacle play out. Without warning, I felt the sudden loss of my cat and worried about his well-being. Adso was part house cat and part feral cat. However, he was my cat. He loved to jump onto my lap to snuggle and drift off to sleep. Or lie on the windowsill basking in a sunbeam tail swishing like a metronome. He did wreak havoc in my surgery at times but he was mine, a gift from Jamie. Adso was just as much a part of the family as any of us. So why couldn’t Arabella be this lonely man’s family?  Family is whoever you say they are.  
The Lieutenant promptly returned carrying a bundle which he handed to Jamie.
Jamie slid down from his horse and approached the gentleman.
���On behalf of the Continental Army, I would like tae offer ye recompense for disturbing yer peace. Please accept this small token from myself and General Washington. And for the lovely Miss Arabella, I make a gift of this fish just caught this morning.”
Jamie removed his hat and bowed to the man.
Mortimer truly wasn’t sure of what to make of this but graciously accepted the parcel. He removed his cap revealing a head of matted hair and returned the bow.  He replaced his cap, straightened his shoulders, held his head high as he strolled back to his home, a rich man. A man made richer not for what he received but for the respect given him.
Later that night as I lay in Jamie’s embrace I asked him what prompted his actions on the road.
“Do ye ken the conversation we had in the gardens in Philadelphia? The one about what happened between ye and his lordship?”
Did I remember, he wanted to know? How could I forget?
“Of course I remember, you said that you would mention it from time to time.  Am I to take it that this will be one of those times?”
“Aye, ‘tis. But not what yer thinking about,” he said with a sidelong look. “I’m speaking of how John’s friendship healed us during times of great need. Mine at Ardsmuir, Hellwater, and Jamaica. Yer’s when ye thought I died.” The topic of my hasty marriage to John (for strictly political reasons) was still a sore point to him. He understood it, but didn’t and wouldn’t like it.  
Jamie let out a sigh trying to collect himself before continuing, “Mortimer was naught but a poor lonely old man, Sassenach. And I did not do much for him. I gave him a wee bit of flour, lard, dried meat, apples, and some parritch.” Jamie stopped to think for a moment, “Oh, a razor, a lump of soap, and a fish for his mangy cat.”
“Are you saying that you did this because of the kindnesses John showed us?”
“Exactly so, mo ghràdh . I felt..it just felt like the right thing tae do.”
I raised my face to look at him, “There’s a term for that and it's called paying it forward .”
He looked quizzically at me trying to understand what I meant.
“What that means is when someone does something kind or helpful for you, you return that kindness to a different person instead of repaying the person who originally helped you. Did you know that the man who started this idea is alive now?”  
“Och, aye? Who is he Sassenach?”
“Benjamin Franklin. I think you would like him. He was a founding Father, freemason, inventor, scientist, and a printer.”
His eyebrows lifted at the mention of Franklin being a printer and a freemason. “I should like to meet this man one day. “
Jamie grew quiet as he attempted to digest this information. “Paying it forward,” he rolled the words around in his mouth tasting them. “Aye, that’s it. Just so, I was paying it forward.”
“Jamie, I think what you did was far greater than repaying a kindness. I think you gave him something more than he ever expected. You gave him respect and a way to restore his dignity.”
He leaned over and kissed me, “Aye, Sassenach, respect is something every man or woman deserves.” Jamie stopped to think for a moment, “No man wants to go about stinking if he can help it.” I knew he was thinking of his time hiding in the cave and as a prisoner at Ardsmuir. “There were days I thought I would never get the stink off my body, dirt from under my nails, or be rid of the lice. ‘Twas a small thing but it may make a big difference to him. Maybe it will help to restore his self-regard.”
The following day we resumed our journey. Once again a man stood in the road again blocking our path. There was something vaguely familiar about him. It was Mortimer, now clean-shaven, clothes washed having removed several layers of filth, and much less fragrant. He carried a pack strapped to his back probably containing all his worldly possessions. Strangely he carried a beautiful and well-maintained musket in his hand.
He approached Jamie, removed his cap, and bowed deeply.
“Yer Excellency, I have decided tae travel with ye fer a while. If ye dinna mind.”
“Yer presence is welcome, Mr. Hepplewhite. Find yerself a place among the men. This evening please come by tae see my wife. She is the physician of our troop. She will see tae yer physicking needs should ye have any.”
“I thank ye, sir.” Mortimer replaced his cap, lowered his head, and took a position among the rank-and-file.
Jamie smiled, a pleased look playing across his face. His arm raised and he waved us forward.
As the men resumed their march, a wee black puff ball of fur stuck its head out of Mortimer’s bag evidently Arabella had a wash-up too.
                                                  ********************
Thig an seo cù - Come here dog.
If anyone wants to know, Jamie’s white stallion’s name was Samson. And he sneezed violently when he sniffed Mortimer.
A little bit of history here. Benjamin Franklin lent Benjamin Webb a sum of money to start a business. He told Webb that when his business was successful and he had paid all his debts, he should likewise help someone else like Franklin helped him. In return, that gentleman would have to assist someone else like Webb helped him. Franklin hoped this would continue until some knave would stop its progress. The idea of paying it forward was born.
We can all thank @scubalass for telling me about Ben Franklin and Paying It Forward.  She is truly an amazing person and a fount of information and wisdom. I think that this added so much to the story and found it quite interesting.
Thank you for reading. I hope you liked it.
It is also on AO3 where I am LadyJane518:   https://archiveofourown.org/works/28907349
69 notes · View notes
sordidandsublime · 6 years ago
Text
The Lopez-Sidonias
I keep saying I'm done with PT, which is true (it's not an innovative story. In fact it's probably downright derivative), but I haven't entirely figured out the people who populate the setting. I suppose this one is about occupation. As usual, nothing set in stone etc.
Natalia Lopez Sidonia- she was teaching English in the as-yet-unnamed Protestant university in SMDM, a properly genteel occupation for a upper class young lady waiting for marriage when she met Rafael. While it takes Natalia some years to gain some sort of official title on the board of the Sidonia corporation (it takes a similar amount of years for Rafael to properly incorporate his holdings), she's the one who takes up the day to day management of the plantation, collects the rental on various properties, makes the shrewd purchasing decisions etc and saves the corporation from ruinous decisions when she can. While Rafael might rightfully claim to be owner and CEO of the corporation, Natalia kept the enterprise together and held its coffers (much to Rafael's frustration as he was often prey to a great desire to wantonly spend huge sums of money).
Santiago Lopez Sidonia- heir apparent, oldest son, golden boy. Like most of the Sidonias, Santiago is intelligent, but lacks focus and motivation. He was an indifferent student despite the forceful reminders to do better, to not embarrass the family. He passed the exams that put him in the best (read: poshest) university in the country, bounced from management degree to sociology degree to biology degree, stopped showing up to class for drinking or traveling out of the city or for any number of reasons and is expelled, reaccepted, expelled again. Eventually he manages to graduate with a degree in agriculture from a third rate university back in the home province. He then goes on to help his father with the plantation with the expectation of someday becoming the family patriarch. This description might give one the impression of a sullen, gloomy presence, but that would be wrong. Santiago is popular, well-liked, gallant. He has a number of compadres whom he likes to drink and travel with, similarly well-to-do men who don't really have to work a day in their lives. He explains away his various abandoned enterprises with bellows of laughter and panache, one can't help believing, even sympathizing with his point of view. One might even excuse his fits of rage.
Rea Silvia Sidonia-Fargas- much like her mother, Natalia, Rea is the one who now actually keeps the corporation afloat after years of ruinous debts and mismanagement. She installs herself as chief purchasing officer instead of COO, and puts her more malleable (relative term, ha) siblings on the board. Unlike the rest of her family, Rea's involvement in the family business has been minimal. As a young doctor she worked in Rafael's hospital, of course, it was expected, but after her marriage she went back to school and studied literature and history, focusing on Filipino literature and history. Rea becomes a respected writer, historian and advocate for Filipino art, and has a weekly column in the culture section of a widely read national paper. She's most well known for English and Tagalog translations of the work of Emilio Borromeo Alonzo, a lesser known poet and writer from Bulacan, who, in Rea's opinion, is a much better writer than Rizal because of his wit, subtlety and elegant language. Rea has written a handful of historical novels as well, which were praised for their extreme historical accuracy, but quietly laughed at in some circles for their prim didacticism. Despite her intellectualism, Rea is not a political radical or a flouncy barely-there hippie. She's a shrewd and sharp traditionalist who does not like to be contradicted.
Jaime Sidonia- Serafina's son, adopted by Rafael, much to Natalia's sporadically veiled displeasure. Good humored, a little vague, self-effacing but stubborn in the extreme. Occasionally he surfaces from his thoughts to deliver an exceedingly dry put down. He was in university studying to be an architect at about the same time that Santiago was ricocheting widely between departments, and becomes one with very little fuss. The family's good name allows him to enter an international firm with a branch in Manila where he works for a few years before leaving to become involved in the national cultural commission's projects of restoring mansions built in the vernacular style and the federal style government buildings that remain damaged from the bombardments of WW2. Jaime is now mostly a scholar of vernacular and Asian architecture, he's written books, presents lectures and teaches in university sometimes. He stays out of the family business although he has a seat on the board because he usually has no problems voting the way Rea wants him to vote.
Encarnacion (Chona) Lopez Sidonia- vivacious, frivolous, given over to strong passions, possibly one of the happiest of the Sidonia siblings. Chona was a respectable student, but doesn't count herself as an intellectual like some of her other siblings. Unexpectedly, she's also a doctor, a dermatologist, and sets up a successful practice in a fashionable Makati clinic, helping actresses and socialites clear up their breakouts and occasionally feeding glutathione into their veins for that mestiza paleness. Spurning putting up a practice in Rafael's beloved namesake of a hospital puts her out of favor for years, but she couldn't give less of damn (what was she going to do, offer whitening treatments to pig farmers?). She marries a surgeon, eventually divorces him. Currently she and her fiancé, John, own and manage the Manderley, the oldest hotel in SMDM, a rambling 19th century structure by the seafront boulevard that they're marketing as old world, a return to more graceful times.
Antonio Lopez Sidonia- Architect, industrial designer. Mercurial, melancholic, very kind but flippantly sarcastic and venomously funny when angry. School was difficult for him; he was extremely bright but sensitive, the slightest upset at home would make it impossible for him to focus on his work and he often got into fights and would act out outrageously. Despite that he managed to graduate with honors (after moving high schools) and enrolled into a competitive architecture and design program in university. He had to fight himself, his addictions and the black void of depression to get his degree. His first remarkable project came about as a kind of joke; a month or so before graduation he was in Palawan with some school friends and their older, more sophisticated siblings and their friends when one of them idly began to speculate about building a vacation home on his family's cliff side property. Antonio said it could easily be done, and two years later the elegant construction of glass, local wood and indigenous rock is featured in architects' magazines and mentioned in society papers as the work of a rising new talent. Antonio begins to build homes for the wealthy, he champions the tropical modernist movement, insists on using local materials and craftsmanship and incorporates contemporary versions of traditional Filipino designs into his work. He's difficult to work with, he changes his plans midway through construction, building is slow and he is expensive, but the end result, most feel, is well worth it. His forays into commercial work is a disaster because he refuses to compromise his working methods for a corporate bottom line. All this time Antonio is bedeviled by a love for contraband pharmaceuticals and crushing unhappiness, and there are months and sometimes years when he doesn't work at all. He declares bankruptcy once, is practically homeless several times. There are rumors of primitive asylums, extremely expensive treatments at high end sanitariums. In his later years he's found a semblance of peace and has returned to live on Negros Island, on the occidental side, far enough away from his family to spare him their venom but close enough to fulfill his duties on the board of the corporation. His current project is building affordable sustainable housing in collaboration with a foreign multinational, and he helps his favorite niece, Ava, with the construction of her own home.
Ciela Maria Lopez Sidonia-Pangilinan- The family beauty and the brainy one, she would thank everyone to remember that. She excels in school, and for her pre medicine course she doesn't simply enroll in a relatively easy science-medical degree, but some obscure molecular biochemistry honors program. Afterwards, a fast-tracked medical program, and then a masters in hospital management. Ciela makes sure to remind her siblings that she's never flubbed her schooling the way some of them have, and in almost any business related argument she trots out her credentials; clearly she's the most learned and so they should bow to her expertise. Ciela returns to Santa Maria in bouyant spirits after she collects her masters. She imagines modernizing Rafael's hospital, changing the system top to bottom, making it more efficient and bringing it up to primary, western standards. She won't stop there, and is dedicated to doing the same for the plantation, and can already imagine the gratitude and admiration of her family. Smart, good and beautiful Ciela. It doesn't go the way she imagined; she and Rafael fight, a lot. She insists (she never raises her voice) she shows him her textbooks and manuals, spends money on new equipment, changes policies and hires staff without asking, Rafael calls her stupid and walang-alam. They row for months, the entire family is involved one way or the other, Ciela cries, engages her elder sisters in long phone calls, alternates between cajoling and scolding her father. Eventually Ciela leaves, returns to Manila and makes what is, arguably, the most successful marriage amongst her sisters, to the scion of a massive pharmaceutical company. Still, Ciela can't help trying to make herself necessary to the family business. She acquires a phd in health sciences, visits her family regularly, tries to offer this or that innovation to Rafael, who laughs at her and rebuffs her. Now that she's on the board of the Sidonia corporation she's aggressively (but in a ladylike way) trying to acquire the position of COO, despite her lack of practical experience and shaky grasp on the realities of running a business.
Ricardo Lopez Sidonia- the youngest, and full on family disaster. No one can say, exactly, how Ricky passes both grade school and high school but he does. He moves from one humanities degree to another, claims he wants to be a novelist, a filmmaker, a painter, a pilot. Eventually he drops out of school permanently. Cheerful, clever, indolent and entitled, Ricky skates through life on the generosity of his parents. He doesn't care that his father calls him a fool, a useless parasite etc etc. he figures Rafael owes him his money for being a shitty dad and an all around fucked up human being, and it's not like they'll ever put him out on the street, they're too proud for that. Ricky dabbles in various businesses without ever making a success out of them, despite them being business that would yield a respectable profit if he stuck with them. Gas stations, convenience stores. Once, assisted by Ciela, he attempts to sell medical equipment, and also gets into several businesses with stoner school buddies who eventually got their shit together for adulthood. Ricky's too lazy to stick with anything; he's too lazy to be a proper junkie, even. Fond of luxury goods, the latest smartphone etc but he doesn't take good care of these things. He gives them away when bored. Nowadays he occasionally shows up to his job as assistant hospitality manager for one of his nephew, Isidro's resorts, but really everyone knows it's not an actual job, it's an excuse for him to hang out with guests, take them out on the lake and smoke a blunt or five.
Plus:
Serafina and Angelica Sidonia- Rafael's younger sisters. For a time they both lived with their mother in one of the homes in the San Diego compound, out of sight of the big house. No one knows whether they're full or half siblings. For a time it was the only thing the townspeople of San Diego could talk about, and even years later it's still a topic to dredge up on hot afternoons when the latest gossip is thin. Angelica marries, Serafina does not. Angelica's husband dies young, but not before she bears him a son, Felipe, who goes on the become head overseer of the plantation and assistant to Rafael. Serafina has two children out of wedlock, Jaime and Maximiliano. The father might as well be the devil himself or an enkanto, that's how much people know of their paternity. In their old age Serafina and Angelica become intensely reclusive, and still dwell in the same house they were given to live in by their brother.
Asterio Sidonia Cabahug- the youngest of the Sidonia siblings, from his mother's marriage to a rice planter and dealer. Lumpish and obedient, but not overly intelligent. He oversees the Sidonia's roll on-roll off port.
7 notes · View notes
tetcny · 6 years ago
Text
Tumblr media
A quick overview /tribute.
November 1934; 83 years ago,
HAMMER FILMS began .
In November 1934 comedian William Hinds, founded Hammer Productions Ltd. at Imperial House, Regent Street, London. The company name came from Hinds‘ stage name, Will Hammer, which he had taken from the area of London in which he lived, Hammersmith.
Tumblr media Tumblr media
Their first film was THE PUBLIC LIFE OF HENRY THE NINTH (released in 1935). The title references the hugely popular Alexander Korda film THE PRIVATE LIFE OF HENRY VIII (1934).  Sadly this 60 minute quota quickie ,is a lost film .
Tumblr media
In May ,1935 Enrique Carreras and Hinds co founded Exclusive Films Distributors , moving offices to Wardour Street. This would allow them to handle distribution of their own films and that of others.
Tumblr media
                                                           Enrique Carreras
Hammer then took it’s first step into the genre that it would be best known for.
Tumblr media
  THE MYSTERY OF THE MARY CELESTE (aka PHANTOM SHIP in the U.S.) starred Bela Lugosi .Inspired by an actual mystery from 1872, Lugosi plays a character who goes mad (naturally). The American print is 18 minutes shorter , but is thought to be the only version still extant .
Hammer also made SONG OF FREEDOM (1936), starring the great Paul Robeson , but these two films, with which Hammer hoped to enter the lucrative U.S. market ,were more expensive ,and so the studio  went back to program quickies like the caper film THE BANK MESSENGER MYSTERY (1936) and the musical comedy SPORTING LOVE (1937,based upon a 1934 stage show of the same name that ran 300 performances in 1934).
  In late 1937, Hammer Films  declared bankruptcy ,but Exclusive continued distribution of other filmmakers’ product .
Tumblr media
After WWII, Hammer resumed production again with more second features  like DEATH IN HIGH HEELS, 1947.
Tumblr media
They licensed popular radio dramas and turned them into popular features ,such as The Adventures of PC 49 and Dick Barton.
  In 1951, they made a deal with American distributor Lippert, who distributed the films in the U.S. ,while supplying an American star . This was both an inexpensive way for Lippert to get product, while giving the British studio exposure in the U.S. and a star name to differentiate their product from other British B films.
Tumblr media
In 1955, they made a deal to adapt the  hugely popular television serial THE QUATERMASS EXPERIMENT ( first aired in 1953). To emphasis the “x” rating , Hammer dropped the “e” ,releasing the film as THE QUATERMASS XPERIMENT. 
Tumblr media
The film was a huge hit, and led Hammer to start making more films in the science fiction/horror genre . The studio had no love for the market, and indeed ,had they discovered they could make successful musicals, they would have produced them.
Tumblr media
                               ROOM TO LET (1950)- not a musical.
Realizing that Frankenstein was in the public domain , they hired popular tv actor Peter Cushing, plus a tall relatively unknown jobbing actor named Christopher Lee (when popular Bernard Bresslaw asked for too much money) ,and lighting struck, bringing to life the monster we now know as Hammer Films to an international market with their signature film, THE CURSE OF FRANKENSTEIN ( 1957).
Their place in cinema history was sealed the following year when they paired the Cushing with Lee ,giving the latter the title role in DRACULA /HORROR OF DRACULA(1958).
                 .
Tumblr media
Throughout the 1960s, Hammer was the studio for horror.  Though making films in other genres ,including mysteries and swashbucklers, the staple was supplying new thrills to audiences .
In the 1970s, tastes began to change , and Hammer tried to keep up, while still trying to produce the type of film that had made them popular.  It was a near impossible task, but Hammer had some successes ,and indeed , produced some of their finest films during this period.
Tumblr media
With British film production going through one of it’s periodic dry periods, as well as losing their American distribution deals, Hammer had a harder time producing films. They turned to television once again ,producing comedies that turned out to be some of the biggest hits in the U.K. that the studio had ever  produced. However, they didn’t travel well to overseas markets.
The studio tried co productions with The Shaw Brothers, who were producing the very popular martial arts films of the period.  What the British filmmakers discovered was was how primitive the conditions were for their style of film making ( it was difficult to record live sound,due to studios with tin roofs!) ,and after two films , the very disappointing SHATTER  as well as the interesting LEGEND OF THE SEVEN GOLDEN VAMPIRES ,they once again looked to other sources of finance (both filmed in 1974 , but given very spotty releases).
  Hammer made another big budget film thanks to German investors and EMI ,adapting Dennis Wheatley‘s TO THE DEVIL A DAUGHTER (1976) . Once again ,bringing in a major Hollywood actor(Richard Widmark,who was not happy with the production), it is an ugly looking production , the most notable exception being it  introducing the world to Nastassja Kinski (who had , though ,already a career in modeling as well as appearing prior in Wm Wenders’ THE WRONG MOVE ,1975). The  ending  of this film  leaves most people confused and /or angry.
  A lot of other productions were announced but never made ( Kali: The Devil Bride of Dracula ; Nessie ),until the 1979 remake of the 1938 Hitchcock film, THE LADY VANISHES.
  Once again, some major Hollywood stars were brought in (Elliot Gould,Cybil Shepherd) as well as Angela Lansbury and Herbert Lom .  The film , a costly £2.5 million ( raised thanks to a deal with Rank ) , the film was given mixed reviews, but did decently at the box office. However, it was not enough to save the studio . and it ceased theatrical film production ,being taken over by Roy  Skeggs & Brian Lawrence.
Tumblr media
Hammer ‘s name still had viability, and ,in conjunction with ITC (as well as Skeggs/Lawrence‘s own Cinema Arts),  HAMMER’S HOUSE OF HORRORS produced 13  53 minute episodes for television in 1980.  This was not Hammer‘s first attempt at television, having produced a failed tv pilot for Columbia in 1958, TALES OF FRANKENSTEIN , as well as the 1968 17 episodes series JOURNEY TO THE UNKNOWN .
Tumblr media
The follow up , HAMMER HOUSE OF MYSTERY & SUSPENSE in 1984   ,were longer (70 minutes ) but only 13 episodes were made, and time slots shifted so audiences who would have enjoyed them had a hard time finding it, and so it was considered a failure.  
Tumblr media
It seemed Hammer only existed now in licensing productions for television airings, as well as leasing to the growing cable television market as well as home video.
Tumblr media
Over the next few decades, rumors kept surfacing that Hammer was returning in some form or another, to produce direct to video product or medium budget theatrical or
cable films.
Tumblr media
Finally , Big Brother creator John De Mol acquired the assets of Hammer, including the name ,and re-launched the studio under CEO Simon Oakes in 2007.
Their initial production got a lot of press , as it premiered as a multi part series on Myspace .  Called BEYOND THE RAVE (oddly referencing rival  Amicus ‘ studios final anthology horror film, FROM BEYOND THE GRAVE, 1973), this 2008 production was released in twenty four minute installments. The production ,however, was trashed by many fans of the studio, who found the characters poorly written ,with many only introduced just to be killed off by the vampires of the tale.
Tumblr media
BEYOND THE RAVE was released to DVD ,with extras including an excised scene featuring Ingrid Pitt (who had starred in Hammer‘s VAMPIRE LOVERS (1970) and COUNTESS DRACULA (1971).
Tumblr media Tumblr media
  In 2008 ,  Hammer took part in a Swedish -Irish-UK co-production called
WAKE WOOD. The film is a gruesome and dark supernatural thriller that often recalls THE WICKER MAN(1973) . Indeed , it would have been a worthier sequel to that classic than the very disappointing THE WICKER TREE (2011).
Tumblr media
Sadly,  WAKE WOOD  sat for three years ,getting only a token release in four theatres before being dumped onto DVD.   It is a superlative horror film that deserves to be better known.
Tumblr media
                    In 2009 ,Hammer tried a return to the psychological thrillers that they had made in the 1960s, filming THE RESIDENT in New York City and New Mexico. Starring Hillary Swank, it also was Christopher Lee‘s first Hammer film since TO THE DEVIL A DAUGHTER 36 years earlier.  The film was a slick production, but sat on a shelf for two years, again getting a token theatrical release before it’s DVD release.
Tumblr media
Hammer’s next film, however, showed that the studio was back on track . “Låt den rätte komma in “ by John Ajvide Linqvist was a very dark but original vampire novel about  12 year old Oskar meets a centuries old vampire Eli,who looks like a child . Set in the early 1980s, the novel explores loneliness,pedophilia,mutilation, divorce ,all while dealing with some really nasty murders.  Translated into several languages, the book was first adapted into a Swedish film in 2008,directed with great economy and skill by  Tomas Alfredson (who later directed the 2011 British film TINKER TAILOR SOLDIER SPY).
Tumblr media
Hammer based their screenplay more along the Swedish film adaptation, calling it LET ME IN . They had acquired the English language rights before the Swedish film had even seen release ,and even offered it’s director the chance to do the English language  version. When he declined, Hammer signed on writer director Matt Reeves (CLOVERFIELD,2008). 
Tumblr media
The setting was moved to New Mexico , and a few more changes were made to the adaptation ( I will let you debate which version is better). Filmed in late 2009, the final budget was $20 million (the shrieks from the grave you may be hearing is probably Sir Michael Carreras,  who produced most of his films for relatively low budgets).
Released in 2010 to praise (though some did complain it either followed the Swedish film either too much or too little!),it earned $12 million in the U.S. and Canada alone, accruing $24 million world wide. (Oddly,
It was listed as one of the ten biggest bombs of 2010!). Blu Ray ,DVD, and cable sales in 2011 pushed the film into a modest profit.
Tumblr media
Finally, in 2012, Hammer had a well deserved hit in their 2012 adaptation of Susan Hill’s classic ghost story , THE WOMAN IN BLACK.  The 1983 novel was adapted into a stage play in 1987, and is the second longest running West End Play in history (right after THE MOUSETRAP).
Nigel Kneale did a superlative adaptation  for  ITV television in 1989 ,and there have been at least two radio adaptations.
Screenwriter Jane Goldman did a superior adaptation of the story ,with star Daniel Radcliffe supported by a top notch team both in front of and off camera, making this one of the most satisfying cinematic ghost stories in quite some time. Wisely, they made the film in the U.K.,the true home of Hammer.
                 .
Tumblr media
Originally conceived as a 3-D film, this idea was wisely scrapped (the dark cinematography would have made this a difficult problem), it was shot in 2010 on a modest budget of $15 million.
Tumblr media
During it’s opening weekend in the US. , it earned $20 million ,making it the highest U.S. grossing opening in Hammer‘s history(released in the U.S. by CBS Films).  The film, which garnered exceptionally positive reviews, eventually earned $127 Million world wide. DVD & Blu Ray sales later that year added to the coffers.
Tumblr media
Ghosts seemed good for their coffers, so Hammer two years later produced THE QUIET ONES.  Produced on a low budget ,again in the U.K., the film got mixed reviews but made $8 million in the U.S. ,with a world wide gross of $17 million for distributor Lionsgate.
THE WOMEN IN BLACK II: ANGEL OF DEATH (2015) was a major disappointment when it was released .While costing about the same amount ( $15 million) ,it took in�� a third of the box office that the original had made ,perhaps due to  it being  only a pale ghost to the original film.
This time, the story is set in 1941(35 years after events of the first film), and uses the actual historical event of evacuating children from London into the farther reaches of the country to avoid German bombings. Unfortunately, the village and in particular the home this first group of children are housed is the home haunted by the title character.
Tumblr media
Whereas the scares built naturally and suspensefully in the 2012 film, the remake seems to just drag out the references from the first films (toys springing to activity in the presence of the spirit) but without any attempt at making it emotionally involving.  Indeed, they should have studied THE INNOCENTS (1961) or the studio’s own  LET ME IN  to see how to work children and loss into an horror film.  Several jump scares seemed to have been added later to try and make it more frightening, but they seem at odds with the film itself.
  In the meantime,
Tumblr media
  Hammer has expanded to include  live  stage productions, starting  in 2012 with a well reviewed production of Henry James‘ TURN OF THE SCREW as well as  Hallowe’en events like Hammer House of Horror Live : The Soulless Ones  in 2017 .
Hammer is still a viable production company with hopefully many more frights to come.
I end this quick overview ,though , with a mystery, that perhaps P.C. 49 might be able to solve
In 2012 Hammer Films /Exclusive Media, acquired the rights to make a film about the Winchester Mystery House.  ImaginationDesign Works & Nine/8 Entertainment were co- producers. The film got a big boost when Helen Mirren signed on to appear as Sarah Winchester. Sarah Winchester believed that she was haunted by the spirits of those that died from the firearms manufactured by her family firm ,and so ,from 1884 until she died in 1922, work continued  on the strange house built for spirits.
Originally announced to be shot in the U.S., the majority of the film was filmed in Australia . The directors ,the Spierig Brothers,makers of the cult 2003 Australian horror film UNDEAD , had been attached to the project since 2014. https://variety.com/2014/film/news/winchester-mystery-house-movie-attracts-spierig-brothers-1201268393/
Tumblr media
However, when the $3.5 million dollar film WINCHESTER  was finally released in 2018 to reviews that were mostly bad, Hammer‘s name is no where on the publicity material.  Did it vanish like a ghost or did the studio simply step away? The film still managed to scare up over 11 times its production cost, so you would think they would want their name on it.
Tumblr media
                  Mysteries still  come from the House of Hammer.
Hopefully, the next film that goes into production with the Hammer Banner wears it proudly and is embraced by fans and the general public alike .
-Kevin G Shinnick
Tumblr media Tumblr media
                                            ”  How’s that grab ya ? “
HAMMER FILMS is 83 A quick overview /tribute. November 1934; 83 years ago, HAMMER FILMS began . In November 1934 comedian…
1 note · View note
solveitdev · 4 years ago
Text
Is Java still relevant in 2021?
React, Kotlin, Swift, Python, React Native, Deno, Flutter, Java, how many other programming languages exist, new ones are added, old ones are forgotten, but what about Java? Is this language dead or is it still relevant? Today SolveIt Java developer Stas Kolenchik will try to answer this question and give his expert opinion.
Java is a high-level object-oriented programming language with static typing developed by Sun Microsystems in 1995, later acquired by Oracle.  Java code can run on any platform that supports the JVM (Java Virtual Machine). It is a virtual machine that translates human-readable Java code into processor-understandable code.
Therefore, you can run Java code everywhere for which the JVM has already been developed. For example:
Powerful servers;
Computers;
Smartphones;
Fitness bracelets;
GPS trackers;
Smartwatches;
Smart TVs, refrigerators, microwaves, and other home gadgets;
Smart cards for indoor access.
Nowadays, on forums and in countless articles you can find loud statements that "Java is dying" and "Java is a thing of the past". All this is presented as "we should switch to another programming language" or "Java programmers are no longer in demand". But all this is fundamentally wrong if you listen to the facts and statistics. Let's take a closer look at these myths:
Myth #1: "Java is dying"
A huge number of programs have been written since the beginning of the use of this language, which is still alive and in need of support, such specialists will be in demand for a long time to come. Java is used in world-famous companies like Google, Netflix, Facebook, Amazon, Oracle and IBM.
If we look at the statistics, based on JetBrains' research, Java is the most popular programming language of 2020. But since it's still an old language, it has disadvantages. Let's take a look at them.
Cons of Java:
Unconventionally implemented object-oriented approach to programming
The fundamental reason why Java cannot be a fully OOP language is the presence of primitives. Since version 8, a functional programming approach has been added to Java when working with collections.
Code verbosity
Multi-word code is not the highest performance. Where C++ uses one command, Java requires five.
Limited applicability
To develop websites, create games, operating systems, drivers, you should turn to other programming languages.
Pros:
Well implemented multithreading
Multi-platform
Large Java community
All the bugs have already been committed and described by someone else. On stack overflow, you can find answers to almost any question.
Fast project estimation
At the time of estimating the timing of the project, you can predict quite accurately in what timeframe the product will be ready. Of course, mistakes will be made, but they will be insignificant compared to JavaScript, for example.
Relatively fast creation of new features
Thanks to Java it is possible to do this in a short period of time by connecting ready-made solutions in the form of libraries that have already been implemented by someone else and there is no need to write all the code from scratch.
Java-Dad
To start your career, this programming language is great. It will help you understand object-oriented and functional approaches, thanks to all the features. Once you understand it, you can understand any other programming language.
As Java is a high-level language with a long history, it already has a strong community that has worked with all sorts of programming cases. Thanks to the java-community and internal library, it is possible to take code that has already been worked on, rather than writing it all over again like in other programming languages. The library keeps growing and Oracle keeps investing, new versions and features appear, so it's safe to say that Java is more alive than ever.
Myth #2: "Java is in the past"
In order to accurately dispel this myth, it is necessary to cite a few historical facts for Java:
2011 - Oracle acquired Sun Microsystems, thereby acquiring Java and actively investing in its development.
2014 - Java version 8 was released, becoming a major event in the programming world, the language was appreciably changed and upgraded.
2018 - a new release cycle. It was decided to release new versions in small iterations, rather than large-scale updates once a year. This allowed new features to be added quickly, tested and released again.
2020 - Java became the most popular programming language.
At the moment, I don't know of any language that could replace Java in the next decade. The main reason is not only its scale and popularity but also it's a huge funding.
Stas Kolenchik, Java Developer at SolveIt.
So it is impossible to say that Java is a thing of the past. Yes, it is an old language with its history and shortcomings, perhaps somewhere conservative views on new releases and features. However, statistics, a lot of information, code base, projects and people in the java-community say the opposite: Java will be in demand for a long time to come.
How to choose the right programming language for your next project?
In addition to choosing one of the leading languages in your particular niche, you should consider:
- The demand for the language in a particular region
- Libraries and frameworks for that language
- Level of support in the community
- Recommendations of the development company. This is probably the most important thing to consider when choosing a programming language.
A classic situation: the customer chooses the fastest and cheapest option on the wrong technology, ignoring the need for future support and expert advice. Incorrect choice and unrealistic deadlines lead to a large number of bugs and, as a consequence, an increase in the budget. At the same time, the product needs to be supported.
A checklist for choosing a programming language for your project:
Consult with the development company that will be making your product
Ask for an estimate of the project with the developers' rate
Analyze how popular the language is now. This will determine how easy it will be to find support in the future
If you don't know which programming language to choose for your next big idea, the SolveIt experts will be happy to help you make your choice by implementing your idea for you. Let’s Solve It Together!
0 notes
douchebagbrainwaves · 7 years ago
Text
WHY I'M SMARTER THAN LANGUAGE
We tend to write the software controlling those flying cars? But I always end up spending most of the members don't like it.1 Long but mistaken arguments are actually quite rare.2 Lexical closures provide a way to get startup ideas is hard. Wasting programmer time is the true inefficiency, not wasting machine time.3 Someone wrote recently that the drawback of Y Combinator wants to raise $250-500k. Language design is being taken over by hackers.4 A lot can change for a startup, it will sound plausible to a lot of money. Did they want French Vanilla or Lemon?
Organic growth seems to yield better technology and richer founders than the big bang method.5 I can call on any struct.6 The project either gets bogged down, or the startup will get bought, in which case problem solved, or the result is a free for all. Which means that even if we're generous to ourselves and assume that YC can on average triple a startup's expected value, we'd be taking the right amount of risk if only 30% of the startups were fundable would be a good idea, but you have to process video images depends on the rate at which you have to be facing off in a kind of business plan for a new type of number you've made up, you can envision companies as holes. I made for a panel discussion on programming language design at MIT on May 10,2001. What investors still don't get is how clueless and tentative great founders can seem at the very beginning.7 You have to approach it somewhat obliquely.
Usually this initial group of hackers using the language for others even to hear about it usually, because to prove yourself right you have to do is turn off the filters that usually prevent you from seeing them. This helps counteract the rule that in buying a house you should consider location first of all. I went to work for the love of it: amateurs. Which makes it easier to remember that it's an admirable thing to write great programs, even when this work doesn't translate easily into the conventional intellectual currency of research papers.8 In theory this is possible for species too, but it's a bad sign they even try. In some applications, presumably it could generate code efficient enough to run acceptably well on our hardware. The problem is the same reason Facebook has so far remained independent: acquirers underestimated them. If people are expected to behave well, they tend to be one of the only programming languages a surprising amount of effort has gone into preventing programmers from doing things that they think aren't good for you.9 I don't think we suck, but instead ask do we suck?10 And try to imagine what a transcript of the other guy's talk would be like teaching writing as grammar, without mentioning that its purpose is to refine the idea.11 But I'd rather use a site with primitive features and smart, nice users than a more advanced one whose users were idiots or trolls.12
Expressing ideas helps to form them. A company that an angel is willing to put $50,000 into at a valuation of a million can't take $6 million from VCs at that valuation. Afterward I put my talk online like I usually do.13 This is understandable with angels; they invest on a smaller scale. As a young founder under 23 say, are there things you and your friends would like to build great things for the companies they started would hire more employees as they grew. Having strings in a language where all the variables were the letter x with integer subscripts. Plus they're investing other people's money, and they even let kids in.14
It's due to the shape of the problem. If you want to notice startup ideas: those that grow organically out of your inbox?15 But I know the real reason we're so conservative is that we shouldn't be afraid to call the new Lisp Lisp.16 And it may be, this is the exact moment when technological progress stops. Currently the way VCs seem to operate is to invest in startups Y Combinator has funded. Then I do the same thing over and over seems kind of gross to me. To start with, investors are letting founders cash out partially.
And so interfaces tend not to change at all, and you'd get that fraction of big hits. That may be the greatest effect, in the sense that it lets hackers have their way with it. Essays should do the opposite. You might think that if they found a good deal of syntax in Common Lisp occurs in format strings; format is a language where you can spend as long thinking about each sentence as it takes to say it, a person hearing a talk can only spend as long thinking about each sentence as it takes to hear it. Is it necessary to take risks proportionate to the returns in this business. We wrote what was, 700 years ago, writing software pretty much meant writing software in general, because we'd be a long way toward fixing the problem: you'd soon learn what was expensive. The real question is, how far up the ladder of abstraction will parallelism go? It's pretty clear now that the healthiest diet is the one our peasant ancestors were forced to eat because they were so much more robust to have all the brains on the server. This is more pronounced among the very best hackers will like? But of course if you really get it, you can cry and say I can't and they won't even dare to take on ambitious projects. You're getting things done.17 But that's no different with any other tool.
And then there was the language and there was my program, written in the coming years will be Web-based software you can use any language you want, so if I can convince smart readers I must be pretty sharp. But business administration is not what you're doing in a startup founded by three former banking executives in their 40s who planned to outsource their product development—which to my mind is actually a lot riskier than investing in a pair of really smart 18 year olds—he couldn't be faulted, if it means anything at all, and you'd get that fraction of big hits.18 In one place I worked, we had a big board of dials showing what was happening to our web servers.19 But if you're living in the future. I decided the critical ingredients were rich people and nerds—investors and founders. I'm just saying you should think about who you really admire and hang out with them, instead of taking a class on, say, transportation or communications. Inventors of wonderful new things are often surprised to discover this, but you can't trust your judgment about that, so ignore it. When I go to a talk, you could fund everyone who seemed likely to succeed, it's hard not to think where it came from. How often does it happen that a rule works for thousands of years, then switches polarity?
Anything funny or gripping was ipso facto suspect, unless it was old enough to be rational and prefer the latter. When you know nothing, you have to be more than a language, or you have to get up on monday and go to work.20 At a good college, from which—because they're writing for a popular magazine—they then proceed to recoil in terror. How do you tell whether something is the germ of a giant company, or just a niche product? The sort of writing that attempts to persuade may be a necessary evil in a legal dispute, but it's not likely to have happened to any bigger than a cell. There is also the same: Darwinian. Those are like experiments that get inconclusive results.21 Translated into more straightforward language, this means: We're not investing in you, but we weren't interested in ecommerce per se. And it's not just the cost of reading it, and that is exactly the kind VCs won't touch. If there's something you're really interested in, you'll find valuable ones just sitting there waiting to be discovered right under our noses.
Notes
The optimal way to make that leap. 'Math for engineers' sucks, and this tends to happen fast, like storytellers, must have had a tiny.
Turn the other seed firms. For example, probably did more drugs in his early twenties compressed into the work that seems formidable from the CIA runs a venture fund called In-Q-Tel that is allowing economic inequality to turn down some good ideas buried in Bubble thinking. Geshke and Warnock only founded Adobe because Xerox ignored them. Maybe markets will eventually get comfortable with potential earnings.
It seemed better to embrace the fact by someone else start those startups. The Socialist People's Democratic Republic of X is probably part of wisdom. I hadn't had much success in doing a bad sign if you are unimportant. Or rather, where many of the political pressure against Airbnb than hotel companies.
They thought I was there when it converts. Perhaps the most important information about competitors is what approaches like Brightmail's will degenerate into once spammers are pushed into using mad-lib techniques to generate series A rounds from top VC funds whether it was putting local grocery stores out of school. They thought I was a very noticeable change in the long term than one level of links. Instead of bubbling up from the revenue-collecting half of it.
A round, that they kill you, it becomes an advantage to be higher, as on a saturday, he saw that I see a lot of people like them—people who are both.
Viaweb, he'd get his ear pierced. If you have more options. That's the lower bound to its precision. Now we don't have to solve this problem by having a gentlemen's agreement with the solutions.
Investors are one of them is that if a company tuned to exploit it.
But it turns out to do with the New Deal but with World War II the tax codes were so bad that they violate current startup fashions. As well as problems that have economic inequality.
No one seems to have gotten away with the high-minded Edwardian child-heroes of Edith Nesbit's The Wouldbegoods. I were doing Bayesian filtering in a bar. Professors and politicians live within socialist eddies of the next round, though more polite, was one firm that wanted to have to deliver these sentences as if a bunch of other people. No Logo, Naomi Klein says that I know when this happened because it depends on a valuation cap is merely a complicated but pointless collection of stuff to be a founder; and with that of whatever they copied.
Apple's products but their policies. I think in general we've done ok at fundraising is because other companies made all the East Coast VCs. 35 companies that tried that.
If you walk into a few additional sources on their companies. At Princeton, 36% of the conversion of buildings not previously public, like good scientists, motivated less by financial rewards than by selling them overpriced components. You need to fix once it's big, plus they are like, and that injustice is what we need to get users to recruit manually—is probably 99% cooperation.
Teenagers don't tell the craziest lies about me. It seemed better to read a draft of this.
In fact, this thought experiment works for nationality and religion too. To a 3 year old son, you'll be well on your board, there is some kind of gestures you use in representing physical things.
Some of the world in verse.
I have so far has trained them to ignore what your GPA was.
In 1995, when Subject foo degenerates to just foo, what if they did not become romantically involved till afterward. Some are merely ugly ducklings in the sample might be enough. The actual sentence in the same thing twice.
What made Google Google is that Digg is Slashdot with voting instead of reacting. Some VCs seem to be when I switch in mid-sentence, but starting a business, having sold all my shares earlier this year. Even as late as 1984. And yet I think it's mainly not having to have this second self keep a journal, and I don't think they'll be able to formalize a small amount, or Microsoft could not process it.
03%.
These points don't apply to the hour Google was founded, wouldn't offer to invest in these funds have no real substance.
Only founders of failing startups would even be working on is a dotted line on a road there are lots of type II startups spread: all you know Apple originally had three founders? They want so much better to read stories. But I'm convinced there were, like wages and productivity, but trained on corpora of stupid and non-broken form, that it might be?
Some of the word procrastination to describe what's happening till they measure their returns. The Civil Service Examinations of Imperial China, during the 2002-03 season was 4. Part of the world barely affects me.
1 note · View note
suzanneshannon · 4 years ago
Text
How to Disable Code: The Developer’s Production Kill Switch
The following is a guest post written by Carlos Schults.
Being able to disable code in production is a power that many developers aren’t aware of. And that’s a shame. The ability to switch off some portions—or even complete features—of the codebase can dramatically improve the software development process by allowing best practices that can shorten feedback cycles and increase the overall quality.
So, that’s what this post will cover: the mechanisms you can use to perform this switching off, why they’re useful and how to get started. Let’s dig in.
Why Would You Want to Disable Code?
Before we take a deep dive into feature flags, explaining what they are and how they’re implemented, you might be asking: Why would people want to switch off some parts of their codebase? What’s the benefit of doing that?
To answer these questions, we need to go back in time to take a look at how software was developed a couple of decades ago. Time for a history lesson!
Tumblr media
The Dark Ages: Integration Hell
Historically, integration has been one of the toughest challenges for teams trying to develop software together. 
Picture several teams inside an organization, working separately for several months, each one developing its own feature. While the teams were working in complete isolation, their versions of the application were evolving in different directions. Now they need to converge again into a single, non conflicting version. This is a Herculean task. 
That’s what “integration hell” means: the struggle to merge versions of the same application that have been allowed to diverge for too long. 
Enter the Solution: Continuous Integration
“If it hurts, do it more often.” What this saying means is that there are problems we postpone solving because doing so is hard. What you often find with these kinds of problems is that solving them more frequently, before they accumulate, is way less painful—or even trivial.
So, how can you make integrations less painful? Integrate more often.
That’s continuous integration (CI) in a nutshell: Have your developers integrate their work with a public shared repository, at the very least once a day. Have a server trigger a build and run the automated test suite every time someone integrates their work. That way, if there are problems, they’re exposed sooner rather than later.
Tumblr media
How to Handle Partially Completed Features
One challenge that many teams struggle with in CI is how to deal with features that aren’t complete. If developers are merging their code to the mainline, that means that any developments that take more than one day to complete will have to be split into several parts. 
How can you avoid the customer accessing unfinished functionality? There are some trivial scenarios with similarly trivial solutions, but harder scenarios call for a different approach: the ability to switch off a part of the code completely.
Feature Flags to the Rescue
Defining Feature Flags
There are many names for the mechanisms that allow developers to switch a portion of their code off and on. Some call them “feature toggles” or “kill switches.” But “feature flags” is the most popular name, so that’s what we’ll use for the remainder of this post. So, what are feature flags?
Put simply, feature flags are techniques that allow teams to change the behavior of an application without modifying the code. In general, flags are used to prevent users from accessing and using the changes introduced by some piece of code, because they’re not adequate for production yet for a number of reasons.
Disable Code: What Are the Use Cases?
We’ll now cover some of the most common use cases for disabling code in production.
Switching Off Unfinished Features
As you’ve seen, one of the main use cases for feature flags is preventing users from accessing features that aren’t ready for use yet.
That way, programmers developing features that are more complex and take a longer time to complete aren’t prevented from integrating their work often and benefiting from it.
Enabling A/B Testing
The adoption of feature flags enables the use of several valuable practices in the software development process, one of which is A/B testing. 
A/B testing is a user experience research technique that consists of comparing two versions of a website or application to decide which one to keep. It entails randomly splitting users into two groups, A and B, and then delivering a different version of the application to each group. One group might receive the current production version, which we call the “control,” whereas the second group would receive the candidate for the new version, called the “treatment.” 
The testers then monitor the behavior of both groups and determine which of the versions achieved better results. 
Feature flags are a practical way to enable A/B testing because they allow you to quickly and conveniently change between the control and treatment versions of your application.
Tumblr media
Enabling Canary Releases
If you deliver the new version of your app to your entire userbase at once, 100 percent of your users will be impacted if the release is bad in some way. What if you could gradually roll out the new version instead? You’d first deploy to a small subset of users, monitoring that group to detect issues. If something went wrong, you could roll it back. If everything looked fine, you could then gradually release the version for larger groups. That’s a canary release in a nutshell. It’s another powerful technique that feature flags might help with.
Customizing Features According to Users’ Preferences
It’s not uncommon to have to customize your application according to the needs of specific users, and there are several ways in which software teams can accomplish that—some more efficient, and others less so (companies that create separate branches or entire repositories for each client come to mind). This is another area where feature flags could help, allowing teams to dynamically switch between different versions of the same functionality.
Disable Code in Production 101
How do you go about disabling code? That’s what we’re going to see now, in three increasingly sophisticated phases.
First Stage: The Most Basic Approach
We start with an approach that’s so primitive, it maybe shouldn’t be considered a feature flag at all. Consider the pseudocode below:
calculateAdditionalWorkHours(Employee employee, Date start, Date end) { // return calculateAdditionalWorkHoursSameOldWay(employee, start, end); return calculateAdditionalWorkHoursImproved(employee, start, end); }
In the code above, we’re just commenting out the old version of some method and replacing it with a new version. When we want the older version to be used, we just do the opposite. (Well, I said it was primitive.) This approach lacks one of the most fundamental properties of a feature flag—the ability to change how the application behaves without changing its code.
However, it plants the seed for more sophisticated approaches.
Second Stage: Taking the Decision Out of the Code
The previous approach didn’t allow developers to select the desired version of the feature without changing the code. Fortunately, that’s not so hard to do. First, we introduce a logical variable to determine which version we’re going to use:
calculateAdditionalWorkHours(Employee employee, Date start, Date end) { var result = useNewCalculation ? calculateAdditionalWorkHoursImproved(employee, start, end) : calculateAdditionalWorkHoursSameOldWay(employee, start, end); return result; }
Then, we use some mechanism to be able to assign the value to the variable from an external source. We could use a configuration file:
var useNewCalculation = config[newCalculation];
Passing arguments to the application might be another option. What matters is that we now have the ability to modify how the app behaves from the outside, which is a great step toward “true” feature flagging.
Keep in mind that the code examples you see are all pseudocode. Using your favorite programming language, there’s nothing stopping you from starting with this approach and taking it up a notch. You could, for instance, use classes to represent the features and design patterns (e.g., factories) to avoid if statements.
Tumblr media
Stage 3: Full-Fledged Feature Flag Management
The previous approach might be enough when your application has only a small number of flags. But as that number grows, things start to become messy.
First, you have the issue of technical debt. Manually implemented feature flags can create terribly confusing conditional flows in your codebase. That only grows worse with new flags being introduced each day. Additionally, they might make the code harder to understand and navigate, especially for more junior developers, which is an invitation for bugs.
Another problem is that as the number of flags grows, it becomes more and more common to forget to delete old, obsolete ones.
The main problem of a homegrown approach is that it doesn’t give you an easy way to see and manage all of your flags at once. That’s why our third and final stage is a single piece of advice: Instead of rolling out your own feature flags approach, adopt a third-party feature flag management system.
Tumblr media
Feature Flags Are a CI/CD Enabler
We’ve covered the mechanisms developers can use to disable portions of their codebase in production without having to touch the code. This capability is powerful and enables techniques such as A/B testing and canary releases, which are all hallmarks of a modern, agile-based software development process.
The names for the techniques might vary—feature flags, feature toggles, feature flipper, and so on. The way in which the techniques are implemented can also vary—from a humble if statement to sophisticated cloud-based solutions.
But no matter what you call them, you can’t overstate the benefit these mechanisms offer. They’re an enabler of Continuous Integration, which is essential for any modern software organization that wants to stay afloat.
The post How to Disable Code: The Developer’s Production Kill Switch appeared first on CSS-Tricks.
How to Disable Code: The Developer’s Production Kill Switch published first on https://deskbysnafu.tumblr.com/
0 notes
impressivepress · 5 years ago
Text
Trotsky’s Struggle against Stalin
Joseph Stalin was a hangman whose noose could reach across oceans.
On the afternoon of August 20, 1940, Ramón Mercader, a young Spaniard in the hire of the GPU, Joseph Stalin’s secret police, seized the moment. Under the alias of Canadian businessman “Frank Jacson,” he had infiltrated Leon Trotsky’s household in Coyoácan, a borough of Mexico City, several months earlier. As Trotsky leaned over his desk, Mercader viciously struck him on the right side of the head with a pickax, its handle cut down to hide it more easily under a raincoat. The wound inflicted was three inches deep. Reeling, the old revolutionary found the strength to fight back against the assassin. Trotsky prevented Mercader from inflicting another, fatal blow and battled for his life until his bodyguards arrived. With Mercader beaten unconscious and the police called, he collapsed into the arms of his wife, Natalia Sedova. The next day, Trotsky succumbed to his wounds, dead at the age of 60.  
With his nemesis murdered and Mercader, the murderer, denying any Soviet involvement (he would eventually serve 20 years in a Mexican prison), Stalin could feel a deep satisfaction. The individual, who, more than any other, symbolized opposition to Stalinism, had been eliminated. Mercader’s vile act closed the long, bitter conflict between the two men. From the fictionalized version in Unforgiving Years, the excellent novel by Victor Serge, his one-time comrade, to the 1972 movie, The Assassination of Trotsky, where Richard Burton portrayed him, the lurid details of Trotsky’s death have often commanded more attention than his extraordinary life. Trotsky’s struggle against Stalin and Stalinism, the subject of this article, was a crucial part of his life’s final decade.
Born Leon Davidovich Bronstein to a family of Jewish farmers in Ukraine in 1879, Trotsky came of age among the revolutionary movements operating in the ultra-repressive atmosphere of the Russian Empire. At the age of eighteen, he enthusiastically embraced Marxism. The remainder of his life, one can say, without exaggeration, was based around a single, ultimate goal: worldwide workers’ revolution. During his early involvement in Russian socialist politics, Trotsky clashed with Vladimir Lenin over how a revolutionary party should be organized (such clashes would later serve Stalin well when he depicted Trotsky as hostile to Lenin’s ideas).  During the 1905 Revolution, after the formation of the first soviets (radical councils representing the working masses), Trotsky, only twenty-six at the time, served briefly as Chairman of the St. Petersburg Soviet. A long period of exile following Tsar Nicholas II’s crackdown on left-wing radicals ended when he returned in May 1917 to a Russia aflame with revolution. Joining the Bolsheviks a few months later, Trotsky worked closely with Lenin. Together, they prepared the overthrow of the ruling Provisional Government which kept the country in the disastrous world war. Henceforth, throngs of people uttered their names together—“Lenin and Trotsky.” As a member of the Bolshevik-led Military Revolutionary Committee, Trotsky played a decisive role in the insurrection in Petrograd (formerly St. Petersburg), events he would later chronicle in his famed History of the Russian Revolution. The following March, he negotiated the punitive Treaty of Brest-Litovsk forced on the Bolsheviks by Imperial Germany.  In the Russian Civil War (1918-1921), he organized and led the Red Army to an impressive victory over counterrevolutionary forces.
Trotsky also witnessed the tremendous setbacks of the early 1920s to revolutionary hopes. Under the New Economic Policy (NEP) set in motion by Lenin in 1921, the Bolsheviks had to concentrate on economic recovery after the severe wartime measures. The working class had been ravaged by three years of civil war. Many workers who survived the conflict had moved into administrative positions in the Soviet government or relocated to the countryside. Internationally, the USSR stood alone. The proletarian revolution Trotsky had expected to spread and take hold elsewhere had been stymied.  The radical Left underwent terrible defeats in 1919 in Germany and Hungary. There was the “Red Scare” in the United States in the same period. Benito Mussolini, a former socialist, acquired power in Rome in 1922 and his Fascist dictatorship became a fierce enemy of the Bolsheviks. More defeats soon followed in Germany, Estonia, and Bulgaria in 1923-25.
After Lenin died in January 1924, the question arose immediately about who would be the next leader of the Union of Soviet Socialist Republics. Trotsky was one of the most recognizable figures associated with the October Revolution—admired, hated, and emulated within and outside the USSR.  Although history rightly remembers Joseph Stalin as Trotsky’s chief rival and later mortal enemy, in the early 1920s Stalin passed unnoticed by many observers. He had been a “barely perceptible shadow,” as Trotsky put it. One of the classic histories of the Bolshevik Revolution, Ten Days That Shook the World, written by the American radical, John Reed, hardly mentions Stalin. Gregori Zinoviev and Lev Kamenev, not Stalin, emerged as Trotsky’s principal opponents in the immediate aftermath of Lenin’s death. These two men, who had been with Lenin for years, felt threatened by Trotsky’s popularity and his military record. A mistake, fateful for all three, though, had already been made. In 1922, Lenin, appreciating his organizational talents, chose Stalin for the position of General Secretary of the Communist Party. This gave him authority over party membership and appointments. Stalin quickly accrued enormous power and influence in the party over the next few years. Once Lenin, who, in his last months, sorely regretted his choice of Stalin, was no longer in the picture, Stalin sided with Zinoviev and Kamenev in their opposition to Trotsky.
As Trotsky later recognized, Stalin took advantage of the situation not only to appoint his own people but also to advance his own ideas about the future of the USSR. In 1924, he introduced the notion of “socialism in one country.” A socialist society could be built, Stalin contended, in the Soviet Union alone, regardless of the international context. The concept appealed to many Bolsheviks confronting the isolation of the globe’s only Marxist state.  Stalin went on to directly counter this idea to Trotsky’s emphasis on world revolution. Thanks to Stalin, “Trotskyism” soon became a term of opprobrium for elitism, factionalism, and a lack of connectedness to the masses of workers and peasants.   During the mid-1920s, Trotsky responded to these developments by calling for a restoration of workers’ democracy within the Communist Party. While he had advocated centralization during the Civil War, he had done so out of necessity. As the de facto leader of what became known as the Left Opposition, Trotsky assailed the growing bureaucratization of political life, the retreat from the old ideal of revolutionary internationalism, and the transformation of Marxism into “Marxism-Leninism,” a dogma not to be questioned. He gathered many supporters such as Karl Radek, Christian Rakovsky, and Victor Serge. Further support came from unexpected quarters. After Stalin maneuvered them out of positions of authority, Kamenev and Zinoviev threw in their lot with Trotsky in 1926. This Joint Opposition, never the most robust alliance, did not hold. Young “activists” violently broke up Opposition meetings with methods reminiscent of Mussolini’s Fascist squads. Stalin, wielding his power like a club, expelled Trotsky and his followers from the party in late 1927. Prophetically, Trotsky denounced Stalin as the “gravedigger of the Revolution.” Sent into “internal exile” in Kazakhstan for a year, he was then deported to Turkey in February 1929.    
In Prinkipo, a suburb of Istanbul, Trotsky wrote his autobiography, My Life. In that book is this remarkable description of Stalin, by then the sole ruler of the Soviet Union. He is gifted with practicality, a strong will, and persistence in carrying out his aims. His political horizon is restricted, his theoretical equipment primitive. His work of compilation, The Foundations of Leninism, in which he made an attempt to pay tribute to the theoretical traditions of the party, is full of sophomoric errors. His ignorance of foreign languages compels him to follow the political life of other countries at second-hand. His mind is stubbornly empirical and devoid of creative imagination. To the leading group of the party (in the wide circles he was not known at all) he always seemed a man destined to play second and third fiddle. And the fact that today he is playing first is not so much a summing up of the man as it is of this transitional period of political backsliding in the country.
This period was not to be nearly as “transitional” as Trotsky believed. With his opponents removed, Stalin enacted the collectivization of agriculture and state-directed industrialization, programs once championed by the Left Opposition, but now brutally implemented with a staggering toll of lives. He was not yet ready, though, to implement, to quote Trotsky, the “physical liquidation of the old revolutionaries, known to the whole world.” Stalin would bide his time for a number of years. And he could do so while watching his enemy live a refugee’s existence.  
Trotsky did not hesitate to label the Stalin dictatorship “totalitarian,” a concept still relatively new in political thought.  Thus, Stalinism, the counterrevolutionary system and ideology Stalin represented, preoccupied him. In this form of totalitarianism, a bureaucracy, a privileged caste, at the top of which Stalin perched like an absolute monarch, lorded it over the working class. Trotsky likened Stalinist domination to “Thermidor,” the term used to denote the end of the radical phase of the French Revolution and the shift to reactionary politics. As late as 1933, he thought, however, the Soviet system could be reformed by working through the structures of the Communist Party. The Left Opposition might dislodge Stalin from within without directly challenging state power. Trotsky held to this position until Adolf Hitler became chancellor of Germany in January 1933. Germany was a country with a modern urban, industrial society he had long regarded as vital to the prospects for socialism. Trotsky decried the impact of Stalin’s policies in this catastrophe. The Soviet leadership had tied the hands of the German Communist Party and hindered a united front against the Nazi Party by construing moderate socialists as the real threat. Subsequently, Hitler crushed the mighty German workers’ movement with hardly a fight.  This disaster forced a profound shift in Trotsky’s thinking. After Hitler took power, Trotsky concluded that reform of the Stalin regime had to be abandoned. Ousting Stalin by working through the channels of the Communist Party was no longer possible.  This much more radical perspective culminated in his 1936 The Revolution Betrayed.  Proletarian revolt would have to topple Stalin and the bureaucracy. This revolution, Trotsky made clear, would resemble the European upheavals of 1830 and 1848 more than the October Revolution. It would be a political revolution, not a social one. Collective ownership and control of the means of production (e.g. land, factories, mines, shipyards, oilfields), railways, and banks, as well as the planned economy, would remain. Trotsky’s designation of the USSR as a “degenerated workers’ state” highlighted his conviction that Stalin had betrayed and degraded the original, liberatory aspects of the Bolshevik Revolution. Still, much could be salvaged from the damage done by Stalinism.
The vision Trotsky held of political institutions in a liberated, post-Stalin USSR may surprise some. He called for free elections, freedom of criticism, and freedom of the press. While the Communist Party would benefit most from this open atmosphere, it would no longer possess a monopoly on power. As long as political parties did not try to restore capitalism, they could operate, recruit, and compete for power.  Stalin’s downfall would also signal new life for the trade unions. Trotsky imagined a restored involvement of workers in economic policy. Science and the arts might flourish once more. The state, no longer bound to the calamitous Stalinist policies, could return to the satisfaction of workers’ needs, like housing.  Stratification would yield to the reinvigorated aim of “socialist equality.” Youth, in whom Trotsky placed so much hope, “will receive the opportunity to breathe freely, criticize, make mistakes, and grow up.”   These thoughts Trotsky put to paper only months before he would be compelled to move again. For eight years, Trotsky traversed what he called a “planet without a visa,” a planet torn apart by the worst economic crisis in the history of capitalism. Since Stalin expelled him and Natalia from the USSR, the beleaguered revolutionaries had found temporary sanctuary in Turkey, France, and Norway. Granted refuge by the leftist Cardénas government of Mexico, their arrival in Coyoácan in January 1937 was greeted with derision and menace by the country’s pro-Stalin Communist Party.
Stalin not only hunted Trotsky but anyone close to him from country to country. In Barcelona, in June 1937, his assassins abducted Trotsky’s former collaborator, Andrés Nin, a leader in the POUM (Workers’ Party of Marxist Unity), the organization of militants made famous by George Orwell’s Homage to Catalonia. Nin disappeared at a critical moment in the Spanish revolutionaries’ struggle against Francisco Franco, never to been seen again.  Thirteen months later, in Paris, Rudolf Klement, who had once worked as Trotsky’s secretary, sat down for breakfast. Klement was kidnapped, presumably by GPU agents. They seized him and left his food on the table untouched.  A few weeks after he vanished, a body, missing its head and legs, washed up on the Seine.  It was not enough to just kill Klement; decapitation and dismemberment were required to incite extra terror.
Stalin’s agents also infiltrated the circle around Trotsky’s son, Leon Sedov. Despite a difficult relationship with his father, Leon worked tirelessly for him in Paris. He communicated with Left Oppositionists still holding on inside Russia, edited the Bulletin of the Opposition, the most significant forum for Trotsky’s analyses of the contemporary world, and wrote an exposé of the Show Trials then taking place in the USSR. Mark Zborowski, Ukrainian-born and known to Trotsky’s supporters under the false name “Étienne,” soon worked his way into Sedov’s circle. Zborowski became Sedov’s personal assistant, helping with his correspondence and eventually taking care of the publication of the Bulletin. Thanks to “Étienne,” the GPU could count on seeing many of the articles from the latter before they even appeared in print. And Zborowski delivered to them vital information about Sedov’s health. When Sedov checked himself into a private clinic in Paris run by Russian emigres complaining of an appendicitis, the Soviets knew. He died there under mysterious circumstances in February 1938, five months before Klement disappeared.  To this day, the cause of death has not been conclusively determined. In a moving tribute to his son, Trotsky told of the terrible grief he and Natalia felt. “Together with our boy has died everything that still remained young within us.” Their other son, Sergei Sedov, had remained in Russia after his parents’ expulsion and always kept politics at arm’s length. That did not save him. He vanished and, it is believed, was shot in October 1937.  
This systematic killing overlapped with the monstrosity of Stalin’s Show Trials. These abhorrent mockeries of justice had their roots in the murder of Sergey Kirov, Stalin’s party boss in Leningrad. Kirov was gunned down in December 1934. Likely, Stalin himself was responsible for the assassination. The murder gave him the pretext for systematically and publicly purging the Communist Party. As the most visible aspect of the Purges, the Show Trials started with the Trial of the Sixteen in August 1936.  Old Bolsheviks, such as Zinoviev and Kamenev, stood accused of conspiring against the Soviet government. Shockingly, they confessed, confessed to submitting to Trotsky’s demands to assassinate Stalin and several of his subordinates. Following their death sentences, several successor trials ensued through 1938. The “physical liquidation of old revolutionaries, known to the whole world” was at hand. Trotsky knew that a combination of torture, threats to family members, and promises of freedom, if confessions were given, allowed the travesties to occur. When he read the infamous sentence uttered by Stalin’s Prosecutor-General, Andrey Vyshinsky—“I demand that these dogs gone mad should be shot—every one of them!”—Trotsky knew this was no idle threat.
Vyshinsky’s words became murderous reality in the USSR in the late 1930s and '40s. The violence swept away both supporters and opponents of Stalin and Stalinism. Radek and Rakovsky, former allies of Trotsky who later submitted to Stalin, were killed. So, too, was Nikolai Bukharin, one of Bolshevism’s leading theoreticians, a sharp critic of Trotsky and the Left Opposition, and a onetime backer of Stalin. Others were murdered in labor camps, the infamous Gulags, or in prisons. Among the thousands of victims were the Marxist economic thinker, Isaak Ilich Rubin, and the great historian of the Left and former director of The Marx-Engels Institute, David Ryazanov. Isaac Babel, whom Trotsky once termed the “most talented of our younger writers,” confessed to working as a spy and terrorist mastermind for Trotsky. The secret police put him to death in January 1940.  In this period, the Soviet Union was perhaps the most dangerous place in the world for independent-thinking Marxists, an astounding thing to say, given the records of the fascist regimes. For their contributions to the butchery, Stalin rewarded Genrikh Yagoda and Nikolai Yezhov, chiefs of the GPU during these years, by having them shot.
From the Show Trials, ever more outlandish tales about Trotsky were spun. The stories relayed by the accused placed him at the center of a massive, worldwide anti-Soviet conspiracy. Turning his calls for an anti-Stalin revolution against him, Vyshinsky pilloried Trotsky, the inveterate adversary of fascism, as the master fascist, as the string-puller and puppet-master. Besides links to the Gestapo, Soviet investigators claimed to have uncovered Trotsky’s connections to Mussolini, the government of Imperial Japan, and the capitalist democracies. Reminiscent of Nazi anti-Semitic theories, “Trotskyism” metamorphosed into a truly demonic apparition during the Show Trials. Yet Trotsky fought back vigorously.
Countering the way Stalin’s handpicked historians distorted the Soviet past, Trotsky had already authored The Stalin School of Falsification. His adherents, many of whom by this point referred to him, with affection, as the “Old Man,” founded the Fourth International outside of Paris in September 1938. Its aim was to provide a revolutionary alternative to the Moscow-led Third or Communist International (Comintern). This Fourth International would bolster radical, anti-Stalinist working-class parties and unions around the world. When it came to repudiating the preposterous charges raised in the Show Trials, he received considerable help. Frida Kahlo, with whom Trotsky had an affair in 1937, and Diego Rivera were his tireless defenders in Mexico City. In the United States, a Committee for the Defense of Leon Trotsky formed. Similar organizations were founded elsewhere. The American Committee set up a Commission of Inquiry, chaired by John Dewey, the famous Pragmatist philosopher. Only one of the members, Alfred Rosmer, a syndicalist and early supporter of the October Revolution, could be described as a Trotsky supporter. Traveling to the Mexican capital, the Commission held thirteen sessions in April 1937. Trotsky, speaking in his quite imperfect English, responded to every accusation leveled by the Stalinists. He cast a powerful impression on those present, including the liberal Dewey, no admirer of his politics. In September 1937, the Commission issued its findings, clearing Trotsky of all the charges.  
The following years were dark, awful times for Trotsky, Natalia, and their inner circle. Losing two sons and innumerable comrades and friends to Stalin did not break his spirit, but the losses threw a shadow over everything he had done.  With the Japanese in China, Hitler moving into Austria, and threatening Czechoslovakia, and Mussolini dreaming of a  Roman Empire in the Mediterranean, the prospect of a new world war soon overtook him. Almost a year before it started, Trotsky spoke of an impending Second World War as a “new slaughter which is about to drown our whole planet in blood.” Trotsky had good reason to utter such things. And he knew that Stalin’s response to German expansion in Eastern Europe would be critical. Following the Munich Agreement of September 1938, Trotsky expected the Soviet government to seek an agreement with Hitler. Stalin’s 1937-38 purge of the Red Army, including some of its most capable commanders, like Mikhail Tukhachevsky, had so seriously weakened the USSR that a military confrontation with Nazi Germany had to be avoided at all costs. Whatever anti-Nazi sentiments issued from the Kremlin, Trotsky thought, were not worth the paper they were written on. In the aftermath of the Show Trials, he believed an even more important reason would drive Stalin to come to an agreement with Berlin: survival. The Stalin regime was too despotic and unpopular to weather the storm of total war. According to Trotsky, a settlement with Nazi Germany might secure some stability for the dictatorship.    
When Vyacheslav Molotov, the Soviet foreign minister, and Joachim von Ribbentrop, his German counterpart, signed a Non-Aggression Pact between the two nations on August 23, 1939, Trotsky was scarcely surprised. Earlier that year, he had declared that Stalin’s name will be a “byword for the uttermost limits of human baseness.”  This damning statement received confirmation with Stalin’s next move—dividing up Poland with Hitler.
Trotsky’s struggle against Stalin entered a new and final phase with the start of World War II just a week later. In a steady stream of articles and interviews, he condemned the role of the Soviet Union, a state that, at least in its rhetoric, had sided with the colonized against imperialism. The betrayal of the principles of Red October had reached a new level of treachery. Perhaps Stalin, Trotsky surmised, now seemed content with partitioning Eastern Europe with the German fascists. Whatever the motives, he dubbed Stalin Hitler’s “quartermaster,” a lackey who reacted to his senior partner’s moves.    
The Soviet attack on Finland in November 1939, the beginning of the Winter War, made him wonder how far Stalin was willing to go to create a sphere of interest for himself. While he again damned Soviet aggression, Trotsky, at the same time, despised Marshal Mannerheim, the right-wing Finnish leader rallying his people. Still, Trotsky, true to his Marxism, hoped that “sovietization” in Poland and Finland might free workers and peasants in both countries from the dominance of capitalists and landlords. Yet socialism, he realized, ultimately could not be built on the tips of the Red Army’s bayonets.
This was a huge dilemma for Trotsky. How could one support social revolution in areas under Soviet control without giving any ground on his anti-Stalinism? An even bigger problem posed itself. What if Hitler repudiated the pact and attacked the USSR? Trotsky had no doubt Hitler would do so at the earliest opportunity. His answer was absolutely unequivocal. Socialists and workers everywhere must rally to the defense of the Soviet Union. The achievements of the Bolshevik Revolution had to be defended.
This position, which alienated many of his adherents, coexisted with another claim—the new world war would mean the end of the Stalin regime. Trotsky predicted that the workers and peasants of the USSR, their revolutionary energies revitalized, would put an end to the Stalinist bureaucracy. The revolution he outlined in The Revolution Betrayed would itself form part of a gigantic wave of revolutionism engulfing the Axis powers and the capitalist democracies. Like Stalin, Hitler and Mussolini would meet the severe justice of the proletariat. Trotsky argued that capitalism, stricken for a decade by mass unemployment, immigration quotas, tariff wars, and the constriction of trade, had entered its “death agony” as well. Defiantly, he announced, “from the capitalist prisons and the concentration camps will come most of the leaders of tomorrow’s Europe and the world!” One outcome Trotsky envisioned resulting from this world revolution would be a Socialist United States of Europe. The latter, in turn, would form part of a World Federation of Socialist Republics.  This would have amounted to the greatest geopolitical revolution in human history with socialism becoming a truly global societal form.
Trotsky held to this radical perspective even as Stalin signed a commercial agreement with Hitler in February 1940, then seized Bessarabia and Bukovina from Romania, and annexed Lithuania, Latvia, and Estonia. He clung to it as his own health deteriorated and, as he had long feared, Stalin’s assassins closed in on him.  At the end of February, Trotsky wrote a final testament, fearing death was near. “Life is beautiful,” he said. “Let the future generations cleanse it of all evil, oppression and violence, and enjoy it to the full.” Three months later, radical evil appeared very much alive and on the move.
On May 1, a day long associated with the Left and labor militancy, 20,000 Mexican Communists marched in the capital and shouted: “Out with Trotsky!” Trotsky and Natalia had already assumed their lives were in jeopardy. With its electrified wires, alarms, and enforced doors, their house in Coyoácan looked more like a fortress than a home. As Trotsky tried from afar to keep pace with Hitler’s invasion of France and the Low Countries, launched on May 10, a plot to kill him took shape. It was led by the painter David Alfaro Siqueiros, once a friend of Rivera, but now a convinced Stalinist. On the night of May 23, Siqueiros’s men broke into the home and fired over 200 shots. Miraculously, Trotsky and Natalia survived. So did their grandson, Esteban Volkov, who had been living with them.     Trotsky proclaimed in defiance, “in the annals of history Stalin’s name will forever be recorded with the infamous mark of Cain.” When the May attempt failed, the GPU decided to go with Mercader. In August, after delays and missteps, he fulfilled his deadly mission. Among the papers next to where Trotsky struggled against his assassin was a long, unfinished manuscript, a biography of Stalin he penned to expose his enemy. The blood spilled in the study confirmed what was etched in ink on the book’s pages. Indeed, with Trotsky’s murder, Stalin demonstrated his most terrifying talent. He was a hangman whose noose could reach across oceans.   In retrospect, it is astonishing just how confident were Trotsky and his supporters like Victor Serge, Isaac Deutscher, and James Cannon in a coming proletarian revolution that would sweep away the Stalin regime. Trotsky’s expectation that World War II would lead to the toppling of Stalin and the restoration of a true workers’ state in the U.S.S.R. never, of course, materialized. In fact, the victory of the Red Army during the “Great Patriotic War” against the Axis states only solidified Stalin’s rule. For many, Marxism became irrevocably defined by and identified with Stalinism. Victory did not mean in this case, though, validity for the system Stalin molded. Trotsky’s critiques of Stalin the person and Stalinism the phenomenon remind us of that.
~
by Jason Dawsey · September 12, 2018.
0 notes
pamphletstoinspire · 7 years ago
Photo
Tumblr media
Fundamental Theorem of Calculus, from Math 121 Clark Univ.
[Feynman] "Do you know calculus?"
[Wouk] "I admitted that I didn't"
[Feynman] "You had better learn it...It's the language God talks."
Herman Wouk, converstion with Richard Feynman in The Language God Talks, p.5
"What is your number?" My grandson, Gabriel (age 2), on meeting someone.
"If you ask how such things can occur, seek the answer in God’s grace, not in doctrine; in the longing of the will, not in the understanding; in the sighs of prayer, not in research; seek the bridegroom not the teacher; God and not man " St. Bonaventure, The Journey of the Mind to God.
IS REALITY ALTOGETHER MATHEMATICAL?
In his very fine book, Is God a Mathematician?, Mario Livio gives a good history of mathematics and its foundational applications to science.  He also discusses whether mathematics is a Platonic ideal or is a construction of the human mind -- i.e. is mathematics "discovered" or "invented"? But he does not address the question posed in his title, which I propose to do in this post.  I'll also discuss some related arguments by physicists and philosophers that reality is mathematics (see references).
Now it goes without saying (although I will say it), that if God is omniscient, he knows everything and therefore, perforce, must know all mathematics. These propositions do not, however, require that reality is altogether mathematical, as suggested by Max Tegmark in his book, Our Mathematical Universe.  If reality is altogether mathematical, then everything can be quantified, represented by numbers or properties that can put into correspondence with numbers.  Is this so?
I invite the reader to suggest things that cannot be quantified by numbers.  Here's my list of a few such:
self-awareness, consciousness ("Cogito, ergo sum")
moments of communion with God, The Holy Spirit, Jesus
love of another
shame
anger
pain
happiness
joy
feelings aroused by nature
feelings aroused by music
feelings aroused by intellectual discovery
the literary excellence of a poem, a short story, a novel
boredom on reading blog posts dealing with the reality of mathematics
etc...
Now psychologists might say that most, if not all of the above can be quantified: just use the simple 1-5 scale as, in satisfaction response surveys. I claim that, unlike measuring the mass of a steel ball or its radius, such a procedure would not yield a universal measurement -- one person's "2" might well be another person's "4".  The qualia referred to in the above items are non-quantifiable, in the sense that a universally applicable measurement cannot be applied.
Let's explore just one of the above in more detail--feelings aroused by music.  In another post, God's Gift to Man -- the Transforming Power of Music, I've discussed the emotional and spiritual impact music has had on me, an effect which cannot be explained by mathematical relationships. The Pythagorean harmonies have no place in the dissonances of Bartok, Berlioz or even Mozart (Symphony #40, the Great G - Minor.
The inability of computation -- mathematics -- to emulate musical creativity is illustrated in a science-fiction story by James Blish, "A Work of Art".  In this tale "mind sculptors" of the future install a recreation of Richard Strauss in a non-musical volunteer.   The volunteer thinks of himself as a resurrected Strauss, composes an opera, and then realizes it uses old musical devices and is not creative.  At the concert in which the work is premiered, the volunteer knows that the resounding applause is for the mind sculptors, not for his musical work.
I AM NOT A NUMBER!" (Number 6, in "The Prisoner")
Let's turn to consciousness/self-awareness as an attribute of mathematical reality. Is the brain a "meat computer"-- can consciousness/self-awareness be programmed? In other words, does the self-aware brain operate by algorithms?  
The eminent mathematical physicist, Roger Penrose, has said no to this proposition in three books: "The Emperor's New Mind", "Shadows of the Mind", and "The Large, the Small, and Human Consciousness".  Penrose demonstrates, using Godel's Incompleteness Theorem and Turing's Halting Theorem, that the human can know the truth of a mathematical theorem even when a computer can not.
In "Shadows of the Mind" he gives four types of belief or non-belief in the possibility of Artificial Intelligence (AI), that self-aware intelligence can be programmed by some set of algorithms:
Consciousness is reducible to computation (the view of strong - AI proponents);
Consciousness can be simulated by a computer, but the simulation couldn't produce "real understanding" (John Searle's view);
Consciousness can't even be simulated by computer, but nevertheless has a scientific explanation (Penrose's own view)
Consciousness doesn't have a scientific explanation at all (the view of Thomas Nagel --see Mind and Cosmos)
Penrose is looking to a theory of quantum gravity to explain consciousness, The philosopher John Searle posits, as does Penrose, that consciousness has a scientific explanation , but that it will be an explanation in which consciousness is an "emergent" property of the brain's biochemistry and biophysics, much as wetness can be explained by theories of surface tension for water.  I have discussed Nagel's views (with links to other discussions) in the post which is linked to above.
A quantum computer (i.e. a scientist engaged in quantum computation), Scott Aaronson, has given an amusing and almost-convincing critique of Penrose's thesis in one of his Physics Lectures.  Some of his criticisms can be answered, particularly the one dealing with the Libet experiment, but I don't propose to engage that discussion here.  The critique relies primarily on two features: the activities of the mind are finite, not infinite; a computer which would be allowed to make mistakes would not be bound by Goedel's Theorem.
Finally, note that Max Tegmark does not show in "Our Mathematical Universe" how consciousness can be explained as a mathematical phenomenon.  He claims that this will be done in the future, but that seems to me very much like a scientism of the gaps.
IS MATHEMATICS QUASI-EMPIRICAL?
If mathematics (maybe I should upper-case that?) is to be the end - all and be - all of what is, then it seems reasonable to suppose that mathematics is complete in itself --there are no loose ends.  A primitive view of Goedel's and Turing's theorems suggest that this is not so.  The computer philosopher Gregory Chaitin reinforces this opinion in his books "The Limits of Mathematics" and "The Unknowable":
"What I think it all means is that mathematic is different from physics, but it's not that different. I think that math is quasi-empirical.  It's different from physics, but it's more a matter of degree than an all or nothing difference. I don't think mathematicians have a direct pipeline to God's thoughts, to absolute truth, while physics must always remain tentative and subject to revision [emphasis added]. Yes math is less tentative than physics, but they're both in the same boat, because they're both human activities, and to err is human." Gregory Chaitin, The Unknowable, pp 26-27
MY TAKE
I view mathematics, logic, reason as the foundations and the framework of the building in which we live.  There are essential additions--faith, religion, beauty, love, ... -- which are non-mathematical and above the bounds of logic.  As Pope St. John Paul II, said.  
"Faith and reason are like two wings on which the human spirit rises to the contemplation of truth; and God has placed in the human heart a desire to know the truth — in a word, to know himself — so that, by knowing and loving God, men and women may also come to the fullness of truth about themselves" Pope St. John Paul II, Fides et Ratio.
So my answer to the question in the title is, God is much more than a mathematician.
*I've gone back to my Jewish roots, inverted the title of a very good book, "Is God a Mathematician?" by Mario Livio, to make it a declarative sentence in form, but still a question (imagine a rising inflection at the end, as with a Yiddish or Pennsylvania Dutch accent); I've put one of the few Yiddish phrases I remember at the end.  If you don't know what "oy vey" means, I'll have to ask "what planet are you from?"
REFERENCES
Mario Livio, Is God a Mathematician?
Roger Penrose, The Large, the Small and Human Consciousness
John Searle, Minds, Brains and Programs.
Max Tegmark, Our Mathematical Universe.
Herman Wouk, The Language God Talks.
From a series of articles written by: Bob Kurland - a Catholic Scientist
1 note · View note
alimonytony · 4 years ago
Text
This is a repost from my rant forum on my site and since I'm interested only in it being read, rather than advertising or shilling it out for hits, I'm going to just repost it here. Before I do let me give you a quick introduction.
I finally registered on the SA forums a week or so ago having been a loyal reader for a couple of years. I don't like the new design of the site, I want to kill it with fire, I liked my good-old Web1.0 scrolly site, give it back please.
I'm posting this here because you lot are smart, and as such, I have no issues with you telling me that you think I'm wrong with this pseudo-rant. This may also be preaching to the choir a bit and for that I sincerely apologize. I hope at least you get some enjoyment out of this. If you're one of those fellows who likes to Digg, the article also has a Digg page, do with it as you see fit - http://digg.com/general_sciences/At...you_intelligent
With that said and done, here goes.
"It's novello time, and it's about religion, so unless you're ready to deal with some views you may not agree with, switch off now. In the words of Illidan "You are not prepared".
Let's get this out here right now. I'm a 23 year old law graduate with an IQ of 155. My political beliefs are liberal and leftist, I listen to Metal and I enjoy violent movies, books and videogames, and I've been a Christian since birth. Baptised, confirmed of my own free will, son of a priest (who are pretty notorious for rebelling against their father's religious beliefs just for the sake of it). I'm part of the Anglican Church of England, which is pretty much the result of Henry the 8th getting pissed off with the catholics not allowing him to divorce his wife(s). We're the state religion of the UK, if you could even say the UK has one, we're pretty liberal about most things, women priests, gay priests, homosexuals in general, sex before marriage, contraception, we take the modern, reasonable way of looking at all of them. At the end of the day, the Bible taught us about forgiveness and being excellent to one another. It had a bit of a round-about way of doing it but what do you expect for a 2000 year old book written entirely by clerical males? It's gonna be a bit out of date, you've gotta read it in context.
I have no problems with anyone's beliefs. Be whatever you want, as long as you believe (or don't believe) for a good reason. But here's what I really don't like, trend-atheism/trend-theism (also referred to as e-atheism, since it seems to be most prevelant in the domain of anonymous blogspammers and Digg-users).
In my late teens, I spent a long time thinking. Yeah, just sitting around and thinking, thinking about faith. Thinking about what it is that I believe in. Rationalizing the various conflicts and contradictions that faith presents us with, looking at the viewpoints of other faiths, or those with no faith at all, taking into account the new things we discover every day and factoring in the influence of science. Some people would claim that, if I had indeed done that, I'd have come to the conclusion, as an intellectual, rational thinker, that God does not exist. They would of course, be wrong.
My beliefs center around several factors. Firstly, it is important for us as human-beings to realize our own limits, and the limits of our understanding. Centuries ago we believed the world was flat. "The Bible told us so!", would be the first cry. Wrong, it really didn't. In the Old Testament, Job 26:7 explains that the earth is suspended in space, the obvious comparison being with the spherical sun and moon. The Old Testament, you remember that one? The one with the fiery bushes, the pillar's of salt, the cool plagues and such? Even that managed to get it right. There's a few more references as well to the 'round' earth (and before you say anything, flat is not a shape, it could have been a flat octagon for all they knew) but I'm not going to go into that yet. We've had computers for less than a century, powered flight for just over a century and of course our amazing horseless carriages. Genetics, electricity, nuclear-bombs, toaster-strudel, the world is in the palm of our hands! And it didn't take us too long did it?
Reality-check, we're still primitives. In the great scheme of things this technology is a mere blip on the historical radar. We've got an awful long way to go before we're able to dissect and understand the mysteries of the universe. We haven't even put a man on Mars yet, let alone left our solar system to find out what exactly is out there. How can it be that we have suddenly, so recently, become so arrogant as to believe we know more than we really do? The Laws of Science are written by man, based on our understanding of how things work. They are theories that, while prove true today, may be debunked by another amazing discovery tomorrow. Which leads onto my next point.
Name this quote "Any sufficiently advanced technology is indistinguishable from magic". Arthur C Clarke, physicist and author, smart fellow. It also hilights the point I'm making. Our understanding of the universe is peerless only amongst ourselves. We are not as smart as we think we are. Just as fire wowed the neanderthals, what would it take to wow us? What would make our jaws drop and our minds boggle? Well, any sufficiently advanced technology of course. And what is technology after-all? Man-made machines. The concept of technology is a human concept, a concept that may, in other parts of the universe, not even exist, replaced by something even more advanced than that, so advanced that we cannot comprehend it. Not surprising really as we mammals only use 10% of our brains.
So where am I going with this? Simple really, take yourself off of your high-horse, you, and the human race, is not as smart as it thinks it is. Now, open your mind a little, and let's explore some possibilities.
The definition of a God. Let us turn to the good book.
Wikipedia.
"God most commonly refers to the deity worshipped by followers of monotheistic and monolatrist religions, whom they believe to be the creator and ruler of the universe. Theologians have ascribed a variety of attributes to the various conceptions of God. The most common among these include omniscience, omnipotence, omnipresence, perfect goodness, divine simplicity, and eternal and necessary existence. God has also been conceived as being incorporeal, a personal being, the source of all moral obligation, and the "greatest conceivable existent"
Hmm, a tall order one might think. Could such a being exist? Some argue that logically, he could not, however, there is very little logic in denying the possibility that a being or beings of such power and advancement exist that they could indeed, be considered 'God' within our definition. That's not to say that God is a small green alien with a flying saucer and a phaser though that would give some of the overzealous fundamentalists something to sweat over, much to our amusement. But what is this God? A creator? Sure, we create. We create technology, we're getting to the stage of being able to create life in one form or another, using the basic building blocks of nature. Could it not be surmised therefore that it is entirely within the realms of possibility that someone or something created those building blocks? Like a programmer creates a new program, someone must have also created the coding language in which he created it. We scramble for answers. We come up with theories. Some believe in the beginning there was nothing, which exploded. Some believe a man in the sky created it everything in 6 days and then mooched around on the 7th. Which is valid?
Neither, and both. They attempt to apply meaning to something where meaning may, or may not exist. Creationism and the Big Bang are in that sense, as bad as each other. They are both merely attempts for us to explain the unexplainable. The Big Bang contradicts our laws of physics (something most catalyse an explosion, therefore something must have been there in the first place, where did that come from, at which point your brain melts). The Creation Story contradicts our laws of physics (Same reasons, who created God after all?). Everything we've so far managed to come up with, from the sublime to the ridiculous, the complex to the simplistic, it's an exercise in desperate straw-clutching. At the end of the day, we don't know jack.
And that's ok. Someone once said that the journey matters more than the destination, it's not the winning, it's the taking part, at least ya tried sport. These explanations of where it all comes from, be they ancient or modern all boil down to the same need. To know. Who'd have thunk it, we've got brains for a reason, and they rather like being used. Those neurons like to be fired, the little grey matter likes a little exercise every once in a while. Just as the Creation Story was a way to explain an unexplainable concept, so is the Big Bang theory. If one were to compare the human mind to a computer, try feeding the Big Bang theory to the medieval man, and it's like trying to shove Bioshock into a Commodore Vic20. Good luck. And what will our children's children's children's grandchildren's children think of our Big Bang theory? My money's on exactly the same thing.
So what am I trying to tell you, stop asking questions, stop looking for answers and just believe whatever the hell suits ya? Absolutely not. Believe whatever suits you, but question it, never stop thinking, never stop asking or learning. In this day and age it seems people are way too willing to believe, or not believe. Belief, or non-belief should be a life-long arduous process and it should end involuntarily, when you fall over dead. Someone (there's a lot of talkative someone's aren't there?) once said 'Never stop believing', I say, "Never stop asking yourself what you believe, and why".
It's time to criticize, so let me load port and starboard cannon and fire a volley at both atheists and theists alike. Believing, or not believing, does not make you intelligent. Smart people do not come to a conclusion on the basis of insubstantial evidence. Smart people do not mindlessly attack other people's beliefs just because they don't conform to their own. Smart people do not assume that their own rigid, poorly formed definitions of logic and faith, reason and belief are mutually exclusive and that if one exists, the other cannot. Smart people think outside the box, not pick fights with those poor souls trapped in it.
What makes you intelligent, is knowing why you believe what you believe. Knowing that you are but one mind, and knowing that at any time you could be proven wrong, only for that person to be proven wrong ad infinitum as we as a race advance.
I suppose you're waiting for my personal beliefs, waiting for this to be some kind of sermon, preaching why my God is better than your God, or non-God. You'll be waiting a long time, because it's not coming. My personal beliefs are just that, personal, they're mine, they belong to me. You cannot take them away from me, only I can. What I can give you though, are my opinions.
Right now shots are being fired. They're not physical shots, they're bullets and shells of ignorance and bigottry. And it's no one-sided battle let me tell you that much. Factionalized camps everywhere you can imagine. Atheists, Theists, Satanists, Christians, Republicans, Democrats, Capitalists, Communists, every group you can imagine, all shouting 'Your God/Non-God sucks, mine is better!'. These days, the internet's become their battleground. So much for sharing knowledge, we're sharing ignorance.
The bigottry and the condemnation has to stop. The sad thing is, I'm having to condemn the condemners. Isn't it lowsy how you generally have to be a hypocrite in order to make a point these days? Food for thought. We can look at the extremes and see the simplistic, secular vs sacred, trend-atheists vs fundamentalist evangelical christians, the most common stereotypes. But in reality, it's so much more complicated than that. It's this stereotyping and narrow-minded attitude that prevents us as a race from achieving the greatness we can. I could make as many decrees as I wanted till I was blue in the face, and I'm going to just to let off a little steam mind you,
"Trend-atheist Digg users, shove your agendas where the sun don't shine, refusing the possibility of a supreme-being does not make you a genius or a radical thinker, it makes you a bloody sheep hiding behind a cloak of anonymity"
"Evangelical Fundamentalist morons, get your overly simplistic, judgmental, dogmatic Crayola God out of my face, you have about as much understanding of the universe as a wet lettuce. That does not make you holy, pure, or guaranteed a private booth at the big game in the sky, it makes you a bloody sheep hiding behind a cloak of propaganda that you only believe because you're told to"
Wow, that feels good, I can understand why you internet-bound condemners like it so much. Gives you that warm, fuzzy feeling doesn't it? What, I'm not allowed to indulge in such a guilty pleasure every once in a while? Play fair Wink
Where's my conclusion? Hell if I know. Did you have the mistaken impression this was some carefully constructed plea for tolerance? Absolutely not, it's an angry slap in the face to my peers. Wake the hell up and use your brain, because my God/Non-god/Explosion/Man-in-the-sky/Vic20 gave you it for a reason.
TB.
0 notes
holytheoristtastemaker · 5 years ago
Quote
Key Takeaways The Java language has changed notably over the last 5 years Two major projects that are delivering that change - Valhalla and Amber - are still in flight Java has continued to maintain its core value of backwards compatibility Despite being 25 years old, there is still plenty of life left in the language and platform New technologies, such as Graal, are helping to keep Java at the forefront of programming languages Almost five years ago, I wrote an article outlining some feature ideas from other languages that I felt could be of benefit to Java. A lot has happened since then — at that time, Java 8 was the newly minted release, whereas the most recent version is now Java 14. Let’s take a look at each feature in turn and see what its current status is: whether it has been added to Java, is on the way, or is not currently planned for inclusion. Reified generics My original predictions ruled out reified generics. I did not foresee the ambition that Project Valhalla has for remaking the JVM from the ground up Project Valhalla’s major goals are: aligning JVM memory layout behavior with the cost model of modern hardware; extending generics to allow abstraction over all types, including primitives, values, and even void; and enabling existing libraries, especially the JDK, to compatibly evolve to fully take advantage of these features. Buried within this description is the loaded word "values", which has evolved into the feature that we know today as inline classes. Reified generics and primitive specialization have thus been subsumed into a much larger project that promises to fundamentally change the way that Java is written and executed. Despite the deep low-level changes that are being made, the goals of the project team include minimizing disruption to existing Java applications and providing an easy, opt-in approach for developers who use Valhalla capabilities in their own code. We should note that Valhalla is still very much a work in progress — and there is still no official roadmap for when it might be delivered. Verdict: ON THE WAY (as part of Project Valhalla) Unsigned arithmetic The possibility of supporting this feature has been repeatedly discussed over Java’s history, but there are a number of complexities involved in introducing it. For example, there is the question of how signedness should be represented in the Java type system, and whether it should be visible at JVM bytecode level or not. These issues have not reached any satisfactory consensus and so Java still does not contain unsigned arithmetic — and one notable aspect of Project Valhalla is that it does not include support for unsigned arithmetic. Verdict: NOT BEING CONSIDERED Long indices for arrays Java’s arrays are constrained in size by a simple fact of their design: they take an int as their index. This means that an array is limited to 2**31 elements (remembering that ints are signed), or roughly 2 billion entries. As originally envisaged, the idea of using a long instead of an int would allow developers to create and manipulate much larger arrays. However, since the original "Missing Features" article, the community’s focus in this area has shifted towards providing easy access to large arrays stored off-heap. There are several reasons for this — ease of interop with non-Java libraries (including machine learning and other number-heavy applications) is one important one. However, there are also questions about how useful large, on-heap arrays would even be. Huge, multi-gig arrays would have significant copy costs when moving in and out of the Java heap and could potentially cause serious headaches for the JVM’s garbage collector. For these reasons, large arrays are mainly thought of in the context of off-heap support, and the concept has been incorporated into features under active development within Project Panama. Verdict: ON THE WAY (as part of Project Panama) More expressive import syntax No serious attempts have been made to expand the scope of import syntax or to introduce type aliasing, even at the local (or file-scoped) level. Verdict: NOT BEING CONSIDERED Collection literals Static methods on interfaces were added in Java 9, and the collections were updated to include factory methods for collections. These play the role of collection literals in Java: var ls = List.of(1,2,3); As the factories are playing the role of literals, this change also introduced new implementations of the collection interfaces. These implementations are immutable, because to reuse the existing mutable collections (such as ArrayList) would have violated the programmer expectation that these values should behave as if they were literals. More intrusive solutions, such as directly introducing new literals into the language syntax, were not pursued. Verdict: DELIVERED (as factory methods) Algebraic data types Algebraic data types in Java are in the process of delivery. The feature consists of two major additions to the type system: records and sealed types as well as pattern matching, a substantial new piece of syntax. Java 14 delivers a preview version of two of these aspects — specifically, records, which in Java are essentially named tuples, and the initial components of pattern matching. The new features that make up the introductory pieces of pattern matching are the first form of pattern in Java: the instanceof pattern and a standardized version of switch expressions. The second of these is the scaffolding that will ultimately enable the introduction of general pattern matching, in a similar way to the match expressions with which Scala programmers may be familiar. There are still many more steps to take before this feature is fully delivered — records and patterns are still only in preview. Further JEPs, including JEP 375, which extends the instanceof pattern to allow deconstruction of records, are required to flesh out pattern matching as a whole. As of the arrival of Java 14, key JEPs — including both JEP 375 and JEP 360, which introduces sealed types — are not targeted for any specific Java version. Despite this lack of a concrete roadmap, it is likely that the entirety of the algebraic data types and pattern-matching mechanism could be delivered in standardized form in time for the next LTS release, which is Java 17 in September 2021. Verdict: ON THE WAY (as part of Project Amber) Structural typing Java’s type system has evolved somewhat since Java 8, but in practice there has been no significant move towards general structural typing. For example, when records were being designed, structural typing was explicitly rejected in favor of making records nominal types. This enforces the idea that the name that we give to a type has power and importance, that Java records are defined by more than just the number and types of their components. One minor place where something that resembles structural typing continues to be vaguely visible in Java is in Java’s non-denotable types. These are really just an extension of the example originally discussed in the 2015 piece. In that example, we construct something that looks like a structural type (Object + ) but can only use it within a single expression because there’s no denotable type that we can use as the type of a variable to assign the value to. Since Java 10, the language has had an extended form of type inference that uses var to reduce boilerplate in assignments. We are able to use this capability to extend the scope in which we may call additional methods defined on a type in this way. However, this is limited to the method in which the type inference occurs. The special type that var infers cannot be propogated across method boundaries precisely because it is non-denotable. In reality, these special cases are not true structural typing, and there is no intention of introducing it. The gravitational pull of Java’s design attraction to names and nominal typing is just too strong. Verdict: CONSIDERED BUT REJECTED Dynamic call sites The last five years have seen a large expansion in the use of invokedynamic, although only within the JDK and a small number of technically sophisticated external libraries. It is still the case that "the Java language does not have a keyword or other construct to create general-purpose invokedynamic call sites" just as the original article stated. The suggestion that the Dynalink library could be expanded to take up this role never came to pass, and, in fact, the Nashorn Javascript implementation that produced Dynalink is now itself considered deprecated and could be omitted from Java 15 (although Dynalink itself will remain). Those libraries that do make use of dynamic call sites do so via the MethodHandles API that, while slightly easier to use in 2020, is still out of reach of most Java programmers. The difficulty of finding a balance between flexible dynamic invocation that does not cause too many runtime problems and compelling language-level usage has proved to be too great, at least for the time being. Verdict: NOT BEING CONSIDERED What Did I Miss? The last 5 years have also seen the emergence of a number of projects and trends that I did not predict or address in the original article. The biggest of these are perhaps: Extent and scope of Project Valhalla Project Amber New Release Model for Java Graal and GraalVM Rise of Kotlin To pick out a couple of examples: Although Project Valhalla was started in 2014, it has gained momentum and expanded enormously over the intervening years. It has become the most ambitious and biggest change that Java has ever seen. Valhalla promises to modify every aspect of the Java platform - from the way that memory and values are represented within the VM, through the type system and generics, and up into the library level and language syntax. This project aims to align Java with the current and future state of hardware and to offer performance and other improvements that simply cannot be addressed piecemeal. Instead, Valhalla aims to move the state of the Java platform from its current position (which we can think of as a local maxima) to a place that is much better suited to be the basis of a platform for the coming decades. Original research is always hard to predict, and so it is perhaps unsurprising that the rise of Graal also caught me by surprise. The basic idea is, like many other compelling concepts, very simple once you’ve grasped it. Java’s usual JIT compiler is written in C++ code and executes on special dedicated threads within the JVM. Graal starts from a simple idea: What if, instead, the JIT compiler was written in Java and the compiler threads were actually running a second copy of the Java interpreter? The interpreted-mode JIT compiler would be as capable as the current JIT - so it could compile any class file to machine code. We should expect that it would be slower than the existing C++ compiler, but it would not differ in its behaviour, only in performance. Taking this idea to its logical conclusion, this means that the interpreted-mode JIT could compile the class files that make up the JIT itself. Once it had warmed up, it could replace itself and run at the same performance as the original, native JIT. This intruiging idea turns out to be the starting point for a major class of new technologies, including native compilation of Java (AOT) as well as a new polyglot virtual machine (GraalVM) capable of running many different languages. Conclusions The Java platform has grown in sophistication over the last five years, with many new language and VM features delivered or in flight. Assuming current trends continue, the community is likely to be most interested in the set of standardized features that will be available in Java 17 (due in September 2021). This will be a very different Java than the one that existed in 2014 when we made our original observations, and while some features have been delivered it seems clear that certain others are unlikely ever to arrive and still others have been realized in a very different form. We look forward to seeing what the next five years will bring for the Java language and platform, and especially the aspects that we are unable to predict right now.
http://damianfallon.blogspot.com/2020/04/javas-missing-features-5-years-later.html
0 notes
tak4hir0 · 5 years ago
Link
In the last few months, I have learned a lot about modern JavaScript and CSS development with a local toolchain powered by Node 8, Webpack 4, and Babel 7. As part of that, I am doing my second “re-introduction to JavaScript”. I first learned JS in 1998. Then relearned it from scratch in 2008, in the era of “The Good Parts”, Firebug, jQuery, IE6-compatibility, and eventually the then-fledgling Node ecosystem. In that era, I wrote one of the most widely deployed pieces of JavaScript on the web, and maintained a system powered by it. Now I am re-learning it in the era of ECMAScript (ES6 / ES2017), transpilation, formal support for libraries and modularization, and, mobile web performance with things like PWAs, code splitting, and WebWorkers / ServiceWorkers. I am also pleasantly surprised that JS, via the ECMAScript standard and Babel, has evolved into a pretty good programming language, all things considered. To solidify all this stuff, I am using webpack/babel to build all static assets for a simple Python/Flask web app, which ends up deployed as a multi-hundred-page static site. One weekend, I ported everything from Flask-Assets to webpack, and to play around with ES2017 features, as well as explore the Sass CSS preprocessor and some D3.js examples. And boy, did that send me down a yak shaving rabbit hole. Let’s start from the beginning! JavaScript in 1998 I first learned JavaScript in 1998. It’s hard to believe that this was 20 years — two decades! — ago. This post will chart the two decades since — covering JavaScript in 1998, 2008, and 2018. The focus of the article will be on “modern” JavaScript, as of my understanding in 2018/2019, and, in particular, what a non-JavaScript programmer should know about how the language — and its associated tooling and runtime — have dramatically evolved. If you’re the kind of programmer who thinks, “I code in Python/Java/Ruby/C/whatever, and thus I have no use for JavaScript and don’t need to know anything about it”, you’re wrong, and I’ll describe why. Incidentally, you were right in 1998, you could get by without it in 2008, and you are dead wrong in 2018. Further, if you are the kind of programmer who thinks, “JavaScript is a tire fire I’d rather avoid because it lacks basic infrastructure we take for granted in ‘real’ programming languages”, then you are also wrong. I’ll be able to show you how “not taking JavaScript seriously” is the 2018 equivalent of the skeptical 2008-era programmer not taking Python or Ruby seriously. JavaScript is a language that is not only here to stay, but has already — and will continue to — take over the world in several important areas. To be a serious programmer, you’ll have to know JavaScript’s Modern and Good Parts — as well as some other server-side language, like Python, Ruby, Go, Elixir, Clojure, Java, and so on. But, though you can swap one backend language for the other, you can’t avoid JavaScript: it’s pervasive in every kind of web deployment scenario. And, the developer tooling has fully caught up to your expectations. JavaScript during The Browser Wars Browsers were a harsh environment to target for development; not only was Internet adoption low and not only were internet connections slow, but the browser wars — mainly between Netscape and Microsoft — were creating a lot of confusion. Netscape Navigator 4 was released in 1997, and Internet Explorer 5 was released in 1998. The web was still trying to make sense of HTML and CSS; after all, CSS1 had only been released a year earlier. In this environment, the definitive web development book of the era was “JavaScript: The Definitive Guide”, which weighed in at over 500 pages. Note that, in 1998, the most widely used programming languages were C, C++, and Java, as well as Microsoft Visual Basic for Windows programmers. So expectations about “what programming was” were framed mostly around these languages. In this sense, JavaScript was quite, quite different. There was no compiler. There was no debugger (at least, not very good ones). There was no way to “run a JavaScript program”, except to write scripts in your browser, and see if they ran. Development tools for JavaScript were still primitive or inexistent. There was certainly not much of an open source community around JS; to figure out how to do things, you would typically “view source” on other people’s websites. Plus, much of the discussion in the programming community of web developers was how JavaScript represented a compatibility and security nightmare. Not only differing implementations across browsers, but also many ways for you to compromise the security of your web application by relying upon JavaScript too directly. A common security bug in that era was to validate forms with JavaScript, but still allow invalid (and insecure) values to be passed to the server. Or, to password-protect a system, but in a way that inspection of JavaScript code could itself crack access to that system. Combined with the lack of a proper development environment, the “real web programmers” used JavaScript as nothing more than a last resort — a way to inject a little bit of client-side code and logic into pages where doing it server-side made no sense. I remember one of the most common use cases for JavaScript at the time was nothing more than changing an image upon hover, as a stylistic effect, or implementing a basic on-hover menu on a complex multi-tab form. These days, these tasks can be achieved with vanilla CSS, but, at the time, JavaScript DOM manipulation was your only option. JavaScript in 2008 Fast forward 10 years. In 2008, Douglas Crockford released the book, “JavaScript: The Good Parts”. By using a language subsetting approach, Crockford pointed out that, not only was JavaScript not a bad language, it was actually a good language, well-designed, with certain key features that made it stand out vs competitors. Around this time, several JavaScript libraries were becoming popular, notably jQuery, Prototype, YUI, and Dojo. These libraries attempted to provide JavaScript with something it was missing: a cross-browser compatibility layer and programming model for doing dynamic manipulation of pages inside the browser, and especially for a new model of JavaScript programming that was emerging, with the moniker AJAX. This was the beginning of the trend of rich internet applications, “dynamic” web apps, single-page applications, and the like. JavaScript’s Tooling Leaps The developer tooling for JavaScript also took some important leaps. In 2006, the Firefox team released Firebug, a JavaScript and DOM debugger for Firefox, which was then one of the world’s most popular web browsers, and open source. Two years later, Google would make the first release of Google Chrome, which bundled some developer tooling. Around the same time that Chrome was released, Google also released V8, the JavaScript engine that was embedded inside of Chrome. That marked the first time that the world had seen a full-fledged, performant open source implementation of the JavaScript language that was not completely tied to a browser. Firefox’s JS engine, SpiderMonkey, was part of its source tree, but was not necessarily marketed to be modularized and used outside the context of the Firefox browser. I remember that aside from Crockford’s work on identifying the good parts of JavaScript, and aside from the new (and better) developer tooling, a specific essay on Mozilla’s website helped me re-appreciate the language, and throw away my 1998 conception. That article was called “A Reintroduction to JavaScript”. It showed how JavaScript was actually a real programming language, once you got past the tooling bumps. A little under-powered in its standard library, thus you had to rely upon frameworks (like jQuery) to give you some tools, and little micro-libraries beyond that. A year after reading that essay, I wrote my own about JavaScript, which was called “Real, Functional Programs with JavaScript” (archived PDF here). It described how JavaScript was, quite surprisingly, more of a functional language than Java 8 or Python 2.7. And that with a little focus on understanding the functional core, really good programs could be written. I recently converted this essay into a set of instructional slides with the name, “Lambda JavaScript” (archived notes here), which I now use to teach new designers/developers the language from first principles. But, let’s return to history. Only a year after the release of Chrome, in 2009, we saw the first release of NodeJS, which took the V8 JavaScript engine and embedded it into a server-side environment, which could be used to experiment with JavaScript on a REPL, to write scripts, and even to write HTTP servers on a performant event loop. People began to experiment with command-line tools written in JavaScript, and with web frameworks written in JavaScript. It was at this point that the pace of development in the JavaScript community accelerated. In 2010, npm — the Node Package Manager — was released, and it and its package registry quickly grew to represent the full JavaScript open source community. Over the next few years, the browser vendors of Mozilla, Google, Apple, and Microsoft engaged in the “JavaScript Engine Wars”, with each developing SpiderMonkey, V8, Nitro, and Chakra to new heights. Meanwhile, NodeJS and V8 became the “standard” JS engine running on developer’s machines from the command line. Though developers still had to target old “ECMAScript 3” browsers (such as IE6), and thus had to write restrained JavaScript code, the “evergreen” (auto-updating) browsers from Mozilla, Google, and Apple gained support for ECMAScript 5 and beyond, and mobile web browsing went into ascendancy, thus making Chrome and Safari dominant in market share especially on smartphones. I remember in 2012, I gave a presentation at a local tech conference entitled, “Writing Real Programs… with JavaScript!?”. The “!?” punctuation was intentional. That was the general zeitgeist I remember in a room full of developers: that is, “is writing real programs with JavaScript… actually possible!?” It’s funny to review those slides as a historical relic. I spent the first half of the talk convincing the audience that JavaScript’s functional core was actually pretty good. And then I spent the second half convincing them that NodeJS might… it just might… create a developer tooling ecosystem and standard library for JavaScript. There are also a few funny “detour” slides in there around things like Comet vs Ajax, a debate that didn’t really amount to much (but it’s good to remind one of fashion trends in tech). Zooming ahead a few years, in all of this noise of web 2.0, cloud, and mobile, we finally reached “mobilegeddon” in 2015, where mobile traffic surpassed desktop traffic, and we also saw several desktop operating systems move to a mostly-evergreen model, such as Windows 10, Mac OS X, and ChromeOS. As a result, as early as 2015 — but certainly by 2018 — JavaScript became the most widely deployed and performant programming language with “built-in support” on almost every desktop and mobile computer in the world. In other words, if you wanted your code to be “write once, run everywhere” in 2015 or so (but even as far back as 2009), your best option was JavaScript. Well, that’s even more true today. The solid choice for widespread distribution of your code continues to be JavaScript. As Crockford predicted in 2008: “It is better to be lucky than smart.” JavaScript in 2018-2019 In 2018-2019, several things have changed about the JavaScript community. Development tools are no longer fledgling, but are, instead, mature. There are built-in development tools in all of Safari, Firefox, and Chrome browsers (and the Firebug project is mostly deprecated). There are also ways to debug mobile web browsers using mobile development tools. NodeJS and npm are mature projects that are shared infrastructure for the whole JavaScript community. What’s more, JavaScript, as a language, has evolved. It’s no longer just the kernel language we knew in 1998, nor the “good parts” we knew in 2008, but instead the “modern parts” of JavaScript include several new language features that go by the name “ES6” (ECMAScript v6) or “ES2017” (ECMAScript 2017 Edition), and beyond. Some concepts in HTML have evolved, such as HTML5 video and audio elements. CSS, too, has evolved, with the CSS2 and CSS3 specifications being ratified and widely adopted. JSON has all but entirely replaced XML as an interchange format and is, of course, JavaScript-based. The V8 engine has also gotten a ton of performance-oriented development. It is now a JIT compiled language with speedy startup times and speedy near-native performance for CPU-bound blocks. Modern web performance techniques are almost entirely based on a speedy JavaScript engine and the ability to script different elements of a web application’s loading approach. The language itself has become comfortable with something akin to “compiler” and “command line” toolchains you might find in Python, Ruby, C, and Java communities. In lieu of a JavaScript “compiler”, we have node, JavaScript unit testing frameworks like Mocha/Jest, as well as eslint and babel for syntax checking. (More on this later.) In lieu of a “debugger”, we have the devtools built into our favorite browser, like Chrome or Firefox. This includes rich debuggers, REPLs/consoles, and visual inspection tools. Scriptable remote connections to a node environment or a browser process (via new tools like Puppeteer) further close the development loop. To use JavaScript in 2018/2019, therefore, is to adopt a system that has achieved 2008-era maturity that you would see in programming ecosystems like Python, Ruby, and Java. But, in many ways, JavaScript has surpassed those communities. For example, where Python 3’s reference implementation, CPython, is certainly fast as far as dynamic languages go, JavaScript’s reference implementation, V8, is optimized by JIT and hotspot optimization techniques that are only found in much more mature programming communities, such as Java’s (which received millions of dollars of commercial support in applied/advanced compiler techniques in the Sun era). That means that unmodified, hotspot JavaScript code can be optimized into native code automatically by the Node runtime and by browsers such as Chrome. Whereas Java and C users may still have debates about where, exactly, open source projects should publish their releases, that issue is settled in the JavaScript community: it’s npm, which operates similarly to PyPI and pip in the Python community. Some essential developer tooling issues were only recently settled. For example, because modern JavaScript (such as code written using ES2017 features) needs to target older browsers, a “transpilation” toolchain is necessary, to compile ES2017 code into ES3 or ES5 JavaScript code, suitable for older browsers. Because “old JavaScript” is a Turing complete, functional programming language, we know we can translate almost any new “syntactic sugar” to the old language, and, indeed, the designers of the new language features are being careful to only introduce syntax that can be safely transpiled. What this means, however, is that to do JavaScript development “The Modern Way”, while adopting its new features, you simply must use a local transpiler toolchain. The community standard for this at the moment is known as babel, and it’s likely to remain the community standard well into the future. Another issue that plagued 2008-era JavaScript was build tooling and modularization. In the 2008-2012 era, ad-hoc tools like make were used to concatenate JavaScript modules together, and often Java-based tools such as Google’s Closure Compiler or UglifyJS were used to assemble JavaScript projects into modules that could be included onto pages. In 2012, the Grunt tool was released as a JavaScript build tool, written atop NodeJS, runnable from the command-line, and configurable using a JavaScript “Gruntfile”. A whole slew of build tools similar to this were released in the period, creating a whole lot of code churn and confusion. Thankfully, today, Single Page Application frameworks like React have largely solved this problem, with the ascendancy of webpack and the reliance on npm run-script. Today, the webpack community has come up with a sane approach to JavaScript modularization that relies upon the modern JS support for modules, and then development-time tooling, provided mainly through the webpack CLI tool, allow for local development and production builds. This can all be scripted and wired together with simple npm run-script commands. And since webpack can be itself installed by npm, this keeps the entire development stack self-contained in a way that doesn’t feel too dissimilar from what you might enjoy with lein in Clojure or python/pip in Python. Yes, it has taken 20 years, but JavaScript is now just as viable a choice for your backend and CLI tooling projects as Python was in the past. And, for web frontends, it’s your only choice. So, if you are a programmer who cares, at all, about distribution of your code to users, it’s time to care about JavaScript! In a future post, I plan to go even deeper on JavaScript, covering: How to structure your first “modern” JavaScript project Using Modern JS with Python’s Flask web framework for simple static sites Understanding webpack, and why it’s important Modules, modules, modules. Why JS modules matter. Understanding babel, and why it’s important Transpilation, and how to think about evolving JS/ES features and “compilation” Using eslint for bonus points Using sourcemaps for debugging Using console.assert and console for debugging Production minification with uglify Building automated tests with jest Understanding the value of Chrome scripting and puppeteer Want me to keep going? Let me know via @amontalenti on Twitter.
0 notes
ciathyzareposts · 6 years ago
Text
The Last Works Before the Renaissance
By 1993, textual interactive fiction was reaching the fag end of the unsettled, uncertain half-decade-and-change between the shuttering of Infocom and the rise of a new Internet-centered community of amateur enthusiasts. Efforts by such collectives as Adventions and High Energy Software to sell text adventures via the shareware model had largely proved unfruitful, while, with the World Wide Web still in its infancy, advertisement and distribution were major problems even for someone willing to release her games for free. The ethos of text and parsers seemed about as divorced as anything could possibly be from the predominant ethos in game development more generally, with its focus on multimedia, full-motion video, and ultra-accessible mouse-driven interfaces. Would text adventures soon be no more than obscure relics of a more primitive past? To an increasing number even of the form’s most stalwart fans, an answer in the affirmative was starting to feel like a foregone conclusion. Few text-adventure authors had serious ambitions of matching the technical or literary quality of Infocom during this period, much less of exceeding it; the issue for the medium right now was one of simple survival. In this atmosphere, the arrival of any new text adventure felt like a victory against the implacable forces of technological change, which had conspired to all but strangle this new literary form before it had even had time to get going properly.
Thankfully, history would later mark 1993 as the year when the seeds of an interactive-fiction rebirth were planted, thanks to an Englishman who repurposed not only the Infocom aesthetic but also Infocom’s own technology in unexpected ways. Those seeds would flower richly in 1995, Year Zero of the Interactive Fiction Renaissance. I’ll begin that story soon.
Today, though, I’d like to tell you about some of the more interesting games to emerge from the final days of the interstitial period — games which actually overlap, although no one could realize it at the time, with the dawning of the modern interactive-fiction community. Indeed, the games I describe below manage to presage some of the themes of that community despite being the products of a text-adventuring culture that still spent more time looking backward than looking forward. I’m fond of all of them in one way or another, and I’m willing to describe at least one of them as a sadly overlooked classic.
The Horror of Rylvania
The hiking trip across Europe has been a wonderful experience for two recent college graduates like yourself and your friend Carolyn. From the mansions of England to the beaches of Greece, you’ve walked in the footsteps of the Crusaders and seen sights that few Americans have ever seen.
Carolyn had wanted to skip the Central European nation of Rylvania. “Why bother?” she’d said. “There’s nothing but farmers there, and creepy old castles - nothing we haven’t seen already. The Rylvanians are still living in the last century.”
That, you’d insisted, was exactly why Rylvania was a must-see. The country was an intact piece of living history, a real treasure in this modern age. If only you hadn’t insisted! As night fell, as you approached a small farming village in search of a quaint inn to spend the night, the howling began. A scant hundred yards from the village, and it happened...the wolves appeared from the black forest around you and attacked. Big, black wolves that leaped for Carolyn’s throat before you could shout a warning, led by a great gray-black animal that easily stood four feet at the shoulder. Carolyn fell to the rocky path, blood gushing from her neck as the wolves faded back into the trees, unwilling, for some unknown reason, to press their attack.
If she dies, it will be your fault. You curse the darkening sky as you cradle Carolyn’s head, knowing that you have little time to find help. Perhaps in the village up the road to the north.
The Horror of Rylvania marks the last shareware release from Adventions, a partnership between the MIT graduate students Dave Baggett and D.A. Leary which was the most sustained of all efforts to make a real business out of selling interactive fiction during the interstitial period. Doubtless for this reason, the Adventions games are among the most polished of all the text adventures made during this time. They were programmed using the sophisticated TADS development system rather than the more ramshackle AGT, with all the benefits that accrued to such a choice. And, just as importantly, they were thoroughly gone over for bugs as well as spelling and grammar problems, and are free of the gawky authorial asides and fourth-wall-breakings that were once par for the course in amateur interactive fiction.
For all that, though, the Adventions games haven’t aged all that well in my eyes. The bulk of them take place in a fantasy land known as Unnkulia, which is trying so hard to ape Zork‘s Great Underground Empire that it’s almost painful to watch. In addition to being derivative, the Unnkulia games think they’re far more clever and hilarious than they actually are — the very name of the series/world is a fine case in point — while the overly fiddly gameplay can sometimes grate almost as much as the writing.
It thus made for a welcome change when Adventions, after making three and a half Unnkulia games, finally decided to try something else. Written by D.A. Leary, The Horror of Rylvania is more plot-driven than Adventions’s earlier games, a Gothic vampire tale in which you actually become a vampire not many turns in. It’s gone down in certain circles as a minor classic, for reasons that aren’t totally unfounded. Although the game has a few more potential walking-dead scenarios than is perhaps ideal, the puzzles are otherwise well-constructed, the implementation is fairly robust, and, best of all, most of the sophomoric attempts at humor that so marked Adventions’s previous games are blessedly absent.
That said, the end result still strikes me more as a work of craftsmanship than genius. The writing has been gone over for spelling and grammar without addressing some of its more deep-rooted problems, as shown even by the brief introduction above; really, now, have “few Americans ever seen” sights advertised in every bog-standard package tour of Europe? (Something tells me Leary hadn’t traveled much at the time he wrote this game.) The writing here has some of the same problems with tone as another Gothic horror game from 1993 set in an ersatz Romania: Quest for Glory IV. It wants to play the horror straight most of the time, and is sometimes quite effective at it — the scene of your transformation from man to vampire is particularly well-done — but just as often fails to resist the centrifugal pull which comedy has on the adventure-game genre.
Still, Horror of Rylvania is the Adventions game which plays best today, and it isn’t a bad choice for anyone looking for a medium-sized old-school romp with reasonably fair puzzles. Its theme adds to its interest; horror in interactive fiction tends to hew more to either H.P. Lovecraft or zombie movies than the Gothic archetypes which Horror of Rylvania intermittently manages to nail. Another extra dimension of interest is added by the ending, which comes down to a binary choice between curing your friend Carolyn from the curse of vampirism, which entails sacrificing yourself in the process, or curing yourself and letting Carolyn sod off. As we’ll shortly see, the next and last Adventions game perhaps clarifies some of the reasons for such a moral choice’s inclusion at the end of a game whose literary ambitions otherwise don’t seem to extend much beyond being a bit of creepy fun.
The Jeweled Arena
You let out a sigh of relief as you finish the last paper. “That’s the lot.”
“Good work, ma’am,” says Regalo, your squire. “I was almost afraid we’d be here until midnight.”
“Don’t worry, Regalo, I wouldn’t do a thing like that, especially on my first healthy day after the flu. In any case, Dora wants me home by eight. The papers look dry, so you can take them to Clara’s office.”
As Regalo carries the papers to the adjoining office, you stand up and stretch your aching muscles. You then look through the window and see a flash of lightning outside. It looks like quite a storm is brewing. “I’m beginning to think my calendar is set wrong,” you say as Regalo returns. “Dibre’s supposed to be cool, dry, and full of good cheer; so far, we’ve had summer heat, constant rain, and far too many death certificates. Perhaps this storm will blow out the heat.” “I hope it blows out the plague with it, ma’am. I’ve lost three friends already, and my wife just picked it up yesterday. No one likes it when the coroner’s staff is overworked.”
“It doesn’t help that Clara and Resa are both still sick. If we’re lucky, we’ll have Resa back tomorrow, which I’m sure your feet would appreciate. I presume Ernando and Miranda have already left for the day?” “Yes ma’am.”
“Now I’m really worried. The only thing worse than being the victim of one of Miranda’s pranks is going a day without one of her pranks -– it usually means you missed something. Perhaps she decided to be discrete [sic] for a change.”
“I didn’t get the impression her sense of humor was taking the day off, but I don’t know what she did. It can wait until tomorrow. Is there anything else you need me to do before I leave?”
Written by David S. Raley, The Jeweled Arena was the co-winner of what would turn out to be the last of the annual competitions organized by AGT’s steward, David M. Malmberg, before he released the programming language as freeware and stepped away from further involvement with the interactive-fiction community. Set in a fantasy world, but a thankfully non-Zorkian and non-Tolkienesque one, it’s both an impressive piece of world-building and a game of unusual narrative ambition for its time.
In fact, the world of Valdalan seems like it must have existed in the author’s head for a long time before this game was written. The environment around you has the feeling of being rooted in far more lore and history than is explicitly foregrounded in the text, always the mark of first-class world-building. As far as I can tell from the text, Valdalan is roughly 17th-century in terms of its science and technology, but is considerably more enlightened philosophically. Interestingly, magic seems to have no place here, making it almost more of an alternative reality than a conventional fantasy milieu.
The story takes place in the city of Kumeran as it’s in the throes of a plague — a threat which is, like so much else in this game, handled with more subtlety than you might expect. The plot plays out in four chapters, during each of which you play the role of a different character. The first chapter is worthy of becoming a footnote in interactive-fiction history at the very least, in that it casts you as one half of a lesbian couple. In later years, certain strands of interactive fiction — albeit more of the hypertext than the parser-driven type — would become a hotbed of advocacy for non- hetero-normative lifestyles. The Jeweled Arena has perhaps aged better in this respect than many of those works have (or will); it presents its lesbian protagonist in a refreshingly matter-of-fact way, neither turning her into an easy villain or victim, as an earlier game might have done, nor celebrating her as a rainbow-flag-waving heroine, as a later game might have done. She’s just a person; the game takes it as a given that she’s worthy of exactly the same level of respect as any of the rest of us. In 1993, this matter-of-fact attitude toward homosexuality was still fairly unusual. Raley deserves praise for it.
Unfortunately, The Jeweled Arena succeeds better as a place and a story than it does as a game, enough so that one is tempted to ask why Raley elected to present it in the form of a text adventure at all. He struggles to come up with things for you to really do as you wander the city. This tends to be a problem with a lot of interactive fiction where the puzzles aren’t the author’s primary focus; A Mind Forever Voyaging struggles to some extent with the same issue when it sends you wandering through its own virtual city. But The Jeweled Arena, which doesn’t have a mechanic like A Mind Forever Voyaging‘s commandment to observe and record to ease its way, comes off by far the worse of the two. Most of the tasks it sets before you are made difficult not out of  authorial intention but due to poor authorial prompting and the inherent limitations of AGT. In other words, first you have to figure out what non-obvious trigger the game is looking for to advance the plot a beat, and then you have to figure out the exact way the parser wants you to say it. This constant necessity to read the author’s mind winds up spoiling what could have been an enjoyable experience, and makes The Jeweled Arena a game that can truly be recommended only to those with an abiding interest in text-adventure history or the portrayal of homosexuality in interactive media. A pity — with more testing and better technology, it could have been a remarkable achievement.
Klaustrophobia
You are standing at the top of an ocean bluff. Wind is whipping through your hair and blowing your voluminous black cape out behind you. You can hear the hiss of the surf crashing far below you. Out towards the horizon, a distant storm sends flickers of lightning across the darkening sky. The last rays of the setting sun reflect red off the windows of the grey stone mansion to the East. As you turn towards the house, you catch a glimpse of a haunting face in one of the windows. That face, you will never forget that face......
> wait The surf and cliffs fade from sight............ You awake to find yourself in your living room,lying on the couch. Your cat, Klaus, is chewing and pulling on your hair. Static is hissing from the TV, as the screen flickers on a station long off the air. You look at your watch and realize that it is 3 AM. You must have fallen asleep on the couch right after you got home from work, and settled down to read the newspaper.
I noted earlier that the Adventions games are “free of the gawky authorial asides and fourth-wall-breakings” that mark most early amateur interactive fiction. That statement applies equally to The Jeweled Arena, but not at all to Carol Hovick’s Klaustrophobia. The other winner of the final AGT competition, its personality could hardly be more different from its partner on the podium. This is a big, rambling, jokey game that’s anything but polished. And yet it’s got an unpretentious charm about it, along with puzzles that turn out to be better than they first seem like they’re going to be.
What Klaustrophobia lacks in polish or literary sophistication, it attempts to make up for in sheer sprawl. It’s actually three games in one — so big that, even using the most advanced and least size-constrained version of AGT, Hovick was forced to split it into three parts, gluing them together with some ingenious hacks that are doubtless horrifying in that indelible AGT way to any experienced programmer. The three parts together boast a staggering 560 rooms and 571 objects, making Klaustrophobia easily one of the largest text adventures ever created.
Like the Unnkulia series and so much else from the interstitial period, Klaustrophobia is hugely derivative of the games of the 1980s. The story and puzzles here draw heavily from Infocom’s Bureaucracy, which is at least a more interesting choice than yet another Zork homage. You’ve just won an all-expenses-paid trip to appear on a quiz show, but first you have to get there; this exercise comes to absorb the first third of the game. Then, after you’ve made the rounds of not one but several quiz shows in the second part, part three sends you off to “enjoy” the Mexican vacation you’ve won. As a member of that category of text adventure which the Interactive Fiction Database dubs the “slice of life,” the game has that time-capsule quality I’ve mentioned before as being such a fascinating aspect of amateur interactive fiction. Klaustrophobia is a grab bag of pop-culture ephemera from the United States of 1993: Willard Scott, Dolly Parton, The Price is Right. If you lived through this time and place, you might just find it all unbearably nostalgic. (Why do earlier eras of history almost invariably seem so much happier and simpler?) And if you didn’t… well, there are worse ways to learn about everyday American life in 1993, should you have the desire to do so, than playing through this unforced, agenda-less primary source.
The puzzles are difficult in all the typical old-school ways: full of time limits, requiring ample learning by death. Almost inevitably given the game’s premise, they sometimes fail to fall on the right side of the line between being comically aggravating and just being aggravating. And the game is rough around the edges in all the typical AGT ways: under-tested (a game this large almost has to be) and haphazardly written, and subject to all the usual frustrations of the AGT parser and world model. Yet, despite it all, the author’s design instincts are pretty good; most of the puzzles are clued if you’re paying attention. Many of them involve coming to understand and manipulate some surprisingly complex dynamic sequences taking place around you. The whole experience is helped immensely by the episodic structure which exists even within each of the three parts: you go from your home to the bank to the airport, etc., with each vignette effectively serving as its own little self-contained adventure game. This structure lets Klaustrophobia avoid the combinatorial explosion that can make such earlier text-adventure epics as Acheton and Zork Zero all but insoluble. Here, you can work out a single episode, then move on to the next at your leisure with a nice sense of achievement in your back pocket — as long, of course, as you haven’t left anything vital behind.
Klaustrophobia is a game that I regard with perhaps more affection that I ought to, given its many and manifest flaws. While much of my affection may be down to the fact that it was one of the first games I played when I rediscovered interactive fiction around the turn of the millennium, I like to believe this game has more going for it than nostalgia. It undoubtedly requires a certain kind of player, but, whether taken simply as a text adventure or as an odd sort of sociological study — a frozen-in-amber relic of its time and place — it’s not without its intrinsic appeal. Further, it strikes me as perfect for its historical role as the final major statement made with AGT; something more atypically polished and literary, such as Shades of Gray or even Cosmoserve, just wouldn’t work as well in that context. Klaustrophobia‘s more messy sort of charm, on the other hand, feels like the perfect capstone to this forgotten culture of text adventuring, whose games were more casual but perhaps in some ways more honest because of it.
The Legend Lives! A pattern of bits shifts inside your computer. New information scrolls up the screen. It is not good.
As the impact of the discovery settles on your psyche, you recall the preceding events: your recent enrollment at Akmi Yooniversity; your serendipitous discovery of the joys of Classical Literature – a nice change of pace from computer hacking; your compuarchaeological discovery of the long-forgotten treasures that will make your thesis one of the most important this decade. But now that’s all a bit moot, isn’t it?
How ironic: You were stunned at how *real* the primitive Unnkulian stories seemed. Now you know why.
David Baggett’s The Legend Lives! is the only game on this curated list that dates from 1994, the particularly fallow year just before the great flowering of 1995. The very last production of the Adventions partnership, it was originally planned as another shareware title, but was ultimately released for free, a response to the relatively tepid registration rate of Advention’s previous games. Having conceived it as nothing less than a Major Statement meant to prod the artistic growth of a nascent literary medium, Baggett stated that he wished absolutely everyone to have a chance to play his latest game.
Ironically, the slightly uncomfortable amalgamation that is The Legend Lives! feels every bit as of-its-time today as any of the less artistically ambitious text adventures I’ve already discussed in this article. Set in the far future of Adventions’s Unnkulia universe, it reads like a checklist of what “literary” interactive fiction circa 1994 might be imagined to require.
There must, first and foremost, be lots and lots of words for something to be literary, right? Baggett has this covered… oh, boy, does he ever. The first room description, for the humble dorm room of the university student you play, consists of six substantial paragraphs — two or three screenfuls of text on the typical 80-column monitor displays of the day. As you continue to play, every object mentioned anywhere, no matter how trivial, continues to be described to within an inch of its life. While Baggett’s dedication is admirable, these endless heaps of verbiage do more to confuse than edify, especially in light of the fact that this game is, despite its literary aspirations, far from puzzleless. There’s a deft art to directing the player’s attention to the things that really matter in a text adventure — an art which this game comprehensively fails to exhibit. And then there are the massive non-interactive text dumps, sometimes numbering in the thousands of words, which are constantly interrupting proceedings. Sean Molley, reviewing the game in the first gush of enthusiasm which accompanied its release, wrote that “I certainly don’t mind reading 10 screens of text if it helps to advance the story and give me something to think about.” I suspect that most modern players wouldn’t entirely agree. The Legend Lives! is exhausting enough in its sheer verbosity to make you long for the odd minimalist poetry of Scott Adams. “Ok, too dry. Fish die” starts looking pretty good after spending some time with this game.
And yet, clumsy and overwrought though the execution often is, there is a real message here — one I would even go so far as to describe as thought-provoking. The Legend Lives! proves to be an old-school cyberpunk tale — another thing dating it indelibly to 1994 — about a computer virus that has infected Unnkulia’s version of the Internet and threatens to take over the entirety of civilization. The hero that emerges and finally sacrifices himself to eliminate the scourge is known mostly by his initials: “JC.” He’s allegedly an artificial intelligence, but he’s really, it would seem, an immaculate creation, a divinity living in the net. An ordinary artificial intelligence, says one character, “is smart with no motivation, no goals; no creativity, ya see. JC, he’s like us.” What we have here, folks, is an allegory. I trust that I need not belabor the specific parallels with another famous figure who shares the same initials.
But I don’t wish to trivialize the message here too much. It’s notable that this argument for a non-reductionist view of human intelligence — for a divine spark to the human mind that can’t be simulated in silicon — was made by a graduate student in MIT’s artificial-intelligence lab, working in the very house built by Marvin Minsky and his society of mind. Whatever one’s feelings about the Christian overtones to Baggett’s message, his impassioned plea that we continue to allow a place for the ineffable has only become more relevant in our current age of algorithmization and quantization.
Like all of the Adventions games, this one has been virtually forgotten today, despite being widely heralded upon its release as the most significant work of literary interactive fiction to come along since A Mind Forever Voyaging and Trinity. That’s a shame. Yes, writers of later text adventures would learn to combine interactivity with literary texture in more subtle and effective ways, but The Legend Lives! is nevertheless a significant way station in the slow evolution of post-Infocom interactive fiction, away from merely reflecting the glory of a storied commercial past and toward becoming a living, evolving artistic movement in its own right.
Perdition’s Flames *** You have died. ***
All is dark and quiet. There is no sensation, no time. Your mind floats peacefully in a void. You perceive nothing, you feel nothing, you think nothing. Sleep without dreams.
All is hazy and gray. Sensation is vague and indistinct. Your mind is sluggish, sleepy. You see gray shapes in a gray fog; you hear distant, muffled sounds. You think, but your thoughts are fleeting, disconnected, momentary flashes of light in a dark night. Time is still frames separated by eons of nothing, brief awakenings in a long sleep.
All is clear and sharp. Sensation crystalizes from a fog. You see, you hear, you feel. Your mind awakens; you become aware of a place, and a time.
You are on a boat.
Last but far from least, we come to the real jewel of this collection, a game which I can heartily recommend to everyone who enjoys text adventures. Perdition’s Flames was the third game written by Mike Roberts, the creator of the TADS programming language. While not enormous in the way of Klaustrophobia, it’s more than substantial enough in its own right, offering quite a few hours of puzzling satisfaction.
The novel premise casts you as a soul newly arrived in Hell. (Yes, just as you might expect, there are exactly 666 points to score.) Luckily for you, however, this is a corporate, postmodern version of the Bad Place. “Ever since the deregulation of the afterlife industry,” says your greeter when you climb off the boat, “we’ve had to compete with Heaven for eternal souls — because you’re free to switch to Heaven at any time. So, we’ve been modernizing! There really isn’t much eternal torment these days, for example. And, thanks to the Environmental Clean-up Superfund, we have the brimstone problem mostly under control at this point.”
As the game continues, there’s a lot more light satire along those lines, consistently amusing if not side-splittingly funny. Your goal is to make the ascent to Heaven, which isn’t quite as easy as your greeter implies. Achieving it will require solving lots and lots of puzzles, which are varied, fair, and uniformly enjoyable. In fact, I number at least one of them among the best puzzles I’ve ever seen. (For those who have already played the game: that would be the one where you’re a ghost being pursued by a group of paranormal researchers.)
Although Perdition’s Flames is an old-school puzzlefest in terms of categorization, it’s well-nigh breathtakingly progressive in terms of its design sensibility. For this happens to be a text adventure — the first text adventure ever, to my knowledge — which makes it literally impossible for you to kill yourself (after all, you are already dead) or lock yourself out of victory. It is, in other words, the Secret of Monkey Island of interactive fiction, an extended proof that adventure games without deaths or dead ends can nevertheless be intriguing, challenging, and immensely enjoyable. Roberts says it right there in black and white:
Note that in Perdition’s Flames, in contrast to many other adventure games, your character never gets killed, and equally importantly, you’ll never find yourself in a position where it’s impossible to finish the game. You have already seen the only “*** You have died ***” message in Perdition’s Flames. As a result, you don’t have to worry as much about saving game positions as you may be accustomed to.
I can’t emphasize enough what an astonishing statement that is to find in a text adventure from 1993. Perdition’s Flames and its author deserve to be celebrated for making it every bit as much as we celebrate Monkey Island and Ron Gilbert.
Yet even in its day Perdition’s Flames was oddly overlooked in proportion to its size, polish, and puzzly invention alone, much less the major leap it represents toward an era of fairer, saner text adventures. And this even as the merciful spirit behind the humble statement above, found buried near the end of the in-game instructions, was destined to have much more impact on the quality of the average player’s life than all of the literary pretensions which The Legend Lives! so gleefully trumpets.
Roberts’s game was overshadowed most of all by what would go down in history as the text adventure of 1993: Graham Nelson’s Curses!. Said game is erudite, intricate, witty, and sometimes beautifully written — and runs on Infocom’s old Z-Machine, which constituted no small part of its appeal in 1993. But it’s also positively riddled with the types of sudden deaths and dead ends which Perdition’s Flames explicitly eschews. You can probably guess which of the pair holds up better for most players today.
So, as we prepare to dive into the story of how Curses! came to be, and of how it turned into the seismic event which revitalized the near-moribund medium of interactive fiction and set it on the path it still travels today, do spare a thought for Perdition’s Flames as well. While Curses! was the the first mover that kicked the modern interactive-fiction community into gear, Perdition’s Flames, one might argue, is simply the first work of modern interactive fiction, full stop. All of its contemporaries, Curses! included, seem regressive next to its great stroke of genius. Go forth and play it, and rejoice. An Interactive Fiction Renaissance is in the offing.
(All of the games reviewed in this article are freely available via the individual links provided above and playable on Windows, Macintosh, and Linux using the Gargoyle interpreter among other options.)
source http://reposts.ciathyza.com/the-last-works-before-the-renaissance/
0 notes
parentlology-blog · 6 years ago
Text
10 Child Prodigies Who Accomplished More Than You Before They Turned 18
For about a decade now, we’ve been confronted with impossibly young entrepreneurs starting companies and becoming billionaires.
Mark Zuckerberg, for instance, was a programming prodigy in middle school and built a primitive version of something eerily similar to AOL Instant Messenger before he could legally drive a car. By the time he was 23, he was a billionaire.
If this makes you wonder where you went wrong, you’re not alone. Prodigies are wonderful, but they sure do make us regular folk feel like slackers.Unlike the Kim Kardashians of the world, child prodigies really do have something special. Whether it's composing a symphony at eight-years-old, developing a whole new language at 15, or getting through medical school before puberty, these 10 child prodigies are simply amazing.
1. Mary Shelley
Wrote Frankenstein at 18
Think of your average 17-year-old. Now, imagine that young girl pregnant. She’s more likely to end up on MTV’s Teen Mom series than she is to write a classic novel that is still read two centuries later. In the early 1800s, Mary Shelley was recently married and saddled with a newborn child when she sat down and wrote Frankenstein.
2. Louis Braille
Developed Braille at 15
Louis Braille lost his sight in an accident when he was a child. He spent his childhood in the Royal Institution for Blind Youth in Paris. It was one of the first schools for the blind in the world. Braille was determined to read again and help other blind people read. So, he consulted with the French military about a system of writing they were developing. This system allowed soldiers on the battlefield to read in darkness. Braille co-opted the method and set out to create a system specifically for the blind. It took him three years, and he finished it before he turned 15.
 3. Bobby Fischer
World Chess Champion at 14
Bobby Fischer won the World Chess Championship at the age of 14. The following year he became the youngest Grandmaster of the game. He went on to become the highest-ranked player in history. He is still considered to be the greatest chess player of all time.
 4. Pablo Picasso
Painted a masterpiece at 14
When Pablo Picasso was a child, he reportedly told his teachers he would only go to school if they let him draw whatever he wanted. At age 12 he wasn’t allowed to enter a children’s art exhibit because he drew too well. When he was 14, he had already painted the Portrait of Aunt Pepa, which is considered one of the greatest Spanish paintings of all time.
 5. Greg Smith
Nominated for Nobel Prize at 12
At 12-years-old, most of us are just trying to navigate junior high school and our hormones. Gregory Smith was nominated for his first Nobel Prize at age 12. He is now about 28 and he’s been nominated for three Nobels. He sailed through elementary school in a year. By the time he was seven he was in high school. He enrolled in college at 10 to study advanced level physics, calculus, and French.
6. Stevie Wonder
Recorded music at age 12
Stevie Wonder was born blind and grew up in poverty. Yet, nothing could keep him away from music. He learned to compose, sing, play the piano, organ, drums, and harmonica in early childhood. He began recording and performing professionally in 1962, at the age of 12. By the time he was 21 he'd written or co-written more than a dozen hit songs. He was inducted into the Rock and Roll Hall of Fame in 1989 at age 38.
 7. Elizabeth Benson
Scored Highest Ever IQ at 8
When Elizabeth Benson was eight-years-old, she scored a 214+ on her IQ test. The plus is there because after she answered every single question correctly, the test proctors gave up. When she was 13, she wrote a novel that was reviewed by Vanity Fair.
8. Wolfgang Amadeus Mozart
Wrote a symphony at 8
It only took Mozart eight years of life to write his first symphony. By 17 he was a musician in the Salzburg Court.
9. AkritJaswal
Child Surgeon at 7
AkritJaswalis the youngest college student and physician in India’s history. He was performing surgeries by the time he was seven-years-old. Today he is 25 and working on a cure for cancer.
10. Tristan Pang
Math Master at 2
It is hard to quantify Tristan Pang’s intelligence. Born in 2001, he was reading and doing high school math at the age of 2. At 9, he scored a 97% on the Cambridge International Examination in math. He gave a TEDxYouth talk, started college at the University of Auckland, and created a free online learning platform, "Tristan’s Learning Hub" by the time he was 12.
 Parentology is a website dedicated to parenting in the digital age.It helps parents stay up-to-date on the latest news, trends, and technologies that impact a family's daily life. For more info.
0 notes
sherazhussain · 6 years ago
Text
The Crucible: Dangerous and Primitive HIV Criminalization Laws Are Claiming More and More Victims: One Group Is Doing Something About It – CELIA FARBER – The Truth Barrier
By Celia Farber
“We expect this trend to continue. While the AIDS industry has convinced Americans of the alleged AIDS epidemic, prosecutors have a hard time finding anyone willing to promote their propaganda under penalty of perjury.”
CLARK BAKER, OMSJ
The 2011 Nobel laureate poet Tomas Tranströmer wrote a poem called “To Friends Behind A Frontier,” to close friends living in (then) GDR:
1
I wrote so meagerly to you. But what I couldn’t write swelled and swelled like an old-fashioned airship and drifted away at last through the night sky.
2
The letter is now at the censor’s. He lights his lamp. In the glare my words fly up like monkeys on a grille, rattle it, stop and bare their teeth.
3
Read between the lines. We’ll meet in 200 years When the microphones in the hotel walls are forgotten And can at last sleep, become trilobites.
The poem reflects the feeling of sadness of witnessing capture, in this case, Western Europeans wishing they could liberate friends in East Germany. “Read between the lines. We’ll meet in 200 years, when the microphones in the hotel walls are forgotten, and can at last sleep, become trilobites,” captures the cycle of mania, hunt, persecution, inside deranged political systems—all from nothing and for nothing. But one day, the poet assures us, the microphones will become fossils; The friends will be free again, and can “meet.”
For some reason, these stories have not gotten told. Not even by those of us who have devoted years to chronicling the horrors wrought by the never proven HIV “theory.” We got mired in the ego-driven correctomania of “the science”—while the sheer human consequences of the paradigm were overlooked, or tuned out. In utter silence, away from sound and sight, forgotten by all the world, hundreds of people in this country and around the world have been serving time for HIV “crimes” which seem culled from the 16th century, at a time before court room justice was invented.
An accusation. That’s all it takes. An angry ex lover, often, turning the tables on a former partner, claiming he or she did not disclose HIV status prior to sex.
Welcome to the world of HIV criminalization—the logical and chilling final station of barbarism in an already upside down world. This is where the psychic prison of a positive HIV test meets actual prison walls, where the brutality, madness and sheer stupidity of the HIV state is fully realized– where the violence upon the marked people is given unbridled reign.
It is a slippery slope, a perpetual Crucible, a place where the accusation seals the deal, and if you are not a witch, well, you would float. We need not have any sympathy. As POZ magazine founder Sean Strub, who is an advocate against HIV criminalization has said, “All HIV positive gay men are one disgruntled lover away from a jail sentence.”
In the United States, 37 of our states have statutes on the books which criminalize HIV transmission, and non-disclosure of HIV status. Sentences for those declared guilty easily run as high as 25 years or more. One of the Pennsylvania statutes designates a minimum sentence of life imprisonment, and in one state, Nebraska, the crime can carry the death penalty.
States which do not criminalize HIV transmission are: Arizona, Connecticut, Delaware, Hawaii, Maine, Nebraska, New Mexico, New York, Oregon, Texas, and Wyoming.
HIV criminalization laws began in earnest in 1990 when the federal Ryan White CARE act passed. This law mandated that states criminalize intentional transmission of HIV to be eligible for millions of dollars in funding for treatment and prevention programs. Some states took it a step further than federal law required, defining intentional transmission as failing to disclose positive status to a sexual partner.  The second time the act was reauthorized, in 2000, the requirement��that states must criminalize intentional transmission was removed. These quietly woven draconian laws gained foothold also around the world at this time, most popular, not surprisingly, in Northern and Western Europe.
The United States leads the world in prosecutions as well as convictions of HIV antibody positive people, accused of non-disclosure. Some 913 have been prosecuted to date. The second most enthusiastic country is Canada, where there have been 146 prosecutions and 79 convictions. Next is Austria, 55 prosecuted, 55 convicted, followed by Sweden: 50 prosecuted, 50 convicted. Germany, Australia, Norway, Denmark are all close behind.
Here is a random sampling of countries that have a “zero” attached to this—no prosecutions, no convictions: Russia, Philippines, Romania, Latvia, Chad, Mali, Armenia (along with dozens more.)
Point being: Criminalization of HIV positive people only took off in the US and Canada, and in the star-posts of European enlightened post-war democracy. Apparently, in some countries, mothers can now be criminally charged if they pass “HIV” to their babies. This Orwellian society is precisely the nightmare, I must stress, that HIV dissidents have been warning against for many years. It must be dismantled, before any human being on this planet is safe again. (Safe from this.)
You hear of HIV criminal cases only rarely in the media, when local health departments have leaked that a “monster” (male, generally, black, generally) “tried to infect,” several hundred women with “AIDS,” such as the case of Ghanaian national Henry Assumang, soon on trial in the UK.
Absorbing and refracting deep wells of racism, xenophobia, and anti-immigration sentiment, the frothy language of a typical newspaper account of an HIV case:
“An illegal immigrant may have infected hundreds of women with HIV in a string of one-night-stands, it has emerged. The infected Jamaican reveler prowled nightclubs to pick up women and then spent almost a year unchecked in hospital where he looked for sex with vulnerable patients.
“Health officials have written to more than 400 women to warn them they might have the deadly virus after having unprotected sex with him. The immigrant, who arrived in the UK on a visitor’s visa in 2002, has admitted he cannot remember how many woman he has slept with.”  —The Daily Mail, UK
Vapors, hysteria, moral panic, nothing concrete—all this contributes to the perfect storm for human rights disasters that both sides of the HIV war agree must end. [This may be the only point both sides agree on, in 27 years.]
Though it would appear that the “HIV establishment” (hundreds of pharmaceutically-funded organizations, foundations, activists and lobbyists) laid the groundwork for this nightmare scenario which has for a quarter century relentlessly been pounding away at inaccurate, distorted and wildly inflated HIV statistics and scare scenarios—they too are now trying to slam the brakes on.
Sean Strub, founder of POZ magazine, has made a deeply moving eight -minute documentary that illuminates the deep injustice and plain horror of the situation.
“HIV is not a crime” says the film in the opening sequence, summing up the core sentiment, and referring to a “viral underclass” that is created by the enactment of HIV criminalization laws.
Now, the dissenting, or “denialist” position is that all persons who have been branded as “having HIV” by the numerous testing technologies, are part of a “viral underclass” that they (the denialists) would wish to liberate. This would be done by way of a stark and, for the first time, objective scientific look at what we mean by “HIV,” which resides inside the hockey net we call the HIV test.
What does “HIV” signify?
A slew of tests that suggest presence, because the slew of tests defined its presence when they were developed. But presence of what, and more importantly, where?
In human blood? Or in the hockey net. (The tests)
If a person is found not to be carrying a lethal weapon, can they have ever been a threat to another, for brandishing said lethal weapon?
Stop for a moment, ponder with me. We speak of crimes of bodies, bodily fluids, humans being retro-fitted with lethal weaponry in their sexual fluids, and thrown in prison because they supposedly tried to kill another person with no weapon other than their body. If that is not science fiction I don’t know what is.
The plot thickens.
In 2009, a newly-minted non-profit investigation agency calling itself OMSJ – The Office of Medical and Scientific Justice – was founded by retired LAPD officer and investigator Clark Baker, who entered the fray by way of the 2008 Semmelweis Society International Whistleblower Conference. Comprised of detectives, scientists, medical doctors and attorneys, OMSJ has become a kind of Amnesty International of medical abuses, seeking redress to crimes by an industry that has paid $10 billion (since 2009) to settle thousands of claims related to the illegal marketing of products that kill or injure 2-4 million Americans annually. OMSJ founder Clark Baker always refers to the pharmaceutical industry as a “criminal enterprise.” Detested by industry-funded organizations for what it calls its “denialist” leanings, OMSJ is scoring victories in a legal realm that is just about as dark as dark gets: HIV criminalization.
Fighting not for the “rights” of HIV positive criminally accused people but for the liberation of them from the system, OMSJ has developed a simple strategy: Rather than question the softly defined rights of HIV positive people, they go after the alchemy of tests and presumptions that fuels a pandemic of misdiagnoses. In this way, they force prosecutors to prove that the person they wish to put behind bars in indeed infected with HIV.
“We’ve had scores of victories so far,” says OMSJ CEO Clark Baker. “In all, HIV-related charges were withdrawn, dismissed, or plea-bargained in 49 cases.”
More than 100 cases have crossed OMSJ’s windshield since 2009.  “In about 1/3 of those cases,” says Baker, “the attorneys find one reason or another to ignore what we offer. That narrative involves variations of a young black man who dates white girls in a town where the children of defense attorneys, prosecutors and judges attend the same ice cream socials and school proms.”
Says Baker, “Lynch mobs are a tough sell.”
In another 1/3 of cases, the defense expresses interest but, for one reason or another, convinces their clients to plead guilty to ten years or more.
In some states, prosecutors only need to prove that the defendant didn’t disclose – even when prosecutors make no effort to prove that an infection exists.
Says Baker: “Our successes were typically won by attorneys who coordinated their defense strategy with us.”
Asked to put a fine point on how exactly OMSJ sets these condemned people free, or helps to, Baker says: “We review the medical records, which is often nothing more than a health department report that alleges a positive test result. But when we dig deeper, we find that “Doctor A” received a positive HIV test result from an unreliable laboratory that he didn’t understand. ‘A’ refers the patient to “Doctor B,” who assumes that ‘A’ conducted a competent diagnosis. So like outfielders who think someone else will catch the ball, the patient is soon prescribed a deadly psychotropic drug like Atripla that will eventually sicken and kill the patient. But unlike most negligent homicides, the killer signs the death certificate.”
The makers of Atripla, Baker points out, Gilead Sciences and Bristol-Myers Squibb (BMS), currently face multistate lawsuits that allege $100,000 kickbacks to clinicians who unnecessarily prescribe their drugs to healthy patients. ProPublica has found almost a billion dollars in such kickbacks, which doesn’t include what wasn’t disclosed.
“These are facts that prosecutors, health departments and doctors don’t want aired before a jury,” says Baker:
“As you can imagine, Doctors ‘A’ and ‘B’ are reluctant to admit their incompetence, which is why the prosecution’s case collapses.  Understandably, our work threatens the credibility of the US Government, drug and healthcare industries, which is why state attorneys general are being pressured to end the prosecutions in their states.  Industry-funded activists at LAMBDA, Treatment Action Group and HIV Law & Policy are cynically using the humanitarian pretext to end prosecutions before too many taxpayers learn of the scam that specifically targets black and gay Americans.”
Baker says, “Based upon the cases we have examined since 2009, there is strong evidence that 95% of all criminal HIV convictions in the United States involve individuals who were never infected with HIV. The greater implication is that millions of allegedly HIV+ people around the world were probably never at risk of dying from HIV.”
Baker believes that he has a “unification theory” that would resolve the differences between the Duesberg position (retrovirus exists but is harmless) with the Perth position (no proof exists for existence of a retrovirus.) (Details of this will emerge over time, and not in this article.)
In an editorial for the journal Haematologica Dr. Etienne de Harven, Professor Emeritus of Pathology, and pioneer of electron microscopy at Sloan Kettering in the 1950s, wrote, on the “fundamental failure” of HIV research:
… The specificity of viral markers depends on the success of virus isolation and purification. Without fully demonstrated success in virus isolation and purification, identification of viral markers is extremely hazardous and can lead to severe misinterpretation of clinical data. A dramatic illustration of this is to be found in current HIV research. In this case, the virus (HIV) has never been properly isolated, since sedimentation in sucrose gradient at the density of 1.16 g/mL was erroneously considered to yield pure virus, systematically ignoring that material sedimenting at that density contains large amounts of cell debris and microvesicles. Therefore, proteins and nucleic acids found in such 1.16 bands are very likely to be of cellular origin and cannot be used as viral markers. Such a faulty methodology has had extremely serious consequences, i.e. the world-wide use of HIV-antibody tests, Elisa and Western Blot, which dangerously lack specificity, as demonstrated in 1993 by Papadopulos et al., in Australia.
Etienne de Harven, MD
Professor Emeritus of Pathology,
University of Toronto, Ontario, Canada
Viral etiology of human cancer: a historical perspective

Haematologica – Journal of Hematology;
1999; 84:385-389
HIV test kits have stunning disclaimers in the package inserts, stating in different ways over and over that HIV tests are not proof of infection with HIV—a case first made by a group of scientists in Perth, Australia, in a 1993 paper in BioTechnology.
Here is but one of countless examples:
Detection of antibodies to HIV-1 does not constitute a diagnosis of Acquired Immune Deficiency Syndrome (AIDS). A NEGATIVE BLOT is not a guarantee that the causative agent for AIDS is not present. Although a blot POSITIVE for antibodies to HIV-1 indicates infection with the virus, a diagnosis of AIDS can only be made clinically if a person meets the case definition of AIDS established by the Center for Disease Control (USA), the World Health Organization or other relevant authorities…
[HIV blot 2:2 Western Blot Assay, MP Diagnostics
source: Alberta Reappraising AIDS Society]
OMSJ’s team includes Dr. Rodney Richards, formerly of Amgen, who developed one of the first HIV test kits before defecting from the company altogether, in anguish over how misleading “HIV tests” really were.
Says Baker:
“Based upon the 100 plus cases we have been involved in since 2009, there is strong evidence that 95% of all criminal HIV convictions in the United States involve individuals who were never infected with HIV.”
In fact, if you press him further, in the highly esoteric but critical discussion of what exactly is wrong with the HIV test and why and how it does not demonstrate “infection,” or, for that matter, what is meant by “infection,” Baker goes further:
“There is now strong evidence that none of our clients were ever infected with HIV.”
Yes, I know. WHAT?
But let’s leave that Ostrich Egg to gestate a bit, and hatch when it is good and ready. This will take time.
Baker points out that health clinics profit from every positive HIV test they get.
“They call it the Magic Effect,” says Baker:
“When Magic Johnson retired from basketball, clinics reported that phone calls and testing skyrocketed. Health department busybodies routinely grill patients about their sex lives and partners. Then either call the partners or police about the alleged exposure. When police make an arrest, they leak the story to the media, creating the desired fear and hysteria. Sally’s on the evening news and you think, we dated last year – I should get tested. Before you know it, the health department goons are warning you that they will contact the police unless you provide the names and phone numbers of your friends and employers.”
Doctors, meanwhile, also benefit financially in a rather shocking way:
“Doctors are permitted to ignore FDA warning labels about the unreliability of HIV tests,” says Baker. “Many of these doctors accept kickbacks and trips to Tahiti from HIV drug manufacturers for unnecessarily prescribing deadly drugs to their asymptomatic patients.”
It gets worse.
Multi-million dollar AIDS organizations that purport to serve the needs of HIV positive individuals, are now actively seeking to block them from knowing about OMSJ’s legal triumphs on behalf of the HIV accused.
On the website for Positive Justice Project: Guidance for People Living With HIV Who Are Threatened With, or, are Facing Criminal Prosecution for HIV Nondisclosure or Exposure, there are 15 “things you can do as damage control,” And one of them is an open warning to avoid OMSJ.
Never naming OMSJ directly, the group warns:
AVOID PEOPLE WHO SAY THEY CAN HELP YOU BECAUSE HIV DOES NOT CAUSE AIDS:
You may be approached by people who claim they want to help you because an HIV test does not prove that you have HIV or AIDS, or because HIV is not harmful to others. AIDS “denialists” — people who do not believe that HIV is the cause of AIDS and that all AIDS treatments are toxic — frequently approach defendants in cases that have received press coverage, and may be interested in using your case to advance their cause. These people should be avoided because they likely will hurt rather than help your case.
Baker, for his part, says: “Organizations like HIV Law & Policy, Treatment Action Group and LAMBDA have never attempted to prove that their clients are not infected with HIV. The Obama administration, UNAIDS and the UN are trying to dissuade Western governments from prosecuting these cases using the pretext of human rights. It was in 2009 when we started winning these cases that they suddenly had their Come-to-Jesus moment.  I would work with any of them to free an unjustly convicted human being. But they won’t work with OMSJ. Our door is open any time they change their mind and decide to prioritize their clients freedom over their own personal ideology.”
After Yvonne Nicole Andrews left an ex-boyfriend who had repeatedly assaulted her, he turned around and falsely accused her of exposing a total of four men to HIV, none of whom she had ever met. [All four tested negative.] Soon, before she knew what was happening, Ms. Andrews found herself in a Florida prison cell facing a sixty-year sentence. Despite hospital records documenting the injuries, which included a badly sprained neck, severe concussions, and more, and despite overt statements that he planned to kill her, her ex used the laws to become make her the criminal. He was never charged.
The blond, soft-spoken mother of two had languished in county jail for several months when OMSJ contacted her attorney and prepared her defense.
Reached at home just weeks after her release, Andrews told The Truth Barrier:
“OMSJ’s attorney saw me while I was in prison, and explained everything. Then, after my attorney and I understood and we all became a team, they went to work. They were amazingly fast and effective. OMSJ broke down the prosecution in no time at all and educated them about the scientific side. These people wanted to put me away for sixty years. My kids would have had no mom. Instead I was out after nine months.”
“We had a similar case in 2011,” said Baker, “when a rapist accused his victim of HIV exposure. After questioning the victim’s doctor in a pretrial hearing, prosecutors withdrew all charges against our client who, if convicted, could have received a 30-year prison sentence and a deportation order.”
Andrews’ voice breaks when she mentions Clark Baker:
“Mr. Baker to me is heaven sent. He is my angel. I will be in debt to that man for the rest of my life. I can’t even express the feelings I felt when they came and told me. Words cannot express it.”
“I want my story to be told,” she continues,” because I want everybody to know the truth. I had no idea you could destroy somebody’s life just like that, just accusations, no proof, just hearsay. No idea. I was in prison with a girl who was part of a drug deal gone bad… she ran over a man and crushed his skull. She was in for murder. Her maximum was 15 years. My maximum was 60 years.”
She draws a deep sigh.
“Yes, m’aam.”
She continues:
“I sat down to write Mr. Baker a thank you letter, but after a week of mulling it over, I still could not find the words. The team at OMSJ, those people are working for a higher power. For all the people who are innocent and don’t deserve any of this, but nobody hears them. Nobody wants to hear it. One day it will all come out. The truth will come out.”
Ms. Andrews tells me she is delighted and grateful to God to have gotten home for Thanksgiving, and looks forward to spending Christmas with her family. But life is no Hollywood ending for these people. They have uniformly been exposed in local media, both as HIV positive and as criminals. It doesn’t go away when the charges are dropped. Their collapsed lives don’t miraculously reform.  They are classified felons and can’t work. “I can’t even get a job in a local store,” says Andrews. “But I have faith in God. I know he has his hands on me. I want to help others.”
Ms. Andrews has never taken HIV medication, nor had any symptoms of any kind. During her 9 1/2 months in jail, she spent most of her time studying the Bible. “I’ll be honest with you, when I was in jail I felt safe,” she says. Her ex had (and these are just some of the incidents:) thrown her off a porch, body-slammed her, pounded her head to the point of spraining her neck and giving her a severe concussion, threatened to kill her, stalked her, and more. “Now I am out. He knows I’m out. My family and I want to leave this area. I pray morning, noon and night.”
Take off HIV/AIDS goggles and put on domestic abuse and misogyny goggles, in order to keep seeing, and keep hearing. Her ex was found to be taking anti-HIV medications, which was discovered once when he was pulled over, and the medicine was in his car. He used to tell Andrews: “I’m sorry you’ll never be with another man.”
“He was just so insecure and controlling. He beat me physically, abused me mentally and verbally. This man has done everything he could to destroy me. In his mind, it was either death or prison.”
Andrews ex had a special trick: Mid beatings, he would call 911, and accuse her of domestic abuse. He is 6 ft 4 inches, 280 lbs, and works in construction. On one occasion, he had another girlfriend jump on Andrews and assault her, while he made the 911 call, and commented: “Don’t worry about it. She’s going to prison.”
“I will keep going strong,” says Andrews. “I am not going to give up. I want everybody to know the truth. My heart is just filled with joy. I am so ready to do this. When you’re in a situation like this, you feel like you’re the only person this has ever happened to. But there are so many. And they all need help. I was incarcerated, and as of now, I am a convicted felon. But Clark Baker is working with me to find new life after this. I have to start my life over. I have the utmost respect for that man and his organization. I would do anything in the world for him.”
“I thought this was something I would never talk to anybody about. But I am relieved it’s being written and being put out there. Because I am finding out that it’s not just me, there are other people in this situation. And they deserve to be heard. A lot of people don’t know who to turn to, for help. I was shunned by everybody. When they told me I was HIV positive–when they tell you that, a part of you just dies. It’s just gone.”
Andrews was told she was positive in 2008.
She continues:
“But now I have gotten educated and I think they are inaccurate in their testing. I have never had symptoms, and never taken medication. They tried, but I didn’t take it because I wasn’t sick. I’m as healthy as a horse.”
I asked her how it felt when she left prison, and came home, on Nov 15, this year.
“Elation, tears,” she says:
“I can’t even express the feelings that I felt. I got to come home to my family. I made it home for Thanksgiving, and I have so much to be thankful for. Christmas will be even greater. I am just so happy.  We need to let people know that there are people that do care about them, and they’re not alone.”
***
————————————————————————————————————– Additional research for this article by Mark Harris.
For more information about OMSJ, to inquire about a legal situation, or to make a donation, go to http://www.omsj.org
The Truth Barrier has traveled as far as Stavanger Norway to report on this unfolding story. Stay tuned for Part Two, coming soon.
Source
http://truthbarrier.com/2012/12/22/the-crucible-dangerous-and-primitive-hiv-criminalization-laws-are-claiming-more-and-more-victims-one-group-doing-is-something-about-it/
0 notes
itbeatsbookmarks · 6 years ago
Link
(Via: Hacker News)
May 31, 2018
nullprogram.com/blog/2018/05/31/
Emacs 26.1 was recently released. As you would expect from a major release, it comes with lots of new goodies. Being a bit of an Emacs Lisp enthusiast, the two most interesting new features are generators (iter) and native threads (thread).
Generators
Generators are one of those cool language features that provide a lot of power at a small implementation cost. They’re like a constrained form of coroutines, but, unlike coroutines, they’re typically built entirely on top of first-class functions (e.g. closures). This means no additional run-time support is needed in order to add generators to a language. The only complication is the changes the compiler. Generators are not compiled the same way as normal functions despite looking so similar.
What’s perhaps coolest of all about lisp-family generators, including Emacs Lisp, is that the compiler component can be implemented entirely with macros. The compiler need not be modified at all, making generators no more than a library, and not actually part of the language. That’s exactly how they’ve been implemented in Emacs Lisp (emacs-lisp/generator.el).
So what’s a generator? It’s a function that returns an iterator object. When an iterator object is invoked (e.g. iter-next) it evaluates the body of the generator. Each iterator is independent. What makes them unusual (and useful) is that the evaluation is paused in the middle of the body to return a value, saving all the internal state in the iterator. Normally pausing in the middle of functions isn’t possible, which is what requires the special compiler support.
Emacs Lisp generators appear to be most closely modeled after Python generators, though it also shares some similarities to JavaScript generators. What makes it most like Python is the use of signals for flow control — something I’m not personally enthused about. When a Python generator completes, it throws a StopItertion exception. In Emacs Lisp, it’s an iter-end-of-sequence signal. A signal is out-of-band and avoids the issue relying on some special in-band value to communicate the end of iteration.
In contrast, JavaScript’s solution is to return a “rich” object wrapping the actual yield value. This object has a done field that communicates whether iteration has completed. This avoids the use of exceptions for flow control, but the caller has to unpack the rich object.
Fortunately the flow control issue isn’t normally exposed to Emacs Lisp code. Most of the time you’ll use the iter-do macro or (my preference) the new cl-loop keyword iter-by.
To illustrate how a generator works, here’s a really simple iterator that iterates over a list:
(iter-defun walk (list) (while list (iter-yield (pop list))))
Here’s how it might be used:
(setf i (walk '(:a :b :c)) (iter-next i) ; => :a (iter-next i) ; => :b (iter-next i) ; => :c (iter-next i) ; error: iter-end-of-sequence
The iterator object itself is opaque and you shouldn’t rely on any part of its structure. That being said, I’m a firm believer that we should understand how things work underneath the hood so that we can make the most effective use of at them. No program should rely on the particulars of the iterator object internals for correctness, but a well-written program should employ them in a way that best exploits their expected implementation.
Currently iterator objects are closures, and iter-next invokes the closure with its own internal protocol. It asks the closure to return the next value (:next operation), and iter-close asks it to clean itself up (:close operation).
Since they’re just closures, another really cool thing about Emacs Lisp generators is that iterator objects are generally readable. That is, you can serialize them out with print and bring them back to life with read, even in another instance of Emacs. They exist independently of the original generator function. This will not work if one of the values captured in the iterator object is not readable (e.g. buffers).
How does pausing work? Well, one of other exciting new features of Emacs 26 is the introduction of a jump table opcode, switch. I’d lamented in the past that large cond and cl-case expressions could be a lot more efficient if Emacs’ byte code supported jump tables. It turns an O(n) sequence of comparisons into an O(1) lookup and jump. It’s essentially the perfect foundation for a generator since it can be used to jump straight back to the position where evaluation was paused.
Buuut, generators do not currently use jump tables. The generator library predates the new switch opcode, and, being independent of it, its author, Daniel Colascione, went with the best option at the time. Chunks of code between yields are packaged as individual closures. These closures are linked together a bit like nodes in a graph, creating a sort of state machine. To get the next value, the iterator object invokes the closure representing the next state.
I’ve manually macro expanded the walk generator above into a form that roughly resembles the expansion of iter-defun:
(defun walk (list) (let (state) (cl-flet* ((state-2 () (signal 'iter-end-of-sequence nil)) (state-1 () (prog1 (pop list) (when (null list) (setf state #'state-2)))) (state-0 () (if (null list) (state-2) (setf state #'state-1) (state-1)))) (setf state #'state-0) (lambda () (funcall state)))))
This omits the protocol I mentioned, and it doesn’t have yield results (values passed to the iterator). The actual expansion is a whole lot messier and less optimal than this, but hopefully my hand-rolled generator is illustrative enough. Without the protocol, this iterator is stepped using funcall rather than iter-next.
The state variable keeps track of where in the body of the generator this iterator is currently “paused.” Continuing the iterator is therefore just a matter of invoking the closure that represents this state. Each state closure may update state to point to a new part of the generator body. The terminal state is obviously state-2. Notice how state transitions occur around branches.
I had said generators can be implemented as a library in Emacs Lisp. Unfortunately theres a hole in this: unwind-protect. It’s not valid to yield inside an unwind-protect form. Unlike, say, a throw-catch, there’s no mechanism to trap an unwinding stack so that it can be restarted later. The state closure needs to return and fall through the unwind-protect.
A jump table version of the generator might look like the following. I’ve used cl-labels since it allows for recursion.
(defun walk (list) (let ((state 0)) (cl-labels ((closure () (cl-case state (0 (if (null list) (setf state 2) (setf state 1)) (closure)) (1 (prog1 (pop list) (when (null list) (setf state 2)))) (2 (signal 'iter-end-of-sequence nil))))) #'closure)))
When byte compiled on Emacs 26, that cl-case is turned into a jump table. This “switch” form is closer to how generators are implemented in other languages.
Iterator objects can share state between themselves if they close over a common environment (or, of course, use the same global variables).
(setf foo (let ((list '(:a :b :c))) (list (funcall (iter-lambda () (while list (iter-yield (pop list))))) (funcall (iter-lambda () (while list (iter-yield (pop list)))))))) (iter-next (nth 0 foo)) ; => :a (iter-next (nth 1 foo)) ; => :b (iter-next (nth 0 foo)) ; => :c
For years there has been a very crude way to “pause” a function and allow other functions to run: accept-process-output. It only works in the context of processes, but five years ago this was sufficient for me to build primitives on top of it. Unlike this old process function, generators do not block threads, including the user interface, which is really important.
Threads
Emacs 26 also bring us threads, which have been attached in a very bolted on fashion. It’s not much more than a subset of pthreads: shared memory threads, recursive mutexes, and condition variables. The interfaces look just like they do in pthreads, and there hasn’t been much done to integrate more naturally into the Emacs Lisp ecosystem.
This is also only the first step in bringing threading to Emacs Lisp. Right now there’s effectively a global interpreter lock (GIL), and threads only run one at a time cooperatively. Like with generators, the Python influence is obvious. In theory, sometime in the future this interpreter lock will be removed, making way for actual concurrency.
This is, again, where I think it’s useful to contrast with JavaScript, which was also initially designed to be single-threaded. Low-level threading primitives weren’t exposed — though mostly because JavaScript typically runs sandboxed and there’s no safe way to expose those primitives. Instead it got a web worker API that exposes concurrency at a much higher level, along with an efficient interface for thread coordination.
For Emacs Lisp, I’d prefer something safer, more like the JavaScript approach. Low-level pthreads are now a great way to wreck Emacs with deadlocks (with no C-g escape). Playing around with the new threading API for just a few days, I’ve already had to restart Emacs a bunch of times. Bugs in Emacs Lisp are normally a lot more forgiving.
One important detail that has been designed well is that dynamic bindings are thread-local. This is really essential for correct behavior. This is also an easy way to create thread-local storage (TLS): dynamically bind variables in the thread’s entrance function.
;;; -*- lexical-binding: t; -*- (defvar foo-counter-tls) (defvar foo-path-tls) (defun foo-make-thread (path) (make-thread (lambda () (let ((foo-counter-tls 0) (foo-name-tls path)) ...))))
However, cl-letf “bindings” are not thread-local, which makes this otherwise incredibly useful macro quite dangerous in the presence of threads. This is one way that the new threading API feels bolted on.
Building generators on threads
In my stack clashing article I showed a few different ways to add coroutine support to C. One method spawned per-coroutine threads, and coordinated using semaphores. With the new threads API in Emacs, it’s possible to do exactly the same thing.
Since generators are just a limited form of coroutines, this means threads offer another, very different way to implement them. The threads API doesn’t provide semaphores, but condition variables can fill in for them. To “pause” in the middle of the generator, just wait on a condition variable.
So, naturally, I just had to see if I could make it work. I call it a “thread iterator” or “thriter.” The API is very similar to iter:
https://github.com/skeeto/thriter
This is merely a proof of concept so don’t actually use this library for anything. These thread-based generators are about 5x slower than iter generators, and they’re a lot more heavy-weight, needing an entire thread per iterator object. This makes thriter-close all the more important. On the other hand, these generators have no problem yielding inside unwind-protect.
Originally this article was going to dive into the details of how these thread-iterators worked, but thriter turned out to be quite a bit more complicated than I anticipated, especially as I worked towards feature matching iter.
The gist of it is that each side of a next/yield transaction gets its own condition variable, but share a common mutex. Values are passed between the threads using slots on the iterator object. The side that isn’t currently running waits on a condition variable until the other side frees it, after which the releaser waits on its own condition variable for the result. This is similar to asynchronous requests in Emacs dynamic modules.
Rather than use signals to indicate completion, I modeled it after JavaScript generators. Iterators return a cons cell. The car indicates continuation and the cdr holds the yield result. To terminate an iterator early (thriter-close or garbage collection), thread-signal is used to essentially “cancel” the thread and knock it off the condition variable.
Since threads aren’t (and shouldn’t be) garbage collected, failing to run a thread-iterator to completion would normally cause a memory leak, as the thread sits there forever waiting on a “next” that will never come. To deal with this, there’s a finalizer is attached to the iterator object in such a way that it’s not visible to the thread. A lost iterator is eventually cleaned up by the garbage collector, but, as usual with finalizers, this is only a last resort.
The future of threads
This thread-iterator project was my initial, little experiment with Emacs Lisp threads, similar to why I connected a joystick to Emacs using a dynamic module. While I don’t expect the current thread API to go away, it’s not really suitable for general use in its raw form. Bugs in Emacs Lisp programs should virtually never bring down Emacs and require a restart. Outside of threads, the few situations that break this rule are very easy to avoid (and very obvious that something dangerous is happening). Dynamic modules are dangerous by necessity, but concurrency doesn’t have to be.
There really needs to be a safe, high-level API with clean thread isolation. Perhaps this higher-level API will eventually build on top of the low-level threading API.
0 notes