sheremetov.com
43 subscribers
14 photos
1 video
64 links
The Pursuit of Happyness
Download Telegram
We are still at the very beginning of our journey, but already now I think we can see how programming will be transformed in the coming years. For example, here is a simple script that provides chatGPT interface to access the game, explains the rules of the game, and shows good results.
I have always been interested in the real stories of people who managed to do something significant in life, what share of their success is due to talent and what share is due to luck.

I would like to share with you one life story of Salvatore Sanfilippo, better known as antirez, the creator of Redis. It describes his path, how he became a programmer, how he built one of the most popular open-source projects, how it started to bring him his first money and a funny story about why he chose port 6379 for Redis.
If you've ever opened Wikipedia to look up some unfamiliar technical term, and an hour later you caught yourself reading about the origins of ancient Greece, then this service will please you very much.

On this site chatGPT explains in very simple and concise language various disciplines and concepts.

Check it out, it's interesting.
An email from Steve Jobs, sent to himself, remarking on how much we all need each other:

I grow little of the food I eat, and of the little I do grow I did not breed or perfect the seeds.
I do not make any of my own clothing.
I speak a language I did not invent or refine.
I did not discover the mathematics I use.
I am protected by freedoms and laws I did not conceive of or legislate, and do not enforce or adjudicate.
I am moved by music I did not create myself.
When I needed medical attention, I was helpless to help myself survive.
I did not invent the transistor, the microprocessor, object oriented programming, or most of the technology I work with.
I love and admire my species, living and dead, and am totally dependent on them for my life and well being.
LLMs like ChatGPT have become an indispensable tools for a wide range of tasks. Our productivity depends on how effectively we use it.
I can recommend my folks the course from Stanford Institute professor and founder of Google Brain, Andrew Ng, "ChatGPT Prompt Engineering for Developers". Despite the name, the course contains a lot of techniques applicable to absolutely any industry, and serious programming skills are not required. Well, if you are a programmer, it is a must-see. The whole course can be easily watched in a few hours.
I liked the way the gliglish.com service was implemented. AI helps in learning foreign languages, corrects mistakes, suggests how best to express a thought, and just supports the conversation, training speaking & listening.

Impressive list of features:

• Feedback on your grammar.
• Suggestions: See examples of what to say next to keep the conversation flowing.
• Speed: Choose a lower speed for beginners or a faster one for advanced levels.
• Translations: Click to see a translation into English (or another language).
• Role-playing: Practice real-life situations.
• Available to learn American English, British English, Australian English, French, Spanish from Spain, Spanish from Mexico, Brazilian Portuguese, European Portuguese and more.
An interesting fact
I don’t know how to “unsee” it but it’s kind a fun experiment - croudsorcing platform for hand drawing frame by frame the whole BEE movie:

https://thefreemovie.buzz/
Ever wondered what's under the hood of your computer an how it works but you don’t want to dive into Andrew S. Tanenbaum’s book? I found for you free online book wich describes it in easy way: https://cpu.land/
Can measure software developer productivity?

As far as programmer's productivity and efficiency of development processes is one topics I touch on regularly, I can't pass by the article Yes, you can measure software developer productivity published by McKinsey and, of course, a critique of the article by Kent Beck and Gergely Orosz. For a long time of sitting on two chairs (as a programmer and as a manager), I understand the positions of both sides very well. On the one hand, managers who can't help measuring, otherwise how will they realize that they are moving in the right direction? On the other hand, there is a huge variability of programmers' work depending on the size of the company, the complexity of the products they are working on, the type of team, the stage of the project (development, implementation, support, etc.). In addition, it seems to me that even though Gergely claims to disagree with the approach, in many ways, his and Kent's views complement McKinsey's article. In any case, for anyone interested in the topic, I recommend that you form your own opinion on the subject.

In continuation of the topic of productivity, I would like to recommend another article, on this topic -- What Actually Drives Productivity, and for those who would like to dive even deeper into this topic, I can recommend several books:

