𝚂𝚗𝚘𝚠𝙱𝚊𝚕𝚕𝙲𝚘𝚍𝚎
241 subscribers
112 photos
3 videos
25 links
Простым языком про it, ai и жизнь инди разработчика @Veoeo. Группа: @CodeBallSnow
Download Telegram
OpenAI выкатили идеи на будущее, когда llm станет ещё умнее

Предлагают раздать доступ всем, ввести налог на автоматизацию, создать фонд куда польётся финпоток заработанный на сервисах. При этом говорят что работы станет меньше, а деньги и власть могут сосредоточиться у небольшого числа компаний (мы их знаем). Альтман прямо говорит, что это только набросок и миру может понадобиться новый социальный контракт из-за ИИ. У меня от этого всего странное ощущение. Не скатываемся ли мы в систему, которая начинает кормить сама себя, где Nvidia инвестирует в модели чтобы те инвестировали обратно? Вообще, до выхода OpenAI на ipo это может функционировать стабильно. Дальше вопросики ..

Кстати как вам апрельский снег? Обработку в стиле полароид как на примере выше можно сделать в моём телеграм боте

🥰@SnowBallCode
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Вышел на карьерный трек Яндекса

Мне тут нежно напомнили в комментариях основную идею канала. Я решил не сопротивляться и получить удовольствие от процесса. Трек состоит из нескольких блоков: анализ рынка, резюме, портфолио, собеседование и активный поиск. Да, именно в таком порядке. По разным видео на ютубе я более года изучал как выстроены процессы в аутсорс, продуктовых компаниях и аутстаффе. Сложнее всего попасть в продуктовую компанию, но работать там проще и спокойнее, ведь разработка ведётся над одним приложением, сроки не горят и нет кучи созвонов. Проще всего попасть в аутстафф и аутсорс, но в ютубе часто напоминают что вкалывать там придётся будь здоров. Поэтому их и называют галерами. Аутсорс выполняет приложения на заказ, а аутстафф сдаёт в аренду джунов в другие компании по цене сеньоров

Оптимальнее всего - стартап. Там есть реальная возможность повлиять на продукт и отношение зачастую более лояльное к новичкам и их ошибкам. Я решил диверсифицировать, попробую все варианты, плюс продолжу развивать свой проект в заблокированном телеграмме
😍
🥰 @SnowBallCode
😑 Поддержать канал
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
4👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Добавил оживление фотографий в боте "Нейрофотограф", теперь он ещё круче!

Пришлось закопаться в обилие моделей на сервисе который использую и в итоге выбрал самую стабильную и быструю по соотношению цена / качество. Теперь пользователь может оживить любой снимок или картинку просто скинув её в чат и нажав "Оживить фото". Продолжительность ролика: 4, 8 и 12 секунд, а разрешение 480, 720 и 1080p. Формат будет как в оригинальной фотографии, также перед запуском можно написать промт о том какие движения хотите увидеть. Чекайте @NeurFotoBot, функционал уже доступен. Режим поддерживает загрузку до двух снимков, можно поиграться с морфингом и переходом сюжета или просто оживить одну фотографию

Стоимость в токенах варьируется от 4 до 36 и зависимости от параметров, но она всегда видна перед запуском

🥰 @SnowBallCode
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Блог начинался как мой путь в разработку через самостоятельное изучение Swift и Яндекс практикум

С тех пор многое поменялось. Я не готов всё время рассказывать о своём опыте и этой платформе. Именно сейчас я прохожу там карьерный трек, но мне больше интересна тема стартапов и нейросетей. Из-за этого я впервые не опубликовал сегодня запись в 9:41. Ранее публикации всегда символично выходили по четвергам именно в это время. Изменения сделаны намеренно. Канал я всё-таки поменяю исходя из своих приоритетов. Кто со мной: идите всех обниму, с кем пути расходятся, благодарю за доверие, поддержку и крепко жму руку

