🌄 Elevate your web images to the next level at #ReactIndia 2023 with @10xAkshay
Uncover how to turbocharge image experience and performance using cutting-edge techniques
Upgrading React in large apps isn't always straightforward.
At React Nexus 2026, @10xAkshay will share how their team successfully migrated a large-scale SPA through React 17 → 18 → 19, the challenges they faced, and the lessons they learned along the way.
If you're planning a React upgrade, this session is packed with practical insights.
🎟️ Get your tickets now and join us at React Nexus 2026 on July 2–3.
https://t.co/YkfOnIgeiq
3bhk for rent in marathahalli available for rent | direct owner
📍 opp d-mart, near kundalahalli gate
in Parimala Sunridge
direct owner • no brokerage
🧵👇
Spoke at @ReactBangalore 100th meetup about upgrading to React 19 and learnings from doing it at @Rippling .
In large codebases, upgrades tend to get complicated pretty fast.
Had fun interacting with folks there.
Slides: https://t.co/OdvpMHdMu9
Looking for a flatmate BTM 2nd Stage, Bangalore 2BHK, private room with attached washroom Rent: ₹18,000 / month Security Deposit: ₹50,000 Common flat setup: ₹15,000 (one-time) Immediate move-in No brokerage
DM if interested. RT for good karma 🌻
Jira + Slack users, you’ll love this! 🚀
I automated all my Jira workflows with a Slack bot + Jira agent so I never have to open Jira again.
✅ Create, fetch, assign, update tickets
📊 Get analytics
🙋♂️ Tag teammates to give context about a user
No more Jira fatigue. Want beta access? DM me! Let’s make work easier :D
@Jira@SlackHQ #jira #slack
Built this @framer Plugin to catch broken links in Framer Projects after running into the issue myself! 🔍
Now available in the Framer Marketplace—give it a try! → Link Checker
https://t.co/1iLNcRLABN
🧵 Thread: My frustrating experience with @TheJupiterApp's Super Pots
On Sept 1st, I broke a pot and got my money instantly, but when I broke another one, I only got an in-app notification, and then the money disappeared. Happened again yesterday on the maturity of another one.
After an amazing launch, we are hiring frontend engineers. I can promise you'll have fun, a lot of fun at @seezo_io. Considering applying if 0 to 1 genai startup sounds exciting to you.
We are doing a beta launch today. If you are a security engineer or want to scale up Security design reviews at your company do check us out.
Signup: https://t.co/aHKrS352td
Know any amazing frontend engineers who can help with building frontend for us at https://t.co/5HwbJlJaj4 - and also dabble with GenAI and backend?
(3+ years prior experience)
Fill the form and we will get back!
https://t.co/7JiKIb2Upq
we're delusional if we still think we live in a "democratic" country and whatever happening in Kolkata isn't dictatorship
everyone is sold out. if something happens to you someday, where will you go?
police, sold!
govt administration, sold!
court, sold!
ministers, sold!
Outbox Pattern as Cron - Outcron
Crons are a fundamental part of software engineering, used to automate tasks at regular intervals. However, when the tasks involve dependencies, external services, and the need for strict guarantees, implementing a reliable cron system becomes more complex. I encountered such a challenge in one my previous orgs and developed a solution using the Outbox Pattern, which I call Outcron.
The Problem: A Reliable Cron-"Like" System
We needed to design a system where:
Regular Job Execution: A job (let’s call it Job X) needs to be executed every T minutes, such as syncing data between systems or performing routine maintenance tasks.
Sequential Dependency: Each instance of Job X must be completed before the next one (Job X+1) can be triggered.
Handling Failures: The system should gracefully handle failures, especially when jobs depend on external services that might be unavailable or slow. If the time for job X has passed, the systems are stable, and Job(X-1) is also done we should process job X.
Idempotency: Jobs might be retried multiple times, so the system must ensure that re-executing the same job doesn’t cause unintended consequences.
The Outcron Pattern: An Overview
The Outcron Pattern is a design strategy that ensures reliable job processing and messaging, especially in systems where tasks need to be executed in a specific order and depend on external services. It provides a way to handle failures gracefully while maintaining consistency across distributed systems.
Transactionally Safe Job Insertion
One of the key principles of the Outcron Pattern is ensuring that jobs are processed in a strict sequence. Here’s how it handles this:
Job Processing and Sequential Insertion: When a worker picks up and processes Job X, it ensures that the entire process is handled within a single transaction. This means that only after Job X is successfully completed, Job X+1 is added to the outbox table within the same transaction.
This approach guarantees that Job X+1 is never added before Job X has been fully processed. If any part of Job X fails, the transaction is rolled back, preventing Job X+1 from being scheduled. This ensures that jobs are always processed in the correct order, maintaining the integrity of the sequence.
Example: Imagine a data synchronization job that runs every 15 minutes. When the 15:00 job (Job X) completes, the system immediately schedules the 15:15 job (Job X+1) in the same transaction. If the 15:00 job fails due to a network issue or an external API call failure, the system will not schedule the 15:15 job until the 15:00 job is retried and completed successfully.
Job Processing:
Polling and Execution: Workers continuously poll the outbox table, looking for jobs that are ready to be processed. When a job like Job X is found, the worker processes it according to its logic. If the job involves an external dependency, such as an API call, and that call fails, the job is not marked as completed. Instead, it remains in the outbox as "pending," allowing the system to retry it later.
Handling Extended External Failures:
Extended Downtime Handling: If an external service is down for an extended period, such as one hour, the system keeps retrying the job at intervals. During this downtime, outbox will have only Job X in the DB. No new jobs are scheduled since it fails continuously.
Immediate Processing After Recovery: Once the external service comes back online, the system processes the first pending job (e.g., Job X). After successfully processing Job X, the system immediately schedules and processes Job X+1 because its scheduled time has already passed. This job then triggers Job X+2, and so on, rapidly clearing the backlog and ensuring that all jobs are executed in the correct order.
Imagine a scenario where jobs are scheduled to do a task for every 15min interval, but the external service required for task goes down at 15:00 and comes back online at 16:00. The 15:00 job (Job X) stays pending during the downtime. When the service is restored at 16:00, Job X is processed immediately, followed by the immediate processing of Job X+1 (scheduled for 15:15) because its time has already passed. This process continues with Job X+2 (scheduled for 15:30), and so on, until the system is fully caught up.
Handling Failures During Job Insertion (Job X+1):
Transaction Rollback:If there is an issue while adding Job X+1 to the outbox—such as a database error—the entire transaction is rolled back. This rollback includes not marking Job X as complete, ensuring that the system does not proceed with an incomplete sequence.
Initial Job Setup: The first job in the sequence (Job X at T0) must be manually inserted into the outbox to start the process. Once this initial job is in place, the system will automatically handle the scheduling and execution of subsequent jobs.
Polling Interval (T): Workers check the outbox at regular intervals (T) that are shorter than the interval (C) between jobs. This ensures that jobs are executed at the right time without delays.
Delayed Execution: If a job is scheduled for a future time, the worker waits until the scheduled time before processing it. This prevents premature execution and ensures that jobs run exactly when they are supposed to.
I am planning to have a opensource implementation for this soon. Thanks for reading.
Crowdstrike Analysis:
It was a NULL pointer from the memory unsafe C++ language.
Since I am a professional C++ programmer, let me decode this stack trace dump for you.
Go beyond “How much package you earn”
India has a huge population of developers. Tech brings in more money than most career options in India.
But unfortunately tech education is not up to the mark and there is so much work to do here!
If you’ve already made it into Tech and are now also a creator in Tech, it is your responsibility to help the upcoming developers from India to think bigger.
Dream bigger.
And that’s not going to happen if you sell the young community dreams of
“how much package I earn” and “a day in the life of a FAANG developer”
Making good money is inevitable if you’re even decently good at what you do in Tech.
We are responsible for creating “cheap labour for the west” instead of skilled developers and engineers.
Sell logic. Sell Maths. Sell deep tech. Sell research. Sell networking skills. Sell negotiation skills.
Breaks my heart when I see students and kids fall for such things.
Indian students grow up in a scarcity mentality. I did too.
It is our job to help them see the bigger picture. Once you have the skills, there is enough pie for everyone and collaboration will take you ahead. Not cheap competition.
Let’s do better folks.