Два года в /fg/. Войти !bnw Сегодня Клубы
УНЯНЯ. У нас есть немножечко инфы об этом пользователе. Мы знаем, что он понаписал, порекомендовал и даже и то и другое сразу. А ещё у нас есть RSS.
Теги: Клубы:

https://a.safe.moe/F83Wz.jpg обнаружено первое индустриальное применение блокчойна для голосования
#8FZRS4 (1+5) / @anonymous / 2844 дня назад
https://i.imgur.com/TVKDxzz.mp4 надо такой же сделать, только с ментом. и на парад к навальному. базарю.
#2MZQC5 (0+1) / @anonymous / 2846 дней назад
Знаете почему Ленина не выносят из мавзолея? Грибница останется. Надо пол-Москвы перекапывать. Этим и занят Собянин
#0K3K19 (1+3) / @anonymous / 2848 дней назад
Делийские диалоги. - А у вас индийское кино ещё популярно? - Сейчас уже нет. - (расстроенно) Почему? - Не до танцев нам, с экономикой трабл. (в продуктовой лавке) - Сэр, видите эту бедную женщину с ребёнком? - Да. - Проявите милосердие, купите ей молока. - Которое она потом перепродаст вам же за полцены. И так с каждым иностранцем, который заходит сюда. Это профессия, и... - Спасибо, сэр, хватит. Я понял, вы в Дели не первый раз. - (что-то вообще невнятное) - Что, простите? - (снова что-то такое же) - Я вас не понимаю. - (чувак с языком получше) Он спрашивает, ждать ли вас ещё. - Спасибо вам большое. Ну и английский тут. - Да, его только мы понимаем. Но вы не страдайте. Просто отвечайте вообще на всё - Very nice, и прокатит. - Сэр, вы из какой страны? - (этот вопрос задаётся полсотни раз в день, и я начал импровизировать) Асгард. - А это где? - В Скандинавии. - (ожидаемое зависание) О... - Всего хорошего. - (человек затащил в лавку иностранца, ему надо задержать его любыми вариантами) Да, вспомнил, конечно, знаю вашу страну! Много людей в мой магазин заходит из Асгарда! - Локи и Один тоже были? - Как раз вчера. - Корова - это наш бог. - Симпатично. - А в России какой бог? - Бабло. - О, это лучше. - А сколько у вас языков в стране? - Много, если так - в одном Дагестане десятки, а есть ещё татарский, якутский. Но все говорят на русском. - У нас официальный хинди, хотя на нём далеко не все говорят. Скажем, из штата Тамилнад приезжают сюда тамилы, и общаются с нами на английском - типа, хинди не знают. Вообще такой штат, все интеллигенция и на понтах. - У нас есть тоже такой штат - Санкт-Петербург, но пока там ещё собственный язык не изобрели. - Жарко, сэр? - Да ужас. - А завтра будет ещё жарче. - Спасибо за оптимизм, блядь. - Хотите виски? - Благодарю, не в такую погоду. - Что в России пьют летом? - Пиво. - Мы тоже, но стараемся со льдом. - Мы не пьём со льдом. Оно ж водянистое будет. - (задумчиво) Реально интересная страна. - Сэр, купите магнит. - У меня есть. - Купите шаль кашмирскую в подарок. - Не хочу. - Купите вот слоника из алебастра. - Неа. - А что вам нужно? - Мне? Вообще ничего не нужно. - Сэр, какая у вас прекрасная жизнь. - В Индии обезьяна - священное животное, божественное. Её нельзя бить. Поэтому, когда обезьяны к нам пристают, вырывают пакеты с орешками из рук, мы их не трогаем. - Да ладно. Я же видел полицейских с бамбуковыми палками - они специально ими вооружены, чтобы обезьян отгонять. - Сэр. Иногда даже богу нужно понять свое место на земле.
#D2GOWG (2+2) / @anonymous / 2849 дней назад
Ну вот досъебывали до состояния силиконовой долины с $250к чистыми годовых и что дальше? Дальше съебывать некуда, конечная остановка, просьба освободить вагоны поезд дальше не идет. Что делать? Ну можно подняться при определенном везении вверх до $500к, но съебывать все равно уже некуда. Съебывать в развлечения? Съебывать обратно в третий мир, но уже в другом качестве и при деньгах? Превращаться в степенного калифорнийца с недвижимостью и инвестиционным портфелем? Так это все глупо. СЪЕБЫВАТЬ НЕКУДА!
#AYUB0R (4+1) / @anonymous / 2855 дней назад
#AY5V8H (8+1) / @sin-ok / 2857 дней назад
Иду из столовой через внутренний двор. Возле одного из подъездов кучкуется человек 10 в пиджаках. (Так-то у нас только Воложу разрешено в пиджаке ходить). Вначале подумал, что кто-то из бизнес-гостей. Пиджаки у них разные и дороговизну пиджака на глаз я определять не умею. Потом присмотрелся — лица не особо лоснящиеся и ни одного из тех кто в пиджаке я не идентифицировал как яндексоида. Тут к этой группе подходит ещё такая же, человек из шести. Я как раз с ними поравнялся, когда они встретились то двое как раз здоровались и один другому сказал негромко «Здравия желаю». Тут-то я и заметил, что у них у всех на лацканах небольшой одинаковый неброский значок. «ФСО, — подумал Штирлиц». Прохожу мимо них, иду к своему офису, на парковке чуть поодаль стоят два седана, два минивена и целый ёбаный автобус и все они с номерами ЕКХ. В общем, за три дня до начала представления приехали. С такой делегацией они ещё и всё закладки в офисе найдут, а может и пару багов в коде.
#EPZHJ2 (16+1) / @anonymous / 2859 дней назад
Сколько нужно ICO, чтобы вкрутить лампочку?
#00DPD4 (8+1) / @anonymous / 2860 дней назад
#7M9RQ8 (4+3) / @voker57 / 2860 дней назад
Когда я в первый раз столкнулся с линуксом, то у меня осталось самое отрицательное впечатление. В 11 лет я увидел, как программирует папа. Он всегда воспитывал меня очень строго. Я помню, он всегда сердился и бил меня по рукам, когда я запускал программы из-под рута. Я не понимал, почему, ведь хотелось просто чтобы не было permission denied. Но он воспитал меня так, что я твердо знал: /так/ ничего нельзя запускать, ни гуевины, ни даже консоль. Потом я стал /понимать/, когда в 10 лет один друг рассказал мне, как он работает все время из под рута и как это удобно. Но из-за папиного воспитания я с ним даже поругался. Он мне стал неприятен потому, что занимается такими грязными хаками. А тут я проснулся однажды среди ночи (кажется, захотелось в туалет). Мы жили в однокомнатной квартире, моя сычевальня была отделена этажеркой с книгами по C++. В щель между полками и книгами я увидел папу, сидящего с ногами в кресле перед компьютером. Консоль у него была открыта, но явно не от юзера, потому что в начале строки ясно виднелся хеш. Свет от компьютера мигал с частотой 60 герц, и когда он стал поярче, я увидел символы, вводимые в консоль. Я был в шоке, потому что как-то сразу понял, что папа делает именно /то самое/ — что грязно, чего делать нельзя. Особенно противно было то, что он время от времени читал stack overflow. В этот момент в консоли открывалась жуткая картина в черно-белых тонах: "rm -rf /home /batya/books/travy". Я не мог больше на это смотреть и уткнулся лицом в подушку, чтобы ничего не видеть. Ни в какой туалет я, конечно, не пошел, а полночи провел без сна. Эта сцена оставила во мне отвратительное впечатление, и, кроме того, я перестал верить папе. Мне было обидно — зачем он врал мне, если сам такой? Я давно вырос и, в общем, теперь умом понимаю людей, которые работают из-под рута. Но все равно su для меня остается грязной вещью, и я не хочу сам делать что-то подобное.
#3BP6F2 (4+4) / @voker57 / 2860 дней назад

