Author: joel1di1

  • Sinnerman [Nina Simone]

    J’ai retrouvé cette chanson via la série Umbrella Academy,
    Très belle chanson.

  • On the importance of good time prediction in software engineering

    In the world of software development, the ability to accurately predict how long a task will take is crucial. Good time prediction allows us to set realistic timelines, allocate resources effectively, and ultimately deliver a high-quality product. In this article, we will explore the importance of good time prediction in software engineering and provide tips for improving time prediction skills.

    Why good time prediction is important

    There are several reasons why good time prediction is important in software engineering:

    1. It allows for better resource planning: If we can accurately predict how long a task will take, we can better plan our resources and allocate them accordingly. This is important for both the development team and the stakeholders, as it allows for more efficient use of time and money.
    2. It helps set realistic timelines: Good time prediction is also important for setting realistic timelines. If we consistently overestimate or underestimate the time it takes to complete a task, it can lead to missed deadlines and frustrated team members.
    3. It leads to a better product: When we are able to accurately predict the time it will take to complete a task, we are more likely to deliver a high-quality product. This is because we can allocate the necessary resources and time to ensure that the product is thoroughly tested and free of bugs and errors.

    Tips for improving time prediction skills

    Improving time prediction skills can be a challenge, but with practice and the right strategies, it is possible to improve. Here are a few tips for improving time prediction skills:

    1. Start with small, simple tasks: It can be helpful to start with small, simple tasks to practice time prediction. This can help you get a sense of your own biases and improve your confidence in your abilities.
    2. Try predicting the time for small and known tasks: Time prediction can be easier when you are familiar with the domain or technology. Once you’ve reached good accuracy for your prediction on known taslks, try predicting the time for bigger tasks or project with a higher number of unknowns.
    3. Use estimation tools and techniques: There are various tools and techniques available to help with time prediction, such as planning poker within a team. Or just use simple notes to keep track of your predictions.
    4. Involve subject matter experts: If you are working on a task that is outside of your expertise, consider involving subject matter experts in the time prediction process. They can provide valuable insights and help improve the accuracy of your predictions.
    5. Continuously review and refine your time prediction practices: Time prediction is not a static skill and it is important to continuously review and refine your practices. This may involve reviewing past predictions to see how accurate they were, soliciting feedback from team members, and trying out new estimation tools and techniques.

    Be a better software engineer: improve your predictions

    Are you a software engineer looking to improve your skills and deliver better results? One area that is often overlooked but can have a big impact is time prediction. If you are consistently missing deadlines or struggling to allocate resources effectively, improving your time prediction skills can be a game-changer. By starting with small, simple tasks, trying time prediction for tasks in different domains, using estimation tools and techniques, involving subject matter experts, and continuously reviewing and refining your practices, you can improve your time prediction skills and deliver reliable, high-quality products on time. Don’t let poor time prediction hold you back – start improving your skills today and see the results for yourself.

  • Using OpenAI ChatGTP to solve advent of code 2022 – Day 1

    I’m recording my interactions with OpenAI ChatGTP to solve advent of code, here is some context.

    Part 1

    I ask it to solve a problem, but hit the enter key too early, without giving the problem.
    It gave an answer anyway. Obviously it didn’t solve our problem. We can notice that the program works, and actually solve the problem “sum the numbers in a file, each number in one row”.

    Adding the real problem

    So I put the real problem (screenshot is cut, real puzzle is here):

    And the answer:

    Funny thing, it give context and explain a bit what the program is doing.
    But, unfortunately, the program doesn’t give a valid solution. After reviewing the code, I see that it’s considering the first value of each group as the name of the group, but there is no name only values. Let’s give it this information…

    Here we see one of the ChatGTP’ strength , the ability to remember the conversation.
    After a quick review, I noticed that it understood that it had to change elf, the program is almost doing it but the issue is that the part where it want to change elf, it take always the same name “Elf”.
    We’re close…

    This time, the program gives the correct answer!

    Part 2

    Let’s try the direct approach

    Well, it worked directly, nothing to add!

  • Using OpenAI ChatGTP to solve advent of code 2022 – challenge

    Context

    ChatGTP seems amazing. I’m trying to see how good it is on solving programming puzzle.
    At the period of the year (december), there is the perfect advent of code that is giving us a brand new puzzle every day. I’ve tried succesfuly ChatGTP to solve 2022 day6, but now I want to better understand on which it’s good or not, what problem would be harder to solve.

    My Rules

    The idea is to use OpenAI ChatGTP to solve the puzzles. The constraint is that I have to copy the entire answer it gives me, run the program and get the answer. No modification of the program allowed.
    I’ll use ruby as it’s the langage I’m the most familiar with. It will help me understand errors in the program so I can give it tips.
    I will resolve the puzzle by myself first.

    Existing days

    Day 1
    Day6 (lack screenshots and real code)

  • Using OpenAI to solve AdventOfCode – Day6

    Today, I took the opportunity to use OpenAI to solve a problem on the popular coding challenge website, Advent of Code (https://adventofcode.com/). Advent of Code is a series of small programming puzzles that are released daily throughout the month of December. I’m not the first to do it, some actually automated the whole process.

    But I wanted to see it with my own eyes, so I decided to challenge myself by asking OpenAI to help me solve today’s puzzle without actually reading the problem myself. I simply gave OpenAI the problem prompt and let it do its thing. To my surprise, the program that OpenAI generated was able to run without any syntax errors, which is already a significant achievement IHMO.

    However, when I tried to submit the solution that OpenAI generated, it turned out that the answer was incorrect. I then asked OpenAI for another solution, but it still didn’t work. At this point, I had to read the problem and provide some hints to OpenAI in order for it to generate a correct solution. I did this as I would with another human being, explaining what I thought was wrong and providing an expected result from the problem text.

    After providing some additional information to OpenAI, it was able to generate a program that correctly solved the first part of the puzzle. I was impressed by OpenAI’s ability to understand the problem and generate working code, even with the information it had.

    I then gave OpenAI the second part of the puzzle, and it was able to solve it almost instantly. However, I noticed that the code that OpenAI generated was somewhat repetitive, so I asked it to factorize the code and make it more elegant. To my amazement, OpenAI was able to do this, generating a program that was both correct and elegant.

    In the end, I was able to solve today’s puzzle on Advent of Code using OpenAI, without having to read the problem myself or write any code. In the future, I will try to solve the puzzles on my own before using OpenAI, as I want to have fun solving the puzzles first and then have fun using OpenAI to improve upon my solutions.

    I believe that technologies like OpenAI will change the way we approach programming, and I am excited to see how it will evolve in the future. It is unclear to me at this point how much it will change the role of programmers, but I am confident that it will have a significant impact on the field.

  • Build the team you would want to join

    It’s natural for you to sometimes feel drawn to the perceived advantages of another team, especially when you see your current team as lacking in some way. However, it’s important to remember that every team has its own strengths and weaknesses, and that moving to a new team isn’t always the solution to your dissatisfaction.

    Instead of seeking to join a new team, you should first consider how you can help make your current team the best it can be. This may involve bringing new ideas and perspectives to the table, or taking on additional responsibilities to help the team achieve its goals. By working together and collaborating, you can help create a positive and productive work environment within your current team.

    It’s also important to remember that the grass isn’t always greener on the other side. The team that seems so attractive at first glance may have its own challenges and drawbacks that aren’t immediately apparent. Before making the decision to move to a new team, you should carefully consider the potential benefits and drawbacks of such a move.

    In conclusion, instead of seeking to join a new team, you should first strive to make your current team the best it can be. By working together and collaborating, you can create a positive and productive work environment where you can thrive. And even if the other team seems attractive, it’s important to remember that the key to success and fulfillment often lies in making the most of the opportunities and resources that are already available to you.

    This text has been written with the help of openAI, picture generated by Dall-e

  • sublg, ma première fonction bash

    sublg, ma première fonction bash

    Mon besoin : ouvrir une gem ruby en une ligne de commande.

    J’ai ce besoin lorsque je dois aller regarder le code d’une gem, “la meilleure documentation, c’est le code”.

    Sur cette page de blog “OPENING A GEM SOURCE WITH SUBLIME TEXT 2″, j’avais trouvé une fonction bash à rajouter dans son .bashrc (ou .zshrc ou autre) :

    function sublg { bundle show $@ | xargs subl; }

    mais le problème, c’est quand on se trompe dans le nom de gem, ça ouvre plein de nouvelles fenêtres qu’on doit fermer.

    N’en pouvant plus, désespéré devant tant de fenêtres (ma vie est vraiment nulle), j’ai donc créé ma première fonction bash (juste avant 40 balais) :

    function sublg { 
      if [ $@ ]; then
        GEM_PATH=`bundle show $@`
        if [ -e $GEM_PATH ] ; then
          subl $GEM_PATH
        else
          echo 'sublg exit'
          echo $GEM_PATH
        fi
      else
       echo 'usage: sublg <gem name>'
      fi
    }

    Donc si vous aussi vous avez le besoin d’ouvrir une gem ruby en ligne de commande, rajoutez cette fonction dans votre .zshrc 🙂

  • For The Worst [Wax Tailor]

    Coup de coeur <3

    Pas vraiment une nouveauté, mais j’ai flashé sur cette tune, avec une ambiance “Quantin Tarantino”.

    Enjoy 🙂

    Version clip :

    Et la version uniquement musicale :

  • Get the Get [Roots Manuva]

    Une bonne tune de Roots Manuva, un artiste que je kiff depuis longtemps maintenant.
    La tune est Get the Get, elle me met bien la pêche avec son côté bégayant et la touche de Rokhsan allège le morceau (et d’habitude j’aime pas trop les coeurs sur un morceau de rap).

    Voila le clip, vu qu’il commence à 1’35, je vous file le lien qui y va direct : https://youtu.be/42riyqgQ3IU?t=1m32s
    Il est marrant ce clip, surtout la partie où ils mettent la bande son de la caméra.

  • I’m Picky [Shaka Ponk]

    Allez, aujourd’hui une bonne tune que j’ai découvert tardivement en écoutant la radio winamax le dimanche soir.

    La tune me met la pêche et c’est plutôt agréable en vélo 🙂

    Bon, un jour il faudra que je renomme ma rubrique “la tune de l’année” vu le rythme que j’ai.