0xDEADFA11

0xDEADFA11

пикабушник
6559 рейтинг 6883 комментария 16 постов 0 в "горячем"
1 награда
5 лет на Пикабу
1

Рособрпозор

Всем известно, что каждое учебное заведение в Этой стране обязано иметь свой веб-сайт. Давече мне в руки попал перечень требований к оформлению этих специализированных сайтов. Инициатива хорошая - стандартизировать интерфейс всех сайтов, чтобы пользователь без труда мог найти интересующую информацию, вне зависимости от фантазии разработчика. Но реализована она настолько отвратительно даже на этапе документирования, что я просто не могу не поделиться с общественностью. Это туча своих семантических атрибутов, представляющих собой смесь транслита с словами на английском и ошибками. Например, один из примеров схемы URL для раздела сведений по образовательным стандартам:

http://<адрес_официального_Сайта>/sveden/eduStandarts

Семантические атрибуты вроде:

itemtype="http://obrnadzor.gov.ru/microformats/UchredLaw"


itemprop="Ustav_DocLink"


itemprop="Tek_kontrol_DocLink"

Рособрпозор Рособрнадзор, Почему?, Web-Программирование, Стандарты, Госслужба, Бугурт

Зачем?! Уже 2016 почти, а Рособрнадзор не в курсе о существовании REST?


Все бы ничего, сделали фигню и никого она не трогает, но она навязывается как обязательный стандарт в стране и ошибки эти нужно повторять буква-в-букву.


Но "финишем" для меня стали "рейтинги" в разделе с архивом приказов.

Рособрпозор Рособрнадзор, Почему?, Web-Программирование, Стандарты, Госслужба, Бугурт

Как-то это непрофессионально и бестолково. Почему у нас не принято читать то, под чем ставишь свою подпись? А? г-н Бисеров?

Показать полностью 1
8

Не останемся без билетов на поезд или пишем "Анечку"

На носу НГ, а ты, дорогой пикабушник, собираешься ехать домой/по гостям/в интересное место? Билет купить не забыл? Все ж раскупили! Ан-нет, не всё. В продаже билетов нет, но они еще будут "выбрасываться" пачками ближе к дате отъезда. Нужно мониторить сайт на наличие билетов. Не вставать же ради этого каждый день в 8 утра, ей богу! Нам срочно нужна наша личная секретарша! Кофе подождет, а вот дела не ждут.

Не останемся без билетов на поезд или пишем "Анечку" Программирование, РЖД, Люби ржд, Csharp, Howto, Анна, Длиннопост

Что у нас есть?

- Сайт РЖД, где мы в первоисточнике можем смотреть наличие билетов,

- браузер с инструментами разработчика (Chrome или Firefox+Firebug вполне подойдут)

- средства для программирования и окружение для запуска программ (C# и .NET Framework в моем случае).

Морда сайта имеет куку (идентификатор сессии) и делает три HTTP-запроса:


0) запрос самой HTML-страницы с сопутствующими ресурсами и их запросами (баннеры-х**неры, яндекс-метрики всякие, про них я не буду говорить),

1) запрос к базе, получает идентификатор ответа (rid),

2) по идентификатору ответа забирает данные


HTTP-запросы содержат информацию о желаемых билетах и идентичны друг другу, за исключением добавления крайнего параметра () во второй раз.

Не останемся без билетов на поезд или пишем "Анечку" Программирование, РЖД, Люби ржд, Csharp, Howto, Анна, Длиннопост

HTTP-запрос - это и есть HTTP-запрос.

Запросом к базе - я буду называть наш набор требований к билетам, с чем работает БД РЖД и что в результате дает нам данные.

Не останемся без билетов на поезд или пишем "Анечку" Программирование, РЖД, Люби ржд, Csharp, Howto, Анна, Длиннопост

Сервер нам всегда отвечает json-объектом, в котором есть поле "result", которое может быть { OK, Error, RID }.


На первый HTTP-запрос нам приходит объект с "result":"RID". Примерно такой:

{

"result" : "RID",

"discounts" : { },

"rid" : "202628254",

"timestamp" : "01.12.2015 11:13:29.077",

"tipFlags" : { "Ukr" : 0 }

}

Значит, мы можем смело лезть искать поле "rid" и подставлять код из него значением параметра rid во второй HTTP-запрос. Если в "result" json-ответа будет значение "OK", то у нас все получилось.


