Aug. 27th, 2012
js and scala
Aug. 27th, 2012 10:25 am@Javascript implicit def function1(fun: BaseFunction) = (x: AnyRef) => fun.call(context, scope, null, Array(x))
The idea is, you write a function in JavaScript, but you want to pass it to Java/Scala code that takes a function.
I also have three JS functions that hack the classes like this:
function $field(class, name) { for (var c = class; c != null; c = c.getSuperclass()) { try { var f = c.getDeclaredField(name); f.setAccessible(true); return f; } catch (x) {} } throw new Error("Could not find method " + method + " of " + object) } function $F(object, name) { return $field(object.getClass(), name).get(object); } function $S(object, name, value) { $field(object.getClass(), name).set(object, value); }
$F
extracts the value of a member (even private); $S
sets the value.So now I can hack the stuff like this:
in Java I have
private scala.Function1<Object, Object> secretListener = null;
And now I can try my instrumentation:
Vlad-Patryshevs-iMac:test vlad$ ./x 'var f1 = function1(function(x) { println("---" + x + "---"); })' Vlad-Patryshevs-iMac:test vlad$ ./x '$S(rm, "secretListener", f1)' Vlad-Patryshevs-iMac:test vlad$ ./x '$F(rm, "secretListener").apply("this is a test")' Vlad-Patryshevs-iMac:test vlad$ ./x '$F(rm, "secretListener").apply("this is a test")' ----output---- ---this is a test--- ===================== Vlad-Patryshevs-iMac:test vlad$ cat x curl -X POST --data-binary "$1" http://localhost:8714
What happens here: I set a member (rm.secretListener) to be my
But I believe there should be better ways of instrumentation, like setting up something to be called before a specific method of a specific instance is called, etc.
раздражающие фотографии чужих поездок
Aug. 27th, 2012 12:45 pmЛюбопытно, да? Тебе показывают красотищу, а тебя это только раздражает.
Бывает же.
Если что-то, куда ты и сам можешь поехать, то это прекрасно; решаешь, мол, я тоже хочу увидеть. А если не обломится? Если у тебя артрит, облитерирующий эндартериит, инфаркт, инсульт и диабет, а тебе показывают Намче базар, ледник Кхумбу, ну и соответствующую Вершину, то что? А блин завидно же конкретно.
Ну или, скажем, коллега взял, поехал на пять недель в отпуск (где, блин, люди берут пять недель отпуск? и деньги на такой отпуск?), прокатился вдоль всей Африки на джипе, или от Амазонас до Патагонии на мотоцикле, да ещё и сел на пароход и сгонял в Антарктиду, типа рядом было?
Нет, ну это ещё туда-сюда.
Помню, как зацепили меня в 89-м, в Питере, когда Игорь Лурье, завлаб из нашего КБ, съездил к родственникам в Сан Франциско, фотографии Голден Гейта, океана, и т.п. Встал вопрос ребром - а я?! А я что, не увижу? Знаменитой Федры. Я и Чёрное-то море впервые увидел лет в 25 примерно.
В следующий раз Игоря Лурье я уже увидел в Сан Матео, и он рассказывал, как они с Маргаритой на машине сгоняли на Аляску. Ну тут я уже чуял, что догоняю, догоняю. Но он, конечно, путеводная звезда, да.
Так же и Миша Вибеке, интерн, немец, взял да и сгонял на Мауи - ну и мы тоже поняли, ага, можно сгонять на Мауи! Это в первый год, когда ещё Каса де Фрутас казалась каким-то очень далёким местом. (Сейчас-то я до этой Касы и на велике доеду, чо.)
Но вообще, мне кажется, что вот если ты прошвырнулся по маршруту Morro Bay - Capistrano - San Diego - Desert Tower - Sedona - Holbrook - 4 Corners - Moab - Monument Valley - Gooseneck - Gran Canyon - Vegas - Zabriskie Point - Badwaters - Lone Pine - Mono Lake - Lake Tahoe, то было бы как-то слишком жестоко показывать фотографии этого всего друзьям и коллегам в дождливом Питере. Жестоко просто.
Лучше, наверное, помалкивать.
Эх.
Бывает же.
Если что-то, куда ты и сам можешь поехать, то это прекрасно; решаешь, мол, я тоже хочу увидеть. А если не обломится? Если у тебя артрит, облитерирующий эндартериит, инфаркт, инсульт и диабет, а тебе показывают Намче базар, ледник Кхумбу, ну и соответствующую Вершину, то что? А блин завидно же конкретно.
Ну или, скажем, коллега взял, поехал на пять недель в отпуск (где, блин, люди берут пять недель отпуск? и деньги на такой отпуск?), прокатился вдоль всей Африки на джипе, или от Амазонас до Патагонии на мотоцикле, да ещё и сел на пароход и сгонял в Антарктиду, типа рядом было?
Нет, ну это ещё туда-сюда.
Помню, как зацепили меня в 89-м, в Питере, когда Игорь Лурье, завлаб из нашего КБ, съездил к родственникам в Сан Франциско, фотографии Голден Гейта, океана, и т.п. Встал вопрос ребром - а я?! А я что, не увижу? Знаменитой Федры. Я и Чёрное-то море впервые увидел лет в 25 примерно.
В следующий раз Игоря Лурье я уже увидел в Сан Матео, и он рассказывал, как они с Маргаритой на машине сгоняли на Аляску. Ну тут я уже чуял, что догоняю, догоняю. Но он, конечно, путеводная звезда, да.
Так же и Миша Вибеке, интерн, немец, взял да и сгонял на Мауи - ну и мы тоже поняли, ага, можно сгонять на Мауи! Это в первый год, когда ещё Каса де Фрутас казалась каким-то очень далёким местом. (Сейчас-то я до этой Касы и на велике доеду, чо.)
Но вообще, мне кажется, что вот если ты прошвырнулся по маршруту Morro Bay - Capistrano - San Diego - Desert Tower - Sedona - Holbrook - 4 Corners - Moab - Monument Valley - Gooseneck - Gran Canyon - Vegas - Zabriskie Point - Badwaters - Lone Pine - Mono Lake - Lake Tahoe, то было бы как-то слишком жестоко показывать фотографии этого всего друзьям и коллегам в дождливом Питере. Жестоко просто.
Лучше, наверное, помалкивать.
Эх.
Я последнее время как проклятый работаю избирательным комиссаром и организатором селекторных совещаний. Ну хер с ними с селекторными совещаниями ("Категории на Джаваскрипте", докладчик Майк Стей); а выборы вот.
На surveymonkey поставил список книг, которые мы на pattern group решили почитать. На той неделе собрались, принесли книжки, все поглядели, поставил на манки голосовать.
В процессе голосования стали поступать дополнительные кандидаты. Я стал добавлять кандидатов, но избиратели стали жаловаться, что им не дают переголосовывать.
Победил с отрывом кандидат - книжка про хардвер. Я пишу Дэйву, мол ета, будешь вести этот трек? Не, говорит, я не готов.
Ну тогда побеждает вторая книжка, beautiful code. Будем её читать.
In a different development, вчерась три керамика выбирали название для своего будущего шоу. Насобирали 15 вариантов; я на demosurvey устроил им голосование.
Проголосовало двое. 50% получил один кандидат, и 50% другой. Теперь они будут силовыми методами решать, кто на самом деле победил.
На surveymonkey поставил список книг, которые мы на pattern group решили почитать. На той неделе собрались, принесли книжки, все поглядели, поставил на манки голосовать.
В процессе голосования стали поступать дополнительные кандидаты. Я стал добавлять кандидатов, но избиратели стали жаловаться, что им не дают переголосовывать.
Победил с отрывом кандидат - книжка про хардвер. Я пишу Дэйву, мол ета, будешь вести этот трек? Не, говорит, я не готов.
Ну тогда побеждает вторая книжка, beautiful code. Будем её читать.
In a different development, вчерась три керамика выбирали название для своего будущего шоу. Насобирали 15 вариантов; я на demosurvey устроил им голосование.
Проголосовало двое. 50% получил один кандидат, и 50% другой. Теперь они будут силовыми методами решать, кто на самом деле победил.