[{"data":1,"prerenderedAt":1171},["ShallowReactive",2],{"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fmenu\u002Fprimary-navigation?lang=en":3,"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fmenu\u002Ffooter-navigation?lang=en":274,"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fcbtw\u002Fv1\u002Fregions-dropdown?lang=en":418,"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fmenu\u002Flegal-navigation?lang=en":428,"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fcbtw\u002Fv1\u002Fsocial-links?lang=en":494,"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts?slug=from-novice-to-expert-building-robust-linux-character-device-drivers&_embed&lang=en":514,"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fcbtw\u002Fv1\u002Finsights-posts\u002F?post_id=3017&region=global":1136},[4,89,168,177,187,236,264],{"ID":5,"post_author":6,"post_date":7,"post_date_gmt":7,"post_content":8,"post_title":9,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":12,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":13,"guid":14,"menu_order":15,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":5,"menu_item_parent":17,"object_id":19,"object":20,"type":21,"type_label":22,"url":23,"title":9,"target":8,"attr_title":8,"description":8,"classes":24,"xfn":8,"layout_type":12,"children":25},13545,"32","2026-03-23 03:09:43","","Services","publish","closed","services",0,"https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F13545?p=13545&#038;preview=true&#038;post_type=nav_menu_item",1,"nav_menu_item","0","raw","12830","page","post_type","Page","https:\u002F\u002Fstaging.cbtw.tech\u002Fservice-overview\u002F",[8],[26,36,49,60,70,80],{"ID":27,"post_author":6,"post_date":7,"post_date_gmt":28,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":30,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":13,"guid":31,"menu_order":32,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":27,"menu_item_parent":33,"object_id":19,"object":20,"type":21,"type_label":22,"url":23,"title":34,"target":8,"attr_title":8,"description":8,"classes":35,"xfn":8,"layout_type":12},13542,"2026-03-23 02:25:15"," ","13542","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F13542?p=13542&#038;preview=true&#038;post_type=nav_menu_item",2,"13545","Services Overview",[8],{"ID":37,"post_author":38,"post_date":7,"post_date_gmt":39,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":40,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":41,"guid":42,"menu_order":43,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":37,"menu_item_parent":33,"object_id":44,"object":20,"type":21,"type_label":22,"url":45,"title":46,"target":8,"attr_title":8,"description":8,"classes":47,"xfn":8,"layout_type":48},8444,"26","2025-07-02 17:13:28","8444",12830,"https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002F8444",3,"7212","https:\u002F\u002Fstaging.cbtw.tech\u002Fservice-overview\u002Fsoftware-engineering\u002F","Software Engineering",[8],"default",{"ID":50,"post_author":51,"post_date":7,"post_date_gmt":52,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":53,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":13,"guid":54,"menu_order":55,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":50,"menu_item_parent":33,"object_id":56,"object":20,"type":21,"type_label":22,"url":57,"title":58,"target":8,"attr_title":8,"description":8,"classes":59,"xfn":8,"layout_type":48},13390,"22","2026-03-20 09:19:01","13390","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F13390?p=13390&#038;preview=true&#038;post_type=nav_menu_item",4,"13023","https:\u002F\u002Fstaging.cbtw.tech\u002Fservice-overview\u002Fai-data-platforms\u002F","AI &amp; Data Platforms",[8],{"ID":61,"post_author":51,"post_date":7,"post_date_gmt":62,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":63,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":13,"guid":64,"menu_order":65,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":61,"menu_item_parent":33,"object_id":66,"object":20,"type":21,"type_label":22,"url":67,"title":68,"target":8,"attr_title":8,"description":8,"classes":69,"xfn":8,"layout_type":12},8510,"2025-07-03 07:14:41","8510","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8510?p=8510&#038;preview=true&#038;post_type=nav_menu_item",5,"7500","https:\u002F\u002Fstaging.cbtw.tech\u002Fservice-overview\u002Fcloud-and-enterprise-platforms\u002F","Cloud &amp; Enterprise Platforms",[8],{"ID":71,"post_author":51,"post_date":7,"post_date_gmt":72,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":73,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":13,"guid":74,"menu_order":75,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":71,"menu_item_parent":33,"object_id":76,"object":20,"type":21,"type_label":22,"url":77,"title":78,"target":8,"attr_title":8,"description":8,"classes":79,"xfn":8,"layout_type":48},13389,"2026-03-20 09:19:02","13389","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F13389?p=13389&#038;preview=true&#038;post_type=nav_menu_item",6,"13141","https:\u002F\u002Fstaging.cbtw.tech\u002Fservice-overview\u002Fcybersecurity\u002F","Cybersecurity",[8],{"ID":81,"post_author":38,"post_date":7,"post_date_gmt":39,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":82,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":13,"guid":83,"menu_order":84,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":81,"menu_item_parent":33,"object_id":85,"object":20,"type":21,"type_label":22,"url":86,"title":87,"target":8,"attr_title":8,"description":8,"classes":88,"xfn":8,"layout_type":48},8445,"8445","https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002F8445",7,"7149","https:\u002F\u002Fstaging.cbtw.tech\u002Fservice-overview\u002Fstrategy-product-transformation\u002F","Strategy, Product &amp; Transformation",[8],{"ID":90,"post_author":51,"post_date":7,"post_date_gmt":91,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":92,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":13,"guid":93,"menu_order":94,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":90,"menu_item_parent":17,"object_id":95,"object":20,"type":21,"type_label":22,"url":96,"title":97,"target":8,"attr_title":8,"description":8,"classes":98,"xfn":8,"layout_type":99,"children":100},8267,"2025-07-01 22:49:06","8267","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8267?p=8267&#038;preview=true&#038;post_type=nav_menu_item",8,"6941","https:\u002F\u002Fstaging.cbtw.tech\u002Fsectors\u002F","Sectors",[8],"sectors",[101,109,120,129,139,148,158],{"ID":102,"post_author":51,"post_date":7,"post_date_gmt":103,"post_content":8,"post_title":104,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":105,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":13,"guid":106,"menu_order":107,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":102,"menu_item_parent":92,"object_id":95,"object":20,"type":21,"type_label":22,"url":96,"title":104,"target":8,"attr_title":8,"description":8,"classes":108,"xfn":8,"layout_type":99},9578,"2025-07-24 08:22:02","Sectors Overview","sectors-overview","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F9578?p=9578&#038;preview=true&#038;post_type=nav_menu_item",9,[8],{"ID":110,"post_author":51,"post_date":7,"post_date_gmt":111,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":112,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":113,"guid":114,"menu_order":115,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":110,"menu_item_parent":92,"object_id":116,"object":20,"type":21,"type_label":22,"url":117,"title":118,"target":8,"attr_title":8,"description":8,"classes":119,"xfn":8,"layout_type":48},8598,"2025-07-03 10:09:48","8598",6941,"https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8598?p=8598&#038;preview=true&#038;post_type=nav_menu_item",10,"8592","https:\u002F\u002Fstaging.cbtw.tech\u002Fsectors\u002Fbanking-and-finance\u002F","Banking &#038; Finance",[8],{"ID":121,"post_author":51,"post_date":7,"post_date_gmt":91,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":122,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":113,"guid":123,"menu_order":124,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":121,"menu_item_parent":92,"object_id":125,"object":20,"type":21,"type_label":22,"url":126,"title":127,"target":8,"attr_title":8,"description":8,"classes":128,"xfn":8,"layout_type":48},8268,"8268","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8268?p=8268&#038;preview=true&#038;post_type=nav_menu_item",11,"8111","https:\u002F\u002Fstaging.cbtw.tech\u002Fsectors\u002Fenergy-utilities\u002F","Energy &amp; Utilities",[8],{"ID":130,"post_author":51,"post_date":7,"post_date_gmt":131,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":132,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":113,"guid":133,"menu_order":134,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":130,"menu_item_parent":92,"object_id":135,"object":20,"type":21,"type_label":22,"url":136,"title":137,"target":8,"attr_title":8,"description":8,"classes":138,"xfn":8,"layout_type":48},8642,"2025-07-03 10:58:18","8642","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8642?p=8642&#038;preview=true&#038;post_type=nav_menu_item",12,"8473","https:\u002F\u002Fstaging.cbtw.tech\u002Fsectors\u002Fluxury\u002F","Luxury",[8],{"ID":140,"post_author":51,"post_date":7,"post_date_gmt":62,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":141,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":113,"guid":142,"menu_order":143,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":140,"menu_item_parent":92,"object_id":144,"object":20,"type":21,"type_label":22,"url":145,"title":146,"target":8,"attr_title":8,"description":8,"classes":147,"xfn":8,"layout_type":48},8512,"8512","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8512?p=8512&#038;preview=true&#038;post_type=nav_menu_item",13,"8191","https:\u002F\u002Fstaging.cbtw.tech\u002Fsectors\u002Fmanufacturing-industry\u002F","Manufacturing &amp; Industry",[8],{"ID":149,"post_author":51,"post_date":7,"post_date_gmt":150,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":151,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":113,"guid":152,"menu_order":153,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":149,"menu_item_parent":92,"object_id":154,"object":20,"type":21,"type_label":22,"url":155,"title":156,"target":8,"attr_title":8,"description":8,"classes":157,"xfn":8,"layout_type":48},8953,"2025-07-09 11:41:56","8953","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8953?p=8953&#038;preview=true&#038;post_type=nav_menu_item",14,"8746","https:\u002F\u002Fstaging.cbtw.tech\u002Fsectors\u002Ftelecommunications-media\u002F","Telecommunications &amp; Media",[8],{"ID":159,"post_author":51,"post_date":7,"post_date_gmt":160,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":161,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":113,"guid":162,"menu_order":163,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":159,"menu_item_parent":92,"object_id":164,"object":20,"type":21,"type_label":22,"url":165,"title":166,"target":8,"attr_title":8,"description":8,"classes":167,"xfn":8,"layout_type":48},13463,"2026-03-20 14:08:59","13463","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F13463?p=13463&#038;preview=true&#038;post_type=nav_menu_item",15,"13333","https:\u002F\u002Fstaging.cbtw.tech\u002Fsectors\u002Fretail-and-e-commerce\u002F","Retail &amp; E-commerce",[8],{"ID":169,"post_author":51,"post_date":7,"post_date_gmt":62,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":170,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":13,"guid":171,"menu_order":172,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":169,"menu_item_parent":17,"object_id":173,"object":20,"type":21,"type_label":22,"url":174,"title":175,"target":8,"attr_title":8,"description":8,"classes":176,"xfn":8,"layout_type":48},8511,"8511","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8511?p=8511&#038;preview=true&#038;post_type=nav_menu_item",16,"8384","https:\u002F\u002Fstaging.cbtw.tech\u002Fpartners\u002F","Partners",[8],{"ID":178,"post_author":51,"post_date":7,"post_date_gmt":179,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":180,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":13,"guid":181,"menu_order":182,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":178,"menu_item_parent":17,"object_id":183,"object":20,"type":21,"type_label":22,"url":184,"title":185,"target":8,"attr_title":8,"description":8,"classes":186,"xfn":8,"layout_type":48},8269,"2025-07-01 22:50:12","8269","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8269?p=8269&#038;preview=true&#038;post_type=nav_menu_item",17,"7435","https:\u002F\u002Fstaging.cbtw.tech\u002Fabout\u002F","About",[8],{"ID":188,"post_author":38,"post_date":7,"post_date_gmt":189,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":190,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":13,"guid":191,"menu_order":192,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":188,"menu_item_parent":17,"object_id":193,"object":20,"type":21,"type_label":22,"url":194,"title":195,"target":8,"attr_title":8,"description":8,"classes":196,"xfn":8,"layout_type":197,"children":198},6754,"2025-05-28 15:17:46","6754","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F6754?p=6754&#038;preview=true&#038;post_type=nav_menu_item",18,"74","https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002F","Insights",[8],"insights",[199,207,218,227],{"ID":200,"post_author":51,"post_date":7,"post_date_gmt":201,"post_content":8,"post_title":202,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":203,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":13,"guid":204,"menu_order":205,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":200,"menu_item_parent":190,"object_id":193,"object":20,"type":21,"type_label":22,"url":194,"title":202,"target":8,"attr_title":8,"description":8,"classes":206,"xfn":8,"layout_type":197},9662,"2025-07-28 13:56:12","Insights Overview","insights-overview","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F9662?p=9662&#038;preview=true&#038;post_type=nav_menu_item",19,[8],{"ID":208,"post_author":51,"post_date":7,"post_date_gmt":209,"post_content":8,"post_title":210,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":197,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":13,"guid":211,"menu_order":212,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":208,"menu_item_parent":190,"object_id":213,"object":214,"type":214,"type_label":215,"title":210,"url":216,"target":8,"attr_title":8,"description":8,"classes":217,"xfn":8,"layout_type":48},8753,"2025-07-08 05:22:38","Expert Articles","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8753?p=8753&#038;preview=true&#038;post_type=nav_menu_item",20,"8753","custom","Custom Link","https:\u002F\u002Fstaging.cbtw.tech\u002Finsights?categories=insights",[8],{"ID":219,"post_author":51,"post_date":7,"post_date_gmt":209,"post_content":8,"post_title":220,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":221,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":13,"guid":222,"menu_order":223,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":219,"menu_item_parent":190,"object_id":224,"object":214,"type":214,"type_label":215,"title":220,"url":225,"target":8,"attr_title":8,"description":8,"classes":226,"xfn":8,"layout_type":48},8751,"Case Studies","case-studies","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8751?p=8751&#038;preview=true&#038;post_type=nav_menu_item",21,"8751","https:\u002F\u002Fstaging.cbtw.tech\u002Finsights?categories=case-studies",[8],{"ID":228,"post_author":51,"post_date":7,"post_date_gmt":209,"post_content":8,"post_title":229,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":230,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":13,"guid":231,"menu_order":232,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":228,"menu_item_parent":190,"object_id":233,"object":214,"type":214,"type_label":215,"title":229,"url":234,"target":8,"attr_title":8,"description":8,"classes":235,"xfn":8,"layout_type":48},8752,"Resources","resources","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8752?p=8752&#038;preview=true&#038;post_type=nav_menu_item",22,"8752","https:\u002F\u002Fstaging.cbtw.tech\u002Finsights?categories=resources",[8],{"ID":237,"post_author":51,"post_date":7,"post_date_gmt":179,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":238,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":13,"guid":239,"menu_order":240,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":237,"menu_item_parent":17,"object_id":241,"object":20,"type":21,"type_label":22,"url":242,"title":243,"target":8,"attr_title":8,"description":8,"classes":244,"xfn":8,"layout_type":48,"children":245},8270,"8270","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8270?p=8270&#038;preview=true&#038;post_type=nav_menu_item",23,"6937","https:\u002F\u002Fstaging.cbtw.tech\u002Fcareers\u002F","Careers",[8],[246,253],{"ID":247,"post_author":51,"post_date":7,"post_date_gmt":103,"post_content":8,"post_title":248,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":249,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":13,"guid":250,"menu_order":251,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":247,"menu_item_parent":238,"object_id":241,"object":20,"type":21,"type_label":22,"url":242,"title":248,"target":8,"attr_title":8,"description":8,"classes":252,"xfn":8,"layout_type":48},9579,"Culture","culture-2","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F9579?p=9579&#038;preview=true&#038;post_type=nav_menu_item",24,[8],{"ID":254,"post_author":51,"post_date":7,"post_date_gmt":255,"post_content":8,"post_title":256,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":257,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":13,"guid":258,"menu_order":259,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":254,"menu_item_parent":238,"object_id":260,"object":214,"type":214,"type_label":215,"title":256,"url":261,"target":262,"attr_title":8,"description":8,"classes":263,"xfn":8,"layout_type":48},8380,"2025-07-02 16:19:28","Open Positions","job-opportunities","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8380?p=8380&#038;preview=true&#038;post_type=nav_menu_item",25,"8380","https:\u002F\u002Fjobs-collaborationbetterstheworld.icims.com\u002Fjobs\u002Fsearch?hashed=-625911731","_blank",[8],{"ID":265,"post_author":38,"post_date":7,"post_date_gmt":189,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":266,"to_ping":8,"pinged":8,"post_modified":7,"post_modified_gmt":7,"post_content_filtered":8,"post_parent":13,"guid":267,"menu_order":268,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":265,"menu_item_parent":17,"object_id":269,"object":20,"type":21,"type_label":22,"url":270,"title":271,"target":8,"attr_title":8,"description":8,"classes":272,"xfn":8,"layout_type":273},6755,"6755","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F6755?p=6755&#038;preview=true&#038;post_type=nav_menu_item",26,"6718","https:\u002F\u002Fstaging.cbtw.tech\u002Fcontact\u002F","Contact",[8],"contact",[275,316,350,362,374,401],{"ID":276,"post_author":6,"post_date":277,"post_date_gmt":277,"post_content":8,"post_title":9,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":278,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":13,"guid":279,"menu_order":15,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":276,"menu_item_parent":17,"object_id":19,"object":20,"type":21,"type_label":22,"url":23,"title":9,"target":8,"attr_title":8,"description":8,"classes":280,"xfn":8,"layout_type":12,"children":281},13558,"2026-03-23 06:48:18","services-6","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F13558?p=13558&#038;preview=true&#038;post_type=nav_menu_item",[8],[282,288,294,300,305,310],{"ID":283,"post_author":6,"post_date":277,"post_date_gmt":277,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":284,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":13,"guid":285,"menu_order":32,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":283,"menu_item_parent":286,"object_id":19,"object":20,"type":21,"type_label":22,"url":23,"title":34,"target":8,"attr_title":8,"description":8,"classes":287,"xfn":8,"layout_type":12},13559,"13559","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F13559?p=13559&#038;preview=true&#038;post_type=nav_menu_item","13558",[8],{"ID":289,"post_author":51,"post_date":277,"post_date_gmt":290,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":291,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":41,"guid":292,"menu_order":43,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":289,"menu_item_parent":286,"object_id":44,"object":20,"type":21,"type_label":22,"url":45,"title":46,"target":8,"attr_title":8,"description":8,"classes":293,"xfn":8,"layout_type":48},8534,"2025-07-03 09:30:08","8534","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8534?p=8534&#038;preview=true&#038;post_type=nav_menu_item",[8],{"ID":295,"post_author":51,"post_date":277,"post_date_gmt":296,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":297,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":41,"guid":298,"menu_order":55,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":295,"menu_item_parent":286,"object_id":56,"object":20,"type":21,"type_label":22,"url":57,"title":58,"target":8,"attr_title":8,"description":8,"classes":299,"xfn":8,"layout_type":48},13388,"2026-03-20 09:17:28","13388","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F13388?p=13388&#038;preview=true&#038;post_type=nav_menu_item",[8],{"ID":301,"post_author":51,"post_date":277,"post_date_gmt":290,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":302,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":41,"guid":303,"menu_order":65,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":301,"menu_item_parent":286,"object_id":66,"object":20,"type":21,"type_label":22,"url":67,"title":68,"target":8,"attr_title":8,"description":8,"classes":304,"xfn":8,"layout_type":12},8531,"8531","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8531?p=8531&#038;preview=true&#038;post_type=nav_menu_item",[8],{"ID":306,"post_author":51,"post_date":277,"post_date_gmt":296,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":307,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":13,"guid":308,"menu_order":75,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":306,"menu_item_parent":286,"object_id":76,"object":20,"type":21,"type_label":22,"url":77,"title":78,"target":8,"attr_title":8,"description":8,"classes":309,"xfn":8,"layout_type":48},13387,"13387","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F13387?p=13387&#038;preview=true&#038;post_type=nav_menu_item",[8],{"ID":311,"post_author":51,"post_date":277,"post_date_gmt":312,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":313,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":41,"guid":314,"menu_order":84,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":311,"menu_item_parent":286,"object_id":85,"object":20,"type":21,"type_label":22,"url":86,"title":87,"target":8,"attr_title":8,"description":8,"classes":315,"xfn":8,"layout_type":48},8535,"2025-07-03 09:30:09","8535","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8535?p=8535&#038;preview=true&#038;post_type=nav_menu_item",[8],{"ID":317,"post_author":51,"post_date":277,"post_date_gmt":312,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":318,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":13,"guid":319,"menu_order":94,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":317,"menu_item_parent":17,"object_id":95,"object":20,"type":21,"type_label":22,"url":96,"title":97,"target":8,"attr_title":8,"description":8,"classes":320,"xfn":8,"layout_type":99,"children":321},8538,"8538","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8538?p=8538&#038;preview=true&#038;post_type=nav_menu_item",[8],[322,328,333,339,344],{"ID":323,"post_author":51,"post_date":277,"post_date_gmt":324,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":325,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":113,"guid":326,"menu_order":107,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":323,"menu_item_parent":318,"object_id":116,"object":20,"type":21,"type_label":22,"url":117,"title":118,"target":8,"attr_title":8,"description":8,"classes":327,"xfn":8,"layout_type":48},8599,"2025-07-03 10:10:18","8599","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8599?p=8599&#038;preview=true&#038;post_type=nav_menu_item",[8],{"ID":329,"post_author":51,"post_date":277,"post_date_gmt":312,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":330,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":113,"guid":331,"menu_order":115,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":329,"menu_item_parent":318,"object_id":125,"object":20,"type":21,"type_label":22,"url":126,"title":127,"target":8,"attr_title":8,"description":8,"classes":332,"xfn":8,"layout_type":48},8540,"8540","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8540?p=8540&#038;preview=true&#038;post_type=nav_menu_item",[8],{"ID":334,"post_author":51,"post_date":277,"post_date_gmt":335,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":336,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":113,"guid":337,"menu_order":124,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":334,"menu_item_parent":318,"object_id":135,"object":20,"type":21,"type_label":22,"url":136,"title":137,"target":8,"attr_title":8,"description":8,"classes":338,"xfn":8,"layout_type":48},8641,"2025-07-03 10:57:54","8641","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8641?p=8641&#038;preview=true&#038;post_type=nav_menu_item",[8],{"ID":340,"post_author":51,"post_date":277,"post_date_gmt":312,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":341,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":113,"guid":342,"menu_order":134,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":340,"menu_item_parent":318,"object_id":144,"object":20,"type":21,"type_label":22,"url":145,"title":146,"target":8,"attr_title":8,"description":8,"classes":343,"xfn":8,"layout_type":48},8539,"8539","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8539?p=8539&#038;preview=true&#038;post_type=nav_menu_item",[8],{"ID":345,"post_author":51,"post_date":277,"post_date_gmt":346,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":347,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":113,"guid":348,"menu_order":143,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":345,"menu_item_parent":318,"object_id":154,"object":20,"type":21,"type_label":22,"url":155,"title":156,"target":8,"attr_title":8,"description":8,"classes":349,"xfn":8,"layout_type":48},8952,"2025-07-09 11:41:39","8952","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8952?p=8952&#038;preview=true&#038;post_type=nav_menu_item",[8],{"ID":351,"post_author":51,"post_date":277,"post_date_gmt":312,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":352,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":13,"guid":353,"menu_order":153,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":351,"menu_item_parent":17,"object_id":173,"object":20,"type":21,"type_label":22,"url":174,"title":175,"target":8,"attr_title":8,"description":8,"classes":354,"xfn":8,"layout_type":48,"children":355},8529,"8529","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8529?p=8529&#038;preview=true&#038;post_type=nav_menu_item",[8],[356],{"ID":357,"post_author":51,"post_date":277,"post_date_gmt":312,"post_content":8,"post_title":358,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":359,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":13,"guid":360,"menu_order":163,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":357,"menu_item_parent":352,"object_id":173,"object":20,"type":21,"type_label":22,"url":174,"title":358,"target":8,"attr_title":8,"description":8,"classes":361,"xfn":8,"layout_type":48},8542,"Ecosystem","ecosystem","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8542?p=8542&#038;preview=true&#038;post_type=nav_menu_item",[8],{"ID":363,"post_author":51,"post_date":277,"post_date_gmt":312,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":364,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":13,"guid":365,"menu_order":172,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":363,"menu_item_parent":17,"object_id":183,"object":20,"type":21,"type_label":22,"url":184,"title":185,"target":8,"attr_title":8,"description":8,"classes":366,"xfn":8,"layout_type":48,"children":367},8536,"8536","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8536?p=8536&#038;preview=true&#038;post_type=nav_menu_item",[8],[368],{"ID":369,"post_author":51,"post_date":277,"post_date_gmt":312,"post_content":8,"post_title":370,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":371,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":13,"guid":372,"menu_order":182,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":369,"menu_item_parent":364,"object_id":183,"object":20,"type":21,"type_label":22,"url":184,"title":370,"target":8,"attr_title":8,"description":8,"classes":373,"xfn":8,"layout_type":48},8544,"Company","company-2","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8544?p=8544&#038;preview=true&#038;post_type=nav_menu_item",[8],{"ID":375,"post_author":376,"post_date":277,"post_date_gmt":377,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":378,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":13,"guid":379,"menu_order":192,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":375,"menu_item_parent":17,"object_id":193,"object":20,"type":21,"type_label":22,"url":194,"title":195,"target":8,"attr_title":8,"description":8,"classes":380,"xfn":8,"layout_type":197,"children":381},6625,"31","2025-05-28 06:53:21","6625","https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002F6625",[8],[382,389,395],{"ID":383,"post_author":51,"post_date":277,"post_date_gmt":384,"post_content":8,"post_title":195,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":385,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":13,"guid":386,"menu_order":205,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":383,"menu_item_parent":378,"object_id":387,"object":214,"type":214,"type_label":215,"title":195,"url":216,"target":8,"attr_title":8,"description":8,"classes":388,"xfn":8,"layout_type":48},8754,"2025-07-08 05:23:38","insights-2","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8754?p=8754&#038;preview=true&#038;post_type=nav_menu_item","8754",[8],{"ID":390,"post_author":51,"post_date":277,"post_date_gmt":384,"post_content":8,"post_title":220,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":391,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":13,"guid":392,"menu_order":212,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":390,"menu_item_parent":378,"object_id":393,"object":214,"type":214,"type_label":215,"title":220,"url":225,"target":8,"attr_title":8,"description":8,"classes":394,"xfn":8,"layout_type":48},8756,"case-studies-2","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8756?p=8756&#038;preview=true&#038;post_type=nav_menu_item","8756",[8],{"ID":396,"post_author":51,"post_date":277,"post_date_gmt":384,"post_content":8,"post_title":229,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":397,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":13,"guid":398,"menu_order":223,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":396,"menu_item_parent":378,"object_id":399,"object":214,"type":214,"type_label":215,"title":229,"url":234,"target":8,"attr_title":8,"description":8,"classes":400,"xfn":8,"layout_type":48},8755,"resources-2","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8755?p=8755&#038;preview=true&#038;post_type=nav_menu_item","8755",[8],{"ID":402,"post_author":51,"post_date":277,"post_date_gmt":312,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":403,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":13,"guid":404,"menu_order":232,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":402,"menu_item_parent":17,"object_id":241,"object":20,"type":21,"type_label":22,"url":242,"title":243,"target":8,"attr_title":8,"description":8,"classes":405,"xfn":8,"layout_type":48,"children":406},8537,"8537","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8537?p=8537&#038;preview=true&#038;post_type=nav_menu_item",[8],[407,412],{"ID":408,"post_author":51,"post_date":277,"post_date_gmt":312,"post_content":8,"post_title":248,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":409,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":13,"guid":410,"menu_order":240,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":408,"menu_item_parent":403,"object_id":241,"object":20,"type":21,"type_label":22,"url":242,"title":248,"target":8,"attr_title":8,"description":8,"classes":411,"xfn":8,"layout_type":48},8547,"culture","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8547?p=8547&#038;preview=true&#038;post_type=nav_menu_item",[8],{"ID":413,"post_author":51,"post_date":277,"post_date_gmt":312,"post_content":8,"post_title":256,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":414,"to_ping":8,"pinged":8,"post_modified":277,"post_modified_gmt":277,"post_content_filtered":8,"post_parent":13,"guid":415,"menu_order":251,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":413,"menu_item_parent":403,"object_id":416,"object":214,"type":214,"type_label":215,"title":256,"url":261,"target":262,"attr_title":8,"description":8,"classes":417,"xfn":8,"layout_type":48},8549,"open-positions","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F8549?p=8549&#038;preview=true&#038;post_type=nav_menu_item","8549",[8],{"items":419,"count":55},[420,422,424,426],{"value":421,"label":421},"EMEA",{"value":423,"label":423},"APAC",{"value":425,"label":425},"Americas",{"value":427,"label":427},"Africa",[429,440,449,458,468,477,486],{"ID":430,"post_author":431,"post_date":432,"post_date_gmt":433,"post_content":8,"post_title":434,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":435,"to_ping":8,"pinged":8,"post_modified":432,"post_modified_gmt":432,"post_content_filtered":8,"post_parent":13,"guid":436,"menu_order":15,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":430,"menu_item_parent":17,"object_id":437,"object":214,"type":214,"type_label":215,"title":434,"url":438,"target":8,"attr_title":8,"description":8,"classes":439,"xfn":8,"layout_type":48},1375,"7","2025-05-13 06:56:54","2024-01-17 10:16:49","Cookie Settings","cookie-settings","https:\u002F\u002Fstaging-admin.cbtw.tech\u002F?p=1375","1375","?cookie-settings",[8],{"ID":441,"post_author":431,"post_date":432,"post_date_gmt":433,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":442,"to_ping":8,"pinged":8,"post_modified":432,"post_modified_gmt":432,"post_content_filtered":8,"post_parent":13,"guid":443,"menu_order":32,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":441,"menu_item_parent":17,"object_id":444,"object":20,"type":21,"type_label":22,"url":445,"title":446,"target":8,"attr_title":8,"description":8,"classes":447,"xfn":8,"layout_type":448},1370,"1370","https:\u002F\u002Fstaging-admin.cbtw.tech\u002F?p=1370","616","https:\u002F\u002Fstaging.cbtw.tech\u002Fterms-of-use\u002F","General terms of use",[8],"terms-of-use",{"ID":450,"post_author":431,"post_date":432,"post_date_gmt":433,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":451,"to_ping":8,"pinged":8,"post_modified":432,"post_modified_gmt":432,"post_content_filtered":8,"post_parent":13,"guid":452,"menu_order":43,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":450,"menu_item_parent":17,"object_id":453,"object":20,"type":21,"type_label":22,"url":454,"title":455,"target":8,"attr_title":8,"description":8,"classes":456,"xfn":8,"layout_type":457},1371,"1371","https:\u002F\u002Fstaging-admin.cbtw.tech\u002F?p=1371","687","https:\u002F\u002Fstaging.cbtw.tech\u002Fcookie-policy\u002F","Cookies Policy",[8],"cookie-policy",{"ID":459,"post_author":431,"post_date":460,"post_date_gmt":433,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":461,"to_ping":8,"pinged":8,"post_modified":460,"post_modified_gmt":460,"post_content_filtered":8,"post_parent":13,"guid":462,"menu_order":55,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":459,"menu_item_parent":17,"object_id":463,"object":20,"type":21,"type_label":22,"url":464,"title":465,"target":8,"attr_title":8,"description":8,"classes":466,"xfn":8,"layout_type":467},1372,"2025-05-13 06:56:55","1372","https:\u002F\u002Fstaging-admin.cbtw.tech\u002F?p=1372","255","https:\u002F\u002Fstaging.cbtw.tech\u002Fprivacy-policy\u002F","Privacy Policy",[8],"privacy-policy",{"ID":469,"post_author":431,"post_date":460,"post_date_gmt":433,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":470,"to_ping":8,"pinged":8,"post_modified":460,"post_modified_gmt":460,"post_content_filtered":8,"post_parent":13,"guid":471,"menu_order":65,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":469,"menu_item_parent":17,"object_id":472,"object":20,"type":21,"type_label":22,"url":473,"title":474,"target":8,"attr_title":8,"description":8,"classes":475,"xfn":8,"layout_type":476},1373,"1373","https:\u002F\u002Fstaging-admin.cbtw.tech\u002F?p=1373","403","https:\u002F\u002Fstaging.cbtw.tech\u002Fwhistleblowing-policy\u002F","Whistleblowing Policy",[8],"whistleblowing-policy",{"ID":478,"post_author":431,"post_date":460,"post_date_gmt":433,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":479,"to_ping":8,"pinged":8,"post_modified":460,"post_modified_gmt":460,"post_content_filtered":8,"post_parent":13,"guid":480,"menu_order":75,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":478,"menu_item_parent":17,"object_id":481,"object":20,"type":21,"type_label":22,"url":482,"title":483,"target":8,"attr_title":8,"description":8,"classes":484,"xfn":8,"layout_type":485},1374,"1374","https:\u002F\u002Fstaging-admin.cbtw.tech\u002F?p=1374","257","https:\u002F\u002Fstaging.cbtw.tech\u002Flodge-a-complaint\u002F","Lodge a complaint",[8],"lodge-a-complaint",{"ID":487,"post_author":6,"post_date":460,"post_date_gmt":460,"post_content":29,"post_title":8,"post_excerpt":8,"post_status":10,"comment_status":11,"ping_status":11,"post_password":8,"post_name":488,"to_ping":8,"pinged":8,"post_modified":460,"post_modified_gmt":460,"post_content_filtered":8,"post_parent":13,"guid":489,"menu_order":84,"post_type":16,"post_mime_type":8,"comment_count":17,"filter":18,"db_id":487,"menu_item_parent":17,"object_id":490,"object":20,"type":21,"type_label":22,"url":491,"title":492,"target":8,"attr_title":8,"description":8,"classes":493,"xfn":8,"layout_type":48},6322,"6322","https:\u002F\u002Fstaging.cbtw.tech\u002Fpreview\u002Fpost\u002F6322?p=6322&#038;preview=true&#038;post_type=nav_menu_item","2152","https:\u002F\u002Fstaging.cbtw.tech\u002Findex-egalite-femmes-hommes-de-72-100\u002F","Index égalité femmes-hommes de 72\u002F100",[8],[495,510,512],{"region_name":496,"social_list":497},"Global",[498,502,506],{"title":499,"link":500,"icon":501},"Instagram","https:\u002F\u002Fwww.instagram.com\u002Fcollaborationbetterstheworld\u002F","https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FinsAsset-1@2x.png",{"title":503,"link":504,"icon":505},"LinkedIn","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fcollaboration-betters-the-world","https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FlkAsset-2@2x.png",{"title":507,"link":508,"icon":509},"Youtube","https:\u002F\u002Fwww.youtube.com\u002F@collaborationbetterstheworld","https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FyoutubeAsset-3@2x.png",{"region_name":8,"social_list":511},[],{"region_name":8,"social_list":513},[],[515],{"id":516,"date":517,"date_gmt":517,"guid":518,"modified":520,"modified_gmt":520,"slug":521,"status":10,"type":522,"link":523,"title":524,"content":526,"excerpt":529,"author":232,"featured_media":531,"comment_status":532,"ping_status":532,"sticky":528,"template":8,"format":533,"meta":534,"categories":535,"tags":537,"cbtw_industries":541,"cbtw_services":543,"class_list":545,"acf":558,"yoast_head":577,"yoast_head_json":578,"lang":681,"translations":682,"cbtw_post_categories":683,"header":685,"layout_builder":686,"featured_image":694,"industries":699,"services":705,"cbtw_post_author":598,"breadcrumb":710,"primary_category_name":210,"post_region":562,"featured_image_url":596,"primary_industry_name":701,"primary_service_name":707,"pll_sync_post":716,"_links":717,"_embedded":764},3017,"2024-05-16T16:27:12",{"rendered":519},"https:\u002F\u002Fcollaborationbetterstheworld.com\u002F?p=3017","2025-07-24T07:34:49","from-novice-to-expert-building-robust-linux-character-device-drivers","post","https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers",{"rendered":525},"From Novice to Expert: Building Robust Linux Character Device Drivers",{"rendered":527,"protected":528},"\u003Ch2 class=\"wp-block-heading\" id=\"h-mastering-linux-kernel-driver-development\">Mastering Linux Kernel Driver Development\u003C\u002Fh2>\n\n\n\u003Cdiv class=\"wp-block-group\">\u003Cdiv class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n\u003Cp>Table of contents\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\n\n\n\u003Col class=\"has-small-font-size wp-block-list\">\n\u003Cli class=\"has-small-font-size\"> \u003Ca href=\"#Introduction\">INTRODUCTION\u003C\u002Fa>\u003C\u002Fli>\n\n\n\n\u003Cli class=\"has-small-font-size\">\u003Ca href=\"#character-device-driver-basics\">CHARACTER DEVICE DRIVER BASICS\u003C\u002Fa>\n\u003Cul class=\"wp-block-list\">\n\u003Cli>  What Are Character Device Drivers\u003C\u002Fli>\n\n\n\n\u003Cli>The Role of Char Drivers\u003C\u002Fli>\n\n\n\n\u003Cli>Major and Minor Device Numbers\u003C\u002Fli>\n\n\n\n\u003Cli>File Operations\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\n\n\n\u003Cli class=\"has-small-font-size\">\u003Ca href=\"#example-of-a-character-device-driver\">EXAMPLE OF A CHARACTER DEVICE DRIVER\u003C\u002Fa>\n\u003Cul class=\"wp-block-list\">\n\u003Cli>Set Up Your Development Environment\u003C\u002Fli>\n\n\n\n\u003Cli>Header Files and Macros\u003C\u002Fli>\n\n\n\n\u003Cli>Global Variables\u003C\u002Fli>\n\n\n\n\u003Cli>Function Prototypes\u003C\u002Fli>\n\n\n\n\u003Cli>File Operations Structure\u003C\u002Fli>\n\n\n\n\u003Cli>Open Function\u003C\u002Fli>\n\n\n\n\u003Cli>Release Function\u003C\u002Fli>\n\n\n\n\u003Cli>Read Function\u003C\u002Fli>\n\n\n\n\u003Cli>Write Function\u003C\u002Fli>\n\n\n\n\u003Cli>Initialization Function\u003C\u002Fli>\n\n\n\n\u003Cli>Exit Function\u003C\u002Fli>\n\n\n\n\u003Cli>Initialization and Exit Macros\u003C\u002Fli>\n\n\n\n\u003Cli>Linux Character Device Driver – Code Implementation.\u003C\u002Fli>\n\n\n\n\u003Cli>Makefile for Building the Linux Kernel Module.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\n\n\n\u003Cli class=\"has-small-font-size\">\u003Ca href=\"#building-and-inserting-a-linux-character-device-driver\">BUILDING AND INSERTING A LINUX CHARACTER DEVICE DRIVER\u003C\u002Fa>\u003C\u002Fli>\n\n\n\n\u003Cli class=\"has-small-font-size\">\u003Ca href=\"#h-5-testing-the-user-space-application-for-the-character-driver\">TESTING THE USER-SPACE APPLICATION FOR THE CHARACTER DRIVER\u003C\u002Fa>\u003C\u002Fli>\n\n\n\n\u003Cli class=\"has-small-font-size\">\u003Ca href=\"#h-6-conclusion\">CONCLUSION\u003C\u002Fa>\u003C\u002Fli>\n\n\n\n\u003Cli class=\"has-small-font-size\">\u003Ca href=\"#h-7-references\">REFERENCES\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Fol>\n\n\n\u003Ch2 class=\"wp-block-heading\" id=\"Introduction\">1.    INTRODUCTION\u003C\u002Fh2>\n\n\n\u003Cp>How to build Linux Character Device Drivers\u003C\u002Fp>\n\n\n\n\u003Cp>This document serves as a guide for developers seeking to write Linux Device Drivers, which are crucial software components designed for specific hardware. \u003C\u002Fp>\n\n\n\n\u003Cp>Kernel drivers are essential software components that enable communication between the operating system and hardware devices. They facilitate communication and control of hardware devices, allowing the operating system to manage and utilize various hardware components effectively. \u003C\u002Fp>\n\n\n\n\u003Cp>There are several types of kernel drivers, each with a distinct purpose and functionality. The different types of kernel drivers are: \u003C\u002Fp>\n\n\n\n\u003Cul class=\"wp-block-list\">\n\u003Cli>Block Device Drivers: Responsible for managing block-level storage devices such as hard drives, SSDs, and USB storage, \u003C\u002Fli>\n\n\n\n\u003Cli>Character Device Drivers: Responsible for managing character-oriented devices, such as serial ports, keyboards, and mice, \u003C\u002Fli>\n\n\n\n\u003Cli>USB Device Drivers: Crucial for supporting a wide range of peripheral devices, including keyboards, mice, printers, and storage devices, connected via USB ports, \u003C\u002Fli>\n\n\n\n\u003Cli>Filesystem Drivers: Manage various filesystems (e.g., FAT, NTFS, ext4), enabling the operating system to interact with storage devices in a file-centric manner, \u003C\u002Fli>\n\n\n\n\u003Cli>Graphics Device Drivers : Essential for rendering graphics on computer screens \u003C\u002Fli>\n\n\n\n\u003Cli>and Audio Device Drivers:  Enable the playback and recording of audio on a computer system. \u003C\u002Fli>\n\u003C\u002Ful>\n\n\n\n\u003Cp>This document focuses on character device drivers, providing insights into their development.\u003C\u002Fp>\n\n\n\n\u003Cp>The Character device drivers are a fundamental component of modern operating systems, facilitating the interaction between software and character-oriented hardware devices. These drivers play a vital role in managing devices such as serial ports, keyboards, mice, and other peripherals that transmit data on a character-by-character basis. Unlike block devices, which handle data in fixed-size blocks, character devices process information in its raw, individual form. \u003C\u002Fp>\n\n\n\n\u003Cp>This intimate interaction with hardware makes character device drivers an essential bridge between user-space applications and the underlying kernel, allowing for real-time and event-driven communication with a diverse range of input and output devices. In this article, we explore the complexities of character device drivers, their essential role in kernel development, and the principles governing their design and implementation.\u003C\u002Fp>\n\n\n\u003Ch2 class=\"wp-block-heading\" id=\"character-device-driver-basics\">2.     CHARACTER DEVICE DRIVER BASICS\u003C\u002Fh2>\n\n\n\u003Cp>This section discusses the fundamental concepts and essential components that form the backbone of character device drivers, providing a solid foundation for understanding their inner workings and development.\u003C\u002Fp>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-2-1-what-are-character-device-drivers\">2.1    What Are Character Device Drivers?\u003C\u002Fh3>\n\n\n\u003Cp>Character Devices: A Byte-Level Interface\u003C\u002Fp>\n\n\n\n\u003Cp>Character devices are hardware peripherals or components that can be accessed as a continuous stream of bytes. Unlike block devices, which handle data in fixed-sized blocks or sectors, character devices process data one byte at a time. This byte-level interface makes them suitable for devices that generate or consume data sequentially, like serial ports or input devices.\u003C\u002Fp>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-2-2-the-role-of-char-drivers\">2.2    The Role of Char Drivers\u003C\u002Fh3>\n\n\n\u003Cp>Character device drivers are responsible for bridging the gap between user-space applications and character devices, acting as intermediaries to ensure that data flows smoothly between the users&#8217; requests and the devices&#8217; capabilities. These drivers implement essential system calls such as open, close, read, and write to provide a standardized way for applications to interact with character devices.\u003C\u002Fp>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-2-3-major-and-minor-device-numbers\">2.3    Major and Minor Device Numbers\u003C\u002Fh3>\n\n\n\u003Cp>Each character device is identified by a combination of major and minor device numbers. The major number identifies the driver associated with the device, while the minor number distinguishes individual instances or units of the same driver. These numbers are essential for the kernel to route requests to the correct driver and device.\u003C\u002Fp>\n\n\n\n\u003Cp>Example:\u003C\u002Fp>\n\n\n\n\u003Cfigure class=\"wp-block-image size-large is-resized\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"128\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FMajor-and-minor-device-numbers-1024x128.png\" alt=\"Major and Minor Device numbers Linux\" class=\"wp-image-3025\" style=\"width:562px;height:auto\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FMajor-and-minor-device-numbers-1024x128.png 1024w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FMajor-and-minor-device-numbers-800x100.png 800w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FMajor-and-minor-device-numbers-100x13.png 100w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FMajor-and-minor-device-numbers.png 1987w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \u002F>\u003C\u002Ffigure>\n\n\n\n\u003Cp>One Major number 5 for every ttySX device and different (1-3) Minor numbers.\u003C\u002Fp>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-2-4-file-operations\">2.4    File Operations\u003C\u002Fh3>\n\n\n\u003Cp>File operations in a character device driver are essential functions that define how the driver interacts with user-space applications when reading from or writing to the device. These operations allow the driver to manage data transfers, handle device-specific logic, and provide a standardized interface for user programs. The below are the common file operations In a character driver.\u003C\u002Fp>\n\n\n\n\u003Cp>1. Open(&#8216;open&#8217;):\u003C\u002Fp>\n\n\n\n\u003Cul class=\"wp-block-list\">\n\u003Cli>The open function is called when a user-space program opens the character device file (e.g: \u002Fdev\u002Fmydevice).\u003C\u002Fli>\n\n\n\n\u003Cli>It can perform tasks like initializing the device, checking permissions, and allocating resources.\u003C\u002Fli>\n\n\n\n\u003Cli>The open function returns a file descriptor to the calling process, which is used for subsequent read and write operations.\u003C\u002Fli>\n\u003C\u002Ful>\n\n\n\n\u003Cp>2. Close(&#8216;release&#8217; or &#8216;close&#8217;):\u003C\u002Fp>\n\n\n\n\u003Cul class=\"wp-block-list\">\n\u003Cli>The close (or release) function is called when a user-space program closes the device file.\u003C\u002Fli>\n\n\n\n\u003Cli>It is responsible for cleaning up any resources allocated during the open operation and ensuring the device is properly closed.\u003C\u002Fli>\n\u003C\u002Ful>\n\n\n\n\u003Cp>3. Read (&#8216;read&#8217;):\u003C\u002Fp>\n\n\n\n\u003Cul class=\"wp-block-list\">\n\u003Cli>The read function handles requests to read data from the device into a user-space buffer.\u003C\u002Fli>\n\n\n\n\u003Cli>It checks for available data, copies data from the device&#8217;s internal buffer to the user&#8217;s buffer, and updates the file position.\u003C\u002Fli>\n\n\n\n\u003Cli>The number of bytes read is returned to the user-space program.\u003C\u002Fli>\n\u003C\u002Ful>\n\n\n\n\u003Cp>4. Write (&#8216;write&#8217;):\u003C\u002Fp>\n\n\n\n\u003Cul class=\"wp-block-list\">\n\u003Cli>The write function processes requests to write data from a user-space buffer to the device.\u003C\u002Fli>\n\n\n\n\u003Cli>It checks for available space in the device&#8217;s buffer, copies data from the user&#8217;s buffer, and updates the file position.\u003C\u002Fli>\n\n\n\n\u003Cli>The number of bytes written is returned to the user-space program.\u003C\u002Fli>\n\u003C\u002Ful>\n\n\n\n\u003Cp>5. Ioctl (&#8216;ioctl&#8217;):\u003C\u002Fp>\n\n\n\n\u003Cul class=\"wp-block-list\">\n\u003Cli>&#8216;ioctl&#8217; is a system call in a character driver that enables device-specific control and configuration operations.\u003C\u002Fli>\n\n\n\n\u003Cli>It allows user-space programs to interact with and configure the device using custom command codes and associated data.\u003C\u002Fli>\n\u003C\u002Ful>\n\n\n\n\u003Cp>The file operation functions are part of a file operations structure (i.e. \u003Cstrong>struct file_operations or fops\u003C\u002Fstrong>). When a user program interacts with the character device file, the kernel routes the requests to the appropriate file operation functions defined in this structure.\u003C\u002Fp>\n\n\n\u003Ch2 class=\"wp-block-heading\" id=\"example-of-a-character-device-driver\">3.    EXAMPLE OF A CHARACTER DEVICE DRIVER\u003C\u002Fh2>\n\n\n\u003Cp>This is a simple example of a character device driver that open, read, write, and close a file, along with the steps to create and test it.\u003C\u002Fp>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-3-1-set-up-your-development-environment\">3.1. Set Up Your Development Environment\u003C\u002Fh3>\n\n\n\u003Cp>Make sure you have a Linux development environment with kernel headers installed. You&#8217;ll also need root privileges to load kernel modules.\u003C\u002Fp>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-3-2-header-files-and-macros\">3.2. Header Files and Macros\u003C\u002Fh3>\n\n\n\u003Cp>This section includes the necessary header files for kernel development and defines macros, such as mem_size representing the size of the device&#8217;s memory.\u003C\u002Fp>\n\n\n\n\u003Cfigure class=\"wp-block-image size-large is-resized\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"556\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FHeader-files-and-macros-1024x556.png\" alt=\"Header files and Macros Linux\" class=\"wp-image-3024\" style=\"width:466px;height:auto\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FHeader-files-and-macros-1024x556.png 1024w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FHeader-files-and-macros-800x435.png 800w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FHeader-files-and-macros-100x54.png 100w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FHeader-files-and-macros.png 1644w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \u002F>\u003C\u002Ffigure>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-3-3-global-variables\"> 3.3. Global Variables\u003C\u002Fh3>\n\n\n\u003Cfigure class=\"wp-block-image size-large is-resized\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"253\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fglobal-variables-1-1024x253.png\" alt=\"Global Variables Linux\" class=\"wp-image-3020\" style=\"width:548px;height:auto\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fglobal-variables-1-1024x253.png 1024w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fglobal-variables-1-800x197.png 800w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fglobal-variables-1-100x25.png 100w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fglobal-variables-1.png 1658w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \u002F>\u003C\u002Ffigure>\n\n\n\n\u003Cul class=\"wp-block-list\">\n\u003Cli>\u003Cstrong>dev_t\u003C\u002Fstrong>: Represents the device numbers (both major and minor).\u003C\u002Fli>\n\n\n\n\u003Cli>\u003Cstrong>struct class *dev_class\u003C\u002Fstrong>: Represents the device class for udev.\u003C\u002Fli>\n\n\n\n\u003Cli>\u003Cstrong>struct cdev chr_cdev\u003C\u002Fstrong>: Represents the character device structure.\u003C\u002Fli>\n\n\n\n\u003Cli>\u003Cstrong>uint8_t *kernel_buffer\u003C\u002Fstrong>: Represents the kernel memory buffer.\u003C\u002Fli>\n\u003C\u002Ful>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-3-4-function-prototypes\">3.4 Function Prototypes\u003C\u002Fh3>\n\n\n\u003Cp>This section declares the prototypes of the functions used in the driver.\u003C\u002Fp>\n\n\n\n\u003Cfigure class=\"wp-block-image size-large is-resized\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"243\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FFunction-prototypes-1024x243.png\" alt=\"Function prototypes Linux\" class=\"wp-image-3021\" style=\"width:647px;height:auto\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FFunction-prototypes-1024x243.png 1024w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FFunction-prototypes-800x190.png 800w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FFunction-prototypes-100x24.png 100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \u002F>\u003C\u002Ffigure>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-3-5-file-operations-structure\">3.5 File Operations Structure:\u003C\u002Fh3>\n\n\n\u003Cfigure class=\"wp-block-image size-large is-resized\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"287\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FFile-operations-structure-1024x287.png\" alt=\"file operations structure Linux\" class=\"wp-image-3022\" style=\"width:643px;height:auto\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FFile-operations-structure-1024x287.png 1024w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FFile-operations-structure-800x225.png 800w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FFile-operations-structure-100x28.png 100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \u002F>\u003C\u002Ffigure>\n\n\n\n\u003Cp>Initializes the file operations structure with the functions that will be called when the user interacts with the device file.\u003C\u002Fp>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-3-6-open-function\">3.6 Open Function\u003C\u002Fh3>\n\n\n\u003Cfigure class=\"wp-block-image size-large is-resized\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"350\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FOpen-function-1024x350.png\" alt=\"Open function Linux\" class=\"wp-image-3023\" style=\"width:642px;height:auto\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FOpen-function-1024x350.png 1024w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FOpen-function-800x273.png 800w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FOpen-function-100x34.png 100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \u002F>\u003C\u002Ffigure>\n\n\n\n\u003Cp>This function allocates kernel memory for the device buffer during the device file open operation.\u003C\u002Fp>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-3-7-release-function\">3.7 Release Function\u003C\u002Fh3>\n\n\n\u003Cfigure class=\"wp-block-image size-large is-resized\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"216\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FRelease-function-1024x216.png\" alt=\"Release function Linux\" class=\"wp-image-3026\" style=\"width:636px;height:auto\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FRelease-function-1024x216.png 1024w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FRelease-function-800x169.png 800w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FRelease-function-100x21.png 100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \u002F>\u003C\u002Ffigure>\n\n\n\n\u003Cp>This function frees the allocated kernel memory during the device file close operation.\u003C\u002Fp>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-3-8-read-function\">3.8 Read Function\u003C\u002Fh3>\n\n\n\u003Cfigure class=\"wp-block-image size-large is-resized\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"346\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FRead-function-1024x346.png\" alt=\"Read function Linux\" class=\"wp-image-3027\" style=\"width:632px;height:auto\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FRead-function-1024x346.png 1024w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FRead-function-800x270.png 800w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FRead-function-100x34.png 100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \u002F>\u003C\u002Ffigure>\n\n\n\n\u003Cp>This function copies data from the kernel space to the user space during the read operation.\u003C\u002Fp>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-3-9-write-function\">3.9 Write Function\u003C\u002Fh3>\n\n\n\u003Cfigure class=\"wp-block-image size-large is-resized\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"380\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FWrite-function-1024x380.png\" alt=\"Write function Linux\" class=\"wp-image-3028\" style=\"width:628px;height:auto\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FWrite-function-1024x380.png 1024w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FWrite-function-800x297.png 800w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FWrite-function-100x37.png 100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \u002F>\u003C\u002Ffigure>\n\n\n\n\u003Cp>This function copies data from the user space to the kernel space during the write operation.\u003C\u002Fp>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-3-10-initialization-function\">3.10 Initialization Function\u003C\u002Fh3>\n\n\n\u003Cp>This function initializes and registers the character device driver, including major number allocation, cdev initialization, class creation, and device creation.\u003C\u002Fp>\n\n\n\n\u003Cfigure class=\"wp-block-image size-large is-resized\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"838\" height=\"1024\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FInitialization-function-838x1024.png\" alt=\"Initialization function Linux\" class=\"wp-image-3029\" style=\"width:627px;height:auto\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FInitialization-function-838x1024.png 838w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FInitialization-function-655x800.png 655w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FInitialization-function-82x100.png 82w\" sizes=\"auto, (max-width: 838px) 100vw, 838px\" \u002F>\u003C\u002Ffigure>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-3-11-exit-function\">3.11 Exit Function\u003C\u002Fh3>\n\n\n\u003Cfigure class=\"wp-block-image size-large is-resized\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"335\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FExit-function-1024x335.png\" alt=\"Exit Function\" class=\"wp-image-3030\" style=\"width:627px;height:auto\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FExit-function-1024x335.png 1024w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FExit-function-800x262.png 800w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FExit-function-100x33.png 100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \u002F>\u003C\u002Ffigure>\n\n\n\n\u003Cp>This function cleans up and unregisters the character device driver during module removal.\u003C\u002Fp>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-3-12-initialization-and-exit-macros\">3.12 Initialization and Exit Macros\u003C\u002Fh3>\n\n\n\u003Cfigure class=\"wp-block-image size-large is-resized\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"133\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FInitialization-and-exit-macros-1024x133.png\" alt=\"Initialization and Exit Macros\" class=\"wp-image-3031\" style=\"width:627px;height:auto\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FInitialization-and-exit-macros-1024x133.png 1024w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FInitialization-and-exit-macros-800x104.png 800w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FInitialization-and-exit-macros-100x13.png 100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \u002F>\u003C\u002Ffigure>\n\n\n\n\u003Cp>This specifies the initialization and exit functions when the module is loaded and unloaded, respectively.\u003C\u002Fp>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-3-13-linux-character-device-driver-code-implementation\">3.13 Linux Character Device Driver – Code Implementation\u003C\u002Fh3>\n\n\n\u003Cp>Now, please find below the consolidated Linux character device driver code, incorporating all the sections we discussed earlier, into one complete code.\u003C\u002Fp>\n\n\n\n\u003Cfigure class=\"wp-block-image size-large\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"689\" height=\"1024\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FLinus-character-device-driver-code-implementation-689x1024.png\" alt=\"Linux Character Device Driver – Code Implementation\" class=\"wp-image-3032\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FLinus-character-device-driver-code-implementation-689x1024.png 689w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FLinus-character-device-driver-code-implementation-539x800.png 539w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FLinus-character-device-driver-code-implementation-67x100.png 67w\" sizes=\"auto, (max-width: 689px) 100vw, 689px\" \u002F>\u003C\u002Ffigure>\n\n\n\n\u003Cfigure class=\"wp-block-image size-large is-resized\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"801\" height=\"1024\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FLinus-character-device-driver-code-implementation-2-801x1024.png\" alt=\"Linux Character Device Driver – Code Implementation\" class=\"wp-image-3033\" style=\"width:686px;height:auto\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FLinus-character-device-driver-code-implementation-2-801x1024.png 801w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FLinus-character-device-driver-code-implementation-2-626x800.png 626w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FLinus-character-device-driver-code-implementation-2-78x100.png 78w\" sizes=\"auto, (max-width: 801px) 100vw, 801px\" \u002F>\u003C\u002Ffigure>\n\n\n\n\u003Cfigure class=\"wp-block-image size-large is-resized\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"504\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FLinus-character-device-driver-code-implementation-3-1024x504.png\" alt=\"Linux Character Device Driver – Code Implementation\" class=\"wp-image-3034\" style=\"width:686px;height:auto\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FLinus-character-device-driver-code-implementation-3-1024x504.png 1024w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FLinus-character-device-driver-code-implementation-3-800x394.png 800w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FLinus-character-device-driver-code-implementation-3-100x49.png 100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \u002F>\u003C\u002Ffigure>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-3-11-makefile-for-building-the-linux-kernel-module\">3.11 Makefile for Building the Linux Kernel Module\u003C\u002Fh3>\n\n\n\u003Cfigure class=\"wp-block-image size-large is-resized\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"311\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fmakefile-for-building-the-linux-kernel-module-1024x311.png\" alt=\"Makefile for Building the Linux Kernel Module\" class=\"wp-image-3035\" style=\"width:686px;height:auto\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fmakefile-for-building-the-linux-kernel-module-1024x311.png 1024w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fmakefile-for-building-the-linux-kernel-module-800x243.png 800w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fmakefile-for-building-the-linux-kernel-module-100x30.png 100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \u002F>\u003C\u002Ffigure>\n\n\n\n\u003Cp>&nbsp;&nbsp;&nbsp;&nbsp; The Makefile is to compile and build the kernel module.\u003C\u002Fp>\n\n\n\u003Ch2 class=\"wp-block-heading\" id=\"building-and-inserting-a-linux-character-device-driver\">4.    BUILDING AND INSERTING A LINUX CHARACTER DEVICE DRIVER\u003C\u002Fh2>\n\n\n\u003Cp>\u003Cstrong>Step 1:\u003C\u002Fstrong> In the terminal go to the directory where your character driver &nbsp;and Makefile are located and run &nbsp;the &#8216;\u003Cstrong>make\u003C\u002Fstrong>&#8216; command to build the driver and generate the \u003Cstrong>.ko\u003C\u002Fstrong> file.\u003C\u002Fp>\n\n\n\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"756\" height=\"163\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FBuilding-and-inserting-a-linux-character-device-driver.png\" alt=\"\" class=\"wp-image-3036\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FBuilding-and-inserting-a-linux-character-device-driver.png 756w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FBuilding-and-inserting-a-linux-character-device-driver-100x22.png 100w\" sizes=\"auto, (max-width: 756px) 100vw, 756px\" \u002F>\u003C\u002Ffigure>\n\n\n\n\u003Cp>\u003Cstrong>Step 2:\u003C\u002Fstrong> Use &#8216;\u003Cstrong>insmod\u003C\u002Fstrong>&#8216; to insert the compiled kernel module into the kernel.\u003C\u002Fp>\n\n\n\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"756\" height=\"81\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FUse-insmod.png\" alt=\"\" class=\"wp-image-3037\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FUse-insmod.png 756w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FUse-insmod-100x11.png 100w\" sizes=\"auto, (max-width: 756px) 100vw, 756px\" \u002F>\u003C\u002Ffigure>\n\n\n\n\u003Cp>\u003Cstrong>Step 3\u003C\u002Fstrong>: Verify module Insertion use the below commands\u003C\u002Fp>\n\n\n\n\u003Cp>\u003Cstrong>&nbsp;3.a\u003C\u002Fstrong> \u003Cstrong>\u003Cem>dmesg | tail\u003C\u002Fem> : \u003C\u002Fstrong>To display the last few lines of the kernel message buffer.\u003C\u002Fp>\n\n\n\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"752\" height=\"60\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fdsmesg-tail.png\" alt=\"\" class=\"wp-image-3039\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fdsmesg-tail.png 752w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fdsmesg-tail-100x8.png 100w\" sizes=\"auto, (max-width: 752px) 100vw, 752px\" \u002F>\u003C\u002Ffigure>\n\n\n\n\u003Cp>\u003Cstrong>3.b\u003C\u002Fstrong> \u003Cstrong>\u003Cem>cat \u002Fproc\u002Fdevices\u003C\u002Fem>:\u003C\u002Fstrong> is used in Linux to display a list of character and block devices registered in the kernel. This command shows the major and minor numbers of each device, along with the device type.\u003C\u002Fp>\n\n\n\n\u003Cfigure class=\"wp-block-image size-full is-resized\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"359\" height=\"489\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fcat-proc-devices.png\" alt=\"\" class=\"wp-image-3040\" style=\"width:291px;height:auto\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fcat-proc-devices.png 359w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fcat-proc-devices-73x100.png 73w\" sizes=\"auto, (max-width: 359px) 100vw, 359px\" \u002F>\u003C\u002Ffigure>\n\n\n\n\u003Cfigure class=\"wp-block-image size-full is-resized\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"722\" height=\"364\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fchr_dev.png\" alt=\"\" class=\"wp-image-3041\" style=\"width:177px;height:auto\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fchr_dev.png 722w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fchr_dev-100x50.png 100w\" sizes=\"auto, (max-width: 722px) 100vw, 722px\" \u002F>\u003C\u002Ffigure>\n\n\n\u003Ch2 class=\"wp-block-heading\" id=\"h-5-testing-the-user-space-application-for-the-character-driver\">5.    TESTING THE USER-SPACE APPLICATION FOR THE CHARACTER DRIVER\u003C\u002Fh2>\n\n\n\u003Cp>This section focuses on testing procedures for the user-space application associated with the character driver &#8216;chr_Dev.&#8217; The example code provided below illustrates how to test the read and write operations, ensuring the interaction between user programs and the &#8216;chr_Dev&#8217; character driver. Through these tests, we aim to validate the reliability and effectiveness of the driver in handling data exchanges between the user space and the Linux kernel.\u003C\u002Fp>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-5-a-user-space-application\">\u003Cstrong> 5.a User Space Application\u003C\u002Fstrong>\u003C\u002Fh3>\n\n\n\u003Cfigure class=\"wp-block-image size-large is-resized\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"947\" height=\"1024\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FUse-space-application-947x1024.png\" alt=\"\" class=\"wp-image-3042\" style=\"width:507px;height:auto\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FUse-space-application-947x1024.png 947w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FUse-space-application-740x800.png 740w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FUse-space-application-92x100.png 92w\" sizes=\"auto, (max-width: 947px) 100vw, 947px\" \u002F>\u003C\u002Ffigure>\n\n\n\n\u003Cfigure class=\"wp-block-image size-large is-resized\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"812\" height=\"1024\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FUse-space-application-2-812x1024.png\" alt=\"\" class=\"wp-image-3043\" style=\"width:508px;height:auto\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FUse-space-application-2-812x1024.png 812w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FUse-space-application-2-634x800.png 634w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FUse-space-application-2-79x100.png 79w\" sizes=\"auto, (max-width: 812px) 100vw, 812px\" \u002F>\u003C\u002Ffigure>\n\n\n\u003Ch3 class=\"wp-block-heading\" id=\"h-5-b-output\">\u003Cstrong>5. b Output\u003C\u002Fstrong>\u003C\u002Fh3>\n\n\n\u003Cp>Create an executable for the user space application using a suitable compiler (e.g: gcc) and then run the resulting file.\u003C\u002Fp>\n\n\n\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"703\" height=\"448\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Foutput.png\" alt=\"\" class=\"wp-image-3044\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Foutput.png 703w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Foutput-100x64.png 100w\" sizes=\"auto, (max-width: 703px) 100vw, 703px\" \u002F>\u003C\u002Ffigure>\n\n\n\n\u003Cp>The below screenshot displays log files retrieved using the \u003Cstrong>\u003Cem>dmesg\u003C\u002Fem>\u003C\u002Fstrong> command, offering insights into kernel-related events and system messages for the chr-dev character driver\u003C\u002Fp>\n\n\n\n\u003Cfigure class=\"wp-block-image size-full\">\u003Cimg loading=\"lazy\" decoding=\"async\" width=\"687\" height=\"353\" src=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Foutput-2.png\" alt=\"\" class=\"wp-image-3045\" srcset=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Foutput-2.png 687w, https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Foutput-2-100x51.png 100w\" sizes=\"auto, (max-width: 687px) 100vw, 687px\" \u002F>\u003C\u002Ffigure>\n\n\n\u003Ch2 class=\"wp-block-heading\" id=\"h-6-conclusion\">6.    CONCLUSION\u003C\u002Fh2>\n\n\n\u003Cp>The exploration of the \u003Cstrong>&#8216;\u003C\u002Fstrong>\u003Cstrong>chr-dev\u003C\u002Fstrong>\u003Cstrong>&#8216;\u003C\u002Fstrong> character driver and its integration with a user-space application highlights the data exchange between the user and kernel spaces. The driver, identified by Major Number 239, demonstrates its versatility in handling read and write operations. Through testing we have confirmed the reliability and robustness of the driver, making it a valuable tool for developers.\u003C\u002Fp>\n\n\n\u003Ch2 class=\"wp-block-heading\" id=\"h-7-references-for-this-guide-how-to-build-linux-character-device-drivers\">7.    REFERENCES FOR THIS GUIDE &#8220;How to build Linux Character Device Drivers&#8221;\u003C\u002Fh2>\n\n\n\u003Cp>1. \u003Ca href=\"https:\u002F\u002Flwn.net\u002FKernel\u002FLDD3\">[Jonathan Corbet and Kroah-Hartman, 2005] Jonathan Corbet, A. R. and Kroah-Hartman, G. (2005). Linux Device Drivers, Third Edition . O’Reilly Media\u003C\u002Fa>\u003C\u002Fp>\n\n\n\n\u003Cp>2. \u003Ca href=\"https:\u002F\u002Flinux-kernel-labs.github.io\u002Frefs\u002Fheads\u002Fmaster\u002Flabs\u002Fdevice_drivers.html\">\u003Cem>Character device drivers\u003C\u002Fem>, accessed 18 September 2023.\u003C\u002Fa>\u003C\u002Fp>\n",false,{"rendered":530,"protected":528},"\u003Cp>Mastering Linux Kernel Driver Development Table of contents 1.    INTRODUCTION How to build Linux Character Device Drivers This document serves as a guide for developers seeking to write Linux Device Drivers, which are crucial software components designed for specific hardware.  Kernel drivers are essential software components that enable communication between the operating system and hardware [&hellip;]\u003C\u002Fp>\n",3057,"open","standard",{"_acf_changed":528,"content-type":8,"inline_featured_image":528,"footnotes":8},[536],46,[538,539,540],189,187,191,[542],137,[544],136,[546,522,547,548,549,550,551,552,553,554,555,556,557],"post-3017","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-insights","tag-device-drivers","tag-linux","tag-software-components","cbtw_industries-manufacturing","cbtw_services-smart-industrial-solutions",{"authors":8,"article_authors":559,"direct_external_link":8,"post_region":562,"layout_builder":563},[560],{"author_name":561,"author_url":8},"Raju Rajalekshmy - Embedded Software Engineer at CBTW","global",[564],{"acf_fc_layout":565,"title":195,"ui_v2":566,"short_description":567,"cbtw_related_group_filters":568,"items":528,"link":573,"hubspot_form_id":8,"mainPostId":516,"region":562},"block_insights",true,"Access related expert insights",{"cbtw_related_category_filter":569,"cbtw_related_tag_filter":570,"cbtw_related_industry_filter":571,"cbtw_related_service_filter":572},[221,197],[],[],[],{"title":574,"url":575,"target":576},"View all insights","https:\u002F\u002Fstaging.cbtw.tech\u002Finsights","_self","\u003C!-- This site is optimized with the Yoast SEO Premium plugin v25.4 (Yoast SEO v25.4) - https:\u002F\u002Fyoast.com\u002Fwordpress\u002Fplugins\u002Fseo\u002F -->\n\u003Ctitle>How to Build Linux Character Device Drivers - The Ultimate Guide\u003C\u002Ftitle>\n\u003Cmeta name=\"description\" content=\"Learn to build robust Linux character device drivers from scratch by reading this guide by our own Embedded Software Engineer.\" \u002F>\n\u003Cmeta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \u002F>\n\u003Clink rel=\"canonical\" href=\"https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers\" \u002F>\n\u003Cmeta property=\"og:locale\" content=\"en_US\" \u002F>\n\u003Cmeta property=\"og:type\" content=\"article\" \u002F>\n\u003Cmeta property=\"og:title\" content=\"From Novice to Expert: Building Robust Linux Character Device Drivers\" \u002F>\n\u003Cmeta property=\"og:description\" content=\"Learn to build robust Linux character device drivers from scratch by reading this guide by our own Embedded Software Engineer.\" \u002F>\n\u003Cmeta property=\"og:url\" content=\"https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers\" \u002F>\n\u003Cmeta property=\"og:site_name\" content=\"CBTW\" \u002F>\n\u003Cmeta property=\"article:published_time\" content=\"2024-05-16T16:27:12+00:00\" \u002F>\n\u003Cmeta property=\"article:modified_time\" content=\"2025-07-24T07:34:49+00:00\" \u002F>\n\u003Cmeta property=\"og:image\" content=\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Flinus-kernel.jpg\" \u002F>\n\t\u003Cmeta property=\"og:image:width\" content=\"1024\" \u002F>\n\t\u003Cmeta property=\"og:image:height\" content=\"836\" \u002F>\n\t\u003Cmeta property=\"og:image:type\" content=\"image\u002Fjpeg\" \u002F>\n\u003Cmeta name=\"author\" content=\"Quang Luu\" \u002F>\n\u003Cmeta name=\"twitter:card\" content=\"summary_large_image\" \u002F>\n\u003Cmeta name=\"twitter:label1\" content=\"Written by\" \u002F>\n\t\u003Cmeta name=\"twitter:data1\" content=\"Quang Luu\" \u002F>\n\t\u003Cmeta name=\"twitter:label2\" content=\"Est. reading time\" \u002F>\n\t\u003Cmeta name=\"twitter:data2\" content=\"13 minutes\" \u002F>\n\u003Cscript type=\"application\u002Fld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\u002F\u002Fschema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers#article\",\"isPartOf\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers\"},\"author\":{\"name\":\"Quang Luu\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Fperson\u002Fcfaf88604c715b5df717981843cf75eb\"},\"headline\":\"From Novice to Expert: Building Robust Linux Character Device Drivers\",\"datePublished\":\"2024-05-16T16:27:12+00:00\",\"dateModified\":\"2025-07-24T07:34:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers\"},\"wordCount\":1672,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#organization\"},\"image\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers#primaryimage\"},\"thumbnailUrl\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Flinus-kernel.jpg\",\"keywords\":[\"device drivers\",\"linux\",\"software components\"],\"articleSection\":[\"Expert Articles\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers\",\"name\":\"How to Build Linux Character Device Drivers - The Ultimate Guide\",\"isPartOf\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers#primaryimage\"},\"image\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers#primaryimage\"},\"thumbnailUrl\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Flinus-kernel.jpg\",\"datePublished\":\"2024-05-16T16:27:12+00:00\",\"dateModified\":\"2025-07-24T07:34:49+00:00\",\"description\":\"Learn to build robust Linux character device drivers from scratch by reading this guide by our own Embedded Software Engineer.\",\"breadcrumb\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers#primaryimage\",\"url\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Flinus-kernel.jpg\",\"contentUrl\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Flinus-kernel.jpg\",\"width\":1024,\"height\":836,\"caption\":\"How to Build Linux Character Device Drivers\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"From Novice to Expert: Building Robust Linux Character Device Drivers\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#website\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\",\"name\":\"CBTW\",\"description\":\"Collaboration Betters The World\",\"publisher\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#organization\",\"name\":\"CBTW\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Flogo\u002Fimage\u002F\",\"url\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FPrimary_Classic.png\",\"contentUrl\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FPrimary_Classic.png\",\"width\":1001,\"height\":538,\"caption\":\"CBTW\"},\"image\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Flogo\u002Fimage\u002F\"},\"sameAs\":[\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fcollaboration-betters-the-world\",\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fcbtw-it-and-technology\u002F\"]},{\"@type\":\"Person\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Fperson\u002Fcfaf88604c715b5df717981843cf75eb\",\"name\":\"Quang Luu\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Fperson\u002Fimage\u002F\",\"url\":\"https:\u002F\u002Fsecure.gravatar.com\u002Favatar\u002Fef83e77b484f32d2ab76b3ef41f68c57?s=96&d=mm&r=g\",\"contentUrl\":\"https:\u002F\u002Fsecure.gravatar.com\u002Favatar\u002Fef83e77b484f32d2ab76b3ef41f68c57?s=96&d=mm&r=g\",\"caption\":\"Quang Luu\"},\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Fauthor\u002Fqluu\u002F\"}]}\u003C\u002Fscript>\n\u003C!-- \u002F Yoast SEO Premium plugin. -->",{"title":579,"description":580,"robots":581,"canonical":523,"og_locale":587,"og_type":588,"og_title":525,"og_description":580,"og_url":523,"og_site_name":589,"article_published_time":590,"article_modified_time":591,"og_image":592,"author":598,"twitter_card":599,"twitter_misc":600,"schema":602},"How to Build Linux Character Device Drivers - The Ultimate Guide","Learn to build robust Linux character device drivers from scratch by reading this guide by our own Embedded Software Engineer.",{"index":582,"follow":583,"max-snippet":584,"max-image-preview":585,"max-video-preview":586},"index","follow","max-snippet:-1","max-image-preview:large","max-video-preview:-1","en_US","article","CBTW","2024-05-16T16:27:12+00:00","2025-07-24T07:34:49+00:00",[593],{"width":594,"height":595,"url":596,"type":597},1024,836,"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Flinus-kernel.jpg","image\u002Fjpeg","Quang Luu","summary_large_image",{"Written by":598,"Est. reading time":601},"13 minutes",{"@context":603,"@graph":604},"https:\u002F\u002Fschema.org",[605,629,641,644,652,665,675],{"@type":606,"@id":607,"isPartOf":608,"author":609,"headline":525,"datePublished":590,"dateModified":591,"mainEntityOfPage":611,"wordCount":612,"commentCount":13,"publisher":613,"image":615,"thumbnailUrl":596,"keywords":617,"articleSection":621,"inLanguage":622,"potentialAction":623},"Article","https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers#article",{"@id":523},{"name":598,"@id":610},"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Fperson\u002Fcfaf88604c715b5df717981843cf75eb",{"@id":523},1672,{"@id":614},"https:\u002F\u002Fstaging.cbtw.tech\u002F#organization",{"@id":616},"https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers#primaryimage",[618,619,620],"device drivers","linux","software components",[210],"en-US",[624],{"@type":625,"name":626,"target":627},"CommentAction","Comment",[628],"https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers#respond",{"@type":630,"@id":523,"url":523,"name":579,"isPartOf":631,"primaryImageOfPage":633,"image":634,"thumbnailUrl":596,"datePublished":590,"dateModified":591,"description":580,"breadcrumb":635,"inLanguage":622,"potentialAction":637},"WebPage",{"@id":632},"https:\u002F\u002Fstaging.cbtw.tech\u002F#website",{"@id":616},{"@id":616},{"@id":636},"https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers#breadcrumb",[638],{"@type":639,"target":640},"ReadAction",[523],{"@type":642,"inLanguage":622,"@id":616,"url":596,"contentUrl":596,"width":594,"height":595,"caption":643},"ImageObject","How to Build Linux Character Device Drivers",{"@type":645,"@id":636,"itemListElement":646},"BreadcrumbList",[647,651],{"@type":648,"position":15,"name":649,"item":650},"ListItem","Home","https:\u002F\u002Fstaging.cbtw.tech\u002F",{"@type":648,"position":32,"name":525},{"@type":653,"@id":632,"url":650,"name":589,"description":654,"publisher":655,"potentialAction":656,"inLanguage":622},"WebSite","Collaboration Betters The World",{"@id":614},[657],{"@type":658,"target":659,"query-input":662},"SearchAction",{"@type":660,"urlTemplate":661},"EntryPoint","https:\u002F\u002Fstaging.cbtw.tech\u002F?s={search_term_string}",{"@type":663,"valueRequired":566,"valueName":664},"PropertyValueSpecification","search_term_string",{"@type":666,"@id":614,"name":589,"url":650,"logo":667,"image":672,"sameAs":673},"Organization",{"@type":642,"inLanguage":622,"@id":668,"url":669,"contentUrl":669,"width":670,"height":671,"caption":589},"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Flogo\u002Fimage\u002F","https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FPrimary_Classic.png",1001,538,{"@id":668},[504,674],"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fcbtw-it-and-technology\u002F",{"@type":676,"@id":610,"name":598,"image":677,"url":680},"Person",{"@type":642,"inLanguage":622,"@id":678,"url":679,"contentUrl":679,"caption":598},"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Fperson\u002Fimage\u002F","https:\u002F\u002Fsecure.gravatar.com\u002Favatar\u002Fef83e77b484f32d2ab76b3ef41f68c57?s=96&d=mm&r=g","https:\u002F\u002Fstaging.cbtw.tech\u002Fauthor\u002Fqluu\u002F","en",{"en":516},[684],{"name":210,"slug":197,"term_id":536},{"title":8,"image":528},[687],{"acf_fc_layout":565,"title":195,"ui_v2":566,"short_description":567,"cbtw_related_group_filters":688,"items":528,"link":693,"hubspot_form_id":8},{"cbtw_related_category_filter":689,"cbtw_related_tag_filter":690,"cbtw_related_industry_filter":691,"cbtw_related_service_filter":692},[221,197],[],[],[],{"title":574,"url":575,"target":576},{"alt":643,"caption":8,"description":8,"id":531,"sizes":695,"title":698},{"full":596,"thumbnail":696,"medium":697,"medium_large":596,"large":596,"1536x1536":596,"2048x2048":596},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Flinus-kernel-100x82.jpg","https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Flinus-kernel-800x653.jpg","b61db62eb649c005daa5bb000f52a4bb08ffc3a7 (1)",[700],{"term_id":542,"name":701,"slug":702,"term_group":13,"term_taxonomy_id":542,"taxonomy":703,"description":8,"parent":13,"count":704,"filter":18,"term_order":17},"Manufacturing","manufacturing","cbtw_industries",30,[706],{"term_id":544,"name":707,"slug":708,"term_group":13,"term_taxonomy_id":544,"taxonomy":709,"description":8,"parent":13,"count":223,"filter":18,"term_order":17},"Smart Industrial Solutions","smart-industrial-solutions","cbtw_services",[711,713,715],{"title":649,"url":650,"id":13,"type":712},"home",{"title":195,"url":194,"id":714,"type":20},74,{"title":525,"url":523,"id":516,"type":522},[],{"self":718,"collection":724,"about":727,"author":730,"replies":733,"version-history":736,"predecessor-version":739,"wp:featuredmedia":743,"wp:attachment":746,"wp:term":749,"curies":760},[719],{"href":720,"targetHints":721},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F3017",{"allow":722},[723],"GET",[725],{"href":726},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts",[728],{"href":729},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Ftypes\u002Fpost",[731],{"embeddable":566,"href":732},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fusers\u002F22",[734],{"embeddable":566,"href":735},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fcomments?post=3017",[737],{"count":15,"href":738},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F3017\u002Frevisions",[740],{"id":741,"href":742},9511,"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F3017\u002Frevisions\u002F9511",[744],{"embeddable":566,"href":745},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fmedia\u002F3057",[747],{"href":748},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fmedia?parent=3017",[750,753,756,758],{"taxonomy":751,"embeddable":566,"href":752},"category","https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fcategories?post=3017",{"taxonomy":754,"embeddable":566,"href":755},"post_tag","https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Ftags?post=3017",{"taxonomy":703,"embeddable":566,"href":757},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fcbtw_industries?post=3017",{"taxonomy":709,"embeddable":566,"href":759},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fcbtw_services?post=3017",[761],{"name":762,"href":763,"templated":566},"wp","https:\u002F\u002Fapi.w.org\u002F{rel}",{"author":765,"wp:featuredmedia":816,"wp:term":860},[766],{"id":232,"name":598,"url":8,"description":8,"link":680,"slug":767,"avatar_urls":768,"pll_duplicate_content":528,"yoast_head":771,"yoast_head_json":772,"acf":807,"_links":808},"qluu",{"24":769,"48":770,"96":679},"https:\u002F\u002Fsecure.gravatar.com\u002Favatar\u002Fef83e77b484f32d2ab76b3ef41f68c57?s=24&d=mm&r=g","https:\u002F\u002Fsecure.gravatar.com\u002Favatar\u002Fef83e77b484f32d2ab76b3ef41f68c57?s=48&d=mm&r=g","\u003C!-- This site is optimized with the Yoast SEO Premium plugin v25.4 (Yoast SEO v25.4) - https:\u002F\u002Fyoast.com\u002Fwordpress\u002Fplugins\u002Fseo\u002F -->\n\u003Ctitle>Quang LuuCBTW\u003C\u002Ftitle>\n\u003Cmeta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \u002F>\n\u003Clink rel=\"canonical\" href=\"https:\u002F\u002Fstaging.cbtw.tech\u002Fauthor\u002Fqluu\u002F\" \u002F>\n\u003Cmeta property=\"og:locale\" content=\"en_US\" \u002F>\n\u003Cmeta property=\"og:type\" content=\"profile\" \u002F>\n\u003Cmeta property=\"og:title\" content=\"Quang Luu\" \u002F>\n\u003Cmeta property=\"og:url\" content=\"https:\u002F\u002Fstaging.cbtw.tech\u002Fauthor\u002Fqluu\u002F\" \u002F>\n\u003Cmeta property=\"og:site_name\" content=\"CBTW\" \u002F>\n\u003Cmeta property=\"og:image\" content=\"https:\u002F\u002Fsecure.gravatar.com\u002Favatar\u002Fef83e77b484f32d2ab76b3ef41f68c57?s=500&d=mm&r=g\" \u002F>\n\u003Cmeta name=\"twitter:card\" content=\"summary_large_image\" \u002F>\n\u003Cscript type=\"application\u002Fld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\u002F\u002Fschema.org\",\"@graph\":[{\"@type\":\"ProfilePage\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Fauthor\u002Fqluu\u002F\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Fauthor\u002Fqluu\u002F\",\"name\":\"Quang LuuCBTW\",\"isPartOf\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#website\"},\"breadcrumb\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Fauthor\u002Fqluu\u002F#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\u002F\u002Fstaging.cbtw.tech\u002Fauthor\u002Fqluu\u002F\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Fauthor\u002Fqluu\u002F#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Archives for Quang Luu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#website\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\",\"name\":\"CBTW\",\"description\":\"Collaboration Betters The World\",\"publisher\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#organization\",\"name\":\"CBTW\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Flogo\u002Fimage\u002F\",\"url\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FPrimary_Classic.png\",\"contentUrl\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FPrimary_Classic.png\",\"width\":1001,\"height\":538,\"caption\":\"CBTW\"},\"image\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Flogo\u002Fimage\u002F\"},\"sameAs\":[\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fcollaboration-betters-the-world\",\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fcbtw-it-and-technology\u002F\"]},{\"@type\":\"Person\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Fperson\u002Fcfaf88604c715b5df717981843cf75eb\",\"name\":\"Quang Luu\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Fperson\u002Fimage\u002F\",\"url\":\"https:\u002F\u002Fsecure.gravatar.com\u002Favatar\u002Fef83e77b484f32d2ab76b3ef41f68c57?s=96&d=mm&r=g\",\"contentUrl\":\"https:\u002F\u002Fsecure.gravatar.com\u002Favatar\u002Fef83e77b484f32d2ab76b3ef41f68c57?s=96&d=mm&r=g\",\"caption\":\"Quang Luu\"},\"mainEntityOfPage\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Fauthor\u002Fqluu\u002F\"}}]}\u003C\u002Fscript>\n\u003C!-- \u002F Yoast SEO Premium plugin. -->",{"title":773,"robots":774,"canonical":680,"og_locale":587,"og_type":775,"og_title":598,"og_url":680,"og_site_name":589,"og_image":776,"twitter_card":599,"schema":779},"Quang LuuCBTW",{"index":582,"follow":583,"max-snippet":584,"max-image-preview":585,"max-video-preview":586},"profile",[777],{"url":778,"type":8,"width":8,"height":8},"https:\u002F\u002Fsecure.gravatar.com\u002Favatar\u002Fef83e77b484f32d2ab76b3ef41f68c57?s=500&d=mm&r=g",{"@context":603,"@graph":780},[781,789,794,800,804],{"@type":782,"@id":680,"url":680,"name":773,"isPartOf":783,"breadcrumb":784,"inLanguage":622,"potentialAction":786},"ProfilePage",{"@id":632},{"@id":785},"https:\u002F\u002Fstaging.cbtw.tech\u002Fauthor\u002Fqluu\u002F#breadcrumb",[787],{"@type":639,"target":788},[680],{"@type":645,"@id":785,"itemListElement":790},[791,792],{"@type":648,"position":15,"name":649,"item":650},{"@type":648,"position":32,"name":793},"Archives for Quang Luu",{"@type":653,"@id":632,"url":650,"name":589,"description":654,"publisher":795,"potentialAction":796,"inLanguage":622},{"@id":614},[797],{"@type":658,"target":798,"query-input":799},{"@type":660,"urlTemplate":661},{"@type":663,"valueRequired":566,"valueName":664},{"@type":666,"@id":614,"name":589,"url":650,"logo":801,"image":802,"sameAs":803},{"@type":642,"inLanguage":622,"@id":668,"url":669,"contentUrl":669,"width":670,"height":671,"caption":589},{"@id":668},[504,674],{"@type":676,"@id":610,"name":598,"image":805,"mainEntityOfPage":806},{"@type":642,"inLanguage":622,"@id":678,"url":679,"contentUrl":679,"caption":598},{"@id":680},[],{"self":809,"collection":813},[810],{"href":732,"targetHints":811},{"allow":812},[723],[814],{"href":815},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fusers",[817],{"id":531,"date":818,"slug":819,"type":820,"link":821,"title":822,"author":232,"featured_media":13,"acf":824,"caption":825,"alt_text":643,"media_type":826,"mime_type":597,"media_details":827,"source_url":596,"_links":844},"2024-05-16T16:38:27","linus-kernel","attachment","https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffrom-novice-to-expert-building-robust-linux-character-device-drivers\u002Flinus-kernel\u002F",{"rendered":823},"linus kernel",{"layout_builder":528},{"rendered":8},"image",{"width":594,"height":595,"file":828,"filesize":829,"sizes":830,"image_meta":842},"linus-kernel.jpg",171291,{"medium":831,"thumbnail":836,"full":841},{"file":832,"width":833,"height":834,"filesize":835,"mime_type":597,"source_url":697},"linus-kernel-800x653.jpg",800,653,79882,{"file":837,"width":838,"height":839,"filesize":840,"mime_type":597,"source_url":696},"linus-kernel-100x82.jpg",100,82,3872,{"file":828,"width":594,"height":595,"mime_type":597,"source_url":596},{"aperture":17,"credit":8,"camera":8,"caption":8,"created_timestamp":17,"copyright":8,"focal_length":17,"iso":17,"shutter_speed":17,"title":8,"orientation":17,"keywords":843},[],{"self":845,"collection":849,"about":852,"author":855,"replies":857},[846],{"href":745,"targetHints":847},{"allow":848},[723],[850],{"href":851},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fmedia",[853],{"href":854},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Ftypes\u002Fattachment",[856],{"embeddable":566,"href":732},[858],{"embeddable":566,"href":859},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fcomments?post=3057",[861,911,1042,1091],[862],{"id":536,"link":863,"name":210,"slug":197,"taxonomy":751,"yoast_head":864,"yoast_head_json":865,"lang":681,"translations":890,"acf":893,"_links":894},"https:\u002F\u002Fstaging.cbtw.tech\u002Fcategory\u002Finsights\u002F","\u003C!-- This site is optimized with the Yoast SEO Premium plugin v25.4 (Yoast SEO v25.4) - https:\u002F\u002Fyoast.com\u002Fwordpress\u002Fplugins\u002Fseo\u002F -->\n\u003Ctitle>Expert Articles - CBTW\u003C\u002Ftitle>\n\u003Cmeta name=\"robots\" content=\"noindex, follow\" \u002F>\n\u003Cmeta property=\"og:locale\" content=\"en_US\" \u002F>\n\u003Cmeta property=\"og:type\" content=\"article\" \u002F>\n\u003Cmeta property=\"og:title\" content=\"Expert Articles\" \u002F>\n\u003Cmeta property=\"og:url\" content=\"https:\u002F\u002Fstaging.cbtw.tech\u002Fcategory\u002Finsights\u002F\" \u002F>\n\u003Cmeta property=\"og:site_name\" content=\"CBTW\" \u002F>\n\u003Cmeta name=\"twitter:card\" content=\"summary_large_image\" \u002F>\n\u003Cscript type=\"application\u002Fld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\u002F\u002Fschema.org\",\"@graph\":[{\"@type\":\"CollectionPage\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Fcategory\u002Finsights\u002F\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Fcategory\u002Finsights\u002F\",\"name\":\"Expert Articles - CBTW\",\"isPartOf\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#website\"},\"breadcrumb\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Fcategory\u002Finsights\u002F#breadcrumb\"},\"inLanguage\":\"en-US\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Fcategory\u002Finsights\u002F#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Expert Articles\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#website\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\",\"name\":\"CBTW\",\"description\":\"Collaboration Betters The World\",\"publisher\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#organization\",\"name\":\"CBTW\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Flogo\u002Fimage\u002F\",\"url\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FPrimary_Classic.png\",\"contentUrl\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FPrimary_Classic.png\",\"width\":1001,\"height\":538,\"caption\":\"CBTW\"},\"image\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Flogo\u002Fimage\u002F\"},\"sameAs\":[\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fcollaboration-betters-the-world\",\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fcbtw-it-and-technology\u002F\"]}]}\u003C\u002Fscript>\n\u003C!-- \u002F Yoast SEO Premium plugin. -->",{"title":866,"robots":867,"og_locale":587,"og_type":588,"og_title":210,"og_url":863,"og_site_name":589,"twitter_card":599,"schema":869},"Expert Articles - CBTW",{"index":868,"follow":583},"noindex",{"@context":603,"@graph":870},[871,876,880,886],{"@type":872,"@id":863,"url":863,"name":866,"isPartOf":873,"breadcrumb":874,"inLanguage":622},"CollectionPage",{"@id":632},{"@id":875},"https:\u002F\u002Fstaging.cbtw.tech\u002Fcategory\u002Finsights\u002F#breadcrumb",{"@type":645,"@id":875,"itemListElement":877},[878,879],{"@type":648,"position":15,"name":649,"item":650},{"@type":648,"position":32,"name":210},{"@type":653,"@id":632,"url":650,"name":589,"description":654,"publisher":881,"potentialAction":882,"inLanguage":622},{"@id":614},[883],{"@type":658,"target":884,"query-input":885},{"@type":660,"urlTemplate":661},{"@type":663,"valueRequired":566,"valueName":664},{"@type":666,"@id":614,"name":589,"url":650,"logo":887,"image":888,"sameAs":889},{"@type":642,"inLanguage":622,"@id":668,"url":669,"contentUrl":669,"width":670,"height":671,"caption":589},{"@id":668},[504,674],{"en":536,"de":891,"fr":892},48,460,[],{"self":895,"collection":900,"about":903,"wp:post_type":906,"curies":909},[896],{"href":897,"targetHints":898},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fcategories\u002F46",{"allow":899},[723],[901],{"href":902},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fcategories",[904],{"href":905},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Ftaxonomies\u002Fcategory",[907],{"href":908},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts?categories=46",[910],{"name":762,"href":763,"templated":566},[912,957,999],{"id":538,"link":913,"name":618,"slug":914,"taxonomy":754,"yoast_head":915,"yoast_head_json":916,"lang":681,"translations":939,"_links":940},"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Fdevice-drivers\u002F","device-drivers","\u003C!-- This site is optimized with the Yoast SEO Premium plugin v25.4 (Yoast SEO v25.4) - https:\u002F\u002Fyoast.com\u002Fwordpress\u002Fplugins\u002Fseo\u002F -->\n\u003Ctitle>device drivers - CBTW\u003C\u002Ftitle>\n\u003Cmeta name=\"robots\" content=\"noindex, follow\" \u002F>\n\u003Cmeta property=\"og:locale\" content=\"en_US\" \u002F>\n\u003Cmeta property=\"og:type\" content=\"article\" \u002F>\n\u003Cmeta property=\"og:title\" content=\"device drivers\" \u002F>\n\u003Cmeta property=\"og:url\" content=\"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Fdevice-drivers\u002F\" \u002F>\n\u003Cmeta property=\"og:site_name\" content=\"CBTW\" \u002F>\n\u003Cmeta name=\"twitter:card\" content=\"summary_large_image\" \u002F>\n\u003Cscript type=\"application\u002Fld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\u002F\u002Fschema.org\",\"@graph\":[{\"@type\":\"CollectionPage\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Fdevice-drivers\u002F\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Fdevice-drivers\u002F\",\"name\":\"device drivers - CBTW\",\"isPartOf\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#website\"},\"breadcrumb\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Fdevice-drivers\u002F#breadcrumb\"},\"inLanguage\":\"en-US\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Fdevice-drivers\u002F#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"device drivers\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#website\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\",\"name\":\"CBTW\",\"description\":\"Collaboration Betters The World\",\"publisher\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#organization\",\"name\":\"CBTW\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Flogo\u002Fimage\u002F\",\"url\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FPrimary_Classic.png\",\"contentUrl\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FPrimary_Classic.png\",\"width\":1001,\"height\":538,\"caption\":\"CBTW\"},\"image\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Flogo\u002Fimage\u002F\"},\"sameAs\":[\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fcollaboration-betters-the-world\",\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fcbtw-it-and-technology\u002F\"]}]}\u003C\u002Fscript>\n\u003C!-- \u002F Yoast SEO Premium plugin. -->",{"title":917,"robots":918,"og_locale":587,"og_type":588,"og_title":618,"og_url":913,"og_site_name":589,"twitter_card":599,"schema":919},"device drivers - CBTW",{"index":868,"follow":583},{"@context":603,"@graph":920},[921,925,929,935],{"@type":872,"@id":913,"url":913,"name":917,"isPartOf":922,"breadcrumb":923,"inLanguage":622},{"@id":632},{"@id":924},"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Fdevice-drivers\u002F#breadcrumb",{"@type":645,"@id":924,"itemListElement":926},[927,928],{"@type":648,"position":15,"name":649,"item":650},{"@type":648,"position":32,"name":618},{"@type":653,"@id":632,"url":650,"name":589,"description":654,"publisher":930,"potentialAction":931,"inLanguage":622},{"@id":614},[932],{"@type":658,"target":933,"query-input":934},{"@type":660,"urlTemplate":661},{"@type":663,"valueRequired":566,"valueName":664},{"@type":666,"@id":614,"name":589,"url":650,"logo":936,"image":937,"sameAs":938},{"@type":642,"inLanguage":622,"@id":668,"url":669,"contentUrl":669,"width":670,"height":671,"caption":589},{"@id":668},[504,674],{"en":538},{"self":941,"collection":946,"about":949,"wp:post_type":952,"curies":955},[942],{"href":943,"targetHints":944},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Ftags\u002F189",{"allow":945},[723],[947],{"href":948},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Ftags",[950],{"href":951},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Ftaxonomies\u002Fpost_tag",[953],{"href":954},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts?tags=189",[956],{"name":762,"href":763,"templated":566},{"id":539,"link":958,"name":619,"slug":619,"taxonomy":754,"yoast_head":959,"yoast_head_json":960,"lang":681,"translations":983,"_links":984},"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Flinux\u002F","\u003C!-- This site is optimized with the Yoast SEO Premium plugin v25.4 (Yoast SEO v25.4) - https:\u002F\u002Fyoast.com\u002Fwordpress\u002Fplugins\u002Fseo\u002F -->\n\u003Ctitle>linux - CBTW\u003C\u002Ftitle>\n\u003Cmeta name=\"robots\" content=\"noindex, follow\" \u002F>\n\u003Cmeta property=\"og:locale\" content=\"en_US\" \u002F>\n\u003Cmeta property=\"og:type\" content=\"article\" \u002F>\n\u003Cmeta property=\"og:title\" content=\"linux\" \u002F>\n\u003Cmeta property=\"og:url\" content=\"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Flinux\u002F\" \u002F>\n\u003Cmeta property=\"og:site_name\" content=\"CBTW\" \u002F>\n\u003Cmeta name=\"twitter:card\" content=\"summary_large_image\" \u002F>\n\u003Cscript type=\"application\u002Fld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\u002F\u002Fschema.org\",\"@graph\":[{\"@type\":\"CollectionPage\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Flinux\u002F\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Flinux\u002F\",\"name\":\"linux - CBTW\",\"isPartOf\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#website\"},\"breadcrumb\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Flinux\u002F#breadcrumb\"},\"inLanguage\":\"en-US\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Flinux\u002F#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"linux\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#website\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\",\"name\":\"CBTW\",\"description\":\"Collaboration Betters The World\",\"publisher\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#organization\",\"name\":\"CBTW\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Flogo\u002Fimage\u002F\",\"url\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FPrimary_Classic.png\",\"contentUrl\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FPrimary_Classic.png\",\"width\":1001,\"height\":538,\"caption\":\"CBTW\"},\"image\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Flogo\u002Fimage\u002F\"},\"sameAs\":[\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fcollaboration-betters-the-world\",\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fcbtw-it-and-technology\u002F\"]}]}\u003C\u002Fscript>\n\u003C!-- \u002F Yoast SEO Premium plugin. -->",{"title":961,"robots":962,"og_locale":587,"og_type":588,"og_title":619,"og_url":958,"og_site_name":589,"twitter_card":599,"schema":963},"linux - CBTW",{"index":868,"follow":583},{"@context":603,"@graph":964},[965,969,973,979],{"@type":872,"@id":958,"url":958,"name":961,"isPartOf":966,"breadcrumb":967,"inLanguage":622},{"@id":632},{"@id":968},"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Flinux\u002F#breadcrumb",{"@type":645,"@id":968,"itemListElement":970},[971,972],{"@type":648,"position":15,"name":649,"item":650},{"@type":648,"position":32,"name":619},{"@type":653,"@id":632,"url":650,"name":589,"description":654,"publisher":974,"potentialAction":975,"inLanguage":622},{"@id":614},[976],{"@type":658,"target":977,"query-input":978},{"@type":660,"urlTemplate":661},{"@type":663,"valueRequired":566,"valueName":664},{"@type":666,"@id":614,"name":589,"url":650,"logo":980,"image":981,"sameAs":982},{"@type":642,"inLanguage":622,"@id":668,"url":669,"contentUrl":669,"width":670,"height":671,"caption":589},{"@id":668},[504,674],{"en":539},{"self":985,"collection":990,"about":992,"wp:post_type":994,"curies":997},[986],{"href":987,"targetHints":988},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Ftags\u002F187",{"allow":989},[723],[991],{"href":948},[993],{"href":951},[995],{"href":996},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts?tags=187",[998],{"name":762,"href":763,"templated":566},{"id":540,"link":1000,"name":620,"slug":1001,"taxonomy":754,"yoast_head":1002,"yoast_head_json":1003,"lang":681,"translations":1026,"_links":1027},"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Fsoftware-components\u002F","software-components","\u003C!-- This site is optimized with the Yoast SEO Premium plugin v25.4 (Yoast SEO v25.4) - https:\u002F\u002Fyoast.com\u002Fwordpress\u002Fplugins\u002Fseo\u002F -->\n\u003Ctitle>software components - CBTW\u003C\u002Ftitle>\n\u003Cmeta name=\"robots\" content=\"noindex, follow\" \u002F>\n\u003Cmeta property=\"og:locale\" content=\"en_US\" \u002F>\n\u003Cmeta property=\"og:type\" content=\"article\" \u002F>\n\u003Cmeta property=\"og:title\" content=\"software components\" \u002F>\n\u003Cmeta property=\"og:url\" content=\"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Fsoftware-components\u002F\" \u002F>\n\u003Cmeta property=\"og:site_name\" content=\"CBTW\" \u002F>\n\u003Cmeta name=\"twitter:card\" content=\"summary_large_image\" \u002F>\n\u003Cscript type=\"application\u002Fld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\u002F\u002Fschema.org\",\"@graph\":[{\"@type\":\"CollectionPage\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Fsoftware-components\u002F\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Fsoftware-components\u002F\",\"name\":\"software components - CBTW\",\"isPartOf\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#website\"},\"breadcrumb\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Fsoftware-components\u002F#breadcrumb\"},\"inLanguage\":\"en-US\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Fsoftware-components\u002F#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"software components\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#website\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\",\"name\":\"CBTW\",\"description\":\"Collaboration Betters The World\",\"publisher\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#organization\",\"name\":\"CBTW\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Flogo\u002Fimage\u002F\",\"url\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FPrimary_Classic.png\",\"contentUrl\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FPrimary_Classic.png\",\"width\":1001,\"height\":538,\"caption\":\"CBTW\"},\"image\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Flogo\u002Fimage\u002F\"},\"sameAs\":[\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fcollaboration-betters-the-world\",\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fcbtw-it-and-technology\u002F\"]}]}\u003C\u002Fscript>\n\u003C!-- \u002F Yoast SEO Premium plugin. -->",{"title":1004,"robots":1005,"og_locale":587,"og_type":588,"og_title":620,"og_url":1000,"og_site_name":589,"twitter_card":599,"schema":1006},"software components - CBTW",{"index":868,"follow":583},{"@context":603,"@graph":1007},[1008,1012,1016,1022],{"@type":872,"@id":1000,"url":1000,"name":1004,"isPartOf":1009,"breadcrumb":1010,"inLanguage":622},{"@id":632},{"@id":1011},"https:\u002F\u002Fstaging.cbtw.tech\u002Ftag\u002Fsoftware-components\u002F#breadcrumb",{"@type":645,"@id":1011,"itemListElement":1013},[1014,1015],{"@type":648,"position":15,"name":649,"item":650},{"@type":648,"position":32,"name":620},{"@type":653,"@id":632,"url":650,"name":589,"description":654,"publisher":1017,"potentialAction":1018,"inLanguage":622},{"@id":614},[1019],{"@type":658,"target":1020,"query-input":1021},{"@type":660,"urlTemplate":661},{"@type":663,"valueRequired":566,"valueName":664},{"@type":666,"@id":614,"name":589,"url":650,"logo":1023,"image":1024,"sameAs":1025},{"@type":642,"inLanguage":622,"@id":668,"url":669,"contentUrl":669,"width":670,"height":671,"caption":589},{"@id":668},[504,674],{"en":540},{"self":1028,"collection":1033,"about":1035,"wp:post_type":1037,"curies":1040},[1029],{"href":1030,"targetHints":1031},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Ftags\u002F191",{"allow":1032},[723],[1034],{"href":948},[1036],{"href":951},[1038],{"href":1039},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts?tags=191",[1041],{"name":762,"href":763,"templated":566},[1043],{"id":542,"link":1044,"name":701,"slug":702,"taxonomy":703,"yoast_head":1045,"yoast_head_json":1046,"acf":1069,"_links":1070},"https:\u002F\u002Fstaging.cbtw.tech\u002Fcbtw_industries\u002Fmanufacturing\u002F","\u003C!-- This site is optimized with the Yoast SEO Premium plugin v25.4 (Yoast SEO v25.4) - https:\u002F\u002Fyoast.com\u002Fwordpress\u002Fplugins\u002Fseo\u002F -->\n\u003Ctitle>Manufacturing - CBTW\u003C\u002Ftitle>\n\u003Cmeta name=\"robots\" content=\"noindex, follow\" \u002F>\n\u003Cmeta property=\"og:locale\" content=\"en_US\" \u002F>\n\u003Cmeta property=\"og:type\" content=\"article\" \u002F>\n\u003Cmeta property=\"og:title\" content=\"Manufacturing\" \u002F>\n\u003Cmeta property=\"og:url\" content=\"https:\u002F\u002Fstaging.cbtw.tech\u002Fcbtw_industries\u002Fmanufacturing\u002F\" \u002F>\n\u003Cmeta property=\"og:site_name\" content=\"CBTW\" \u002F>\n\u003Cmeta name=\"twitter:card\" content=\"summary_large_image\" \u002F>\n\u003Cscript type=\"application\u002Fld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\u002F\u002Fschema.org\",\"@graph\":[{\"@type\":\"CollectionPage\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Fcbtw_industries\u002Fmanufacturing\u002F\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Fcbtw_industries\u002Fmanufacturing\u002F\",\"name\":\"Manufacturing - CBTW\",\"isPartOf\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#website\"},\"breadcrumb\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Fcbtw_industries\u002Fmanufacturing\u002F#breadcrumb\"},\"inLanguage\":\"en-US\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Fcbtw_industries\u002Fmanufacturing\u002F#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Manufacturing\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#website\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\",\"name\":\"CBTW\",\"description\":\"Collaboration Betters The World\",\"publisher\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#organization\",\"name\":\"CBTW\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Flogo\u002Fimage\u002F\",\"url\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FPrimary_Classic.png\",\"contentUrl\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FPrimary_Classic.png\",\"width\":1001,\"height\":538,\"caption\":\"CBTW\"},\"image\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Flogo\u002Fimage\u002F\"},\"sameAs\":[\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fcollaboration-betters-the-world\",\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fcbtw-it-and-technology\u002F\"]}]}\u003C\u002Fscript>\n\u003C!-- \u002F Yoast SEO Premium plugin. -->",{"title":1047,"robots":1048,"og_locale":587,"og_type":588,"og_title":701,"og_url":1044,"og_site_name":589,"twitter_card":599,"schema":1049},"Manufacturing - CBTW",{"index":868,"follow":583},{"@context":603,"@graph":1050},[1051,1055,1059,1065],{"@type":872,"@id":1044,"url":1044,"name":1047,"isPartOf":1052,"breadcrumb":1053,"inLanguage":622},{"@id":632},{"@id":1054},"https:\u002F\u002Fstaging.cbtw.tech\u002Fcbtw_industries\u002Fmanufacturing\u002F#breadcrumb",{"@type":645,"@id":1054,"itemListElement":1056},[1057,1058],{"@type":648,"position":15,"name":649,"item":650},{"@type":648,"position":32,"name":701},{"@type":653,"@id":632,"url":650,"name":589,"description":654,"publisher":1060,"potentialAction":1061,"inLanguage":622},{"@id":614},[1062],{"@type":658,"target":1063,"query-input":1064},{"@type":660,"urlTemplate":661},{"@type":663,"valueRequired":566,"valueName":664},{"@type":666,"@id":614,"name":589,"url":650,"logo":1066,"image":1067,"sameAs":1068},{"@type":642,"inLanguage":622,"@id":668,"url":669,"contentUrl":669,"width":670,"height":671,"caption":589},{"@id":668},[504,674],[],{"self":1071,"collection":1076,"about":1079,"wp:post_type":1082,"curies":1089},[1072],{"href":1073,"targetHints":1074},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fcbtw_industries\u002F137",{"allow":1075},[723],[1077],{"href":1078},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fcbtw_industries",[1080],{"href":1081},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Ftaxonomies\u002Fcbtw_industries",[1083,1085,1087],{"href":1084},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts?cbtw_industries=137",{"href":1086},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fcbtw_job?cbtw_industries=137",{"href":1088},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fcbtw_delivery_center?cbtw_industries=137",[1090],{"name":762,"href":763,"templated":566},[1092],{"id":544,"link":1093,"name":707,"slug":708,"taxonomy":709,"yoast_head":1094,"yoast_head_json":1095,"acf":1118,"_links":1119},"https:\u002F\u002Fstaging.cbtw.tech\u002Fcbtw_services\u002Fsmart-industrial-solutions\u002F","\u003C!-- This site is optimized with the Yoast SEO Premium plugin v25.4 (Yoast SEO v25.4) - https:\u002F\u002Fyoast.com\u002Fwordpress\u002Fplugins\u002Fseo\u002F -->\n\u003Ctitle>Smart Industrial Solutions - CBTW\u003C\u002Ftitle>\n\u003Cmeta name=\"robots\" content=\"noindex, follow\" \u002F>\n\u003Cmeta property=\"og:locale\" content=\"en_US\" \u002F>\n\u003Cmeta property=\"og:type\" content=\"article\" \u002F>\n\u003Cmeta property=\"og:title\" content=\"Smart Industrial Solutions\" \u002F>\n\u003Cmeta property=\"og:url\" content=\"https:\u002F\u002Fstaging.cbtw.tech\u002Fcbtw_services\u002Fsmart-industrial-solutions\u002F\" \u002F>\n\u003Cmeta property=\"og:site_name\" content=\"CBTW\" \u002F>\n\u003Cmeta name=\"twitter:card\" content=\"summary_large_image\" \u002F>\n\u003Cscript type=\"application\u002Fld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\u002F\u002Fschema.org\",\"@graph\":[{\"@type\":\"CollectionPage\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Fcbtw_services\u002Fsmart-industrial-solutions\u002F\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Fcbtw_services\u002Fsmart-industrial-solutions\u002F\",\"name\":\"Smart Industrial Solutions - CBTW\",\"isPartOf\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#website\"},\"breadcrumb\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Fcbtw_services\u002Fsmart-industrial-solutions\u002F#breadcrumb\"},\"inLanguage\":\"en-US\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002Fcbtw_services\u002Fsmart-industrial-solutions\u002F#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Smart Industrial Solutions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#website\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\",\"name\":\"CBTW\",\"description\":\"Collaboration Betters The World\",\"publisher\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#organization\",\"name\":\"CBTW\",\"url\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Flogo\u002Fimage\u002F\",\"url\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FPrimary_Classic.png\",\"contentUrl\":\"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FPrimary_Classic.png\",\"width\":1001,\"height\":538,\"caption\":\"CBTW\"},\"image\":{\"@id\":\"https:\u002F\u002Fstaging.cbtw.tech\u002F#\u002Fschema\u002Flogo\u002Fimage\u002F\"},\"sameAs\":[\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fcollaboration-betters-the-world\",\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fcbtw-it-and-technology\u002F\"]}]}\u003C\u002Fscript>\n\u003C!-- \u002F Yoast SEO Premium plugin. -->",{"title":1096,"robots":1097,"og_locale":587,"og_type":588,"og_title":707,"og_url":1093,"og_site_name":589,"twitter_card":599,"schema":1098},"Smart Industrial Solutions - CBTW",{"index":868,"follow":583},{"@context":603,"@graph":1099},[1100,1104,1108,1114],{"@type":872,"@id":1093,"url":1093,"name":1096,"isPartOf":1101,"breadcrumb":1102,"inLanguage":622},{"@id":632},{"@id":1103},"https:\u002F\u002Fstaging.cbtw.tech\u002Fcbtw_services\u002Fsmart-industrial-solutions\u002F#breadcrumb",{"@type":645,"@id":1103,"itemListElement":1105},[1106,1107],{"@type":648,"position":15,"name":649,"item":650},{"@type":648,"position":32,"name":707},{"@type":653,"@id":632,"url":650,"name":589,"description":654,"publisher":1109,"potentialAction":1110,"inLanguage":622},{"@id":614},[1111],{"@type":658,"target":1112,"query-input":1113},{"@type":660,"urlTemplate":661},{"@type":663,"valueRequired":566,"valueName":664},{"@type":666,"@id":614,"name":589,"url":650,"logo":1115,"image":1116,"sameAs":1117},{"@type":642,"inLanguage":622,"@id":668,"url":669,"contentUrl":669,"width":670,"height":671,"caption":589},{"@id":668},[504,674],[],{"self":1120,"collection":1125,"about":1128,"wp:post_type":1131,"curies":1134},[1121],{"href":1122,"targetHints":1123},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fcbtw_services\u002F136",{"allow":1124},[723],[1126],{"href":1127},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fcbtw_services",[1129],{"href":1130},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Ftaxonomies\u002Fcbtw_services",[1132],{"href":1133},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts?cbtw_services=136",[1135],{"name":762,"href":763,"templated":566},{"related_title":8,"posts":1137},[1138,1149,1160],{"id":1139,"title":1140,"description":8,"excerpt":1141,"date":1143,"categories":210,"link":1144,"image":1145,"images":1146},15386,"What It Means to Work with a Team Certified by Anthropic",{"rendered":1142},"AI adoption is already happening inside most organizations. The real question is whether it's governed - and whether proficiency can be verified. CBTW's Claude Code certification program for software engineering teams is one concrete answer: an external standard, set by Anthropic, applied across 320 developers in Europe.","2026-06-09","https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Fwhat-it-means-to-work-with-a-team-certified-by-anthropic","https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FAILearningPath_Badge_Linkedin_ENG-1.png",{"medium":1147,"large":1148,"full":1145},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FAILearningPath_Badge_Linkedin_ENG-1-800x419.png","https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FAILearningPath_Badge_Linkedin_ENG-1-1024x536.png",{"id":1150,"title":1151,"description":8,"excerpt":1152,"date":1154,"categories":220,"link":1155,"image":1156,"images":1157},15112,"GenAI RfP Processing: A Case Study with Human-in-the-Loop",{"rendered":1153},"This case study shows how we built a GenAI RfP processing solution on Azure that cut matching time by 3x while keeping human experts in control. The Challenge&nbsp; A single&nbsp;RfP&nbsp;can include dozens of documents: specifications, drawings,&nbsp;forms&nbsp;and clarifications, all referencing each other, easily exceeding 100 pages.&nbsp;The information you need is scattered, and no two tenders are [&hellip;]","2026-06-03","https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Fgenai-rfp-processing-a-case-study-with-human-in-the-loop","https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fgenai-rfp-processing-human-in-the-loop-1.jpg",{"medium":1158,"large":1159,"full":1156},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fgenai-rfp-processing-human-in-the-loop-1-640x800.jpg","https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002Fgenai-rfp-processing-human-in-the-loop-1-819x1024.jpg",{"id":1161,"title":1162,"description":8,"excerpt":1163,"date":1165,"categories":210,"link":1166,"image":1167,"images":1168},15073,"Fintech App Development in Singapore for Banks and Payment Providers",{"rendered":1164},"Singapore is one of the most demanding environments in the world to build financial software. The market is mature, institution-led, and unforgiving of poor digital experiences, especially when products serve banks, payment networks, fintech platforms, and financial services firms.&nbsp; This is the context in which CBTW builds fintech apps in Singapore.&nbsp;Mobile app development in Singapore&nbsp;for [&hellip;]","2026-06-02","https:\u002F\u002Fstaging.cbtw.tech\u002Finsights\u002Ffintech-app-development-in-singapore","https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FThiet-ke-chua-co-ten-2.webp",{"medium":1169,"large":1170,"full":1167},"https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FThiet-ke-chua-co-ten-2-800x533.webp","https:\u002F\u002Fstaging-admin.cbtw.tech\u002Fwp-content\u002Fuploads\u002FThiet-ke-chua-co-ten-2-1024x683.webp",1786592021949]