https://twitter.com/alphyna/status/907984171880120320 норм тред

#4Y4BVR (7+3) / @anonymous / 2863 дня назад
https://meduza.io/feature/2017/09/08/v-krasnodarskih-shkolah-nachalis-informatsionnye-pyatiminutki-oni-pohozhi-na-sovetskie-zanyatiya-po-politinformatsii ну пиздец же кто собирается после этого растить своих личинок внутри рашки?
#Z2MF8E (1+1) / @anonymous / 2869 дней назад

Создательница сайта для доступа к научным публикациям Sci-Hub закрыла доступ россиянам из-за травли

https://roem.ru/05-09-2017/258235/scihub-selfblock/

#D8U5ED (12+4) / @anonymous / 2872 дня назад
#N6I79F (17+1) / @anonymous / 2874 дня назад

В Костромской области МВД и ФСБ задержали трех человек за «обмен и переводы» биткоинов
МВД отчиталось об операции по задержанию «злоумышленников, которые нелегально зарабатывали на обналичивании и продаже криптовалюты». Задержание проходило в Костромской области совместно с ФСБ.

https://meduza.io/news/2017/09/01/v-kostromskoy-oblasti-mvd-i-fsb-zaderzhali-treh-chelovek-za-obmen-i-perevody-bitkoinov

#GGGW8R (2+5) / @anonymous / 2876 дней назад

