Start a New Thread


/rs/10f7b – ``random shit #8''10f7b94ae34545e49e0cbe88144be378

@c1c9ecaf926640dab6fe1ef4fd238dd9 Anonymous 2018-07-20 19:31:58

/rs/36d34 – ``random shit #7''36d349a3a2ea42a48bf823370590470b

@ab881c49b0b249878903a968182c6096 Anonymous 2018-07-20 16:15:13

/rs/a3c60 – ``random shit #6''a3c608ce6ad44ebdaa0a6e43636aed77

@91ebeeb66f864b42b79438ce35045509 Anonymous 2018-07-19 10:13:11
3 replies omitted. Click here to view the first page.
@329c949053624d2ea9f80f37ce1810ee Anonymous 2018-07-19 12:52:31
@7ed114cbd96740b395b9db063f08b4f6 Anonymous 2018-07-19 16:33:04
во второй части еще и интересные комментарии. Больше обоих частей.
@25917c3776b343e1a773d476ec94d16b Anonymous 2018-07-19 16:33:36
обеих, обоев

/rs/06b9f – ``random shit #5''06b9f57f4e8049f2bb683a91fd48d152

@11bf7e1778dd44938bd64741d51d8cd9 Anonymous 2018-07-18 20:47:23

/rs/fcc53 – ``random shit #4''fcc53c5d8b184410b6d3d227b380afd2

@b174695ff1354c42858a1346aecb95d9 Anonymous 2018-07-18 07:44:52
https://www.novayagazeta.ru/articles/2010/01/25/5009-roy-ili-antibulochnik
Рой — это высокий уровень организации, существующей, однако, на основании простейших инстинктов.

/ddd/acc3c – ``test subject''acc3ca3eec4f4ffe9c62b7db411e4d5b

@2b159678b8f84650b459f1dd555e008e Anonymous 2018-07-17 23:41:30
test5
@98ac622a7a954147a43898e39a430951 Anonymous 2018-07-17 23:42:06
test5

/rs/2b27e – ``random shit #3''2b27e3b2db24478cbfd58c6f53fd31f9

@90c3fd78469745a58d3384dcb8c60ecd Anonymous 2018-07-17 14:52:08

/rs/b756f – ``random shit #2''b756f576a51243cebd96001ffeffe2b1

@3aae72e785d7495b92a7b54c146133b4 Anonymous 2018-07-17 13:34:12

/rs/6ac2d – ``random shit #1''6ac2d2deae6b4ac99500dcfc3f7df7ca

@8d5235ee04db40fe8b0c567bba1d8b15 Anonymous 2018-07-16 15:29:18

/psy/b79b2 – ``Они подумают''b79b2c300c01497c85b5f3784cc13241

@1ffcaaa258464d4691c371e538771145 Anonymous 2018-04-29 18:02:50
Они подумают, что я сказал нелепость.
Они подумают, что я глупый.
Я сделал обшику, они подумают, что я безгамотный.
Если кто-то обо мне плохо думает, то это ужасно.
Они поймут, что я не такой умный, умелый, хороший, как хочу казаться.
Они будут смеяться надо мной, подшучивать и подкалвать.
Они будут говорить мне гадости и мне будет неприятно.
Они подумают, что то, что я пишу, не надо писать здесь.
Они подумают, что я неуместен.
Они подумают, что лучше бы меня здесь не было.
Мне очень важно, что обо мне подумают, это влияет на мое самочувствие, поэтому я должен быть осторожен и всегда предполагать, что же другие могу подумать по-поводу того, что я скажу/сделаю.
@7c2c03bf0a984bbc9cbbbaf18add3ef6 Anonymous 2018-07-15 20:45:04

/new/b82e3 – ``xxxx222254rdgdg''b82e39f84b05474792a29458f4e298e1

@e04ded0f78b943a2bcd0fc5a74a946dd Anonymous 2018-05-12 13:07:25
xsds
7 replies omitted. Click here to view the first page.
@235a226fb0894cf58c8dec14f71a531e Anonymous 2018-06-16 01:34:11
3I74N05
@a435f9ce49044ea581f6c8f1bd568364 Anonymous 2018-06-22 00:59:58
@235a2@235a226fb0894cf58c8dec14f71a531e
@3e4eb15283c14375beeda43ee403508b Anonymous 2018-07-10 23:48:29
test

