Sep. 13th, 2013
мой доппельгангер
Sep. 13th, 2013 01:14 pm
http://www.google.com/imgres?imgurl=http://cs10038.vk.me/u97985623/a_c2933b16.jpg&imgrefurl=http://vk.com/id97985623&h=267&w=200&sz=14&tbnid=F3bfVbVYxza7TM:&tbnh=115&tbnw=86&zoom=1&usg=__kq46c-Y54MY0G8TNRuoqeK7IBtQ=&docid=KizEnaB78D2_9M&itg=1&hl=en&sa=X&ei=1nEzUpLuHaWejAKZqoGoAw&ved=0CHUQ9QEwCA&dur=1953
http://vk.com/id97985623
вчера на Scala SF
Sep. 13th, 2013 02:13 pmБыла панель, Род Джонсон пришел эпатировать публику, мол, ребята, в вашей скале джавы маловато; добавьте джавы, тогда джавщики за вами потянутся.
Моя позиция такая - шо ж джавщики-то в 96-м году не вставили побольше бейсика, чтобы бейсиковцы за ними потянулись.
Жизнь идёт, эпохи меняются, хвост отрывается (и отрастает новый).
Ну и что, и собрались скучные скучающие люди, и пошла какая-то муть типа а вот нам положите в рот, тогда мы, может быть, пожуём. И Ортис, крутой такой гай, с хорошим чувством стиля, тоже подпевал в таком же духе.
Короче, я попил пива и поехал домой.
Вообще надо выбирать, на какие митапы ходить. Если там сплошное убаюкивание лентяев, то это ну просто неинтересно.
Э, зато у нас на скалабее в октябре будет выступать вот какой гай:
Lucius Gregory Meredith
With two albums to his name now available on iTunes (The Disciples of Pop and The Adventures of Victoria and Balthazar) Greg considers himself a musician as well as a mathematician and computer scientist. The principal architect behind Microsoft’s BizTalk Process Orchestration and one of the principals behind the highly advanced programming language, Rosette, and its high-performance execution environment, the Extensible Service Switch, Greg has lots of experience taking the world of ideas and translating them into practice. In 2004 and 2005 Greg was a visiting scientist at Harvard Systems Biology and the nascent formal methods in systems biology group at the University of Trento, Trento Italy. In 2005 Greg presented seminal results on reflective process algebras both at Oxford and the premier European conference, ETAPS and co-founded with Walter Fontana (Fontana Lab, Harvard Systems Biology), Plectix Biosystems. Greg is a long time student of music and the guitar. From 1999 – 2002 Greg studied with the Senegalese Griot Mapathe and Thione Diop, working with them both in Senegal and the Pacific Northwest and performing with them frequently. Greg has studied the guitar for nearly 35 years and worked within the Guitar Craft community for 12. When he’s not engaged in the day-to-day duties of running his consultancy, Biosimilarity, being a father of 5, running guitar classes with 4th graders or playing with Seattle Circle’s Tuning the Air production, Greg is producing a series of videos with the highly acclaimed C9 video production team to promote his forthcoming book, Monadic Design Patterns for the Web, or working on the next Disciples of Pop single.
Моя позиция такая - шо ж джавщики-то в 96-м году не вставили побольше бейсика, чтобы бейсиковцы за ними потянулись.
Жизнь идёт, эпохи меняются, хвост отрывается (и отрастает новый).
Ну и что, и собрались скучные скучающие люди, и пошла какая-то муть типа а вот нам положите в рот, тогда мы, может быть, пожуём. И Ортис, крутой такой гай, с хорошим чувством стиля, тоже подпевал в таком же духе.
Короче, я попил пива и поехал домой.
Вообще надо выбирать, на какие митапы ходить. Если там сплошное убаюкивание лентяев, то это ну просто неинтересно.
Э, зато у нас на скалабее в октябре будет выступать вот какой гай:
Lucius Gregory Meredith
With two albums to his name now available on iTunes (The Disciples of Pop and The Adventures of Victoria and Balthazar) Greg considers himself a musician as well as a mathematician and computer scientist. The principal architect behind Microsoft’s BizTalk Process Orchestration and one of the principals behind the highly advanced programming language, Rosette, and its high-performance execution environment, the Extensible Service Switch, Greg has lots of experience taking the world of ideas and translating them into practice. In 2004 and 2005 Greg was a visiting scientist at Harvard Systems Biology and the nascent formal methods in systems biology group at the University of Trento, Trento Italy. In 2005 Greg presented seminal results on reflective process algebras both at Oxford and the premier European conference, ETAPS and co-founded with Walter Fontana (Fontana Lab, Harvard Systems Biology), Plectix Biosystems. Greg is a long time student of music and the guitar. From 1999 – 2002 Greg studied with the Senegalese Griot Mapathe and Thione Diop, working with them both in Senegal and the Pacific Northwest and performing with them frequently. Greg has studied the guitar for nearly 35 years and worked within the Guitar Craft community for 12. When he’s not engaged in the day-to-day duties of running his consultancy, Biosimilarity, being a father of 5, running guitar classes with 4th graders or playing with Seattle Circle’s Tuning the Air production, Greg is producing a series of videos with the highly acclaimed C9 video production team to promote his forthcoming book, Monadic Design Patterns for the Web, or working on the next Disciples of Pop single.
а вот ещё селений
Sep. 13th, 2013 04:30 pmХотел уже дебагером проехаться, да глуповатый скальный компайлер в интелиджее ни хрена не компилирует (sbt прекрасно компилирует); так что избежал соблазна.
Короче.
Вот наш с Христом (это грек) код успешно открывает страницу, логинится, переходит на другую страницу, та грузится, и потом надо исполнить какой-то маленький джаваскрипт (ну хотя бы и в одну строчку, хрень какую-нибудь); и вот при исполнении этой строчки что-то в селениуме крякается, и селениум возвращает некий Код Ошибки. По этому коду в таблице находится Класс Прерывания, и вызывается его конструктор, с параметрами (мессагой и "причиной" - другим Throwable). По идее мы сконструируем это прерывание руками, а потом в нужный момент бросим в нужное место. Но увы. У этого Класса нет такого конструктора, который бы брал два параметра (юниттесты-то некогда ж писать); и вот, и вот, внутрях джейвиэма происходит когнитивный диссонанс, и она бросает прерывание про то, что не удалось инстанциировать прерывание.
Наш греческий FRP-код никаких, на бизнес-уровне, прерываний не ловит и не бросает, а вызывает, как в хорошем джаваскрипте, функцию, "onException" - сия функция, не особо зная, а чо делать-то, фер-то кё, дампает весь этот хлам в лог и гордо заканчивает свой скорбный труд.
П.С. Селений - это selenium.
Ну и вот. Чуть что - и будем бросать null. Вы никогда не бросали null?
Короче.
Вот наш с Христом (это грек) код успешно открывает страницу, логинится, переходит на другую страницу, та грузится, и потом надо исполнить какой-то маленький джаваскрипт (ну хотя бы и в одну строчку, хрень какую-нибудь); и вот при исполнении этой строчки что-то в селениуме крякается, и селениум возвращает некий Код Ошибки. По этому коду в таблице находится Класс Прерывания, и вызывается его конструктор, с параметрами (мессагой и "причиной" - другим Throwable). По идее мы сконструируем это прерывание руками, а потом в нужный момент бросим в нужное место. Но увы. У этого Класса нет такого конструктора, который бы брал два параметра (юниттесты-то некогда ж писать); и вот, и вот, внутрях джейвиэма происходит когнитивный диссонанс, и она бросает прерывание про то, что не удалось инстанциировать прерывание.
Наш греческий FRP-код никаких, на бизнес-уровне, прерываний не ловит и не бросает, а вызывает, как в хорошем джаваскрипте, функцию, "onException" - сия функция, не особо зная, а чо делать-то, фер-то кё, дампает весь этот хлам в лог и гордо заканчивает свой скорбный труд.
П.С. Селений - это selenium.
privateT createThrowable( Class clazz, Class[] parameterTypes, Object[] parameters) { try { Constructor constructor = clazz.getConstructor(parameterTypes); return constructor.newInstance(parameters); } catch (NoSuchMethodException e) { // Do nothing - fall through. } catch (InvocationTargetException e) { // Do nothing - fall through. } catch (InstantiationException e) { // Do nothing - fall through. } catch (IllegalAccessException e) { // Do nothing - fall through. } catch (OutOfMemoryError error) { // It can happen... } return null; }
Ну и вот. Чуть что - и будем бросать null. Вы никогда не бросали null?
scala> throw null java.lang.NullPointerException at .( :8) at . ( ) at . ( :7) at . ( ) at $print( ) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)