[ d ] [ b / cu / dev ] [ r ] [ a / ts ] [ ci ] [ gnx / int ] [ misc ] [ dev / stat ]
[Burichan] [Futaba] [Gurochan] [Tomorrow] [Архив-Каталог] [Главная]

Файл: 1134204.jpg -(764 KB, 3268x2250, 1134204.jpg)
764 No.25917   [Ответ]
Стал бы ты, уважаемый Стив, как разработчик, трудиться над никому не нужным проектом, который явно задумывался под распил денег кем-то наверху и от чего вам лично даже косточка не светит, только оговоренный ежемесячный паёк. Или сбежал бы подальше от всего этого как можно скорее? Hard mode: ты наивный тормоз и осознал это только спустя несколько месяцев после начала работы.
>> No.25918  
Файл: 1200px-Check_Point_logo_svg.png -(64 KB, 1200x765, 1200px-Check_Point_logo_svg.png)
64
Ты это про меня что ли?
>> No.25919  
Ты в стартапе или в госхуйне? В стартапе еще есть шансы сделать проект настоящим из тыквы.
>> No.25920  
Файл: How-to-save-money-on-manga-683x1024.png -(720 KB, 683x1024, How-to-save-money-on-manga-683x1024.png)
720
Смотря какие условия оплаты. Ну и конечно, надо знать имеет ли для тебя значение стаж(Заветные 1-3 года) или уже нет.
>> No.25922  
Файл: 1595528442652.jpg -(60 KB, 500x375, 1595528442652.jpg)
60
>>25919
Госхерь.

>>25920
Ниже рынка процентов на 40%. Стаж и до этой работы уже был. Сейчас написал эти два предложения и даже самому себе не смог объяснить, почему я ещё там. В общем, пойду приведу в порядок резюме и катись оно всё конём. Спасибо.
>> No.25924  
>>25922
>Госхерь.
Тогда сочувствую конечно.


Файл: Medieval-CUE-Splitter-icon.png -(71 KB, 256x256, Medieval-CUE-Splitter-icon.png)
71 No.25890   [Ответ]
Дано: рип виниловой пластинки в двух .flac файлах (side A и side B соответственно), .cue(1шт.), .m3u(1шт.)
Указанная программа при попытке порезать два файла на треки создаёт .flac файл с названием первого трека первого файла(side A)размером 33КБ + .cue и . m3u к нему.
Видел в сети ещё одного бедолагу с такой же проблемой, ему советовали ставить какие-то кодеки и вообще воспользоваться другой программой.
Решения проблемы не нашёл, а потому прошу помощи у вас.

Исходный аудиофайл: https://rutracker.org/forum/viewtopic.php?t=5768831
>> No.25891  
Файл: cuesp.png -(56 KB, 648x534, cuesp.png)
56
Странную продолжительность имеют пятый и десятый трек(пикрил).
>> No.25893  
REM GENRE New Wave, Post-Punk
REM DATE 2019 (1979)
REM COUNTRY EU
REM LABEL Factory
REM CATALOG FACT 10 40
REM ASDFVL_VinylRip
PERFORMER "Joy Division"
TITLE "Unknown Pleasures"
FILE "Joy Division - Unknown Pleasures - Side A.flac" WAVE
TRACK 01 AUDIO
TITLE "Disorder"
INDEX 01 00:00:00
TRACK 02 AUDIO
TITLE "Day Of The Lords"
INDEX 01 03:31:35
Сообщение слишком длинное. Полный текст.
>> No.25895  
Воспользовался программой XRECODE 3, вес треков на выходе составил ~2.8Гб против ~1.5Гб исходных.
Предстоит разобраться...
>> No.25896  
Потыкал галочки. Получил файлы весом в 6.88Гб.
>> No.25945  
Вообще используют shnsplit/cuetools в зависимости от системы. А что касается cue, то этот вообще можно разбить на два файла и получить типичное один flac - один cue, это просто текстовый файл бля, кури мануалы:
https://wiki.hydrogenaudio.org/index.php?title=Cue_sheet
https://en.wikipedia.org/wiki/Cue_sheet_(computing)
https://en.wikipedia.org/wiki/Compact_Disc_Digital_Audio#Frames_and_timecode_frames

