home.social

Search

342 results for “fair”

  1. ‘Fair game’: Iranian officials tell NYT US diplomats could be targeted in new war

    The officials, who spoke anonymously because they were not authorized to discuss the matter publicly, confirmed recent U.S.…
    #NewsBeep #News #BreakingNews #breakingnews #Iran
    newsbeep.com/783882/

  2. ‘Fair game’: Iranian officials tell NYT US diplomats could be targeted in new war

    The officials, who spoke anonymously because they were not authorized to discuss the matter publicly, confirmed recent U.S.…
    #EuropeSays #Headlines #News #Europe #Europa #EU #Tehran #Iran
    europesays.com/iran/340665/

  3. My previous Q&A video

    Subscriber Q&A | Honest Answers to Personal Questions youtu.be/fzkmYXeqCgo 🌸

    You can contribute to my next video by leaving your questions in the comments 🥰

    #answeringquestions #youtube #fairyelfie

  4. CW: cleavage

    Is this Saturday taking good care of you or should I do it? 💜

    fansly.com/fairyelfie in DM you can get special content too 😏 anything that will rise your mood 🤭

    #cleavage #boobs #tits #woman #egirl

  5. Gerade eigentümlich berührt worden von einer Szene beim Snooker, als ein Spieler zu seinen Ungunsten beim Schiedsrichter interveniert hat. Gerechtigkeit, Fairness ist längst nichts Selbstverständliches, im Gegenteil: Derjenige, der nicht mit allen Mitteln seinen Erfolg sucht, wird als schwach, dumm angesehen. Trump als ein Vorbild für die ganze Welt: Empathie- und rücksichtslos wird alles irgend Mögliche zum eigenen Vorteil genutzt. Nur das Ego zählt, nur das, was dieses Ego (scheinbar) befriedigt.

    Scheinbar, denn: Um nichts in der Welt würde ich mit einem Trump, Musk tauschen. Ich glaube heute beim Spachteln der Wände im Wohnzimmer, der dabei gehörten Musik, mehr Zufriedenheit empfunden zu haben als diese Leute in den letzten Monaten, Jahren.

    Ehrlichkeit, Fairness ist ein die Gesellschaft konstituierender Wert - überall: Ansonsten gehört die Welt den Skrupellosesten, Brutalsten. Wir scheinen auf gutem Wege ...

    #Fairness
    #Ehrlichkeit
    #Gerechtigkeit
    #Anstand
    #Macht

  6. Fairphone 5 charging problems? Try cleaning your USB-C port before replacing it!

    forum.fairphone.com/t/fairphon

    I’m sharing this because I nearly replaced a perfectly functional USB-C module. It turned out that compacted dirt was preventing the cable from connecting properly!

    I’d already ordered a replacement module, but I’ve decided to keep it as a spare in case I need it someday. Besides, it’s a small way to support Fairphone and its commitment to repairability!

  7. Today you're gonna be a good boy and enjoy a great day just because I say so!

    Don't disappoint me!!!👀

    #contentcreator #fairyelfie #domme #femdom #domination

  8. "When we went from executing people at noon to executing people at midnight, I think that's quite symbolic of all the ways that we've tried to make it look like it's really just a medical procedure."

    fair.org/home/when-youre-exper

  9. "We are so silent, so shamed by what is happening in homes, that we cannot construct the language or the public policy to make sense of it, and to then prevent it."

    fair.org/home/we-have-to-step-

  10. FairShare — Making Shared Living Simpler 🤝💰
    What I Built
    FairShare is a shared-living expense management application built for friends, roommates, and people living together in hostels, PGs, apartments, or shared rooms.

    The idea came from a simple problem: when multiple people share expenses, it becomes annoying to remember who paid, who owes whom, how much everyone owes, and how to settle everything fairly.

    FairShare follows a simple flow:

    Record → Split → Track → Settle

    Users can:

    Create and join shared groups
    Record group expenses
    Split expenses equally or using custom amounts
    Track individual balances
    View settlement suggestions
    Record and complete settlements
    Ask questions about their group using natural language through the AI assistant
    The AI assistant makes the experience even simpler. Instead of navigating through multiple screens, users can say things like:

    "I paid ₹1000 for both of us for lunch."

    FairShare understands the request and records the expense while keeping the actual financial calculations and validation inside the backend.

    The project was built around the idea of making everyday shared expenses less complicated for the people you live with.

    Demo
    🎥 Watch the FairShare Demo

    The demo shows the core workflow including expense creation, balance tracking, settlements, and the AI assistant.

    Code
    🔗 GitHub Repository

    The repository contains the complete frontend, Spring Boot backend, database migrations, tests, and AI integration.

    How I Built It
    FairShare is built using:

    React + TypeScript + Vite for the frontend
    Java + Spring Boot for the backend
    Spring Security + JWT for authentication
    PostgreSQL for persistent data
    Docker for the development environment
    Ollama for local AI inference
    Gemma 3 4B as the open-weight AI model
    The most important part of the architecture is the separation between AI interpretation and application logic.

    The flow is:

    User → React → Spring Boot → Gemma → Structured Intent → Validation → Domain Service → Database

    Gemma is responsible for understanding what the user is asking for and converting natural-language requests into structured intents.

    For example:

    "I paid ₹1000 for both of us for lunch."

    The AI can identify the intent as creating an expense, identify the description and participants, and extract the monetary amount.

    However, the AI does not directly access the database or perform critical financial operations.

    The Spring Boot backend remains responsible for:

    Authentication and authorization
    Group membership validation
    Expense validation
    Participant validation
    Monetary conversion and precision
    Expense calculations
    Balance calculations
    Settlement calculations
    Database operations
    Money is stored as integer paise to avoid floating-point precision problems.

    This means the AI acts as an interface for the application rather than becoming the source of truth for financial data.

    Why Does Open Innovation Matter?
    Open innovation made it possible to build the AI layer around a model that can run locally instead of making the core functionality dependent on a closed external AI API.

    FairShare uses Gemma 3 4B through Ollama, allowing the AI assistant to run locally on the developer's machine.

    This was particularly useful for experimenting with natural-language expense commands while maintaining control over how the model interacts with the application.

    The most important lesson was that an AI model does not need to control the application's business logic to be useful.

    Gemma understands the user's intent, while the deterministic backend decides whether that intent is valid and performs the actual operation.

    This architecture provides a clear boundary:

    AI interprets.

    Backend validates.

    Domain services calculate.

    Database stores.

    Using an open-weight model also made local experimentation and development possible without requiring every AI interaction to depend on a remote proprietary API.

    My Agent Session
    The project was developed with AI-assisted coding and debugging, including using GitHub Copilot Agent to implement, test, and refine parts of the application.

    Prize Categories
    🟢 Gemma
    FairShare is entering the Gemma category.

    The project uses Gemma 3 4B, running locally through Ollama, as the open-weight model powering the FairShare Assistant.

    Gemma is integrated into the actual application workflow rather than being used as a standalone chatbot.

    It interprets natural-language requests such as:

    "I paid ₹1000 for both of us for lunch."

    and produces structured information that the Spring Boot backend validates before performing the requested operation.

    The backend remains authoritative for financial calculations, authorization, and database changes.

    Technical Highlights
    🔐 Authentication
    FairShare uses JWT-based authentication with protected backend endpoints and group-level membership checks.

    👥 Groups
    Users can create and join groups using secure join codes and manage their shared-living expenses within those groups.

    💰 Expense Splitting
    Expenses support equal and custom splits.

    Equal splits are calculated deterministically, including handling remainder paise so that the participant amounts always add up exactly to the original expense.

    📊 Balances
    Balances are calculated from actual payments, amounts owed, and completed settlements.

    🤝 Settlements
    FairShare generates deterministic settlement suggestions so group members can see how outstanding balances can be settled.

    🤖 AI Assistant
    The AI assistant allows users to interact with their group's expenses using natural language while keeping AI-generated actions behind backend validation.

    What I Learned
    The biggest lesson from building FairShare was that integrating AI into an application is not just about calling an LLM.

    The difficult part is deciding where the AI should and should not have authority.

    For financial operations, I wanted the model to understand the user's request but never become responsible for the final calculation.

    This led to a design where:

    Gemma understands the request → Spring Boot validates it → deterministic services execute it.

    Building the project also helped me understand how authentication, database design, REST APIs, DTOs, validation, exception handling, deterministic financial calculations, and local AI inference can work together as one application.

    What's Next
    FairShare currently focuses on the core shared-living expense workflow.

    Future improvements could include deploying the application, adding richer spending analytics, improving the AI assistant, and expanding the experience based on feedback from actual users.

    Built for the Hacktoberfest Weekend Challenge: Build for a Friend 🚀

    FairShare — Making Shared Living Simpler.#devchallenge #hf26challenge #software #coding #development #engineering #inclusive #community
    Making life simpler

  11. If there is anything core to the work of media critics, it’s to counteract the idea that “might makes right” when it comes to knowledge. That our understanding of the world and other people and political possibilities should be utterly shaped by the people with the megaphone, just because they have the megaphone – that’s what we wake up every day and contest.

    fair.org/home/adam-johnson-on-

  12. 🌙 When the lights fade, the rhythm lives on.

    *After the Lights* by FAIRVION blends Afrodance grooves with atmospheric electronic melodies and infectious dance energy.

    One of 20 tracks from AfroDance Vol. 1.

    🎧 Listen:
    distrokid.com/hyperfollow/fair

    #FAIRVION #Afrodance #ElectronicMusic #DanceMusic #SunoAI

  13. So, habe jetzt auch so ein weitgehend Google-freies #Fairphone und bin ein weiteres Stück aus Apples goldenen Käfig raus.

    Welche nützlichen, schönen Helferlein habt ihr so mit auf dem Handy?

    Ich finde ja PDF Wallet sehr smart.

  14. Thinking about your next phone? Fairphone, born from a research programme at Waag in Amsterdam, has a removable battery, 12 spare parts you can swap with a small Torx screwdriver, and software support until 2033. The post also covers the limits: the price, no headphone jack, and where the phones are assembled. Murena and Mudita are there as European alternatives too. choosingeurope.eu/2026/10/23/f

    #Fairphone #RightToRepair #SustainableTech #Europe

  15. From Fair Vote Canada

    BC Conservatives receive 69% of the seats with 48% of the vote. BC voters cheated by first-past-the-post and pushed further towards a two-party system.

    Only 48% of BC voters supported the BC Conservatives, yet the voting system has handed Lorne Doerkson's Conservatives 69% of the seats and 100% of the power.

    The election results did not reflect what voters said with their ballots:

    The BC Conservatives got 69% of the seats with 48% of the vote.
    The BC NDP got 29% of the seats with 38% of the vote.
    The BC Greens got 2% of the seats with 11% of the votes, electing only 2 MLAs to represent their voters.
    CentreBC got no seats with 1.6% of the votes

    First-past-the-post is to blame for giving former Premier David Eby the incentive to waste millions of dollars on an unnecessary, opportunistic snap election.

    While the political right was temporarily split into several competitive parties, Eby saw an opportunity to sail to another majority govt w a minority vote.

  16. A fairly serviceable 'report card' for -- and all its backers in .

    Next month, it's time for consequences.

    aje.news/5r0cqq

  17. Que faire à Rennes ce week-end ?

    Ce samedi 24 et ce dimanche 25 octobre 2026, Rennes ne manquera pas d’animations. Entre concerts punk, blues,…
    #Rennes #FR #France #Actu #News #Europe #EU #actu #Actualités #bretagne #europe #Républiquefrançaise
    europesays.com/fr/1261213/

  18. Comment faire pour garder de beaux cheveux? Manger sainement, éviter les objets connectés et les produits chimiques. Les produits Phérénice ne contiennent aucun ingrédient de synthèse.
    Pour commander, contactez-moi, tout simplement.
    #cheveux, #haircare, #soincapillaire, #chutedescheveux, #haarpflege, #phérénice, #atlasmarocain, #remèdesnaturels, #herboriste, #powerplants, #herbalist, #noindustry, #kräuterheilkunde, #phytothérapie, #kräuterfrau, #healthcare, #naturopathie, #bonnesherbes, #Maroc

  19. [Vanity Fair]: The Art of the Deal: Jared Kushner’s Hacked Phone Revealed His Secret Negotiations—Including More Than $700 Million in Transfers

    An exclusive excerpt from Princes and Thieves: Jared Kushner and Mohamed bin Zayed’s Secret Plot to Remake the Middle East examines how bank accounts linked the president’s son-in-law—and former senior adviser—to Israel, the UAE, and Saudi Arabia. By Matthew Cole, October 22, 2026

    vanityfair.com/story/jared-kus

    #jaredkushner #uae

  20. I'm now fairly sure the clocks changed last night.

    It's hard to recall when these days with phones & watches changing themselves.

    What's finally given it away is the oven. Olde faithful, sticks to UTC because it's buttons lack all intuition. So it's now an hour off the microwave.

  21. A Vanity Fair excerpt alleges Jared Kushner’s phone revealed secret financial dealings involving accounts linked to Gulf leaders and more than $700 million in transfers. Kushner’s lawyer denies he knew of or was connected to a UAE bank account. 🔎 vanityfair.com/story/jared-kus

  22. 🐦 Malurus cyaneus (Superb Fairywren)

    📅 Observed on 2025-10-23

    👤 By: erikschiff

    📌 Location: Apollo Bay VIC 3233, Australia

    🔗 iNaturalist link: inaturalist.org/observations/3

    📷 Photo credits: no rights reserved

    🔎 Learn more about the taxon: en.wikipedia.org/wiki/Superb_f

  23. n8n: The 208k-Star Fair-Code Workflow Engine That Replaces Zapier — And What Actually Happens When Your Workflow Runs


    You've probably heard n8n called "open-source Zapier." That's true enough to be useful and wrong enough to be misleading. Zapier is a hosted product you rent. n8n is a Node.js application you run, point at your own database, and own end to end. No per-task metering. No vendor lock-in. A $5–10 VPS handles a surprising amount.

    But the marketing pitch isn't why engineers reach for it. The escape hatch is: the moment the visual builder runs out of road, you drop into a Code node and write real JavaScript (or Python). You never hit a wall you can't code your way through.

    What most developers never learn is what actually happens between clicking "Execute Workflow" and seeing those green checkmarks light up on the canvas. The orchestrator that schedules nodes, synchronizes multi-input joins, keeps runs cancelable, and emits lifecycle hooks lives in roughly 1,250 lines of TypeScript. Let's open it up.

    The Mental Model: A Stack, A Waiting Map, and One Loop


    When you hit execute, n8n doesn't spin up a thread per node. It builds a single serializable run object — IRunExecutionData — that carries everything: the in-flight stack of nodes waiting to run, a waiting map for partially satisfied inputs, metadata, and final results. This same object travels from the editor to the server, into the engine, optionally across a Redis queue to a worker process, and back.

    // Simplified shape of the live execution object
    interface IRunExecutionData {
    startData: { destinationNode?, runNodeFilter? };
    resultData: {
    runData: Record<string, ITaskData[]>; // per-node run history
    pinData: Record<string, INodeExecutionData[]>;
    lastNodeExecuted: string;
    error: ITaskData | null;
    };
    executionData: {
    nodeExecutionStack: IExecuteData[]; // the work list
    waitingExecution: Record<string, Record<number, INodeExecutionData[][]>>;
    waitingExecutionSource: Record<string, Record<number, ISourceData[][]>>;
    contextData: Record<string, any>;
    runtimeData: Record<string, any>;
    };
    }

    The engine (WorkflowExecute in packages/core/src/execution-engine/workflow-execute.ts) seeds nodeExecutionStack with the start node, then enters a loop that shifts the front entry, runs the node, records the result, and enqueues downstream nodes. That's it. No hidden thread pool. No magic graph walker. Just a stack and a waiting map.

    Execution Order: v0 (Breadth-First) vs v1 (Depth-First)


    The single most important setting in a workflow is executionOrder. It changes one line in the scheduler:

    const enqueueFn = workflow.settings.executionOrder === 'v1' ? 'unshift' : 'push';


    • v0 (push): New work goes to the tail. Older work runs first. The walk feels breadth-first — all siblings at depth 1 finish before depth 2 starts.
    • v1 (unshift): New work goes to the front. The current branch keeps running. The walk feels depth-first — you chase one path to the bottom before backtracking.

    This doesn't change the graph. It only changes scheduling. Sibling order in v1 still follows canvas position (top-left first), but only among ready siblings. The canvas is not the execution graph — it only shapes ordering where the scheduler has freedom.

    Multi-Input Joins: The Waiting Map


    A node with two inputs doesn't run when the first branch arrives. The engine parks partial data in waitingExecution[nodeName][runIndex] with per-input placeholders. As each upstream finishes, the engine fills its slot. Only when all required inputs are non-null does it enqueue the node.

    // Inside addNodeToBeExecuted (simplified)
    if (requiredInputs.every(input => waitingExecution[nodeName][runIndex][input] != null)) {
    // All inputs ready — enqueue the node
    enqueueFn(executeData);
    } else {
    // Park partial data, wait for the rest
    waitingExecution[nodeName][runIndex][inputIndex] = inputData;
    waitingExecutionSource[nodeName][runIndex][inputIndex] = sourceData;
    }

    After the main stack empties, a sweep pulls forward any waiting node that now has enough data — even if some optional inputs stayed empty. This means a join can complete after one branch dies early, while a node still missing required inputs stays parked.

    Empty Output Kills the Branch (Unless You Say Otherwise)


    If a node returns no data and doesn't enter waiting state, the branch ends. The scheduler adds no downstream work. Set alwaysOutputData: true on the node and the engine fabricates a single empty item to keep the branch alive — useful when downstream nodes must run regardless.

    Legacy v0 keeps one compatibility path: it can still wake a downstream node connected via a second or later main input even when the upstream output is empty.

    Cycles: Node State, Not Special Graph Logic


    The scheduler doesn't treat cycles specially. It keeps pulling from the front of the same list. A node loops only if it schedules more work for itself. SplitInBatchesV3 demonstrates the pattern:

    // Stores loop state in node context
    const loopState = this.getContext('node') || { index: 0, items: inputData };
    const batch = loopState.items.slice(loopState.index, loopState.index + batchSize);
    loopState.index += batchSize;
    this.setContext('node', loopState);

    if (loopState.index < loopState.items.length) {
    return { loop: batch }; // schedules another visit to this node
    }
    return { done: loopState.items }; // exits the cycle

    The loop guard in processRunExecutionData stops accidental repeats when the same node and run index return without progress.

    Queue Mode: Same Engine, Different Process


    In standalone mode, the main process executes workflows directly. In queue mode (EXECUTIONS_MODE=queue), the main process enqueues a job into Redis (BullMQ) and returns immediately. A worker process dequeues, reconstructs the same IRunExecutionData object, runs the exact same engine loop, and writes results back to PostgreSQL.

    ┌─────────────┐ Redis Queue ┌─────────────┐
    │ Main │ ──────────────────▶ │ Worker │
    │ (UI/API) │ enqueue job │ (executes) │
    └─────────────┘ └─────────────┘
    │ │
    │ PostgreSQL │
    └──────────────────▶◀────────────────┘
    shared state

    The main process serves the UI, REST API, and webhooks. Workers are stateless — scale them horizontally via HPA/KEDA based on queue depth. Dedicated webhook-processor pods handle high-throughput webhooks without blocking the main UI. Python/JavaScript code nodes run in isolated taskRunner sidecars (V8 isolates via isolated-vm for JS, separate processes for Python) with RPC over WebSocket.

    The Data Model: Items, Runs, and pairedItem


    n8n's data model has three layers:

    Level 1 — Item: INodeExecutionData — { json, binary?, pairedItem?, metadata?, evaluationData? }. Nodes receive and return arrays of items on each input/output. This is the unit of data flowing through the graph.

    Level 2 — Run: Each node execution appends one ITaskData to resultData.runData[nodeName]. The array index = runIndex. ITaskData records input source, output data, timing, status, metadata, error state. source points back to the previous node, output, and run that supplied the input.

    Level 3 — Execution Object: The IRunExecutionData bundles startData, resultData, and executionData (the live scheduling state). The same object carries both result and live machine state — that's how n8n hands an execution to a queue worker, pauses it at a Wait node, and resumes it later with history intact.

    pairedItem records lineage, not magic. An output item points back to one input item, or one input plus array position, or a list of links. The engine normalizes these as items move through the workflow. When WorkflowDataProxy resolves $node("HTTP Request").json in a downstream node, it walks this ancestry chain. Broken lookups surface as specific errors: missing upstream lineage, no route back to referenced node, multiple matches, pinned data short-circuiting the chain, invalid index, or intermediate node not yet run.

    AI Agents: Native, Not Bolted On


    Since the 2.0 line, n8n ships a LangChain-based agent runtime. The Agent node maintains conversation history in ChatMemory, calls language models for planning, executes tools based on model decisions, and accumulates results until goal completion. Tool calling uses the same execution engine — tools are just nodes with execute methods. Vector stores, MCP connectivity, and guardrails plug into the same architecture.

    Fair-Code, Not Open Source


    n8n uses the Sustainable Use License. You can self-host and modify freely for internal business use, including paid consulting building workflows for clients. What you can't do is rebrand and resell it as your own hosted SaaS. Files with .ee. in the path are Enterprise-licensed. For an indie dev or team running their own automations, you're completely fine — but check the current license page rather than trusting any blog post on the fine print.

    What This Means for You


    • No per-execution pricing: Run 10 or 10 million workflows on your $5 VPS.
    • Full observability: Every execution persists to your database. Open any run, see exactly what each node received and emitted, replay it.
    • Escape hatch: Code nodes run real JavaScript/Python with npm/pip access. HTTP Request node talks to anything with an endpoint.
    • AI-native: Build agents that call tools, use memory, query vector stores — all self-hosted.
    • Production architecture: Queue mode + PostgreSQL + Redis + S3 scales horizontally. The same engine runs in-process or distributed.


    The Takeaway


    n8n isn't "Zapier you host." It's a workflow engine with a visual authoring layer, a serializable execution model that survives process boundaries, a scheduler you can reason about, and an escape hatch to real code. The 208k stars aren't for the UI — they're for the fact that when the visual builder hits a limit, you don't file a feature request. You write the code.#opensource #automation #workflow #selfhosted #software #coding #development #engineering #inclusive #community
    n8n: The 208k-Star Fair-Code Workflow Engine That Replaces Zapier — And What Actually Happens When Your Workflow Runs

  24. ‘All’s Fair’ premiere red carpet at Rome Film Festival 2026: Kim Kardashian, Kris Jenner, Naomi Watts and more

    The legal eagles are back! The Hulu legal drama series “All’s Fair” held a premiere at the Rome…
    #NewsBeep #News #Celebrities #AU #Australia #Entertainment #filmfestivals #KimKardashian #KrisJenner #naomiwatts #NiecyNash #premieres #redcarpet #Rome #SarahPaulson #slideshow
    newsbeep.com/au/940057/

Share on Mastodon

Enter the server where you have an account.