nowherenoone: (Sai)
Требуется помощь коллективного разума:
Вдруг начало выпадать такое, прилетает чистый CCE и в логе трейса просто нет, как будто он из воздуха возник. Как искать непонятно, приложение большое, дебагером почти нереально. В каких случаях такое может возникать и как его искать?
nowherenoone: (Default)
Полвторого ночи, работаю, заиграла на радио Земфира "Почему" и вдруг нахлынуло дежавю - 13 лет назад я сидел так же ночью, колупал кёрнел и инсталятор к Линуксу, сбоку 2-х литровка Колы и колба свежесваренного кофе (теперь я так уже не могу) и слушали диск Земфиры...
Правда, сидели в офисе, но какая разница.
nowherenoone: (Default)
В дополнение к трем причинам перечисленным в этой замечательной статье, у меня недавно появилась ещё одна эзотерическая идея.
Все люди вокруг ложатся спать и их мозги перестают генерировать в ноосферу миллионы разных активных дневных мыслей. Т.е. становится реально тихо в эфире. И это перестает раздражать и возбуждать мозги программиста. Всякие левые мысли не залетают просто так. И он может наконец сфокусироваться на одной задаче и не перескакивать с одного на другое.
Или же поток энергии от Солнца таки добирается до нейронов и перевозбуждает их. А ночью этот поток ослабевает, так как экранируется Землей.
Хотя версия об усталости мозга из статьи тоже может быть объяснением. Как и лень и неорганизованность.
Но факт - я не раз и не два замечал, что если у меня есть возможность, то я сползаю к работе до 4-5 ночи, при этом чувствую себя замечательно. А днем усталый и пассивный.
И куча кода написана именно ночью.
nowherenoone: (Default)

Я и раньше знал, что не могу нормально работать, когда вокруг шумят. И тишина тоже напрягает. Поэтому у меня всегда играет нечто на фоне, например Жан-Мишель Жарр или диско 80-х.
Но тут сидя дома один в пустой квартире вдруг с удивлением обнаружил, что не могу сконцентрироваться, если музыка играет из колонок за спиной, причем даже очень тихая мешает. Но отлично работаю с наушниками и любой музыкой, как громкой, так и тихой.
Офисный рефлекс?

nowherenoone: (Default)
А именно - комп или приложение может упасть в любой момент, поэтому настройки надо сохранять регулярно, а не при выходе. Как пример, у меня почти никогда не бывает, что я выхожу из Notepad++ - он всегда открыт и лаптоп я не выключаю, а пользуюсь сном, поэтому чаще всего перезагрузка - это когда комп на второй-третий месяц таки грохнулся (по разным причинам). Очень редко бывает, что поставил что-то такое, что требует перезагрузки и мне оно сразу надо.
Не знаю как в йаТелефончике, но в Андроиде ОпСистема может выгрузить приложение в любой момент и оно должно быть к этому готово и должно уметь позже восстановиться в то же самое состояние.
На десктопе многие приложения этого нифига не умеют и мне приходится их иногда закрывать просто чтобы сохранить состояние типа списка открытых документов итд.
Так что те, кто все ещё пишут десктопные приложения - имейте в виду!

Git WTF

May. 6th, 2011 11:06 am
nowherenoone: (Default)
Вот объясните мне, КАК(!) если я работаю только с origin'ом, как я мог получить изменение от коллеги в свой мастер, но не в origin, хотя он пушил именно туда :)

nowherenoone: (Default)
Пример.

У числовых классов типа Long есть 4 метода, которые делают с виду то, что надо:
long parseLong(String)
Long valueof(String) (который на самом деле враппер вокруг parseLong)
Long getLong(String)
Long decode(String)

Декоде скорее всего мимо. Если помнишь, что вальюОф - это враппер (хотя и с кэшингом, но это уже оптимизация), то выбор остается небольшой. И с появлением в Java5 боксинга-анбоксинга (авто-конвертация long<->Long) в общем случае типа пофиг, что вызывать. Если не помнишь про грабли. А когда надо быстро и в запарке, то уже не до граблей.
Поэтому пишешь:

