• Ленишься? Плати!

      Как много решений вы приняли, но так и не выполнили? Как иного раз вы говорили себе, что пойдете в спортзал, займетесь изучением иностранного языка?

      Вероятно, очень много раз.

      Но если бы на кону был ваш счет в банке, увеличилось бы количество исполненных задач? Несколько новых компаний уверены, что вы скажете «да».

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

      StickK.com — «интернет-магазин обязательств», который задает цену вашим целям. Если вы их не достигаете, с вашего банковского счета взимаются деньги и перечисляются в благотворительную организацию по вашему выбору.

      Вот как это работает:

      Записываете ваши цели на StickK, выбираете друга в качестве «поручителя», который может отследить достижение вами цели, выбераете дату, к которой цель должна быть выполнена. Сделайте ставку, выберите любимую благотворительную организацию. Все!

      Если вы не сможете достичь цели вовремя, ставка из вашего банковского счет уйдет к благотворителям

      Уже более 63 тысяч контрактов на StickK, а это более $5.9 млн. ставок. Побродите по сайту и вы найдете не только многолетние самозадачи о занятиях спортом и экономности в быту, но и «больше не знакомиться с неудачниками», «бросить пить Dr Pepper» и «говорить медленнее для иностранцев в Нью-Йорке»

      Идея на миллион долларов? Уверен, что да — как для StickK, так и для благотворительных организаций.

      by NYT
    • Твой вуз, IT-специалист!

        И снова наступило лето, и вновь толпы абитуриентов собираются нахлынуть в учебные заведения — думаю, что среди них есть и читатели хабра. И вследствие введения ЕГЭ вступительные экзамены уже не так беспокоят бывших школьников, появляется новое препятствие — проблема выбора.

        Жадные до денежных стредств студентов и бюджета, вузы пытаются заманить поступающего, предлагая ему актуальные специальности, огромные зарплаты в последствии, сотрудничество с коммерческими организациями, интересную научную деятельность, оборудованные по последнему слову техники аудитории, и, наоборот, легкую, непринужденную учебу с замечательным дипломом в конце. Но как все обстоит на самом деле? Сразу не узнаешь, потом будет поздно…

        Предлагаю постоянным жителям Хабра, получившим и получающим высшее образование, поделиться со всеми информацией о своем вузе (и специальности), похвалить или пожурить его, рассказать о сильных и слабых сторонах, общей атмосфере в коллективе. Поверьте, для многих это окажется крайне полезной информацией!

        Комментарии уже ждут ваших мнений!
      • Еврокомиссия оштрафовала Intel на 1,06 млрд евро

          imageЕврокомиссия оштрафовала на 1,060 миллиарда евро крупнейшего производителя компьютерных процессоров Intel за нарушение антимонопольного законодательства ЕС, сообщил в среду еврокомиссар по конкуренции Нили Кроэс.

          Причиной наложения штрафа стали нарушения Intel антимонопольного законодательства в ходе конкурентной борьбы с концерном AMD, главным конкурентом корпорации, в последние годы занявшим значительную долю мирового рынка микропроцессоров, потеснив при этом Intel.

          Расследование началось еще в 2000 году, когда компания Advanced Micro Devices (AMD) направила в Еврокомиссию жалобу. В заявлении было указано, что Intel заплатил производителям компьютерного оборудования Acer, Dell, HP, Lenovo и NEC за прекращение использования микрочипов AMD в Европе. Intel также предоставлял компаниям, которые использовали составляющие его производства, постоянные скидки, в том числе компании Media Saturn Holding (держателя розничной сети MediaMarkt), которая с 2002 по 2007 годы продавала только основанные на Intel компьютеры. Даже сотрудники крупнейшей фабрики AMD в Европе (Германия, Дрезден) не могли купить AMD-компьютер в магазинах своего города.

          Стоит отметить, что это рекордный штраф в области антимонопольного права после обвинения Microsoft в 2004, которой пришлось заплатить 497 млн евро за злоупотребление своим лидерством на рынке компьютерных технологий.
        • Покорим Ruby вместе! Капля тринадцатая

            Сегодня мы познакомимся с таким мощным и полезным инструментом Руби и компонентом RoR, как Active Record. Как часть RoR мы знаем Active Record из первого шага статей о рельсах (что-то эта серия не очень хорошо пошла, правда). Рассмотрим практическое применение компонента в Руби, что очень пригодится и в RoR.

            Active Record придерживается принципов ORM: базы данных могут быть представлены в виде объектно-ориентированного кода, где таблицы — это классы, строки таблицы — объекты, а поля — атрибуты объекта. Однако Active Record отличается от других ORM библиотек, например, от Hibernate из Java, тем, что здесь нет необходимости начальной конфигурации — все работает «из коробки». Active Record написан на чистом Руби, что позволяет нам работать с ним, как с обычным классом: использовать наследование, переписывать методы, использовать метапрограмминг и др. Да, атрибуты объекта в большинстве случаев заполняются с помощью SQL-запросов и точно также атрибуты записываются назад в таблицу. Но все, что происходит между этими двумя процессами — обычная работа с объектом Руби. Стоит понимать «отдельность» существования записей базы данных и объектов Руби: подчас база данных будет отличаться от класса Руби.
            Продолжим
          • Покорим Ruby вместе! Капля двенадцатая

              Настало время писать на Руби что-то пригодное для использования ;) Сегодня мы научимся выдирать нужную нам информацию из web-страниц с помощью Руби на примере Хабра. Начнем с кармы.

              open-uri


              Давайте каждый откроет свою персональный Хаброцентр (ну или чужой, если все еще не обзавелись инвайтом ;) с адресом вида %username.habrahabr.ru. Наша задача – извлечь из полутысячи строк HTML-кода значение нашей кармы. Предполагаем, что для этого нам необходимо сохранить код страницы в файл, открыть и прочитать его и, используя регулярные выражения, получить необходимую информацию.

              Библиотека open-uri сделает первую часть работы за нас. После включения ее в программу становится доступен метод open, который позволяет открывать как локальные файлы, так и URL:
              Едем дальше
            • Ruby on Rails шаг за шагом. #3 Контроллер и Вид

                Итак, прошлый шаг мы закончили на том, что позволили RoR сгенерировать нам первое приложение test, на его базе мы и начнем знакомиться с возможностями фрэймворка. Как мы уже говорили, приложение RoR имеет строго определенную структуру, давайте посмотрим, для чего предназначены его папки:
                Катимся по Рельсам дальше
              • Покорим Ruby вместе! Капля одиннадцатая

                  Еще одна капля в наш стакан Руби (1, 2, 3, 4, 5, 6, 7, 8, 9, 10). Поговорим о self, работе с CSV и обработке исключений.

                  Описывая и обсуждая компьютерные программы, мы часто используем образные и человеческие метафоры. Например, мы говорим, что находимся в классе или возвращаемся из вызова метода. Иногда имеет смысл говорить во втором лице, например, object.respond_to?("x"): “Эй, объект, ты ответишь на х? И пока программа интепретируется контекст меняется снова и снова.

                  Некоторые объекты везде означают одно и тоже, например, числа и ключевые слова вроде def и class. Однако значение большинства элементов зависит от контекста.
                  Продолжаем
                • Ruby on Rails шаг за шагом. #2 Рабочее место и первое приложение

                    На этот раз мы развернем «полигон» девелопера RoR, поговорим о gem, сгенерируем и запустим первое приложение.

                    Instant Rails


                    Установка рабочего комплекта для Windows максимально проста, а все из-за того, что один щедрый программист по имени Курт Хибс уже собрал для нас все необходимое для разработки приложений RoR в одном пакете под название Instant Rails. В пакеты собраны:
                    • интерпретатор Ruby,
                    • движки БД SQLite и MySQL,
                    • веб-сервер Apache (который, собственно, нам не нужен…)
                    • и сами Rails

                    Устанавливаем рельсы
                  • Ruby on Rails шаг за шагом. #1 Теория

                      Ненадолго отставив серию статей о ЯП Ruby в сторону (1, 2, 3, 4, 5, 6, 7, 8, 9, 10), решил презентовать вам новый цикл о фрэймворке Rails. Набравшись некоторого опыта в «обучении» попробую вывести эту серию на уровень качества и продуманности несколько выше, чем прежде.

                      Целью первой части уроков по Ruby on Rails будет создание некоторого многопользовательского блога (аля Хабр). Также хочется отметить, что для этой первой части желательно иметь познание о Руби хотя бы на уровне трех-четырех капель. Хочется поскорей приступить к кодингу, но начинать все равно придется с теории.

                      Что такое Ruby on Rails (далее RoR)? Самый распространненый ответ – это базирующийся на ЯП Ruby (далее Руби) фрэймворк, который реализует шаблон (далее паттерн) MVC. Выделим два главных пункта из ответа:
                      • Это фрэймворк на базе Ruby
                      • Он реализует паттерн MVC
                      Разберем каждый отдельно.
                      Продолжаем
                    • Покорим Ruby вместе! Капля десятая

                        В этой капле мы еще раз углубимся ООП, выясняя новые методики работы с классами, объектами, модулями, которые обязательно пригодятся нам в серьезном программировании.

                        Множественные конструкторы


                        Что если мы хотим иметь несколько конструкторов для объекта? Ничто не мешает нам создать дополнительные методы класса, которые возвращают новые объекты. В следующем примере мы описываем котов, имеющих пять параметров: вес, высота, и три на окрас. Мы создадим дополнительные методы, которые определят некоторые типы котов “по умолчанию” (например, черный кот или толстый кот):

                        Дальше еще больше о котах
                      • Покорим Ruby вместе! Капля девятая

                          Сегодня у нас действительно маленькая капля — немного остаточной, но серьезной и важной информации о Руби, которая, возможно, будет интересна для пишущих на других языках.

                          Замораживание объектов



                          Метод freeze в классе Object защищает объект от изменений, превращая его в константу. После «заморозки» объекта, любая попытка изменить его превратится в ошибку TypeError. Метод frozen? позволит узнать, заморожен ли объект:

                          Смотрим дальше
                        • Покорим Ruby вместе! Капля восьмая

                            Давайте прямо сейчас перечитаем четвертую каплю, чтобы вспомнить о реализации ООП в Руби. Повторили? Идем дальше. В этой капле мы подрежем все образовавшиеся хвосты, связанные с объектно-ориентированным программированием на Руби.

                            Читать дальше →
                          • Покорим Ruby вместе! Капля седьмая

                              В этой капле мы еще раз пробежимся по всем рассмотренным нами темам и углубимся в них в поисках упущенного и интересного.

                              Внимание! Это последняя капля, опубликованная в блоге Ruby! Все прошлые (1, 2, 3, 4, 5, 6) уже сидят в новом блоге Стартап «Программист». Блог предназначен для начинающих и, возможно, «матёрых» программистов, желающих выучить шаг за шагом первый или… цатый язык программирования. Теперь следить за каплями еще проще!

                              Продолжим обучение
                            • Покорим Ruby вместе! Капля шестая

                                Сегодня мы с вами создадим наше первое полноценное приложение на Руби, попутно обучаясь новым методам классов String и File и регулярными выражениями.

                                Наше приложение: Текстовый анализатор


                                Собственно программа простая: она будет считывать текстовый файл, анализировать его по некоторым паттернам, считать статистику и выводить результат. Руби замечательно подходит для анализа документов и текстов с помощью регулярных выражений и методов scan и split. В этом приложении мы сконцентрируемся на простом и быстром программировании и не будем организовывать объектно-ориентированную структуру.
                                Читать дальше →
                              • Покорим Ruby вместе! Капля пятая

                                  Продолжаем (1, 2, 3, 4) штудировать Руби. На этот раз дело коснётся массивов. Но начнем с диапазонов.

                                  Диапазоны значений


                                  Иногда полезно иметь возможность сохранить «концепт» простого списка, причём хочется, чтобы объявить его мы могли бы максимально просто, например: список из букв от A до Z, или числа от 1 до 25. С помощью диапазонов это возможно, они в Руби максимально интуитивно понятны. Вот простые числовые диапазоны:

                                  digits = 0..9
                                  scale1 = 0..10
                                  scale2 = 0...10 #digits = scale2

                                  Идем дальше
                                • Покорим Ruby вместе! Капля четвертая

                                    Собираем капли дальше (1, 2, 3). В этот раз узнаем о реализации ООП в Руби.

                                    Классы, объекты, методы


                                    Вместо того, чтобы углубляться дальше в синтаксис Ruby, отставим циклы, типы, модули и др. — мы вернёмся к ним позже. Сейчас же мы посмотрим, как создавать классы, объекты и методы.
                                    Хотите еще? Смотрите дальше!
                                  • Покорим Ruby вместе! Капля третья

                                      Капаем дальше. В третьей капле (капля первая, капля вторая) мы познакомимся с числовыми переменными и узнаем о принципах ООП.

                                      Числа и Выражения


                                      В программировании выражением (expression) называется комбинация чисел, операторов и переменных, которая, будучи понята компьютером, дает результат в какой-либо форме. Вот несколько примеров:
                                      Смотрим дальше
                                    • Покорим Ruby вместе! Капля вторая

                                        Продолжаем изучать Ruby? Так точно!

                                        В первой части мы получили обзорные знания о Руби и Рельсах и, надеюсь, решили, нужно ли нам это, или нет. Так как мы взялись за язык основательно необходимо обустроить рабочее учебное место. Нам нужны: сам интерпретатор Ruby, фрэймворк Rails, база данных (MySQL, думаю, будет лучшим выбором) и непосредственно среда разработки, которая должна сделать процесс программирования приятным, удобным и увлекательным ;)

                                        Начнем с последнего пункта
                                      • Покорим Ruby вместе! Капля первая

                                          Дабы сразу определить целевую аудиторию этого цикла заметок-статей-поучений пару слов о себе. Бывший школьник, будущий студент, в программинге толком ничего не смыслю, хотя есть пара сайтиков на готовых движках. В php-скриптах могу чего-нить лишнее удалить, изменить, но написать что-то с чистого листа — это не ко мне. Неоднократно пытался научится мастерству создания программ, но обычно тормозил как только дело доходило до ООП (видел в коде эти многочисленные классы, в пособиях всякие «объекты», «инкапсуляции» и т.п. и зависал...)

                                          Собственно точно такое же желание появилось и сейчас. Порыскав по сети в поисках «чего-бы такого интересного выучить» наткнулся именно на Ruby с его рельсами. По словам спецов разного качества Руби сейчас актуален, программировать на нем быстро, это полный ООП (что перспективно в дальнейшем покорении олимпа программирования), синтаксис несложен… В то же время язык — тормоз, нагружает систему, twitter в нем барахтается, пытаясь удержаться на плаву, постоянные проблемы с хостингом. Но я вроде как стартапить в многомиллионную аудиторию не собираюсь, а для общего образования всегда подойдет.

                                          Так что стоит признаться, что и Ruby я знаю совсем каплю, но уверен, что и мои «капли» будут интересны некоторым индивидам, подобным мне. Я могу (и буду) часто ошибаться в каких-то понятиях, методах, но мы ведь готовы помогать друг другу? Вроде бы как Хабр — это элита ИТ, но я думаю, что местные спецы не будут против, если мы тут с начинающими ребятами немного «потусим» :)

                                          Собственно в этой серии статей мы будем капля за каплей наполнять стаканчик знаниями о Руби, наполнять будем вместе — для меня это также станет дополнительным стимулом не бросать занятия. Надеюсь, что и вам будет интересно! Начнем?

                                          Дальше - больше