Skip to content

Instantly share code, notes, and snippets.

View inter-coder's full-sized avatar

Dusan Krstic inter-coder

  • Institute for public health of Vojvodina, BeeMon Solution
  • Serbia
View GitHub Profile
@inter-coder
inter-coder / disable_dev-tool.js
Last active December 23, 2022 08:53
Clearing the console alone is not enough, and a better approach is to disable the developer tool from being opened in any meaningful way
(function() {
'use strict';
Object.getOwnPropertyNames(console).filter(function(property) {
return typeof console[property] == 'function';
}).forEach(function (verb) {
console[verb] =function(){return 'Sorry, for security reasons...';};
});
window.addEventListener('devtools-opened', ()=>{
// do some extra code if needed or ...
// maybe even delete the page, I still like to add redirect just in case
@inter-coder
inter-coder / heatMapColorforValue.js
Created July 6, 2021 10:29
Calculating heat map colours
function heatMapColorforValue(value,alpha,max){
alpha=100*alpha;
value=value/max;
var h = parseInt((1.0 - value) * 240)
return "hsl(" + h + "deg 100% 50% / "+alpha+"%)";
}
@inter-coder
inter-coder / int2roman.js
Created July 6, 2021 10:23
convert integer to roman numeral javascript
Object.defineProperty(Number.prototype,'int2roman',{
get: function(){
const map = {
M: 1000,
CM: 900,
D: 500,
CD: 400,
C: 100,
XC: 90,
L: 50,
@inter-coder
inter-coder / copy2clipboard.js
Last active November 14, 2017 13:12
Copy to clipboard as typing
document.querySelector("input").addEventListener('keyup',function(){
var pom=document.createElement("textarea");
document.body.appendChild(pom);
pom.value=this.value;
pom.select();
try {
document.execCommand('copy');
pom.parentNode.removeChild(pom);
this.focus();
}
@inter-coder
inter-coder / c2l2c.js
Created April 25, 2017 08:27
Preslovljavanje LATINICE <=> Ћирилицу
Object.defineProperty(String.prototype,'lat2cir',{get:function(){return this.toString().replace(/A/g,"А").replace(/B/g,"Б").replace(/V/g,"В").replace(/G/g,"Г").replace(/DŽ/g,"Џ").replace(/Dž/g,"Џ").replace(/Đ/g,"Ђ").replace(/DJ/g,"Ђ").replace(/Dj/g,"Ђ").replace(/D/g,"Д").replace(/E/g,"Е").replace(/Ž/g,"Ж").replace(/Z/g,"З").replace(/I/g,"И").replace(/K/g,"К").replace(/LJ/g,"Љ").replace(/Lj/g,"Љ").replace(/L/g,"Л").replace(/M/g,"М").replace(/NJ/g,"Њ").replace(/Nj/g,"Њ").replace(/J/g,"Ј").replace(/N/g,"Н").replace(/O/g,"О").replace(/P/g,"П").replace(/R/g,"Р").replace(/S/g,"С").replace(/T/g,"Т").replace(/Ć/g,"Ћ").replace(/U/g,"У").replace(/F/g,"Ф").replace(/H/g,"Х").replace(/C/g,"Ц").replace(/Č/g,"Ч").replace(/Š/g,"Ш").replace(/a/g,"а").replace(/b/g,"б").replace(/v/g,"в").replace(/g/g,"г").replace(/dž/g,"џ").replace(/đ/g,"ђ").replace(/dj/g,"ђ").replace(/d/g,"д").replace(/e/g,"е").replace(/ž/g,"ж").replace(/z/g,"з").replace(/i/g,"и").replace(/k/g,"к").replace(/lj/g,"љ").replace(/l/g,"л").replace(/m/g,"м").replace
#!/usr/bin/env python
# Determining whether the services are working at a remote location
from socket import *
def DoesServiceExist(host, port):
targetIP = gethostbyname(host)
s = socket(AF_INET, SOCK_STREAM)
s.settimeout(1)
result = s.connect_ex((targetIP,port))
s.close()
@inter-coder
inter-coder / ArrayLoop.html
Last active December 13, 2022 06:34
Polyfill array object in order to enable the loop in steps
<html>
<body>
<span id='counter' style='position:fixed;bottom:10px;right:10px;color:white;background:black;padding:10px;'></span>
</body>
<script>
Object.defineProperty(Array.prototype,'onPassLast',{//function to execute after the last pass of the array element
get: function(){this.onPassLastFN(this)},
set: function(fn){this.onPassLastFN=fn;}
});
@inter-coder
inter-coder / ajax_get.js
Created March 15, 2016 22:14
Ajax for loading documents from local and crossdomain
var ajax_get = function(p) {
var cors = false;
if (p.url.split("//").length == 1) {
var url = p.url + "?" + this.timeStamp();
} else {
cors = true;
var url = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent('select * from html WHERE url="' + p.url + '" AND xpath="//body"') + '&format=xml&callback=cb';
}
return new Promise(function(resolve, reject) {
var xhttp = new XMLHttpRequest();
@inter-coder
inter-coder / changeValueDetection.js
Last active December 17, 2019 17:03
changeValueDetection - Observer
HTMLElement.prototype.changeValueDetection = function(){
var element=this;
var oldVal=element.value;
var GUID = function (){var S4 = function () {return(Math.floor(Math.random() * 0x10000).toString(16));};return (S4() + S4() + "-" +S4() + "-" +S4() + "-" +S4() + "-" +S4() + S4() + S4());};
var uiq="GUID-"+GUID();
if(window.changeValueDetectionEvents==undefined)window.changeValueDetectionEvents=new Event('changeValueDetection');
element.setAttribute("data-uiq",uiq);
window[uiq]=setInterval(function(){
if(element.value!=oldVal){
oldVal=element.value;element.setAttribute("value",oldVal);
@inter-coder
inter-coder / btngroup.js
Last active September 25, 2015 12:16
Simple class for creating bootstrap button groups.
var btngroup=function(){
this.desc="Simple class for creating bootstrap button groups";
};
btngroup.prototype={
addBtnGroup:function(p){
p.container.innerHTML="";
p.bscont=document.createElement("div");
p.bscont.setAttribute("class","btn-group");
p.bscont.setAttribute("role","group");
p.bscont.setAttribute("aria-label","...");