result.nextStart = Long.getLong(response.getLastHeader("X-Text-Size").getValue());

От лонга сюрпризов никак не ожидаешь - обычно если ему придет какая-нибудь херня, то он кинет NumberFormatException и на это дело у нас есть ловилка внизу. Либо вернет число, как и задумано.

И тут оно падает с NullPointer... :(
Так как на лонг подозрений нет, то начинаешь проверять по порядку response, header, value. Всё вроде на месте, число красивое. Всё равно падает. Заходишь дебаггером внутрь лонга. Мать моя женщина. Вот ведь уроды:

Determines the long value of the system property with the specified name.
...
If there is no property with the specified name, if the specified name is empty or null, or if the property does not have the correct numeric format, then null is returned.

Т.е. мало того, что класс занимается вообще не тем, чем должен (правильно было бы двинуть-переименовать getLong скорее в System.getLongProperty(String) ), так даже если он нашел эту пропертю, но она кривая, то он всё равно просто возвращает по-тихому нулл и все дела.
Вместо подсознательно ожидаемых (от parseLong или valueOf) 2-х вариантов: число или исключение; появляются другие 2: число или "а хрен его знает". И именно этот последний возвращается как чуть что не так.

Дополнительно отводит глаза и то, что падает оно не прямо в написанном коде, а на скрытом анбоксинге из Long в long. Поэтому в первый момент смотришь в редактор и офигиваешь "Как же так, всё проверил, все параметры не нулл, а оно таки падает" %(
nowherenoone: (Default)
Уже второй раз, писал вот быстро, долго не думал и вдруг наступил.

Такой вот пример:
public class Test {
    public static void main (String[] args) {
        class Holder {
            Object obj;
            long bla;
        };
        Holder holder = new Holder();
        holder.obj = "123";

        holder.bla = Long.getLong(holder.obj.toString());
    }
}

Кидает:
Exception in thread "main" java.lang.NullPointerException
    at Test.main(Test.java:10)

Кто скажет в чём бага не открывая доки, может купить себе пирожное :)

ЗЫ И очень хочется посмотреть в глаза тому человеку, который это придумал!
nowherenoone: (Default)
2011-03-31T15:08:58.859428Z
Кто знает, что это в конце?

Пишут, что формат http://en.wikipedia.org/wiki/ISO_8601 , но это и так понятно. Только вот у меня слепота насчёт миллисекунд.
nowherenoone: (Default)
http://www.phoboslab.org/ztype/

Сходу дошел до 14 волны.
Final score 945, accuracy 78.1%
Но я уже в конце начал в панике палить, когда эти противные базы веером стреляют %)

Вот так надо софт писать!
nowherenoone: (Default)
Эй, знатоки Эклипса!
Хочу найти, где класс используется любым способом: либо само имя, либо вызывается любой из его мемберов.
При этом в Эклипсе:
- поиск класса находит только прямое упоминание имени, но не getInstance().callSomeMethod();
- искать мульти-выделение методов одновременно нельзя.
Обе фишки в РефакторИте были само собой разумеющимися. Не говоря о дополнительных плюшках.

Неужели придется поднимать РефакторИТ из пепла?
Просто у меня ~100 проектов с сорцами в Эклипсе, боюсь тут парой гигов не отделаешься. Т.е. на самом деле РефакторИт на этой структуре нифига не поднимется.
nowherenoone: (Default)
Тот-Кого-Нельзя-Называть!
http://project-voldemort.com/

Пришел отсюда: http://ossdbsurvey.org/

И чтобы 2 раза не вставать - может кто знает навскидку? Надо легкую быструю встроенную Джава базу, чтобы по ходу дела можно было отгружать часть страниц на диск и освобождать память.
Сейчас используется HSQLDB в чистом memory-mode. Cached table не пошел, потому что при выдергивании шнура питания оно часто крэшилось. Т.е. хочется нечто среднее между memory и disk - быстро, но надежно и скромно по отношению к памяти.
nowherenoone: (Default)
В некоторых фирмах это расшифровывается именно так. Даже если из апдейта пришел глюк и ты его можешь пофиксить, то лучше не надо, "а то вдруг где-то ещё что-нибудь сломается (с)".
nowherenoone: (Default)
Убеждался в этом не раз, встречая умных людей с широким кругозором и кучей знаний по профессии, но пишущих отвратный код.
В чём-то перекликается с сегодняшним постом Ляли про очень подкованных писателей с дипломами, которым просто "не дано" и хоть весь лоб разбей до затылка.

