Help
RSS
API
Feed
Maltego
Contact
Domain > karim.cloud
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2022-04-29
52.5.183.223
(
ClassC
)
2025-11-04
76.76.21.21
(
ClassC
)
Port 443
HTTP/1.1 200 OKAge: 2859Cache-Control: public, max-age0, must-revalidateContent-Length: 76925Content-Type: text/html; charsetutf-8Date: Tue, 04 Nov 2025 01:38:55 GMTEtag: 14jt69zqh4w1n9eServer: VercelStrict-Transport-Security: max-age63072000Vary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetchX-Matched-Path: /X-Nextjs-Prerender: 1X-Nextjs-Stale-Time: 300X-Powered-By: Next.jsX-Vercel-Cache: HITX-Vercel-Id: pdx1::iad1::7rq4q-1762223194976-fb92db40f7e5 !DOCTYPE html>html classh-full geistsans_d5a4f12f-module__Ur3q_a__variable geistmono_157ca88a-module__iaM1Ya__variable langen>head>meta charSetutf-8/>meta nameviewport contentwidthdevice-width, initial-scale1/>link relpreload href/_next/static/media/GeistMono_Variable.p.73882635.woff2 asfont crossorigin typefont/woff2/>link relpreload href/_next/static/media/Geist_Variable-s.p.f19e4721.woff2 asfont crossorigin typefont/woff2/>link relstylesheet href/_next/static/chunks/476d8ffe010860ef.css?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg data-precedencenext/>link relstylesheet href/_next/static/chunks/c7f8a1c4c43b3e6c.css?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg data-precedencenext/>link relpreload asscript fetchPrioritylow href/_next/static/chunks/2118bc034324fb77.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg/>script src/_next/static/chunks/6bca6aeabebf33cc.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg async>/script>script src/_next/static/chunks/f1f57dff549588d4.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg async>/script>script src/_next/static/chunks/6e9a3d5f79c60e6c.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg async>/script>script src/_next/static/chunks/77eef3337f898440.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg async>/script>script src/_next/static/chunks/turbopack-9d2fc00968aede57.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg async>/script>script src/_next/static/chunks/ff1a16fafef87110.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg async>/script>script src/_next/static/chunks/64c0a5e3a0354479.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg async>/script>script src/_next/static/chunks/3735fb4661a70f80.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg async>/script>script src/_next/static/chunks/d9a2b818e6179738.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg async>/script>script src/_next/static/chunks/436c2fa804472625.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg async>/script>meta namenext-size-adjust content/>title>Karim Shehadeh's Personal Site/title>meta namedescription contentKarim Shehadeh's personal website that includes a blog, links I have come across, resume and some helpful tooling./>link relcanonical href//>link relalternate typeapplication/rss+xml hrefhttps://www.karim.cloud/api/rss.xml/>link relicon href/favicon.ico?favicon.fe14ef3e.ico sizes48x48 typeimage/x-icon/>script src/_next/static/chunks/a6dad97d9634a72d.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg noModule>/script>/head>body classh-full>div hidden>!--$-->!--/$-->/div>div classmin-h-full>nav classbg-gray-800 data-headlessui-state>div classmx-auto max-w-7xl px-4 sm:px-6 lg:px-8>div classflex h-16 items-center justify-between>div classflex items-center>a classflex-shrink-0 text-gray-800 weight-100 bg-white p-2 rounded-sm href/>Karim Shehadeh/a>div classhidden md:block>div classml-10 flex items-baseline space-x-4>a href/blog classtext-gray-300 hover:bg-gray-700 hover:text-white rounded-md px-3 py-2 text-sm font-medium>Blog/a>a href/bookmarks classtext-gray-300 hover:bg-gray-700 hover:text-white rounded-md px-3 py-2 text-sm font-medium>Bookmarks/a>a href/about classtext-gray-300 hover:bg-gray-700 hover:text-white rounded-md px-3 py-2 text-sm font-medium>About/a>a href/resume classtext-gray-300 hover:bg-gray-700 hover:text-white rounded-md px-3 py-2 text-sm font-medium>Resume/a>/div>/div>/div>div classflex flex-row gap-3>div class-mr-2 flex md:hidden>button classrelative inline-flex items-center justify-center rounded-md bg-gray-800 p-2 text-gray-400 hover:bg-gray-700 hover:text-white focus:outline-none focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-gray-800 idheadlessui-disclosure-button-_R_2altivb_ typebutton aria-expandedfalse data-headlessui-state>span classabsolute -inset-0.5>/span>span classsr-only>Open main menu/span>svg xmlnshttp://www.w3.org/2000/svg fillnone viewBox0 0 24 24 stroke-width1.5 strokecurrentColor aria-hiddentrue data-sloticon classblock h-6 w-6>path stroke-linecapround stroke-linejoinround dM3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5>/path>/svg>/button>/div>/div>/div>/div>/nav>div classflex flex-row pb-24 md:pb-10>div classmd:w-3/4 w-full mt-5>main classprose max-w-none bg-white md:ml-5 md:mr-5 md:pl-10 md:pr-10 rounded-md ml-2 pl-2 mr-2 pr-2 pb-6 >ul classlist-none grid grid-cols-1 md:grid-cols-3 gap-2 gap-y-10>li classbasis-24%>article classflex flex-col justify-between m-0 p-0>div classh-64 grow bg-cover hidden md:block stylebackground-image:url(https://static.karim.cloud/26a44e89-862c-80d9-bd7f-f9908718ebe6/blog-image.png)>/div>div classgroup relative>h3 classmd:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600>a href/blog/posts/choosing-a-technical-solution>span classabsolute inset-0>/span>Deciding on Technology/a>/h3>div classflex items-center gap-x-4>time dateTime2025-09-11 classtext-gray-500>2025/time>div classflex gap-2 overflow-x-auto stylescrollbar-width:none>a href/blog/tag/Organization classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Organization/a>a href/blog/tag/Planning classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Planning/a>a href/blog/tag/Communication classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Communication/a>/div>/div>p classmt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent>Deciding what type of technical solution to use is always shaped by three main constraints: the limits of technology, the capabilities of the team, and the long-term needs of the organization. Each introduces uncertainty, and understanding their role is critical. For most application and web development, technology isn’t the limiting factor. Nearly every problem has multiple viable solutions already available. Real limits usually appear in fields like AI, game development, physical sciences, med.../p>/div>/article>/li>li classbasis-24%>article classflex flex-col justify-between m-0 p-0>div classh-64 grow bg-cover hidden md:block stylebackground-image:url(https://static.karim.cloud/26044e89-862c-80fb-a94f-c2bb7efffbcd/context-switching-and-ai.png)>/div>div classgroup relative>h3 classmd:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600>a href/blog/posts/managing-time-with-todoist>span classabsolute inset-0>/span>Managing Time with Todoist and AI/a>/h3>div classflex items-center gap-x-4>time dateTime2025-08-31 classtext-gray-500>2025/time>div classflex gap-2 overflow-x-auto stylescrollbar-width:none>a href/blog/tag/Organization classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Organization/a>/div>/div>p classmt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent>Like many engineering managers, my responsibilities shift from week to week. Tasks rarely line up neatly, and constant context switching can be exhausting. The only way I keep from drowning in it is by regrouping every week. Without that reset, the buildup of concerns can get overwhelming fast. Since my memory isn’t exactly reliable, I lean on tools to keep me organized. Todoist is my external brain. It’s simple to use, backed by an intuitive API, and perfect for both quick capture and easy retr.../p>/div>/article>/li>li classbasis-24%>article classflex flex-col justify-between m-0 p-0>div classh-64 grow bg-cover hidden md:block stylebackground-image:url(https://static.karim.cloud/23044e89-862c-8098-b2f8-c1af630a7185/person-robot.png)>/div>div classgroup relative>h3 classmd:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600>a href/blog/posts/complexity-and-context>span classabsolute inset-0>/span>Complexity and Context/a>/h3>div classflex items-center gap-x-4>time dateTime2025-07-14 classtext-gray-500>2025/time>div classflex gap-2 overflow-x-auto stylescrollbar-width:none>a href/blog/tag/Thinking classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Thinking/a>a href/blog/tag/Engineering classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Engineering/a>/div>/div>p classmt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent>I was recently thinking about why we get such different reports about the benefits of AI in software development. One person’s transcendent experience is another person’s waste of time. I think there are lots of reasons but one of them that seems particularly relevant in the work that I do has to do with the relationship between the code being written and how close it is to the consumer. The closer we get to the consumer when developing code (think “frontend”), the more commonality there ten.../p>/div>/article>/li>li classbasis-24%>article classflex flex-col justify-between m-0 p-0>div classh-64 grow bg-cover hidden md:block stylebackground-image:url(https://static.karim.cloud/17d44e89-862c-806f-a6c8-ff42152abbb2/burnout.png)>/div>div classgroup relative>h3 classmd:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600>a href/blog/posts/BurnoutAndMe>span classabsolute inset-0>/span>Burnout and Me/a>/h3>div classflex items-center gap-x-4>time dateTime2025-01-16 classtext-gray-500>2025/time>div classflex gap-2 overflow-x-auto stylescrollbar-width:none>a href/blog/tag/Thinking classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Thinking/a>a href/blog/tag/Career classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Career/a>/div>/div>p classmt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent>I recently listened to One of his suggestions that resonated with me—and this is my interpretation—is using self-imposed micro time constraints for work. I've been experimenting with this myself, and it’s been surprisingly effective. Lately, I’ve started setting up mini work sessions, usually 30 to 60 minutes, focused on a single task (I’m a die-hard Todoist user). The challenge, I’ve discovered, isn’t starting these sessions but stopping when the time is up. The urge to keep going because yo.../p>/div>/article>/li>li classbasis-24%>article classflex flex-col justify-between m-0 p-0>div classh-64 grow bg-cover hidden md:block stylebackground-image:url(https://static.karim.cloud/13644e89-862c-80aa-87bf-e15bb75abf12/sunrise.png)>/div>div classgroup relative>h3 classmd:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600>a href/blog/posts/Progress>span classabsolute inset-0>/span>Progress/a>/h3>div classflex items-center gap-x-4>time dateTime2024-11-06 classtext-gray-500>2024/time>div classflex gap-2 overflow-x-auto stylescrollbar-width:none>a href/blog/tag/Thinking classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Thinking/a>a href/blog/tag/People classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>People/a>/div>/div>p classmt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent>Even though Trump has won the election, I believe we are about to witness an incredible groundswell of support for progressive policies. The next four years may be difficult and, at times, deeply frustrating for those of us who care about social justice, climate action, and equity. But in the cycle of history, this had to happen for the champions of logic, empathy and fairness to wake up and recognize that those things require constant vigilance and upkeep. We will see firsthand the impact of p.../p>/div>/article>/li>li classbasis-24%>article classflex flex-col justify-between m-0 p-0>div classh-64 grow bg-cover hidden md:block stylebackground-image:url(https://static.karim.cloud/023525da-c5bf-4212-94bf-b22edc0542ff/computerman.jpeg)>/div>div classgroup relative>h3 classmd:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600>a href/blog/posts/VersioningPublishingCommittingGithub>span classabsolute inset-0>/span>Publish with Github/a>/h3>div classflex items-center gap-x-4>time dateTime2024-08-25 classtext-gray-500>2024/time>div classflex gap-2 overflow-x-auto stylescrollbar-width:none>a href/blog/tag/Tools classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Tools/a>a href/blog/tag/Github classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Github/a>a href/blog/tag/Typescript classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Typescript/a>a href/blog/tag/Engineering classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Engineering/a>/div>/div>p classmt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent>Something I want to do on most of my versioned projects is handle the versioning and committing as part of the merge/push to the main branch. So I’m putting this here as a reminder to myself and help to anyone else who is doing this with github actions. First, you’ll need the script to do the work. Mine looks like this: The important parts of this are the configuration changes that ensure that git and npm have permission to alter upstream state. The So that my npm run deploy If your branc.../p>/div>/article>/li>li classbasis-24%>article classflex flex-col justify-between m-0 p-0>div classh-64 grow bg-cover hidden md:block stylebackground-image:url(https://static.karim.cloud/ba45e3dd-9e0b-4625-9790-54d9fe25ef80/single-threaded.png)>/div>div classgroup relative>h3 classmd:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600>a href/blog/posts/SingleThreaded>span classabsolute inset-0>/span>Single-Threaded/a>/h3>div classflex items-center gap-x-4>time dateTime2024-06-24 classtext-gray-500>2024/time>div classflex gap-2 overflow-x-auto stylescrollbar-width:none>a href/blog/tag/Thinking classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Thinking/a>a href/blog/tag/Organization classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Organization/a>/div>/div>p classmt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent>The ability to juggle multiple tasks simultaneously is often celebrated as a hallmark of productivity. We pride ourselves on our capacity to switch rapidly between emails, phone calls, meetings, and projects, believing that this constant state of flux maximizes our efficiency. I think that approach is lowering the quality of output and adding stress to our lives. Enter the concept of "single-threaded work." This approach, a computer-ese term, suggests that we operate most effectively when we fo.../p>/div>/article>/li>li classbasis-24%>article classflex flex-col justify-between m-0 p-0>div classh-64 grow bg-cover hidden md:block stylebackground-image:url(https://static.karim.cloud/d6c3f181-604e-401c-bea2-533810a4fa3e/interview-red-flags.jpeg)>/div>div classgroup relative>h3 classmd:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600>a href/blog/posts/InterviewFlags>span classabsolute inset-0>/span>Things To Watch Out For When Interviewing at a Company/a>/h3>div classflex items-center gap-x-4>time dateTime2024-06-12 classtext-gray-500>2024/time>div classflex gap-2 overflow-x-auto stylescrollbar-width:none>a href/blog/tag/Engineering classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Engineering/a>a href/blog/tag/Organization classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Organization/a>a href/blog/tag/People classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>People/a>a href/blog/tag/Career classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Career/a>/div>/div>p classmt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent>I was inspired to talk a little bit about this question on HackerNews: I had some thoughts about some of the points that were mentioned in the conversation. Some of them are good things to look out for while others may not be indicative of much. Unorganized or disjointed interview process.Lack of responsiveness or clear communication.Excessive number of interview rounds. Disorganized interview process is definitely a huge concern. This is often an indication that there are some foundation.../p>/div>/article>/li>li classbasis-24%>article classflex flex-col justify-between m-0 p-0>div classh-64 grow bg-cover hidden md:block stylebackground-image:url(https://static.karim.cloud/1c9226e8-02ef-47c8-a46d-1b6895f06f7e/guilds.jpeg)>/div>div classgroup relative>h3 classmd:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600>a href/blog/posts/Guilds>span classabsolute inset-0>/span>Guilds/a>/h3>div classflex items-center gap-x-4>time dateTime2024-05-26 classtext-gray-500>2024/time>div classflex gap-2 overflow-x-auto stylescrollbar-width:none>a href/blog/tag/Engineering classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Engineering/a>a href/blog/tag/People classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>People/a>a href/blog/tag/Organization classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Organization/a>/div>/div>p classmt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent>In a large corporate environment, the decisions that are made at the highest levels can be bewildering, seemingly inconsistent and out of touch with operations on the ground. That’s not to say they’re bad decisions, just that it can be hard to make sense of them when you don’t have access to all the factors that led to them. Trying to make sense of it is an exercise in frustration. If you have made your case for what you believe to be an ideal structure and made no headway, your next course.../p>/div>/article>/li>li classbasis-24%>article classflex flex-col justify-between m-0 p-0>div classh-64 grow bg-cover hidden md:block stylebackground-image:url(https://static.karim.cloud/e2f6f136-6def-4e2c-84ca-610d162babfd/organicengineering.jpg)>/div>div classgroup relative>h3 classmd:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600>a href/blog/posts/OrganicEngineering>span classabsolute inset-0>/span>Organic Engineering/a>/h3>div classflex items-center gap-x-4>time dateTime2024-04-24 classtext-gray-500>2024/time>div classflex gap-2 overflow-x-auto stylescrollbar-width:none>a href/blog/tag/Engineering classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Engineering/a>a href/blog/tag/People classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>People/a>a href/blog/tag/Organization classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Organization/a>/div>/div>p classmt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent>In the realm of engineering team organization, a one-size-fits-all approach simply doesn't suffice. Team dynamics are complex, influenced by the individuals comprising the team and the evolving nature of their work. I advocate for an approach I like to call Experience in engineering spans a spectrum, from seasoned veterans to fresh faces eager to make their mark. While experience brings valuable insights and a seasoned perspective, it can also breed complacency and a reluctance to embrace new .../p>/div>/article>/li>li classbasis-24%>article classflex flex-col justify-between m-0 p-0>div classh-64 grow bg-cover hidden md:block stylebackground-image:url(https://static.karim.cloud/cf94e47b-5b2c-4e78-be4d-426312090478/group-decisions.webp)>/div>div classgroup relative>h3 classmd:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600>a href/blog/posts/GroupDecisions>span classabsolute inset-0>/span>Group Decisions/a>/h3>div classflex items-center gap-x-4>time dateTime2024-03-24 classtext-gray-500>2024/time>div classflex gap-2 overflow-x-auto stylescrollbar-width:none>a href/blog/tag/Communication classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Communication/a>a href/blog/tag/Thinking classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>Thinking/a>a href/blog/tag/People classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>People/a>/div>/div>p classmt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent>People are complicated. Really complicated. Navigating people in an environment where their motivations (and your own) are subject to a wide variety of ever-changing stimuli and thoughts makes for an exhausting experience. But if you can observe and identify what’s happening, you'll be able to rise above the chaos and find your way to a productive outcome. Meetings are where most conversations about problems that require decisions are discussed. But they are interpersonal communication puzzles .../p>/div>/article>/li>li classbasis-24%>article classflex flex-col justify-between m-0 p-0>div classh-64 grow bg-cover hidden md:block stylebackground-image:url(https://static.karim.cloud/ca5f1f41-b16b-4807-b532-b606913c8f88/conflict.webp)>/div>div classgroup relative>h3 classmd:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600>a href/blog/posts/CatalogingConflict>span classabsolute inset-0>/span>Cataloging Conflict/a>/h3>div classflex items-center gap-x-4>time dateTime2024-02-29 classtext-gray-500>2024/time>div classflex gap-2 overflow-x-auto stylescrollbar-width:none>a href/blog/tag/People classrelative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100>People/a>/div>/div>p classmt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent>I spend a good bit of time in conflict resolution - either my own, people on my team or between groups. I’ve noticed that one of the most helpful things to do in these situations - aside from empathy, which is absolutely crucial - is understanding the type(s) of conflict being had. A lot of time is spent debating decisions. Each of these decisions has consequences but the nature of those consequences should be clearly understood to better assign value to the conflict. Technical conflict h.../p>/div>/article>/li>/ul>/main>/div>div classmd:w-1/4 md:block mt-5 hidden>div classSidecar-module__eYjVDq__sidecar>aside>h2>Around The Web/h2>ul>li classleading-8>a target_blank hrefhttps://notion.notion.site/Why-the-future-of-work-depends-on-AI-1e7efdeead0580d2bf8cec7740833f6b>Why the future of work depends on AI/a>/li>li classleading-8>a target_blank hrefhttps://jyn.dev/an-engineers-perspective-on-hiring>an engineer's perspective on hiring/a>/li>li classleading-8>a target_blank hrefhttps://shramko.dev/blog/react-rerender>Understanding React Re-Renders: What Triggers Them and Why They Matter/a>/li>li classleading-8>a target_blank hrefhttps://ai.jakegaylor.com/>Jake Gaylor – Teach your LLM about me/a>/li>li classleading-8>a target_blank hrefhttps://www.nytimes.com/2025/03/10/us/politics/supreme-court-conversion-therapy.html>Supreme Court to Hear Challenge to Law Banning Conversion Therapy/a>/li>li classleading-8>a target_blank hrefhttps://beej.us/guide/bggit/?utm_sourcetldrnewsletter>Beej's Guide to Git/a>/li>li classleading-8>a target_blank hrefhttps://github.com/mislam/typezero/tree/main/src/utils>typezero/src/utils at main · mislam/typezero/a>/li>li classleading-8>a target_blank hrefhttps://www.wsj.com/economy/jobs/balance-of-power-shifts-back-toward-bosses-a2861df1>Balance of Power Shifts Back Toward Bosses/a>/li>li classleading-8>a target_blank hrefhttps://nextjs.org/blog/composable-caching>Composable Caching with Next.js/a>/li>li classleading-8>a target_blank hrefhttps://github.com/release-it/release-it>release-it/release-it: 🚀 Automate versioning and package publishing/a>/li>/ul>/aside>aside>h2>Other Things/h2>ul>li classleading-8>a href/blog>My Blog/a>/li>li classleading-8>a href/resume>My Resume/a>/li>li classleading-8>a href/about>About Me/a>/li>/ul>/aside>/div>/div>/div>footer classbg-gray-100 text-gray-800 text-center p-5 flex flex-row justify-between fixed bottom-0 w-100%>div>© !-- -->2025!-- --> Karim Shehadeh/div>ul classlist-none flex flex-row gap-3 flex-wrap>li>a hrefhttps://stackoverflow.com/users/2494/karim target_blank classflex flex-row gap-1 relnoreferrer noopener>img titleStackOverflow altStackOverflow loadinglazy width20 height20 decodingasync data-nimg1 classw-5 h-5 not-prose stylecolor:transparent srchttps://static.karim.cloud/about/stackoverflow.svg/>/a>/li>li>a hrefhttps://bsky.app/profile/kshehadeh.bsky.social target_blank classflex flex-row gap-1 relnoreferrer noopener>img titleBlueSky altBlueSky loadinglazy width20 height20 decodingasync data-nimg1 classw-5 h-5 not-prose stylecolor:transparent srcSet/_next/image?urlhttps%3A%2F%2Fstatic.karim.cloud%2Fabout%2FIco%CC%82ne%20Bluesky%20PNG.png&w32&q75 1x, /_next/image?urlhttps%3A%2F%2Fstatic.karim.cloud%2Fabout%2FIco%CC%82ne%20Bluesky%20PNG.png&w48&q75 2x src/_next/image?urlhttps%3A%2F%2Fstatic.karim.cloud%2Fabout%2FIco%CC%82ne%20Bluesky%20PNG.png&w48&q75/>/a>/li>li>a hrefhttps://www.linkedin.com/in/kshehadeh/ target_blank classflex flex-row gap-1 relnoreferrer noopener>img titleLinkedIn altLinkedIn loadinglazy width20 height20 decodingasync data-nimg1 classw-5 h-5 not-prose stylecolor:transparent srchttps://static.karim.cloud/about/linkedin.svg/>/a>/li>li>a hrefhttps://x.com/k_shehadeh target_blank classflex flex-row gap-1 relnoreferrer noopener>img titleX altX loadinglazy width20 height20 decodingasync data-nimg1 classw-5 h-5 not-prose stylecolor:transparent srcSet/_next/image?urlhttps%3A%2F%2Fstatic.karim.cloud%2Fabout%2F64px-X_icon.svg.png&w32&q75 1x, /_next/image?urlhttps%3A%2F%2Fstatic.karim.cloud%2Fabout%2F64px-X_icon.svg.png&w48&q75 2x src/_next/image?urlhttps%3A%2F%2Fstatic.karim.cloud%2Fabout%2F64px-X_icon.svg.png&w48&q75/>/a>/li>li>a hrefhttps://github.com/kshehadeh target_blank classflex flex-row gap-1 relnoreferrer noopener>img titleGithub altGithub loadinglazy width20 height20 decodingasync data-nimg1 classw-5 h-5 not-prose stylecolor:transparent srchttps://static.karim.cloud/about/github.svg/>/a>/li>li>a hrefhttps://karim.cloud/api/rss.xml target_blank classflex flex-row gap-1 relnoreferrer noopener>img titleRSS altRSS loadinglazy width20 height20 decodingasync data-nimg1 classw-5 h-5 not-prose stylecolor:transparent srcSet/_next/image?urlhttps%3A%2F%2Fstatic.karim.cloud%2Fabout%2Frss.png&w32&q75 1x, /_next/image?urlhttps%3A%2F%2Fstatic.karim.cloud%2Fabout%2Frss.png&w48&q75 2x src/_next/image?urlhttps%3A%2F%2Fstatic.karim.cloud%2Fabout%2Frss.png&w48&q75/>/a>/li>/ul>/footer>!--$-->!--/$-->!--$!-->template data-dgstBAILOUT_TO_CLIENT_SIDE_RENDERING>/template>!--/$-->/div>script src/_next/static/chunks/2118bc034324fb77.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg id_R_ async>/script>script>(self.__next_fself.__next_f||).push(0)/script>script>self.__next_f.push(1,1:\$Sreact.fragment\\n2:I39756,\/_next/static/chunks/ff1a16fafef87110.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\/_next/static/chunks/64c0a5e3a0354479.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\default\\n3:I37457,\/_next/static/chunks/ff1a16fafef87110.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\/_next/static/chunks/64c0a5e3a0354479.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\default\\n4:I57215,\/_next/static/chunks/3735fb4661a70f80.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\SpeedInsights\\n5:I43880,\/_next/static/chunks/3735fb4661a70f80.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\Analytics\\n7:I97367,\/_next/static/chunks/ff1a16fafef87110.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\/_next/static/chunks/64c0a5e3a0354479.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\OutletBoundary\\n8:\$Sreact.suspense\\na:I97367,\/_next/static/chunks/ff1a16fafef87110.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\/_next/static/chunks/64c0a5e3a0354479.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\ViewportBoundary\\nc:I97367,\/_next/static/chunks/ff1a16fafef87110.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\/_next/static/chunks/64c0a5e3a0354479.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\MetadataBoundary\\ne:I68027,,\default\\n:HL\/_next/static/chunks/476d8ffe010860ef.css?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\style\\n:HL\/_next/static/media/GeistMono_Variable.p.73882635.woff2\,\font\,{\crossOrigin\:\\,\type\:\font/woff2\}\n:HL\/_next/static/media/Geist_Variable-s.p.f19e4721.woff2\,\font\,{\crossOrigin\:\\,\type\:\font/woff2\}\n:HL\/_next/static/chunks/c7f8a1c4c43b3e6c.css?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\style\\n)/script>script>self.__next_f.push(1,0:{\P\:null,\b\:\jmynStVW0GRtNT9Ujq2zD\,\c\:\\,\index\,\q\:\\,\i\:false,\f\:\\,{\children\:\(standard)\,{\children\:\__PAGE__\,{}},\$undefined\,\$undefined\,true},\$\,\$1\,\c\,{\children\:null,\$\,\$L2\,null,{\parallelRouterKey\:\children\,\error\:\$undefined\,\errorStyles\:\$undefined\,\errorScripts\:\$undefined\,\template\:\$\,\$L3\,null,{},\templateStyles\:\$undefined\,\templateScripts\:\$undefined\,\notFound\:\$\,\title\,null,{\children\:\404: This page could not be found.\},\$\,\div\,null,{\style\:{\fontFamily\:\system-ui,\\\Segoe UI\\\,Roboto,Helvetica,Arial,sans-serif,\\\Apple Color Emoji\\\,\\\Segoe UI Emoji\\\\,\height\:\100vh\,\textAlign\:\center\,\display\:\flex\,\flexDirection\:\column\,\alignItems\:\center\,\justifyContent\:\center\},\children\:\$\,\div\,null,{\children\:\$\,\style\,null,{\dangerouslySetInnerHTML\:{\__html\:\body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\}},\$\,\h1\,null,{\className\:\next-error-h1\,\style\:{\display\:\inline-block\,\margin\:\0 20px 0 0\,\padding\:\0 23px 0 0\,\fontSize\:24,\fontWeight\:500,\verticalAlign\:\top\,\lineHeight\:\49px\},\children\:404},\$\,\div\,null,{\style\:{\display\:\inline-block\},\children\:\$\,\h2\,null,{\style\:{\fontSize\:14,\fontWeight\:400,\lineHeight\:\49px\,\margin\:0},\children\:\This page could not be found.\}}}},,\forbidden\:\$undefined\,\unauthorized\:\$undefined\}},{\children\:\$\,\$1\,\c\,{\children\:\$\,\link\,\0\,{\rel\:\stylesheet\,\href\:\/_next/static/chunks/476d8ffe010860ef.css?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\precedence\:\next\,\crossOrigin\:\$undefined\,\nonce\:\$undefined\},\$\,\script\,\script-0\,{\src\:\/_next/static/chunks/3735fb4661a70f80.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\async\:true,\nonce\:\$undefined\},\$\,\html\,null,{\className\:\h-full geistsans_d5a4f12f-module__Ur3q_a__variable geistmono_157ca88a-module__iaM1Ya__variable\,\lang\:\en\,\children\:\$\,\body\,null,{\className\:\h-full\,\children\:\$\,\div\,null,{\className\:\min-h-full\,\children\:\$\,\$L2\,null,{\parallelRouterKey\:\children\,\error\:\$undefined\,\errorStyles\:\$undefined\,\errorScripts\:\$undefined\,\template\:\$\,\$L3\,null,{},\templateStyles\:\$undefined\,\templateScripts\:\$undefined\,\notFound\:\$\,\title\,null,{\children\:\404: This page could not be found.\},\$\,\div\,null,{\style\:\$0:f:0:1:0:props:children:1:props:notFound:0:1:props:style\,\children\:\$\,\div\,null,{\children\:\$\,\style\,null,{\dangerouslySetInnerHTML\:{\__html\:\body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\}},\$\,\h1\,null,{\className\:\next-error-h1\,\style\:\$0:f:0:1:0:props:children:1:props:notFound:0:1:props:children:props:children:1:props:style\,\children\:404},\$\,\div\,null,{\style\:\$0:f:0:1:0:props:children:1:props:notFound:0:1:props:children:props:children:2:props:style\,\children\:\$\,\h2\,null,{\style\:\$0:f:0:1:0:props:children:1:props:notFound:0:1:props:children:props:children:2:props:children:props:style\,\children\:\This page could not be found.\}}}},,\forbidden\:\$undefined\,\unauthorized\:\$undefined\},\$\,\$L4\,null,{},\$\,\$L5\,null,{}}}}},{\children\:\$\,\$1\,\c\,{\children\:\$L6\,\$\,\link\,\0\,{\rel\:\stylesheet\,\href\:\/_next/static/chunks/c7f8a1c4c43b3e6c.css?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\precedence\:\next\,\crossOrigin\:\$undefined\,\nonce\:\$undefined\},\$\,\script\,\script-0\,{\src\:\/_next/static/chunks/d9a2b818e6179738.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\async\:true,\nonce\:\$undefined\},\$\,\script\,\script-1\,{\src\:\/_next/static/chunks/436c2fa804472625.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\async\:true,\nonce\:\$undefined\},\$\,\$L7\,null,{\children\:\$\,\$8\,null,{\name\:\Next.MetadataOutlet\,\children\:\$@9\}}},{},null,false,false},null,false,false},null,false,false,\$\,\$1\,\h\,{\children\:null,\$\,\$La\,null,{\children\:\$@b\},\$\,\div\,null,{\hidden\:true,\children\:\$\,\$Lc\,null,{\children\:\$\,\$8\,null,{\name\:\Next.Metadata\,\children\:\$@d\}}},\$\,\meta\,null,{\name\:\next-size-adjust\,\content\:\\}},false,\m\:\$undefined\,\G\:\$e\,,\s\:false,\S\:true}\n)/script>script>self.__next_f.push(1,b:\$\,\meta\,\0\,{\charSet\:\utf-8\},\$\,\meta\,\1\,{\name\:\viewport\,\content\:\widthdevice-width, initial-scale1\}\n)/script>script>self.__next_f.push(1,f:I27201,\/_next/static/chunks/ff1a16fafef87110.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\/_next/static/chunks/64c0a5e3a0354479.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\IconMark\\nd:\$\,\title\,\0\,{\children\:\Karim Shehadehs Personal Site\},\$\,\meta\,\1\,{\name\:\description\,\content\:\Karim Shehadehs personal website that includes a blog, links I have come across, resume and some helpful tooling.\},\$\,\link\,\2\,{\rel\:\canonical\,\href\:\/\},\$\,\link\,\3\,{\rel\:\alternate\,\type\:\application/rss+xml\,\href\:\https://www.karim.cloud/api/rss.xml\},\$\,\link\,\4\,{\rel\:\icon\,\href\:\/favicon.ico?favicon.fe14ef3e.ico\,\sizes\:\48x48\,\type\:\image/x-icon\},\$\,\$Lf\,\5\,{}\n9:null\n)/script>script>self.__next_f.push(1,10:I67642,\/_next/static/chunks/3735fb4661a70f80.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\/_next/static/chunks/d9a2b818e6179738.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\/_next/static/chunks/436c2fa804472625.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\default\\n)/script>script>self.__next_f.push(1,6:\$\,\$L10\,null,{\current\:\home\},\$\,\div\,null,{\className\:\flex flex-row pb-24 md:pb-10\,\children\:\$\,\div\,null,{\className\:\md:w-3/4 w-full mt-5\,\children\:\$\,\main\,null,{\className\:\prose max-w-none bg-white md:ml-5 md:mr-5 md:pl-10 md:pr-10 rounded-md ml-2 pl-2 mr-2 pr-2 pb-6 \,\children\:\$\,\ul\,null,{\className\:\list-none grid grid-cols-1 md:grid-cols-3 gap-2 gap-y-10\,\children\:\$\,\li\,\post-26a44e89-862c-80d9-bd7f-f9908718ebe6\,{\className\:\basis-24%\,\children\:\$\,\article\,\26a44e89-862c-80d9-bd7f-f9908718ebe6\,{\className\:\flex flex-col justify-between m-0 p-0\,\children\:\$\,\div\,null,{\className\:\h-64 grow bg-cover hidden md:block\,\style\:{\backgroundImage\:\url(https://static.karim.cloud/26a44e89-862c-80d9-bd7f-f9908718ebe6/blog-image.png)\}},\$\,\div\,null,{\className\:\group relative\,\children\:\$\,\h3\,null,{\className\:\md:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600\,\children\:\$\,\a\,null,{\href\:\/blog/posts/choosing-a-technical-solution\,\children\:\$\,\span\,null,{\className\:\absolute inset-0\},\Deciding on Technology\}},\$\,\div\,null,{\className\:\flex items-center gap-x-4\,\children\:\$\,\time\,null,{\dateTime\:\2025-09-11\,\className\:\text-gray-500\,\children\:\2025\},\$\,\div\,null,{\className\:\flex gap-2 overflow-x-auto\,\style\:{\scrollbarWidth\:\none\},\children\:\$\,\a\,\Organization\,{\href\:\/blog/tag/Organization\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Organization\},\$\,\a\,\Planning\,{\href\:\/blog/tag/Planning\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Planning\},\$\,\a\,\Communication\,{\href\:\/blog/tag/Communication\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Communication\}}},\$\,\p\,null,{\className\:\mt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent\,\children\:\Deciding what type of technical solution to use is always shaped by three main constraints: the limits of technology, the capabilities of the team, and the long-term needs of the organization. Each introduces uncertainty, and understanding their role is critical. For most application and web development, technology isn’t the limiting factor. Nearly every problem has multiple viable solutions already available. Real limits usually appear in fields like AI, game development, physical sciences, med...\}},false}},\$\,\li\,\post-26044e89-862c-80fb-a94f-c2bb7efffbcd\,{\className\:\basis-24%\,\children\:\$\,\article\,\26044e89-862c-80fb-a94f-c2bb7efffbcd\,{\className\:\flex flex-col justify-between m-0 p-0\,\children\:\$\,\div\,null,{\className\:\h-64 grow bg-cover hidden md:block\,\style\:{\backgroundImage\:\url(https://static.karim.cloud/26044e89-862c-80fb-a94f-c2bb7efffbcd/context-switching-and-ai.png)\}},\$\,\div\,null,{\className\:\group relative\,\children\:\$\,\h3\,null,{\className\:\md:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600\,\children\:\$\,\a\,null,{\href\:\/blog/posts/managing-time-with-todoist\,\children\:\$\,\span\,null,{\className\:\absolute inset-0\},\Managing Time with Todoist and AI\}},\$\,\div\,null,{\className\:\flex items-center gap-x-4\,\children\:\$\,\time\,null,{\dateTime\:\2025-08-31\,\className\:\text-gray-500\,\children\:\2025\},\$\,\div\,null,{\className\:\flex gap-2 overflow-x-auto\,\style\:{\scrollbarWidth\:\none\},\children\:\$\,\a\,\Organization\,{\href\:\/blog/tag/Organization\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Organization\}}},\$L11\},false}},\$L12\,\$L13\,\$L14\,\$L15\,\$L16\,\$L17\,\$L18\,\$L19\,\$L1a\,\$L1b\}}},\$L1c\},\$L1d\\n)/script>script>self.__next_f.push(1,11:\$\,\p\,null,{\className\:\mt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent\,\children\:\Like many engineering managers, my responsibilities shift from week to week. Tasks rarely line up neatly, and constant context switching can be exhausting. The only way I keep from drowning in it is by regrouping every week. Without that reset, the buildup of concerns can get overwhelming fast. Since my memory isn’t exactly reliable, I lean on tools to keep me organized. Todoist is my external brain. It’s simple to use, backed by an intuitive API, and perfect for both quick capture and easy retr...\}\n)/script>script>self.__next_f.push(1,12:\$\,\li\,\post-23044e89-862c-8098-b2f8-c1af630a7185\,{\className\:\basis-24%\,\children\:\$\,\article\,\23044e89-862c-8098-b2f8-c1af630a7185\,{\className\:\flex flex-col justify-between m-0 p-0\,\children\:\$\,\div\,null,{\className\:\h-64 grow bg-cover hidden md:block\,\style\:{\backgroundImage\:\url(https://static.karim.cloud/23044e89-862c-8098-b2f8-c1af630a7185/person-robot.png)\}},\$\,\div\,null,{\className\:\group relative\,\children\:\$\,\h3\,null,{\className\:\md:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600\,\children\:\$\,\a\,null,{\href\:\/blog/posts/complexity-and-context\,\children\:\$\,\span\,null,{\className\:\absolute inset-0\},\Complexity and Context\}},\$\,\div\,null,{\className\:\flex items-center gap-x-4\,\children\:\$\,\time\,null,{\dateTime\:\2025-07-14\,\className\:\text-gray-500\,\children\:\2025\},\$\,\div\,null,{\className\:\flex gap-2 overflow-x-auto\,\style\:{\scrollbarWidth\:\none\},\children\:\$\,\a\,\Thinking\,{\href\:\/blog/tag/Thinking\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Thinking\},\$\,\a\,\Engineering\,{\href\:\/blog/tag/Engineering\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Engineering\}}},\$\,\p\,null,{\className\:\mt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent\,\children\:\I was recently thinking about why we get such different reports about the benefits of AI in software development. One person’s transcendent experience is another person’s waste of time. I think there are lots of reasons but one of them that seems particularly relevant in the work that I do has to do with the relationship between the code being written and how close it is to the consumer. The closer we get to the consumer when developing code (think “frontend”), the more commonality there ten...\}},false}}\n)/script>script>self.__next_f.push(1,13:\$\,\li\,\post-17d44e89-862c-806f-a6c8-ff42152abbb2\,{\className\:\basis-24%\,\children\:\$\,\article\,\17d44e89-862c-806f-a6c8-ff42152abbb2\,{\className\:\flex flex-col justify-between m-0 p-0\,\children\:\$\,\div\,null,{\className\:\h-64 grow bg-cover hidden md:block\,\style\:{\backgroundImage\:\url(https://static.karim.cloud/17d44e89-862c-806f-a6c8-ff42152abbb2/burnout.png)\}},\$\,\div\,null,{\className\:\group relative\,\children\:\$\,\h3\,null,{\className\:\md:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600\,\children\:\$\,\a\,null,{\href\:\/blog/posts/BurnoutAndMe\,\children\:\$\,\span\,null,{\className\:\absolute inset-0\},\Burnout and Me\}},\$\,\div\,null,{\className\:\flex items-center gap-x-4\,\children\:\$\,\time\,null,{\dateTime\:\2025-01-16\,\className\:\text-gray-500\,\children\:\2025\},\$\,\div\,null,{\className\:\flex gap-2 overflow-x-auto\,\style\:{\scrollbarWidth\:\none\},\children\:\$\,\a\,\Thinking\,{\href\:\/blog/tag/Thinking\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Thinking\},\$\,\a\,\Career\,{\href\:\/blog/tag/Career\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Career\}}},\$\,\p\,null,{\className\:\mt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent\,\children\:\I recently listened to One of his suggestions that resonated with me—and this is my interpretation—is using self-imposed micro time constraints for work. Ive been experimenting with this myself, and it’s been surprisingly effective. Lately, I’ve started setting up mini work sessions, usually 30 to 60 minutes, focused on a single task (I’m a die-hard Todoist user). The challenge, I’ve discovered, isn’t starting these sessions but stopping when the time is up. The urge to keep going because yo...\}},false}}\n)/script>script>self.__next_f.push(1,14:\$\,\li\,\post-13644e89-862c-80aa-87bf-e15bb75abf12\,{\className\:\basis-24%\,\children\:\$\,\article\,\13644e89-862c-80aa-87bf-e15bb75abf12\,{\className\:\flex flex-col justify-between m-0 p-0\,\children\:\$\,\div\,null,{\className\:\h-64 grow bg-cover hidden md:block\,\style\:{\backgroundImage\:\url(https://static.karim.cloud/13644e89-862c-80aa-87bf-e15bb75abf12/sunrise.png)\}},\$\,\div\,null,{\className\:\group relative\,\children\:\$\,\h3\,null,{\className\:\md:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600\,\children\:\$\,\a\,null,{\href\:\/blog/posts/Progress\,\children\:\$\,\span\,null,{\className\:\absolute inset-0\},\Progress\}},\$\,\div\,null,{\className\:\flex items-center gap-x-4\,\children\:\$\,\time\,null,{\dateTime\:\2024-11-06\,\className\:\text-gray-500\,\children\:\2024\},\$\,\div\,null,{\className\:\flex gap-2 overflow-x-auto\,\style\:{\scrollbarWidth\:\none\},\children\:\$\,\a\,\Thinking\,{\href\:\/blog/tag/Thinking\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Thinking\},\$\,\a\,\People\,{\href\:\/blog/tag/People\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\People\}}},\$\,\p\,null,{\className\:\mt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent\,\children\:\Even though Trump has won the election, I believe we are about to witness an incredible groundswell of support for progressive policies. The next four years may be difficult and, at times, deeply frustrating for those of us who care about social justice, climate action, and equity. But in the cycle of history, this had to happen for the champions of logic, empathy and fairness to wake up and recognize that those things require constant vigilance and upkeep. We will see firsthand the impact of p...\}},false}}\n)/script>script>self.__next_f.push(1,15:\$\,\li\,\post-023525da-c5bf-4212-94bf-b22edc0542ff\,{\className\:\basis-24%\,\children\:\$\,\article\,\023525da-c5bf-4212-94bf-b22edc0542ff\,{\className\:\flex flex-col justify-between m-0 p-0\,\children\:\$\,\div\,null,{\className\:\h-64 grow bg-cover hidden md:block\,\style\:{\backgroundImage\:\url(https://static.karim.cloud/023525da-c5bf-4212-94bf-b22edc0542ff/computerman.jpeg)\}},\$\,\div\,null,{\className\:\group relative\,\children\:\$\,\h3\,null,{\className\:\md:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600\,\children\:\$\,\a\,null,{\href\:\/blog/posts/VersioningPublishingCommittingGithub\,\children\:\$\,\span\,null,{\className\:\absolute inset-0\},\Publish with Github\}},\$\,\div\,null,{\className\:\flex items-center gap-x-4\,\children\:\$\,\time\,null,{\dateTime\:\2024-08-25\,\className\:\text-gray-500\,\children\:\2024\},\$\,\div\,null,{\className\:\flex gap-2 overflow-x-auto\,\style\:{\scrollbarWidth\:\none\},\children\:\$\,\a\,\Tools\,{\href\:\/blog/tag/Tools\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Tools\},\$\,\a\,\Github\,{\href\:\/blog/tag/Github\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Github\},\$\,\a\,\Typescript\,{\href\:\/blog/tag/Typescript\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Typescript\},\$\,\a\,\Engineering\,{\href\:\/blog/tag/Engineering\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Engineering\}}},\$\,\p\,null,{\className\:\mt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent\,\children\:\Something I want to do on most of my versioned projects is handle the versioning and committing as part of the merge/push to the main branch. So I’m putting this here as a reminder to myself and help to anyone else who is doing this with github actions. First, you’ll need the script to do the work. Mine looks like this: The important parts of this are the configuration changes that ensure that git and npm have permission to alter upstream state. The So that my npm run deploy If your branc...\}},false}}\n)/script>script>self.__next_f.push(1,16:\$\,\li\,\post-ba45e3dd-9e0b-4625-9790-54d9fe25ef80\,{\className\:\basis-24%\,\children\:\$\,\article\,\ba45e3dd-9e0b-4625-9790-54d9fe25ef80\,{\className\:\flex flex-col justify-between m-0 p-0\,\children\:\$\,\div\,null,{\className\:\h-64 grow bg-cover hidden md:block\,\style\:{\backgroundImage\:\url(https://static.karim.cloud/ba45e3dd-9e0b-4625-9790-54d9fe25ef80/single-threaded.png)\}},\$\,\div\,null,{\className\:\group relative\,\children\:\$\,\h3\,null,{\className\:\md:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600\,\children\:\$\,\a\,null,{\href\:\/blog/posts/SingleThreaded\,\children\:\$\,\span\,null,{\className\:\absolute inset-0\},\Single-Threaded\}},\$\,\div\,null,{\className\:\flex items-center gap-x-4\,\children\:\$\,\time\,null,{\dateTime\:\2024-06-24\,\className\:\text-gray-500\,\children\:\2024\},\$\,\div\,null,{\className\:\flex gap-2 overflow-x-auto\,\style\:{\scrollbarWidth\:\none\},\children\:\$\,\a\,\Thinking\,{\href\:\/blog/tag/Thinking\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Thinking\},\$\,\a\,\Organization\,{\href\:\/blog/tag/Organization\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Organization\}}},\$\,\p\,null,{\className\:\mt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent\,\children\:\The ability to juggle multiple tasks simultaneously is often celebrated as a hallmark of productivity. We pride ourselves on our capacity to switch rapidly between emails, phone calls, meetings, and projects, believing that this constant state of flux maximizes our efficiency. I think that approach is lowering the quality of output and adding stress to our lives. Enter the concept of \\\single-threaded work.\\\ This approach, a computer-ese term, suggests that we operate most effectively when we fo...\}},false}}\n)/script>script>self.__next_f.push(1,17:\$\,\li\,\post-d6c3f181-604e-401c-bea2-533810a4fa3e\,{\className\:\basis-24%\,\children\:\$\,\article\,\d6c3f181-604e-401c-bea2-533810a4fa3e\,{\className\:\flex flex-col justify-between m-0 p-0\,\children\:\$\,\div\,null,{\className\:\h-64 grow bg-cover hidden md:block\,\style\:{\backgroundImage\:\url(https://static.karim.cloud/d6c3f181-604e-401c-bea2-533810a4fa3e/interview-red-flags.jpeg)\}},\$\,\div\,null,{\className\:\group relative\,\children\:\$\,\h3\,null,{\className\:\md:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600\,\children\:\$\,\a\,null,{\href\:\/blog/posts/InterviewFlags\,\children\:\$\,\span\,null,{\className\:\absolute inset-0\},\Things To Watch Out For When Interviewing at a Company\}},\$\,\div\,null,{\className\:\flex items-center gap-x-4\,\children\:\$\,\time\,null,{\dateTime\:\2024-06-12\,\className\:\text-gray-500\,\children\:\2024\},\$\,\div\,null,{\className\:\flex gap-2 overflow-x-auto\,\style\:{\scrollbarWidth\:\none\},\children\:\$\,\a\,\Engineering\,{\href\:\/blog/tag/Engineering\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Engineering\},\$\,\a\,\Organization\,{\href\:\/blog/tag/Organization\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Organization\},\$\,\a\,\People\,{\href\:\/blog/tag/People\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\People\},\$\,\a\,\Career\,{\href\:\/blog/tag/Career\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Career\}}},\$\,\p\,null,{\className\:\mt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent\,\children\:\I was inspired to talk a little bit about this question on HackerNews: I had some thoughts about some of the points that were mentioned in the conversation. Some of them are good things to look out for while others may not be indicative of much. Unorganized or disjointed interview process.\\nLack of responsiveness or clear communication.\\nExcessive number of interview rounds. Disorganized interview process is definitely a huge concern. This is often an indication that there are some foundation...\}},false}}\n)/script>script>self.__next_f.push(1,18:\$\,\li\,\post-1c9226e8-02ef-47c8-a46d-1b6895f06f7e\,{\className\:\basis-24%\,\children\:\$\,\article\,\1c9226e8-02ef-47c8-a46d-1b6895f06f7e\,{\className\:\flex flex-col justify-between m-0 p-0\,\children\:\$\,\div\,null,{\className\:\h-64 grow bg-cover hidden md:block\,\style\:{\backgroundImage\:\url(https://static.karim.cloud/1c9226e8-02ef-47c8-a46d-1b6895f06f7e/guilds.jpeg)\}},\$\,\div\,null,{\className\:\group relative\,\children\:\$\,\h3\,null,{\className\:\md:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600\,\children\:\$\,\a\,null,{\href\:\/blog/posts/Guilds\,\children\:\$\,\span\,null,{\className\:\absolute inset-0\},\Guilds\}},\$\,\div\,null,{\className\:\flex items-center gap-x-4\,\children\:\$\,\time\,null,{\dateTime\:\2024-05-26\,\className\:\text-gray-500\,\children\:\2024\},\$\,\div\,null,{\className\:\flex gap-2 overflow-x-auto\,\style\:{\scrollbarWidth\:\none\},\children\:\$\,\a\,\Engineering\,{\href\:\/blog/tag/Engineering\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Engineering\},\$\,\a\,\People\,{\href\:\/blog/tag/People\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\People\},\$\,\a\,\Organization\,{\href\:\/blog/tag/Organization\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Organization\}}},\$\,\p\,null,{\className\:\mt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent\,\children\:\In a large corporate environment, the decisions that are made at the highest levels can be bewildering, seemingly inconsistent and out of touch with operations on the ground. That’s not to say they’re bad decisions, just that it can be hard to make sense of them when you don’t have access to all the factors that led to them. Trying to make sense of it is an exercise in frustration. If you have made your case for what you believe to be an ideal structure and made no headway, your next course...\}},false}}\n)/script>script>self.__next_f.push(1,19:\$\,\li\,\post-e2f6f136-6def-4e2c-84ca-610d162babfd\,{\className\:\basis-24%\,\children\:\$\,\article\,\e2f6f136-6def-4e2c-84ca-610d162babfd\,{\className\:\flex flex-col justify-between m-0 p-0\,\children\:\$\,\div\,null,{\className\:\h-64 grow bg-cover hidden md:block\,\style\:{\backgroundImage\:\url(https://static.karim.cloud/e2f6f136-6def-4e2c-84ca-610d162babfd/organicengineering.jpg)\}},\$\,\div\,null,{\className\:\group relative\,\children\:\$\,\h3\,null,{\className\:\md:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600\,\children\:\$\,\a\,null,{\href\:\/blog/posts/OrganicEngineering\,\children\:\$\,\span\,null,{\className\:\absolute inset-0\},\Organic Engineering\}},\$\,\div\,null,{\className\:\flex items-center gap-x-4\,\children\:\$\,\time\,null,{\dateTime\:\2024-04-24\,\className\:\text-gray-500\,\children\:\2024\},\$\,\div\,null,{\className\:\flex gap-2 overflow-x-auto\,\style\:{\scrollbarWidth\:\none\},\children\:\$\,\a\,\Engineering\,{\href\:\/blog/tag/Engineering\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Engineering\},\$\,\a\,\People\,{\href\:\/blog/tag/People\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\People\},\$\,\a\,\Organization\,{\href\:\/blog/tag/Organization\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Organization\}}},\$\,\p\,null,{\className\:\mt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent\,\children\:\In the realm of engineering team organization, a one-size-fits-all approach simply doesnt suffice. Team dynamics are complex, influenced by the individuals comprising the team and the evolving nature of their work. I advocate for an approach I like to call Experience in engineering spans a spectrum, from seasoned veterans to fresh faces eager to make their mark. While experience brings valuable insights and a seasoned perspective, it can also breed complacency and a reluctance to embrace new ...\}},false}}\n)/script>script>self.__next_f.push(1,1a:\$\,\li\,\post-cf94e47b-5b2c-4e78-be4d-426312090478\,{\className\:\basis-24%\,\children\:\$\,\article\,\cf94e47b-5b2c-4e78-be4d-426312090478\,{\className\:\flex flex-col justify-between m-0 p-0\,\children\:\$\,\div\,null,{\className\:\h-64 grow bg-cover hidden md:block\,\style\:{\backgroundImage\:\url(https://static.karim.cloud/cf94e47b-5b2c-4e78-be4d-426312090478/group-decisions.webp)\}},\$\,\div\,null,{\className\:\group relative\,\children\:\$\,\h3\,null,{\className\:\md:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600\,\children\:\$\,\a\,null,{\href\:\/blog/posts/GroupDecisions\,\children\:\$\,\span\,null,{\className\:\absolute inset-0\},\Group Decisions\}},\$\,\div\,null,{\className\:\flex items-center gap-x-4\,\children\:\$\,\time\,null,{\dateTime\:\2024-03-24\,\className\:\text-gray-500\,\children\:\2024\},\$\,\div\,null,{\className\:\flex gap-2 overflow-x-auto\,\style\:{\scrollbarWidth\:\none\},\children\:\$\,\a\,\Communication\,{\href\:\/blog/tag/Communication\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Communication\},\$\,\a\,\Thinking\,{\href\:\/blog/tag/Thinking\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\Thinking\},\$\,\a\,\People\,{\href\:\/blog/tag/People\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\People\}}},\$\,\p\,null,{\className\:\mt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent\,\children\:\People are complicated. Really complicated. Navigating people in an environment where their motivations (and your own) are subject to a wide variety of ever-changing stimuli and thoughts makes for an exhausting experience. But if you can observe and identify what’s happening, youll be able to rise above the chaos and find your way to a productive outcome. Meetings are where most conversations about problems that require decisions are discussed. But they are interpersonal communication puzzles ...\}},false}}\n)/script>script>self.__next_f.push(1,1b:\$\,\li\,\post-ca5f1f41-b16b-4807-b532-b606913c8f88\,{\className\:\basis-24%\,\children\:\$\,\article\,\ca5f1f41-b16b-4807-b532-b606913c8f88\,{\className\:\flex flex-col justify-between m-0 p-0\,\children\:\$\,\div\,null,{\className\:\h-64 grow bg-cover hidden md:block\,\style\:{\backgroundImage\:\url(https://static.karim.cloud/ca5f1f41-b16b-4807-b532-b606913c8f88/conflict.webp)\}},\$\,\div\,null,{\className\:\group relative\,\children\:\$\,\h3\,null,{\className\:\md:mt-3 mt-1 font-semibold leading-6 text-gray-900 group-hover:text-gray-600\,\children\:\$\,\a\,null,{\href\:\/blog/posts/CatalogingConflict\,\children\:\$\,\span\,null,{\className\:\absolute inset-0\},\Cataloging Conflict\}},\$\,\div\,null,{\className\:\flex items-center gap-x-4\,\children\:\$\,\time\,null,{\dateTime\:\2024-02-29\,\className\:\text-gray-500\,\children\:\2024\},\$\,\div\,null,{\className\:\flex gap-2 overflow-x-auto\,\style\:{\scrollbarWidth\:\none\},\children\:\$\,\a\,\People\,{\href\:\/blog/tag/People\,\className\:\relative z-10 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100\,\children\:\People\}}},\$\,\p\,null,{\className\:\mt-5 line-clampœ-3 leading-6 text-gray-600 h-20 overflow-hidden text-ellipsis after:absolute after:bottom-0 after:left-0 after:right-0 after:h-16 after:bg-gradient-to-b after:to-white after:from-transparent\,\children\:\I spend a good bit of time in conflict resolution - either my own, people on my team or between groups. I’ve noticed that one of the most helpful things to do in these situations - aside from empathy, which is absolutely crucial - is understanding the type(s) of conflict being had. A lot of time is spent debating decisions. Each of these decisions has consequences but the nature of those consequences should be clearly understood to better assign value to the conflict. Technical conflict h...\}},false}}\n)/script>script>self.__next_f.push(1,1c:\$\,\div\,null,{\className\:\md:w-1/4 md:block mt-5 hidden\,\children\:\$L1e\}\n)/script>script>self.__next_f.push(1,20:I22016,\/_next/static/chunks/3735fb4661a70f80.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\/_next/static/chunks/d9a2b818e6179738.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\/_next/static/chunks/436c2fa804472625.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\\\n1e:\$\,\div\,null,{\className\:\Sidecar-module__eYjVDq__sidecar\,\children\:,false,\$L1f\,\$\,\aside\,null,{\children\:\$\,\h2\,null,{\children\:\Other Things\},\$\,\ul\,null,{\children\:\$\,\li\,null,{\className\:\leading-8\,\children\:\$\,\$L20\,null,{\href\:\/blog\,\children\:\My Blog\}},\$\,\li\,null,{\className\:\leading-8\,\children\:\$\,\$L20\,null,{\href\:\/resume\,\children\:\My Resume\}},\$\,\li\,null,{\className\:\leading-8\,\children\:\$\,\$L20\,null,{\href\:\/about\,\children\:\About Me\}}}}}\n)/script>script>self.__next_f.push(1,21:I5500,\/_next/static/chunks/3735fb4661a70f80.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\/_next/static/chunks/d9a2b818e6179738.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\/_next/static/chunks/436c2fa804472625.js?dpldpl_5AfjPjZAt14RMKwB9uyn6bJ1ovrg\,\Image\\n)/script>script>self.__next_f.push(1,1d:\$\,\footer\,null,{\className\:\bg-gray-100 text-gray-800 text-center p-5 flex flex-row justify-between fixed bottom-0 w-100%\,\children\:\$\,\div\,null,{\children\:\© \,2025,\ Karim Shehadeh\},\$\,\ul\,null,{\className\:\list-none flex flex-row gap-3 flex-wrap\,\children\:\$\,\li\,\StackOverflow\,{\children\:\$\,\a\,null,{\href\:\https://stackoverflow.com/users/2494/karim\,\target\:\_blank\,\className\:\flex flex-row gap-1\,\rel\:\noreferrer noopener\,\children\:\$\,\$L21\,null,{\src\:\https://static.karim.cloud/about/stackoverflow.svg\,\title\:\StackOverflow\,\alt\:\StackOverflow\,\className\:\w-5 h-5 not-prose\,\width\:20,\height\:20}}},\$\,\li\,\BlueSky\,{\children\:\$\,\a\,null,{\href\:\https://bsky.app/profile/kshehadeh.bsky.social\,\target\:\_blank\,\className\:\flex flex-row gap-1\,\rel\:\noreferrer noopener\,\children\:\$\,\$L21\,null,{\src\:\https://static.karim.cloud/about/Icône Bluesky PNG.png\,\title\:\BlueSky\,\alt\:\BlueSky\,\className\:\w-5 h-5 not-prose\,\width\:20,\height\:20}}},\$\,\li\,\LinkedIn\,{\children\:\$\,\a\,null,{\href\:\https://www.linkedin.com/in/kshehadeh/\,\target\:\_blank\,\className\:\flex flex-row gap-1\,\rel\:\noreferrer noopener\,\children\:\$\,\$L21\,null,{\src\:\https://static.karim.cloud/about/linkedin.svg\,\title\:\LinkedIn\,\alt\:\LinkedIn\,\className\:\w-5 h-5 not-prose\,\width\:20,\height\:20}}},\$\,\li\,\X\,{\children\:\$\,\a\,null,{\href\:\https://x.com/k_shehadeh\,\target\:\_blank\,\className\:\flex flex-row gap-1\,\rel\:\noreferrer noopener\,\children\:\$\,\$L21\,null,{\src\:\https://static.karim.cloud/about/64px-X_icon.svg.png\,\title\:\X\,\alt\:\X\,\className\:\w-5 h-5 not-prose\,\width\:20,\height\:20}}},\$\,\li\,\Github\,{\children\:\$\,\a\,null,{\href\:\https://github.com/kshehadeh\,\target\:\_blank\,\className\:\flex flex-row gap-1\,\rel\:\noreferrer noopener\,\children\:\$\,\$L21\,null,{\src\:\https://static.karim.cloud/about/github.svg\,\title\:\Github\,\alt\:\Github\,\className\:\w-5 h-5 not-prose\,\width\:20,\height\:20}}},\$\,\li\,\RSS\,{\children\:\$\,\a\,null,{\href\:\https://karim.cloud/api/rss.xml\,\target\:\_blank\,\className\:\flex flex-row gap-1\,\rel\:\noreferrer noopener\,\children\:\$\,\$L21\,null,{\src\:\https://static.karim.cloud/about/rss.png\,\title\:\RSS\,\alt\:\RSS\,\className\:\w-5 h-5 not-prose\,\width\:20,\height\:20}}}}}\n)/script>script>self.__next_f.push(1,1f:\$\,\aside\,null,{\children\:\$\,\h2\,null,{\children\:\Around The Web\},\$\,\ul\,null,{\children\:\$\,\li\,\9104dee0-f99f-47dc-815b-a4b6568052b4\,{\className\:\leading-8\,\children\:\$\,\$L20\,null,{\href\:\https://notion.notion.site/Why-the-future-of-work-depends-on-AI-1e7efdeead0580d2bf8cec7740833f6b\,\target\:\_blank\,\children\:\Why the future of work depends on AI\}},\$\,\li\,\693cc617-0e3f-4814-b978-e9f2a30b8a0e\,{\className\:\leading-8\,\children\:\$\,\$L20\,null,{\href\:\https://jyn.dev/an-engineers-perspective-on-hiring\,\target\:\_blank\,\children\:\an engineers perspective on hiring\}},\$\,\li\,\9ab7639c-1075-4e21-bd49-a3f096ea0db4\,{\className\:\leading-8\,\children\:\$\,\$L20\,null,{\href\:\https://shramko.dev/blog/react-rerender\,\target\:\_blank\,\children\:\Understanding React Re-Renders: What Triggers Them and Why They Matter\}},\$\,\li\,\b86bfa13-5660-4e1b-9055-ca6dd8124790\,{\className\:\leading-8\,\children\:\$\,\$L20\,null,{\href\:\https://ai.jakegaylor.com/\,\target\:\_blank\,\children\:\Jake Gaylor – Teach your LLM about me\}},\$\,\li\,\af26af35-6328-4a58-b144-e10bd3bdeead\,{\className\:\leading-8\,\children\:\$\,\$L20\,null,{\href\:\https://www.nytimes.com/2025/03/10/us/politics/supreme-court-conversion-therapy.html\,\target\:\_blank\,\children\:\Supreme Court to Hear Challenge to Law Banning Conversion Therapy\}},\$\,\li\,\4d72bec8-3634-4ad7-af33-97aa6b5f7a38\,{\className\:\leading-8\,\children\:\$\,\$L20\,null,{\href\:\https://beej.us/guide/bggit/?utm_sourcetldrnewsletter\,\target\:\_blank\,\children\:\Beejs Guide to Git\}},\$\,\li\,\1aa9bc92-8465-45dc-b357-6737e364c211\,{\className\:\leading-8\,\children\:\$\,\$L20\,null,{\href\:\https://github.com/mislam/typezero/tree/main/src/utils\,\target\:\_blank\,\children\:\typezero/src/utils at main · mislam/typezero\}},\$\,\li\,\15816c6c-0b75-4831-b915-4b16c688d136\,{\className\:\leading-8\,\children\:\$\,\$L20\,null,{\href\:\https://www.wsj.com/economy/jobs/balance-of-power-shifts-back-toward-bosses-a2861df1\,\target\:\_blank\,\children\:\Balance of Power Shifts Back Toward Bosses\}},\$\,\li\,\0930d4ee-a396-4984-b395-9774b850b82a\,{\className\:\leading-8\,\children\:\$\,\$L20\,null,{\href\:\https://nextjs.org/blog/composable-caching\,\target\:\_blank\,\children\:\Composable Caching with Next.js\}},\$\,\li\,\feb0c044-490f-4de0-8f18-a9d7d737c956\,{\className\:\leading-8\,\children\:\$\,\$L20\,null,{\href\:\https://github.com/release-it/release-it\,\target\:\_blank\,\children\:\release-it/release-it: 🚀 Automate versioning and package publishing\}}}}\n)/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]