The Nexus S, like the Nexus One before it, is designed to allow enthusiasts to install custom operating systems. Allowing your own boot image on a pure Nexus S is as simple as running fastboot oem unlock. It should be no surprise that modifying the operating system can give you root access to your phone. Hopefully that’s just the beginning of the changes you might make.
(Nick Kralevich, an engineer on the Android Security Team)
> То, что вы не смогли осилить язык, не означает, что он плох.
абсолютно согласен. язык я не осилил, по крайней мере с первого подхода.
я прос то указываю на то, что ваша статья не расчитана на неподготовленного читателя, у которого вы хотите пробудить интерес.
также из приведённого примера не видно, чем именно функциональный подход лучше.
> надеюсь, у кого-нибудь дополнительный интерес к Haskell пробудило, или поубавило скептицизма относительно бесполезности функциональных приблуд.
на самом деле, нифига подобного.
я, имея, за плечами половину «real world haskell», потерял нить уже через пару абзацев.
подумалось: ну нифига ж себе, какой оказывается геморрой написать простой сервер на хаскеле.
на самом деле, хаскель просто выворачивает наизнанку весь подход к программированию. прочитав упомянутые 8 глав RWH, я всё же вернулся к питону — там есть элементы ФП, но в более «человеческом» виде.
то есть, вы говорите — майкрософт не подстраивал оптимизатор специально под sun spider, просто они написали такой специальный оптимизатор циклов for, считающих в положительном направлении? это не делает им чести ни разу.
оптимизировать тривильные true, кстати, оптимизатор должен просто по опредлению.
невозможно представить себе оптимизатор, который сработает на фрагменте (1), но не сработает на (2) и (3). все признаки же остаются: локальные переменные, не используемые и не влияющие на глобальное состояние. мне каежется, кому-то в мс очень хотелось написать такой оптимизатор, и видимо они даже что-то написали, т.е. в каких-то случаях код они выкидывать умеют, но, к сожалению, цели — соптимизировать sunspider — он не достиг и ему пришлось «помочь» распознать именно этот, самый важный для пиара, фрагмент.
про «фундаментальную опечатку» это вы, конечно, загнули, но translation suggestion я сделал.
«It will be reviewed and needs to go through the approval process before it is included in our product.»
чего рефакторить? факторить надо нормально.
про инклюды .c/.cpp тут уже говорили. а я скажу про чтение из сокета по 1 байту, про собственный парсер инишников (никогда, НИКОГДА не пишите собственный парсер инишников!).
про int вместо bool. про полное игнорирование таких элементарных вещей как scoped_ptr. про собственный парсер URI (никогда, НИКОГДА не пишите собственный парсер URI).
про бесполезные имена переменных…
сочувствую вам. главное, конечно, не молчать: если по вине вашего напарника срываются сроки, если он мешает вам работать — об этом должно знать начальство. наверняка вы с менеджером/TL регулярно обсуждаете ход проекта, а если нет, то всегда есть возможность отозвать его «на поговорить».
не путайте сисадминс .su и .ru.
.su — это раскольники, который в своё время ушли строить свой сисадминс, с блекджеком и шлюхами. сначала назвали sysfaq.ru, потом sysadmins.su. рушник стоит.
я с линукс в качестве десктопа использую больше 6 лет, а с серверами работаю и того дольше и мне ничего не известно о баге с iowait. что за баг?
«Фигня этот ваш Карузо! Мне Рабинович по телефону напел.»
The Nexus S, like the Nexus One before it, is designed to allow enthusiasts to install custom operating systems. Allowing your own boot image on a pure Nexus S is as simple as running fastboot oem unlock. It should be no surprise that modifying the operating system can give you root access to your phone. Hopefully that’s just the beginning of the changes you might make.
(Nick Kralevich, an engineer on the Android Security Team)
абсолютно согласен. язык я не осилил, по крайней мере с первого подхода.
я прос то указываю на то, что ваша статья не расчитана на неподготовленного читателя, у которого вы хотите пробудить интерес.
также из приведённого примера не видно, чем именно функциональный подход лучше.
на самом деле, нифига подобного.
я, имея, за плечами половину «real world haskell», потерял нить уже через пару абзацев.
подумалось: ну нифига ж себе, какой оказывается геморрой написать простой сервер на хаскеле.
на самом деле, хаскель просто выворачивает наизнанку весь подход к программированию. прочитав упомянутые 8 глав RWH, я всё же вернулся к питону — там есть элементы ФП, но в более «человеческом» виде.
оптимизировать тривильные true, кстати, оптимизатор должен просто по опредлению.
этот ответ был вам.
по мне так — попались, голубчики.
мёртвый код:
for (Step = 0; Step < 12; Step++) { ... }живой код:
for (Step = 12; Step > 0; Step--) { ... }ещё живее:
Step = 0; while(Step < 12) { ... Step++; }источник.
возможно, какой-то анализатор мёртвого кода в IE9 и встроен, но есть впечатление, что ему слегка «помогли» сработать именно на sun spider.
«It will be reviewed and needs to go through the approval process before it is included in our product.»
ты просто не знаешь как работает read. man 2 read.
>> собственный парсер инишников
> а чем он плох,
тем что он есть. ты потратил время на написание собственного говнопарсера, вместо того чтобы подключить что-нибудь типа YAML.
по поводу URI — то же самое.
про инклюды .c/.cpp тут уже говорили. а я скажу про чтение из сокета по 1 байту, про собственный парсер инишников (никогда, НИКОГДА не пишите собственный парсер инишников!).
про int вместо bool. про полное игнорирование таких элементарных вещей как scoped_ptr. про собственный парсер URI (никогда, НИКОГДА не пишите собственный парсер URI).
про бесполезные имена переменных…
короче, выкинуть на помойку и переписать снова.
.su — это раскольники, который в своё время ушли строить свой сисадминс, с блекджеком и шлюхами. сначала назвали sysfaq.ru, потом sysadmins.su. рушник стоит.