/new/7947f – ``3I74N05''7947f42cbe4f44a2be3b5879db3bbc48

@5f8f8d2ebc754d74bc474a4979290ec4 Anonymous 2018-06-22 01:05:59
3I74N05
@ecbc3d5df774400ea09b28ba876a7762 Anonymous 2018-06-23 20:48:01
Poopy-di scoop
Scoop-diddy-whoop
Whoop-di-scoop-di-poop
Poop-di-scoopty
Scoopty-whoop
Whoopity-scoop, whoop-poop
Poop-diddy, whoop-scoop
Poop, poop
Scoop-diddy-whoop
Whoop-diddy-scoop
Whoop-diddy-scoop, poop
@a164b44e3d1841669c663b6abbef7d92 Anonymous 2018-07-10 18:20:47
Hi

/new/28061 – ``1''28061a8aed1a4aef843d552999ff28c3

@4dcbdd7e803e43eb904271074703a170 Anonymous 2018-06-07 09:10:27
test

/b/368f9 – ``time management''368f94c988fe441180e01481dd9f3242

@1042df92eb534199984363c60fd00f98 Anonymous 2016-12-25 19:53:05
У меня есть некоторое недовольство и уныние из-за того, что время так быстро уходит. Что я прихожу домой после работы, что-то делаю, хуяк - и уже опять на работу. Есть ощущение нехватки свободного времени, нервозность по поводу его быстротекучести. Бесит, что вещи, которые хотелось бы сделать, постоянно откладываются, что все так медленно течет, ощущаешь помехи, будто пытаешься бежать в воде, а сопротивление воды тебе мешает перемещаться с той скоростью, с которой хотелось бы.

Поразмыслив, я понял, что
31 replies omitted. Click here to view the first page.
@a039bc679ffd42438871b3eb43d994ae Anonymous 2018-03-23 02:30:26
> На работке только.
Не только. Чуть менее, чем везде. "Надо ходить в школу", "надо ходить в вузик", "без диплома никуда", "не служил - не мужик", работа, карьера, квартира-машина-дача, айфоны, пекарни и т. п. Элементарно: ты ходишь на работу и для этого следишь за одеждой, гладишь и стираешь рубашки и покупаешь новые. А зачастую этого не требуется. У нас один работник в офис в майке, трусах и с авоской часто приходил - и всем норм.
@8d7979464ab54920a553238deaa1174c Anonymous 2018-03-23 02:33:06
Развенчанию навязанных целей люди целые книги посвящают. Вон, Сардаров "Жизнь с головой" написал. И то не все сказал, пришлось писать "Жизнь с головой 2.0".
@c363f906c2dd4975b50bb40bd6f8f813 Anonymous 2018-05-29 21:44:08
Вот вам делать нехуй в даркнете,лучше бы помогли с вашим потенциалом мне найти порно архивы "ZOO SCHOOL".

/d/458f6 – ``test''458f610252234b61a529cfe89f6724e6

@3fe24525fb0f41be8b1b75bf0adfa5e2 Anonymous 2016-08-20 13:59:35
test
@1824a96511804535b5ec17abc232e612 Anonymous 2016-10-08 21:01:07
хуй
@0706c0ec9557402081a4461c80263ca3 Anonymous 2018-04-14 14:49:34

/ff/75092 – ``firefox bookmarks structure''750925f887754b97856313f5fdc0614e

@16ebeb229a8448ffb5edb8de351a592e Anonymous 2018-03-30 21:57:53
A high-level overview: https://developer.mozilla.org/en-US/docs/Mozilla/Tech/Places/Database
https://support.mozilla.org/en-US/questions/996823

Bookmark data is stored in places.sqlite inside moz_bookmarks table.

CREATE TABLE moz_bookmarks (
  id INTEGER PRIMARY KEY, 
  type INTEGER, 
  fk INTEGER DEFAULT NULL, 
  parent INTEGER, 
  position INTEGER, 
  title LONGVARCHAR, 
  keyword_id INTEGER, 
  folder_type TEXT, 
  dateAdded INTEGER, 
  lastModified INTEGER, 
  guid TEXT)