И не знаю чего ты тут пишешь, я тут особенной активности не замечал. Если знаешь буржуйский, я бы порекомендовал зарегатся на OPS.
https://interview.orpheus.network

>>25893
если у файлов продолжительность действительно ~20 минут, то вина наверняка в тупой программе
>> No.25946  
Файл: x2.png -(39 KB, 573x620, x2.png)
39
>>25895
Воспользовался программой XRECODE2, всё получилось.
Могу предположить что виной огромного веса треков была это галочка.


Файл: 5_0_троллейбус_призрачное_зе.png -(2795 KB, 1920x1080, 5_0_троллейбус_призрачное_зе.png)
2795 No.25845   [Ответ]
Привет, чиочане. В общем, нужны тестировщики на сайт. Заходите.
https://0ch.kz
>> No.25846  
>>25845
При попытке удалить чужой пост результат:
Parse error: syntax error, unexpected ':' in /var/www/html/skr.php on line 338
>> No.25847  
>>25846
А, это вывод ошибок забыл выключить.
>> No.25848  
>>25846
Скобки забыл дописать. Спс
>> No.25849  
>>25845
1. По одному символу в метке прокатывает, хотя должно быть минимум 3.
2. Если после сообщения должна выдаться ошибка (например, меньше 2 символов без картинки), то во время обноления страниц мелькает нотис на белом фоне:
Notice: Uninitialized string offset: 0 in /var/www/html/kap4a.php on line 141
3. Если в посте есть ссылка на несуществующий пост, например >>100000, то тоже маргнёт какое-то сообщение на бёлом фоне.
4. В результатах поиска куча нотисов.
5. Разметка >цитата не работает
6. Разметка ##код if (a) {b};## не работает
Скрытие постов так и выдаёт ошибку, только теперь строка 370.
>> No.25850  
>>25845
whois 0ch.kz выдаёт чьи-то имя и адрес, это ничего, норм?
>> No.25853  
>>25849
> 1
Сперва было три символа, но потом оказалось что это слишком душно, иногда в имени файла проскакивают предлоги.
Остальное щас попробую починить. Перед переносом с локалхоста на сервер всё тестилось и работало нормально :P
>>25850
Ничего.
>> No.25854  
Еще такой косяк, пока не знаю, получилось ли устранить:
Openvpn-клиент теряет коннект к openvpn-серверу, и сайт перестаёт быть доступен. Случается примерно раз в сутки, поковырял конфиги, пока непонятно, помогло ли, так как случается редко. Если не открывается сайт - значит это оно.
>> No.25855  
>>25849
Вроде всё пофиксил. Спасиб за участие.
>> No.25925  
Оцените новые темы оформления.


Файл: mitsuba.gif -(22 KB, 300x100, mitsuba.gif)
22 No.25794   [Ответ]
У этого программного обеспечения есть потенциал. У кого-нибудь есть обновленная / лучшая версия этого?
https://github.com/MitsubaBBS/Mitsuba
>> No.25795  
>>25794
И что за скрытый потенциал в заброшенном 9 лет назад имиджбордодвижке?
>> No.25804  
>>25794
А в чём его фича?


Файл: maxresdefault.jpg -(33 KB, 1280x720, maxresdefault.jpg)
33 No.25677   [Ответ]
Стив, решил я значит попробовать поработать в Fedora Workstation и у меня возникла проблема, которая заключается в следующем: как подружить скаченный установочный пакет EclipseIDE с Fedora? А то вроде установить-то её я установил и при первом запуске всё вроде как работает нормально, но все последующие разы просто ничего не происходит. Попытка запустить через терминал перенаправляет на запуск (с предварительной установкой разумеется) IDE из центра приложений, что мне не надо, ибо это дублирование уже установленной программы. Я конечно нуб в том что касается Линукса, но в Кубунте такой проблемы не было и всё устанавливалось и запускалось просто и интуитивно. Что я делаю не так?
>> No.25678  
К сожалению в интернете много мрака для новичковых новичков по теме установки пакетов, но тут более менее сносно если надо "просто установить пакет". Пакет это и есть программа если что. https://lumpics.ru/how-to-install-programs-in-linux/ Однако лучше разберись how to install packages in fedora на досуге.

