1<!DOCTYPE html> 2<html lang="en"> 3 4<head> 5 6 <title>Insights | Monadical</title> 7 8 <!-- Meta Tags Start --> 9 <meta charset="utf-8"> 10 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 11 <meta name="title" content="Insights | Monadical"> 12 <meta name="description" content="Monadical is a full-stack software development consultancy. We specialize in full-stack web development and custom software solutions."> 13 <meta property="og:locale" content="en_US" /> 14 <meta property="og:description" content="Monadical is a full-stack software development consultancy. We specialize in full-stack web development and custom software solutions."> 15 <meta property="og:image" name="image" content="https://monadical.com/static/core/img/og.jpg"> 16 <meta property="og:title" content="Insights | Monadical"> 17 <meta property="og:type" content="website"> 18 <meta property="og:url" content=https://monadical.com/blog.html /> 19 <meta property="og:site_name" content="Monadical Consulting" /> 20 21 <meta property="twitter:card" content="summary_large_image"> 22 <meta property="twitter:description" content="Monadical is a full-stack software development consultancy. We specialize in full-stack web development and custom software solutions."> 23 <meta property="twitter:image" content="https://monadical.com/static/core/img/og.jpg"> 24 <meta property="twitter:site" content="@MonadicalHQ"> 25 <meta property="twitter:title" content="Insights | Monadical"> 26 <meta property="twitter:url" content=https://monadical.com/blog.html /> 27 <meta name="msapplication-TileColor" content="#da532c"> 28 <meta name="theme-color" content="#ffffff"> 29 <!-- Meta Tags End --> 30 31 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans|Ubuntu" type="text/css"> 32 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=
32Fjalla+One" type="text/css"> 33 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 34 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap" type="text/css"> 35 <link rel="stylesheet" href="https://cdn.jsdelivr.net/font-hack/2.020/css/hack.min.css" type="text/css"> 36 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" 37 type="text/css"> 38 39 <link rel="stylesheet" href="/static/bootstrap4-pleasant.min.css" type="text/css"> 40 <link rel="stylesheet" href="/static/core/css/base.css" type="text/css"> 41 42 <link rel="canonical" href="https://monadical.com/blog.html" /> 43 44 <link rel="apple-touch-icon" sizes="76x76" href="/static/favicon/apple-touch-icon.png"> 45 <link rel="icon" type="image/png" sizes="32x32" href="/static/favicon/favicon-32x32.png"> 46 <link rel="icon" type="image/png" sizes="16x16" href="/static/favicon/favicon-16x16.png"> 47 <link rel="mask-icon" href="/static/favicon/safari-pinned-tab.svg" color="#5bbad5"> 48 <link rel="stylesheet" 49 href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.4.0/styles/atom-one-light.min.css"> 50 51 52 53
53<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" 54 integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"> 55 </script>
55 56
56<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" 57 integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"> 58 </script>
58 59
59<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js" 60 integrity="sha384-uefMccjFJAIv6A+rW+L4AHf99KvxDjWSu1z9VI8SKNVmz4sk7buKt/6v9KI65qnm" crossorigin="anonymous"> 61 </script>
61 62 63 64<link rel="stylesheet" href="/static/core/css/insights.css">
65<script src="/static/core/js/newsletter.js" defer></script>
vendor: 1 bytes, line 65
65
66<script src="/static/core/js/insights.js" defer></script>
66 67 68</head> 69 70<body> 71 72 <header> 73 74 75 76 <div id="header-container" class="container"> 77 <nav class="navbar navbar-expand-lg navbar-dark"> 78 79 <a class="navbar-brand" id="monadical-brand" href="/index.html"> 80 <img srcset="/static/core/img/[email protected] 3x, 81 /static/core/img/[email protected] 2x" 82 src="/static/core/img/logo.png" 83 id="brand-img" /> 84 </a> 85 86 87 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"> 88 <span class="navbar-toggler-icon"></span> 89 </button> 90 91 <div class="collapse navbar-collapse" id="navbarSupportedContent"> 92 <div class="navbar-content-container"> 93 <ul class="navbar-nav"> 94 95 96 <li class="nav-item"> 97 <a class="nav-link " 98 href="/index.html">Home</a> 99 </li> 100 101 102 103 <li class="nav-item"> 104 <a class="nav-link " 105 href="/portfolio.html">Portfolio</a> 106 </li> 107 108 109 110 <li class="nav-item"> 111 <a class="nav-link " 112 href="/ai-services.html">Services</a> 113 </li> 114 115 116 117 <li class="nav-item"> 118 <a class="nav-link " 119 href="/about.html">About Us</a> 120 </li> 121 122 123 124 <li class="nav-item"> 125 <a class="nav-link" target="_blank" 126 href="https://careers.monadical.com/">Careers</a> 127 </li> 128 129 130 131 <li class="nav-item"> 132 <a class="nav-link active" 133 href="/blog.html">Insights</a> 134 </li> 135 136 137 <li class="nav-item"> 138 <a class="nav-link" 139 href="/contact-us.html">LET'S TALK</a> 140 </li> 141 </ul> 142 143 </div> 144 </div> 145 </nav> 146 </div> 147 </header> 148 149 150 151 152 <article> 153 154<div class="container-full"> 155 <div class="container"> 156 <div class="row"> 157 <div class="col-12 text-center"> 158 <h1 class="insights-title">Insights from the Monadical Team</h1> 159 <div class="insights-filters"> 160 <button class="filter-btn active" data-type="article">ARTICLES</button> 161 <button class="filter-btn" data-type="report">REPORTS</button> 162 <button class="filter-btn" data-type="webinar">WEBINARS</button> 163 <button class="filter-btn" data-type="podcast">PODCASTS</button> 164 <button class="filter-btn" data-type="resource">RESOURCES</button> 165 <button class="filter-btn" data-type="newsletter">NEWSLETTERS</button> 166 </div> 167 </div> 168 </div> 169 170 <!-- Newsletter Signup --> 171 <div class="newsletter-signup"> 172 <div class="row"> 173 <div class="col-md-6"> 174 <div class="signup-content"> 175 <h3>Our latest thinking on AI, in your inbox.</h3> 176 <p>
176Be the most AI-savvy person on your team.<br> 177 Get the Monadical newsletter and stay up to date.</p> 178 </div> 179 </div> 180 <div class="col-md-6"> 181 <form class="newsletter-form" onsubmit="handleNewsletterSubmit(event)"> 182 <div class="signup-form"> 183 <input type="email" name="email" placeholder="Your Email" required> 184 <button type="submit" class="subscribe-btn">SUBSCRIBE</button> 185 </div> 186 <div class="success-message" style="display: none;"> 187 Thank you for your submission, we will get back to you as soon as possible. 188 </div> 189 <small>We don't share your info with anyone, ever.</small> 190 </form> 191 </div> 192 </div> 193</div> 194 195 <!-- Articles Grid --> 196 <div class="insights-grid" id="articles-grid"> 197 198 199 200 201 <div class="insight-card " 202 data-type="article 203 "> 204 <a href="/posts/vibe-code-how-to-stay-in-control.html" class="card-link"> 205 <div class="content-type"> 206 ARTICLE 207 208 </div> 209 <div class="card-image" style="background-image: url('/static/vibe-code-how-to-stay-in-control-robot-destroying-man-2.png')"></div> 210 <div class="card-content"> 211 <h2>Vibe code isn't meant to be reviewed *</h2> 212 <p>How to stay in control of codebase and not lose vibe code productivity boost. Explicit vibe/human code separation through modular approach</p> 213 <div class="card-action"> 214 215 <button class="action-btn">READ MORE â</button> 216 217 </div> 218 </div> 219 </a> 220 </div> 221 222 <div class="insight-card " 223 data-type="article 224 "> 225 <a href="/posts/The-scraping-with-cookies-dilemma.html" class="card-link"> 226 <div class="content-type"> 227 ARTICLE 228 229 </div> 230 <div class="card-image" style="background-image: url('/static/archiving.png')"></div> 231 <div class="card-content"> 232 <h2>The Scraping-With-Cookies Dilemma</h2> 233 <p>The internet archiving and scraping industries have a growing problem. We don't know how to handle cookies</p> 234 <div class="card-action"> 235 236 <button class="action-btn">READ MORE â</button> 237 238 </div> 239 </div> 240 </a> 241 </div> 242 243 <div class="insight-card " 244 data-type="article 245 "> 246 <a href="/posts/conversations-are-the-new-oil.html" class="card-link"> 247 <div class="content-type"> 248 ARTICLE 249 250 </div> 251 <div class="card-image" style="background-image: url('/static/oil.png')"></div> 252 <div class="card-content"> 253 <h2>Conversations are the New Oil</h2> 254 <p>Strategic considerations for protecting communication assets through systematic safeguards.</p> 255 <div class="card-action"> 256 257 <button class="action-btn">READ MORE â</button> 258 259 </div> 260 </div> 261 </a> 262 </div> 263 264 <div class="insight-card " 265 data-type="webinar 266 "> 267 <a href="/webinars/building-ai-powered-operational-assistants.html" class="card-link"> 268 <div class="content-type"> 269 WEBINAR 270 271 </div> 272 <div class="card-image" style="background-image: url('/static/webinar_slides/ai-assistants.png')"></div> 273 <div class="card-content"> 274 <h2>Building AI-Powered Operational Assistants</h2> 275 <p>From Simple Automation to Strategic Implementation</p> 276 <div class="card-action"> 277 278 279 280 281 <button class="action-btn">WATCH WEBINAR REPLAY â</button> 282 283 284 </div> 285 </div> 286 </a> 287 </div> 288 289 <div class="insight-card " 290 data-type="article 291 "> 292 <a href="/posts/if-else-1.html" class="card-link"> 293 <div class="content-type"> 294 ARTICLE 295 296 </div> 297 <div class="card-image" style="background-image: url('/static/else.png')"></div> 298 <div class="card-content"> 299 <h2>Mindfulness in Typescript code branching. Exhaustiveness, pattern matching, and side effects</h2> 300 <p>1/2: âExhaustive absurdâ, Or how to if/else</p> 301 <div class="card-action"> 302 303 <button class="action-btn">READ MORE â</button> 304 305 </div> 306 </div> 307 </a> 308 </div> 309 310 <div class="insight-card " 311 data-type="article 312 "> 313 <a href="/posts/don't-give-big-tech-your-papaya.html" class="card-link"> 314 <div class="content-type"> 315 ARTICLE 316 317 </div> 318 <div class="card-image" style="background-image: url('/static/papayaya.png')"></div> 319 <div class="card-content"> 320 <h2>Don't Give Big Tech Your Papaya</h2> 321 <p>A strategic guide on how to avoid becoming beholden to big tech while still reaping the benefits</p> 322 <div class="card-action"> 323 324 <button class="action-btn">READ MORE â</button> 325 326 </div> 327 </div> 328 </a> 329 </div> 330 331 <div class="insight-card " 332 data-type="article 333 "> 334 <a href="/posts/so-you-want-to-build-a-social-network.html" class="card-link"> 335 <div class="content-type"> 336 ARTICLE 337 338 </div> 339 <div class="card-image" style="background-image: url('/static/network.png')"></div> 340 <div class="card-content"> 341 <h2>So you want to build a social network?</h2> 342 <p>Here's what I've discovered about how online communities build trust or don't.</p> 343 <div class="card-action"> 344 345 <button class="action-btn">READ MORE â</button> 346 347 </div> 348 </div> 349 </a> 350 </div> 351 352 <div class="insight-card " 353 data-type="article 354 "> 355 <a href="/posts/mastering-project-estimation.html" class="card-link"> 356 <div class="content-type"> 357 ARTICLE 358 359 </div> 360 <div class="card-image" style="background-image: url('/static/projectm.png')"></div> 361 <div class="card-content"> 362 <h2>Mastering Project Estimation</h2> 363 <p>Strategies for developing a framework around accurate project timeline estimations.</p> 364 <div class="card-action"> 365 366 <button class="action-btn">READ MORE â</button> 367 368 </div> 369 </div> 370 </a> 371 </div> 372 373 <div class="insight-card " 374 data-type="article 375 "> 376 <a href="/posts/typescript-validators-jamboree.html" class="card-link"> 377 <div class="content-type"> 378 ARTICLE 379 380 </div> 381 <div class="card-image" style="background-image: url('/static/typescriptvalidators.png')"></div> 382 <div class="card-content"> 383 <h2>Typescript Validators Jamboree</h2> 384 <p>A Fair(ly cruel) Review of Typescript Validation Libraries</p> 385 <div class="card-action"> 386 387 <button class="action-btn">READ MORE â</button> 388 389 </div> 390 </div> 391 </a> 392 </div> 393 394 <div class="insight-card " 395 data-type="article 396 "> 397 <a href="/posts/build-a-digital-human-with-large-language-models.html" class="card-link"> 398 <div class="content-type"> 399 ARTICLE 400 401 </div> 402 <div class="card-image" style="background-image: url('/static/aiavatar.png')"></div> 403 <div class="card-content"> 404 <h2>Revolutionize Animation: Build a Digital Human with Large Language Models</h2> 405 <p>A Step-by-Step Guide to Creating Your Next AI-Powered Avatar</p> 406 <div class="card-action"> 407 408 <button class="action-btn">READ MORE â</button> 409 410 </div> 411 </div> 412 </a> 413 </div> 414 415 <div class="insight-card " 416 data-type="podcast 417 "> 418 <a href="https://open.spotify.com/episode/0Uuwb38MKt4ec3r06YVXPj?si=69a3e7180a8e4eb0" class="card-link"> 419 <div class="content-type"> 420 PODCAST 421 422 </div> 423 <div class="card-image" style="background-image: url('/static/podcast/paradigmatic.png')"></div> 424 <div class="card-content"> 425 <h2>Risk and Regulation</h2> 426 <p>Max McCrea is joined by Stephanie Losi, the founder of Losi Consulting and creator of Risk Musings, to discu
426ss regulation. </p> 427 <div class="card-action"> 428 429 <button class="action-btn">LISTEN â</button> 430 431 </div> 432 </div> 433 </a> 434 </div> 435 436 <div class="insight-card " 437 data-type="podcast 438 "> 439 <a href="https://open.spotify.com/episode/47gL8wGUIOdHQ6CRpjl1eC?si=31b6e1a6e30f4c1c" class="card-link"> 440 <div class="content-type"> 441 PODCAST 442 443 </div> 444 <div class="card-image" style="background-image: url('/static/podcast/paradigmatic.png')"></div> 445 <div class="card-content"> 446 <h2>Internet Archiving</h2> 447 <p>Max and Co-Founder Nick discuss their journeys in tech, the transformative power of open-source technology, and the ethical considerations that guide Nick's work in digital archiving.</p> 448 <div class="card-action"> 449 450 <button class="action-btn">LISTEN â</button> 451 452 </div> 453 </div> 454 </a> 455 </div> 456 457 <div class="insight-card " 458 data-type="article 459 "> 460 <a href="/posts/the-essential-guide-to-rays-anatomy.html" class="card-link"> 461 <div class="content-type"> 462 ARTICLE 463 464 </div> 465 <div class="card-image" style="background-image: url('/static/ray-post-cover-image.png')"></div> 466 <div class="card-content"> 467 <h2>The Essential Guide to Ray.io's Anatomy</h2> 468 <p>A Journey Through Ray's Capabilities in GPU Management and Scalable AI Development</p> 469 <div class="card-action"> 470 471 <button class="action-btn">READ MORE â</button> 472 473 </div> 474 </div> 475 </a> 476 </div> 477 478 <div class="insight-card " 479 data-type="report 480 "> 481 <a href="/reports/ai-as-new-standard-healthcare-innovation.html" class="card-link"> 482 <div class="content-type"> 483 REPORT 484 485 </div> 486 <div class="card-image" style="background-image: url('/static/covers/ai-healthcare-innovation.webp')"></div> 487 <div class="card-content"> 488 <h2>Beyond the Cutting-Edge: AI as the New Standard in Healthcare Innovation</h2> 489 <p>Exploring the AI-driven technologies and strategies poised to reshape the healthcare landscape.</p> 490 <div class="card-action"> 491 492 <button class="action-btn">READ MORE â</button> 493 494 </div> 495 </div> 496 </a> 497 </div> 498 499 <div class="insight-card " 500 data-type="article 501 "> 502 <a href="/posts/reflector-elevate-communication-with-our-real-time-translation-tool.html" class="card-link"> 503 <div class="content-type"> 504 ARTICLE 505 506 </div> 507 <div class="card-image" style="background-image: url('/static/re.png')"></div> 508 <div class="card-content"> 509 <h2>Reflector: Elevate Communication with Our Real-Time Translation Tool</h2> 510 <p>Explore Monadical's Open-Source Solution for Online Meetings.</p> 511 <div class="card-action"> 512 513 <button class="action-btn">READ MORE â</button> 514 515 </div> 516 </div> 517 </a> 518 </div> 519 520 <div class="insight-card " 521 data-type="article 522 "> 523 <a href="/posts/building-a-ticketing-system-with-solana-mobile-and-metaplex-foundation-umi.html" class="card-link"> 524 <div class="content-type"> 525 ARTICLE 526 527 </div> 528 <div class="card-image" style="background-image: url('/static/solanaticket.png')"></div> 529 <div class="card-content"> 530 <h2>
530Building a Ticketing System with Solana Mobile and Metaplex Foundation Umi</h2> 531 <p>Learn how to create an NFT-based application on the Solana blockchain.</p> 532 <div class="card-action"> 533 534 <button class="action-btn">READ MORE â</button> 535 536 </div> 537 </div> 538 </a> 539 </div> 540 541 <div class="insight-card " 542 data-type="article 543 "> 544 <a href="/posts/how-to-build-a-talking-avatar-with-azure-cognitive-langchain-and-openai.html" class="card-link"> 545 <div class="content-type"> 546 ARTICLE 547 548 </div> 549 <div class="card-image" style="background-image: url('/static/zippyo.png')"></div> 550 <div class="card-content"> 551 <h2>Kraken the Code: How to Build a Talking Avatar</h2> 552 <p>Create your own conversational avatar with Azure Cognitive, LangChain, and OpenAI.</p> 553 <div class="card-action"> 554 555 <button class="action-btn">READ MORE â</button> 556 557 </div> 558 </div> 559 </a> 560 </div> 561 562 <div class="insight-card " 563 data-type="article 564 "> 565 <a href="/posts/the-ai-evolution-transforming-zulip-bots-part-3.html" class="card-link"> 566 <div class="content-type"> 567 ARTICLE 568 569 </div> 570 <div class="card-image" style="background-image: url('/static/robot7.png')"></div> 571 <div class="card-content"> 572 <h2>The AI Evolution: Transforming Zulip Bots, Part 3</h2> 573 <p>Discover how AI reshapes chat automation in Zulip bots</p> 574 <div class="card-action"> 575 576 <button class="action-btn">READ MORE â</button> 577 578 </div> 579 </div> 580 </a> 581 </div> 582 583 <div class="insight-card " 584 data-type="article 585 "> 586 <a href="/posts/how-to-make-llms-speak-your-language.html" class="card-link"> 587 <div class="content-type"> 588 ARTICLE 589 590 </div> 591 <div class="card-image" style="background-image: url('/static/llms.png')"></div> 592 <div class="card-content"> 593 <h2>How to Make LLMs Speak Your Language</h2> 594 <p>A Review of the Top Tools for Generating Structured Output.</p> 595 <div class="card-action"> 596 597 <button class="action-btn">READ MORE â</button> 598 599 </div> 600 </div> 601 </a> 602 </div> 603 604 <div class="insight-card " 605 data-type="article 606 "> 607 <a href="/posts/property-based-testing-for-temporal-graph-storage.html" class="card-link"> 608 <div class="content-type"> 609 ARTICLE 610 611 </div> 612 <div class="card-image" style="background-image: url('/static/goctopus.png')"></div> 613 <div class="card-content"> 614 <h2>Property-Based Testing for Temporal Graph Storage</h2> 615 <p>A motley of functional techniques to allow isomorphic and deterministic graph generation.</p> 616 <div class="card-action"> 617 618 <button class="action-btn">READ MORE â</button> 619 620 </div> 621 </div> 622 </a> 623 </div> 624 625 <div class="insight-card hidden" 626 data-type="article 627 "> 628 <a href="/posts/from-chaos-to-cohesion.html" class="card-link"> 629 <div class="content-type"> 630 ARTICLE 631 632 </div> 633 <div class="card-image" style="background-image: url('/static/tree.png')"></div> 634 <div class="card-content"> 635 <h2>From Chaos to Cohesion: Architecting Your Own Monorepo</h2> 636 <p>
636Build a simple monorepo using GitHub Actions as a CI/CD tool.</p> 637 <div class="card-action"> 638 639 <button class="action-btn">READ MORE â</button> 640 641 </div> 642 </div> 643 </a> 644 </div> 645 646 <div class="insight-card hidden" 647 data-type="article 648 "> 649 <a href="/posts/minecraft-skingenerator-announcement.html" class="card-link"> 650 <div class="content-type"> 651 ARTICLE 652 653 </div> 654 <div class="card-image" style="background-image: url('/static/skingenerator.png')"></div> 655 <div class="card-content"> 656 <h2>Beauty Really Is Skin-Deep?</h2> 657 <p>Introducing the Minecraft Skins Generator.</p> 658 <div class="card-action"> 659 660 <button class="action-btn">READ MORE â</button> 661 662 </div> 663 </div> 664 </a> 665 </div> 666 667 <div class="insight-card hidden" 668 data-type="article 669 "> 670 <a href="/posts/morpheus-announcement.html" class="card-link"> 671 <div class="content-type"> 672 ARTICLE 673 674 </div> 675 <div class="card-image" style="background-image: url('/static/morpheus.png')"></div> 676 <div class="card-content"> 677 <h2>Morpheus: A Dream Machine for AI Art Generation</h2> 678 <p>Giving you the power to create stunning and beautiful generative art.</p> 679 <div class="card-action"> 680 681 <button class="action-btn">READ MORE â</button> 682 683 </div> 684 </div> 685 </a> 686 </div> 687 688 <div class="insight-card hidden" 689 data-type="article 690 "> 691 <a href="/posts/zulip-ai-bot-2.html" class="card-link"> 692 <div class="content-type"> 693 ARTICLE 694 695 </div> 696 <div class="card-image" style="background-image: url('/static/zulip-ai-bot-2.png')"></div> 697 <div class="card-content"> 698 <h2>Integrating AI Models into Zulip Chatbots Using FastAPI: Part 2</h2> 699 <p>Learn how to use N-tier architecture and FastAPI to build a scalable Zulip bot that can retrieve messages, links, and images from Zulip streams and topics.</p> 700 <div class="card-action"> 701 702 <button class="action-btn">READ MORE â</button> 703 704 </div> 705 </div> 706 </a> 707 </div> 708 709 <div class="insight-card hidden" 710 data-type="article 711 "> 712 <a href="/posts/minecraft-skins-part2.html" class="card-link"> 713 <div class="content-type"> 714 ARTICLE 715 716 </div> 717 <div class="card-image" style="background-image: url('/static/minecraft-skins-part2.png')"></div> 718 <div class="card-content"> 719 <h2>Digging Deeper Into Minecraft Skin Generation</h2> 720 <p>Learn how to generate custom Minecraft skins from text prompts using a Stable Diffusion model.</p> 721 <div class="card-action"> 722 723 <button class="action-btn">READ MORE â</button> 724 725 </div> 726 </div> 727 </a> 728 </div> 729 730 <div class="insight-card hidden" 731 data-type="article 732 "> 733 <a href="/posts/mincraft-skin-generation.html" class="card-link"> 734 <div class="content-type"> 735 ARTICLE 736 737 </div> 738 <div class="card-image" style="background-image: url('/static/mincraft-skin-generation.jpg')"></div> 739 <div class="card-content"> 740 <h2>Digging into Stable Diffusion-Generated Minecraft Skins</h2> 741 <p>Fine-tune a Stable Diffusion model on a Minecraft dataset and create custom Minecraft-style characters using text prompts.</p> 742 <div class="card-action"> 743 744 <button class="action-btn">READ MORE â</button> 745 746 </div> 747 </div> 748 </a> 749 </div> 750 751 <div class="insight-card hidden" 752 data-type="article 753 "> 754 <a href="/posts/demystifying-databases.html" class="card-link"> 755 <div class="content-type"> 756 ARTICLE 757 758 </div> 759 <div class="card-image" style="background-image: url('/static/demystifying-databases.jpeg')"></div> 760 <div class="card-content"> 761 <h2>Demystifying Databases: Cracking the Code of Efficient Data Storage</h2> 762 <p>Unlock the power of data with comprehensive insights and practical guidance on selecting the ideal database for your projects, from relational databases to cutting-edge blockchain technologies.</p> 763 <div class="card-action"> 764 765 <button class="action-btn">READ MORE â</button> 766 767 </div> 768 </div> 769 </a> 770 </div> 771 772 <div class="insight-card hidden" 773 data-type="article 774 "> 775 <a href="/posts/fine-tune-or-not-llm-ai-business-transformation.html" class="card-link"> 776 <div class="content-type"> 777 ARTICLE 778 779 </div> 780 <div class="card-image" style="background-image: url('/static/fine-tune-or-not-llm-ai-business-transformation.jpg')"></div> 781 <div class="card-content"> 782 <h2>To Fine-Tune or Not Fine-Tune: Large Language Models for AI-Driven Business Transformation</h2> 783 <p>Discover the transformative power of LLMs for your business in our comprehensive roadmap, from their origins to the training processes, safety considerations, and current trends. </p> 784 <div class="card-action"> 785 786 <button class="action-btn">READ MORE â</button> 787 788 </div> 789 </div> 790 </a> 791 </div> 792 793 <div class="insight-card hidden" 794 data-type="article 795 "> 796 <a href="/posts/shades-of-rust-gui-library-list.html" class="card-link"> 797 <div class="content-type"> 798 ARTICLE 799 800 </div> 801 <div class="card-image" style="background-image: url('/static/shades-of-rust-gui-library-list.jpg')"></div> 802 <div class="card-content"> 803 <h2>50 Shades of Rust, or emerging Rust GUIs in a WASM world</h2> 804 <p>An overview of Rust GUI libraries and frameworks, focused on WASM. Discover the latest GUI toolkit options for Rust, increase your programming skills, and create efficient WebAssembly bundles that will help you build comprehensive applications.</p> 805 <div class="card-action"> 806 807 <button class="action-btn">READ MORE â</button> 808 809 </div> 810 </div> 811 </a> 812 </div> 813 814 <div class="insight-card hidden" 815 data-type="article 816 "> 817 <a href="/posts/filters-github-actions.html" class="card-link"> 818 <div class="content-type"> 819 ARTICLE 820 821 </div> 822 <div class="card-image" style="background-image: url('/static/filters-github-actions.png')"></div> 823 <div class="card-content"> 824 <h2>Filters with Github Actions</h2> 825 <p>In this tutorial, you will learn how to implement your version of [skip ci] of GitHub Actions to control when executing a workflow or jobs.</p> 826 <div class="card-action"> 827 828 <button class="action-btn">READ MORE â</button> 829 830 </div> 831 </div> 832 </a> 833 </div> 834 835 <div class="insight-card hidden" 836 data-type="article 837 "> 838 <a href="/posts/zulip-ia-bot-1.html" class="card-link"> 839 <div class="content-type"> 840 ARTICLE 841 842 </div> 843 <div class="card-image" style="background-image: url('/static/zulip-ia-bot-1.jpeg')"></div> 844 <div class="card-content"> 845 <h2>Integrating AI models into Zulip bots using FastAPI: Part 1</h2> 846 <p>Artificial intelligence is a powerful tool for automating tasks and improving the efficiency of your business. In this series, we'll explore how to integrate AI models into Zulip bots using FastAPI.</p> 847 <div class="card-action"> 848 849 <button class="action-btn">READ MORE â</button> 850 851 </div> 852 </div> 853 </a> 854 </div> 855 856 <div class="insight-card hidden" 857 data-type="article 858 "> 859 <a href="/posts/strategy-backtracking-using-python-generators.html" class="card-link"> 860 <div class="content-type"> 861 ARTICLE 862 863 </div> 864 <div class="card-image" style="background-image: url('/static/strategy-backtracking-using-python-generators.jpg')"></div> 865 <div class="card-content"> 866 <h2>A pattern for strategy backtracking using Python generators</h2> 867 <p>While fixing a bug that was affecting an ETL pipeline, we found a clean and simple pattern for strategy backtracking using Python Generators and generator expressions.</p> 868 <div class="card-action"> 869 870 <button class="action-btn">READ MORE â</button> 871 872 </div> 873 </div> 874 </a> 875 </div> 876 877 <div class="insight-card hidden" 878 data-type="article 879 "> 880 <a href="/posts/minting-nft-solana-mobile.html" class="card-link"> 881 <div class="content-type"> 882 ARTICLE 883 884 </div> 885 <div class="card-image" style="background-image: url('/static/minting-nft-solana-mobile.jpg')"></div> 886 <div class="card-content"> 887 <h2>How to mint NFTs using Solana's mobile wallet adapter</h2> 888 <p>React Native is a powerful tool for developing mobile apps that make use of Solana's mobile wallet adapter. Here's how to use the tech to mint an NFT.</p> 889 <div class="card-action"> 890 891 <button class="action-btn">READ MORE â</button> 892 893 </div> 894 </div> 895 </a> 896 </div> 897 898 <div class="insight-card hidden" 899 data-type="article 900 "> 901 <a href="/posts/modular-arithmetic.html" class="card-link"> 902 <div class="content-type"> 903 ARTICLE 904 905 </div> 906 <div class="card-image" style="background-image: url('/static/modular-arithmetic.jpg')"></div> 907 <div class="card-content"> 908 <h2>How to build a modular arithmetic library in Python</h2> 909 <p>In this tutorial, we're going to learn how to create a library for modular arithmetic, using operator overloading and redefining the built-in functions for NumPy.</p> 910 <div class="card-action"> 911 912 <button class="action-btn">READ MORE â</button> 913 914 </div> 915 </div> 916 </a> 917 </div> 918 919 <div class="insight-card hidden" 920 data-type="article 921 "> 922 <a href="/posts/ramping-up-solana-phone.html" class="card-link"> 923 <div class="content-type"> 924 ARTICLE 925 926 </div> 927 <div class="card-image" style="background-image: url('/static/ramping-up-solana-phone.jpg')"></div> 928 <div class="card-content"> 929 <h2>Ramping up on Solana Phone: Crypto for mobile</h2> 930 <p>The upcoming launch of Solana Mobile has a lot of us intrigued! We run you through what this new tech is and how to get set up.</p> 931 <div class="card-action"> 932 933 <button class="action-btn">READ MORE â</button> 934 935 </div> 936 </div> 937 </a> 938 </div> 939 940 <div class="insight-card h
940idden" 941 data-type="article 942 "> 943 <a href="/posts/blog-ideas-for-developers.html" class="card-link"> 944 <div class="content-type"> 945 ARTICLE 946 947 </div> 948 <div class="card-image" style="background-image: url('/static/blog-ideas-for-developers.jpg')"></div> 949 <div class="card-content"> 950 <h2>How to get blog post ideas as a developer</h2> 951 <p>Whenever I hit writer's block, I explore these four areas. They've never failed to help me find ideas for my next article.</p> 952 <div class="card-action"> 953 954 <button class="action-btn">READ MORE â</button> 955 956 </div> 957 </div> 958 </a> 959 </div> 960 961 <div class="insight-card hidden" 962 data-type="article 963 "> 964 <a href="/posts/python-vs-javascript-dealing-with-the-quirks-of-async-await.html" class="card-link"> 965 <div class="content-type"> 966 ARTICLE 967 968 </div> 969 <div class="card-image" style="background-image: url('/static/python-vs-javascript-dealing-with-the-quirks-of-async-await.jpg')"></div> 970 <div class="card-content"> 971 <h2>Python vs Javascript: Dealing with the quirks of async/await</h2> 972 <p>As someone who's used to implementing asynchronous programming in JS, implementing it in Python came as a surprise. Here's what I learned.</p> 973 <div class="card-action"> 974 975 <button class="action-btn">READ MORE â</button> 976 977 </div> 978 </div> 979 </a> 980 </div> 981 982 <div class="insight-card hidden" 983 data-type="article 984 "> 985 <a href="/posts/fastapi-for-functions.html" class="card-link"> 986 <div class="content-type"> 987 ARTICLE 988 989 </div> 990 <div class="card-image" style="background-image: url('/static/fastapi-for-functions.jpg')"></div> 991 <div class="card-content"> 992 <h2>Building a FastAPI Server to Evaluate Mathematical Functions</h2> 993 <p>We make an already-powerful program for plotting mathematical functions even better using three steps.</p> 994 <div class="card-action"> 995 996 <button class="action-btn">READ MORE â</button> 997 998 </div> 999 </div> 1000 </a> 1001 </div> 1002 1003 <div class="insight-card hidden" 1004 data-type="article 1005 "> 1006 <a href="/posts/math-matching.html" class="card-link"> 1007 <div class="content-type"> 1008 ARTICLE 1009 1010 </div> 1011 <div class="card-image" style="background-image: url('/static/math-matching.jpg')"></div> 1012 <div class="card-content"> 1013 <h2>How math makes matches meaningful</h2> 1014 <p>In this blog, we show you how finding the right algorithm can make the difference when it comes to creating meaningful, professional connections virtually.</p> 1015 <div class="card-action"> 1016 1017 <button class="action-btn">READ MORE â</button> 1018 1019 </div> 1020 </div> 1021 </a> 1022 </div> 1023 1024 <div class="insight-card hidden" 1025 data-type="article 1026 "> 1027 <a href="/posts/oop-golang.html" class="card-link"> 1028 <div class="content-type"> 1029 ARTICLE 1030 1031 </div> 1032 <div class="card-image" style="background-image: url('/static/oop-golang.jpeg')"></div> 1033 <div class="card-content"> 1034 <h2>A how-to guide for OOP in Golang (for Python users)</h2> 1035 <p>I'll use an example scenario to demonstrate the features of the OOP model, show you how to implement the OPP model/principles in Python, and compare that to the implementation in Golang.</p> 1036 <div class="card-action"> 1037 1038 <button class="action-btn">READ MORE â</button> 1039 1040 </div> 1041 </div> 1042 </a> 1043 </div> 1044 1045 <div class="insight-card hidden" 1046 data-type="article 1047 "> 1048 <a href="/posts/wasm-chip8.html" class="card-link"> 1049 <div class="content-type"> 1050 ARTICLE 1051 1052 </div> 1053 <div class="card-image" style="background-image: url('/static/wasm-chip8.jpg')"></div> 1054 <div class="card-content"> 1055 <h2>How to setup a Wasm API for a CHIP-8 emulator</h2> 1056 <p>In this guide, you'll learn how to keep control over the lifecycle of the library, allow signals/commands, and callbacks â all while keeping the asynchronous style that you know and love
1056!</p> 1057 <div class="card-action"> 1058 1059 <button class="action-btn">READ MORE â</button> 1060 1061 </div> 1062 </div> 1063 </a> 1064 </div> 1065 1066 <div class="insight-card hidden" 1067 data-type="article 1068 "> 1069 <a href="/posts/algorithm-bias.html" class="card-link"> 1070 <div class="content-type"> 1071 ARTICLE 1072 1073 </div> 1074 <div class="card-image" style="background-image: url('/static/algorithm-bias.jpg')"></div> 1075 <div class="card-content"> 1076 <h2>Technical solutions to tackle AI bias</h2> 1077 <p>Yes, we want more diverse workplaces but there are things on the computing side companies and developers can do to make AIs fairer.</p> 1078 <div class="card-action"> 1079 1080 <button class="action-btn">READ MORE â</button> 1081 1082 </div> 1083 </div> 1084 </a> 1085 </div> 1086 1087 <div class="insight-card hidden" 1088 data-type="article 1089 "> 1090 <a href="/posts/candy-machine-mint-and-reveal.html" class="card-link"> 1091 <div class="content-type"> 1092 ARTICLE 1093 1094 </div> 1095 <div class="card-image" style="background-image: url('/static/candy-machine-mint-and-reveal.png')"></div> 1096 <div class="card-content"> 1097 <h2>How to mint and reveal NFTs with Candy Machine V2</h2> 1098 <p>In this tutorial, you'll learn how to create a âmint and wait for revealâ Candy Machine. Doing so will allow Candy Machine users to mint âclosedâ NFTs and wait for them to be ârevealedâ at a later date, bringing elements of anticipation and excitement to their experience.</p> 1099 <div class="card-action"> 1100 1101 <button class="action-btn">READ MORE â</button> 1102 1103 </div> 1104 </div> 1105 </a> 1106 </div> 1107 1108 <div class="insight-card hidden" 1109 data-type="article 1110 "> 1111 <a href="/posts/ins-and-outs-of-logging-in-python-part-one.html" class="card-link"> 1112 <div class="content-type"> 1113 ARTICLE 1114 1115 </div> 1116 <div class="card-image" style="background-image: url('/static/ins-and-outs-of-logging-in-python-part-one.jpg')"></div> 1117 <div class="card-content"> 1118 <h2>The Ins and Outs of Logging in Python, Part 1</h2> 1119 <p>A guide to using logging in Python. The fundamental concepts are discussed and illustrated with simple examples. </p> 1120 <div class="card-action"> 1121 1122 <button class="action-btn">READ MORE â</button> 1123 1124 </div> 1125 </div> 1126 </a> 1127 </div> 1128 1129 <div class="insight-card hidden" 1130 data-type="article 1131 "> 1132 <a href="/posts/export-phantom-wallet.html" class="card-link"> 1133 <div class="content-type"> 1134 ARTICLE 1135 1136 </div> 1137 <div class="card-image" style="background-image: url('/static/export-phantom-wallet.jpg')"></div> 1138 <div class="card-content"> 1139 <h2>How to import your wallet to Solana CLI</h2> 1140 <p>Whether you're looking to backup your wallet or deliver NFTs, importing your wallet is a great trick to have up your sleeve.</p> 1141 <div class="card-action"> 1142 1143 <button class="action-btn">READ MORE â</button> 1144 1145 </div> 1146 </div> 1147 </a> 1148 </div> 1149 1150 <div class="insight-card hidden" 1151 data-type="article 1152 "> 1153 <a href="/posts/why-systems-software-why-rust.html" class="card-link"> 1154 <div class="content-type"> 1155 ARTICLE 1156 1157 </div> 1158 <div class="card-image" style="background-image: url('/static/why-systems-software-why-rust.jpeg')"></div> 1159 <div class="card-content"> 1160 <h2>The Rust Journey, Part 0: Why Systems Software and Why Rust?</h2> 1161 <p>Part 0 in our series about learning and writing systems software using Rust.</p> 1162 <div class="card-action"> 1163 1164 <button class="action-btn">READ MORE â</button> 1165 1166 </div> 1167 </div> 1168 </a> 1169 </div> 1170 1171 <div class="insight-card hidden" 1172 data-type="article 1173 "> 1174 <a href="/posts/operator-overloading-in-python.html" class="card-link"> 1175 <div class="content-type"> 1176 ARTICLE 1177 1178 </div> 1179 <div class="card-image" style="background-image: url('/static/operator-overloading-in-python.jpg')"></div> 1180 <div class="card-content"> 1181 <h2>Operator Overloading in Python</h2> 1182 <p>What is operator overloading and how does it work in Python?</p> 1183 <div class="card-action"> 1184 1185 <button class="action-btn">READ MORE â</button> 1186 1187 </div> 1188 </div> 1189 </a> 1190 </div> 1191 1192 <div class="insight-card hidden" 1193 data-type="article 1194 "> 1195 <a href="/posts/plot-mathematical-functions-in-python.html" class="card-link"> 1196 <div class="content-type"> 1197 ARTICLE 1198 1199 </div> 1200 <div class="card-image" style="background-image: url('/static/plot-mathematical-functions-in-python.png')"></div> 1201 <div class="card-content"> 1202 <h2>How to Plot Mathematical Functions in 10 Lines of Python</h2> 1203 <p>How to build a mathematical functions plotter using Python, NumPy, SymPy, and Matplotlib.</p> 1204 <div class="card-action"> 1205 1206 <button class="action-btn">READ MORE â</button> 1207 1208 </div> 1209 </div> 1210 </a> 1211 </div> 1212 1213 <div class="insight-card hidden" 1214 data-type="article 1215 "> 1216 <a href="/posts/how-to-run-programs-on-a-mainframe.html" class="card-link"> 1217 <div class="content-type"> 1218 ARTICLE 1219 1220 </div> 1221 <div class="card-image" style="background-image: url('/static/how-to-run-programs-on-a-mainframe.jpg')"></div> 1222 <div class="card-content"> 1223 <h2>Starting and Running Your First Program on a Mainframe</h2> 1224 <p>How to run your first program on a mainframe using open source software. </p> 1225 <div class="card-action"> 1226 1227 <button class="action-btn">READ MORE â</button> 1228 1229 </div> 1230 </div> 1231 </a> 1232 </div> 1233 1234 <div class="insight-card hidden" 1235 data-type="article 1236 "> 1237 <a href="/posts/human-systems.html" class="card-link"> 1238 <div class="content-type"> 1239 ARTICLE 1240 1241 </div> 1242 <div class="card-image" style="background-image: url('/static/human-systems.png')"></div> 1243 <div class="card-content"> 1244 <h2>All Systems are Human Systems</h2> 1245 <p>All systems in the field of software engineering are built by humans, to serve human purposes, and sometimes have broad but subtle influences in society and politics. It's in all of our best interests to to understand the broader, human scope that these systems operate within.</p> 1246 <div class="card-action"> 1247 1248 <button class="action-btn">READ MORE â</button> 1249 1250 </div> 1251 </div> 1252 </a> 1253 </div> 1254 1255 <div class="insight-card hidden" 1256 data-type="article 1257 "> 1258 <a href="/posts/how-to-package-python-for-apt-deb.html" class="card-link"> 1259 <div class="content-type"> 1260 ARTICLE 1261 1262 </div> 1263 <div class="card-image" style="background-image: url('/static/python-packaging.png')"></div> 1264 <div class="card-content"> 1265 <h2>Python Packaging Guide for APT/Debian</h2> 1266 <p>A quick guide on how to package your Python/pip project into an apt-installable Debian package using stdeb.</p> 1267 <div class="card-action"> 1268 1269 <button class="action-btn">READ MORE â</button> 1270 1271 </div> 1272 </div> 1273 </a> 1274 </div> 1275 1276 <div class="insight-card hidden" 1277 data-type="article 1278 "> 1279 <a href="/posts/cobol.html" class="card-link"> 1280 <div class="content-type"> 1281 ARTICLE 1282 1283 </div> 1284 <div class="card-image" style="background-image: url('/static/cobol.png')"></div> 1285 <div class="card-content"> 1286 <h2>Learning COBOL: A Journey For The Modern Programmer</h2> 1287 <p>A guide to learning COBOL for the modern programmer. </p> 1288 <div class="card-action"> 1289 1290 <button class="action-btn">READ MORE â</button> 1291 1292 </div> 1293 </div> 1294 </a> 1295 </div> 1296 1297 <div class="insight-card hidden" 1298 data-type="article 1299 "> 1300 <a href="/posts/wireguard.html" class="card-link"> 1301 <div class="content-type"> 1302 ARTICLE 1303 1304 </div> 1305 <div class="card-image" style="background-image: url('/static/wireguard.jpg')"></div> 1306 <div class="card-content"> 1307 <h2>Some Unofficial WireGuard Documentation</h2> 1308 <p>Some unofficial documentation for the WireGuard VPN, including config API reference, tutorials, examples, and projects. (This is a mirror of the original on Github)</p> 1309 <div class="card-action"> 1310 1311 <button class="action-btn">READ MORE â</button> 1312 1313 </div> 1314 </div> 1315 </a> 1316 </div> 1317 1318 <div class="insight-card hidden" 1319 data-type="article 1320 ">
1321 <a href="/posts/5-paquetes-django.html" class="card-link"> 1322 <div class="content-type"> 1323 ARTICLE 1324 1325 </div> 1326 <div class="card-image" style="background-image: url('/static/django-packages.png')"></div> 1327 <div class="card-content"> 1328 <h2>Cinco Paquetes de Django Que Amamos en Monadical</h2> 1329 <p>Uno de los mayores atractivos de Django es su ecosistema. Si se presenta algún problema existen muchas posibilidades de que alguien en la comunidad también lo haya tenido, y fuera tan amable de abstraerlo en un paquete reutilizable y publicarlo para la comunidad. Aquà encontrará cinco paquetes muy útiles que usamos con</p> 1330 <div class="card-action"> 1331 1332 <button class="action-btn">READ MORE â</button> 1333 1334 </div> 1335 </div> 1336 </a> 1337 </div> 1338 1339 <div class="insight-card hidden" 1340 data-type="article 1341 "> 1342 <a href="/posts/django-packages.html" class="card-link"> 1343 <div class="content-type"> 1344 ARTICLE 1345 1346 </div> 1347 <div class="card-image" style="background-image: url('/static/django-packages.png')"></div> 1348 <div class="card-content"> 1349 <h2>Five Django Packages We Love at Monadical</h2> 1350 <p>One of the biggest draws to Django is its ecosystem. If you encounter a problem, the chances are that someone else in the community has too, and has been kind enough to abstract it into a package and release it. Here are five packages we find ourselves coming back to.</p> 1351 <div class="card-action"> 1352 1353 <button class="action-btn">READ MORE â</button> 1354 1355 </div> 1356 </div> 1357 </a> 1358 </div> 1359 1360 <div class="insight-card hidden" 1361 data-type="article 1362 "> 1363 <a href="/posts/drone-web-platform.html" class="card-link"> 1364 <div class="content-type"> 1365 ARTICLE 1366 1367 </div> 1368 <div class="card-image" style="background-image: url('/static/drone-web-platform.jpg')"></div> 1369 <div class="card-content"> 1370 <h2>Drone Web Platform </h2> 1371 <p>A platform for operating drones through the internet.</p> 1372 <div class="card-action"> 1373 1374 <button class="action-btn">READ MORE â</button> 1375 1376 </div> 1377 </div> 1378 </a> 1379 </div> 1380 1381 <div class="insight-card hidden" 1382 data-type="article 1383 "> 1384 <a href="/posts/virtual-classes-in-cython.html" class="card-link"> 1385 <div class="content-type"> 1386 ARTICLE 1387 1388 </div> 1389 <div class="card-image" style="background-image: url('/static/virtual-classes-in-cython.png?v=2')"></div> 1390 <div class="card-content"> 1391 <h2>Implementing C++ Virtual Functions in Cython</h2> 1392 <p>This is an extensive article that assumes Cython knowledge and describes two strategies for using C++ code from Python, requiring the implementation of virtual functions in C++ abstract classes. </p> 1393 <div class="card-action"> 1394 1395 <button class="action-btn">READ MORE â</button> 1396 1397 </div> 1398 </div> 1399 </a> 1400 </div> 1401 1402 <div class="insight-card hidden" 1403 data-type="article 1404 "> 1405 <a href="/posts/a-many-linux-web-building-platform.html" class="card-link"> 1406 <div class="content-type"> 1407 ARTICLE 1408 1409 </div> 1410 <div class="card-image" style="background-image: url('/static/a-many-linux-web-building-platform.png?v=2')"></div> 1411 <div class="card-content"> 1412 <h2>How to Make Library Distribution Easier</h2> 1413 <p>A Manylinux-Based Web Building Platform</p> 1414 <div class="card-action"> 1415 1416 <button class="action-btn">READ MORE â</button> 1417 1418 </div> 1419 </div> 1420 </a> 1421 </div> 1422 1423 <div class="insight-card hidden" 1424 data-type="article 1425 "> 1426 <a href="/posts/how-to-build-a-python-library.html" class="card-link"> 1427 <div class="content-type"> 1428 ARTICLE 1429 1430 </div> 1431 <div class="card-image" style="background-image: url('/static/how-to-build-a-python-library.png?v=2')"></div> 1432 <div class="card-content"> 1433 <h2>How to Build a Python Library</h2> 1434 <p>Share Developments and Contribute to the Community</p> 1435 <div class="card-action"> 1436 1437 <button class="action-btn">READ MORE â</button> 1438 1439 </div> 1440 </div> 1441 </a> 1442 </div> 1443 1444 <div class="insight-card hidden" 1445 data-type="article 1446 "> 1447 <a href="/posts/oddslingers-open-source.html" class="card-link"> 1448 <div class="content-type"> 1449 ARTICLE 1450 1451 </div> 1452 <div class="card-image" style="background-image: url('/static/oddslingers-open-source.png?v=2')"></div> 1453 <div class="card-content"> 1454 <h2>
1454Oddslingers Open Source Announcement</h2> 1455 <p>The OddSlingers poker platform, built with python/django in the backend, and react/redux in the frontend, is now free and open source.</p> 1456 <div class="card-action"> 1457 1458 <button class="action-btn">READ MORE â</button> 1459 1460 </div> 1461 </div> 1462 </a> 1463 </div> 1464 1465 <div class="insight-card hidden" 1466 data-type="article 1467 "> 1468 <a href="/posts/event-driven-architecture-1.html" class="card-link"> 1469 <div class="content-type"> 1470 ARTICLE 1471 1472 </div> 1473 <div class="card-image" style="background-image: url('/static/event-driven-architecture-1.png?v=2')"></div> 1474 <div class="card-content"> 1475 <h2>Event Diven Architecture part 1</h2> 1476 <p>Lessons learned in building a poker platform using event-driven architecture, part one--the backend.</p> 1477 <div class="card-action"> 1478 1479 <button class="action-btn">READ MORE â</button> 1480 1481 </div> 1482 </div> 1483 </a> 1484 </div> 1485 1486 <div class="insight-card hidden" 1487 data-type="article 1488 "> 1489 <a href="/posts/set-up-ci-workflow-part-three.html" class="card-link"> 1490 <div class="content-type"> 1491 ARTICLE 1492 1493 </div> 1494 <div class="card-image" style="background-image: url('/static/set-up-ci-workflow-part-three.png?v=2')"></div> 1495 <div class="card-content"> 1496 <h2>How to Set Up a CI/CD Workflow, Part 3</h2> 1497 <p>CI/CD Workflow For a Flask App Using GitHub Actions and AWS ECS</p> 1498 <div class="card-action"> 1499 1500 <button class="action-btn">READ MORE â</button> 1501 1502 </div> 1503 </div> 1504 </a> 1505 </div> 1506 1507 <div class="insight-card hidden" 1508 data-type="article 1509 "> 1510 <a href="/posts/why-use-orm.html" class="card-link"> 1511 <div class="content-type"> 1512 ARTICLE 1513 1514 </div> 1515 <div class="card-image" style="background-image: url('/static/why-use-orm.png?v=2')"></div> 1516 <div class="card-content"> 1517 <h2>Why should you use an ORM (Object Relational Mapper)?</h2> 1518 <p>Budding web developers learning Model-View-Controller frameworks are taught that they should use an Object Relational Mapper (ORM) to interface with their databases. But the âwhyâ is often brushed aside or omitted entirely, leaving a fledgling programmer with burning questions like âWhat are ORMs, anyway?â</p> 1519 <div class="card-action"> 1520 1521 <button class="action-btn">READ MORE â</button> 1522 1523 </div> 1524 </div> 1525 </a> 1526 </div> 1527 1528 <div class="insight-card hidden" 1529 data-type="article 1530 "> 1531 <a href="/posts/set-up-ci-workflow-part-two.html" class="card-link"> 1532 <div class="content-type"> 1533 ARTICLE 1534 1535 </div> 1536 <div class="card-image" style="background-image: url('/static/set-up-ci-workflow-part-two.png?v=2')"></div> 1537 <div class="card-content"> 1538 <h2>How to Set Up a CI/CD Workflow, Part Two</h2> 1539 <p>In a previous article, I explained how to set up a pipeline to send images from GitHub to AWS ECR. In this article, I will focus on implementing the missing steps required for a fully functional CD pipeline.</p> 1540 <div class="card-action"> 1541 1542 <button class="action-btn">READ MORE â</button> 1543 1544 </div> 1545 </div> 1546 </a> 1547 </div> 1548 1549 <div class="insight-card hidden" 1550 data-type="article 1551 "> 1552 <a href="/posts/jwt-login-firebase.html" class="card-link"> 1553 <div class="content-type"> 1554 ARTICLE 1555 1556 </div> 1557 <div class="card-image" style="background-image: url('/static/jwt-login-firebase.png?v=2')"></div> 1558 <div class="card-content"> 1559 <h2>A Cheat Sheet for Using your JWT Authentication with Django </h2> 1560 <p>Getting DRF, SimpleJWT and Firebase to play nice.</p> 1561 <div class="card-action"> 1562 1563 <button class="action-btn">READ MORE â</button> 1564 1565 </div> 1566 </div> 1567 </a> 1568 </div> 1569 1570 <div class="insight-card hidden" 1571 data-type="article 1572 "> 1573 <a href="/posts/covid-affects-outsourcing.html" class="card-link"> 1574 <div class="content-type"> 1575 ARTICLE 1576 1577 </div> 1578 <div class="card-image" style="background-image: url('/static/covid-affects-outsourcing.png?v=2')"></div> 1579 <div class="card-content"> 1580 <h2>How COVID-19 will affect Outsourcing Trends</h2> 1581 <p>How the increase in remote work during COVID-19 will affect companies' decisions on whether to outsource.</p> 1582 <div class="card-action"> 1583 1584 <button class="action-btn">READ MORE â</button> 1585 1586 </div> 1587 </div> 1588 </a> 1589 </div> 1590 1591 <div class="insight-card hidden" 1592 data-type="article 1593 "> 1594 <a href="/posts/from-firebase-to-django.html" class="card-link"> 1595 <div class="content-type"> 1596 ARTICLE 1597 1598 </div> 1599 <div class="card-image" style="background-image: url('/static/from-firebase-to-django.png?v=2')"></div> 1600 <div class="card-content"> 1601 <h2>How to Migrate from Firebase to Django</h2> 1602 <p>Strategy and tips on how to migrate from Firebase to Django (or another SQL ORM)</p> 1603 <div class="card-action"> 1604 1605 <button class="action-btn">READ MORE â</button> 1606 1607 </div> 1608 </div> 1609 </a> 1610 </div> 1611 1612 <div class="insight-card hidden" 1613 data-type="article 1614 "> 1615 <a href="/posts/drone-mapping.html" class="card-link"> 1616 <div class="content-type"> 1617 ARTICLE 1618 1619 </div> 1620 <div class="card-image" style="background-image: url('/static/drone-mapping.jpg?v=2')"></div> 1621 <div class="card-content"> 1622 <h2>
1622Drone Mapping: How to Create Your Own Terrain Surface Model</h2> 1623 <p>An introduction to drone mapping. How to create a terrain surface model using a mobile app, your computer or cloud service, and your own drone.</p> 1624 <div class="card-action"> 1625 1626 <button class="action-btn">READ MORE â</button> 1627 1628 </div> 1629 </div> 1630 </a> 1631 </div> 1632 1633 <div class="insight-card hidden" 1634 data-type="article 1635 "> 1636 <a href="/posts/everyone-should-know-about-docker.html" class="card-link"> 1637 <div class="content-type"> 1638 ARTICLE 1639 1640 </div> 1641 <div class="card-image" style="background-image: url('/static/everyone-should-know-about-docker.png')"></div> 1642 <div class="card-content"> 1643 <h2>Why Everyone Should Know About Docker</h2> 1644 <p>What is Docker and how does it work? This introduction walks you through the benefits of this core technology and shows you how to get started with it.</p> 1645 <div class="card-action"> 1646 1647 <button class="action-btn">READ MORE â</button> 1648 1649 </div> 1650 </div> 1651 </a> 1652 </div> 1653 1654 <div class="insight-card hidden" 1655 data-type="article 1656 "> 1657 <a href="/posts/set-up-ci-workflow.html" class="card-link"> 1658 <div class="content-type"> 1659 ARTICLE 1660 1661 </div> 1662 <div class="card-image" style="background-image: url('/static/set-up-ci-workflow.jpg')"></div> 1663 <div class="card-content"> 1664 <h2>How to set up a CI workflow</h2> 1665 <p>How to set up a basic CI workflow using GitHub and AWS, relying completely on managed services so you don't increase your maintenance burden.</p> 1666 <div class="card-action"> 1667 1668 <button class="action-btn">READ MORE â</button> 1669 1670 </div> 1671 </div> 1672 </a> 1673 </div> 1674 1675 <div class="insight-card hidden" 1676 data-type="article 1677 "> 1678 <a href="/posts/system-monitoring-tools.html" class="card-link"> 1679 <div class="content-type"> 1680 ARTICLE 1681 1682 </div> 1683 <div class="card-image" style="background-image: url('/static/system-monitoring-tools.png')"></div> 1684 <div class="card-content"> 1685 <h2>Unix System Monitoring and Diagnostic CLI Tools</h2> 1686 <p>An opinionated list of CLI utilities for monitoring and inspecting Linux/BSD systems.</p> 1687 <div class="card-action"> 1688 1689 <button class="action-btn">READ MORE â</button> 1690 1691 </div> 1692 </div> 1693 </a> 1694 </div> 1695 1696 <div class="insight-card hidden" 1697 data-type="article 1698 "> 1699 <a href="/posts/moving-to-linux-desktop.html" class="card-link"> 1700 <div class="content-type"> 1701 ARTICLE 1702 1703 </div> 1704 <div class="card-image" style="background-image: url('/static/moving-to-linux-desktop.jpg')"></div> 1705 <div class="card-content"> 1706 <h2>The Year of the Linux Desktop</h2> 1707 <p>The year of the Linux desktop has arrived. This is a guide for how to improve the Linux desktop experience.</p> 1708 <div class="card-action"> 1709 1710 <button class="action-btn">READ MORE â</button> 1711 1712 </div> 1713 </div> 1714 </a> 1715 </div> 1716 1717 <div class="insight-card hidden" 1718 data-type="article 1719 "> 1720 <a href="/posts/open-source-innovation-technology.html" class="card-link"> 1721 <div class="content-type"> 1722 ARTICLE 1723 1724 </div> 1725 <div class="card-image" style="background-image: url('/static/open-source-innovation-technology.jpg')"></div> 1726 <div class="card-content"> 1727 <h2>Why Open Source Projects Are Key to Innovation & Technology</h2> 1728 <p>Find out how open source projects are essential to innovation and the development of new technology.</p> 1729 <div class="card-action"> 1730 1731 <button class="action-btn">READ MORE â</button> 1732 1733 </div> 1734 </div> 1735 </a> 1736 </div> 1737 1738 <div class="insight-card hidden" 1739 data-type="article 1740 "> 1741 <a href="/posts/knowledge-in-box.html" class="card-link"> 1742 <div class="content-type"> 1743 ARTICLE 1744 1745 </div> 1746 <div class="card-image" style="background-image: url('/static/knowledge-in-box.png')"></div> 1747 <div class="card-content"> 1748 <h2>How to Fit All Human Knowledge in a Box</h2> 1749 <p>How we used the power of Cython to help streamline how knowledge c
1749an be packaged and accessed all over the world â even without the internet.</p> 1750 <div class="card-action"> 1751 1752 <button class="action-btn">READ MORE â</button> 1753 1754 </div> 1755 </div> 1756 </a> 1757 </div> 1758 1759 <div class="insight-card hidden" 1760 data-type="article 1761 "> 1762 <a href="/posts/how-to-make-remote-work-part-two-zulip.html" class="card-link"> 1763 <div class="content-type"> 1764 ARTICLE 1765 1766 </div> 1767 <div class="card-image" style="background-image: url('/static/zulip.jpg')"></div> 1768 <div class="card-content"> 1769 <h2>How to Make Remote Work: Part Two, Zulip</h2> 1770 <p>How I've learned to be productive working from home. I'll write a second guide about how I think about remote work as a manager and the processes Monadical have put into place to make things work for us.</p> 1771 <div class="card-action"> 1772 1773 <button class="action-btn">READ MORE â</button> 1774 1775 </div> 1776 </div> 1777 </a> 1778 </div> 1779 1780 <div class="insight-card hidden" 1781 data-type="article 1782 "> 1783 <a href="/posts/how-to-make-remote-work-part-one.html" class="card-link"> 1784 <div class="content-type"> 1785 ARTICLE 1786 1787 </div> 1788 <div class="card-image" style="background-image: url('/static/remote-work.jpg')"></div> 1789 <div class="card-content"> 1790 <h2>How to Make Remote Work: Part One</h2> 1791 <p>How to build asyncronous processes that enable you to work efficiently with a distributed engineering team.</p> 1792 <div class="card-action"> 1793 1794 <button class="action-btn">READ MORE â</button> 1795 1796 </div> 1797 </div> 1798 </a> 1799 </div> 1800 1801 <div class="insight-card hidden" 1802 data-type="article 1803 "> 1804 <a href="/posts/using-multiple-smtpd-sender-login-maps-in-postfix.html" class="card-link"> 1805 <div class="content-type"> 1806 ARTICLE 1807 1808 </div> 1809 <div class="card-image" style="background-image: url('/static/using-multiple-smtpd-sender-login-maps-in-postfix.png')"></div> 1810 <div class="card-content"> 1811 <h2>A Postfix deployment postmortem: Debugging short-circuiting of mapping lookups</h2> 1812 <p>How we tracked down and fixed a bug caused by Postfix's type:table using the new unionmap feature.</p> 1813 <div class="card-action"> 1814 1815 <button class="action-btn">READ MORE â</button> 1816 1817 </div> 1818 </div> 1819 </a> 1820 </div> 1821 1822 <div class="insight-card hidden" 1823 data-type="article 1824 "> 1825 <a href="/posts/python-performance-profiling.html" class="card-link"> 1826 <div class="content-type"> 1827 ARTICLE 1828 1829 </div> 1830 <div class="card-image" style="background-image: url('/static/python-performance-profiling.jpg')"></div> 1831 <div class="card-content"> 1832 <h2>Python Performance Profiling and Optimization</h2> 1833 <p>Modern techniques for performance profiling & optimization of Python applications.</p> 1834 <div class="card-action"> 1835 1836 <button class="action-btn">READ MORE â</button> 1837 1838 </div> 1839 </div> 1840 </a> 1841 </div> 1842 1843 <div class="insight-card hidden" 1844 data-type="article 1845 "> 1846 <a href="/posts/anatomy-of-html-css-js.html" class="card-link"> 1847 <div class="content-type"> 1848 ARTICLE 1849 1850 </div> 1851 <div class="card-image" style="background-image: url('/static/html-tag-attributes.png')"></div> 1852 <div class="card-content"> 1853 <h2>An Introduction to HTML and CSS Anatomy</h2> 1854 <p>
1854A basic introduction and glossary for people learning HTML, CSS, and Javascript. Intended for people just getting started with frontend development.</p> 1855 <div class="card-action"> 1856 1857 <button class="action-btn">READ MORE â</button> 1858 1859 </div> 1860 </div> 1861 </a> 1862 </div> 1863 1864 <div class="insight-card hidden" 1865 data-type="article 1866 "> 1867 <a href="/posts/our-favorite-technical-blogs.html" class="card-link"> 1868 <div class="content-type"> 1869 ARTICLE 1870 1871 </div> 1872 <div class="card-image" style="background-image: url('/static/blogs.png')"></div> 1873 <div class="card-content"> 1874 <h2>Our Favorite Technical Blogs</h2> 1875 <p>A list of our favorite technical blogs by friends, prominent programmers, and other companies we follow.</p> 1876 <div class="card-action"> 1877 1878 <button class="action-btn">READ MORE â</button> 1879 1880 </div> 1881 </div> 1882 </a> 1883 </div> 1884 1885 <div class="insight-card hidden" 1886 data-type="article 1887 "> 1888 <a href="/posts/monadical-study-guide.html" class="card-link"> 1889 <div class="content-type"> 1890 ARTICLE 1891 1892 </div> 1893 <div class="card-image" style="background-image: url('/static/study-guide.jpg')"></div> 1894 <div class="card-content"> 1895 <h2>Monadical Applicant Study Guide</h2> 1896 <p>A list of documentation, resources, and example projects for potential applicants who are thinking about joining Monadical.</p> 1897 <div class="card-action"> 1898 1899 <button class="action-btn">READ MORE â</button> 1900 1901 </div> 1902 </div> 1903 </a> 1904 </div> 1905 1906 <div class="insight-card hidden" 1907 data-type="article 1908 "> 1909 <a href="/posts/avoiding-dry-for-easier-refactoring.html" class="card-link"> 1910 <div class="content-type"> 1911 ARTICLE 1912 1913 </div> 1914 <div class="card-image" style="background-image: url('/static/dry.gif')"></div> 1915 <div class="card-content"> 1916 <h2>Easier Refactoring by Avoiding DRY Patterns</h2> 1917 <p>A short post about a particularly nice pattern for future refactorers that breaks the Don't-Repeat-Yourself principle commonly taught to beginners.</p> 1918 <div class="card-action"> 1919 1920 <button class="action-btn">READ MORE â</button> 1921 1922 </div> 1923 </div> 1924 </a> 1925 </div> 1926 1927 <div class="insight-card hidden" 1928 data-type="article 1929 "> 1930 <a href="/posts/security-breach-response-guidelines.html" class="card-link"> 1931 <div class="content-type"> 1932 ARTICLE 1933 1934 </div> 1935 <div class="card-image" style="background-image: url('/static/breach-response.png')"></div> 1936 <div class="card-content"> 1937 <h2>Security Breach Response Guidelines</h2> 1938 <p>What should you do if your company gets hacked? What are the things to avoid and what are the procedures to follow? We explore the whole process in this post.</p> 1939 <div class="card-action"> 1940 1941 <button class="action-btn">READ MORE â</button> 1942 1943 </div> 1944 </div> 1945 </a> 1946 </div> 1947 1948 <div class="insight-card hidden" 1949 data-type="article 1950 "> 1951 <a href="/posts/functional-declarative-animations.html" class="card-link"> 1952 <div class="content-type"> 1953 ARTICLE 1954 1955 </div> 1956 <div class="card-image" style="background-image: url('/static/declarative-animations.jpg')"></div> 1957 <div class="card-content"> 1958 <h2>Cleaner JS Animation Architecture With Functional Declarative Patterns</h2> 1959 <p>As systems get more complex, they trend towards expressing more of their complexity as data. Animations can be defined in data too.</p> 1960 <div class="card-action"> 1961 1962 <button class="action-btn">READ MORE â</button> 1963 1964 </div> 1965 </div> 1966 </a> 1967 </div> 1968 1969 <div class="insight-card hidden" 1970 data-type="article 1971 "> 1972 <a href="/posts/intro-to-opt-directory.html" class="card-link"> 1973 <div class="content-type"> 1974 ARTICLE 1975 1976 </div> 1977 <div class="card-image" style="background-image: url('/static/opt-directory.jpg')"></div> 1978 <div class="card-content"> 1979 <h2>Server Provisioning and the /opt Directory</h2> 1980 <p>An overview of how we provision and organize code and data on servers using the UNIX /opt directory.</p> 1981 <div class="card-action"> 1982 1983 <button class="action-btn">READ MORE â</button> 1984 1985 </div> 1986 </div> 1987 </a> 1988 </div> 1989 1990 <div class="insight-card hidden" 1991 data-type="article 1992 "> 1993 <a href="/posts/Linearizing-database-operations-django.html" class="card-link"> 1994 <div class="content-type"> 1995 ARTICLE 1996 1997 </div> 1998 <div class="card-image" style="background-image: url('/static/django-operation-queue.jpg')"></div> 1999 <div class="card-content"> 2000 <h2>A Strategy for Linearizing Database Operations</h2> 2001 <p>Everyone wants their writes strictly ordered, if we can represent a list of write operations as a data structure, that gets easier.</p> 2002 <div class="card-action"> 2003 2004 <button class="action-btn">READ MORE â</button> 2005 2006 </div> 2007 </div> 2008 </a> 2009 </div> 2010 2011 <div class="insight-card hidden" 2012 data-type="article 2013 "> 2014 <a href="/posts/Building-a-Company-Not-an-ICO.html" class="card-link"> 2015 <div class="content-type"> 2016 ARTICLE 2017 2018 </div> 2019 <div class="card-image" style="background-image: url('/static/company-not-ico-light.jpg')"></div> 2020 <div class="card-content"> 2021 <h2>We're Building A Company, Not An ICO</h2> 2022 <p>A frank discussion about the benefits and pitfalls of the ICO hype, and why Monadical' vision goes far beyond short-term fundraising.</p> 2023 <div class="card-action"> 2024 2025 <button class="action-btn">READ MORE â</button> 2026 2027 </div> 2028 </div> 2029 </a> 2030 </div> 2031 2032 <div class="insight-card hidden" 2033 data-type="article 2034 "> 2035 <a href="/posts/Review-of-Online-Poker-Networks.html" class="card-link"> 2036 <div class="content-type"> 2037 ARTICLE 2038 2039 </div> 2040 <div class="card-image" style="background-image: url('/static/poker-networks.jpg')"></div> 2041 <div class="card-content"> 2042 <h2>The State of Poker Platforms in 2018</h2> 2043 <p>An overview of the all the current online Poker networks as of 2018, with pros and cons for each and a summary of features.</p> 2044 <div class="card-action"> 2045 2046 <button class="action-btn">READ MORE â</button> 2047 2048 </div> 2049 </div> 2050 </a> 2051 </div> 2052 2053 <div class="insight-card hidden" 2054 data-type="article 2055 ">
2056 <a href="/posts/Designing-A-Banking-System.html" class="card-link"> 2057 <div class="content-type"> 2058 ARTICLE 2059 2060 </div> 2061 <div class="card-image" style="background-image: url('/static/atomic.jpg')"></div> 2062 <div class="card-content"> 2063 <h2>Database Integrity Principles for Safe Systems</h2> 2064 <p>Design strategies and common pitfalls that come into play when designing a banking service to handle concurrent transactions in a distributed environment.</p> 2065 <div class="card-action"> 2066 2067 <button class="action-btn">READ MORE â</button> 2068 2069 </div> 2070 </div> 2071 </a> 2072 </div> 2073 2074 <div class="insight-card hidden" 2075 data-type="article 2076 "> 2077 <a href="/posts/Trustless-is-A-Myth.html" class="card-link"> 2078 <div class="content-type"> 2079 ARTICLE 2080 2081 </div> 2082 <div class="card-image" style="background-image: url('/static/trustless.jpg')"></div> 2083 <div class="card-content"> 2084 <h2>The Myth of Trustlessness</h2> 2085 <p>The word âtrustlessâ implies that trust has been removed from the system altogether. But in reality, systems like Bitcoin require plenty of trust, it's just less obvious.</p> 2086 <div class="card-action"> 2087 2088 <button class="action-btn">READ MORE â</button> 2089 2090 </div> 2091 </div> 2092 </a> 2093 </div> 2094 2095 <div class="insight-card hidden" 2096 data-type="article 2097 "> 2098 <a href="/posts/full-stack-developer-checklist.html" class="card-link"> 2099 <div class="content-type"> 2100 ARTICLE 2101 2102 </div> 2103 <div class="card-image" style="background-image: url('/static/full-stack.jpg')"></div> 2104 <div class="card-content"> 2105 <h2>The Full-Stack Developer Checklist</h2> 2106 <p>A checklist of things for full-stack developers to strive to learn, spanning everything front frontend, to backend, to native development and devops.</p> 2107 <div class="card-action"> 2108 2109 <button class="action-btn">READ MORE â</button> 2110 2111 </div> 2112 </div> 2113 </a> 2114 </div> 2115 2116 <div class="insight-card hidden" 2117 data-type="article 2118 "> 2119 <a href="/posts/Using-Redux-As-A-Database.html" class="card-link"> 2120 <div class="content-type"> 2121 ARTICLE 2122 2123 </div> 2124 <div class="card-image" style="background-image: url('/static/redux.jpg')"></div> 2125 <div class="card-content"> 2126 <h2>The Redux Store as the Frontend's Database</h2> 2127 <p>Storing data in a normalized form allows us to calculate fast indexes for lookups.</p> 2128 <div class="card-action"> 2129 2130 <button class="action-btn">READ MORE â</button> 2131 2132 </div> 2133 </div> 2134 </a> 2135 </div> 2136 2137 <div class="insight-card hidden" 2138 data-type="article 2139 "> 2140 <a href="/posts/Segwit-and-the-Lightning-Network.html" class="card-link"> 2141 <div class="content-type"> 2142 ARTICLE 2143 2144 </div> 2145 <div class="card-image" style="background-image: url('/static/segwit.jpg')"></div> 2146 <div class="card-content"> 2147 <h2>An Explanation of Segwit and the Lighning Network</h2> 2148 <p>Segwit increases total number of bytes for each transaction (very slightly), but changes the way that block size is calculated so that the signatures don't count as much against the limit.</p> 2149 <div class="card-action"> 2150 2151 <button class="action-btn">READ MORE â</button> 2152 2153 </div> 2154 </div> 2155 </a> 2156 </div> 2157 2158 <div class="insight-card hidden" 2159 data-type="article 2160 "> 2161 <a href="/posts/Reconciling-Templates-With-Components.html" class="card-link"> 2162 <div class="content-type"> 2163 ARTICLE 2164 2165 </div> 2166 <div class="card-image" style="background-image: url('/static/reconciling.jpg')"></div> 2167 <div class="card-content"> 2168 <h2>Reconciling Templates and JS Components</h2> 2169 <p>The fundamental issue is that Django wants you to build up your pages using template fragments, and React wants to pull you into its world with JS components as the main building blocks.<
2169/p> 2170 <div class="card-action"> 2171 2172 <button class="action-btn">READ MORE â</button> 2173 2174 </div> 2175 </div> 2176 </a> 2177 </div> 2178 2179 <div class="insight-card hidden" 2180 data-type="article 2181 "> 2182 <a href="/posts/principles-handbook.html" class="card-link"> 2183 <div class="content-type"> 2184 ARTICLE 2185 2186 </div> 2187 <div class="card-image" style="background-image: url('/static/full-stack.jpg')"></div> 2188 <div class="card-content"> 2189 <h2>Monadical Principles Handbook</h2> 2190 <p>Our goal with this document is to share some of our knowledge and expertise around the process of working together as a team, in order to achieve a more efficient, happy and healthy working environment.</p> 2191 <div class="card-action"> 2192 2193 <button class="action-btn">READ MORE â</button> 2194 2195 </div> 2196 </div> 2197 </a> 2198 </div> 2199 2200 <div class="insight-card hidden" 2201 data-type="article 2202 "> 2203 <a href="/posts/Django-Concurrent-Write-Safety.html" class="card-link"> 2204 <div class="content-type"> 2205 ARTICLE 2206 2207 </div> 2208 <div class="card-image" style="background-image: url('/static/concurrent.jpg')"></div> 2209 <div class="card-content"> 2210 <h2>Two Approaches to Concurrent Write-Safety in Django</h2> 2211 <p>When dealing with Django models accessed by multiple people, you want a way to make sure two requests don't perform writes at the same time.</p> 2212 <div class="card-action"> 2213 2214 <button class="action-btn">READ MORE â</button> 2215 2216 </div> 2217 </div> 2218 </a> 2219 </div> 2220 2221 <div class="insight-card hidden" 2222 data-type="article 2223 "> 2224 <a href="/posts/map-of-cs-subfields.html" class="card-link"> 2225 <div class="content-type"> 2226 ARTICLE 2227 2228 </div> 2229 <div class="card-image" style="background-image: url('/static/cs-map.jpg')"></div> 2230 <div class="card-content"> 2231 <h2>A Map of Computer Science Subfields</h2> 2232 <p>A map of all the subfields encompassed by computer science, with job titles commonly used to hire people in those areas.</p> 2233 <div class="card-action"> 2234 2235 <button class="action-btn">READ MORE â</button> 2236 2237 </div> 2238 </div> 2239 </a> 2240 </div> 2241 2242 <div class="insight-card hidden" 2243 data-type="article 2244 "> 2245 <a href="/posts/Sharing-State-Between-Redux-Reducers.html" class="card-link"> 2246 <div class="content-type"> 2247 ARTICLE 2248 2249 </div> 2250 <div class="card-image" style="background-image: url('/static/reduxsharing.jpg')"></div> 2251 <div class="card-content"> 2252 <h2>Redux State-Sharing Approaches</h2> 2253 <p>When writing an app using Redux and React, you may run into the common problem of having to share state between multiple components in your app.</p> 2254 <div class="card-action"> 2255 2256 <button class="action-btn">READ MORE â</button> 2257 2258 </div> 2259 </div> 2260 </a> 2261 </div> 2262 2263 <div class="insight-card hidden" 2264 data-type="article 2265 "> 2266 <a href="/posts/Downswings-and-the-Information-Game.html" class="card-link"> 2267 <div class="content-type"> 2268 ARTICLE 2269 2270 </div> 2271 <div class="card-image" style="background-image: url('/static/downswings.jpg')"></div> 2272 <div class="card-content"> 2273 <h2>Downswings and the Information Game</h2> 2274 <p>I often hear players say, âI hate that site. Itâs completely rigged. I can never win there.â Perhaps those players simply ran bad at first on that site...</p> 2275 <div class="card-action"> 2276 2277 <button class="action-btn">READ MORE â</button> 2278 2279 </div> 2280 </div> 2281 </a> 2282 </div> 2283 2284 </div> 2285 2286 <!-- Load More Section --> 2287 2288 <div class="load-more-container text-center"> 2289 <button id="load-more-btn" class="load-more-btn" 2290 data-total-posts="99" 2291 data-current-page="1" 2292 data-posts-per-page="20"> 2293 LOAD MORE 2294 </button> 2295 </div> 2296 2297 2298 <!-- Final CTA --> 2299<div class="row final-cta"> 2300 <div class="col-12 text-center"> 2301 <h2>Let's <span class="highlight">transform</span> your organization.</h2> 2302 <a href="/contact-us.html" class="btn btn-primary cta-button">BOOK A FREE AI STRATEGY CALL</a> 2303 </div> 2304</div> 2305 </div> 2306</div> 2307 2308 </article> 2309 2310 2311 2312 <footer> 2313 2314 2315 <div class="container footer"> 2316 2317 <div class="row"> 2318 <div class="col-12 col-md-4"> 2319 <ul> 2320 <li><b title="Montréal, Canada">Montréal</b></li> 2321 <li><b title="New York, USA">New York</b></li> 2322 <li><b title="San Francisco, USA">San Francisco</b></li> 2323 <li><b title="Vancouver, Canada">Vancouver</b></li> 2324 <li><b title="MedellÃn, Colombia">MedellÃn</b></li> 2325 </ul> 2326 </div> 2327 <div class="col-12 col-md-3"> 2328 <ul> 2329 <li> 2330 <b>Monadical</b> 2331 </li> 2332 <li><a href="/blog.html">Blog</a></li> 2333 <li><a href="/ai-services.html">Services</a></li> 2334 <li><a href="/projects.html">Projects</a></li> 2335 <li><a href="/privacy.html">Privacy Policy</a></li> 2336 </ul> 2337 </div> 2338 <div class="col-12 col-md-3"> 2339 <ul> 2340 <li> 2341 <b>About Us</b> 2342 </li> 2343 <li><a href="/about.html">About</a></li> 2344 <li><a href="/team.html">Team</a></li> 2345 <li><a href="/principles.html">Principles</a></li> 2346 </ul> 2347 </div> 2348 <div class="col-12 col-md-2"> 2349 <ul> 2350 <li> 2351 <b>Contact Us</b> 2352 </li> 2353 <li><a href="https://cal.com/monadical/widget">Get a Quote</a></li> 2354 <li><a href="https://careers.monadical.com/">Careers</a></li> 2355 <li><a href="/contact-us.html">Contact us</a></li> 2356 </ul> 2357 </div> 2358 </div>
2359 <div class="row social"> 2360 <div class="col-12"> 2361 <ul> 2362 <li> 2363 <a href="https://twitter.com/MonadicalHQ" title="Monadical Twitter" target="_blank" 2364 rel="noopener"> 2365 <i class="fa fa-twitter"></i> 2366 </a> 2367 </li> 2368 <li> 2369 <a href="https://facebook.com/monadical" title="Monadical Facebook" target="_blank" 2370 rel="noopener"> 2371 <i class="fa fa-facebook"></i> 2372 </a> 2373 </li> 2374 <li> 2375 <a href="https://linkedin.com/company/monadical" title="Monadical LinkedIn" target="_blank" 2376 rel="noopener"> 2377 <i class="fa fa-linkedin"></i> 2378 </a> 2379 </li> 2380 <li> 2381 <a href="https://github.com/Monadical-SAS" title="Monadical Github" target="_blank" 2382 rel="noopener"> 2383 <i class="fa fa-github"></i> 2384 </a> 2385 </li> 2386 </ul> 2387 </div> 2388 </div> 2389 2390 </div> 2391 2392 2393 </footer> 2394 2395 2396
2396<script type="text/javascript"> 2397 // hide all the tags containing fake contact info that are there to throw off scrapers 2398 // most scrapers dont run JS, so this fairly effectively masks our real info from bots 2399 for (const elem of document.querySelectorAll('.please-scrape-this-fake-info')) { 2400 elem.style.display = 'none' 2401 } 2402 </script>
2402 2403 2404
2404<script src="/static/squares.js"></script>
2404 2405 2406 2407 2408 2409 2410 <!-- Smooth Scroll to Anchor Links Animation --> 2411
2411<script> 2412 function getUnicodeHash(reference) { 2413 return "#\\" + reference.codePointAt(1).toString(16) + " " + reference.slice(2) 2414 } 2415 function smoothScroll(e) { 2416 const hash = decodeURIComponent(this.hash) 2417 e.preventDefault() 2418 e.stopPropagation() 2419 2420 console.log('Scrolling to', this.getAttribute('href')) 2421 let reference = this.getAttribute('href') 2422 if (reference.match(/^#[0-9]+/)) { 2423 reference = getUnicodeHash(reference) 2424 } 2425 document.querySelector(reference).scrollIntoView({ 2426 behavior: 'smooth' 2427 }); 2428 setTimeout(() => { 2429 window.location.hash = hash 2430 }, 500/*arbitrary value, not standartized*/); 2431 } 2432 document.addEventListener('DOMContentLoaded', () => { 2433 document.querySelectorAll('a[smoothhashscroll]').forEach(elem => { 2434 /* 2435 this code drops all the event listeners that were attached so far; 2436 we need to do it here because the event listeners themselves are not under control of this repo 2437 this content together with js files (that are executed) is presumably downloaded from hedgedoc 2438 this is a very hacky hack, we shall negate it "as soon as we can" 2439 */ 2440 elem.parentNode.outerHTML = elem.parentNode.outerHTML 2441 }) 2442 document.querySelectorAll('a[href^="#"], a[smoothhashscroll]').forEach(anchor => { 2443 anchor.addEventListener('click', smoothScroll); 2444 }); 2445 }) 2446 </script>
2446 2447 2448 <!-- Matomo --> 2449
2449<script type="text/javascript"> 2450 var _paq = window._paq || []; 2451 /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ 2452 _paq.push(["setCookieDomain", "*.monadical.com"]); 2453 _paq.push(['trackPageView']); 2454 _paq.push(['enableLinkTracking']); 2455 // accurately measure the time spent in the visit 2456 _paq.push(['enableHeartBeatTimer']); 2457 (function () { 2458 var u = "//analytics.zervice.io/"; 2459 _paq.push(['setTrackerUrl', u + 'matomo.php']); 2460 _paq.push(['setSiteId', '12']); 2461 var d = document, 2462 g = d.createElement('script'), 2463 s = d.getElementsByTagName('script')[0]; 2464 g.type = 'text/javascript'; 2465 g.async = true; 2466 g.defer = true; 2467 g.src = u + 'matomo.js'; 2468 s.parentNode.insertBefore(g, s); 2469 })(); 2470 </script>
2470 2471 <!-- End Matomo Code --> 2472 2473 <!-- Highlight Code --> 2474
2474<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.4.0/highlight.min.js"></script>
2474 2475
2475<script>hljs.highlightAll();</script>
2475 2476 <!-- End Highlight Code --> 2477</body> 2478 2479</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.