@je
Рекомендую для выбора съемного жилья заюзать google maps api distance matrix. У меня, например, собран список более менее рандомных мест, в которые я могу ходить. Я считаю с помощью google maps api, сколько из разных потенциальных жилищ я буду в среднем времени тратить в пути (либо с коэффициентами, например огромный коэффициент для места работы и маленький для любимого наркопритона, либо поровну) и строю таблицу для всех потенциальных квартир:

  • велосипедом

  • общественный транспорт, меньше всего пересадок (самый нормальный режим для гугл мапс по Москве)

  • только метро, мцк и поезда, потому что наземный транспорт в Москве слишком рандомно ходит

Код, который придется почитать, чтобы как-нибудь использовать. Строит таблички со среднем временем в пути в месяц для каждой квартиры и это же время, конвертированное в рубли (умноженное на константу)

#!/usr/bin/env python3
import pandas as pd
import googlemaps
import pytz

from collections import namedtuple
from pprint import pprint
from itertools import chain, repeat
from datetime import datetime, tzinfo
from functools import partial

gmaps = googlemaps.Client(key='AREDACTEDREDACTEDREDACTED')

# ЗАПОЛНИТЬ: сюда следует ввести адреса потенциальных мест, где я буду жить
# каждое значение может быть либо строкой с адресом, либо GPS координатами
home_addresses = [
    "Россия, Москва, ул. Усачева, 29к3",
    "Россия, Москва, ул. Беговая, 17к1",
    "Россия, Москва, Коптевская ул., 83к2",
    "Россия, Москва, ул. Степана Супруна, 3-5",
    "Россия, Москва, Новокузнецкая ул., 13/15",
    "Россия, Москва, Бутырская ул., 86Б",
    "Россия, Москва, ул. Правды, 6/34",
    "Россия, Москва,  ул. Зои и Александра Космодемьянских, 11А",
    "Россия, Москва, Ленинградский просп., 78К1",
    "Россия, Москва, Новокузнецкая ул., 13С1",
    "Россия, Москва, Севастопольский просп., 5АК1",
    "Россия, Москва, ул. 1812 года, 4/45К2",
    "Россия, Москва, Светлый проезд, 4К4",
    "Россия, Москва, Делегатская ул., 14/2",
    "Россия, Москва, ул. Маршала Рыбалко, 3",
]


# In[31]:

# ЗАПОЛНИТЬ: сюда следует ввести пары вида: 
# (адрес часто посещаемого места, период как часто вы будете добираться туда-обратно между домом и этим местом)
#
# первое значение может быть либо строкой с адресом, либо GPS координатами
#
# если второе значение например 8, это значит,
# что раз в 8 дней я езжу туда и обратно домой.
# если у вас есть место, куда вы ездите раз в 7 дней, но оттуда
# всегда едете еще куда-то, то ставьте значение 14

favorite_places = [
    ("Россия, Москва, ул. Кузнецкий Мост, 13"),  # habimoshka
    ("Россия, Москва, ул.Большая Дорогомиловская, д.5 к.2"),  # кочерга
    ("Россия, Москва, Хохловский пер, 7/9 стр 2"),  # neuron hackspace
    ("Россия, Москва, Бобров пер. 6 стр. 1, 2"),  # библиотека тургенева
    ("Россия, Москва, Милютинский пер., 19/4, стр.1"),  # зеленая дверь
    ("Россия, Москва, шелапутинский переулок, д. 6"), # swing-in-moscow
    ((55.737924, 37.620204)), # рандомный дом в центре
    ("Россия, Москва, Ленинградское шоссе, 39Ас3"), # рандомная потенциальная работа - касперский
    ("Россия, Москва, Кожевническая улица, 7"), # рандомная работа
    ("Россия, Москва, Нижний Сусальный переулок, 5с19"), # рандомная работа
    ("Россия, Москва, ул. Волочаевская, д. 5, корп. 1"), # рандомная работа - крок
    ("Россия, Москва, ул. Летниковская, 10, стр. 5"), # рандомная работа
    ("Россия, Москва, Лесная улица, 7"), # рандомная работа - авито
    ("Россия, Москва, пр-т Андропова, д. 18, корп. 1"), # рандомная работа
    ("Россия, Москва, Дмитровское шоссе, 157с5"), # рандомная работа
    ("Россия, Москва, Трубная улица, 23-2"), # ранд работа
    ("Россия, Москва, Никопольская улица, 4"), # рандом работа
    ("Россия, Москва, улица Ленинская Слобода, 19"), # рандомная работа
    "Москва, ул. Малая Юшуньская, д. 1 к2",  # locus solus
    "Москва, метро Римская",  # предел
    "Москва, Образцова, 14"  # msds
]
favorite_places = list(zip(
    favorite_places,
    repeat(len(favorite_places) / (2 * 4.5 / 7))))