То есть, что бы установить eclipse тебе надо в терминале сделать что-то вроде
sudo yum install eclipse
. Хотя стоит понимать, что федорой я не пользуюсь, а убедился, что там есть нужный пакет вот по этой ссылке https://repology.org/projects/?search=eclipse&maintainer=&category=&inrepo=fedora_34&notinrepo=&repos=&families=&repos_newest=&families_newest=

А вообще, для новичковых новичков, которым нет времени разбираться с базовой работой в системе есть же убунты и минты всякие.


Файл: Untitled (10).png -(32 KB, 1000x1000, Untitled (10).png)
32 No.25597   [Ответ]
Итян, запрашиваю помощи.
Пишу пробное приложение в андроид студио, сделал страницу регистрации и входа и подвязал к кнопке регистрации переход на следующую страницу. Но почему-то при вводе данных и клике на кнопку приложение просто ломается. Может кто-то знает в чём проблема?
На StackOverflow вопрос задавал, но внятного ответа не получил.
>> No.25598  
Вот код кнопки.

loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//loadingProgressBar.setVisibility(View.VISIBLE);
//loginViewModel.login(usernameEditText.getText().toString(),
//passwordEditText.getText().toString());
Intent mainAct = new Intent(getApplicationContext(), MainActivity.class);
startActivity(mainAct);
}
});
>> No.25599  
https://paste.ofcode.org/pfVk3qnVT2MJASjXUTtuCz

Ссылка на полный код.
>> No.25600  
На первый взгляд ты сделал всё как по книжке, а стектрейс падения можешь привести?
>> No.25601  
>>25600
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.logining/com.example.logining.ui.login.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
>> No.25602  
>>25601
Лучше бы конечно стектрейс был полным, но обрати внимание, что до попытки запустить MainActivity твой код добирается. Значит, листенер выполняется, и скорее всего проблема у тебя с setOnClickListener не в LoginActivity а уже в MainActivity

