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

Кто-нибуль сечёт в HTML5 AppCache? В общем надо поудалять контент из кэша, но не по желанию сервера (сервер может отдать 404 вместо манифеста, и всё будет ок), а сугубо по желанию клиента. Т.е. http://stackoverflow.com/a/7941620/539470 не канает. Как?
#GGF6IY (0) / @dluciv / 3589 дней назад
А вопрос таков: есть ли для Питона парсеры XML, которые могли бы сохранять координаты XML-конструкций из исходного XML? SAX или DOM -- мне, по большому счёту, без разницы. Нужны координаты открывающих и закрывающих тегов, причём для каждого тега -- координаты начала и конца. xml.sax.handler.ContentHandler даёт, если от него наследоваться, только подмножество нужных событий. Куды податься?
#82SN7E (14+1) / @dluciv / 3639 дней назад
struct.unpack('<H2s', b'qwew') возвращает (30577, b'ew'), как надо. struct.unpack('2s<H', b'qwew') падает с bad char in struct format ЧЯДНТ?
#J6QC9N (12) / @dluciv / 3671 день назад
Где под Виндами взять Opam? Под Линухом проблем нет, всё ставится и ставится себе...
#L1HHEB (1) / @dluciv / 3676 дней назад
Умная JIT-оптимизация смешанных вычислений http://m.habrahabr.ru/post/236689/ Достойный подход и достойная реализация. Хотя я по-старинке предпочёл бы делать такие вещи вручную. Чтобы оставаться нужным =).
#DXLXQ3 (1+2) / @dluciv / 3722 дня назад

При всей популярности Андроида, как нищебродской девелоперсокй платформы, вызывает удивление то, насколько под него мало живых скриптовых движков с библиотеками, а особенно то, насколько дохлый SL4A. Хотя сама по себе его дохлость не вызывает удивления потому, что следует из невостребованности.
Но вот откуда невостребованность?.. По-моему это просто замечательно, когда для телефона можно писать скрипты. И, более того, паршиво, когда нельзя.
И всё это на фоне того, что программирование под Андроид на родной Java -- ни разу не sexy. Куча скучного недообъектного императивного кода, куча скучного тошнотворного XML, тяжеленный симулятор для отладки... Мне доводилось программировать на КОБОЛе для мейнфреймов, так вот, большой разницы нет (собственно известно, что Java и есть современный КОБОЛ, а C++ -- PL/I). Да даже J2ME как-то веселее была по ощущениям (хотя тоже говно, скажем прямо).
Небольшую надежду вселяют системы типа PhoneGap. Но и они несколько тяжеловаты. За деревьями лес плохо видно.
Но откройте мне наконец глаза, почему SL4A никому не нужен?..

#OO3CIA (67+3) / @dluciv / 3732 дня назад

/К сожалению, некоторые старые версии Python (в частности, интерпретатор) были утеряны вследствие повреждения репозитория, поэтому обратимся к чуть более поздним версиям, чтобы увидеть, как были реализованы объекты/
http://habrahabr.ru/company/mailru/blog/234747/
Году кажется в 2002, довольно скоро после того, как я практически познакомился с Питоном впервые, мне почему-то приснилось, что внезапно исходники интерпретатора (CVS по всей видимости, кто же ещё) остались у меня одного. Знаете, эдакий приятный сон о том, как спасаешь что-нибудь ценное, прямо как Аркадий Паровозов.
Мне этот сон показался неумным тогда, и кажется неумным до сих пор. Сейчас это звучит уже совсем невероятно: слишком большое сообщество и нормальный распределённый контроль версий. Да и в 2002 г. тоже уже не было реально, чего уж там.
Однако оговорка в статье заставила меня об этом сне вспомнить...
Старперский пост какой-то получился.
Компенсирую тем, что в 1990 г., когда Питон уже кое-как был, я ходил в начальную школу и компьютер, если не считать микрокалькуляторов, руками к тому моменту трогал раз пять (впервые я лет в 5 пытался мочить Space Invaders на болгарском клоне PDP-11 у папы на работе). Только через год у меня появился Спектрум и только ещё через год я ощутил кайф во время собственных попыток на нём что-то запрограммировать.

#BHM3LF (3+2) / @dluciv / 3741 день назад

нужная штука http://eleks.github.io/js2js/

#29PTG9 (10+2) / @dluciv / 3786 дней назад

Только поковыряв какой-нибудь транслятор Бейсика, до конца осознаёшь, насколько это очароватеьлно идиотский язык.

#2FTL2G (7+1) / @dluciv / 3792 дня назад

Кто-нибудь ковырялся с Emscripten?

В общем "Здравствуй, мир!" оно компилит хорошо.

А как с чем-нибудь посложнее?

#include <stdio.h>

int main()
{
    char name[10];
    printf("1: ");
    scanf("%9s", name);
    printf("1. Is instruction ordering ok, <%s>?\n", name);
    printf("2: ");
    scanf("%9s", name);
    printf("2. Still ok, <%s>? =)\n", name);
    return 0;
}

А так: выдаётся JavaScript, который сперва всё печатает, а потом радостно спрашивает то, что его попросили в scanf, причём один раз.

Разумно предположить, что это у меня руки кривые и я как-то неправильно Emscripten поставил ил запускаю. Ок, генерю LLVM-код при помощи CLang:

; ModuleID = 'test.c'
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S32"
target triple = "i386-pc-cygwin"

@.str = private unnamed_addr constant [4 x i8] c"1: \00", align 1
@.str1 = private unnamed_addr constant [4 x i8] c"%9s\00", align 1
@.str2 = private unnamed_addr constant [38 x i8] c"1. Is instruction ordering ok, <%s>?\0A\00", align 1
@.str3 = private unnamed_addr constant [4 x i8] c"2: \00", align 1
@.str4 = private unnamed_addr constant [23 x i8] c"2. Still ok, <%s>? =)\0A\00", align 1

define i32 @main() nounwind {
  %1 = alloca i32, align 4
  %name = alloca [10 x i8], align 1
  store i32 0, i32* %1
  %2 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([4 x i8]* @.str, i32 0, i32 0))
  %3 = getelementptr inbounds [10 x i8]* %name, i32 0, i32 0
  %4 = call i32 (i8*, ...)* @scanf(i8* getelementptr inbounds ([4 x i8]* @.str1, i32 0, i32 0), i8* %3)
  %5 = getelementptr inbounds [10 x i8]* %name, i32 0, i32 0
  %6 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([38 x i8]* @.str2, i32 0, i32 0), i8* %5)
  %7 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([4 x i8]* @.str3, i32 0, i32 0))
  %8 = getelementptr inbounds [10 x i8]* %name, i32 0, i32 0
  %9 = call i32 (i8*, ...)* @scanf(i8* getelementptr inbounds ([4 x i8]* @.str1, i32 0, i32 0), i8* %8)
  %10 = getelementptr inbounds [10 x i8]* %name, i32 0, i32 0
  %11 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([23 x i8]* @.str4, i32 0, i32 0), i8* %10)
  ret i32 0
}

declare i32 @printf(i8*, ...)

declare i32 @scanf(i8*, ...)

Код нормально работает при помощи lli, компилится в нормальный ассемблер при помощи llc, в общем код ок.

Запускаю его при помощи вот этой демо-странички от Emscripten. Получаю, что характерно, аналогичную кривость, но почти наоборот, попробуйте сами.

ЧЯДНТ?

#9ESVPY (34+2) / @dluciv / 3793 дня назад

Я когда года три назад попробовал попрограммировать Ведроид штатным для него способом (скучная фригидная Java, жирный неуклюжий Eclipse, все дела), удивился тому, что гуйню к коду надо привязывать вручную. Не то чтобы я десятками леплю контролы на экран, но раздражает всё же.
Прямо вспомнилось заклинание раннего DHTML — document.getElementById. Только ещё мрачнее.
Я тогда заподозрил, что на самом деле это круто, просто я за час проникнуться не успел. Сейчас, поскольку ничего не изменилось, я заподозрил то же самое.
Помогите мне развеять подозрения и скажите: зачем оно всё такое убогое?

#KLIP0F (35+1) / @dluciv / 3820 дней назад

А как лучше перевести на по-английский "говнокод" и "говнокодить"?

#QJSJFT (11+1) / @dluciv / 3930 дней назад

Я задолбался. Как отучиться писать "retrun"?
Ответ "программировать на нормальных языках" не предлагать, я его знаю.

#SAHNA7 (4) / @dluciv / 3987 дней назад

Не зря студентам говорят, что код должен быть хорошо прокомментирован: https://github.com/gorohovart/hometasks/pull/1/files

#185V9W (0+1) / @dluciv / 4054 дня назад

Уже много лет С/С++ позволяет достаточно безболезненно печатать в консоль wchar_t.
Например на С++ пиши:

locale::global(locale(""));
wcout.imbue(locale());
wcin.imbue(locale());

пользуйся iostream и не горюй... казалось бы... пока где-то не попытаешься воспользоваться не-юникодными cout или printf. Или пока какая-нибудь библиотека не попытается. А вот тогда всё нафиг сломается и дальше нормально печатать будет только ASCII, а весь Юникод будет ломать к чертям!

Вы думаете это компилятор кривой, или библиотека дырявая? Ну как же, такой ведь косяк. Нет ребята, это /by design/: http://stackoverflow.com/questions/8947949/mixing-cout-and-wcout-in-same-program/8957069#8957069

#RAB9IM (4) / @dluciv / 4087 дней назад

Значит ECMAScript язык кривой, а Питон-нет?
http://habrahabr.ru/post/192098/
Ну ну.

#5VAXVD (6) / @dluciv / 4095 дней назад

Венок из 50 программ, порождающих друг друга https://github.com/mame/quine-relay

#4S0XX4 (2) / @dluciv / 4135 дней назад

ООП — такая же лажа, как теория относительности. Только ЛИСП, только эфир!
http://m.livejournal.com/read/user/science_freaks/2380873

#Z22I4X (0+1) / @dluciv / 4158 дней назад

http://lenta.ru/comments/news/2013/07/04/programmers/
/В частности, Шойгу поручил разыскать петербургских студентов, пять раз становившихся чемпионами по программированию/
Они напрограммируют... Олимпиадное программирование имеет мало общего с промышленным и оборонным. Да и с профессиональным программированием вообще.

#7ONCDA (4+4) / @dluciv / 4161 день назад

Самая маленькая сбойная программа на Си.
main;
http://habrahabr.ru/post/181021/

#R6C5SO (0) / @dluciv / 4196 дней назад
--
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

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