The are three types:
1 - "text/x-moz-place" actual bookmarks, "Recently Bookmarked", "Most Visited"...
2 - "text/x-moz-place-container"
this includes tags and folders
3 - "text/x-moz-place-separator" // nobody needs this shit
13 replies omitted. Click here to view the first page.
@f04255488ad0438abb62f7cd1a6ff77e Anonymous 2018-04-01 01:03:30
#!/usr/bin/env python3
import json
import pydash

PLACE_T = "text/x-moz-place"
CONTAINER_T = "text/x-moz-place-container"
SEPARATOR_T = "text/x-moz-place-separator"

def merge(left_node, right_node, id_offset):
    left_children = left_node.get('children')
    right_children = right_node.get('children')

    if right_children is None:
        return
    if left_children is None:
        left_node['children'] = right_children
        return

    for child in right_children:
        if child['type'] in (PLACE_T, SEPARATOR_T):
            child['id'] += id_offset
            left_children += [child]
        else:  # container
            title = child['title']
            # try to find the same container in left_node
            left_container = pydash.find(left_children,
                                         lambda x: x.get('type') == CONTAINER_T and x['title'] == title)
            if left_container is not None:
                merge(left_container, child, id_offset)
            else:
                child['id'] += id_offset
                left_children += [child]

    # fix indexes
    for index, child in enumerate(left_children):
        child['index'] = index

def get_tree(file_path):
    with open(file_path, 'r', encoding="utf8") as f:
        return json.loads(f.read())

def save(file_path, tree):
    with open(file_path, "w", encoding="utf8") as f:
        json.dump(tree, f, ensure_ascii=False, indent=2)

def traverse(tree, fun):
    fun(tree)
    children = tree.get('children')
    if children:
        for child in children:
            traverse(child, fun)

def get_max_id(tree):
    max_id = 0

    def fun(node):
        nonlocal max_id
        id = node['id']
        max_id = id if id > max_id else id
    traverse(tree, fun)
    return max_id

def find_duplicate_uri(tree):
    unique = []
    dups = []

    def fun(node):
        nonlocal unique
        nonlocal dups
        uri = node.get('uri')
        if uri and uri in unique and not uri.startswith('place:'):
            dups += [uri]
        else:
            unique += [uri]

    traverse(tree, fun)
    return dups

if __name__ == '__main__':
    left_tree = get_tree('esr_windows_bookmarks-2018-03-31.json')
    right_tree = get_tree('esr_debian_bookmarks-2018-03-31.json')
    id_offset = get_max_id(left_tree) + 1
    merge(left_tree, right_tree, id_offset)
    save('output.json', left_tree)

    print("duplicate URIs:")
    for dup in find_duplicate_uri(left_tree):
        print(dup)
@86fabf409f0c4457a9caf2c8359a244a Anonymous 2018-04-01 01:06:03
The script merges two bookmark backups and shows duplicate URIs.
TODO: get rid of duplicates, but merge their tags.
@48ebd15cf10f4c3d8881f1fbe4f2a158 Anonymous 2018-04-13 21:30:49
@86fab@86fabf409f0c4457a9caf2c8359a244a
#!/usr/bin/env python3
import json
import pydash
import sys

PLACE_T = "text/x-moz-place"
CONTAINER_T = "text/x-moz-place-container"
SEPARATOR_T = "text/x-moz-place-separator"

def merge(left_node, right_node, id_offset):
    left_children = left_node.get('children')
    right_children = right_node.get('children')

    if right_children is None:
        return
    if left_children is None:
        left_node['children'] = right_children
        return

    for child in right_children:
        if child['type'] in (PLACE_T, SEPARATOR_T):
            child['id'] += id_offset
            left_children += [child]
        else:  # container
            title = child['title']
            guid = child.get('guid')
            # try to find the same container in left_node
            left_container = pydash.find(left_children,
                # fuck python with its one-line lambdas
                lambda x: x.get('type') == CONTAINER_T and (x['title'] == title or x.get('guid') == guid))

            if left_container is not None:
                merge(left_container, child, id_offset)
            else:
                child['id'] += id_offset
                left_children += [child]