Thinking in Systems: International Bestseller by Donella H. Meadows
Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations by Nicole Forsgren
Flow: The Psychology of Optimal Experience by Mihaly Csikszentmihalyi
A Philosophy of Software Design by John Ousterhout
Youtube archtecture & redistributed transactions

It is very easy to get lost in the variety of modern databases. That's why database of databases from Carnegie Mellon University, which is clearly described guarantees, internal design and architecture is a real treasure.

YouTube started its journey in 2005. As this venture capital-funded technology startup gained traction, it was acquired by Google in November 2006 for US$1.65 billion.

Before they were acquired by Google, the team comprised:

- 2 system admins
- 2 software architects that focused on the site's scalability
- 2 feature developers
- 2 network engineers
- 1 DBA

It's just an incredible fact to all of the modern developers. Reading this your next question will be probably – how is this possible? Hard to tell how infrastructure was build at the moment Google acquired them, but if you are interested in design of modern Youtube, I can recommend you to read this the article. It's deep and detailed explanation of Youtube internal architecture.

Continuing the topic of distributed transactions and consistency, I would like to share an idea of implementing distributed transactions in several storages. The idea is academic, however I see how it could be adapted in a variety of basic scenarios.
Travel

For a long time my favorite app for navigating and planning hiking and biking trails was mapy.cz. Organic Maps looks like something that can replace them. It is an opensource project with a user-friendly and responsive interface on top of openstreet maps. Not sure yet if the functionality will be enough for me. Definitely want to try it out on my next hiking trip.

Animated knots. Under that self-explanatory name, a very handy site with visualizations of hundreds of nodes for different occasions. If yachting, climbing, fishing or camping interests you, this site will stay in your bookmarks for a long time. And if tourism in any form you are not interested in, then soon there will be another section with tie knots.
Last week was full of releases:

1. Mistral 7B - an open source Apache license language model. According to reviews, the generation quality is higher than in Llama 2 and comparable to GPT-3.5. It is practically uncensored, which makes it more useful. Can be run locally.

2. Cohere Chat + RAG - new chatbot and API from Cohere team. Allows you to upload any external data sources (like pdfs or search results) to the chatbot.

3. Claude has opened up the API to everyone. Their killer feature is a context window of 100k tokens, 3 times higher than GPT-4. The guys also partnered tightly with Amazon and got a monster round of $4B investment from them.

4. PaLM 2 API from Google is also open for all developers. Google also made a low-code tool called MakerSuite for rapid prototyping of AI applications.

5. NexusRaven-13B is an opsensor LLM focused on function calling. On this task the model is comparable to GPT-3.5.

6. Workers AI from Cloudflare - serverless inference for language models based on Cloudflare infrastructure. Supports Llama2, Whisper, and a few other opsensor models.
The world around us is incredibly complex. Our brains are unable to take into account the huge number of factors that lead to the world around us being the way it is. In order not to go crazy, our consciousness throws us simple and understandable solutions to the most complex problems surrounding us. This great story shows that not always the solution on the surface is the right one, but curiosity and critical thinking can lead us to the truth.

One day a complaint was received by the Pontiac Division of General Motors:

"This is the second time I have written you, and I don't blame you for not answering me, because I kind of sounded crazy, but it is a fact that we have a tradition in our family of ice cream for dessert after dinner each night. But the kind of ice cream varies so, every night, after we've eaten, the whole family votes on which kind of ice cream we should have and I drive down to the store to get it. It's also a fact that I recently purchased a new Pontiac and since then my trips to the store have created a problem. You see, every time I buy vanilla ice cream, when I start back from the store my car won't start. If I get any other kind of ice cream, the car starts just fine. I want you to know I'm serious about this question, no matter how silly it sounds: 'What is there about a Pontiac that makes it not start when I get vanilla ice cream, and easy to start whenever I get any other kind?'"

The Pontiac President was understandably skeptical about the letter, but sent an engineer to check it out anyway. The latter was surprised to be greeted by a successful, obviously well-educated man in a fine neighborhood. He had arranged to meet the man just after dinner time, so the two hopped into the car and drove to the ice cream store. It was vanilla ice cream that night and, sure enough, after they came back to the car, it wouldn't start.