Тонкость в том, что если сервер не успеет извлечь результат между нашими запросами, то "result" будет "Error" или вообще ответ на предыдущий запрос. Лучше обезопасить себя принудительной задержкой между запросами или настойчиво запрашивать до тех пор, пока не получим OK.


В случае удачного запроса, мы получим данные вроде этих:

Не останемся без билетов на поезд или пишем "Анечку" Программирование, РЖД, Люби ржд, Csharp, Howto, Анна, Длиннопост

Теперь непосредственно Анечка.


Нам нужно нечто, способное делать HTTP-GET-запрос и хранить куки. Используем System.Net.WebClient с небольшой модификацией.

Не останемся без билетов на поезд или пишем "Анечку" Программирование, РЖД, Люби ржд, Csharp, Howto, Анна, Длиннопост

Пару слов о разборе json-данных. Для этих целей я использую Newtonsoft.Json, который можно взять через NuGet. Требуется создать модель данных (C# классы), чтобы спроецировать на них json. Например, для объекта-ответа с rid, пример которого я приводил выше, можно написать такой класс:


{

"result" : "RID",

"discounts" : { },

"rid" : "202628254",

"timestamp" : "01.12.2015 11:13:29.077",

"tipFlags" : { "Ukr" : 0 }

}

Не останемся без билетов на поезд или пишем "Анечку" Программирование, РЖД, Люби ржд, Csharp, Howto, Анна, Длиннопост

Те свойства RidResponseEntity, соответствия которым найдено не будет, примут дефолтное значение типа, поэтому классы-проекции можно делать лишь с необходимыми полями. Коллекции значений так же ложатся на эту концепцию. Объекты-проекции могут наследоваться.

Не останемся без билетов на поезд или пишем "Анечку" Программирование, РЖД, Люби ржд, Csharp, Howto, Анна, Длиннопост

По этим принципам организуем остальные проекционные типы

Не останемся без билетов на поезд или пишем "Анечку" Программирование, РЖД, Люби ржд, Csharp, Howto, Анна, Длиннопост
Не останемся без билетов на поезд или пишем "Анечку" Программирование, РЖД, Люби ржд, Csharp, Howto, Анна, Длиннопост
Не останемся без билетов на поезд или пишем "Анечку" Программирование, РЖД, Люби ржд, Csharp, Howto, Анна, Длиннопост

Теперь мы можем показать Анечке, как можно приносить нам апдейты с сайта РЖД.

Не останемся без билетов на поезд или пишем "Анечку" Программирование, РЖД, Люби ржд, Csharp, Howto, Анна, Длиннопост

Значения station*_name и station*_code можно почерпнуть из API автодополнения на том же сайте, оно так же работает через json. Базируется здесь , есть HTML-интерфейс, код языка - ru.

Вот и всё. Смс-оповещалку с какого-нибудь смс.ру прикрутить не составит труда.

Поделие на Гитхабе с таймером и бегунами, кто не умеет в GIT, тому по ушам ссылка на zip-архив.

Предложения, пожелания, форки и срачи в комментариях приветствуются.


P.S. Зачем это все? Почему это все так плохо ?

А потому что могу! ;))

Показать полностью 9
3

Нужна ли программисту математика?

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


У каждой специальности есть свой минимальный набор обязательных знаний. У информатики и программирования такой основой служат математические курсы; так что вопрос: «нужно ли программисту образование?», обычно превращается в «нужна ли программисту математика?» или «нужно ли программисту так много математики?» Учитывая, что программист в классическом смысле – это инженер, вопрос можно сформулировать и иначе: «нужно ли образование инженеру?» Споров на этот счёт обычно не возникает. Проблема разве что вот в чём: не все хотят быть учёными и инженерами. Если предел ваших мечтаний – успешная игра в App Store, а не проектирование искусственного интеллекта, криптографического алгоритма или программ трёхмерной анимации, вы можете смело минуя вуз приступить к её выполнению, но и в этом случае знания не испортят вам карьеру. В вузах не знают, кем вы себя видите через много лет и чем планируете заниматься – не говоря уже о том, что вы сами в семнадцать лет можете ещё этого не знать. Считается, что лучше заранее научить вас всем основам, чем упустить что-то важное. Кроме того, основные курсы, как правило, взаимозависимы и нельзя просто взять и изъять некоторые из них. И их главная цель – не научить вас всему на свете, что в принципе невозможно, а предоставить вам примерную карту современных научных и инженерных знаний, чтобы при столкновении с неизвестным, вы смогли принять верное решение, в каком направлении идти.