def get_tree(file_path):
    with open(file_path, 'r', encoding="utf8") as f:
        return json.loads(f.read())

def save(file_path, tree):
    with open(file_path, "w", encoding="utf8") as f:
        json.dump(tree, f, ensure_ascii=False, indent=2)

def traverse(tree, fun):
    fun(tree)
    children = tree.get('children')
    if children:
        for child in children:
            traverse(child, fun)

def get_max_id(tree):
    max_id = 0

    def fun(node):
        nonlocal max_id
        id = node['id']
        max_id = id if id > max_id else id
    traverse(tree, fun)
    return max_id

def merge_tags(left_node, right_node):
    left_tags = left_node.get('tags')
    right_tags = right_node.get('tags')

    if right_tags is None:
        return
    if left_tags is None:
        left_node['tags'] = right_tags
        return

    tags = case_insensitive_uniq(left_tags.split(',') + right_tags.split(','))
    left_node['tags'] = ','.join(tags)

def case_insensitive_uniq(data):
    seen, result = set(), []
    for item in data:
        lower_item = item.lower()
        if lower_item not in seen:
            seen.add(lower_item)
            result.append(item)
    return result

def merge_duplicates(tree):
    unique = []
    unique_uris = []

    def fun(node):
        nonlocal unique
        nonlocal unique_uris
        uri = node.get('uri')
        if uri:
            if uri in unique_uris and not uri.startswith('place:'):
                orig = pydash.find(unique, lambda x: x['uri'] == uri)
                merge_tags(orig, node)
                node['delete'] = True
            else:
                unique += [node]
                unique_uris += [uri]

    def delete_marked_nodes(node):
        children = node.get('children')
        if children:
            node['children'] = pydash.filter_(children, lambda x: x.get('delete') is None)

            for index, child in enumerate(children):
                child['index'] = index  # fix indexes
                delete_marked_nodes(child)

    traverse(tree, fun)
    delete_marked_nodes(tree)

def find_duplicates(tree):
    unique = []
    dups = []

    def fun(node):
        nonlocal unique
        nonlocal dups
        uri = node.get('uri')
        if uri and uri in unique and not uri.startswith('place:'):
            dups += [node]
        else:
            unique += [uri]

    traverse(tree, fun)
    return dups

if __name__ == '__main__':
    if len(sys.argv) < 4:
        sys.stderr.write("Usage: /path/to/src.json /path/to/dst.json /path/to/output.json")
        exit(1)

    _, src_file, dst_file, out_file = sys.argv

    left_tree = get_tree(src_file)
    right_tree = get_tree(dst_file)
    id_offset = get_max_id(left_tree) + 1
    merge(left_tree, right_tree, id_offset)
    merge_duplicates(left_tree)
    save(out_file, left_tree)

    dups = find_duplicates(left_tree)
    if dups:
        sys.stderr.write("duplicate URIs:")

    for dup in dups:
        sys.stderr.write(dup)

/fr/e6d7e – ``porn''e6d7efb55a64490f829c001efcee7034

@dfdf3d0a563948b096489b97728854b8 Anonymous 2017-11-19 16:13:17
post1
6 replies omitted. Click here to view the first page.
@607836ffacb44fd8bb75647223e421f7 Anonymous 2018-02-26 07:15:16
ПОСОНЫ НЕ КАЧАЙТЕ ТАМ ВИРУС БРАТА НАХУЙ РАЗНЕСЛО КРОВЬ КИШКИ РАСПИДОРАСИЛО ПИШУ С БАТИ!
@26d86e9d5fab494182071176256bf804 Anonymous 2018-04-07 23:20:14
@60783@607836ffacb44fd8bb75647223e421f7
@2720e73bfae640449b594e30c40776c5 Anonymous 2018-04-07 23:20:53
My name is not Michael

/pr/29999 – ``CMQ''299995f5505e4223a8bff64b19becc5d

