{"guid":"F98C9A42-AC0C-11EC-A6F2-23B1ED48A076","title":"Rx – A Contextual Find \u0026 Replacement tool based on Regular Expressions","subtitle":null,"slug":"rx-a-contextual-find-replacement-tool-based-on-regular-expressions","link":"https://c3voc.de","description":"Decades ago we were in the implementation of industry-first data-logging solution that capable of read machinery data’s through different industry protocols. It’s planned as a sensor to cloud solution had development for nearly 2 year and in its final stages of release.  We handled the web-technology part of that.  \n\nIt’s just crossed the challenge of MySQL to PostgreSQL migration due to license changes of earlier one. Due to industrial IT environment of that time, the deployment changed to on-premises implementation. It’s raised questions on protecting IP, Piracy, Software tampering \u0026 more.\nFinally a strategy taken to obfuscate the code, so we have chances to prevent some extend. \n\nOptions were checked with standard grep tool and leading commercial solutions of the time, but none were near to solve it. The key challenge is make the replacement with logical flow that communicated in different languages. From a simple HTML element id replacement, to be continued with JS validation \u0026 PHP/Perl server handling. Sometimes it may have a CSS declaration. One thing came to clear is a simple find and replacement will not work. It seems end of road for obfuscation strategy. The management is hesitate to go on-premises without obfuscation.\n\nWhen we take-up the challenge, we had a glimmer of hope with one of our simple file traversal tool. But it seems tougher than our estimate and we are unable to find a flexible \u0026 extendable way to decode the multi-language part. Most of the time we resolved such challenges with real world alignment.  We had many inspirations from railways as a key algorithm provider.  That time also, we hit the bull's eye by implementing the century old food-delivery system of Mumbai Dabbawalas.\n\nIt’s a tiffin box delivery system through public sub-urban train infrastructure in Indian city of Mumbai from your home to office and office to home every day. The entire system runs on their custom coding system, it’s a testimony of a swarm intelligence.  Perl given us ways to adopt it without the need of technical jargons like class, object, interface, roles, inheritance \u0026 unknown many more.\n \nI will share the story of how the real world inspirations helped us in implementation and how the Perl supports in creative thought adoption in overcoming non-linear challenges. It will gives an experience to participants to realize the power of scripting language. \n\nNow the system improved as a tool for code quality check \u0026 application cloning and few more.  Earlier we planned to make it open, but it delayed for years. Now i am planning to do it by this April","original_language":"eng","persons":["Raja Renga Bashyam"],"tags":["gpw2022","7784","2022","GPW2022"],"view_count":65,"promoted":false,"date":"2022-04-01T12:00:00.000+02:00","release_date":"2022-06-11T00:00:00.000+02:00","updated_at":"2023-12-19T14:15:03.740+01:00","length":2018,"duration":2018,"thumb_url":"https://static.media.ccc.de/media/conferences/gpw/2022/7784-F98C9A42-AC0C-11EC-A6F2-23B1ED48A076.jpg","poster_url":"https://static.media.ccc.de/media/conferences/gpw/2022/7784-F98C9A42-AC0C-11EC-A6F2-23B1ED48A076_preview.jpg","timeline_url":"https://static.media.ccc.de/media/conferences/gpw/2022/7784-F98C9A42-AC0C-11EC-A6F2-23B1ED48A076.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/conferences/gpw/2022/7784-F98C9A42-AC0C-11EC-A6F2-23B1ED48A076.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/rx-a-contextual-find-replacement-tool-based-on-regular-expressions","url":"https://api.media.ccc.de/public/events/F98C9A42-AC0C-11EC-A6F2-23B1ED48A076","conference_title":"Deutscher Perl/Raku Workshop 2022","conference_url":"https://api.media.ccc.de/public/conferences/gpw2022","related":[],"recordings":[{"size":290,"length":2018,"mime_type":"video/webm","language":"eng","filename":"gpw2022-7784-eng-Rx_-_A_Contextual_Find_Replacement_tool_based_on_Regular_Expressions_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2022-06-11T03:00:53.966+02:00","recording_url":"https://cdn.media.ccc.de/events/gpw/2022/webm-hd/gpw2022-7784-eng-Rx_-_A_Contextual_Find_Replacement_tool_based_on_Regular_Expressions_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/59716","event_url":"https://api.media.ccc.de/public/events/F98C9A42-AC0C-11EC-A6F2-23B1ED48A076","conference_url":"https://api.media.ccc.de/public/conferences/gpw2022"},{"size":108,"length":2018,"mime_type":"video/webm","language":"eng","filename":"gpw2022-7784-eng-Rx_-_A_Contextual_Find_Replacement_tool_based_on_Regular_Expressions_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2022-06-11T02:31:18.944+02:00","recording_url":"https://cdn.media.ccc.de/events/gpw/2022/webm-sd/gpw2022-7784-eng-Rx_-_A_Contextual_Find_Replacement_tool_based_on_Regular_Expressions_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/59708","event_url":"https://api.media.ccc.de/public/events/F98C9A42-AC0C-11EC-A6F2-23B1ED48A076","conference_url":"https://api.media.ccc.de/public/conferences/gpw2022"},{"size":61,"length":2018,"mime_type":"video/mp4","language":"eng","filename":"gpw2022-7784-eng-Rx_-_A_Contextual_Find_Replacement_tool_based_on_Regular_Expressions_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2022-06-11T02:21:05.084+02:00","recording_url":"https://cdn.media.ccc.de/events/gpw/2022/h264-sd/gpw2022-7784-eng-Rx_-_A_Contextual_Find_Replacement_tool_based_on_Regular_Expressions_sd.mp4","url":"https://api.media.ccc.de/public/recordings/59702","event_url":"https://api.media.ccc.de/public/events/F98C9A42-AC0C-11EC-A6F2-23B1ED48A076","conference_url":"https://api.media.ccc.de/public/conferences/gpw2022"},{"size":15,"length":2018,"mime_type":"audio/opus","language":"eng","filename":"gpw2022-7784-eng-Rx_-_A_Contextual_Find_Replacement_tool_based_on_Regular_Expressions_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2022-06-11T02:14:55.366+02:00","recording_url":"https://cdn.media.ccc.de/events/gpw/2022/opus/gpw2022-7784-eng-Rx_-_A_Contextual_Find_Replacement_tool_based_on_Regular_Expressions_opus.opus","url":"https://api.media.ccc.de/public/recordings/59697","event_url":"https://api.media.ccc.de/public/events/F98C9A42-AC0C-11EC-A6F2-23B1ED48A076","conference_url":"https://api.media.ccc.de/public/conferences/gpw2022"},{"size":30,"length":2012,"mime_type":"audio/mpeg","language":"eng","filename":"gpw2022-7784-eng-Rx_-_A_Contextual_Find_Replacement_tool_based_on_Regular_Expressions_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2022-06-11T02:14:17.554+02:00","recording_url":"https://cdn.media.ccc.de/events/gpw/2022/mp3/gpw2022-7784-eng-Rx_-_A_Contextual_Find_Replacement_tool_based_on_Regular_Expressions_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/59696","event_url":"https://api.media.ccc.de/public/events/F98C9A42-AC0C-11EC-A6F2-23B1ED48A076","conference_url":"https://api.media.ccc.de/public/conferences/gpw2022"},{"size":125,"length":2018,"mime_type":"video/mp4","language":"eng","filename":"gpw2022-7784-eng-Rx_-_A_Contextual_Find_Replacement_tool_based_on_Regular_Expressions_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2022-06-11T02:07:07.594+02:00","recording_url":"https://cdn.media.ccc.de/events/gpw/2022/h264-hd/gpw2022-7784-eng-Rx_-_A_Contextual_Find_Replacement_tool_based_on_Regular_Expressions_hd.mp4","url":"https://api.media.ccc.de/public/recordings/59694","event_url":"https://api.media.ccc.de/public/events/F98C9A42-AC0C-11EC-A6F2-23B1ED48A076","conference_url":"https://api.media.ccc.de/public/conferences/gpw2022"}]}