Напоролись тут на эти грабли - взяли умного опытного человека написать пару проектов. Пришлось по-быстрому переписать 80% заново, а то стыдно заказчику отдавать, он же потом не вернётся с новым заказом.

У Ляли:
"У одних чуть менее читабельное. У других ( с дипломами литинститута и корочками всяких разных тутов) чуть больше читабельное. Великолепно даже читабельное. С гуманистической идеей, с оригинальным захватывающим сюжетом, с неотпускающей внимание фабулой, с этими... с узнаваемыми героями. С информативной нагрузкой. С мыслями. С матчастью досконально изученной. С отточенными описаниями, с нестандартными метафорами, с диалогами безупречными. И даже с этим... С финалом и катарсисом.

Но это все равно будет унылое говно, которое вы честно похвалите, когда вас спросят "ну как оно". И которое критики будут обожать и приводить в пример. И которому будут рукоплескать интеллигенты и литературные гурманы. И которое даже прям можно будет занести в анналы, учебную программу и методички.

Но та ваша часть, которая не мозги вовсе, а метафизическое, неуправляемое, тонкое... не Ваше, а Богово... то, от чего вы конечно же по последней моде, открещиваетесь и над которой громко смеетесь... эта часть будет всегда знать что Вот Этот Всеми Хвалимый Объективно Отличный Опус - унылое вялое говно. И забудут его уже через год все, кроме критиков. И будет это УГ пылиться на видной полке, потому что доказывает наличие вкуса, понимания и утонченности. И всё."
nowherenoone: (Default)
Кто-нибудь знает Дао этого выбора?
А то чего-то Гугл не помогает.

Update: нашел-таки на форуме
Fully recursive is exactly what you expect - full checkout, nothing excluded.
Working copy respects the existing depth settings on your working
copy. I'm not sure exactly how that would interact with merge
tracking.
nowherenoone: (Default)
Я много дней ругался про себя, потом вслух, теперь вот:

1) Как же я ненавижу чудаков, которые всем возможным свойствам и методам ставят private. Я понимаю, что они гарантируют задуманную функциональность и тырыпыры. Но частенько надо подправить всего чуток, проапгрейдить модель или метод перекрыть, чтобы совсем чуть-чуть, но по-другому работало. Так вот хрен. Я бы даже скопировал, но юрист не одобрит.
Я думаю, это от самовлюбленности, узколобости и скрытых страхов. К психологу, блин.

2) Бесит Нвидиа. Я лаптоп с Вистой подключаю последовательно в течение дня: 2*1680х1050, спать, 1*1680х1050, спать, 2*1280х1024. Драйвер прошлого года пару раз в неделю переставал давать 32 бита и соглашался только на 16, лечилось перезагрузкой и потерей 10-15 минут. Остальное даже работало, разве что слетало разрешение, но давало выбрать обратно. Заколебало, поставил свежий супер-пупер.
В драйвере этого лета эти сукипрекрасные девелоперы переписали панель, теперь нельзя выбрать, какой монитор у меня слева и какой справа, блин. Кроме того, теперь пару раз в неделю слетает разрешение, причем выбрать уже нифига не дает, скидывает на 800х600. Сегодня с двумя 1680х1050 он вообще не мог никак определиться куда и что показывать и просто бредил, в течение получаса мучений видел штук пять вариантов и нифига не тот, что мне нужен. Суууки!

Profile

nowherenoone: (Default)
nowherenoone

December 2012

S M T W T F S
      1
2345 67 8
9 1011 12131415
161718192021 22
23242526272829
3031     

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 20th, 2017 07:36 am
Powered by Dreamwidth Studios