myStack
890 subscribers
761 photos
15 videos
27 files
310 links
Меня зовут Ростислав и я разработчик.

Это мой личный блог.

Я пишу на Go, читаю книги про технологии и пишу об этих и других вещах сюда.


Книги:
https://bit.ly/rostislav-books

Личка:
https://t.me/Rostislaved

Сайт:
Rostislav.me
Download Telegram
Боже, линукс - это что-то нереальное.
Видите это окно для скриншота? Оно не с моего компа. Оно с компа, который стоит в офисе.
Я подключился к нему через ssh и запустил программу. Оно выполняется там, а через ssh передается инфа, с помощью которой x сервер у меня на компе рисует это окно. Просто афигеть)
В итоге я сделал скрин на своем компе, а он сохранился на том!
1
Сейчас в одном айтишном канале, на который я подписан был пост-реклама с где-то 50ю другими каналами. Я конечно начал по ним прыгать и оценивать интересен ли мне контент. В одном нашел пост с инициативой создать базу знаний по нагрузочному тестированию. Зашел, а там чел, который меня на 1й стажировке меня учил делать нагрузочные тесты. Забавно :)
Чет увидел картинку и очень понравилась. Подумал: "Хотел бы я там жить. Вот бы меня туда перенесли". А потом осознал, что, если бы так случилось, то я наверное бы был опустошен.
Все новое. Все, что я знаю о мире - бесполезно, ибо оно знание о другом мире.
Все мои усилия, которые я приложил в жизни: школу закончил, универ, язык учил, в какой-то мере разбирался в людях - т.е строил картину этого мира - всё не нужно, всё обесценено. Может там 90% населения говорит на японском? Может никто не учит географию Земли ибо это не она, или может набор знаний в школе (т.е. общественных) совершенно другой. Наверное там было бы одиноко.
типичные фанаты раста в чате про го)
Apple не сделала чего-то нового в своих новых процессорах. Это по сути уже существовало всё давно. Но не использовалось по одной причине, имя которой - обратная совместимость.

Небольшое отступление. Когда язык программирования компилируется, то он превращается в ассемблер, то есть по сути в непосредственные инструкции, которые выполняет процессор.

У разных процессоров могут быть разные наборы таких инструкций. То есть например строчка а = а + 1 может преобразоваться в 3 инструкции:
1. Достать а из памяти
2. Сложить а и 1
3. положить результат в память
А может преобразоваться в одну инструкцию, которая делает сразу все три действия атомарно.
Суть в чем. Если делать это за 1 инструкцию, то будет немного быстрее. Но из-за этого набор инструкций будет содержать +1 инструкцию. Когда поняли, что такой подход ускоряет работу, то стали очень много клепать таких инструкций на каждый чих, ускоряя выполнение некоторых действий, но раздувая число инструкций в процессоре.

Каждая новая инструкция - это определенные транзисторы, т.е. все не дается бесплатно. Выигрываешь на скорости инструкций - уменьшается число транзисторов. Это был первоначальный подход и это называется CISC - Complex Instruction Set Computing\er то есть сложный (полным) набор инструкций.

Когда поняли, что бесконечно добавлять инструкции нельзя, то решили их уменьшить. Сделали статистику, какие инструкции используются чаще всего - те оставили (например как выше инкремент на 1 т.к. частая операция), а те, которые используются редко - их убрали, чтобы транзисторы не занимали. Так появилась RISC набор инструкций. Reduced instructions set computing\er. Уменьшенный набор инструкций то есть. Архитектура ARM как раз использует RISC набор инструкций.

Как оказалось архитектура с RISC набором инструкций показывает хорошую производительность и имеет маленькое энергопотребление. И это все при том, что у нее не было тех n лет развития, как у CISC к тому времени.
Казалось бы, бери риск и все будет красиво. Но вот тут и вмешался бизнес. Дело в том, что программы, работающие на компе с одной архитектурой не работают на компе с другой. И чтобы программа заработала надо или ее перекомпилировать или сделать эмулятор.
И к тому моменту никакие компании не решились так РИСКовать ради тогда еще не слишком значительного преимущества в производительности. Легче было купить компов побольше. И они продолжили вливать деньги в интел\амд, удерживая их лидерами всего.
Эти компании тоже поняли, что риск крутая штука и свои процы переделали очень неплохо, по сути сделав их внутри РИСК процессорами, кажущимися ЦИСК процессорами, все для сохранения обратной совместимости. И так продолжается очень давно.