Теперь в 20:20 я буду публиковать тут тексты о стартапах, своих разработках, нейросетях и немного о программировании

@SnowBallCode
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
53
Я сейчас начал разрабатывать новый сервис и почти довёл его до MVP

Думаю что за год я примерно понял куда двигаться в сфере телеграм ботов. Да и в целом it индустрия направляется по пути внедрения ai в свои продукты. Уверен что здесь не только хайп и "пузырь доткомов" которым сейчас пугают некоторые блогеры, но и огромное поле возможностей для всех желающих. Именно поэтому я хочу придумать, протестировать и разработать сервис для бизнеса или платформу которой будут пользоваться обычные люди по подписке @iNeedVisionary. С приходом недорогих сервисов вроде курсора, клода и кодекса почти каждый может попробовать свою гипотезу цифрового продукта или даже открыть свою студию разработки в одного специалиста

Вопрос только в том: сколько миллионов таких же энтузиастов в один момент посетила похожая мысль?

🥰 @SnowBallCode
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
4🗿1
А что если я свой пет проект превращу в стартап?

Значительно прокачал бота по нейрофотографии и теперь он полностью на инлайн кнопках, локализован на все СНГ языки, использует премиум и кастомные эмодзи (на фото снимок меня если бы я родился и прожил всю жизнь девушкой xd). По проекту: меня сильно подставил провайдер по работе с моделями. Для своего бота я использовал training модель в контейнере на replicate и всё было хорошо три месяца, а потом начались проблемы. В итоге пришлось завести аккаунт на fal ai, закинуть туда доллары и провести ряд тестов. Сейчас полёт нормальный, к тому же в ui по добавлению снимков перед обучением модели расширил их количество до 18 фото и этапов тренировки теперь 1500. Это дает более предсказуемый результат. Хотя по прежнему многое зависит от качества снимков и различимости лиц на загружаемых пользователем фотографиях

Такие дела, а у вас есть какой-нибудь пет-проект или стартап?

🥰 @SnowBallCode
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤡1
У моего хостера физически изъяли серверы в Нидерландах

Разумеется я все хостил в одной локации, у одного поставщика, без балансировщика и зеркал. Чтож, базы данных потеряны, исходный код сохранён, все конфиги сервера, хрон события и другие скрипты мне хватило ума закоммитить. И на том спасибо. Когда подниму все сервисы пройдусь по истории оплат в Robokassa и накину всем токены для @NeurFotoBot, даже если они были потрачены ранее или купили 💎 токены за stars. Такие дела, в комментариях написал про этот инцидент подробнее

🥰 @SnowBallCode
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
Удивительно как легко может рухнуть то, что не продуманно до всех возможных мелочей

Вот как предугадать что часть независимой от меня инфраструктуры в момент станет недоступна? Никак. Можно лишь делать бекапы баз данных, а при разрастании проекта создавать realtime реплики на других локациях. В моем случае всё обошлось малыми потерями. Почти всем пользователям я компенсировал потерянные токены. Если кто-то ответит на письмо позже - начислю на их аккаунт тоже. Это моя зона ответственности. На данный момент я всё-таки не готов делать реплики на параллельный сервер, проще делать ежедневные бекапы прямо на VPS и специальным скриптом скачивать самые свежие версии бд на мак по ssh

Сейчас дорабатываю юзерфлоу бота по нейрофотографии убирая лишние сообщения, тк совершенству нет предела. А у вас были факапы? Как справились?

🥰 @SnowBallCode
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Интересно, а что если мне ещё раз пройти теорию из курса Яндекса?

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

Как готовитесь к жаре? Я вот утащил у сестры вентилятор 😆

🥰 @SnowBallCode
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Поговорим сегодня о обстоятельствах непреодолимой силы на примере IT

