[{"data":1,"prerenderedAt":665},["ShallowReactive",2],{"blog-articles":3},[4,102,243,369,516],{"id":5,"title":6,"author":7,"body":8,"date":87,"description":88,"draft":89,"extension":90,"image":91,"meta":92,"navigation":93,"path":94,"seo":95,"stem":96,"tags":97,"__hash__":101},"blog/articles/paper03.md","Building a Self-Optimizing AI Network","AJ Barea",{"type":9,"value":10,"toc":83},"minimark",[11,20,25,28,45,49,52,67,71,77,80],[12,13,14,15,19],"p",{},"Theoretical frameworks are great, but the real test is simulation. In validating the IntelliFL framework, we compared it against standard approaches like ",[16,17,18],"code",{},"FedAvg"," to see if the complexity of dynamic tuning actually pays off.",[21,22,24],"h4",{"id":23},"the-results","The Results",[12,26,27],{},"The extensive simulations highlighted a clear advantage in convergence speed and final accuracy. The self-optimizing nature of the network meant it could handle \"stragglers\" (slow devices) without stalling the entire training round.",[29,30,31,39],"ul",{},[32,33,34,38],"li",{},[35,36,37],"strong",{},"Convergence:"," IntelliFL reaches target accuracy significantly faster than static baselines.",[32,40,41,44],{},[35,42,43],{},"Robustness:"," The system maintains high accuracy even when a percentage of clients experience severe bandwidth drops.",[21,46,48],{"id":47},"key-takeaways","Key Takeaways",[12,50,51],{},"We found that the \"one-size-fits-all\" approach of traditional FL is inefficient for the edge.",[53,54,55,61],"ol",{},[32,56,57,60],{},[35,58,59],{},"Dynamic is better:"," Adjusting frequency and compression rates per-client is essential.",[32,62,63,66],{},[35,64,65],{},"Resource Aware:"," Awareness of channel states and computational power prevents bottlenecks.",[21,68,70],{"id":69},"conclusion","Conclusion",[72,73,74],"blockquote",{},[12,75,76],{},"You can't manage what you can't measure.",[12,78,79],{},"— Peter Drucker",[12,81,82],{},"By measuring channel states and computational capacity in real-time, we built a system that manages itself. The future of edge AI isn't just distributed; it's intelligent.",{"title":84,"searchDepth":85,"depth":85,"links":86},"",2,[],"2026-01-03","How intelligent parameter tuning outperforms traditional FedAvg in extensive simulations.",false,"md","https://res.cloudinary.com/dumwa1w5x/image/upload/v1767628162/paper03_ikgpew.png",{},true,"/articles/paper03",{"title":6,"description":88},"articles/paper03",[98,99,100],"simulation","performance","research","kA15Li4g4C5jyqR7DVJ2d-RjzjR6KKLK6HjTzmm-D1c",{"id":103,"title":104,"author":7,"body":105,"date":232,"description":233,"draft":89,"extension":90,"image":234,"meta":235,"navigation":93,"path":236,"seo":237,"stem":238,"tags":239,"__hash__":242},"blog/articles/paper02.md","IntelliFL: An Adaptive Framework for Dynamic Edge Networks",{"type":9,"value":106,"toc":230},[107,114,118,121,141,145,148,211,215,220,223,226],[12,108,109,110,113],{},"Deploying AI on the edge isn't \"set it and forget it.\" Network conditions change by the second. A static configuration for Federated Learning usually fails because it cannot adapt to these fluctuations. This led to the development of ",[35,111,112],{},"IntelliFL",".",[21,115,117],{"id":116},"adaptive-control","Adaptive Control",[12,119,120],{},"IntelliFL is designed to be robust against the unpredictability of MEC systems. Rather than using fixed hyperparameters, it dynamically adjusts three key levers during the training process:",[29,122,123,129,135],{},[32,124,125,128],{},[35,126,127],{},"Local Batch Size:"," Tuning how much data is processed at once based on available memory.",[32,130,131,134],{},[35,132,133],{},"Local Epochs:"," Deciding how many training passes a device performs before syncing.",[32,136,137,140],{},[35,138,139],{},"Compression Rate:"," Adjusting model compression to fit current bandwidth limits.",[21,142,144],{"id":143},"algorithm-logic","Algorithm logic",[12,146,147],{},"The core logic operates in a loop, constantly monitoring client states. Here is a simplified view of the decision process:",[149,150,154],"pre",{"className":151,"code":152,"language":153,"meta":84,"style":84},"language-python shiki shiki-themes github-light github-dark","def optimize_round(clients):\n    for client in clients:\n        # Check channel gain and computing capability\n        if client.is_straggler():\n            client.compress_model()\n            client.reduce_epochs()\n        else:\n            client.maximize_throughput()\n    return server.aggregate()\n\n","python",[16,155,156,164,169,175,181,187,193,199,205],{"__ignoreMap":84},[157,158,161],"span",{"class":159,"line":160},"line",1,[157,162,163],{},"def optimize_round(clients):\n",[157,165,166],{"class":159,"line":85},[157,167,168],{},"    for client in clients:\n",[157,170,172],{"class":159,"line":171},3,[157,173,174],{},"        # Check channel gain and computing capability\n",[157,176,178],{"class":159,"line":177},4,[157,179,180],{},"        if client.is_straggler():\n",[157,182,184],{"class":159,"line":183},5,[157,185,186],{},"            client.compress_model()\n",[157,188,190],{"class":159,"line":189},6,[157,191,192],{},"            client.reduce_epochs()\n",[157,194,196],{"class":159,"line":195},7,[157,197,198],{},"        else:\n",[157,200,202],{"class":159,"line":201},8,[157,203,204],{},"            client.maximize_throughput()\n",[157,206,208],{"class":159,"line":207},9,[157,209,210],{},"    return server.aggregate()\n",[21,212,214],{"id":213},"final-thoughts","Final Thoughts",[72,216,217],{},[12,218,219],{},"Intelligence is the ability to adapt to change.",[12,221,222],{},"— Stephen Hawking",[12,224,225],{},"By allowing the system to reconfigure itself in real-time, IntelliFL prevents stragglers from holding back the global model, ensuring consistent performance even in volatile environments.",[227,228,229],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":84,"searchDepth":85,"depth":85,"links":231},[],"2025-12-20","A new framework that adapts to the volatile nature of edge networks for robust model training.","https://res.cloudinary.com/dumwa1w5x/image/upload/v1767628161/paper02_vj3kvk.png",{},"/articles/paper02",{"title":104,"description":233},"articles/paper02",[112,240,241],"adaptive AI","networks","UFOoNBmJYM84zudIm0e_OfUXfOaisyNgxYGd0qSeUcc",{"id":244,"title":245,"author":7,"body":246,"date":357,"description":358,"draft":89,"extension":90,"image":359,"meta":360,"navigation":93,"path":361,"seo":362,"stem":363,"tags":364,"__hash__":368},"blog/articles/paper01.md","Supercharging Federated Learning at the Edge",{"type":9,"value":247,"toc":355},[248,251,255,258,272,276,279,341,345,350,352],[12,249,250],{},"Federated Learning (FL) is changing how we train AI, allowing us to build models without ever moving raw user data. But in Mobile Edge Computing (MEC) networks, the heterogeneity of devices—varying battery life, CPU power, and bandwidth—creates a massive bottleneck.",[21,252,254],{"id":253},"the-bottleneck","The Bottleneck",[12,256,257],{},"If you wait for the slowest device to finish training, your whole network stalls. The challenge is balancing two competing needs:",[29,259,260,266],{},[32,261,262,265],{},[35,263,264],{},"Computation:"," How fast a device can process its local data.",[32,267,268,271],{},[35,269,270],{},"Communication:"," How fast it can upload the updated model to the server.",[21,273,275],{"id":274},"the-solution-joint-optimization","The Solution: Joint Optimization",[12,277,278],{},"In my recent research, we proposed a joint optimization problem that tackles resource allocation and client selection simultaneously. Instead of random selection, we mathematically determine which clients maximize convergence speed based on their current states.",[280,281,282,296],"table",{},[283,284,285],"thead",{},[286,287,288,293],"tr",{},[289,290,292],"th",{"align":291},"left","Parameter",[289,294,295],{"align":291},"Function",[297,298,299,315,328],"tbody",{},[286,300,301,312],{},[302,303,304],"td",{"align":291},[35,305,306,307,311],{},"Bandwidth (",[308,309,310],"em",{},"B",")",[302,313,314],{"align":291},"Allocating frequency slots to clients with poor connections to speed up transmission.",[286,316,317,325],{},[302,318,319],{"align":291},[35,320,321,322,311],{},"CPU Cycles (",[308,323,324],{},"f",[302,326,327],{"align":291},"Adjusting the computation frequency to balance energy consumption with delay.",[286,329,330,338],{},[302,331,332],{"align":291},[35,333,334,335,311],{},"Selection (",[308,336,337],{},"α",[302,339,340],{"align":291},"A binary indicator deciding if a client participates in the current round.",[21,342,344],{"id":343},"why-it-matters","Why It Matters",[72,346,347],{},[12,348,349],{},"Efficiency is doing things right; effectiveness is doing the right things.",[12,351,79],{},[12,353,354],{},"By formulating this as a minimization problem for total delay, we can significantly accelerate how quickly the model converges to a high accuracy, making real-time edge AI a reality.",{"title":84,"searchDepth":85,"depth":85,"links":356},[],"2025-12-08","Optimizing resource allocation and client selection to reduce training latency in Mobile Edge Computing.","https://res.cloudinary.com/dumwa1w5x/image/upload/v1767628163/paper01_e0enws.png",{},"/articles/paper01",{"title":245,"description":358},"articles/paper01",[365,366,367],"federated learning","edge computing","optimization","x4FVfIIdRRhubJuoRGTl0Vq69avdsnecikkxAriQCkI",{"id":370,"title":371,"author":7,"body":372,"date":504,"description":505,"draft":89,"extension":90,"image":506,"meta":507,"navigation":93,"path":508,"seo":509,"stem":510,"tags":511,"__hash__":515},"blog/articles/tools.md","5 VSCode Extensions I Can't Live Without",{"type":9,"value":373,"toc":502},[374,377,381,384,408,412,419,486,488,493,496,499],[12,375,376],{},"When I first started coding, I thought an IDE was just a fancy text editor. Now I realize it's my command center. Over the last year, I've tried dozens of extensions, but these are the few that have earned a permanent spot in my sidebar.",[21,378,380],{"id":379},"the-essentials","The Essentials",[12,382,383],{},"If you are setting up a new environment, these are the first things you should install:",[29,385,386,392,402],{},[32,387,388,391],{},[35,389,390],{},"Prettier:"," Stop arguing about indentation. Just let the computer fix it on save.",[32,393,394,397,398,401],{},[35,395,396],{},"ES7+ React/Redux/React-Native snippets:"," I type ",[16,399,400],{},"rafce"," at least 10 times a day.",[32,403,404,407],{},[35,405,406],{},"GitLens:"," It’s vital to know who wrote that line of code 6 months ago (spoiler: it was probably you).",[21,409,411],{"id":410},"customizing-your-config","Customizing Your Config",[12,413,414,415,418],{},"One thing I learned recently is how to sync my settings across different machines. Here is a snippet of my ",[16,416,417],{},"settings.json"," that I use to keep things consistent:",[149,420,424],{"className":421,"code":422,"language":423,"meta":84,"style":84},"language-json shiki shiki-themes github-light github-dark","{\n  \"editor.formatOnSave\": true,\n  \"editor.fontFamily\": \"Fira Code\",\n  \"editor.fontLigatures\": true,\n  \"workbench.colorTheme\": \"Dracula\"\n}\n","json",[16,425,426,432,447,460,471,481],{"__ignoreMap":84},[157,427,428],{"class":159,"line":160},[157,429,431],{"class":430},"sVt8B","{\n",[157,433,434,438,441,444],{"class":159,"line":85},[157,435,437],{"class":436},"sj4cs","  \"editor.formatOnSave\"",[157,439,440],{"class":430},": ",[157,442,443],{"class":436},"true",[157,445,446],{"class":430},",\n",[157,448,449,452,454,458],{"class":159,"line":171},[157,450,451],{"class":436},"  \"editor.fontFamily\"",[157,453,440],{"class":430},[157,455,457],{"class":456},"sZZnC","\"Fira Code\"",[157,459,446],{"class":430},[157,461,462,465,467,469],{"class":159,"line":177},[157,463,464],{"class":436},"  \"editor.fontLigatures\"",[157,466,440],{"class":430},[157,468,443],{"class":436},[157,470,446],{"class":430},[157,472,473,476,478],{"class":159,"line":183},[157,474,475],{"class":436},"  \"workbench.colorTheme\"",[157,477,440],{"class":430},[157,479,480],{"class":456},"\"Dracula\"\n",[157,482,483],{"class":159,"line":189},[157,484,485],{"class":430},"}\n",[21,487,344],{"id":343},[72,489,490],{},[12,491,492],{},"Give me six hours to chop down a tree and I will spend the first four sharpening the axe.",[12,494,495],{},"— Abraham Lincoln",[12,497,498],{},"Spending time on your tooling isn't procrastination; it's sharpening your axe. A good setup lets you focus on the logic, not the syntax errors.",[227,500,501],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":84,"searchDepth":85,"depth":85,"links":503},[],"2025-11-25","A quick look at the tools that power my daily workflow and save me hours of debugging time.","https://res.cloudinary.com/dumwa1w5x/image/upload/v1767627147/tools_pclm7n.png",{},"/articles/tools",{"title":371,"description":505},"articles/tools",[512,513,514],"vscode","productivity","tools","MKBTFwXyDHdenDgLD9iSATaMy0EsDp9q7nWJFfalQEM",{"id":517,"title":518,"author":7,"body":519,"date":652,"description":653,"draft":89,"extension":90,"image":654,"meta":655,"navigation":93,"path":656,"seo":657,"stem":658,"tags":659,"__hash__":664},"blog/articles/resources.md","Programming Practice Resources - Learning from My First Amazon Interview",{"type":9,"value":520,"toc":650},[521,524,527,530,534,634,637,639,644,647],[12,522,523],{},"Fresh out of college, I landed my first major tech interview with Amazon. I didn't pass.",[12,525,526],{},"It was a tough experience, but instead of letting it slow me, I decided to turn that failure into a coding skill boost. I went on a hunt for the best ways to practice and prepare for next time.",[12,528,529],{},"Here are some key resources I discovered during that journey that helped sharpen my skills and regain my confidence.",[21,531,533],{"id":532},"programming-practice-resources","Programming Practice Resources",[280,535,536,546],{},[283,537,538],{},[286,539,540,543],{},[289,541,542],{"align":291},"Link",[289,544,545],{"align":291},"Description",[297,547,548,562,574,586,598,610,622],{},[286,549,550,559],{},[302,551,552],{"align":291},[553,554,558],"a",{"href":555,"rel":556},"https://www.codewars.com/",[557],"nofollow","Codewars",[302,560,561],{"align":291},"A community-driven site with coding challenges that help you learn and grow. Ranking up as you solve problems feels like a game—super motivating.",[286,563,564,571],{},[302,565,566],{"align":291},[553,567,570],{"href":568,"rel":569},"https://leetcode.com/",[557],"Leetcode",[302,572,573],{"align":291},"Ideal for practicing interview-style questions. It's got a huge problem library you can sort by topic or difficulty.",[286,575,576,583],{},[302,577,578],{"align":291},[553,579,582],{"href":580,"rel":581},"https://www.hackerrank.com/",[557],"HackerRank",[302,584,585],{"align":291},"Amazon uses this in their hiring process, so it's a must-know. It offers challenges and projects to sharpen your skills.",[286,587,588,595],{},[302,589,590],{"align":291},[553,591,594],{"href":592,"rel":593},"https://www.crackingthecodinginterview.com/",[557],"Cracking the Coding Interview",[302,596,597],{"align":291},"The go-to book for tech interviews. It breaks down common questions and teaches a structured problem-solving approach.",[286,599,600,607],{},[302,601,602],{"align":291},[553,603,606],{"href":604,"rel":605},"https://docs.microsoft.com/en-us/learn/",[557],"Microsoft Learn",[302,608,609],{"align":291},"A free platform with learning paths for all kinds of tech. It's always fresh with new content.",[286,611,612,619],{},[302,613,614],{"align":291},[553,615,618],{"href":616,"rel":617},"https://aws.amazon.com/education/awseducate/",[557],"Amazon AWS Educate",[302,620,621],{"align":291},"Hands-on AWS experience with tutorials and courses—perfect for diving into cloud tech.",[286,623,624,631],{},[302,625,626],{"align":291},[553,627,630],{"href":628,"rel":629},"https://www.deeplearning.ai/",[557],"DeepLearning.AI",[302,632,633],{"align":291},"Andrew Ng's platform for AI education with courses ranging from deep learning fundamentals to generative AI—great for building ML skills.",[635,636],"hr",{},[21,638,214],{"id":213},[72,640,641],{},[12,642,643],{},"You always pass failure on your way to success.",[12,645,646],{},"— Mickey Rooney",[12,648,649],{},"These resources turned coding practice into something I genuinely enjoy. If you're an aspiring programmer, give them a try. Failure's just a pit stop on the road to success—keep coding, keep learning, and don't quit.",{"title":84,"searchDepth":85,"depth":85,"links":651},[],"2025-11-12","First tech interview with Amazon, fresh out of college. Didn't pass, but turned the experience into a coding skill boost by discovering key resources.","https://res.cloudinary.com/dumwa1w5x/image/upload/v1767626641/upskill_ovchzg.png",{},"/articles/resources",{"title":518,"description":653},"articles/resources",[660,661,662,663],"amazon","resources","interview","learn","MsubKWwxzzlXKr4U1ju_Ox8BdeLUx8qrsnML-KT7TT0",1779306535921]