В начале 2020 года я решил начать писать о программировании на Medium. Но закончив первую главу, я ушел. Отчасти потому, что у меня нулевая дисциплина, но также и потому, что после того, как читатель преодолеет будничные основы, появится множество отличных руководств для начального уровня. Не было смысла изобретать велосипед.

Конец оправдания.

Но когда мир нуждался в нем больше всего, он исчез.

Я удачлив.

Много чего произошло с тех пор, как я в последний раз что-то писал на Medium. Вспышка SARS-CoV-2 вызвала полный сдвиг парадигмы в том, как мы взаимодействуем друг с другом. Жизнь полностью переместилась в онлайн, избавив меня от поездок на работу, но также потратив на дорогую парковку, которую я купил в начале семестра. Истории не только о умирающих пожилых людях, но и о молодых людях, перенесших инсульт, широко распространились в Интернете, а нехватка медицинских масок лишила многих людей возможности вообще выйти на улицу, даже в магазин за едой. Мне повезло, что у меня есть машина, множество масок и я свободен от вируса, несмотря на то, что до блокировки провел значительное количество времени в выгребной яме учебного зала под кодовым названием SAL.

Что касается недавних протестов и беспорядков, связанных со смертью Джорджа Флойда, у меня нет комментариев. Я просто благодарен за то, что меня избавили от всего этого хаоса.

Проекты?

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

  • Kyu — мобильное приложение, которое позволяет учащимся и ассистентам создавать очереди и перемещаться по ним. Вдохновленный всеми прокрастинаторами и сокращающими линейки студентами, я хотел построить что-то, что навело бы порядок в хаотичных рабочих часах прямо перед каждым дедлайном. Конечно, как руководитель CP и TA трех классов, я постоянно ищу перспективу во всем, к чему прикасаюсь. Вот почему Kyu также предоставляет систему регистрации классов, которая позволяет мне легко расширять функциональные возможности в дальнейшем (у кого-нибудь посещаемость на основе времени и местоположения?). Я написал его на Flutter для своего курса ITP344: Advanced Topics in iOS Development, главным образом потому, что я настолько хорошо разбираюсь в Swift, что убедил своего инструктора Аллена, что для меня было бы тривиально работать над окончательный проект в Swift. Другая причина в том, что я не хотел ограничивать себя пользователями iOS. Я не хочу исключать людей только потому, что мне не хочется писать одно и то же приложение дважды для двух платформ, и что они решили не покупать переоцененные и разработанные в Калифорнии фрукты, как я. Kyu готов на 90%, и в следующем семестре планируется провести пилотный проект в рамках ITP или, возможно, даже на кафедре CS в Университете Южной Калифорнии. Я действительно не могу дождаться, чтобы увидеть, как это произойдет!
  • Ethsign. Теперь, это то, о чем я не рассказывал слишком многим людям. Он находится на гораздо более ранней стадии по сравнению с Kyu, но это не просто еще одно приложение или какое-то тривиальное «упражнение по программированию». Думайте об этом как о DocuSign, но децентрализованном, работающем со всеми типами файлов и работающем на общедоступной цепочке блоков Ethereum. Я также работаю над этим не один — в команде 6 человек, включая меня. Как технический руководитель этого проекта, я отвечаю за разработку смарт-контракта, а также контролирую работу команды внешнего интерфейса. Я твердо верю в будущее технологии блокчейн и вариант использования, на который мы ориентируемся.

Новое оборудование!

Конечно, это еще не все. Как я уже сказал, мне нравится предугадывать будущее все, к чему я прикасаюсь, и я не могу думать ни о каком объекте, к которому прикасаюсь, кроме своего ноутбука. Может быть, мой телефон, но он уже исчерпан. Как обладатель Премии Витерби за выдающиеся заслуги в 2020 году, легендарный ассистент преподавателя трех классов, абсолютный цифровой кочевник, живущий за пределами кампуса в центре Лос-Анджелеса, при этом имея визу F-1 и получая деньги в основном от своих родителей, компетентный ноутбук меньшее, о чем я могу просить.

