Aug. 27th, 2012

juan_gandhi: (Default)
  @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.
juan_gandhi: (Default)
Любопытно, да? Тебе показывают красотищу, а тебя это только раздражает.

Бывает же.

Если что-то, куда ты и сам можешь поехать, то это прекрасно; решаешь, мол, я тоже хочу увидеть. А если не обломится? Если у тебя артрит, облитерирующий эндартериит, инфаркт, инсульт и диабет, а тебе показывают Намче базар, ледник Кхумбу, ну и соответствующую Вершину, то что? А блин завидно же конкретно.

Ну или, скажем, коллега взял, поехал на пять недель в отпуск (где, блин, люди берут пять недель отпуск? и деньги на такой отпуск?), прокатился вдоль всей Африки на джипе, или от Амазонас до Патагонии на мотоцикле, да ещё и сел на пароход и сгонял в Антарктиду, типа рядом было?

Нет, ну это ещё туда-сюда.

Помню, как зацепили меня в 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, то было бы как-то слишком жестоко показывать фотографии этого всего друзьям и коллегам в дождливом Питере. Жестоко просто.

Лучше, наверное, помалкивать.

Эх.

oneliners

Aug. 27th, 2012 01:22 pm
juan_gandhi: (Default)
man ascii
cd -
python -m SimpleHTTPServer 8080 # servers current dir on http
du | sort -n
nc
apropos
juan_gandhi: (Default)
Где-то в моём жж в комментах прозвучал призыв прекратить демагогию.

Давайте все присоединимся.

Долой демагогию. Долой плохих людей. Долой неправильные суждения. Все, кто неправы, неправы, и они должны это признать.
juan_gandhi: (Default)
Я последнее время как проклятый работаю избирательным комиссаром и организатором селекторных совещаний. Ну хер с ними с селекторными совещаниями ("Категории на Джаваскрипте", докладчик Майк Стей); а выборы вот.

На surveymonkey поставил список книг, которые мы на pattern group решили почитать. На той неделе собрались, принесли книжки, все поглядели, поставил на манки голосовать.

В процессе голосования стали поступать дополнительные кандидаты. Я стал добавлять кандидатов, но избиратели стали жаловаться, что им не дают переголосовывать.

Победил с отрывом кандидат - книжка про хардвер. Я пишу Дэйву, мол ета, будешь вести этот трек? Не, говорит, я не готов.

Ну тогда побеждает вторая книжка, beautiful code. Будем её читать.

In a different development, вчерась три керамика выбирали название для своего будущего шоу. Насобирали 15 вариантов; я на demosurvey устроил им голосование.

Проголосовало двое. 50% получил один кандидат, и 50% другой. Теперь они будут силовыми методами решать, кто на самом деле победил.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

September 2025

S M T W T F S
 1 23456
78910111213
14151617181920
21222324252627
282930    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 4th, 2025 02:20 am
Powered by Dreamwidth Studios