Но тут вдруг начали развиваться мобильные устройства, одним из главнейших требований которых - малое энергопотребление. И при этом им не надо было сохранять обратную совместимость. Не было никакого СТАРОГО Apple Store, приложения которого бы перестали работать. Тут и пошли в бой процессоры в РИСК набором инструкций. Постепенно развиваясь за счет покупателей айфонов и самсунгов за 100к они стали очень хорошими процессорами догнавшими по бенчмаркам компы. И это при работе от аккумулятора в маленьком телефоне.

Не знаю кто первый это сделал, но мне кажется Microsoft, выпустив свой Surface в двух вариантах с процессором Intel (CISC) и процессором на ARM (RISC). И тот который с ARM не взлетел. Софт не работал и никому это было не надо. Сейчас остались серфейсы только на интеле.

Но в 2020м году врывается гейм ченжер - Apple, делая свой комп с процессором с RISC набором инструкций при этом годно подготовившись - перекомпилировав все свои стандартные программы и сделав жизнь других программистов легче, подготовив все для того, чтобы им было легко перекомпилировать свои программы + выпустив эмулятор для тех программ, которые не будут перекомпилированны.
Таким образом, практически устранилась единственная причина невозможности RISC процессоров на рынке настольных компов и эпл получает все плюсы арм процессора.
Надо в резюме написать red-eyes-linux-problem-solver
инсайт ночи - catfish - переводится, как сом. Которыба блин)
Прикольно. Есть такая штука USB over ip. Выглядит как на картинке.
Скоро наверное буду использовать (хоть и неявно). Надо чтобы флешка(с цифровым ключом) пробрасывалась на комп в датацентре, где будет крутиться мой сервис.
Эх, как прекрасны следующие предложения из 2010го))
"И цена ожидается весьма гуманная – в районе 1800 рублей, прямо как в Штатах ($59.99). Даже дешевле, чем более-менее быстрая флэшка на 32 гигабайта…"
For example, if a penguin has a fly method, the penguin might understandably decide to test it out. However, if the fly method was in fact overridden and the behavior to fly did not exist, the penguin would be in for a major surprise when the fly method is invoked after jumping over a cliff.
😂
Два самых важных совета о самообучении, которые я когда либо слышал.

📝 "A little reading goes a long way toward professional advancement. If you read even one good programming book every two months, roughly 35 pages a week, you’ll soon have a firm grasp on the industry and distinguish yourself from nearly everyone around you."
- "Code Complete" by Steve McConnell

📝 "We become authorities and experts in the practical and scientific spheres by so many separate acts and hours of work. If a person keeps faithfully busy each hour of the working day, he can count on waking up some morning to find himself one of the competent ones of his generation."
- William James

#Career
Это grep для github!
https://grep.app/search
Кстати только вчера смотрел на сриншоты из аниме и фото мест, откуда их срисовали и появилась мысль, почему мне так нравятся эта рисовка.
Ну кроме просто отличного качества и детализированности, это похоже на сны и воспоминания. А т.к. чаще мозг забывает отрицательные эпизоды и оставляет положительные, что и рождает ностальгию, то это очень хорошо перекликается с положительными эмоциями у меня от просто созерцания такой рисовки. Как-то так.
Я конечно мало что знаю о биологии, но это вроде что-то грандиозное
Ща провернул следующую штуку)
Исходные данные:
1. есть комп на работе с белым айпи
2. есть мой домашний комп за роутером (без белого айпи)
3. есть флешка-ключ. Тот комп в который вставлена эта флешка, там может работать программа.

Мне надо завтра сделать так, чтобы люди могли подключиться к программе. Т.к. у меня нет белого айпи, то запусти я прогу у себя (т.к. флешка у меня дома), то нифига бы никто не подключился. Вывод - мне завтра идти на работу, чтобы вставить флешку там и там же запустить прогу.
Но тут я прочитал древние свитки и сделал reverse ssh!
То есть, я вставляю флешку у себя и у себя запускаю программу и реверс ssh делает тунель до белого айпи работы. В итоге зайдя с рабочего компа на localhost я могу подключиться к сервису, который у меня дома. Это правда магия какая-то)