В MainActivity какие-то кнопки с листенерами есть?
>> No.25603  
>>25602
Здесь есть своя кнопка, но она ничего не делает пока что.
public class MainActivity extends AppCompatActivity {

private Button nextButton;
private TextView welcome;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Button loginButton = findViewById(R.id.login);
nextButton = findViewById(R.id.buttonNext);
welcome = findViewById(R.id.logo);

nextButton.setOnClickListener(new View.OnClickListener() {
Сообщение слишком длинное. Полный текст.
>> No.25604  
>>25603
Эксепшон говорит нам о том что твой nextButton - null.
Если взять, и убрать
>nextButton.setOnClickListener
что-то поменяется?
>> No.25605  
Файл: 3366282eca8a25be393296633df4bd20d745d092.jpg -(129 KB, 423x700, 3366282eca8a25be393296633df4bd20d745d092.jpg)
129
>>25604
Если оно null, значит оно не нашлось по id: nextButton = findViewById(R.id.buttonNext);


Файл: test-pilot.png -(145 KB, 1024x819, test-pilot.png)
145 No.25316   [Ответ]
GNU GUIX (произносится гикс /ɡiːks/) — функциональный пакетный менеджер и операционная система, разработанные Ludovic Courtès. Отличительной особенностью является создание полностью воспроизводимых билдов и декларативное описание. Guix можно поставить на существующий дистрибутив GNU/Linux или в качестве отдельной системы на базе Linux или GNU Hurd. Раньше существовало разделение менеджера пакетов Guix и операционной системы GuixSD.

Определения пакетов описываются на диалекте языка Scheme – GNU/Guile. Большая часть исходников написана на нём же. Система изначально была основана на Nix. Отличиями от Nix(OS) являются язык для описания пакетов и сервисов, система инициализации (GNU Shepherd), использование ядра Linux-Libre (Linux без блобов) и отсутствие проприетарных пакетов.

Чем интересен Guix: https://habr.com/ru/post/436938/

GNU Guix (из коробки) не имеет проприетарного firmware. Потому при переходе на эту систему надо учитывать, что возможно wifi адаптер, gpu и другие компоненты системы могут не работать полностью или частично.

Список свободных wifi адаптеров:
https://gist.github.com/sirikid/2817f36d67d1480a428cbf33b220cfcc
Сообщение слишком длинное. Полный текст.
Пропущено 16 сообщений и 1 изображений. Для просмотра нажмите "Ответ".
>> No.26492  
>>26490
Когда мне скучно на работе я перевожу документацию по имплементации Guile https://www.gnu.org/software/guile/manual/html_node/Guile-Implementation.html
>> No.26494  
@node Быстрые целые числа
@subsection Быстрые целые числа

К сожалению, приведенное выше представление имеет серьёзный недостаток.
Что бы вернуть целоые число, выражение должно аллоцировать @code{struct value},
инициализировать его что бы оно представляло целое число и возвратить
цказатель на него. Помимо этого, доставание значение целого числа требует
отссылки к памяти, что намного дольше на большинстве процессоров
чем ссылка на регистровую память. Так как целые числа очень популярны,
их представлние очень дорого стоит с точки зрения вреени доступа и памяти.
Целые числа должны быть очень дешёвыми для создания и манипуляции.

Одним из возможных решений с этой точки зрения таково, что для большинсва
архитектур, аллоцированные в куче данные (т.е. те, которые получаются в результате
вызова @code{malloc}), должны помещаться в ячейки по 8 байт. (В не зависимости так
Сообщение слишком длинное. Полный текст.
>> No.26495  
@node Дешёвые пары
@subsection Дешёвые пары

Однако существует ещё одна проблема с которой придётся столкнуться.
Большинство куч в Скимах содержат пар больше чем других типов объектов.
Джонатан Рис однажды сказал, что куча состоит из пар на 45% в его реализации
Скимы, Scheme 48.Однако наше представление требует три @code{SCM} слова на одну пару ---
одно под слово, и ещё два под @sc{car} и @sc{cdr}. А есть ли какой нибудь способ представить
пару используя только два слова?

Давайте точнее определим чего мы хотим. Допустим, мы утверждаем следущее:
@itemize @bullet
@item
Если последние три бита значения @code{SCM} представляют собой нули -- @code{#b000}, тогда
это указатель, как всё и было ранее.
Сообщение слишком длинное. Полный текст.
>> No.26496  
>>26492
А нахрена здесь?
>> No.26497  
>>26496
Это же тред о гиксе, который написан на Гиле. Да и вообще мне так приятнее, когда сделал--выложил.
>> No.26498  
@node Консервативный сборщик мусора
@subsection Консервативный сборщик мусора

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

Есть много разных способов для его реализации. Сборщик Гиля построен поверх
библиотеки, Богем-Демер-Вейзеровского консервативного сборщика мусора (БДВ-СМ).
БДВ-СМ "просто работает", по большей части. Но так как интересно, как же эта штука работает,
мы прикладываем сюда верхнеуровневое описание того, что делает БДВ-СМ.

Сборщик мусора имеет две логические фазы: фазу маркировки @dfn{mark}, в
которой перечисляется множество существующих объектов, и фаза @dfn{sweep},
Сообщение слишком длинное. Полный текст.
>> No.26499  
@node Тип SCM в Гиле
@subsection Тип SCM в Гиле

Гиль разделяет все Ским объекты на две части: те, что способны полностью
поместиться в SCM и те, которым нужна куча.

Первый класс называется @dfn{немедленными}. Этот класс содержит малые целые числа,
знаки, булевые типы, пустой список, мифический объект конца файла (end-of-file object),
и некоторые другие.

Остальные, как не сложно догадаться, называются @dfn{не-немедленными}.
Они включают пары, процедуры, строчки, вектора и все другие типы данных
в гиле. Для не-немедленных, SCM слово содержит указатель на данные в куче,
вместе с остальными данными, которые хранятся в данных.

Сообщение слишком длинное. Полный текст.
>> No.26524  
>>26492
Понятно. А ты не из России? Просто из РФ сайт guix недоступен.
>> No.26525  
>>26524
Хороший человек сделал зеркало: http://guix.trop.in/
И сделал сборку с нужным сервером подстановок: https://trop.in/guix
(Но у меня так и не завелось)
>> No.26821  

(define-module (influx)
#:use-module (web client)
#:use-module (web uri)
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-9 gnu) ;records
#:use-module (srfi srfi-11) ;let-values
#:use-module (srfi srfi-19) ;new (current-time)
#:use-module (srfi srfi-26) ;cut
#:use-module (ice-9 iconv) ;decode utf8
#:use-module (ice-9 match)
#:use-module (json))

(define-record-type <influx>
(influx url version)
Сообщение слишком длинное. Полный текст.


Файл: movie_002.mp4 -(1177 KB, 1068x726, movie_002.mp4)
1177 No.25313   [Ответ]
Я все же создам новый тред, да простит меня джаббер тред внизу каталога.

Решил вкатиться в юнити. Читаю их туториалы, пока в восторге от доступности и простоты материала (по сравнению с тем, что было раньше)

Буду тут писать отчеты.

Пара ссылок:
Сайт: https://unity.com
Обучение: https://learn.unity.com
Есть тг канал: @unity3d_ru
Пропущено 6 сообщений и 6 изображений. Для просмотра нажмите "Ответ".
>> No.25389  
Файл: movie_004.mp4 -(4372 KB, 1280x720, movie_004.mp4)
4372
UI оставил двоякое впечатление, с одной стороны все просто. С другой стороны, чтобы его сделать невырвиглазным, нужно постараться.
>> No.25401  
Узнал сейчас про object pooling. Если один и тот же объект планируется создавать и удалять много раз, то гораздо оптимальнее будет инстанциировать лист этих объектов и сделать каждый из них неактивным. Далее, в момент когда объект необходим в сцене, из пула берется один из его инстансов и делается активным. При этом могут меняться некоторые из его параметров (например позиция).

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

В итоге получается, что мы имеем в памяти постоянное количество объектов (равный размеру пула), а не постоянно создаем и удаляем бесконечное количество объектов по мере работы сцены.
>> No.25412  
Unity вкатывается в настоящую мультипоточность и асинхронность. В то время как в мире микросервисов это давно стандарт, в таких больших проектах похоже не так все просто.

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

Основная фишка тут в том, что подобный подход требует изменений в структурах пользовательского кода и объектов. Для этого были придуманы конверторы, и это вылилось в отдельную версию редактора. Пользователь работает с игровыми объектами и их компонентами, как и раньше. А дальше они сами конвертируются в “новые” сущности и компоненты (Entity Component System) для работы с ними в коде.

Ну и в коде, в связи с этим, уже нет работы с игровыми объектами в их обычном понимании, а с компонентами напрямую, которые в свою очередь уже содержат какие-то данные (например позиция, скорость). Отсюда этот подход получил название Data-Oriented Technology Stack. Классы теперь наследуются не от MonoBehaviour, а от JobComponentSystem.

https://unity.com/dots
Сообщение слишком длинное. Полный текст.
>> No.25423  
Погуглил больше про ECS.

Концепция сама существует давно и не является изобретением Unity, но уже DOTS - их термин. Она сама по себе не про производительность, а про подход к описанию игрового мира и взаимодействий в нем.

В ECS игровые объекты не наследуют кучу всего и не создаются со статичной кучей параметров и компонентов, существующих вплоть о момента удаления объекта. В ECS игровые объекты - просто entities, некие изначально пустые "сущности", играющие роль уникальных идентификаторов.

Параметры игровых объектов (например, здоровье, скорость, "прыгучесть", etc) являются самостоятельными компонентами (components), не привязанными ни к какому объекту статично. Они могут назначаться каким-либо entities, если им необходимо данное поведение/характеристика. Причем эта привязка или отвязка происходят в рантайме, что позволяет делать классные вещи в виде изменения казалось бы статичных характеристик игрового мира в уже работающих клиентах.

Системы (systems) содержат уже логику, обрабатывающую данные из компонентов. Можно думать о них, как о контроллерах. Важно то, что системы не завязаны на конкретных компонентах и entities. По крайней мере в юнити, как я понял, системы могу выбирать entities на основе привязанных к ним компонентов (entity query) и тем самым всегда работают с группой entities. Поэтому в коде много foreach :)
Сообщение слишком длинное. Полный текст.
>> No.25450  
Файл: movie_005.mp4 -(436 KB, 854x480, movie_005.mp4)
436
Разобрался со сценами и переходами между ними. Сцена - это некая уникальная инстанция мира. В зависимости от сложности игры может быть отдельным уровнем, может быть целым открытым миром. Или это может быть просто menu screen.

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

Персист данных между сессиями (между разными запусками игры) сложнее. Причем не потому, что надо писать в файл или работать с другими внешними сущностями. А потому что надо постоянно думать, могут ли внутренние структуры быть сериализированы. В шарпе не все так однозначно. Обычный array, например, может быть сериализирован в json, List уже нет. Хотя BinaryFormatter с ним справляется без проблем.
>> No.25670  
бамп

Стив, как дела, продвигается ли изучение?
>> No.26109  
Файл: maxresdefault.jpg -(88 KB, 1280x720, maxresdefault.jpg)
88
>>25670
Забил на какое-то время. Переезды, смена работы и всё такое
Ещё как закончил курс junior programmer, у меня случился overwhelm от осознания уровня необходимых скиллов (которые нужно качать и качать 100500 лет как в олдскулл ммо), что демотивировало продолжать процесс.

Недавно появилось желание раздропнуть. Начал новый курс Creative core. Посматриваю на применения Юнити в не-игровых индустриях, изучаю какие есть наработки в AR, webrtc, нативная интеграция в мобилках и всё такое.
>> No.27432  
>>26109
ну чО, как результаты?
>> No.27535  
>>27432
Тоже любишь отчеты вкатывальщиков читать?
>> No.27627  
о, здарова, вы тоже игры делаете?


Файл: загруженное.png -(2 KB, 275x184, загруженное.png)
2 No.13087   [Ответ]
Сап анон,
Могу в юнити. На протяжении нескольких лет пилю унылые игори для ведра.
Бывают вообще вакансии подобного рода?
>> No.13088  
>>13087
Ты б хоть на любую биржу вакансий сходил штоле? А то создал тред как будто ты разработчик искуственного интеллекта на брейнфаке и внезапно оказался выкинутым из родного университета.
>> No.13095  
>>13088
Проиграл
>> No.13097  
Если Сосач забанили, то это не значит, что надо сюда приходить щитпостить.
>> No.13098  
>>13097
Нет значит.
>> No.13099  
>>13098

Оставил запятые под проливным ддосом?
>> No.13105  
>>13099
Нет ты.
>> No.25308  
О, тут кому-то это еще интересно?
>> No.25309  
>>25308
Судя по тому, что в тред никто ничего не писал с 2015 года (да и тоогда он не взлетел, как видим) — нет.
>> No.25310  
>>25309
Эх, похоже все фапают на анриал


Файл: 11113.webp -(30 KB, 480x300, 11113.webp)
30 No.24972   [Ответ]
Как перебрать ассоциативный массив через foreach? С#
>> No.25204  
Если ассоциативный массив - это Dictionary, то:

foreach (var (key, value) in myDictionary)
{
}

Больше вариантов здесь: https://stackoverflow.com/questions/141088/what-is-the-best-way-to-iterate-over-a-dictionary


[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23]

[ d ] [ b / cu / dev ] [ r ] [ a / ts ] [ ci ] [ gnx / int ] [ misc ] [ dev / stat ]
[Burichan] [Futaba] [Gurochan] [Tomorrow] [Архив-Каталог] [Главная]