@01b18cab88594e94b645ede73c969569 Anonymous 2016-09-15 16:44:32
CMQ - circular message queue - the app/protocol name

Messages = {id: uuid, insert_timestamp: timestamp, message: text}

insert_date is the date/time in UTC of the record insertion.

http get:
1. /m/<uuid:id>/ - gets message record from Messages by id.
2. /mb/<uuid:id>/ - gets messages before <id>. The amount of returned records is limited.
3. /mbt/<timestamp:ts>/ - gets messages before <ts>.
4. /ma/<uuid:id>/ - gets messages after <ts>.
5. /mat/<timestamp:ts>/
6. /l/ - gets limits {max_msg_len: int,
43 replies omitted. Click here to view the first page.
@92cf1f3df9f54dd7bce517d996ae2b85 Anonymous 2017-02-08 03:54:30
Действительно, зачем?
@647abe9094294a989f08a8b1fb39da6b Anonymous 2017-08-23 08:34:03
> Допустим есть две ноды с номерами 1 и 2
Зачем? Всем по паре ключей и вперёд!
@f9094433488b4a2a86536b2116ef629e Anonymous 2017-08-23 12:18:58
@647ab@647abe9094294a989f08a8b1fb39da6b не понял тебя. И что?

/pr/c91c8 – ``Effect systems''c91c8a32a9724c14b89b606fd17276ec

@8a0ed56a28c1446cbf8e8abe5cffb711 Anonymous 2017-07-26 01:28:37
Решил разобраться, что такое (algebraic) effects.
Основная идея состоит в том, что любое impure поведение может быть описано эффектом - набором примитивных impure операций, семантика которых задается обработчиками эффектов. Например, IO командной строки может быть описано двумя операциями: readline - чтение пользовательского ввода и printline - вывод строки в консоль. Для мутабельных данных это операции get и set. Для исключений - raise.
Используя синтаксис языка
12 replies omitted. Click here to view the first page.
@40997e0db1fc46068d57498e7d1b87c7 Anonymous 2017-07-28 02:35:03
Чтобы обработать финальный результат (когда эффекта на самом деле не произошло в результате вычисления) используется return. Например,
выражение
if (False) then raise("oops") else 111

имеет тип exception int несмотря на то, что в результате его вычисления exception никогда не произодет и поэтому
(handler{
    raise(s) -> 666;
    return x -> x+265
})(fun() { if (False) then raise("oops") else 111 })
вернет 376.
@117bdb5906164eca9e52ec710de90d68 Anonymous 2017-07-28 02:35:29
Еще один пример. Т.к. <> это тоже формально (пустой) эффект, то для него можно создать обработчик, но т.к. операций у <> нету и всегда есть финальный результат, то он должен содержать return. Например, handler{ return x -> x }.
@93992fed144444559c0d8536a7836fa3 Anonymous 2017-07-28 02:37:28
@3287b@3287bc6bc809403a8e084f6a2604252f "команд" в смысле "операций".

/b/d3891 – ``...''d38919f4ca874052b99e0873d7d0a4aa

@4818c24f1c0a48c3bff5df19713a0005 Anonymous 2017-01-16 23:42:16
Зосима Любомирович, сводный брат Гобезара Жидимировича, сводного брата Меркурия Авксентьевича, сводного брата Дементия Жирославовича, друга Мартына Ратиборовича, любовника Федосьи Никоновны, сестры Гаврилы Ярославовича, троюродного брата Анны Ярополковны, подруги Рачислава Изяславовича, сына Антонины Адашовны, матери Антониды Судиславовны, подруги Лукерьи Захариевны, любовницы Недаша Пантелеймоновича, двоюродного брата Амура Гобезаровича, отца покойной Пелагеи Глебовны, матери Пелагеи Варлаамовны,
8 replies omitted. Click here to view the first page.
@bcef8a7ad7904125859d20d2dda609d1 Anonymous 2017-02-06 17:41:35
Занавеска вытрихуева
@7b917fc117f5490293a635634bf0af78 Anonymous 2017-02-06 17:42:27
/condom
@b65d145aa69b442ba6ab72d1c3e31ff7 Anonymous 2017-02-07 12:28:44
Test