Я уже ныл на тему того, что мой хостер соседствовал с дельцами которые сдавали серверы для развёртывания приватной сети и ею пользовались киберпреступники. Так вот, сегодня вычитал в одном телеграм канале что люди из гд додумались запретить для российских сайтов и приложений авторизацию через зарубежные сервисы. На момент написания статьи этот законопроект принят в 3х чтениях, но ещё застрял в совете федерации и не подписан одним известным лицом. В прошлом месяце была новость о запрете github, но видимо до него дело так и не дошло. Весной вообще хотели заблокировать зарубежные нейросети, видимо кто эту инициативу продвигал не в курсе что почти все западные сервисы и так банят аккаунты россиян. Со всеми перечисленными проблемами я как-то справился, вопрос вот в чём: сколько моих сограждан опустили руки и не нашли решение? Сколько россиян пользуются махом, вк и другими "наш ответ им"?

На моём этапе обойти эти ограничения для работы не составляет труда, но я заметил что обывател вообще порой не понимает разницу между gmail и вк. Если законопроект подпишут, то штрафы будут огромные. Знаете как админы решат проблему? Часть из них обновит шлюзы авторизации, а другие зарегистрируют домены на друга из Казахстана и Россия опять потеряет множество траффика и интересных проектов

🥰 @SnowBallCode
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Четыре популярных алгоритма на Swift с объяснением где их обычно применяют:

1. Линейный поиск. Самый простой способ найти элемент в массиве. Используют когда массив маленький и не отсортирован, например для поиска в коротком списке

func linearSearch<T: Equatable>(_ array: [T], target: T) -> Int? {
for (index, element) in array.enumerated() {
if element == target {
return index
}
}
return nil
}

// Пример
let numbers = [5, 3, 8, 1, 9, 2]
if let index = linearSearch(numbers, target: 8) {
print("Элемент найден на позиции \(index)") // 2
}


2. Бинарный поиск. Гораздо быстрее линейного, но работает только с отсортированными массивами. Используют в больших отсортированных списках, таких как поиск пользователей, товаров, автодополнение и всё такое

func binarySearch<T: Comparable>(_ array: [T], target: T) -> Int? {
var left = 0
var right = array.count - 1

while left <= right {
let mid = left + (right - left) / 2

if array[mid] == target {
return mid
} else if array[mid] < target {
left = mid + 1
} else {
right = mid - 1
}
}
return nil
}

// Пример
let sortedNumbers = [1, 3, 5, 7, 9, 11, 13]
if let index = binarySearch(sortedNumbers, target: 7) {
print("Найдено на позиции \(index)") // 3
}


3. Пузырьковая сортировка. Медленная, но удобная для обучения. На практике почти не применяется

func bubbleSort<T: Comparable>(_ array: inout [T]) {
let n = array.count
for i in 0..<n {
for j in 0..<n - i - 1 {
if array[j] > array[j + 1] {
array.swapAt(j, j + 1)
}
}
}
}

// Пример
var unsorted = [64, 34, 25, 12, 22, 11, 90]
bubbleSort(&unsorted)
print(unsorted)


4. Быстрая сортировка.
Один из самых шустрых алгоритмов, применяют для сортировки больших массивов данных

func quickSort<T: Comparable>(_ array: [T]) -> [T] {
guard array.count > 1 else { return array }

let pivot = array[array.count / 2]
let less = array.filter { $0 < pivot }
let equal = array.filter { $0 == pivot }
let greater = array.filter { $0 > pivot }

return quickSort(less) + equal + quickSort(greater)
}

// Пример
let array = [10, 80, 30, 90, 40, 50, 70]
let sorted = quickSort(array)
print(sorted)


В реальных приложениях чаще используют готовые методы .sorted(), .firstIndex(of:) и структуры данных из стандартной библиотеки (Array, Set, Dictionary). Также в функциях используется <T: Equatable> и <T: Comparable>. Это дженерики в Swift где <T> универсальный тип-заполнитель, благодаря которому функция работает с любыми данными: Int, String, вашими моделями. Буква T это стандартное обозначение от слова "Type"

