Pull to refresh
6
4
Дмитрий Волочаев @dmitryvolochaev

Разработчик

Send message

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

Пока все спорили, есть ли у языковой модели самосознание, у нее появился инстинкт самосохранения

В ноябре прошла Общероссийская тренировка ДЭГ, т.е. можно было попробовать систему в действии. Я надеялся, что попробую там понаблюдать. В смысле смотреть данные из блокчейна. Чтобы заранее узнать, как это делается. На сайте vybory.gov.ru была инструкция, которая начиналась с того, что надо на главной странице найти раздел "Наблюдение". Я так и не смог его найти.

Тут нам поможет еще один из древнейших, но забытых элементов - <iframe>

А вот еще один доклад ровно на ту же тему

У контейнеров такие методы как begin(), end(), rbegin() и rend() каждый имеют константную и неконстантную перегрузку. Таким образом, можно перебирать элементы неконстантного контейнера и изменять их. А можно таким же циклом перебирать элементы константного контейнера, только изменять их уже нельзя.

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

Копипаст из ChatGpt в редактор кода - это называется работа программиста? Ну тогда программист - это любой, кто умеет пользоваться гуглом. Гугл существует с 1998 года, а нас до сих пор не сокращают

Ограничения подмены термина выражаются как недопустимость равенства некоторых пар множеств (например, S_2 \ne S_4).

Допустим, наш универсум - это мебель в отдельно взятой комнате. Тогда вполне может быть, что все деревянные предметы - это табуретки, а все табуретки из дерева. Множество табуреток равно множеству деревянных предметов. Но где же тут подмена понятий? Это обычный экспериментальный факт

Попробуйте вот это:

class MyEnumerator
{
   int i;
   public object Current => i;
   public void Reset () {i=0;}
   public bool MoveNext()
   {
      return ++i <= 5;
   }
}

class MyEnumerable
{
   public MyEnumerator GetEnumerator() => new MyEnumerator();
}


void Main()
{
	var en = new MyEnumerable();
	foreach(int n in en)
	{
	     Console.WriteLine(n);
	}
}

Я пробую в LinqPad, поэтому тут нет юзингов и класса, в котором находится Main(). Но я уверен, что и в Студии MyEnumerable будет работать

Прошел я по ссылке на AwaitUnsafeOnCompleted(), и мое внимание привлекла строчка:

Contract.Assert(!Object.ReferenceEquals((object)stateMachine, (object)stateMachine), "Expected an unboxed state machine reference");

В статье описаны титанические усилия разрабов по экономии на боксинге, а тут он выполняется целых два раза только чтобы проверить, что TStateMachine является value-типом.

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

where TStateMachine : IAsyncStateMachine

Добавить слово struct, вот так:

where TStateMachine : struct, IAsyncStateMachine

Допустим, что менять сигнатуру метода уже поздно, потому что уже много где используется. Тогда рантайм-проверка нужна, но ее можно написать так:

Contract.Assert(typeof(TStateMachine).IsValueType);

И, наконец, если проверка такая дорогая, а вы так заботитесь о быстродействии, ее можно было бы и просто убрать.

Обратите внимание, автор Поста напоминает нам про использование интерфейсов (a pattern of APIs) как необходимое условие использования, по крайней мере таких ключевых слов из C# как: await, foreach, я могу еще вспомнить using, например, все они требуют, чтобы помеченное выражение приводилось к типу с определенным интерфейсом.

Нету тут приведения типов, если конечно имеется ввиду type casting. В этом-то и суть.

Про using это он зря. Там как-раз типизация строгая. Ему нужен IDisposable, а не какой-попало тип с методом Dispose().

То, что Автор Поста называет pattern of APIs также известно как утиная типизация. Если бы переводчик использовал этот общепринятый термин, все эти объяснения были бы излишни.

Заходим в отладчике в вызов проксирующего FT_OpenEx и видим лишний код, работающий с ebp и esp

В Visual Studio можно писать функции без стандартных прологов. Для этого есть ключевое слово naked. Оно не работает в x64, но вам же надо только x86. Вы могли написать как-то так:

__declspec(naked) void PROXY_FT_CLOSE() {
  __asm {
    jmp Original_FT_Close
  }
}

Таксист забивает в картах гугол

Я правильно понимаю, что таксист не знает, где в его родном городе автовокзал? И даже примерно в каком районе?

Автор заново изобрел флоппинет

Особенно в банке, где ты по умолчанию согласен на рассрочки, о которых тебе рассказали в сторисах

Выиграли тендер, но проиграли 1,3 млн. рублей. Так себе выигрыш

А система кармы там есть или каждый новорег может ставить плюсы?

Чем вообще занимается служба поддержки, если рассматривать жалобы она не имеет права?

Да, у меня Билайн. Конкретно Москва у меня определялась только когда я в самом деле был там

Еще эти высокие стандарты почему-то допускают существование в Великобритании таких компаний как Кэшбери, S-Group, Global Investment Services...

1
23 ...

Information

Rating
856-th
Location
Нижний Новгород, Нижегородская обл., Россия
Works in
Date of birth
Registered
Activity