Вернёмся к математике. Практически все книги по алгоритмам требуют от читателя некоторой математической культуры. А алгоритмы и структуры данных – как сказал Никлаус Вирт – являются программами, и не умея работать с ними, нельзя называться программистом. Причём это не обязательно умение разрабатывать свои алгоритмы, намного чаще нужно изменять чужие, приспосабливая их к частным случаям, но также и умение доказывать их корректность и применимость в различных условиях, и умение анализировать их поведение в некоторых ситуациях. Математика активно применяется таких областях как криптография, графика, распознавание образов, работа с видео, звуком и изображениями, математическое моделирование реальных процессов. В таком, казалось бы, приземлённом системном программировании без серьёзных математических знаний невозможно написание компиляторов, планировщиков и файловых систем.

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

При этом нельзя забывать, что для большинства программистов математика является скорее инструментом, чем наукой, и преподавать её нужно именно так, особенно первые курсы, всякий раз объясняя студентам, зачем им это нужно.
Показать полностью
3

Кто такие программисты?

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


Представьте, что вы спросили, какая профессия у некоего человека, и вам ответили, что он строитель. Не имея никакой иной информации, сможете ли вы сказать, чем он занимается? Он может быть архитектором с художественным образованием, инженером, прорабом, квалифицированным рабочим или уборщиком строительного мусора. Не говоря уже, что во многих перечисленных направлениях есть свои специализации. И всё равно его бы назвали строителем, но, очевидно, что это разные строители. Чтобы сколотить собачью будку, не нужно специальное образование, а вот небоскрёб без него не возвести. Однако тех, кто занимается первым, обычно строителями не считают. Программистами же сейчас называют кого угодно. Математик, занимающийся алгоритмами; разработчик навигационных программ в НАСА; эксперт в ассемблере, изучающий вирусы; школьник, верстающий HTML страницы – всё это программисты. Так что прежде чем ответить на вопрос: нужно ли программисту образование, вам следует уточнить – какому именно. Возможно, в вашем конкретном случае образование действительно не нужно.
492

Парадокс пикабу

Фильтрация контента работает настолько неэффективно , что "свежее" с редким тонким юмором читать куда интереснее, чем "горячее" (котосиськи, МДК-юмор).

UPD: Пикабу, ты меня совсем не так понял! =))
UPDUPD: Ну и как вы снова умудрились поднять в горячее пост о том, что в горячем много барахла???)) Кто плюсы ставит? Ну-ка, руки с мыши!)

25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится)

Лучшие вещи для жизни — те, которые просты в использовании, позволяют лучше спать, работать и в целом упрощают ежедневную рутину. Приложение Pandao до краев наполнено такими товарам, о которых вы, возможно, даже не знали, но теперь захотите себе. Одобрено Лигой лени на Пикабу (с комментариями адмодера @fromNovosibirsk).


1. Внешнее зарядное устройство с солнечной батареей

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

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

2. Массажер с телескопической ручкой

С помощью регулируемой ручки можно дотянуться до самых труднодоступных мест. Или, как сказано в описании товара, избавиться от «недостижимого зуда». Еще недостижимый зуд бывает у кота, если вы не можете дотянуться до него и погладить, а встать не позволяет жестокая ведьма по имени лень.

ЛЛ: Еще можно подтягивать к себе шнур от зарядки, оставаясь на том же месте.

25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

3. Портативный набор столовых приборов

Сюда входит ложка, вилка и палочки для еды. Такой набор можно брать на работу или учебу, если вы носите еду с собой. Он займет совсем немного места в сумке, плюс его можно убрать после еды и помыть дома (вместе с футляром).

ЛЛ: Когда взял в столовке еду, сел и понял, что забыл про приборы. И лень! Такой набор – достойное решение, которое спасет от трудных решений.
25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

4. Увеличительная подставка-экран для мобильного телефона

Все новое — хорошо забытое старое, поэтому вспоминаем телевизор «КВН». Для тех, кто не против смотреть сериалы с телефона, и особенно тех, чья профессия предполагает ночные и вечерние дежурства.

Бывает и такое, что нужна лишь подставка без этих ваших колдовских увеличений. На этот случай есть простая подставка для телефонов и планшетов.