🥰 @SnowBallCode
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
6
Ого. Кто бы мог подумать что приложения подозреваемые в слежке за пользователями продолжат ликвидировать

Саммери: Apple удалила из App Store сразу несколько приложений VK: Mail точка ru, VK Музыку, VK Видео, VK Мессенджер, Дзен, Одноклассники и другие сервисы. В VK заявили, что удаление произошло без предупреждения и объяснений назвав такое решение необоснованным и неприемлемым. Госдума же потребовала от Apple объяснить причины удаления. Московский суд уже впаял штраф полмиллиона соответствующему юрлицу за "неисполнение обязанностей по распространению информации в интернете". Apple заявила, что действует в рамках санкционных требований. Интересно, теперь начнётся давление на компанию и блокировки серверов обновлений Apple или чего нам теперь ждать?

Хотите квизы по программированию, стартапам, нейросетям или общим темам из it? 👍🏼- да, 👎🏼 - нет

🥰 @SnowBallCode
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82👎11
На прошлой неделе вы проголосовали за LeetCode, вот две простые задачки на Swift с решениями

🐬 Дан массив целых чисел nums и целое число target. Нужно вернуть индексы двух разных элементов, сумма которых равна target

// Пример
Input: nums = [2,7,11,15], target = 9
Output: [0,1]


🐬 Определить, является ли целое число палиндромом (читается одинаково в прямом и обратном порядке)

// Примеры
Input: x = 121 → true
Input: x = -121 → false
Input: x = 10 → false


Решение с объяснением в комментариях. Если понравились изи задачки напиши какие уровни опубликовать в следующий раз. Я их решил не сразу, понадобилось время 🤔

🥰 @SnowBallCode
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Выкатил обновлённую контент-фабрику подтянув проект до функционала монетизации!

Суть проста как жизнь автооюбителя в Москве: в первую очередь бот написан админом для админов. В нём можно создавать отложенные публикации, генерировать стилистически похожие тексты, на те, которые уже есть в вашем канале. Ещё можно создавать иллюстрации. Сейчас у сервиса включена монетизация только через stars, жду когда мне включат оплату картой за рубли на робокассе. Там какая-то проблема, пишут что бот не реагировал на старт, хотя я проверил на двух аккаунтах и всё работает. Бекенд крутится, вебхуки обновлены. Вообщем жду ответа

Кстати, у меня есть запас по экономике бота и я возможно поменяю mini модели использующиеся в нём на что-то более крутое, посмотрим

🥰 @SnowBallCode
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
3
OpenAI готовит первую физическую клавиатуру Codex Micro

Это компактный макропад который они сделали вместе с Work Louder специально для работы с их AI-кодинг помощником. Устройство получило механические клавиши джойстик и удобное сенсорное управление благодаря этому можно быстро выполнять основные действия при работе с агентами в Codex одним нажатием, вместо того чтобы каждый раз использовать комбинации клавиш. Будет стоить около 230 $

Думаю такая вещь упростит рутину для тех кому совсем лень работать в Codex с клавиатуры. Кнопка push to talk какбы намекает на это

🥰 @SnowBallCode
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
🤮22
Ещё пара интересных задачек с литкода и решением на Swift

🐬 Valid Parentheses: дана строка s, содержащая только символы '(', ')', '{', '}', '[', ']'. Определи, является ли строка валидной: все открытые скобки должны закрываться в правильном порядке и соответствующими типами

// Примеры
Input: s = "()" → true
Input: s = "()[]{}" → true
Input: s = "(]" → false
Input: s = "([)]" → false
Input: s = "{[]}" → true


Объяснение и решение:
• Используем стек: открывающие скобки кладём, закрывающие проверяем и убираем. • Если в какой-то момент не совпадает или стек не пуст в конце false