Macbook Pro конца 2016 года, который я купил со скидкой 50% в конце 2017 года, демонстрирует недостатки дизайна, когда я перехожу к разработке кроссплатформенных приложений с помощью Flutter. При разработке Kyu я обычно открывал два симулятора устройств: один работал под Android, а другой — под iOS. Macbook решает, что два симулятора холостого хода — это слишком много (из-за того, что эмулятор Android использует встроенную дискретную видеокарту AMD) и продолжает нагреваться даже без моей компиляции кода. Затем он термически дросселировался, что приводило к ухудшению производительности. Компиляция чего-либо приведет к разогреву процессора до 99 градусов по Цельсию. (Ужасная) клавиатура-бабочка тоже буквально действует мне на нервы. Каждое нажатие клавиши приближает мои пальцы к средней прожарке из-за плохого отвода тепла, а клавиша пробела сломана. Я понимаю, что Apple бесплатно ремонтирует клавиатуры-бабочки, но из-за распространения COVID-19 все магазины Apple закрыты. В сочетании с приготовлением пальцев, ухудшением производительности и моими ногами, которые поджариваются всякий раз, когда я надеваю его на ноги, я решил инвестировать в что-то новое. Что-то с высокой производительностью, поэтому ультрабуки не обсуждаются. Что-то, что выглядит профессионально и не слишком тяжело, поэтому большинство игровых ноутбуков не на столе. Что-то, что на самом деле обеспечивает хорошее соотношение цены и качества, поэтому Apple не обсуждается.

После долгих исследований я остановился на модели Razer Blade Advanced Mid 2019 года «Mercury White». У него отличная производительность, лучшее качество сборки среди всех ноутбуков с Windows, гладкий и профессионально выглядящий внешний вид (черная версия имеет зеленый логотип Razer на крышке, но белая версия представляет собой очень тонкий хромированный логотип), очень управляемый вес, и Best Buy предлагает скидку 700 долларов, так как это не самая новая модель. Что касается необходимости использования macOS, я уже устанавливал macOS на ПК («хакинтош») и могу легко сделать это снова. На самом деле я беру свои слова назад, это оказалось не так просто. Но я все равно сделал это, потому что я так хорош в этом.

Несмотря на то, что я упал на пол с моего обеденного стола в ночь, когда его доставили (спасибо моим дорогим кошкам), все было безупречно. Я заменил встроенный твердотельный накопитель NVMe емкостью 512 ГБ на твердотельный накопитель NVMe емкостью 1 ТБ и сделал его двойной загрузкой для Windows 10 и macOS. Великолепно!

Планы?

Поскольку я согласился на летнюю работу ТА, которая начинается в июле, я буду делить свое время в основном между работой ТА и работой над двумя проектами, упомянутыми выше. Поскольку я профессиональный неудачник без стажировки, мне также придется потратить некоторое время на работу над LeetCode. Однако, поскольку я живу под старым девизом Top Gear, я серьезно подумываю о том, чтобы начать писать на Medium, а также стать случайным YouTube-блогером.

Амбициозно, но ерунда.

- Высшая передача

Если я когда-нибудь соберусь снимать видео на YouTube, это, вероятно, будет обзор хакинтоша Razer Blade, а затем несколько мнений из моего опыта работы в качестве ассистента в отделе CS. Возможно, советы для студентов CS или будущих студентов CS, разглагольствования, занимательные истории из моих четырех сроков в качестве TA, или, скорее, просто дарить зрителям советы о том, как быть таким же успешным, как я… Просто подбрасывать идеи. Эти видео, вероятно, нуждаются в сценариях заранее, поэтому я, скорее всего, опубликую текстовые версии на Medium.

Серьезно, со всеми наградами и тем, что я отличный ассистент во многих классах… как я могу добиться такого успеха?

- Отказ

Завершение…

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

Берегите всех и будьте здоровы.

Пока.