ЛЛ: Во время еды мастерите подставку из столовых приборов/кружек, чтобы заставить телефон «стоять»? Очень неприятное занятие.
25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

5. Дождевик для обуви

Потратить 325 рублей ради спасения обуви за несколько тысяч — не такая уж плохая сделка. Осталось только выбрать цвет. С оранжевым дождевиком можно шутить, будто в спешке уходили из лабы и забыли снять часть костюма химической защиты. Если шагать по улице в зеленом, то прохожий скорее подумает, что вы забыли снять бахилы после больницы. Прозрачный дождевик, наверное, самый безопасный вариант, который особо не вызывает ассоциаций. А еще прозрачный идеален, если вам ну очень хочется покрасоваться в новой обуви, а дождь, жидкий злодей, мешает их выгулять!

ЛЛ: Затягивать шнурки на грязетопах – сомнительное удовольствие. Отмывать потом тоже. Дождевик, возможно, решит проблему.
25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

6. Брелок с функцией поиска ключей

Спорим, вы хоть раз теряли ключи и задавались вопросом: «Почему на ключах нет сигнализации?». Этот брелок можно назвать своего рода сигнализацией для ключей. Он активируется громким звуком или хлопком, так что поиск теперь будет не тяжким квестом, а напоминать игру в жмурки. Главное, чтобы никто не хлопнул в ответ, если вы дома одни. Единственный нюанс: брелок может среагировать на любой громкий звук и запищать в неподходящем месте. Если идете в театр или кино, брелок с собой не берите.

ЛЛ: Спешить куда-либо неприятно, но выйти заранее лень. Куда положили ключи остается тайной. Неприличные выражения вряд ли ускорят поиск, а брелок – да.
25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

7. Набор силиконовых крышек

Еда заслуживает большего, чем быть просто выброшенной. Такими силиконовыми крышками можно закрыть любую кастрюлю или чашку, а еда будет дольше сохранять свежесть. В комплекте шесть крышек разных размеров, от 6,5 до 20,5 сантиметров, так что подойдут даже для того, чтобы закрывать консервы (аллилуйя). А еще крышки не боятся микроволновки и печи.

ЛЛ: Также подойдет, когда решили съесть, допустим, апельсин. Точнее, его половину. Другая половина на воздухе теряет влагу: будет плохо выглядеть и станет невкусной.
25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

8. Переносной мини-вентилятор

Классный способ наладить климат вокруг себя в любой ситуации. Пригодится, если, например, на работе слишком жарко или нужно успокоить нервы и охладиться перед каким-то волнительным событием.

ЛЛ: Больше не придется искать ветер, просто носите с собой вентилятор.

25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

9. Органайзер для футболок и рубашек

Разделители-подставки для удобной сортировки одежды. Подойдет не только тем, кто любит вытаскивать вещи из середины стопки, но и тем, кто не может привести в порядок свой шкаф.

ЛЛ: Хватит тратить время на перебирания вещей в шкафу.
25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

10. Силиконовые бокалы

Если чувство прекрасного не позволяет брать на шашлыки одноразовую посуду, то самое время воспользоваться быстрой доставкой на Pandao и заказать себе такие бокалы. Как раз начинаются времена весенних вылазок на природу, а хорошую посуду, само собой, туда не потащишь, ведь сохранить ее в целости сложновато. Речь не об опасных пьянках-гулянках, а элементарно о том, что посуду порой не очень бережно упаковывают. И весь путь на полянку или в лес приходится слушать, как в багажнике громыхает стекло, моля о спасении. Как минимум по этим причинам силиконовые бокалы — must have!

ЛЛ: Уходя из кухни и допив содержимое бокала, можно просто швырнуть его в сторону раковины и сократить время на путь.
25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

11. Резак для овощей и фруктов

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

ЛЛ: Поможет сэкономить время на кухне. Когда режешь, всё разваливается, и снова надо задавать форму.
25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

12. Водонепроницаемый динамик на присоске

Рожден, чтобы издавать громкие звуки, не боится намокнуть или испачкаться. И нет, это не соседский ребенок. Это портативный динамик, который можно взять в душ (он на присоске — удобно закрепить на кафеле), на пляж или в поездку.

ЛЛ: Если лень читать книгу – ее можно слушать. Если шум воды заглушает динамик телефона – изобрели динамик на присоске. Воспользуюсь.
25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

