Author Archive
Hash functions benchmark (javascript)
Test funkcji hashujących opierający się na kodzie napisanym w javascripcie uruchomionym w konsoli node.js
Wyniki:
>node data/benchmark/hash.js
md5 x 62,315 ops/sec +0.40% (101 runs sampled)
sha1 x 143,658 ops/sec +0.31% (99 runs sampled)
murmurhash3 x 2,234,721 ops/sec +0.32% (97 runs sampled)
sha256 x 239,232 ops/sec +2.97% (86 runs sampled)
xxhash x 206,667 ops/sec +3.50% (91 runs sampled)
Fastest is murmurhash3
Kod testera: (wymaga biblioteki crypto, xxhash i benchmark)
npm install crypto
npm install xxhash
npm install benchmark
/**
* Hash functions benchmark (javascript)
* @author Michał (foxbond) Chraniuk
*
* funkcje {md5,sha1,sha256} to najprostsze użycie biblioteki crypto
* funkcja xxhash pochodzi z biblioteki xxhash wymienionej na oficjalnej stronie tegoż algorytmu
* funkcja murmurhash3 to przepisanie słowo w słowo z implementacji C
*/
var b = require('benchmark');
var crypto = require('crypto');
var xxh = require('xxhash');
var suite = new b.Suite;
// add tests
suite.add('md5', function() {
md5('qwertyuiop[]asdfghjkl;zxcvbnm,1234567890-=');
})
.add('sha1', function() {
sha1('qwertyuiop[]asdfghjkl;zxcvbnm,1234567890-=');
})
.add('murmurhash3', function() {
murmurhash3('qwertyuiop[]asdfghjkl;zxcvbnm,1234567890-=', 123);
})
.add('sha256', function() {
sha256('qwertyuiop[]asdfghjkl;zxcvbnm,1234567890-=', 123);
})
.add('xxhash', function() {
xxhash('qwertyuiop[]asdfghjkl;zxcvbnm,1234567890-=', 123);
})
// add listeners
.on('cycle', function(event) {
console.log(String(event.target));
})
.on('complete', function() {
console.log('Fastest is ' + this.filter('fastest').pluck('name'));
})
// run async
.run({ 'async': true });
sBot – nowy, niezwykle intuicyjny bot do gry internetowej Margonem MMORPG!
Pracuję nad nowym botem do margo. Wszelkie info pod tym linkiem:
Nowa strona
Wkrótce ukaże się nowa strona. Będzie ona oparta na Foxbond µFramework, tak więc rezygnuję z wordpressa na rzecz własnych rozwiązań.
W łatwy sposób będzie można wyszukać moje projekty oraz jako nowość pojawią się pisane przeze mnie recenzje. Będę oceniał filmy i gry, również te na androida i PSX
Auto-zamykanie okienka „Przeciwnik jest już martwy”
Taki malutki dodatek zrobiony na zamówienie:
http://www.margoextend.net/dodatek/15801/auto-zamykanie-okienka-przeciwnik-jest-juz
//(c) 2013 Michał (foxbond) Chraniuk [http://foxbond.cba.pl]
function foxHideAlert2(){if($("#alert").css("display")=="block"){if($("#alert").children().next().html()=="Przeciwnik jest już martwy!"){$("#alert").hide(0)}}}setInterval("foxHideAlert2();",500);
Autoheal margonem
Dzięki temu dodatkowi automatycznie się uleczysz.
Dodatek robiony na zamówienie.
http://www.margoextend.net/dodatek/15792/autoheal
Wpisujesz poniżej jakiej wartości ma leczyć oraz nazwę przedmiotu leczącego. Wszystkie dane są zapisywane gdy zmieniasz mapę!
//(c) 2013 Michał (foxbond) Chraniuk [http://foxbond.cba.pl]
function foxUsePotion(e){for(var t=1;t<=200;t++){for(var n in g.item){if(g.item[n].cl==16&&g.item[n].name==e){if(g.item[n].stat.indexOf("amount")>-1){mCount=g.item[n].stat.replace(/;.*/,"");mCount=mCount.replace("amount=","");if(parseInt(mCount)==t){$("#item"+n).dblclick();return}}else{$("#item"+n).dblclick();return}}}}}function foxAutoHeal(){var e=$("#foxHealInput").val();var t=$("#foxHealInputHp").val();if(hero.hp==hero.maxhp){return}if(hero.hp<t){foxUsePotion(e)}}function foxAutoHealTimeoutFunc(){$("#foxHealInput").val(foxReadCookie("foxAutoHealName"));$("#foxHealInputHp").val(foxReadCookie("foxAutoHealHp"));$("#foxAutoHealBox").draggable();if(foxReadCookie("foxAutoHealRun")=="yes"){if(foxAutoHealIntervalObj!=0){clearInterval(foxAutoHealIntervalObj)}foxAutoHealIntervalObj=setInterval("foxAutoHeal();",300);foxSaveCookie()}else{clearInterval(foxAutoHealIntervalObj)}$("#foxHealStart").click(function(){if(foxAutoHealIntervalObj!=0){clearInterval(foxAutoHealIntervalObj)}foxAutoHealIntervalObj=setInterval("foxAutoHeal();",300);foxSaveCookie()});$("#foxHealStop").click(function(){clearInterval(foxAutoHealIntervalObj)})}function foxStartAutoHeal(){$("body").append('<div style="z-index:1000; width:480px; border:1px brown solid; background-color:rgba(100,220,100,0.7);" id="foxAutoHealBox">Hp:<input type="text" id="foxHealInputHp">Nazwa:<input type="text" id="foxHealInput"><button id="foxHealStart">Start</button><button id="foxHealStop">Stop</button></div>');setTimeout("foxAutoHealTimeoutFunc();",500);foxAutoHeal()}function foxReadCookie(e){var t=""+document.cookie;var n=t.indexOf(e);if(n==-1||e=="")return"";var r=t.indexOf(";",n);if(r==-1)r=t.length;return unescape(t.substring(n+e.length+1,r))}function foxSaveCookie(){var e=$("#foxHealInput").val();var t=$("#foxHealInputHp").val();if(foxAutoHealIntervalObj!=0){var n="yes"}else{var n="no"}expiry=new Date(parseInt((new Date).getTime())*2);document.cookie="foxAutoHealName="+e+";expires="+expiry+";";document.cookie="foxAutoHealHp="+t+";expires="+expiry+";";document.cookie="foxAutoHealRun="+n+";expires="+expiry+";"}var foxAutoHealIntervalObj=0;foxStartAutoHeal();
Auto-zamykanie okienka „przeciwnik walczy z kimś innym”
Taki malutki dodatek zrobiony na zamówienie:
http://www.margoextend.net/dodatek/15790/auto-zamykanie-okienka-przeciwnik-walczy
//(c) 2013 Michał (foxbond) Chraniuk [http://foxbond.cba.pl]
function foxHideAlert(){if($("#alert").css("display")=="block"){if($("#alert").children().next().html()=="Przeciwnik walczy z kimś innym!"){$("#alert").hide(0)}}}setInterval("foxHideAlert();",500);
BorderLess Engine
Strona gry: Danarroth
Rozpocząłem pracę nad nowym silnikiem.
Jest to silnik c++/php/js gry 2D przez przeglądarkę!
Strona projektu to:
Bieżące informacje można na fanpage’u na fb:
https://www.facebook.com/BorderlessEngine
Poszukuję grafików chętnych wspomóc projekt. Oczywiście wszystko jest non-profit.
Jak zmienić stronę logowania systemu windows?
Podczas personalizacji mojego laptopa natrafiłem na pewien problem. Obraz pojawiający się w czasie logowania jak i przy naciśnięciu klawiszy ALT+CTRL+DELETE nijak pasował do mojego motywu. Okazało się jednak, że można go łatwo zmienić.
1. Najpierw musimy przygotować sobie obraz na jaki chcemy zmienić.
W tym celu kliknij prawym przyciskiem myszy na pulpit i wybierz z menu Rozdzielczość ekranu
I odczytujemy rozdzielczość ekranu z miejsca pokazanego strzałką. W moim wypadku jest to 1366 x 768