The engineer returned for three more nights. The first night, the man got chocolate. The car started. The second night, he got strawberry. The car started. The third night he ordered vanilla. The car failed to start.

Now the engineer, being a logical man, refused to believe that this man's car was allergic to vanilla ice cream. He arranged, therefore, to continue his visits for as long as it took to solve the problem. And toward this end he began to take notes: he jotted down all sorts of data, time of day, type of gas used, time to drive back and forth, etc.

In a short time, he had a clue: the man took less time to buy vanilla than any other flavor. Why? The answer was in the layout of the store.

Vanilla, being the most popular flavor, was in a separate case at the front of the store for quick pickup. All the other flavors were kept in the back of the store at a different counter where it took considerably longer to find the flavor and get checked out.

Now the question for the engineer was why the car wouldn't start when it took less time. Once time became the problem – not the vanilla ice cream – the engineer quickly came up with the answer: vapor lock. It was happening every night, but the extra time taken to get the other flavors allowed the engine to cool down sufficiently to start. When the man got vanilla, the engine was still too hot for the vapor lock to dissipate.
This media is not supported in your browser
VIEW IN TELEGRAM
Short summary of 2023

1039 hours on meetings (504hrs team meeting, 274hrs external meetings and 261hrs one-to-ones)
41 hour of biking 612km
44 hours for running 417km
936 hours of coding / writing in vscode
20 days 10 hours of listening to 4310 songs on Spotify
8 days 13 hours of for listening 152 podcasts


Dream of the year – peace
Serial of the year - The Bear
Audiobook of the year - The three-body problem by Cixin Liu
Book of the year - Leadership Strategy and Tactics by Jocko Willink
Music of the year – Mikromusic
Podcast of the year – Lex Fridman
Service of the year – ChatGPT
Game of the year - Chess
Sport of the year - Squash
Mobile app of the year - Duolingo
Desktop app of the year - Wrap
Event of the year - a few weeks with parents
Device of the year - Insta Go 2
Travel gems of the year - Wejherowo, Mierzeja Wiślana
There is a story attributed to Warren Buffett—although probably only in the apocryphal way in which wise insights get attributed to Albert Einstein or the Buddha, regardless of their real source—in which the famously shrewd investor is asked by his personal pilot about how to set priorities. I’d be tempted to respond, “Just focus on flying the plane!” But apparently this didn’t take place midflight, because Buffett’s advice is different: he tells the man to make a list of the top twenty-five things he wants out of life and then to arrange them in order, from the most important to the least. The top five, Buffett says, should be those around which he organizes his time. But contrary to what the pilot might have been expecting to hear, the remaining twenty, Buffett allegedly explains, aren’t the second-tier priorities to which he should turn when he gets the chance. Far from it. In fact, they’re the ones he should actively avoid at all costs—because they’re the ambitions insufficiently important to him to form the core of his life yet seductive enough to distract him from the ones that matter most.
Kevin Kelly, author of Recomendo and CoolTools shared his 101 Additional Advices as addition to his book Excellent Advice for Living: Wisdom I Wish I'd Known Earlier. There is a lot of wisdom, and below a few my favorite advices:

• The best way to criticize something is to make something better.
• Admitting that “I don’t know” at least once a day will make you a better person.
• You owe everyone a second chance, but not a third.
• You can become the world’s best in something primarily by caring more about it than anyone else.
• Where you live—what city, what country—has more impact on your well being than any other factor. Where you live is one of the few things in your life you can choose and change.
• Most arguments are not really about the argument, so most arguments can’t be won by arguing.
• What is important is seldom urgent and what is urgent is seldom important. To get the important stuff done, avoid the demands of the urgent.
• The most common mistake we make is to do a great job on an unimportant task.
• For steady satisfaction, work on improving your worst days, rather than your best days.
• When you are right, you are learning nothing.
• There is no formula for success, but there are two formulas for failure: not trying and not persisting.
• Slow progress is still a million times better than no progress.