home.social

Search

1000 results for “c_alpha”

  1. @ericsfraga @[email protected] HP-41C - brings back memories. I had one in the late 1980s when I started studying engineering. The programming part always felt a bit clumsy though (tiny display). So I sold it and shelled out a couple of bucks on top, and spent a fortune (for my standards at the time anyway) on a 48SX in the early 1990s. The greatness of lives on in !

  2. Capitolo 409: Traslochi e Partenze

    Primo giorno di luglio, ma anche l’ultimo giorno in cui vi scrivo da quella che è stata la mia dimora negli ultimi 6 anni. Come ogni estate sto per spostarmi a Monopoli, dopodiché tornerò a Roma a settembre, per cercare nuovamente casa. I traslochi in estate dovrebbero essere dichiarati illegali, ma se vi scrivo tutto questo è per giustificare la mia scarsa vena cinematografica delle ultime settimane: non è mancata la voglia, è mancato il tempo (quel poco che ho avuto l’ho invece dedicato a The Bear, come vedremo dopo). In tutto ciò ho anche pubblicato un libro, ma di questo già vi ho parlato abbastanza, quindi passiamo subito ai film!

    40 Anni Vergine (2005): Judd Apatow è un regista che stimo molto (guardate gli ottimi Funny People, Il Re di Staten Island o la serie Love, ad esempio) ed è stato un piacere ritrovare questa commedia che avevo visto solo una volta, al cinema, nel gennaio del 2006. Steve Carell lavora in un negozio di elettrodomestici, colleziona action figures e non è mai stato con una donna. Quando i suoi colleghi, tutti maschi alpha, lo scoprono, cercano di farlo uscire con loro per sopperire. C’è qualche scena un po’ becera, ma nel complesso è un film divertente (e molto meno stupido di quanto si possa pensare). Tra tutte, ho trovato esilarante la scena in cui il protagonista fa la ceretta al petto, forse il momento più comico di tutto il film.
    •••½

    Volvereis (2024): Il biglietto del cinema a 3,50 per i film italiani ed europei è un enorme incentivo a guardarsi qualcosa di un po’ più “invisibile”, oltre a godere di un paio d’ore di aria condizionata durante questo torrido giugno. In questo film spagnolo, una coppia di lunga data decide di separarsi di comune accordo. Per celebrare l’evento, organizzano una festa di separazione, dove invitare amici e parenti in quello che sarà per loro l’inizio di una nuova vita. L’idea è davvero originale, anche se a tratti il film è un po’ ripetitivo, Trueba è molto intelligente a giocare con questo (c’è un film nel film, diretto da lei e interpretato da lui, che parla proprio della storia del film stesso: un’esaltazione totale del metacinema!). Chi ha visto Dieci Capodanni di Sorogoyen (vedetelo, è su RaiPlay) troverà una scena in cui la protagonista va sul set del primo episodio della serie per chiacchierare con l’attore Francesco Carril (che ha un mazzo di tarocchi ispirato ai film di Bergman, lo voglio!!). Molto carino, vale decisamente la pena di una sortita al cinema, se lo trovate ancora.
    •••½

    Tre Amiche (2024): Altro giro, altro film europeo al cinema. Stavolta ci spostiamo in Francia, dove Emmanuel Mouret dirige una commedia agrodolce su tre donne, le amiche del titolo, tutte più o meno coinvolte in situazioni sentimentali complicate, tentazioni e tutto l’armamentario tipico di questo genere di film. Niente di nuovo, per carità, anche se il regista è molto bravo ad avvicinarsi ai cliché per poi scartarli all’improvviso, evitando di scadere nel banale. Carino, ma il giorno dopo lo avevo già dimenticato. Vincent Macaigne, tanto per cambiare, è il migliore in campo.
    •••

    Last Night (2010): Avevo già visto una volta questo film di Massy Tadjedin, alla Festa del Cinema di Roma di quindici anni fa. Keira Knightley e Sam Worthington sono sposati e si amano, ma la notte in cui lui ha una trasferta aziendale in compagnia della collega Eva Mendes e lei incontra per caso la vecchia fiamma parigina Guillaume Canet, tutto viene messo in discussione. Intriga vedere tanti bei volti alle prese con scintille d’amore e lampi di tentazione, ma non tutto funziona veramente. Resta una visione piacevole per il tempo in cui si guarda, ma diciamo che non finirà nella lista dei migliori film di questo secolo, dai.
    •••

    Tutti Vogliono Qualcosa (2016): Dati Letterboxd alla mano (come potete vedere nell’immagine in basso), in nove anni è la settima volta che vedo questo film di Richard Linklater. Una volta l’ho visto in proiezione stampa, un’altra al cinema, poi durante una febbre estiva e così via, fino a una sera, distrutto dal trasloco, in cui avevo bisogno di qualcosa di leggero, confortevole, da mozzicare. Senza pensarci troppo, la scelta è caduta ancora su questo coming of age che racconta gli ultimi giorni di festa di una squadra di baseball universitaria prima dell’inizio delle lezioni. Linklater come al solito è perfetto nel cogliere il periodo storico dei suoi film, in questo caso il 1980, inizio di un nuovo decennio in cui il funk e il punk erano al massimo del loro splendore e dove il sesso sicuro era ancora un’espressione sconosciuta. Il regista cristallizza in questo splendido weekend il primo balzo fuori dal nido di questi baffuti yes men, ognuno in dovere di sfruttare ogni esperienza al massimo, prima che si trasformi in un rimpianto. Da segnalare un ottimo Glen Powell, forse il migliore della banda, che ai tempi non era ancora molto conosciuto.
    ••••

    Li chiamavano comfort movie

    Chi Ha Incastrato Roger Rabbit? (1988): A proposito di comfort movie, quanto ho bisogno di un po’ di conforto in questi giorni di caldo, pacchi pieni di libri, vestiti, oggetti accumulati in tutta una vita… Mi perdonerete la scarsa originalità nel proporvi film già visti e rivisti, ma la boccata d’ossigeno che ti dà questo capolavoro di Robert Zemeckis, davvero pochi altri. Anni 40: in una Los Angeles dove esseri umani e cartoni animati vivono gomito a gomito, il fondatore della famigerata Cartoonia viene trovato ucciso e la colpa ricade sull’esuberante Roger Rabbit, un coniglio fanfarone che, come missione di vita, vuole regalare risate a chi ha davanti. A indagare sul misfatto c’è un investigatore privato, Bob Hoskins, poco disponibile a sopportare le idiozie dei cartoni, ma ben deciso a scoprire la verità sull’omicidio. Un noir postmoderno, pieno di citazioni, musiche stupende, scene memorabili e un Christopher Lloyd strepitoso (quanti traumi da bambino a causa della salamoia…). Capolavoro assoluto.
    •••••

    Pierino Contro Tutti (1981): La scorsa settimana stavo lavorando a uno shooting fotografico quando mi è arrivata la notizia della scomparsa di Alvaro Vitali. Tornato a casa ho trovato su Cine34 questo film di Marino Girolami, che non vedevo da quando ero ragazzino e, che fai, non te lo rivedi? Mi rendo conto che quando ero piccolo ridevo per delle scemenze incredibili, ma ai tempi, vi dirò, avevano un suo senso. Oggi, se si toglie dal contesto in cui è nato, è pressoché inguardabile, una raccolta di gag, di barzellette grossolane e volgari (alcune ancora divertenti, per carità!). Mezza stella in più per affetto più che per il suo valore effettivo. Forse sarebbe stato meglio conservare il ricordo di bambino, ma almeno rivederlo mi ha dato l’occasione di scoprire su Letterboxd il titolo inglese del film: Desirable Teacher!
    ••½

    SERIE TV: La scorsa settimana è cominciata la quarta stagione di The Bear e, per l’occasione, ho visto tutte e tre le precedenti, visto che è una serie di cui sentivo parlare benissimo, che ha vinto tanti premi e dalla quale ero molto incuriosito. Ci sono cose che mi sono piaciute moltissimo (la caratterizzazione dei personaggi, tutti i momenti in cui ci sono in scena Carmy e Richie, l’incredibile episodio della cena di Natale, nella seconda stagione), altre cose invece mi hanno un po’ appesantito la visione (molti episodi riempitivi o filler, come si dice in gergo, pochi spiragli di luce e tante situazioni ansiogene o leggermente disturbanti, che rendono le vicende un po’ ripetitive). Nel complesso però è senza dubbio una serie che vale la pena vedere e devo dire che i primi episodi della quarta stagione promettono bene: una partenza forse migliore rispetto alle prime puntate della seconda e della terza stagione, il che lascia davvero ben sperare. Ne riparleremo.

    #40AnniVergine #chiHaIncastratoRogerRabbit #Cinema #daVedere #film #lastNight #pierinoControTutti #recensione #theBear #treAmiche #tuttiVoglionoQualcosa #volvereis

  3. Magazine Review: Galaxy Science Fiction, ed. H. L. Gold (November 1950) (Brown, Asimov, Boucher, Leiber, Knight, Simak)

    Preliminary Note: I plan on reading all 116 issues of the influential, and iconic, SF magazine Galaxy under H. L. Gold’s editorship (October 1950-October 1961) in chronological order. How long this project will take or how seriously/systematically I will take it remain complete unknowns.

    See my inaugural post in this series for my reasoning behind selecting Galaxy under H. L. Gold.

    Previously: the October 1950 issue.

    Up Next: the December 1950 issue.

    Let’s get to the stories. We have the first Galaxy masterpiece!

    • Don Sibley’s cover for Galaxy Science Fiction, ed. H. L. Gold (November 1950)

    You can read the entire issue here.

    Fredric Brown’s “Honeymoon in Hell” (1950), 3/5 (Average): The year is 1962. The Cold War heats up. The race for a permanent presence on the Moon takes center stage. Each side “had landed a few men” and claimed it as their own (4). Each side races to construct a space station in orbit to facilitate the construction of a permanent base on the moon. But there’s another worrying world-wide trend–a massive gender imbalance in new births! Not enough boys! Riots. Cults. What’s the plan?

    Capt. Raymond F. Carmody, retired from the space service (at age 27) after a successful flight to the Moon, steps into the ring. Resisting an administrative role in the service, he’d chosen a new career: cybernetics, “the science of electronic calculating machines” (9). In his new position, he had access to a powerful computer called Junior, built in 1958, tasked with issues of national security. Alone with the machine, he feeds Junior the data. Junior doesn’t have an answer. But Junior does offer a rare extrapolation that Carmody will be married on the morrow.

    And a meeting with the President reveals the nature of the plan to birth a male child on the moon to avoid whatever on Earth is causing the problem! He’ll be legally married before they head to the moon and divorced if the pairing doesn’t work out. The catch? His wife will be Russian and their honeymoon will be Hell Crater.1 The “lucky” woman? Anna Borisovna is also a pilot of “experimental rockets on short-range flights” (16). Alcohol included as “icebreaker” for a “happy honeymoon” (19). The twelve day stay will be “plenty of time to get off before the Lunar night” (18) (Brown certainly intends the pun). And then the story morphs, abruptly, into a first contact story. Or does it?

    This is an odd story. At its core it’s about a man and a woman (and mortal enemies) who go to the moon to have sex. But it’s the 50s. They need to be married! And all the references to the act are double entendres. As the ridiculousness fades, Brown settles on a rather enlightened position considering the Cold War terror of the moment–détente with the Soviets, politics and all, remains possible (under some circumstances). The story implies that Carmody falls head-over-heels for Anna due to the similarities of their careers and status as intellectual equals despite their divergent politics. Don Sibley’s issue cover shows her abilities under stressful circumstances. Carmody’s even willing to head to the Soviet Union to be with her! Love trumps all message aside, I am not convinced by the reading experience. Brown relays the strange events that transpire on Mars, and almost all of Carmody and Anna’s interactions, after they occur. It weakens the effect.

    Somewhat recommended.

    Isaac Asimov’s “Misbegotten Missionary” (variant title: “Green Patches”) (1950), 3/5 (Average): “Misbegotten Missionary” begins from the perspective of an alien entity that slipped onboard a human ship after its barrier faltered for a moment. The alien utterly believes that it is a superior “unified organism” (34) over the “life fragments” that populate the ship (34). Fanatical in its mindset, the shape-shifting alien wants to convert the entire vessel to its ways–without their consent. Slowly the nature of its own world, the purpose of the human vessel, and the fate of a past voyage become clear.

    While not a miserable entry in his canon, I am starting to dread the Asimov stories in Galaxy and struggle to write coherently about them. And there’s a serialized novel on the horizon that I haven’t read yet and thus cannot skip– The Stars, Like Dust (1951). While far superior to “Darwinian Pool Room” (1950), “Misbegotten Missionary” defeats its initial success with a laborious exposition of what happened before. I appreciated the Asimov’s attempt to convey alienness of the entity’s perspective. Maybe if you’re interested in the evolution of Asimov’s attempts to write about entire planets as alien consciousness this is worth tracking down.

    I reviewed this in 2021 and completely forgot. I was even more cruel in the earlier review!

    Anthony Boucher’s “Transfer Point” (1950), 3/5 (Average): Three survivors retreat beneath the Earth’s surface after two apocalyptic events–the release of a new element (agnoton) and an attack by mysterious “yellow bands” (are they light-like? It’s not entirely clear. It’s pulpy on purpose). The scientist Kirth-Labbery constructed the self-sufficient retreat due to his allergies (!). His daughter Lavra spends her time eating fruit grown in the hydroponics bay. And Vyrko, a self-described intellectual poet, observes and writes about the end of the world, pines after his lost love, and reads historical pulp science fiction –including Damon Knight’s “Not with a Bang” (1950) and Robert A. Heinlein’s “By His Bootstraps” (1941). He notices that only one author seems to predict correctly what will happen. And also strange narrative parallels with himself…

    I’m a sucker for metafictional science fiction that contains references and quotations from other authors both real and invented. Boucher’s “Transfer Point” serves as a recursive commentary on the nature of genre and its favorite tropes (last man and woman as Adam and Eve, time travel, etc.). Behind the tale’s ultra-pulpy exterior and sappy silliness, Boucher jabs (gently and with a smile) at science fiction’s Campbellian delusion of future prediction. Despite its moments, Boucher can’t approach the heights of Richard Matheson’s “Patterns of Survival” (1955), a far more complex commentary on the power of science fiction.

    Somewhat recommended.

    Fritz Leiber’s “Coming Attraction” (1950), 5/5 (Masterpiece): I reviewed this story in 2013. I’ve decided to reread it and modify my earlier review.

    In Arthur Schlesinger, Jr.’s influential The Vital Center: The Politics of Freedom (1949), a blueprint of the “new liberal self-image,” he describes the post-WWII period as an “age of anxiety” in which “Western man” is “tense, uncertain, adrift.”2 Channeling this sentiment, branded as an “American brand of misery” (83), Leiber imagines an America transformed after a limited nuclear war with the Soviet Union.

    The physical landscape mirrors the psychological scars of New York’s inhabitants. “H-Bomb scars” tunnel faces (78). The Empire State Building thrusts out of “Inferno like a mangled finger” (77). In a disturbed attempt to maintain control, a new “puritanical morality” (80) replete with “anti-sex songs” (78) and required masks to cover female faces takes hold. A sinister media landscape manifests the corruption within. Billboards promote “hysterical slogans” in which “the very letters of the advertiser’s alphabet have begin to crawl with sex” (78). New TV gadgets facilitate touch and pseudo-connection (80). Perverse new forms of TV entertainment, in particular male wrestlers pitted against masked women, transfix all audiences.

    Wysten Turner, the British narrator, gets caught up in the disturbing changes that have swept the US. He rescues a masked woman from a car driven by youths replete with hooks designed to snag the dresses of passing women.  She embodies loneliness and despair. And he wants to help. Soon he finds himself unable to identify the new erotic and violent rituals of control and release. The games layer on themselves. Our narrator, also manipulated, flees in shame when the bizarre tableau’s true nature is unmasked.

    Leiber doles out fascinating and punchy commentary on the anxieties of the modern world. A disturbed, erotic, creepy, and hyper-violent exploration of that reflexive Cold War tendency to equate the inability to control and triumph abroad as caused by internal crisis within society as a whole. A brilliant satire of late 40s/early 50s American Cold War culture.

    Highly recommended.

    Damon Knight’s “To Serve Man” (1950), 3.5/5 (Good): I reviewed this story in 2023. I decided not to reread it. I’ve reproduced the review below.

    The Kanamit, pig-like humanoid aliens, arrive on Earth with a promise to assist humanity that appears to have zero caveats. Their similarity to a human food animal creates a disquieting horror: “when a think with the countenance of a fiend comes from the stars and offers a gift, you are disinclined to accept” (91). The Kanama proclaim that they want “to bring you the peace and plenty which we ourselves enjoy, and which we have in the past brought to other races throughout the galaxy” (92). They introduce fantastic power sources, anti-nuclear explosion shields, and technology to exponentially enhance agricultural productivity. Soon there are no “more standing armies, no more shortages, and no unemployment” (98). But no one can decode their language. And when someone finally figures it out, it will be too late.

    I don’t completely understand why “To Serve Man” is one of Knight’s best-known short fictions. It won the 2001 Retro Hugo Award for Best Short Story. I would have voted for Fritz Leiber’s “Coming Attraction” (1950) from the list of nominees! That said, “To Serve Man” is an effective twist-ending story that plays with our expectations but doesn’t have the reflective or incisive impact of Knight’s best — for example “The Enemy” (1958), “You’re Another” (1955), or even “Time Enough” (1960) in Far Out (1961). I’m probably in the minority in this view. 

    Somewhat recommended.

    Clifford D. Simak’s Time Quarry (variant title: Time and Again) (1950). Serialized over three issues. I will post an individual review after I complete the serialization.

    Notes

    1. Brown adheres to the theory that the Moon is covered with deep dust. He claims that Hell Crater is a bit more solid than other points. Arthur C. Clarke’s A Fall of Moondust (1961) is another example. ↩︎
    2. See Ch. 1 of K. A. Courdileone’s Manhood and American Political Culture in the Cold War (2005) for a discussion of Schlesinger. ↩︎

    For book reviews consult the INDEX

    For cover art posts consult the INDEX

    For TV and film reviews consult the INDEX

    #1950s #avantGarde #bookReviews #books #CliffordDSimak #DamonKnight #FredricBrown #fritzLeiber #HLGold #IsaacAsimov #sciFi #scienceFiction #ShortStories
  4. Get ready for .NET Conf 2025 on November 11th!

    As we are approaching to the final release of .NET 10.0, a conference for .NET developers has been finally set to be scheduled for November 11th, and this event lasts three days up to November 13th. This conference talks about what’s new in .NET 10.0 and Visual Studio 2026, where they both introduce new features and improvements to enhance your developer experience.

    Joining the conference is free, and you can mark the schedule on your calendar using the below button.

    .NET Conf

    The below main events will happen in this conference:

    • November 11th (8 AM to 6 PM PST): This is a big day for .NET developers where .NET 10.0 and Visual Studio 2026 will be showcased for new features and improvements, as well as the Code Party that you can win some great prizes.
    • November 12th (9 AM to 5 PM PST): This showcases a deep dive into .NET, Azure, and AI.
    • November 13th (5 AM to 5 PM PST): This is a community event with speakers around the world.

    After the main events, there comes two additional days, which are the Student Zone on November 14th that is a beginner-friendly virtual event where experts teach you how to build awesome projects using C# and .NET, and November 13th to 15th where the community events are held.

    There will also be giveaways and digital swags where you receive them with many valuable perks, such as digital goods worth over $5,500, like high-value software licenses and other goodies.

    The speakers in this conference event will be (in alphabetical order):

    • Allie Barry
    • Brady Gaster
    • Cathy Sullivan
    • Damian Edwards
    • David Fowler
    • Gaurav Seth
    • Maddy Montaquila
    • Mads Kristensen
    • Maria Naggaga Nakanwagi
    • Mike Kistler
    • Rachel King
    • Safia Abdalla
    • Scott Hanselman

    Join the .NET Conf for free!

    #Net #Net10 #Net100 #NETConf #NETConf2025 #C_ #dotnet #F_ #fsharp #news #Tech #Technology #update #VB

  5. Get ready for .NET Conf 2025 on November 11th!

    As we are approaching to the final release of .NET 10.0, a conference for .NET developers has been finally set to be scheduled for November 11th, and this event lasts three days up to November 13th. This conference talks about what’s new in .NET 10.0 and Visual Studio 2026, where they both introduce new features and improvements to enhance your developer experience.

    Joining the conference is free, and you can mark the schedule on your calendar using the below button.

    .NET Conf

    The below main events will happen in this conference:

    • November 11th (8 AM to 6 PM PST): This is a big day for .NET developers where .NET 10.0 and Visual Studio 2026 will be showcased for new features and improvements, as well as the Code Party that you can win some great prizes.
    • November 12th (9 AM to 5 PM PST): This showcases a deep dive into .NET, Azure, and AI.
    • November 13th (5 AM to 5 PM PST): This is a community event with speakers around the world.

    After the main events, there comes two additional days, which are the Student Zone on November 14th that is a beginner-friendly virtual event where experts teach you how to build awesome projects using C# and .NET, and November 13th to 15th where the community events are held.

    There will also be giveaways and digital swags where you receive them with many valuable perks, such as digital goods worth over $5,500, like high-value software licenses and other goodies.

    The speakers in this conference event will be (in alphabetical order):

    • Allie Barry
    • Brady Gaster
    • Cathy Sullivan
    • Damian Edwards
    • David Fowler
    • Gaurav Seth
    • Maddy Montaquila
    • Mads Kristensen
    • Maria Naggaga Nakanwagi
    • Mike Kistler
    • Rachel King
    • Safia Abdalla
    • Scott Hanselman

    Join the .NET Conf for free!

    #Net #Net10 #Net100 #NETConf #NETConf2025 #C_ #dotnet #F_ #fsharp #news #Tech #Technology #update #VB

  6. Get ready for .NET Conf 2025 on November 11th!

    As we are approaching to the final release of .NET 10.0, a conference for .NET developers has been finally set to be scheduled for November 11th, and this event lasts three days up to November 13th. This conference talks about what’s new in .NET 10.0 and Visual Studio 2026, where they both introduce new features and improvements to enhance your developer experience.

    Joining the conference is free, and you can mark the schedule on your calendar using the below button.

    .NET Conf

    The below main events will happen in this conference:

    • November 11th (8 AM to 6 PM PST): This is a big day for .NET developers where .NET 10.0 and Visual Studio 2026 will be showcased for new features and improvements, as well as the Code Party that you can win some great prizes.
    • November 12th (9 AM to 5 PM PST): This showcases a deep dive into .NET, Azure, and AI.
    • November 13th (5 AM to 5 PM PST): This is a community event with speakers around the world.

    After the main events, there comes two additional days, which are the Student Zone on November 14th that is a beginner-friendly virtual event where experts teach you how to build awesome projects using C# and .NET, and November 13th to 15th where the community events are held.

    There will also be giveaways and digital swags where you receive them with many valuable perks, such as digital goods worth over $5,500, like high-value software licenses and other goodies.

    The speakers in this conference event will be (in alphabetical order):

    • Allie Barry
    • Brady Gaster
    • Cathy Sullivan
    • Damian Edwards
    • David Fowler
    • Gaurav Seth
    • Maddy Montaquila
    • Mads Kristensen
    • Maria Naggaga Nakanwagi
    • Mike Kistler
    • Rachel King
    • Safia Abdalla
    • Scott Hanselman

    Join the .NET Conf for free!

    #Net #Net10 #Net100 #NETConf #NETConf2025 #C_ #dotnet #F_ #fsharp #news #Tech #Technology #update #VB

  7. Get ready for .NET Conf 2025 on November 11th!

    As we are approaching to the final release of .NET 10.0, a conference for .NET developers has been finally set to be scheduled for November 11th, and this event lasts three days up to November 13th. This conference talks about what’s new in .NET 10.0 and Visual Studio 2026, where they both introduce new features and improvements to enhance your developer experience.

    Joining the conference is free, and you can mark the schedule on your calendar using the below button.

    .NET Conf

    The below main events will happen in this conference:

    • November 11th (8 AM to 6 PM PST): This is a big day for .NET developers where .NET 10.0 and Visual Studio 2026 will be showcased for new features and improvements, as well as the Code Party that you can win some great prizes.
    • November 12th (9 AM to 5 PM PST): This showcases a deep dive into .NET, Azure, and AI.
    • November 13th (5 AM to 5 PM PST): This is a community event with speakers around the world.

    After the main events, there comes two additional days, which are the Student Zone on November 14th that is a beginner-friendly virtual event where experts teach you how to build awesome projects using C# and .NET, and November 13th to 15th where the community events are held.

    There will also be giveaways and digital swags where you receive them with many valuable perks, such as digital goods worth over $5,500, like high-value software licenses and other goodies.

    The speakers in this conference event will be (in alphabetical order):

    • Allie Barry
    • Brady Gaster
    • Cathy Sullivan
    • Damian Edwards
    • David Fowler
    • Gaurav Seth
    • Maddy Montaquila
    • Mads Kristensen
    • Maria Naggaga Nakanwagi
    • Mike Kistler
    • Rachel King
    • Safia Abdalla
    • Scott Hanselman

    Join the .NET Conf for free!

    #Net #Net10 #Net100 #NETConf #NETConf2025 #C_ #dotnet #F_ #fsharp #news #Tech #Technology #update #VB

  8. LocaleStation’s Deprecation

    LocaleStation was released as part of the ongoing effort back in June 2025 to give all our libraries a chance to be translatable to your native language. This kind of effort was studied under the assumption that we’d achieve simpler and faster localization. However, our expectations fell short when we had discovered the massive first startup performance impact on Windows systems.

    This performance impact was especially noticeable on Windows systems where applications like Nitrocid would suffer from longer startup times in both the main application entry point and the addon loading point. This slow down is considered to be unacceptable, especially when an “unrelated” feature would cause this slow down. This is because of the Windows Defender’s Antimalware Service Executable process taking up a majority of the CPU cycles in analyzing the localization files in the first JIT compilation of all libraries and applications that depend on LocaleStation’s generated files.

    As a result, we’ve decided to shut down LocaleStation as a library, and convert all the existing JSON files, with appropriate modifications, to a standard culture-specific resources file that is managed by .NET.

    With Terminaux, we’ve conducted an experimental branch based on the Terminaux 8.0.0 branch that can be found in the x/exp/v8.0.x-loc-resx-poc branch. We’ve used an internal program that converts LocaleStation-compatible JSON files that you can see like below:

    {    "lang": "eng",    "name": "English",    "cultures": [ "en-US", "en-GB" ],    "locs": [        {            "loc": "TEXT_HELLO_WORLD",            "text": "Hello world!"        },        {            "loc": "TEXT_HI",            "text": "Hi!"        }    ]}

    …to the .resx format as in below:

    <?xml version="1.0" encoding="utf-8"?><root>    <!--     Microsoft ResX Schema     Version 2.0    The primary goals of this format is to allow a simple XML format     that is mostly human readable. The generation and parsing of the     various data types are done through the TypeConverter classes     associated with the data types.    Example:    ... ado.net/XML headers & schema ...    <resheader name="resmimetype">text/microsoft-resx</resheader>    <resheader name="version">2.0</resheader>    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">        <value>[base64 mime encoded serialized .NET Framework object]</value>    </data>    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>        <comment>This is a comment</comment>    </data>    There are any number of "resheader" rows that contain simple     name/value pairs.    Each data row contains a name, and value. The row also contains a     type or mimetype. Type corresponds to a .NET class that support     text/value conversion through the TypeConverter architecture.     Classes that don't support this are serialized and stored with the     mimetype set.    The mimetype is used for serialized objects, and tells the     ResXResourceReader how to depersist the object. This is currently not     extensible. For a given mimetype the value must be set accordingly:    Note - application/x-microsoft.net.object.binary.base64 is the format     that the ResXResourceWriter will generate, however the reader can     read any of the formats listed below.    mimetype: application/x-microsoft.net.object.binary.base64    value   : The object must be serialized with             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter            : and then encoded with base64 encoding.    mimetype: application/x-microsoft.net.object.soap.base64    value   : The object must be serialized with             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter            : and then encoded with base64 encoding.    mimetype: application/x-microsoft.net.object.bytearray.base64    value   : The object must be serialized into a byte array             : using a System.ComponentModel.TypeConverter            : and then encoded with base64 encoding.    -->    <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />    <xsd:element name="root" msdata:IsDataSet="true">        <xsd:complexType>        <xsd:choice maxOccurs="unbounded">            <xsd:element name="metadata">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" />                </xsd:sequence>                <xsd:attribute name="name" use="required" type="xsd:string" />                <xsd:attribute name="type" type="xsd:string" />                <xsd:attribute name="mimetype" type="xsd:string" />                <xsd:attribute ref="xml:space" />            </xsd:complexType>            </xsd:element>            <xsd:element name="assembly">            <xsd:complexType>                <xsd:attribute name="alias" type="xsd:string" />                <xsd:attribute name="name" type="xsd:string" />            </xsd:complexType>            </xsd:element>            <xsd:element name="data">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />                </xsd:sequence>                <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />                <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />                <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />                <xsd:attribute ref="xml:space" />            </xsd:complexType>            </xsd:element>            <xsd:element name="resheader">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />                </xsd:sequence>                <xsd:attribute name="name" type="xsd:string" use="required" />            </xsd:complexType>            </xsd:element>        </xsd:choice>        </xsd:complexType>    </xsd:element>    </xsd:schema>    <resheader name="resmimetype">    <value>text/microsoft-resx</value>    </resheader>    <resheader name="version">    <value>2.0</value>    </resheader>    <resheader name="reader">    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>    </resheader>    <resheader name="writer">    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>    </resheader>      <data name="NKS_COMMON_ANYKEY" xml:space="preserve">    <value>Press any key to continue...</value>  </data>  <data name="NKS_KERNEL_NOAPMSIMULATION" xml:space="preserve">    <value>It&apos;s now safe to turn off your computer.</value>  </data>  <data name="NKS_KERNEL_ENVERROR" xml:space="preserve">    <value>Kernel environment error:</value>  </data>  <data name="NKS_KERNEL_FATALERROR" xml:space="preserve">    <value>Nitrocid KS has detected a problem and it has been shut down.</value>  </data>  <data name="NKS_KERNEL_STARTING_DEVMESSAGE" xml:space="preserve">    <value>You&apos;re running the development version of the kernel. While you can experience upcoming features which may exist in the final release, you may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_RCMESSAGE" xml:space="preserve">    <value>You&apos;re running the release candidate version of the kernel. While you can experience the final touches, you may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_UNSUPPORTED" xml:space="preserve">    <value>We recommend against running this version of the kernel, because it is unsupported. If you have downloaded this kernel from unknown sources, this message may appear. Please download from our official downloads page.</value>  </data>  <data name="NKS_KERNEL_STARTING_ALPHAMESSAGE" xml:space="preserve">    <value>You&apos;re running the alpha version of the kernel. You may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_BETAMESSAGE" xml:space="preserve">    <value>You&apos;re running the beta version of the kernel. You may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data></root>

    Our recent experiments proved that the resources method was faster than the LocaleStation method when it comes to first startup times due to Windows Defender. We have removed this library from the list of supported libraries, and that all development of LocaleStation will stop.

    The specification will remain maintained, and the Aptivi Development Toolkit (ADT) will provide tools that we’ve developed internally to make dealing with those files easier than before.

    We are still working on the rollout of the .resx file for all libraries, and this may take multiple library releases, depending on the severity of the situation.

    #C_ #csharp #dotnet #Language #libraries #Library #Localization #news #Tech #Technology #update

  9. LocaleStation’s Deprecation

    LocaleStation was released as part of the ongoing effort back in June 2025 to give all our libraries a chance to be translatable to your native language. This kind of effort was studied under the assumption that we’d achieve simpler and faster localization. However, our expectations fell short when we had discovered the massive first startup performance impact on Windows systems.

    This performance impact was especially noticeable on Windows systems where applications like Nitrocid would suffer from longer startup times in both the main application entry point and the addon loading point. This slow down is considered to be unacceptable, especially when an “unrelated” feature would cause this slow down. This is because of the Windows Defender’s Antimalware Service Executable process taking up a majority of the CPU cycles in analyzing the localization files in the first JIT compilation of all libraries and applications that depend on LocaleStation’s generated files.

    As a result, we’ve decided to shut down LocaleStation as a library, and convert all the existing JSON files, with appropriate modifications, to a standard culture-specific resources file that is managed by .NET.

    With Terminaux, we’ve conducted an experimental branch based on the Terminaux 8.0.0 branch that can be found in the x/exp/v8.0.x-loc-resx-poc branch. We’ve used an internal program that converts LocaleStation-compatible JSON files that you can see like below:

    {    "lang": "eng",    "name": "English",    "cultures": [ "en-US", "en-GB" ],    "locs": [        {            "loc": "TEXT_HELLO_WORLD",            "text": "Hello world!"        },        {            "loc": "TEXT_HI",            "text": "Hi!"        }    ]}

    …to the .resx format as in below:

    <?xml version="1.0" encoding="utf-8"?><root>    <!--     Microsoft ResX Schema     Version 2.0    The primary goals of this format is to allow a simple XML format     that is mostly human readable. The generation and parsing of the     various data types are done through the TypeConverter classes     associated with the data types.    Example:    ... ado.net/XML headers & schema ...    <resheader name="resmimetype">text/microsoft-resx</resheader>    <resheader name="version">2.0</resheader>    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">        <value>[base64 mime encoded serialized .NET Framework object]</value>    </data>    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>        <comment>This is a comment</comment>    </data>    There are any number of "resheader" rows that contain simple     name/value pairs.    Each data row contains a name, and value. The row also contains a     type or mimetype. Type corresponds to a .NET class that support     text/value conversion through the TypeConverter architecture.     Classes that don't support this are serialized and stored with the     mimetype set.    The mimetype is used for serialized objects, and tells the     ResXResourceReader how to depersist the object. This is currently not     extensible. For a given mimetype the value must be set accordingly:    Note - application/x-microsoft.net.object.binary.base64 is the format     that the ResXResourceWriter will generate, however the reader can     read any of the formats listed below.    mimetype: application/x-microsoft.net.object.binary.base64    value   : The object must be serialized with             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter            : and then encoded with base64 encoding.    mimetype: application/x-microsoft.net.object.soap.base64    value   : The object must be serialized with             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter            : and then encoded with base64 encoding.    mimetype: application/x-microsoft.net.object.bytearray.base64    value   : The object must be serialized into a byte array             : using a System.ComponentModel.TypeConverter            : and then encoded with base64 encoding.    -->    <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />    <xsd:element name="root" msdata:IsDataSet="true">        <xsd:complexType>        <xsd:choice maxOccurs="unbounded">            <xsd:element name="metadata">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" />                </xsd:sequence>                <xsd:attribute name="name" use="required" type="xsd:string" />                <xsd:attribute name="type" type="xsd:string" />                <xsd:attribute name="mimetype" type="xsd:string" />                <xsd:attribute ref="xml:space" />            </xsd:complexType>            </xsd:element>            <xsd:element name="assembly">            <xsd:complexType>                <xsd:attribute name="alias" type="xsd:string" />                <xsd:attribute name="name" type="xsd:string" />            </xsd:complexType>            </xsd:element>            <xsd:element name="data">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />                </xsd:sequence>                <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />                <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />                <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />                <xsd:attribute ref="xml:space" />            </xsd:complexType>            </xsd:element>            <xsd:element name="resheader">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />                </xsd:sequence>                <xsd:attribute name="name" type="xsd:string" use="required" />            </xsd:complexType>            </xsd:element>        </xsd:choice>        </xsd:complexType>    </xsd:element>    </xsd:schema>    <resheader name="resmimetype">    <value>text/microsoft-resx</value>    </resheader>    <resheader name="version">    <value>2.0</value>    </resheader>    <resheader name="reader">    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>    </resheader>    <resheader name="writer">    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>    </resheader>      <data name="NKS_COMMON_ANYKEY" xml:space="preserve">    <value>Press any key to continue...</value>  </data>  <data name="NKS_KERNEL_NOAPMSIMULATION" xml:space="preserve">    <value>It&apos;s now safe to turn off your computer.</value>  </data>  <data name="NKS_KERNEL_ENVERROR" xml:space="preserve">    <value>Kernel environment error:</value>  </data>  <data name="NKS_KERNEL_FATALERROR" xml:space="preserve">    <value>Nitrocid KS has detected a problem and it has been shut down.</value>  </data>  <data name="NKS_KERNEL_STARTING_DEVMESSAGE" xml:space="preserve">    <value>You&apos;re running the development version of the kernel. While you can experience upcoming features which may exist in the final release, you may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_RCMESSAGE" xml:space="preserve">    <value>You&apos;re running the release candidate version of the kernel. While you can experience the final touches, you may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_UNSUPPORTED" xml:space="preserve">    <value>We recommend against running this version of the kernel, because it is unsupported. If you have downloaded this kernel from unknown sources, this message may appear. Please download from our official downloads page.</value>  </data>  <data name="NKS_KERNEL_STARTING_ALPHAMESSAGE" xml:space="preserve">    <value>You&apos;re running the alpha version of the kernel. You may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_BETAMESSAGE" xml:space="preserve">    <value>You&apos;re running the beta version of the kernel. You may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data></root>

    Our recent experiments proved that the resources method was faster than the LocaleStation method when it comes to first startup times due to Windows Defender. We have removed this library from the list of supported libraries, and that all development of LocaleStation will stop.

    The specification will remain maintained, and the Aptivi Development Toolkit (ADT) will provide tools that we’ve developed internally to make dealing with those files easier than before.

    We are still working on the rollout of the .resx file for all libraries, and this may take multiple library releases, depending on the severity of the situation.

    #C_ #csharp #dotnet #Language #libraries #Library #Localization #news #Tech #Technology #update

  10. LocaleStation’s Deprecation

    LocaleStation was released as part of the ongoing effort back in June 2025 to give all our libraries a chance to be translatable to your native language. This kind of effort was studied under the assumption that we’d achieve simpler and faster localization. However, our expectations fell short when we had discovered the massive first startup performance impact on Windows systems.

    This performance impact was especially noticeable on Windows systems where applications like Nitrocid would suffer from longer startup times in both the main application entry point and the addon loading point. This slow down is considered to be unacceptable, especially when an “unrelated” feature would cause this slow down. This is because of the Windows Defender’s Antimalware Service Executable process taking up a majority of the CPU cycles in analyzing the localization files in the first JIT compilation of all libraries and applications that depend on LocaleStation’s generated files.

    As a result, we’ve decided to shut down LocaleStation as a library, and convert all the existing JSON files, with appropriate modifications, to a standard culture-specific resources file that is managed by .NET.

    With Terminaux, we’ve conducted an experimental branch based on the Terminaux 8.0.0 branch that can be found in the x/exp/v8.0.x-loc-resx-poc branch. We’ve used an internal program that converts LocaleStation-compatible JSON files that you can see like below:

    {    "lang": "eng",    "name": "English",    "cultures": [ "en-US", "en-GB" ],    "locs": [        {            "loc": "TEXT_HELLO_WORLD",            "text": "Hello world!"        },        {            "loc": "TEXT_HI",            "text": "Hi!"        }    ]}

    …to the .resx format as in below:

    <?xml version="1.0" encoding="utf-8"?><root>    <!--     Microsoft ResX Schema     Version 2.0    The primary goals of this format is to allow a simple XML format     that is mostly human readable. The generation and parsing of the     various data types are done through the TypeConverter classes     associated with the data types.    Example:    ... ado.net/XML headers & schema ...    <resheader name="resmimetype">text/microsoft-resx</resheader>    <resheader name="version">2.0</resheader>    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">        <value>[base64 mime encoded serialized .NET Framework object]</value>    </data>    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>        <comment>This is a comment</comment>    </data>    There are any number of "resheader" rows that contain simple     name/value pairs.    Each data row contains a name, and value. The row also contains a     type or mimetype. Type corresponds to a .NET class that support     text/value conversion through the TypeConverter architecture.     Classes that don't support this are serialized and stored with the     mimetype set.    The mimetype is used for serialized objects, and tells the     ResXResourceReader how to depersist the object. This is currently not     extensible. For a given mimetype the value must be set accordingly:    Note - application/x-microsoft.net.object.binary.base64 is the format     that the ResXResourceWriter will generate, however the reader can     read any of the formats listed below.    mimetype: application/x-microsoft.net.object.binary.base64    value   : The object must be serialized with             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter            : and then encoded with base64 encoding.    mimetype: application/x-microsoft.net.object.soap.base64    value   : The object must be serialized with             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter            : and then encoded with base64 encoding.    mimetype: application/x-microsoft.net.object.bytearray.base64    value   : The object must be serialized into a byte array             : using a System.ComponentModel.TypeConverter            : and then encoded with base64 encoding.    -->    <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />    <xsd:element name="root" msdata:IsDataSet="true">        <xsd:complexType>        <xsd:choice maxOccurs="unbounded">            <xsd:element name="metadata">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" />                </xsd:sequence>                <xsd:attribute name="name" use="required" type="xsd:string" />                <xsd:attribute name="type" type="xsd:string" />                <xsd:attribute name="mimetype" type="xsd:string" />                <xsd:attribute ref="xml:space" />            </xsd:complexType>            </xsd:element>            <xsd:element name="assembly">            <xsd:complexType>                <xsd:attribute name="alias" type="xsd:string" />                <xsd:attribute name="name" type="xsd:string" />            </xsd:complexType>            </xsd:element>            <xsd:element name="data">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />                </xsd:sequence>                <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />                <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />                <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />                <xsd:attribute ref="xml:space" />            </xsd:complexType>            </xsd:element>            <xsd:element name="resheader">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />                </xsd:sequence>                <xsd:attribute name="name" type="xsd:string" use="required" />            </xsd:complexType>            </xsd:element>        </xsd:choice>        </xsd:complexType>    </xsd:element>    </xsd:schema>    <resheader name="resmimetype">    <value>text/microsoft-resx</value>    </resheader>    <resheader name="version">    <value>2.0</value>    </resheader>    <resheader name="reader">    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>    </resheader>    <resheader name="writer">    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>    </resheader>      <data name="NKS_COMMON_ANYKEY" xml:space="preserve">    <value>Press any key to continue...</value>  </data>  <data name="NKS_KERNEL_NOAPMSIMULATION" xml:space="preserve">    <value>It&apos;s now safe to turn off your computer.</value>  </data>  <data name="NKS_KERNEL_ENVERROR" xml:space="preserve">    <value>Kernel environment error:</value>  </data>  <data name="NKS_KERNEL_FATALERROR" xml:space="preserve">    <value>Nitrocid KS has detected a problem and it has been shut down.</value>  </data>  <data name="NKS_KERNEL_STARTING_DEVMESSAGE" xml:space="preserve">    <value>You&apos;re running the development version of the kernel. While you can experience upcoming features which may exist in the final release, you may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_RCMESSAGE" xml:space="preserve">    <value>You&apos;re running the release candidate version of the kernel. While you can experience the final touches, you may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_UNSUPPORTED" xml:space="preserve">    <value>We recommend against running this version of the kernel, because it is unsupported. If you have downloaded this kernel from unknown sources, this message may appear. Please download from our official downloads page.</value>  </data>  <data name="NKS_KERNEL_STARTING_ALPHAMESSAGE" xml:space="preserve">    <value>You&apos;re running the alpha version of the kernel. You may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_BETAMESSAGE" xml:space="preserve">    <value>You&apos;re running the beta version of the kernel. You may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data></root>

    Our recent experiments proved that the resources method was faster than the LocaleStation method when it comes to first startup times due to Windows Defender. We have removed this library from the list of supported libraries, and that all development of LocaleStation will stop.

    The specification will remain maintained, and the Aptivi Development Toolkit (ADT) will provide tools that we’ve developed internally to make dealing with those files easier than before.

    We are still working on the rollout of the .resx file for all libraries, and this may take multiple library releases, depending on the severity of the situation.

    #C_ #csharp #dotnet #Language #libraries #Library #Localization #news #Tech #Technology #update

  11. LocaleStation’s Deprecation

    LocaleStation was released as part of the ongoing effort back in June 2025 to give all our libraries a chance to be translatable to your native language. This kind of effort was studied under the assumption that we’d achieve simpler and faster localization. However, our expectations fell short when we had discovered the massive first startup performance impact on Windows systems.

    This performance impact was especially noticeable on Windows systems where applications like Nitrocid would suffer from longer startup times in both the main application entry point and the addon loading point. This slow down is considered to be unacceptable, especially when an “unrelated” feature would cause this slow down. This is because of the Windows Defender’s Antimalware Service Executable process taking up a majority of the CPU cycles in analyzing the localization files in the first JIT compilation of all libraries and applications that depend on LocaleStation’s generated files.

    As a result, we’ve decided to shut down LocaleStation as a library, and convert all the existing JSON files, with appropriate modifications, to a standard culture-specific resources file that is managed by .NET.

    With Terminaux, we’ve conducted an experimental branch based on the Terminaux 8.0.0 branch that can be found in the x/exp/v8.0.x-loc-resx-poc branch. We’ve used an internal program that converts LocaleStation-compatible JSON files that you can see like below:

    {    "lang": "eng",    "name": "English",    "cultures": [ "en-US", "en-GB" ],    "locs": [        {            "loc": "TEXT_HELLO_WORLD",            "text": "Hello world!"        },        {            "loc": "TEXT_HI",            "text": "Hi!"        }    ]}

    …to the .resx format as in below:

    <?xml version="1.0" encoding="utf-8"?><root>    <!--     Microsoft ResX Schema     Version 2.0    The primary goals of this format is to allow a simple XML format     that is mostly human readable. The generation and parsing of the     various data types are done through the TypeConverter classes     associated with the data types.    Example:    ... ado.net/XML headers & schema ...    <resheader name="resmimetype">text/microsoft-resx</resheader>    <resheader name="version">2.0</resheader>    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">        <value>[base64 mime encoded serialized .NET Framework object]</value>    </data>    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>        <comment>This is a comment</comment>    </data>    There are any number of "resheader" rows that contain simple     name/value pairs.    Each data row contains a name, and value. The row also contains a     type or mimetype. Type corresponds to a .NET class that support     text/value conversion through the TypeConverter architecture.     Classes that don't support this are serialized and stored with the     mimetype set.    The mimetype is used for serialized objects, and tells the     ResXResourceReader how to depersist the object. This is currently not     extensible. For a given mimetype the value must be set accordingly:    Note - application/x-microsoft.net.object.binary.base64 is the format     that the ResXResourceWriter will generate, however the reader can     read any of the formats listed below.    mimetype: application/x-microsoft.net.object.binary.base64    value   : The object must be serialized with             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter            : and then encoded with base64 encoding.    mimetype: application/x-microsoft.net.object.soap.base64    value   : The object must be serialized with             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter            : and then encoded with base64 encoding.    mimetype: application/x-microsoft.net.object.bytearray.base64    value   : The object must be serialized into a byte array             : using a System.ComponentModel.TypeConverter            : and then encoded with base64 encoding.    -->    <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />    <xsd:element name="root" msdata:IsDataSet="true">        <xsd:complexType>        <xsd:choice maxOccurs="unbounded">            <xsd:element name="metadata">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" />                </xsd:sequence>                <xsd:attribute name="name" use="required" type="xsd:string" />                <xsd:attribute name="type" type="xsd:string" />                <xsd:attribute name="mimetype" type="xsd:string" />                <xsd:attribute ref="xml:space" />            </xsd:complexType>            </xsd:element>            <xsd:element name="assembly">            <xsd:complexType>                <xsd:attribute name="alias" type="xsd:string" />                <xsd:attribute name="name" type="xsd:string" />            </xsd:complexType>            </xsd:element>            <xsd:element name="data">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />                </xsd:sequence>                <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />                <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />                <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />                <xsd:attribute ref="xml:space" />            </xsd:complexType>            </xsd:element>            <xsd:element name="resheader">            <xsd:complexType>                <xsd:sequence>                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />                </xsd:sequence>                <xsd:attribute name="name" type="xsd:string" use="required" />            </xsd:complexType>            </xsd:element>        </xsd:choice>        </xsd:complexType>    </xsd:element>    </xsd:schema>    <resheader name="resmimetype">    <value>text/microsoft-resx</value>    </resheader>    <resheader name="version">    <value>2.0</value>    </resheader>    <resheader name="reader">    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>    </resheader>    <resheader name="writer">    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>    </resheader>      <data name="NKS_COMMON_ANYKEY" xml:space="preserve">    <value>Press any key to continue...</value>  </data>  <data name="NKS_KERNEL_NOAPMSIMULATION" xml:space="preserve">    <value>It&apos;s now safe to turn off your computer.</value>  </data>  <data name="NKS_KERNEL_ENVERROR" xml:space="preserve">    <value>Kernel environment error:</value>  </data>  <data name="NKS_KERNEL_FATALERROR" xml:space="preserve">    <value>Nitrocid KS has detected a problem and it has been shut down.</value>  </data>  <data name="NKS_KERNEL_STARTING_DEVMESSAGE" xml:space="preserve">    <value>You&apos;re running the development version of the kernel. While you can experience upcoming features which may exist in the final release, you may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_RCMESSAGE" xml:space="preserve">    <value>You&apos;re running the release candidate version of the kernel. While you can experience the final touches, you may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_UNSUPPORTED" xml:space="preserve">    <value>We recommend against running this version of the kernel, because it is unsupported. If you have downloaded this kernel from unknown sources, this message may appear. Please download from our official downloads page.</value>  </data>  <data name="NKS_KERNEL_STARTING_ALPHAMESSAGE" xml:space="preserve">    <value>You&apos;re running the alpha version of the kernel. You may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data>  <data name="NKS_KERNEL_STARTING_BETAMESSAGE" xml:space="preserve">    <value>You&apos;re running the beta version of the kernel. You may run into bugs, instabilities, or even data loss. We recommend using the stable version, if possible.</value>  </data></root>

    Our recent experiments proved that the resources method was faster than the LocaleStation method when it comes to first startup times due to Windows Defender. We have removed this library from the list of supported libraries, and that all development of LocaleStation will stop.

    The specification will remain maintained, and the Aptivi Development Toolkit (ADT) will provide tools that we’ve developed internally to make dealing with those files easier than before.

    We are still working on the rollout of the .resx file for all libraries, and this may take multiple library releases, depending on the severity of the situation.

    #C_ #csharp #dotnet #Language #libraries #Library #Localization #news #Tech #Technology #update

  12. In interviews, several members of the U.N.C. chapter of #Alpha #Epsilon #Pi, a #Jewish #fraternity, said they were ⭐️disappointed that the money raised on their behalf was paying for a party.

    They said they would 🔥rather that a significant portion of the money go to a charity that ✅supports Jewish organizations or ✅relief efforts in Gaza.

    “The use of our actions to promote a narrative that we were some
    ❌right-wing, MAGA heroes
    has been a gross misrepresentation and a disservice to many of those who were actually there,”
    said Oliver Levine, a junior at the university and the president of its Alpha Epsilon Pi chapter.

    ☀️ ☀️ ☀️ ☀️ ☀️

    Two dozen or so fraternity members at the University of North Carolina at Chapel Hill shielding a wrinkled American flag from pro-Palestinian protesters who had already taken it down once.

    Republicans, including Donald Trump, were quick to highlight the episode in speeches and videos.

    But a GoFundMe campaign created for the fraternity brothers captured the most attention.

    Its organizer, #John #Noonan, who has worked for a number of Republicans in Washington, wrote on the #GoFundMe page that “#commie #losers” had invaded college campuses
    and that the U.N.C. “#Brohemians” had protected the flag from an “#unwashed #Marxist #horde.”

    So, Mr. Noonan said, he needed America’s help to “throw ’em a #rager.”

    In less than a week, he raised $515,492.

    A moment of heated emotions over the war in Gaza had become the impetus for a giant party that Mr. Noonan said would feature #beer, country #music and #Greek organizations.

    The party, which Mr. Noonan is calling “#Flagstock,” is scheduled for Labor Day
    — the location has not been disclosed because of security concerns
    — and will feature musical guests closely aligned with Mr. Trump.

    ⚠️But despite all the pomp, it has prompted frustrations on the Chapel Hill campus, ⭐️most notably from many of the fraternity brothers who surrounded the flag on the school’s quadrangle that day in April.

    nytimes.com/2024/09/02/us/unc-

  13. Here are some FLOSS/FOSS gaming–related official fediverse accounts (as listed on their official website(s)).

    (in alphabetical order)

    I. Game manager and playtime tracker
    * Lutris — @lutris

    II. FPS (First–person Shooter)
    * Unvanquished (mix RTS+FPS) — @UNVofficial

    III. MMOG (Massively Multiplayer Online Game)
    * Crossfire — @crossfiremrpg

    IV. Platformer
    * SuperTux — @supertux

    V. RTS (Real–time Strategy)
    * 0 A.D. — @play0ad

    VI. Sandbox
    * Minetest — @Minetest

    VII. Sim / Simulation
    * OpenTTD (transport) — @openttd
    * Simutrans (transport) — @simutrans
    * Speed Dreams (racing) — @speed_dreams_official

    VIII. TBS (Turn–based Strategy)
    * FreeCiv — @freeciv

    IX. TBT (Turn–based Tactics)
    * The Battle for Wesnoth — @wesnoth

    ---

    Meta:
    * Games list source: en.wikipedia.org/wiki/List_of_
    * Tags: #gameshogun #Gaming #Games #Game #Gaming #Fediverse #FreeCulture #FLOSS #FOSS #OpenSource

    @gaming @games

  14. Capitolo 414: Chi è Senza Film

    Non fai in tempo a fare due cose, a guardarti qualche film, che già è arrivato l’autunno. La stagione preferita dai cinefili (non c’è un vero motivo, però mi suonava bene) è arrivata, con la promessa, forse non ancora vicinissima ma presente nelle prossime pagine del calendario, di un bel plaid, una tazza di latte caldo e montagne di film. Chi è senza film, può sempre trovare qualche idea tra queste righe, da questa lista (dalla quale ho omesso Alpha e Una Battaglia Dopo l’Altra, due bellissimi film ai quali ho dedicato una recensione più approfondita), che si rimpolpa ogni giorno di più, anche perché fino a giovedì c’è la rassegna “Cinema in Festa”, con tutti i film in sala a 3,50€. Basta parole ora, passiamo ai titoli di questo capitolo.

    Come Ti Muovi, Sbagli (2025): Gianni Di Gregorio è una piccola comfort zone cinematografica. Ho amato molto Pranzo di Ferragosto e Gianni e le Donne, un po’ meno i film seguenti, pur apprezzabili. In questa ultima fatica il regista e attore trasteverino torna a raccontare dinamiche famigliari, con un professore in pensione, fin troppo legato a una routine ben precisa, fatta di passeggiate tranquille, visite al bar sotto casa e silenziose cene in solitaria, alle prese con il ritorno in casa della figlia, con appresso i due nipoti adolescenti. Un terremoto che cambierà drasticamente le abitudini del protagonista, che però troverà l’occasione per aprirsi un po’ più al mondo. Niente di straordinario, ma il cinema di Di Gregorio ti lascia addosso sempre belle sensazioni, qualche sorriso e un po’ di buonumore. Piaciuto.
    •••

    Effetto Notte (1973): Il più grande film sul cinema che sia mai stato realizzato? Probabilmente sì. Ennesimo straordinario titolo della filmografia di François Truffaut, nonché la causa dello storico litigio tra il regista francese e il collega Godard (“Secondo lui dopo il maggio del ’68 non si può più fare lo stesso cinema e ce l’ha con coloro che continuano”, disse Truffaut). A Nizza, una troupe cinematografica sta girando un film drammatico in cui la novella sposa lascia il marito per scappare con il suocero. Le riprese tuttavia sono interrotte continuamente da problemi di vario genere, tra i capricci degli attori, intrallazzi sentimentali, problemi psicologici, gravidanze e incidenti. Un capolavoro che trabocca di amore per il cinema, un’opera meravigliosa, “un film per chi ama il cinema”, come dicevano gli slogan pubblicitari, ai tempi dell’uscita. Non invecchia mai e si gode sempre, scena dopo scena.
    ••••½

    Chi è Senza Colpa (2013): A fine agosto, quando sono rientrato a Roma, sono andato in un mercatino a cercare qualcosa da leggere, visto che avevo finito le scorte di libri. Ho trovato un romanzo di Dennis Lehane, quello di Mystic River per capirci, e l’ho divorato. Poi ho scoperto che c’era un film tratto proprio da quel libro e, che fai, non te lo guardi? Il film in questione è proprio questo, diretto da Michaël R. Roskam, ed è anche l’ultimo della carriera di James Gandolfini. Le vicende ruotano intorno a un bar (che nel film è stato spostato da Boston a New York), dove la criminalità locale di solito nasconde denaro sporco. I due baristi, Gandolfini e Tom Hardy, si fanno poche domande, mantengono un profilo basso, almeno finché nel bar non avviene una rapina, che scatenerà tutta una serie di eventi (tra cui il ritrovamento di un cucciolo di pitbull e un incontro con Noomi Rapace). Il film è fedelissimo al libro, qualche dettaglio a parte, e scorre via come uno shot di tequila. Funziona bene, nonostante non sia l’opera più originale mai vista. Ce lo facciamo bastare.
    •••½

    La Riunione di Condominio (2025): Una delle sorprese più piacevoli di questo inizio di stagione cinematografica arriva dalla Spagna ed è diretta da Santiago Requejo. Il film si svolge interamente dentro una stanza ed è tratto da un’opera teatrale del 2022 (a sua volta ispirata a un cortometraggio dell’anno prima): una classica riunione di condominio incentrata sulla sostituzione di un ascensore, sfocia nel tragicomico quando uno dei condomini annuncia di aver trovato un inquilino per il suo appartamento, sfitto da tempo. L’inquilino in questione è un collega che ha avuto dei problemi di salute mentale, una notizia che getta nello scompiglio gli altri abitanti dell’edificio, pronti a darsi battaglia sulla base di pregiudizi, sospetti e paure. Da un’idea così semplice, un racconto esilarante, dove si ride di gusto e, al tempo stesso, si riflette sulla natura degli esseri umani, sulla cattiveria, il pregiudizio, la paura di ciò che è diverso. Geniale.
    •••½

    I Tre Giorni del Condor (1975): La scomparsa di un gigante come Robert Redford ha spiazzato un po’ tutti gli amanti del cinema. So che era sciocco pensare che sarebbe stato eterno (e a suo modo comunque lo è eccome), ma semplicemente non ce l’aspettavamo. Come spesso accade quando va via un mostro sacro del cinema, ci viene voglia di vedere o rivedere alcuni titoli della sua carriera. Non credo avessi mai visto questo classico di Sidney Pollack e mi rallegro di aver colmato questa lacuna, dall’incipit assolutamente travolgente: Redford, collaboratore della CIA, è l’unico superstite di una sezione di ricerca newyorkese, sterminata da una banda capeggiata da Max von Sydow. Il nostro, conscio che qualcuno gli sta dando la caccia per terminare l’opera, fugge per New York in preda alla paranoia, trovando un valido aiuto in Faye Dunaway. Se la prima metà del film è assolutamente coinvolgente, la seconda parte si perde un po’ in una spy story affrettata e leggermente sottotono rispetto alle premesse iniziali. Ciò non toglie che si parla di un grande film, ennesima perla di un miracoloso decennio di grande cinema.
    •••½

    #chièSenzaColpa #Cinema #comeTiMuoviSbagli #daVedere #effettoNotte #film #iTreGiorniDelCondor #laRiunioneDiCondominio #recensione

  15. Recensione “Alpha”: Tra Venti Rossi e Vene di Pietra

    Nel bellissimo Titane, film precedente di Julia Ducournau, Vincet Lindon insegnava alla protagonista del film come fare un massaggio cardiaco canticchiando Macarena. Qui a fare i massaggi cardiaci c’è invece la splendida dottoressa Golshifteh Farahani, già musa di Ridley Scott, Asghar Farhadi e Jim Jarmusch, tra gli altri. Forse tutto Alpha è un lungo massaggio cardiaco alle emozioni dello spettatore, continuamente messo alla prova dagli sbalzi ermetici di un film molto bello, che come il precedente farà discutere, dividerà, ma che innegabilmente è in grado di scavare nel profondo grazie anche a tre interpretazioni pazzesche (Tahar Rahim diventa sempre più bravo a ogni film).

    La giovane Alpha un giorno torna a casa con la lettera A incisa sul braccio, una ragazzata che getta sua madre, dottoressa single, nel panico: in giro infatti c’è un virus ematico che pietrifica le persone, rendendole simile a statue di marmo (lo stesso virus contratto anni prima dal fratello della dottoressa). Per sapere se la ragazza è stata contagiata servono però due settimane: un attesa snervante per una 13enne che deve vivere ogni giorno in una classe di coetanei che, adesso, cercano di evitarla in ogni modo.

    Il mondo del film, senza cellulari, senza internet e tecnologie simili, somiglia in maniera inquietante agli anni 80 in cui siamo cresciuti anche noi, con il terrore dell’AIDS che rendeva spaventosa ogni passeggiata per strada (“guarda sempre a terra, attento a non calpestare siringhe”, ci dicevano gli adulti). Il riferimento all’HIV non è neanche tanto nascosto, in questa allegoria che abbellisce esteticamente la malattia, ma che al tempo stesso ci mostra quanto sia spietata e pericolosa. La chiave di tutto forse è in una poesia di Edgar Allan Poe, Un sogno dentro un sogno, che viene spiegata a lezione di inglese nella classe di Alpha, dove il poeta racconta cosa significa perdersi durante il cammino dell’esistenza, quando la disperazione prende il sopravvento e non si riesce più a distinguere cosa sia reale e cosa sia, per l’appunto, un’illusione. Alpha, infatti, è un film sulle difficoltà di essere adolescenti, su quanto sia difficile essere madre di una ragazza in crisi e sorella di un uomo disperato, sopraffatto dalla tossicodipendenza, ma soprattutto, come dicevo, è un lungo massaggio cardiaco: c’è un costante bisogno di aggrapparsi alla vita, di curare, di salvare, di salvarsi.

    Dopo la Palma d’Oro con Titane, la regista francese realizza forse il suo film più bello, sicuramente il più cupo e disperato, dove le montagne russe tra la corsia di un ospedale (dove c’è spazio anche per l’ottimo francese dell’infermiera Emma Mackey!) e la casa-ambulatorio delle protagoniste altro non sono se non quella stessa spiaggia dorata dove il poeta di cui sopra soffriva della sua incapacità di trattenere la sabbia nella mano: tutti cerchiamo qualcosa di solido a cui aggrapparci, ma ciò che cerchiamo si trova sempre di fronte a un cambiamento perpetuo, inarrestabile, forse davanti a una realtà effimera, che soffia come il maledetto vento rosso delle maledizioni berbere.

    #alpha #Cinema #cosaVedere #daVedere #diCheParla #film #juliaDucournau #locandina #poesia #recensione #significato #spiegazione #unSognoDentroUnSogno #ventoRosso #virus

  16. Tandis qu’à l’intérieur du Sénat barricadé, on examine le projet de loi le plus liberticide depuis les heures sombres, à l’extérieur, on n’a pas encore renoncé.
    La liberté, c’est une conquête, on se battra pour la garder ✊
    #StopLoiSecuriteGlobale #16mars

  17. Ein bekannter Hersteller für #Powerstations ist #AlphaESS. Die Station #BlackBee1000 haben wir schon vorgestellt, heute folgt die größere AlphaESS #BlackBee2000. Der #Generator bietet 2.203 Wh, Spitzenleistungen bis zu 3.000 W sind für kurze Zeit möglich. An der Front findet ihr vier 230V Steckdosen, 4x USB-A mit 36 Watt sowie zwei USB-C Anschlüsse mit jeweils 60 Watt Power Delivery.

    Zum Test: appgefahren.de/?p=352187

    #appgefahren #Apple #AppleBlog #iPhone #iPad #Mac #Powerstation #Akku