Прислали вот..

06.02.2009

Доброе время суток,
реальный пример индийской практики в проекте на яве:

public static boolean isData(String data) {
return data != null;
}

Благодарим Ilya V Pogrebenko

Загадочные точки с запятой

21.01.2009

Источник: http://www.dtf.ru/forum/thread.php?id=193131&set_mode=1

Цитирую: “Я видел где-то код, в котором после отступов ставят точки с запятой. Вот приблизительно таким образом. Вы подобное встречали? Зачем ставят пустые команды после отступов?”

void func (void)
{
int a, b[2], i;

for (a=0;a<3;a++) {
; ; if (b[i]==4) {
; ; ; b [i] = 14;
; ; }
}

}

Защита от SQL injection

03.01.2009

Источник: http://thedailywtf.com/Articles/SQL-Injection-Protection–3.aspx

// The following string is an SQL comment, and could
// blank out the check for password in our SQL statement
// if used in the username!
if (username.indexOf(”‘;–”)!=-1) {
throw new AuthorisationException(username +” given as login name contains ‘;–, this is bad for SQL!”);
}

// Get the (hopefully single) id of the player with
// this name and password
ResultSet authorised = statement.executeQuery( “SELECT id FROM table_name_redacted WHERE ” + “username=’”+username +”‘ AND password=’”+password+”‘;”)

Модуль числа

05.12.2008

Вот такой вот забавный способ получения модуля, не индийский, но довольно заковыристый:

y = x*((x>0)-0,5)*2

Эквивалентно y = abs(x);

Источник: http://habrahabr.ru/blogs/code_wtf/46196/#habracut

Забавная рекурсия

10.11.2008

Не сразу понятно, что функция находит ближайшую степень двойки, недостатки такого подхода очевидны:

int ToPow2(int i)
{
    if( i == 2 || i == 4 || i == 8 || i == 16
       || i == 32 || i == 64 || i == 128
       || i == 256 || i == 512 || i == 1024 )
        return i;
    else
         return ToPow2(i+1);
}

Комментируем код правильно:

10.11.2008

// set eye position
SetEyePosition();

// UNDONE: blah, this is bad, we should use a stack but I’m too lazy to code one.
for (i = 0;…

float m_frictionFraction; // Sorry, couldn’t resist this name :)

// What the hell are you doing?
pMonster->ReportAIState();

Индийский самолет

04.11.2008

Вчера посмотрел передачу “Атлас Discovery. Индия.”.
Так вот там был сюжет о не большом тренировочном самолете, который индийские специалисты построили с нуля за 22 месяца. Название самолета “IJT”.
Поискал инфу о IJT в инете, и вот на что натолкнулся:

1) Во время демонстрационных полетов на авиасалоне близ индийского города Бангалора потерпел аварию опытный образец учебно-тренировочного самолета IJT производства индийской корпорации HAL. Инцидент произошел при взлете, когда из-за поломки шасси самолет занесло и выбросило в поле. Пилот не пострадал. Как сообщают “Вести”, на некоторое время доступ на взлетно-посадочную полосу был закрыт.

2) Заказ на производство 12 самолетов IJT был получен компанией Hindustan Aeronautics Limited пять лет назад. Первоначально планировалось, что первая партия УТС национальной разработки поступит на вооружение ВВС Индии в 2005-2006 годах. Затем сроки были смещены на 2007-2008 годы, однако и они оказались нереалистичными. Согласно последним оценкам руководства Hindustan Aeronautics Limited, поставка 12 самолетов будет завершена в 2009-2010 годах.

Программой IJT предусматривается закупка двух новых российских двигателей АЛ-55И, первый из которых планировалось получить в ноябре минувшего года для установки на опытный образец УТС. Летные испытания были намечены на июль 2008 года. Однако пока двигатель из России так и не получен.

В фильме так же говорилось о том, что, судя по темпам развития экономики, Индия кандидат на место одной из супердержав в будущем. Мне страшно…

Ссылки:
http://www.lenta.ru/news/2008/03/18/train/
http://www.aviaport.ru/digest/2007/02/08/115734.html

Без коментариев…

04.11.2008

Источнник: http://habrahabr.ru/blogs/code_wtf/28535/

if (160>450) {
    resize_height=450;
} else {
    resize_height=160;
}

Международные соревнования по заковыристому коду

02.11.2008

В целом тематика у нас другая, но для истинно верующих си-девелоперов, думаю, не лишним будет на досуге посетить:

Международные соревнования по заковыристому коду на Си

http://www.ioccc.org/main.html
http://www.ioccc.org/years-spoiler.html

Цели соревнования:
- Написать наиболее заковыристый код, следуя правилам соревнования.
- Используя иронию, показать необходимость придерживаться стиля при программировании.
- Встряхнуть компиляторы Си, при помощи не обычного кода.
- Проилюстрировать все тонкости языка Си.

“Yeah, it works, but…”

27.10.2008

Задание: Какое наименьшее число можно разделить без остатка на все числа от 1 до 20?

Решение от кандидата на должность senior developer, с 10-тилетним опытом разработки на РНР:

for ($i=1;$i<=99999999999;$i++) {
  $num = 20*$i;
  if ($num%19 == 0) {
    if ($num%18 == 0) {
      if ($num%17 == 0) {
        if ($num%16 == 0) {
          if ($num%15 == 0) {
            if ($num%14 == 0) {
              if ($num%13 == 0) {
                if ($num%12 == 0) {
                  if ($num%11 == 0) {
                    if ($num%9 == 0) {
                      if ($num%8 == 0) {
                        if ($num%7 == 0) {
                          if ($num%6 == 0) {
                            if ($num%3 == 0) {
                              echo $num;
                              exit();
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

Заметьте, сеньйор разработчик не внес в алгоритм проверку остатка при делении на 2 и 10, и заменил её умножением на 20 :)
Благодарим проводящих собеседование, за то, что не попросили найти наименьшее общее кратное чисел от 1 до 1000.

Источник: http://thedailywtf.com/Articles/Out-of-All-the-Possible-Answers.aspx