13. Ленивые очки

Можно вполне комфортно смотреть сериал или читать книгу лежа. Эти очки помогут уменьшить боль в шее, спине и голове от длительных сеансов лежания. Будет меньше поводов считать себя преждевременным пенсионером. Еще можно подарить очки другу (главное, сохранять серьезное лицо, объясняя, как ими пользоваться).

ЛЛ: Если тратите кучу времени, подбивая подушку под шею и голову для удобства, – есть выход.
25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

14. Кружка-мешалка

Устали терпеть грязные ложки? Тогда эта автоматическая мешалка вас спасет. Засыпайте кофе, наливайте воду, жмите кнопку! А если серьезно, кружку можно использовать для быстро застывающих жидкостей, которые нужно помешивать. Касается не только пищи.

ЛЛ: Чудесное изобретение. Теперь, когда приходит знакомый, не нужно заставлять его мыть себе ложку!
25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

15. Портативная собачья бутылка

С этой бутылкой можно спокойно идти на долгую прогулку или пробежку со своей собакой. Если пушистого друга одолеет жажда, он может попить из крышки-миски.

ЛЛ: Хватит таскать с собой громоздкую миску ради своего любимца. Хватит.
25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

16. Ловушка для насекомых

Идеально для тех, кто дико боится пауков, а они часто приходят погостить в ванную. Эта вполне гостеприимная ловушка поможет отправить пауков погулять на улице. Ну а чего их убивать-то просто так?

ЛЛ: Полезный подарок для инсекто- или арахнофобов. Не надо бояться!
25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

17. Мультиинструмент

Нужно быть готовым ко всему в этой жизни. Мало ли, придется что-то открутить, отрезать или, самое главное, открыть бутылку пива. Если пользоваться часто, то инструменту придет конец. Но зато 162 рубля.

ЛЛ: Видите приставку «мульти» – скорее всего, это для ленивых.

25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

18. Душевая подставка для ног

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

ЛЛ: Опять же, ничего не надо больше тащить в ванную.

25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

19. Отпариватель для одежды

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

ЛЛ: На секунду задумался, а уже надо идти покупать новую футболку из-за пятна от утюга… С отпаривателем не повторится (ну, не должно).
25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

20. Магнитная застежка для шнурков

Шнурки, которые не надо завязывать. Разве это не то, ради чего все мы живем? Суперудобные шнурки помогут сэкономить уйму времени.

ЛЛ: Даже не ленивый человек хоть раз задумывался, что завязывать шнурки – бесконечно долго и утомительно. Будущее наступило!

25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

21. Подставка-держатель для дивана

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

ЛЛ: Лишите себя веселья искать пульт или отмывать пятна с дивана из-за опрокинутого кофе.
25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

22. Инструмент для чистки яиц

Заставляет скорлупу страдать, которая в отчаянии бросает свое яйцо. Принцип действия этой машины для пыток прост: помещаете внутрь яйцо, наливаете немного воды и уверенно, но не очень сильно трясете, иначе вместе со скорлупой пострадает и яйцо. Трясти надо, пока скорлупа не начнет размягчаться и не увидите само яйцо. Вуаля!

ЛЛ: Бесит счищать каждый прилипший кусок скорлупы с яйца? Вот еще один способ.
25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

23. Подсветка для унитаза с датчиком движения

С такой подсветкой не обязательно включать свет ночью и долго и мучительно к нему привыкать. Цель назначения будет подсвечена и промахнуться вряд ли получится.

ЛЛ: Отмывать унитаз никому не хочется, глаза напрягать тоже. Подсветка облегчит задачу.
25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

24. Подушка-бойфренд

Возможно именно эта подушка поможет заполнить пустоту в вашем сердце. Ее даже можно попробовать во что-то одеть.

ЛЛ: Сэкономите время, потому что искать партнера – дело не быстрое. А чувствовать себя одиноким – неприятно.
25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

25. Ложка-дуршлаг в форме Лохнесского чудовища

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

ЛЛ: Опять про экономию, но теперь места. Не надо искать, куда положить дуршлаг с ножками, потому что его можно поставить.
25 вещей, которые делают жизнь проще (посмотрите, вдруг что-то пригодится) Длиннопост

Читайте также: Как заказывать на Pandao, чтобы не облажаться? Секретные методы спецслужб

Показать полностью 24
Отличная работа, все прочитано!