class Solution {
func isValid(_ s: String) -> Bool {
var stack: [Character] = []

for char in s {
switch char {
case "(", "{", "[":
stack.append(char) // открывающую скобку кладём в стек
case ")":
if stack.last != "(" { return false }
stack.removeLast()
case "}":
if stack.last != "{" { return false }
stack.removeLast()
case "]":
if stack.last != "[" { return false }
stack.removeLast()
default:
return false
}
}

return stack.isEmpty // в конце стек должен быть пустым
}
}


🐬 Best Time to Buy and Sell Stock: дан массив prices, где prices[i] это цена акции в i-й день. Нужно найти максимальную прибыль, которую можно получить, купив акцию в один день и продав в другой (можно не покупать вообще)

// Примеры
Input: prices = [7,1,5,3,6,4] → 5 (купить в 1, продать в 4)
Input: prices = [7,6,4,3,1] → 0
Input: prices = [2,4,1] → 2


Объяснение и решение:
• Проходим по массиву один раз.
• Запоминаем самую низкую цену слева.
• На каждой итерации считаем потенциальную прибыль и сохраняем максимум

class Solution {
func maxProfit(_ prices: [Int]) -> Int {
var minPrice = Int.max // самая низкая цена, которую мы видели
var maxProfit = 0

for price in prices {
if price < minPrice {
minPrice = price // обновляем минимальную цену
} else {
let profit = price - minPrice
if profit > maxProfit {
maxProfit = profit
}
}
}

return maxProfit
}
}


Эти две задачи отлично дополняют предыдущие (Two Sum + Palindrome Number). Они тоже решаются за 10–20 минут, но уже требуют чуть больше размышлений

🥰 @SnowBallCode
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
142🤡1
Please open Telegram to view this post
VIEW IN TELEGRAM
321
Литкод задачки с решением на Swift ч.3:

🐬 Climbing Stairs: тебе нужно подняться на вершину лестницы, у которой n ступенек. Каждый раз ты можешь подняться на 1 или на 2 ступеньки. Сколько существует различных способов подняться наверх?

// Примеры
Input: n = 2 → 2
// 1. 1 + 1
// 2. 2

Input: n = 3 → 3
// 1. 1 + 1 + 1
// 2. 1 + 2
// 3. 2 + 1

Input: n = 4 → 5


Объяснение и решение: Это классическая задача на динамическое программирование (почти числа Фибоначчи)
dp[i] = количество способов добраться до i-й ступеньки
dp[i] = dp[i-1] + dp[i-2]

class Solution {
func climbStairs(_ n: Int) -> Int {
if n <= 2 { return n }

var prev1 = 1 // способы добраться до 1-й ступеньки
var prev2 = 2 // способы добраться до 2-й ступеньки

for _ in 3...n {
let current = prev1 + prev2
prev1 = prev2
prev2 = current
}

return prev2
}
}


🐬 Valid Anagram: даны две строки s и t. Определи, является ли t анаграммой s (то есть можно ли переставить буквы в s так, чтобы получилась t)

// Примеры
Input: s = "anagram", t = "nagaram" → true
Input: s = "rat", t = "car" → false
Input: s = "listen", t = "silent" → true


Объяснение и решение: Самый простой и быстрый способ это посчитать частоту каждой буквы, тоесть когда частоты совпадают то это анаграмма

class Solution {
func isAnagram(_ s: String, _ t: String) -> Bool {
guard s.count == t.count else { return false }

var counter = [Character: Int]()

for char in s {
counter[char, default: 0] += 1
}

for char in t {
guard let count = counter[char], count > 0 else { return false }
counter[char] = count - 1
}

return true
}
}


Эти две задачи тоже легко решаются примерно за 20 минут и отлично развивают мышление (динамика + хеш-таблица)
😍
🥰 @SnowBallCode
😍
Please open Telegram to view this post
VIEW IN TELEGRAM
12
Please open Telegram to view this post
VIEW IN TELEGRAM
12
Please open Telegram to view this post
VIEW IN TELEGRAM
12