def calc_avg_travel(home_addresses, favorite_places,
                    how: str, depart_when: datetime):
    request_funcs = {
        "bike": partial(gmaps.distance_matrix, mode="bicycling"),
        "car": partial(gmaps.distance_matrix, mode="driving"),
        "walking": partial(gmaps.distance_matrix, mode="walking"),
        "subway_train": partial(
            gmaps.distance_matrix, mode="transit",
            transit_mode=["subway", "train"],
            transit_routing_preference="fewer_transfers"),
        "public_transport": partial(
            gmaps.distance_matrix, mode="transit",
            transit_routing_preference="fewer_transfers")}
    assert how in request_funcs.keys()
    favorite_places = [{"location": location, "period_in_days": period_in_days}
                       for location, period_in_days in favorite_places]
    location_col = []
    duration_col = []
    home_address_col = []
    period_in_days_col = []
    for home in home_addresses:
        result = request_funcs[how](
            [home], [place["location"] for place in favorite_places],
            departure_time=depart_when)
        assert result["status"] == "OK"
        assert len(result["destination_addresses"]) == len(favorite_places)
        assert len(result["origin_addresses"]) == 1

        location_col += result["destination_addresses"]
        duration_col += [record["duration"]["value"] for record in result["rows"][0]["elements"]
                         if record["status"] == "OK"]
        home_address_col += [result["origin_addresses"][0]] * len(result["destination_addresses"])
        period_in_days_col += [place["period_in_days"] for place in favorite_places]

    data = pd.DataFrame({
        "location": location_col, "duration": duration_col,
        "home_address": home_address_col, "period_in_days": period_in_days_col
    })

    data["duration_per_day"] = data.duration / data.period_in_days
    return data

DEPARTURE_TIME = datetime(2017, 9, 5, 12, 0, tzinfo=pytz.utc) # сейчас указано в UTC. Москва это UTC+3

# a dumb test, kinda
def test_gmaps_api():
    home_addresses = [
        "Россия, Москва, Коптевская ул., 83к2",
        "Россия, Москва, ул. Степана Супруна, 3-5"
    ]
    destination_addresses = zip(home_addresses, [1, 3])
    data = calc_avg_travel(home_addresses, destination_addresses,
                           "public_transport", DEPARTURE_TIME)
    print(data)
    durations = data["duration"]
    assert durations.iloc[0] == 0
    assert durations.iloc[1] != 0
    assert durations.iloc[2] != 0
    assert durations.iloc[3] == 0

test_gmaps_api() # yeah it works


data = calc_avg_travel(home_addresses, favorite_places,
                       "subway_train", DEPARTURE_TIME)


unique_home_addresses = pd.DataFrame(pd.Series(data["home_address"].unique()).rename("address_by_google"))
unique_home_addresses["input_home_address"] = home_addresses
print(unique_home_addresses)
# ВАЖНО: проверьте в этой табличке, что в колонке address_by_google стоит адрес,
# понятый гуглом правильно (изначальные адреса - в колонке input_home_address)


# In[62]:

unique_destination_addresses = pd.DataFrame(pd.Series(data["location"].unique()).rename("address_by_google"))
unique_destination_addresses["input_favorite_place"] = [str(pair[0]) for pair in favorite_places]
print(unique_destination_addresses)
# ВАЖНО: проверьте в этой табличке, что в колонке address_by_google стоит адрес,
# понятый гуглом правильно (изначальные адреса - в колонке input_favorite_place)


# In[63]:

print(data.head())
print(data.tail())
# ЗАМЕЧАНИЕ: здесь будут просто показаны конец и начало получившейся таблицы
# Если не лень, можете посмотреть, чтобы каких-то неадекватных значений не было
# duration - время чтобы добраться от места до места в секундах
# period_in_days - тот самый указанный выше период в днях
# duration_per_day - кол-во секунд в день


# In[64]:

# calculate travel time per day for each home address

travel_times_per_day_per_home = pd.DataFrame(
    (data.groupby("home_address")["duration_per_day"].sum() / 60)
    .rename("minutes_of_travel_per_day")
).sort_values(by="minutes_of_travel_per_day")
print(travel_times_per_day_per_home)
# ВАЖНО: это финальный результат
# для каждого адреса квартиры в другой колонке будет указано кол-во минут, затрачиваемых на дорогу, в день
# адреса будут отсортированы от самых выгодных по времени в дороге до самых невыгодных


# In[65]:

COST_PER_HOUR = 340  # RUR
costs = travel_times_per_day_per_home     .assign(hours_per_month=lambda df: (df["minutes_of_travel_per_day"] * 30.5 / 60).round(1))     .assign(converted_rur_per_month=lambda df: df["hours_per_month"] * COST_PER_HOUR)

print(costs)
#UVGF8R (19+6) / @cat-o-nine-tails / 2879 дней назад
Собираюсь сегодня вечером идти гулять парке Горького, не могу выбрать, какую шляпу надеть
#IZ3RBH (8+1) / @anonymous / 2881 день назад
--
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.