all TV Shows: All By thefanlistings.org Published On :: Mon, 11 Nov 2024 20:49:04 +0000 Upcoming TV Shows (Not open for application) Full House; Torchwood Finished TV Shows (Not open for application) Saved by the Bell: The New Class Moved TV Shows (Not open for application) No moved forms have been received since the last update. Closed TV Shows (Open for application) No closed forms have been received since the […] Full Article TV Shows
all Musicians: Bands/Groups – All By thefanlistings.org Published On :: Tue, 12 Nov 2024 18:43:49 +0000 Upcoming Musicians: Bands/Groups D’espairsRay; Kagrra,; Loona; Rentrer en Soi; Rise Against; tripleS Finished Musicians: Bands/Groups SR-71; Wallflowers, The Moved Musicians: Bands/Groups No moved forms have been received since the last update. Closed Musicians: Bands/Groups (Open for application) No closed forms have been received since the last update. Overdue Musicians: Bands/Groups No overdue fanlistings. Overdue: Temporary […] Full Article Musicians: Bands/Groups
all Predatorwallpaper.com Redirect By www.pcrisk.com Published On :: Tue, 12 Nov 2024 00:41:11 +0000 What kind of website is predatorwallpaper.com? Predatorwallpaper.com is the address of a fake search engine that we discovered while investigating the Predator Search browser hijacker. It modifies browser settings to cause redirects to this search engine, which cannot provide search results. It is pertinent to mention that predatorwallpaper.com could be endorsed by other browser hijackers, and the same is true of Predator Search (i.e., redirect to different sites). Full Article Removal guides
all Aethir ($ATH) Allocation Scam By www.pcrisk.com Published On :: Tue, 12 Nov 2024 12:48:47 +0000 What is the fake "Aethir ($ATH) Allocation" website? "Aethir ($ATH) Allocation" is a scam imitating the Aethir platform (aethir.com). This scheme entices users to inadvertently expose their digital wallets to a crypto drainer by promoting an allocation increase of ATH cryptocurrency. Victims of this scam experience financial loss. Full Article Removal guides
all Halloween 2024 By www.google.com Published On :: Date: October 30, 2024 Location: Global Tags: Full Article
all Audi A3 allstreet 40 TFSI e: Новый подключаемый гибрид с электрическим запасом хода до 140 км By gagadget.com Published On :: Wed, 13 Nov 2024 09:43:00 +0200 Full Article audi автомобили
all Tucker Carlson calls Robin DiAngelo’s book, “White Fragility,” “an utterly ridiculous book,” “poisonous garbage,” and “a crackpot race tract” By www.cpa-connecticut.com Published On :: Sat, 27 Jun 2020 13:32:49 +0000 "In sum, 'White Fragility' is an utterly ridiculous book. ... Everything about 'White Fragility' is poisonous garbage, and it's not an overstatement." Continue reading → Full Article Accountants CPA Hartford Articles "White Fragility" is a wildly popular book Author makes money telling people they are racist Book props up worst offenders of injustices Book says you're racist no matter who you are Effort to turn schools into woke propaganda mills Elite author oblivious to country's real problems Feeling threatened is proof that you are racist Louis Farrakhan Robin DiAngelo so discomfort is necessary and important The point of the book is to demoralize you Tucker Carlson Tucker Carlson calls Robin DiAngelo's book "White Fragility" "an utterly ridiculous book" "poisonous garbage" and "a crackpot race tract" Tucker Carlson calls Robin DiAngelo's book "White Fragility" "an utterly ridiculous book" and "poisonous garbage" Tucker Carlson Tonight June 24 2020 University of Kentucky We are socially penalized for challenging racism White comfort maintains the racial status quo White Fragility White Fragility makes ridiculously false claims
all Glenn Greenwald says that the Democratic Party, NSA, CIA, Neocons, Silicon Valley, Wall Street, mainstream media have united to impose an authoritarian government of censorship and suppression of information By www.cpa-connecticut.com Published On :: Sat, 31 Oct 2020 01:13:57 +0000 The CIA from the very first days of the Trump administration, even before he was inaugurated, devoted themselves to sabotaging the administration because Donald Trump questioned just a few of their pieties. And that can't be done in Washington. Whoever does that must be destroyed. And so the CIA and the Deep State operatives became heroes of the liberal left, the people who support the Democratic party. They're now in a full union with the neocons, the Bush Cheney operatives, the CIA, Silicon Valley, and Wall Street. That is the union of power along with mainstream media outlets that are fully behind the Democratic party, which is likely to at least take over one branch of government, if not all of them, with the coming election, and that is a very alarming proposition because they're authoritarian, they believe in censorship, and they believe in suppression of information that exposes them in any kind of a critical light. Continue reading → Full Article Accountants CPA Hartford Articles Bush Cheney CIA deep state Edward Snowden FBI Glenn Greenwald Glenn Greenwald says that the Democratic Party NSA CIA Neocons Silicon Valley Wall Street have united to impose an authoritarian government of censorship and suppression of information Guardian Intercept James Clapper Joe Biden John Brennan mainstream media Mike Hayden NSA October 29 2020 Russia disinformation Silicon Valley Substack Tucker Carlson U.S. government Wall Street
all The government is instructing social media companies what shouldn’t be allowed to be on the internet even though these companies are the least competent to judge what is misinformation By www.cpa-connecticut.com Published On :: Wed, 21 Jul 2021 22:55:53 +0000 The government is instructing social media companies what should and shouldn't be allowed to be on the internet, these are the people least competent to judge what is misinformation. Continue reading → Full Article Accountants CPA Hartford Articles Ben Shapiro Biden administration disinformation Donald Trump Facebook free press freedom Glenn Greenwald Hillary Clinton Huffington Post Jen Psaki Laura Ingraham misinformation New York Post NPR Silicon Valley The Angle The Atlantic The Daily Wire The government is instructing social media companies what shouldn't be allowed to be on the internet even though these companies are the least competent to judge what is misinformation The Guardian The left-wing media is trying to silence the right-wing media and censor free speech The New York Times
all FBI CIA NSA are not only spying on American citizens but also are illegally unmasking their identities to journalists who support our fascist government By www.cpa-connecticut.com Published On :: Thu, 29 Jul 2021 22:47:31 +0000 FBI CIA NSA are not only spying on American citizens but also are illegally unmasking their identities to journalists who support our fascist government Continue reading → Full Article Accountants CPA Hartford Articles barefoot accountant Erik Wemple FBI CIA NSA are not only spying on American citizens but also are illegally unmasking their identities to journalists who support our fascist government Glenn Greenwald Intelligence Community January 6th July 28 2021 NSA Substack The Record The Washington Post Tucker Carlson Tucker Carlson Tonight william brighenti
all Тур METALLICA претендует на награду Pollstar By www.darkside.ru Published On :: Tue, 12 Nov 2024 05:45:16 GMT Pollstar, ведущее отраслевое издание индустрии живых развлечений, с радостью объявляет номинантов на 36-ю ежегодную премию Pollstar Awards. Эти награды - главное событие трехдневной конференции Pollstar Live!, крупнейшей в мире встречи профессионалов индустрии, эти награды признают и отмечают самых инновационных и успешных артистов, туры, компании, площадки и руководителей. Победители будут объявлены на церемонии награждения в отеле Beverly Hilton в Лос-Анджелесе 19 февраля 2025 года. Среди знаменитостей, которые в прошлом были ведущими церемонии и участвовали в ней, - Dave Chappelle, Dave Grohl, Sir Elton John, Don Henley, Sebastian Maniscalco, Lars Ulrich и другие. В номинации "Rock Tour Of The Year" на награду претендуют: Blink-182’s “The More Time Tour” Bruce Springsteen And The E Street Band’s “2024 World Tour” Coldplay’s “Music Of The Spheres World Tour” Foo Fighters’ “Everything Or Nothing At All Tour” Green Day’s “The Saviors Tour” Metallica’s “M72 World Tour” В категории "Residency Of The Year" на награду претендуют: Adele at The Colosseum at Caesars Palace/Neue Messe München Billy Joel at Madison Square Garden Dead & Company at The Sphere Eagles at The Sphere Jason Isbell And The 400 Unit at Ryman Auditorium U2 at The Sphere #Metallica #ModernRock #Modern_Rock #AvantgardeRock #Avantgarde_Rock #HeavyMetal #Heavy_Metal #ProgressiveMetal #Progressive_Metal #SymphonicMetal #Symphonic_Metal #ThrashMetal #Thrash_Metal #AvantgardeMetal #Avantgarde_Metal Full Article
all Halloween Projects and Specials By www.evilmadscientist.com Published On :: Tue, 17 Oct 2023 00:32:43 +0000 It’s time for our annual reminder that we love Halloween! Our Halloween Project Archives is a great resource for inspiration and ideas. Halloween is one of our favorite holidays, and … we’ve organized dozens of our Halloween projects into categories: costumes, pumpkins, decor and food. Full Article EMSL Projects Halloween LEDs
all Manga Review: THE SMALL-ANIMALLIKE LADY IS ADORED BY THE ICE PRINCE is on its way to melt hearts By www.comicsbeat.com Published On :: Tue, 12 Nov 2024 17:00:32 +0000 The Small-Animallike Lady is Adored by the Ice Prince is a brand new romance manga from Yen Press. This first volume takes us to a familiar setting where there's a royal arranged marriage involved, and some frozen hearts are melted along the way! Full Article Comics Manga Reviews Yen Press agu ao hisui mugi sawai romantasy the small animallike lady is adored by the ice prince
all Exclusive: Michael Allred’s MADMAN to be released in 6 OMNIBUS editions By www.comicsbeat.com Published On :: Tue, 12 Nov 2024 20:00:05 +0000 Dark Horse Comics has announced a six-volume Madman Omnibus release featuring Michael Allred's classic character, slated for release in 2025. Full Article Dark Horse Top News Laura Allred Madman Michael Allred omnibus editions
all What Shakespeare Can Teach Us About Enlightenment: All the world’s a stage By www.enlightenmentpodcast.com Published On :: Mon, 23 Jul 2012 08:12:26 +0000 When I was an undergraduate at university many years ago, my deep enjoyment and love for the works of William Shakespeare blossomed. I had the privilege of taking a Shakespearean class and then during one summer in my undergraduate years, I was able to travel through Europe inexpensively on a bike and a Europass to see the great sites. A memory I remember most is going to Stratford-upon-Avon and watching a William Shakespeare play. I don’t know where my passion and love for his plays comes from but it has been a deep part of my life. His writings have also taught me many things. When I was in England many years ago for the first time, I was standing in the back of the audience watching the play ‘As You Like It’ that was performed not too far from the ... Read More »The post What Shakespeare Can Teach Us About Enlightenment: All the world’s a stage appeared first on Enlightenment Podcast. Full Article Articles Advaita Vedanta Awareness Bliss Dr. Puff Dr. Robert Puff emptiness Enlighten Enlightenment Podcast Meditate Meditation meditation enlightenment Mental Health Mindfulness Musings on "I Am That" non-duality nonduality Peak-Experience Podcast Self-Actualization Self-Help spiritual enlightenment
all The NYSE Stumble Offers a Lesson for All Leaders By strategystreet.blogspot.com Published On :: Thu, 07 Apr 2011 00:00:00 +0000 Recently, the New York Stock Exchange agreed to sell itself to the German exchange, Deutsche Boerse. For generations, the NYSE was the place to trade equities of the finest companies in the U.S. Its sale to a German exchange is a sign of how desperate its market situation has become. The NYSE’s fall offers some important lessons for a market leader in any industry. The NYSE’s market share has fallen out of bed. Six years ago, 75% of the traded shares of companies listed on the New York Stock Exchange traded on that exchange. Today, only 35% of those shares trade on the NYSE. This precipitous fall came because the NYSE fell behind in both service and price. The market changed and new competitors emerged. First, the market changed. High frequency traders, using computerized trading algorithms, do two-thirds of share trades today. These market-dominating customers demand the highest speeds in their transactions and the industry’s lowest prices. The New York Stock Exchange struggled to meet these requirements. Second, new competition emerged. There are roughly fifty trading venues which will provide these high-frequency traders with fast services and low prices. The majority of these venues did not even exist ten years ago. They sprang up using relatively inexpensive computers in low-cost outlying and suburban locations. These new trading venues offer newer, faster technology and lower prices than the NYSE. The NYSE held a price umbrella over these emerging firms. The new firms grew and became ever more capable. Today, they can compete and win in competition for even small trades. The New York Stock Exchange was a dominant market leader. Its precipitous fall holds lessons for all market leaders in any market. Among these lessons are these: 1. Always protect your relationships with the industry’s heart-of-the-market customers. These are the key, primary and secondary relationships with the industry’s large customers, those purchasing 80% of the industry’s unit volume. These key relationships usually hold 65% or so of the total industry sales. 2. Avoid consistent failure with these heart-of-the-market relationships, especially failures in function and price. Customers generally will not leave an established relationship until their supplier fails them. Any failure, especially consistent failure over time, opens the customer relationship to other competitors. 3. Parry fast-growing competitors at any price point. The fast growth of these competitors tells us that customers like what they offer. Their growth in share will not stop until the market leader itself puts an end to it. The NYSE has allowed many new competitors into its marketplace. It would have been much easier to stop them when they were much smaller or, indeed, even before they entered the market. This market will consolidate again into far fewer competitors. But now it is going to be a bloody fight. 4. Fix the products that are losing share in the heart-of-the-market. Customer retention is important in any market, but it is critical in markets where prices are falling. The first demand of product innovation is to fix problems that cause the company to lose customer relationships. 5. Cover any price point your heart-of-the-market customer purchases. Companies often have price point biases, either against a low price point because it pulls down margins, or against a high price point because it makes operations less efficient. If the heart-of-the-market customers are buying the price point, you have to cover it. 6. In a falling price environment, develop pricing that discourages competition. This pricing can, and should, involve more than simple reductions in list prices. There are several components of a price. The NYSE can use these components to beat back many of these competitors. In a low, or falling, price environment, the only real function that price serves is to discourage competitors from competing for your customers. Ultimately, low prices push competitors out of the marketplace. This takes a long period of time when there are as many competitors as the NYSE faces today. 7. Develop and exploit economies of scale to support the falling prices the company faces and to maintain the best returns in the industry. The NYSE is still the largest competitor in the market. It no longer enjoys dominant share, but it is still large enough to create a more productive cost structure, especially by matching benefits and overhead costs to customer segments and eliminating benefits that customers do not need. Full Article New York Stock Exchange
all Final Call By stuckincustoms.com Published On :: Tue, 15 Oct 2024 16:01:00 +0000 If my timezone calculations are right, today is the final day of the latest Peak Design Kickstarter. They’ve some cool new bags, see below, which you can grab via this link! I’ve gone for the 7L Sling along with a backpack… in cloud. An ideal mix to cover short and long hikes/photo adventures. Oh, and […] The post Final Call appeared first on Stuck in Customs. Full Article Travel
all Another Gallery of Ideas By stuckincustoms.com Published On :: Sun, 20 Oct 2024 20:01:00 +0000 More from the MidJourney archive… The post Another Gallery of Ideas appeared first on Stuck in Customs. Full Article artificial intelligence AI generative
all The Next Gallery By stuckincustoms.com Published On :: Sat, 02 Nov 2024 22:30:48 +0000 More image musings from the @trairatcliff account… The post The Next Gallery appeared first on Stuck in Customs. Full Article artificial intelligence AI Art Midjourney
all Just Call Me Super Dog By vickdogsblog.blogspot.com Published On :: Thu, 28 Jun 2012 04:12:00 +0000 This weekend I dressed up and went on a walk with all my friends incognito. I thought that my outfit would let me enjoy the day quietly and the people would pay attention to my sister, Lulu, and my foster sister, Tallulah. Thats Lulu on my left and Tallulah on my right. My plan backfired a little. As we walked the people along the way kept calling me. "Super Dog! Super Dog!" they kept shouting. I have to admit it was cool to be Super Dog for a day! hugs, Uba Full Article
all Planet-heating pollution to hit all-time high, dashing hopes it would start to drop in 2024 By www.yahoo.com Published On :: 2024-11-13T07:09:18Z Full Article
all Why do I call myself a Pagan? By robbby-robinson.blogspot.com Published On :: Tue, 28 Jun 2011 14:58:00 +0000 Don't forget your Supplies!In this post, I aim to explore why I think I am a Pagan. This post will not define Paganism or Neo-Paganism more generally. These terms are very broad, and it is beyond my ability to express what is or is not a Pagan or Neo-Pagan experience. 1. I am Pagan because I believe that the natural world is ensouled. I can't define the soul or its capacity or limitations, but I experience it all around me.2. I believe that the Abrahamic religions do not have a corner on truth and that their most valuable messages evolved from far more ancient insights which continue to be available to all human beings whose minds and hearts are open.3. I believe that all thea/ological discourse about the sacred is just folks talking about something they'll never understand. I can tell you what I think God/ess is all day and night. I can be as clever and convincing as hell, but it still doesn't amount to a hill of beans. The Ineffable will be what it will be regardless of my cheek. We aren't going to expand or limit Divinity whatever we say, think, or believe. However, when we limit our conceptualization of the Sacred to that which most closely resembles the powerful, the conventional, and the abusive in our society, then we limit who we are and what we might become, and that's a shame.4. So-- I believe that we should be mindful and creative with our theo/alogical language and musings to encourage ourselves to grow toward our potential. I believe that when we speak of "God/dess" we are reflecting our best hopes for ourselves into the Cosmos. When we dream of divinity, we can either sanctify all the meanness and injustice humanity has already mastered or we can sing out our human potential for brilliance, warmth, diversity, and love.5. Language may only be a construct, but what a construct! What we build with our language is our choice. I am Pagan because I am playful with spiritual language. We need to remember that God is not male. Nor is God white or European or human for that matter. God is not even "God". That word too is merely a construct, a symbol, a signifier. Learning to imagine the Divine in many forms, genders, cultures, species, relationships, and concepts reminds me that the Sacred is not one objective thing or person but is manifest in all life and in all times. It helps me remember that I can find divinity in unexpected people and unexpected places. It helps me look for the Sacred everywhere and in everybody.That's about it, I guess. My Paganism doesn't define whether I believe in God or Goddess or a singular or plural deity. It doesn't tell me how I should worship or with whom. Paganism is not what I believe. It is what I do. It is a strategy and a discipline. It is not an answer to my questions about life and death or the nature of the Divine. It is a pattern of thought and intent that encourages me to continue asking unanswerable questions. It encourages me to play and think and wonder and to try as hard as ever I can to understand not the Cosmic Mystery, but maybe just the little bit that resides in me and which is mine to share. Full Article Paganism Spiritual Strategy
all SwitchBot Wallet Finder Card review – Eliminates that “Oh crap, where is it!” feeling! By the-gadgeteer.com Published On :: Tue, 12 Nov 2024 13:00:08 +0000 REVIEW – It’s a punch-to-the-gut, sinking, black hole feeling to reach into a pocket, pack, or purse and find your missing wallet. Adding a SwitchBot Wallet Finder is a remedy to a common problem that fits the pocketbook – pun intended! ???? What is it? The SwitchBot Wallet Finder card is a Bluetooth device that […] Full Article Reviews tracker
all Happy Halloween! By sarahbethdurst.blogspot.com Published On :: Thu, 31 Oct 2024 14:09:00 +0000 Full Article
all 24 Things, Many of Which Are Still Likely To Be Elephants or Bears, Especially Elephants; But Also It’s Vanishingly Unlikely There’ll Actually Be 24 of Them, or Even Close - Thing One. And Possibly Only. By johnfinnemore.blogspot.com Published On :: Fri, 01 Dec 2023 21:12:00 +0000 Alt text: a stylish woman in a coat, who is emphatically neither an elephant nor a bear. Not everyone is. Full Article
all As Someone Quite Rightly Points Out, Actually an Entirely Uncertain Number of Things - Things Eight and Nine By johnfinnemore.blogspot.com Published On :: Sun, 10 Dec 2023 23:57:00 +0000 Alt Text: Two dog walkers, walking two dogs. (It looks as if I've whimsically made it look like one of the dogs is interested in a butcher's signboard advertising sausages, but actually it wasn't me who did that. It was the dog.) Full Article
all Ken and Robin Talk About Stuff: It Would Totally Match Her Raven By robin-d-laws.blogspot.com Published On :: Fri, 24 Jul 2020 12:19:00 +0000 In the latest episode of their inescapable podcast, Ken and Robin talk forecasting player behavior, cats, the creative importance of napping, Loie Fuller, and saving Houdini. Full Article
all To Earth with Love :: Take 20% off all World Maps! By natgeomaps.blogspot.com Published On :: Wed, 15 Apr 2009 16:36:00 +0000 Show your love for Mother Earth this Earth Day! For the month of April, take 20% off our entire line of World maps. All proceeds from the sale will go to support the Society’s many worldly causes. Use code EARTHLOVE09.Take 20% off All World Maps!1. Visit natgeomaps.com/vip2. Register with your email address and the code above in the "New Member Registration" area.3. Enter the required information and create an account.BUY NOW › Full Article cool map stuff geography education map history National Geographic maps online maps world maps
all Federal Government Boosts Australian Cardiovascular Alliance’s Mission to Combat Cardiovascular Disease and Stroke - News Hub By news.google.com Published On :: Wed, 13 Nov 2024 05:34:31 GMT Federal Government Boosts Australian Cardiovascular Alliance’s Mission to Combat Cardiovascular Disease and Stroke News Hub Full Article
all Right now, the Sun is far more active than predicted – and small satellites are paying the price - The Conversation By news.google.com Published On :: Tue, 12 Nov 2024 03:03:00 GMT Right now, the Sun is far more active than predicted – and small satellites are paying the price The ConversationUnpredictable Solar Activity Sends Satellites Plummeting to Earth ScienceAlert Full Article
all North Melbourne announces three-year Western Australia agreement - North Melbourne Football Club By news.google.com Published On :: Tue, 12 Nov 2024 22:30:00 GMT North Melbourne announces three-year Western Australia agreement North Melbourne Football ClubRoos end 14-year relationship amid bold new location for AFL games Fox SportsNorth Melbourne takes 'home' AFL matches to Western Australia ABC NewsEagles set for extra WA game West Coast Eagles Full Article
all Brisbane Broncos star Ezra Mam charged over head-on collision, allegedly failing second drug test - ABC News By news.google.com Published On :: Wed, 13 Nov 2024 04:32:57 GMT Brisbane Broncos star Ezra Mam charged over head-on collision, allegedly failing second drug test ABC NewsBrisbane news live: Broncos’ Ezra Mam charged over drug test result after crash | Stab victim’s widower wants knife checks in schools | Dog rescued near abandoned boat Brisbane TimesBroncos player charged after car crash: 9News Latest Stories Season 2024, Short Video 9NowEzra Mam issued court notice after allegedly failing secondary drug test Fox SportsClub Statement: Ezra Mam Broncos Full Article
all All-time reaction to coaching ‘disaster’; Steph’s stunning clutch moment: NBA Wrap - Fox Sports By news.google.com Published On :: Wed, 13 Nov 2024 07:12:35 GMT All-time reaction to coaching ‘disaster’; Steph’s stunning clutch moment: NBA Wrap Fox SportsBike rides and Balkan music: Klay Thompson is embracing a fresh start with the Mavericks ESPN Australia10 unforgettable Klay Thompson moments with Warriors ahead of return NBA.comDub Hub: Warriors players share ‘welcome back’ messages for Klay Thompson’s return Golden State of Mind Full Article
all Apple reportedly releasing a wall-mounted smart home tablet in 2025 - and yes, it does AI - Yahoo Finance Australia By news.google.com Published On :: Tue, 12 Nov 2024 23:53:38 GMT Apple reportedly releasing a wall-mounted smart home tablet in 2025 - and yes, it does AI Yahoo Finance AustraliaApple’s next device might make your home a lot smarter Sydney Morning HeraldApple's Next Big Move Could Be Home Security Cameras PCMag AU Full Article
all ASX falls as banks drop; MinRes sinks, James Hardie rallies - The Australian Financial Review By news.google.com Published On :: Wed, 13 Nov 2024 05:28:00 GMT ASX falls as banks drop; MinRes sinks, James Hardie rallies The Australian Financial ReviewWages growth slows, CBA logs flat first-quarter profit, ASX falls — as it happened ABC NewsMarkets today: ASX slides as ‘Trump trade’ peters out on Wall Street; miners, banks fall Sydney Morning Herald Full Article
all John Pesutto chalks up a first-time victory over Jacinta Allan in latest Resolve poll - The Age By news.google.com Published On :: Tue, 12 Nov 2024 18:00:00 GMT John Pesutto chalks up a first-time victory over Jacinta Allan in latest Resolve poll The AgeView Full coverage on Google News Full Article
all As it happened: Donald Trump ally taunts Kevin Rudd; WiseTech shareholders launch class action - Sydney Morning Herald By news.google.com Published On :: Wed, 13 Nov 2024 07:01:11 GMT As it happened: Donald Trump ally taunts Kevin Rudd; WiseTech shareholders launch class action Sydney Morning HeraldDitching Rudd over Trump insults would be ‘worst possible signal’: Turnbull Sydney Morning HeraldSenior Liberal calls for Rudd to be sacked after Trump advisor suggests US ambassador is on thin ice 9News Full Article
all This call is being recorded for quality. By onfundraising.blogspot.com Published On :: Sat, 15 Dec 2007 09:34:00 +0000 Call center technology is constantly improving. Most modern call-centers record at least some portion of the conversations they initiate. Who listens to these recordings. And what eventually happens to them?What does this mean for charitable solicitations?A typical call for me starts something like this;Me: Hello I'm Henry calling from XXX organization on behalf of the Save the Giant Sequoia Tree foundation. Hows it going today Mr X?Mr X: Fine, how are you today?Me; I'm good thanks for asking, not a lot of people do. (this gets a chuckle as often as not, and its true.)Me: Mr X, I'm going to try to keep things quick today but first I do need to know that this call could be monitored and is recorded for my quality.Mr X: Ah go ahead the damn government is recording everything we say anyway....Conversations can go into anywhere from a mild rant against the Bush administration to an all out call for violence made in jest, typical stuff you might hear on The Bill Mahr show. But what the Donor may not realize is that that conversation doesn't necessarily go away, ever.Ive done fundraising for organizations like the Democratic National Committee, The A.C.L.U and the Human Rights Campaign. At the start of each call we inform donors that their call could be recorded to ensure quality control.A.C.L.U donors are the most likely to hang up the phone at that point caring too much about their right to privacy to allow themselves to be recorded.But what about the callers who don't hang up? Ive spoken to extremely opinionated people whohave pulled no punches when it come to their opinion on the current presidential administration, the war on terror, and other highly charged issued.Politicians have been cursed threats have been made as well as off color jokes.Could this information be used against a person?With the warrant-less wiretapping that we know is going on in this country,how smart is it for organizations to save recordings of people?Donors tend to say anything to an anonymous fundraiser on over the phone. But is it really anonymous. Do the donors have a right to know what becomes of their voice recordings.I think that call-centers, especially in the fundraising industry, should have a published policy on what they will and will not do with Donor's information, including voice recordings.Technology and political realities have raced beyond past practices. Its time for call-centers to catch up.What I can tell you as a professional fundraiser is that.You have the right to end the conversation at any time, although I and your organization wish you wouldn't.You have the right to request more information about where I'm calling from and what my particular call-center will do with any of your information, including recordings of your voice. ( If your the curious type this might be fun to do anyway)The Front-line people who call you, me, have no control over when or why you are called; its all done by computer.The national no call-list has little bearing on non-profits, or their agents, (me). Call-centers that do fundraising have their own internal do-not-call lists; ask to be on it and we are obligated to put you on it. You should also let your charities know, by phone, or in writing, that you don't want to be called, or to have your name sold or traded to other organizations.Reputable fundraisers charge a flat fee per call. Yes or no, we get the same amount for making the call. It doesn't have to be this way however, Some fundraising agents can keep 80% (or more!) of the revenue a solicitation campaign generates. You have the right to know just what those percentages are; if the person you are speaking to doesn't know, ask for a supervisor. Some states also have laws that obligate fundraising groups to send a written copy of this information to any donor that asks, you'll need to contact your attorney general's office to see if your state is one.Last note; Federal law prohibits us from recording your credit card information, this is the one part of the call that isn't recorded.I hope this quick rundown of the issues stirs some discussion. Ill follow up with more on telephone fundraising in the coming days. Full Article abortion aclu fbi fundraising government hrc human rights campaign iraq naral non-profits privacy reproductive healthcare war on terror wiretapping
all The etymologies of ballot and bigot By languagelog.ldc.upenn.edu Published On :: Wed, 06 Nov 2024 12:30:50 +0000 That's all I've got, so far, for linguistic commentary on the U.S. election results. According to the OED, the etymology of ballot is < (i) Middle French ballotte (French †ballotte) small ball (beginning of the 15th cent. as †balote), small coloured ball placed in a container to register a secret vote (1498) or its etymon […] Full Article Etymology
all From now on, the title of the post is allowed to just be "January 2024" (only when it is January 2024, however) By radar.spacebar.org Published On :: Wed, 31 Jan 2024 22:08:59 -0500 Hello again, This month I've been plugging away on the project I mentioned in the previous post which involves among other things a PDF generator and now an implementation of ML (as in Standard ML, but also the other one). This is probably the 10th "compiler" I've written in my life, and it's kind of fun to revisit these problems that you've done many times and try out different approaches, although this time one of the approaches is "Use C++" (for reasons of making good on a joke, but also for reasons of mlton doesn't work on my computer any more). And although C++ is a fine tool for many applications, it does have some deficiencies for the task of writing a compiler (one of the most irritating: a very modest limit on the stack depth? Like my computer has 256 Gigabytes of RAM and 2^64 virtual addresses and somehow it can only manage 1 megabyte for the stack and there's no standard way to increase it? Get off my lawn). But then you can also experience new ways of struggling with C++, like: A middle of the night power failure wrecked my computer's GPT (as in GUID Partition Table, but also the other one) and I was deep in the depths of taking the computer apart to reset its parts, its BIOS (its Basic In/Out System, which is where it stores its biography) and its hard drives were everywhere on the floor, and it could not be saved, and this after I already broke my computer this year by trying to put the world's biggest video card in it, too hard. And I could not merely perform recovery because of Unknown Error, so I had to begin anew again and restore from backups. But when you restore from backup and you're in the mood of "why is this so complicated and I don't understand how computers work any more?" it occurs to you (me) to also change your underlying development environment instead of reinstalling the devil you know. So I ended my friendship with Cygwin64 and switched to new best friend MSYS2. Both of these things are different ways of wishing that you were using Linux while you're using Windows. The main reason I tried this new way of struggling is that Cygwin is very behind on its version of x86_64 clang (C++ compiler), which I wanted to try because it supports AddressSanitizer and clangd on Windows, and I wanted to give LSP in emacs a shot (it's finally good!). There were a few growing pains, but I think MSYS2 is what I would recommend now. One of the nice things they did was create multiple different environments depending on what you want to do (e.g. "I want to use clang to compile x86_64 code" or "I want to do 32-bit cross compilation for ARM") and in that environment, you just say "g++" and it invokes the compiler you want, instead of the weird contortions I've been doing for years with manually invoking x86_64-w64-mingw32-g++. I was also able to get clblast working before being too filled with rage to continue, so that is nice for the ML inference on the world's biggest graphics card. I made these graphics to help me tune the correct settings of GPU layers (y axis) and number of threads (x axis): tune-single tune-batch In some sense the results are obvious (more threads and more layers is faster) but it was interesting to me how the cliff of performance drops off at a different number of layers for single and batch mode (I guess because the batch needs some memory itself?) and how it's clearly better to use fewer threads than cores for batch as well. I was not surprised to see performance drop off for >32 threads (everybody knows that hyper-threads kinda suck) but I was very surprised to see performance pick up again when it gets back up to 64? And only for single mode? I wish I understood that better. But mostly I'm a sucker for the custom visualizations. Right but when writing this compiler I realized that I wanted to use some Greek letters, and I can't handle it when some characters are in a different font in my source code, so I finally made some space for those in my programming font FixederSys. These certainly still need some tweaks, but it's already better than just being in some other weird font: {{{caption}}} You can also see that I have been adding some "useful" emoji at the top. It is an interesting puzzle to try to make these things recognizable (especially for the 1x version, whose charboxes are 8x16 pixels). I am pretty sure I will not try to do all of the emoji (like, the flags are totally hopeless at 8x16), but it is tempting to round out the Unicode support somewhat. Like I was trying to make a ¯\_(ツ)_/¯ today and had to settle for ~\_( :) )_/~ which is pretty much (ノಠ益ಠ)ノ彡┻━┻. Also: Adam revived our old game jam game Headcat, which I described in post 927, now over 16 years ago. You can play it online at Headcat.org. It is harder than I remember, perhaps explaining why it did not reach #1 on the One Appstore Per Child charts. Also: I started and finished (true ending, but just with one character) Slay the Spire. Good game, but you don't need me to tell you that. Same for Alwa's Legacy, which is the sequel to Alwa's Awakening. Both of these are very true-to-form "8-bit" and "16-bit" platformers that I enjoyed and would recommend for genre fans, though I did not try to 100% them. The graphics are the highlight and I thought it was very cute how these could easily have been a pair of games from the NES and SNES. The good old days. And speaking of good-old days, I am now playing Katamari Damacy, which I had played at a friend's house many years ago, and always wanted to spend more time with. It totally holds up (aside from stuff like: You have to play through the tutorial and first level before you can access the menus at all, like to make the game fullscreen?) and it's honestly inspiring how unhinged the game design and writing are, and how fun it manages to be. What an accomplishment! Full Article
all Of all homonymic months, August is the most majestic By radar.spacebar.org Published On :: Sat, 31 Aug 2024 10:11:27 -0400 I’m traveling for the long weekend. Either I’m having bad luck with the epic heat waves or there have been a lot of epic heat waves, because again the short road trip threatens to be tyrannized by the hot air. It did at least touch 100°F this time, so at least it is a proper respectable heat wave. We are in a place called Hocking Hills, whose AirBnB has these OBX-style stickers that say “HHO”, which could either be confusingly “Hills, HOcking,” or perhaps “Hocking Hills, Ohio”, but not “Hocking hills OHio” as one might expect. I plan to stick the sticker upside-down for “OHH”, as in “Ohh yeah, I need to write a post on Tom 7 Radar for the month of August, and I need to do it on this mediocre wi-fi which Google Internet Speed Test describes as ‘fine’ while everyone else drinks beers outside.” Fair enough: This is a self-imposed curse and one that’s easily tended to at any time during the month. During the month: I worked again on making my own video codec, which is a very bad way to spend one’s time, but I don’t think there are any modern lossless codecs that would be suitable for my use case. And I do like a data compression project because of the inherent benchmarkability. The use case is for the increasingly common situation where I have a program generating a series of video frames (e.g. BoVeX is making an animation), which I usually do by writing a sequence of PNG files to disk. I’m way ahead of PNG files so far even without doing any inter-frame stuff, which is not impressive, but does make me feel like it’s at least not totally pointless. (Still, it’s quite pointless: Sure I can make these files smaller at significant cost of complexity and encoding times, but these animations typically use space similar to like one second of 4K 60fps XF-AVC footage.) Sometimes programming your own lossless video codec is a bit too fast-paced so you need to write a Wikipedia article from scratch about Clairton Coke Works by digging through newspaper archives. I haven't even gotten to the last 30 years of its history yet! I also rounded out the Cyrillic in FixederSys though I don't think I've uploaded a new version of that yet. As usual I did some hacking on secret projects. UHH, elsewise, I did finish off Animal Well which I liked very much. My spoilerless advice to you is: Don't try to 100% this game without at least looking at a spoiler-controlled guide! But I did have fun once I felt like I was stuck-ish finishing the remaining postgame puzzles. I have also been playing Chippy, a bullet-hell twin-stick shooter that is quite hard (I usually feel good at this genre) and has several new good ideas in it. It's essentially all boss fights, and the chief innovation is that you fight the giant bosses by disconnecting pieces of them. I'm on the last boss so I will probably finish that one soon. As I have confessed many times, I like dumb first-person shooter games, and I played through Trepang 2 this month as well. It does have a few moments, but it was mostly pretty dumb, like I wanted. And then I started Touhou Luna Nights, which is a "Metroidvania" fan-game with great pixel art and music. OK, I should get back to this vacation! Full Article
all This halloween I am dressed as a withered husk, who was made this way by: Satisfactory 1.0 By radar.spacebar.org Published On :: Thu, 31 Oct 2024 22:35:04 -0400 OMG. I can't believe October is over already. I blame Satisfactory which, okay, I do get it now, and it did destroy my body and mind. I am inches from being done now; I just want to make sure that I finish it with enough force that I do actually put it away, as I could imagine tinkering with my saddest factory forever. The game isn't without flaw, but I think most of those flaws are not interesting to talk about. I do have one petty but important criticism, which is mildly spoilerful and anyway will only be interesting if you played the game. There is an object called the Somersloop ("cool S") which allows you to double the output of a machine. Canonically this item is some kind of "loop" and the flavor text talks about how it is able to create more energy than you put into it. So when I'm out hunting for Korok seeds I have this thought that maybe I could create a loop of factories whereby it would create infinite resources by repeatedly doubling. And I'm thinking about it but the crafting tree doesn't have any notable loops in it, but I remember the "packager" which allows you to put a fluid in a container or the converse, and I'm like: Yes, that's great! So I get back to base and I am doing this, just for fun to create an infinite fuel factory or whatever, and I realize that the packager just doesn't have a slot for a Somersloop. They must just hate fun, elegant twists. It would not break the game to allow this (you can always get infinite resources lots of other ways) or cause any other problem I can think of. Hmph! The thing about constructing a factory and watching it churn is that it's basically the same thing as a programming project that you invented for yourself, and it's probably better to do the programming project. Here's progress on my mysterious rectangle: Minusweeper 2 It's good progress if I do say so myself! Anything but black here is a Satisfactory result, which is 90.55% of them at this point. I may need heavy machinery for the remaining 9.45%, but that is part of the fun. I think that's really it for this month! Please vote in the US Elections if you can (but I guess also vote in any important elections. And obviously, vote for the good guys???). And happy Halloween! Full Article
all Austin Distance Challenge! By greglsblog.blogspot.com Published On :: Thu, 26 May 2016 16:59:00 +0000 The famous Distance Challenge fridge magnets It's been a few months, but I finally have some time to sit down and blog my having completed the Austin Distance Challenge (long course), sponsored by the Austin Runners Club. I'd done most of the events before, but decided to do the challenge itself (six races, culminating in the Austin Marathon), because I wanted to put more structure into my training for the marathon. I'd done several in the 90s, but this was my second of the century and I wanted to do better than my last one (2013). The first race was the Run Free Texas 80s 8k (for those who don't think in metric, that's about five miles) up in Cedar Park. Naturally enough, there were a couple of DeLoreans, each outfitted with a flux capacitor. Time travel being what it is, they were obviously the same car but from different time periods. :-). The course was through residential neighborhoods and parks and had some rolling hills -- nice for a beginning of the season race. Back to the Future! The second race of the Challenge was the Run for the Water Ten Miler. The course was along Lady Bird Lake and up through Tarrytown and then back downtown, There were some great hills on this course and let me know I needed more hill work...And, ironically enough, it was raining. :-) Rain and hills Race three was the Decker Challenge, a half marathon in early December with a course around Decker Lake. It's notorious for hills and really bad weather. (The last time I ran it, it was in the 40s and pouring rain). If anything, last year, it was a bit too warm. The hills were pretty brutal, though. My face when attacking the hills But Santa was there! After that, we had a month break until the Rogue Distance Festival 30k (about 18.6 miles) in early January. This one was fairly cold and probably my least favorite of the events. It was up in Cedar Park again and ran through residential neighborhoods which was fine. There was an issue with marking the course, though, so most of us got off track, which meant the mile markers were out of order so it was impossible to figure out a pace. (I think at some point, we were going in circles -- and ended up going about a mile farther than we should've.). Still, it was my longest run before the marathon and I was kind of glad it happened that way. Yay! I'm done! :-) With four events done, it was all downhill from there. Literally. The 3M Half Marathon starts up in the Great Hills area and runs a straight line down to downtown. It also has a swag bag filled with useful (and not so useful) 3M products.:-) Leo checks out the swag bag This one also started out pretty cold and way too early :-). Before dawn, in the warm car before the cold race. I really enjoyed this one, though, and it was a nice preview of many of the neighborhoods on the marathon route. Finisher! The piece de resistance, of course, was the Austin Marathon in mid-February. I like the course, but the first time I ran the Austin Marathon, it was all downhill, starting up north and snaking its way downtown. Now, there's a good bit of uphill until around mile 18. I still like the course, though, and it's not like the hills from the Decker Challenge or the Run for the Water races. I was pretty happy with my time -- my second fastest of the century! I did it in under 4 hours, which had been my goal. Next year, I'll work more on speed, but this time, I just wanted to not have my quads seize up in the last two miles :-). Running through UT campus Made it! Best time of the century! Anyway, thanks to everyone involved in putting on the races and the challenge itself: organizers, volunteers, emergency personnel, and all the rest! You keep Austin running! Full Article Austin Distance Challenge Austin Marathon Austin Runners Club races
all Austin Distance Challenge 2016-17 By greglsblog.blogspot.com Published On :: Mon, 22 May 2017 14:44:00 +0000 This past year, I signed up for the Austin Distance Challenge again, because it was intrinsically fun, but also to ensure that I would get enough running in for the Austin Marathon. The Distance Challenge, sponsored by the Austin Runners Club, involved five races: The Run Free 8k, the Run for the Water 10 miler, the Decker Challenge half marathon, the 3M Half Marathon, and the Austin Marathon. The Run Free 8K is out in Cedar Park, a considerable distance from downtown. It leaves from one of the high school football stadiums and winds through residential neighborhoods before returning to the starting line. It's a nice start to the fall training season. The first piece of the puzzle Run for the Water goes through downtown and along the lakefront. It's one of the prettiest routes in the challenge and much of it is along routes I train on. Starting line on Cesar Chavez The drum group at the finish line A friend got this shot of me at the starting line. After that came the Decker Challenge -- a hilly route just east of Austin in Decker, and notorious for terrible weather. This year, it wasn't bad --- a bit misty with a steady drizzle. By the finish line, my glasses were so fogged up I had to take them off to see anything at all. Which made it difficult to see things like potholes... Glasses fogging up as I climb the hills Blindly crossing the finish line Not on the Challenge, but still an Austin staple was the Turkey Trot! One of the more fun races, it usually features a good number of costumes and a large helping of whimsy. After the holidays, the next race was the 3M Half Marathon. It's almost the exact opposite to the Decker Challenge, because it's all downhill. It starts up in the Great Hills area and winds its way downtown. This year it was a particularly fast run because there was an incredible wind out of the north. Several folks, including myself, were nearly blown over as we ran past the UT football stadium. A selfie at the starting line the 3M photographer got a shot of me taking my selfie After the finish in sight of the Capitol And the last race was the Austin Marathon! But. About three weeks before the race, in the middle of the night, I slipped and came down on the edge of my entertainment console and tile floors. Result? A nice set of bruised ribs and a strangely linear scar on my right side. By race day, I could still feel it a bit but had gone on short runs with only minor discomfort, so I decided to go for it. The first half went pretty well, but the second was less pleasant. But I'm still glad I did it... Looking all chipper and optimistic before the race starts Vulcan salute for the photographer Gritting it out with a hundred yards to go Finished! So my time for the marathon ended up being a personal worst, although I did make it under five hours :-). Anyway, thanks to all the organizers, volunteers, emergency personnel, and everyone else involved in putting on these races! You keep Austin running! Next up? The Capital of Texas Triathlon! Hopefully there won't be rain... Full Article Austin Distance Challenge Austin Marathon races
all Brabus 1000 All Gray Sedan By uncrate.com Published On :: Tue, 12 Nov 2024 17:00:00 -0500 Full Article Modern Cars
all Actually magical. By maryannemohanraj.com Published On :: Sun, 10 Nov 2024 17:32:00 +0000 Milkweed fluff and magic gold mica — love how these bookends came out. They actually are magical. ????. In the shop! Full Article Berwyn Shops Serendib House
all Dwarf King in the shield wall By iron-mitten.blogspot.com Published On :: Sat, 05 Oct 2024 21:00:00 +0000 A Dwarf king and his elite guard take to the field. Amongst the Eagle helms of the shield wall is the kings champion himself. Nothing must get to the king and the champions blue axe, will see that nothing does.I could use this base for King Balin when he tries to retake Moria. A future project of mine.The King points out floors in the enemies formation to the chief engineer.The Dragon standard flies over head echoing the Kings mighty dragon helm.This base has been created for the upcoming Hobbit battle, replacing Dain's base in the ranks. This allows Dain to roam freely as a character on the field. The figures are beautiful old sculpts from Asgard and Citadel. There has been a bit of tweaking on a couple of them, like the axe and the standard. Full Article lord Of The Rings lord Of The Rings.
all Joe Marshall: Lisp vs. golang By funcall.blogspot.com Published On :: Thu, 17 Oct 2024 02:17:00 GMT It's no secret that I'm an aficionado of Lisp. It's my go to language, especially when I don't know what I'm doing. I call it research and prototyping, but it's really just playing around until something works. We had a need for some auditing of some of our databases at work. They ought to agree with each other and with what GitHub and CircleCI think. It took a couple of weeks part time to prototype a solution in Common Lisp. It showed that the databases were in 99% agreement and found the few points of disagreement and anomalies that we ought to fix or look out for. I want to integrate this information into a dashboard on one of our tools. I prototyped this by spinning up a Common Lisp microservice that returns the information in JSON format. But management prefers that new services are written in golang. It would be easier for me to rewrite the service in golang than to try to persuade others to use Common Lisp. It also gives me the opportunity to compare the two languages head to head on a real world problem. No, this is not a fair comparison. When I wrote the Lisp code I was exploring the problem space and prototyping. I'm much more experienced with Lisp than with golang. The golang version has the advantage that I know what I want to do and how to do it. In theory, I can just translate the Common Lisp code into golang. But then again, this is a “second system” which is not a prototype and has slightly larger scope and fuller requirements. So this cannot be a true head to head comparison. The first point of comparison is macros (or lack thereof). I generally don't use a lot of macros in Common Lisp, but they come in handy when I do use them. One macro I wrote is called audit-step, which you can wrap around any expresion and it prints out a message before and after the expression is evaluated. The steps are numbered in sequence, and nested steps get nested numbers (like step 2.3.1). If you wrap the major function bodies with this macro, you get a nice trace of the call sequence in the log. Golang doesn't have macros, but it has first class functions. It's easy enough to write a function that takes a function as an argument and wraps it to output the trace messages. In fact, the macro version in Common Lisp just rewrites the form into such a function call. But the macro version hides a level of indentation and a lambda. In golang, my major functions all start with func MajorFunction (args) int { return AuditStep("MajorFunction", "aux message", func() int { // body of MajorFunction // Actual code goes here. }) } The bodies of all my major functions are indented by 16 spaces, which is a little much. I like higher order functions. I can write one higher order function and parameterize it with functions that handle the specific cases. In my auditing code, one such workhorse function is called collate. It takes a list of objects and creates a table that maps values to all objects in the list that contain that value. To give an example, imaging you have a list of objects that all have a field called foo. The foo field is a string. The collate function can return a table that maps strings to all objects that have that string in the foo field. collate is very general. It takes a list of objects and four keyword arguments. The :key argument is a function that extracts the value to collate on. The :test argument is a function that compares two keys (it defaults to eql if not specified). The :merger argument is a function to add the mapped object to its appropriate collection in the table (it defaults to adjoin). The :default argument specifies the initial value of a collection in the table (it defaults to nil). The :merger function is the most interesting. It takes the key and the object and the current value of the table at that key. It returns the new value of the table at that key. The default merger function is adjoin, which adds the object to the collection at the key if it is not already there. But you can specify a different merger function. For example, if you want to count the number of objects at each key, you can specify a merger function that increments a counter. The functional arguments to the collate function are often the results of other higher order functions. For example, the :key argument is often the result of composing selector functions. The :merger argument is often the result of composing a binary merge function with a unary transformer function. The transformer function is often the result of composing a number of primitive selectors and transformers. In Common Lisp, it is quite easy to write these higher order functions. We can compose two unary functions with the compose2 function: (defun compose2 (f g) (lambda (x) (funcall f (funcall g x))) and then compose as many functions as we like by fold-left of compose2 starting with the identity function: (defun compose (&rest fs) (fold-left #'compose2 #'identity fs))We can compose a binary function with a unary function in three ways: we can pipe the output of the binary function into the unary function, or we can pipe the output of the unary function into one or the other of the inputs of the binary function. (defun binary-compose-output (f g) (lambda (x y) (funcall f (funcall g x y)))) (defun binary-compose-left (f g) (lambda (x y) (funcall f (funcall g x) y))) (defun binary-compose-right (f g) (lambda (x y) (funcall f x (funcall g y)))) The collate function can now assume that a lot of the work is done by the :key and :merger functions that are passed in. It simply builds a hash table and fills it: (defun collate (item &key (key #'identity) (test #'eql) (merger (merge-adjoin #'eql)) (default nil)) (let ((table (make-hash-table :test test))) (dolist (item items table) (let ((k (funcall key item))) (setf (gethash k table) (funcall merger (gethash k table default) item)))))) (defun merge-adjoin (test) (lambda (collection item) (adjoin item collection :test test))) So suppose, for example, that we have a list of records. Each record is a three element list. The third element is a struct that contains a string. We want a table mapping strings to the two element lists you get when you strip out the struct. This is easily done with collate: (collate records :key (compose #'get-string #'third) :test #'equal ; or #'string= if you prefer :merger (binary-compose-right (merge-adjoin #'equal) #'butlast)) The audit code reads lists of records from the database and from GitHub and from CircleCI and uses collate to build hash tables we can use to quickly walk and validate the data. Translating this into golang isn't quite so easy. Golang has first class function, true, but golang is a statically typed language. This causes two problems. First, the signature of the higher order functions includes the types of the arguments and the return value. This means you cannot just slap on the lambda symbol, you have to annotate each argument and the return value. This is far more verbose. Second, higher order functions map onto parameterized (generic) types. Generic type systems come with their own little constraint language so that the computer can figure out what concrete types can correctly match the generic types. This makes higher order functions fairly unweildy. Consider compose2. The functions f and g each have an input and output type, but the output type of g is the input type of f so only three types are involved func Compose2[T any, U any, V any](f func(U) V, g func(T) U) func(T) V { return func(x T) V { return f(g(x)) } } If want to compose three functions, we can write this: func Compose3[T any, U any, V any, W any](f func(V) W, g func(U) V, h func(T) U) func(T) W { return func(x T) W { return f(g(h(x))) } } The generic type specifiers take up as much space as the code itself. I don't see a way to write an n-ary compose function. It would have to be dynamically parameterized by the intermediate types of all the functions it was composing. For the collate function, we can write this: func Collate[R any, K comparable, V any]( list *Cons[R], keyfunc func(R) K, merger func(V, R) V, defaultValue V) map[K]V { answer := make(map[K]V) for list != nil { key := keyfunc(list.Car) probe, ok := answer[key] if !ok { probe = defaultValue } answer[key] = merger(probe, list.Car) list = list.Cdr } return answer } We have three types to parameterize over: the type of the list elements (i.e. the record type) R, the type of the key K, and the type of the value V. The key type is needs to be constrained to be a valid key in a map, so we use the comparable constraint. Now that we have the types, we can annotate the arguments and return value. The list we are collating is a list of R elements. The key function takes an R and returns a K. The merger takes an existing value of type V and the record of type R and returns a new value of type V. The magic of type inference means that I do not have to annotate all the variables in the body of the function, but the compiler cannot read my mind and infer the types of the arguments and return value. Golang forces you to think about the types of arguments and return values at every step of the way. Yes, one should be aware of what types are being passed around, but it is a burden to have to formally specify them at every step. I could write the Common Lisp code without worrying too much about types. Of couse the types would have to be consistent at runtime, but I could write the code just by considering what was connected to what. In golang, the types are in your face at every function definition. You not only have to think about what is connected to what, you have to think about what sort of thing is passed through the connection. I'm sure that many would argue that type safety is worth the trouble of annotation. I don't want to argue that it isn't. But the type system is cumbersome, awkward, and unweildy, especially when you are trying to write higher order functions. It is taking me longer to write the golang version of the audit service than it did to write the Common Lisp version. There are several reasons. First, I am more experienced with Common Lisp than golang, so the right Common Lisp idioms just come to mind. I have to look up many of the golang idioms. Second, the golang code is trying to do more than the Common Lisp code. But third, golang itself introduces more friction than Common Lisp. Programs have to do more than express the algorithm, they have to satisfy the type system. There are more points of comparison between the two languages. When I get frustrated enough, I'll probably write another post. Full Article
all Joe Marshall: Don't Try to Program in Lisp By funcall.blogspot.com Published On :: Sat, 02 Nov 2024 17:12:00 GMT A comment on my previous post said, The most difficult thing when coming to a different language is to leave the other language behind. The kind of friction experienced here is common when transliterating ideas from one language to another. Go (in this case) is telling you it just doesn't like to work like this. Try writing simple Go, instead of reaching for Lisp idioms. Then find the ways that work for Go to express the concepts you find. That's not at all how I approach programming. A friend of mine once paid me a high compliment. He said, “Even your C code looks like Lisp.” When I write code, I don't think in terms of the language I'm using, I think in terms of the problem I'm solving. I'm a mostly functional programmer, so I like to think in terms of functions and abstractions. I mostly reason about my code informally, but I draw upon the formal framework of Lambda Calculus. Lambda Calculus is a simple, but powerful (and universal) model of computation. Programming therefore becomes a matter of expressing the solution to a problem with the syntax and idioms of the language I'm using. Lisp was inspired by Lambda Calculus, so there is little friction in expressing computations in Lisp. Lisp is extensible and customizable, so I can add new syntax and idioms as desired. Other languages are less accommodating. Some computations are not easily expressable in the syntax of the language, or the semantics of the language are quirky and inconsistent. Essentially, every general purpose fourth generation programming language can be viewed as a poorly-specified, half-assed, incomplete, bug-ridden implementation of half of Common Lisp. The friction comes from working around the limitations of the language. Full Article