88 Matching Annotations
  1. Mar 2023
    1. As an example, let's try a simple prompt to extract specific information from a piece of text. Prompt: Extract the name of places in the following text. Desired format: Place: <comma_separated_list_of_company_names> Input: "Although these developments are encouraging to researchers, much is still a mystery. “We often have a black box between the brain and the effect we see in the periphery,” says Henrique Veiga-Fernandes, a neuroimmunologist at the Champalimaud Centre for the Unknown in Lisbon. “If we want to use it in the therapeutic context, we actually need to understand the mechanism.""

      Good scenario for data operations

    1. the completions and chat completions endpoint can be used for virtually any task including content or code generation, summarization, expansion, conversation, creative writing, style transfer, and more.

      Advantages in Layman tersm

  2. Jul 2022
    1. I went through this cycle several times: I saw people programming and thought it looked cool, resolved myself to learn, sought out a book and crashed the moment it got hard.For a while I thought I didn't have the right kind of brain for programming. Maybe I needed to be better at math. Maybe I needed to be smarter.But it turns out that the people trying to teach me were just doing a bad job. Those books that dragged me through a series of structured principles were just bad books. I should have ignored them. I should have just played.

      What new programmers go through

  3. Nov 2021
    1. Asynchronous Web Server Libraries We’ll use the following libraries to handle HTTP request: ESPAsyncWebServer library (download ESPAsyncWebServer library)ESPAsync TCP library (download ESPAsyncTCP library)

      Find these on [[Platform IO]]

    1. sudo systemctl start pop-upgradeFailed to start pop-upgrade.service: Unit pop-upgrade.service is masked.

      The issue - pop os upgrade service isn't working (ui or cli)

    1. In our case, our command will be: $ sudo add-apt-repository --remove ppa:ubuntudde-dev/stable

      The repository causing =ppa doesn't have release file= issue

    1. evaluate code and see results in the same place where you write it—in the editor. You’ll need a proper editor, of course.

      [[Emacs]] and [[LightTable]] or its successor.

  4. Oct 2021
    1. It’s a lot like selling fine art prints, except now the artists have a lot more control and you don’t have to give huge commissions to galleries.

      Digital Art business vs Traditional

    2. Think about NFTs as your certificate of authenticity or your signature. It’s the “deed of ownership.”  You can decide how much scarcity you want, and NFTs (and the technology and systems behind them) make sure that it can’t be counterfeited.

      What is NFT

    3. As always with a collectible, it’s only worth what someone is willing to pay for that thing. In other words, what’s its perceived value? Trading cards are a perfect example, whether sports cards, Magic the Gathering cards, or Pokemon cards. Why are those worth anything? They are just a piece of cardboard, after all.

      The thing to understand about NFT

  5. docdrop.org docdrop.org
    1. When confronted with a big goal, try to break it down into parts and then attack each part one by one.

      This how I explain what programming is all about

    2. If we’re not truly being challenged, we get bored and add a layer of complexity to amuse ourselves. Our ability to turn routine tasks into moments of microflow, into something we enjoy, is key to our being happy, since we all have to do such tasks.

      One more example is imaging a character jumping over cars, trees etc while you taking a long trip somewhere

    3. One of the first words one learns when starting Japanese lessons is ganbaru, which means “to persevere” or “to stay firm by doing one’s best.”

      Interesting association of ganbaru. I'll always thought the meaning was something light like hang in there

    4. Bundle routine tasks—such as sending out invoices, making phone calls, and so on—and do them all at once

      Common trick suggested by most task management techniques. In computer we call it Batch processing

    5. Strategy 3: Concentrate on a single task

      I've been noticing the effect of distractions for a long time. Keep phone on silent on all times, this can be a first small step to tackle it

    6. One common example of this is writer’s block. Imagine that a writer has to finish a novel in three months. The objective is clear; the problem is that the writer can’t stop obsessing over it. Every day she wakes up thinking, “I have to write that novel,” and every day she sets about reading the newspaper and cleaning the house. Every evening she feels frustrated and promises she’ll get to work the next day. Days, weeks, and months pass, and the writer still hasn’t gotten anything down on the page, when all it would have taken was to sit down and get that first word out, then the second . . . to flow with the project, expressing her ikigai.

      Good example for going with flow without obsessing over the objective

    7. Strategy 2: Have a clear, concrete objective Video games—played in moderation—board games, and sports are great ways to achieve flow, because the objective tends to be very clear

      Again something else I realized. All games are sub-sets of life. The reason why people get so engrossed is that the rules and the objective is clear.

    8. Strategy 1: Choose a difficult task (but not too difficult!) Schaffer’s model encourages us to take on tasks that we have a chance of completing but that are slightly outside our comfort zone.

      Co-incidentally this is also what I recommend doing to re-gain low confidence (creating a list of achievements, the more the better, the recent the better)

    9. for living according to your ikigai, but one key ingredient is the ability to reach this state of flow and, through this state, to have an “optimal experience.”

      That is what I've doing for most part of my life. First reading, then programming. Also the reason why I left my job

    10. When we have to complete a task we don’t want to do, every minute feels like a lifetime and we can’t stop looking at our watch. As the quip attributed to Einstein goes, “Put your hand on a hot stove for a minute and it seems like an hour. Sit with a pretty girl for an hour, and it seems like a minute. That is relativity.”

      Funny way to explain relativity #physics #joke

    1. That difference is maybe the senior engineer says, “Hey, that sounds like a really complicated solution to what should be a simple problem.”The junior engineer doesn’t see that problem. They don’t see that it’s complicated. Simplicity and elegance is something that takes time and experience to learn.

      That is why Clojure philosophy is evitable next step. Only after trying what out there (popular) they'll understand the problem and circle back

    2. We have to somehow all communicate maybe through the code, through the artifact of the code.

      Very important, the language is for computer as much as for the humnans

    3. Now we can go through my head and I can write it correctly, now bring another person. Our communication, inside my head, the cells are communicating pretty good, but now they have to communicate with the cells in someone else’s head.

      Good example to use while the principle of my life

    4. There’s a growing recognition that it’s not just individual programmer’s brain time, or brain capacity, that’s the bottleneck. There’s also a bottleneck of communication between programs. Hiring a person is very expensive. You hire them to your team, they have to learn an entire code base.

      Programming is equally or more about communications between humans as much it is about humans communicating with computers

    5. I think I want to go through them one more time, so there is easier programs. We’re going to write easier programs, because they’re intellectually manageable. We’re going to write fewer programs, because not all programs are intellectually manageable.Not write fewer programs, I mean fewer programs to choose from. If you write your proof and program hand in hand, it makes the programming easier, and, of course, fewer bugs because you’ve written a proof.Argument four is that we have these patterns of abstraction that if you know them make programming faster. Fifthly, we can converge on simple languages that will help us see more obvious solutions. Then fifth, we will finally accept that we prefer or we need a higher hierarchical solution that will help us write programs faster.

      Sums up what I've been about since I left job, the future direction of human-computer interfaces for all activities (including programming)

    6. “Programming will remain very difficult because once we have freed ourselves from the circumstantial cumbersomeness, we will find ourselves free to tackle the problems that are now well beyond our programming capacity.” OK. He does say, ”Yes, they are going to get harder.”

      Gave me good laugh :software:joke:

    7. Over time, we’ve come to understand and identified a number of patterns of abstraction that play a vital role in programming, patterns of abstraction.

      True for programming and for many other industries. It becomes fairly obvious when non-technical businesses starts digitizing

    8. “We all know that the only mental tool by means of which a very finite piece of reasoning can cover a myriad of cases is called abstraction. As a result, the effective exploitation of his or her powers of abstraction must be regarded as one of the most vital activities of a competent programmer.

      True. One reason, I'm able to absorb all kinds of stuff quickly

    9. “In the next decade, something completely different happened, more powerful machines became available, not just an order of magnitude, more powerful, even several orders of magnitude more powerful.“Instead of finding ourselves in a state of eternal bliss with all programming problems solved, we found ourselves up to our necks in the software crisis.”

      It is only recently that I've begun to understand the 'shape' of problem in programming industry

    10. “We must not forget that it is not our business to make programs, it is our business to design classes of computations that will display a desired behavior.” Maybe this is a misnomer, then that we’re not programmers, we are designing classes of computation that display a desired behavior.The program is just the artifact that we have to create, in order to manifest that class of computation. You give a program to the computer and it makes a computation. We’re designing that. That’s where we’re designing that computation.

      So what we really need is people creating designs of computation that give desired outcomes reliably. Hmm where have I heard this before... it is called an Architect

    11. Arrogance doesn’t mean you think you know everything, or you think you’re better than other people. What it means is you don’t know how to speak in such a way that you are clear in your place.

      Good one-liner

    12. one of the most important aspects of any computing tool, is its influence on the thinking habits of those who try to use it, and because I have reasons to believe that that influence is many times stronger than is commonly assumed.

      The problem that Bret Victor brought up and is working to solve

    13. Our ambitions are getting bigger.Those ambitions are outpacing the Moore’s Law of our computers getting better.

      Good way to word what happened

    14. Two opinions about programming date from those days. A really competent programmer should be puzzle-minded and very fond of clever tricks. Programming was nothing more than optimizing the efficiency of the computational process in one direction or the other.

      Opinions created for older machines that are still prevalent

    15. The programmer himself or herself had a very modest view of his or her own work. The work derived all its significance from the existence of that wonderful machine.” The code had to be written for that particular machine, because there was only one, and it was totally incompatible with any other machine. So that colors our view, or at least the view in 1972, of the importance of programs.

      Important point for how two different being very close to each other conflates them

    16. He’s lamenting that there’s no sound basis at that point in the ’50s for programming. That there was no curriculum, no known body of knowledge, something that you could point at and say, “I am qualified because I know all this stuff.”

      Interesting titbit

    1. A ship in port is safe, but that is not what ships are for. Sail out to sea and do new things. — Grace Hopper

      Good quote for exercising agency

    2. And just like how not everyone who learns to write will go on to become a professional writer — nor everyone who learns arithmetic will go on to become a professional mathematician — not everyone who learns to code will go on to become a software developer. But all people who learn these things will be immensely better off as a result of their efforts.

      Good pitch to new people

  6. Sep 2021
    1. Press C-s to switch to incremental search mode Press C-w to yank the current word into the search buffer. You can keep pressing it to append multiple words, and you can also use C-M-y to yank individual characters and C-y to yank whole lines Press M-% to switch to replace mode using the search buffer you've already constructed

      How to replace word under cursor or how to replace text incrementally or with visual feedback

    1. But that moment when I was taught Fast Fourier Transform and within an hour went from “I guess blurry it is” to “holy shit, I am the god of sharpness”? It immediately became one of my favourite moments.

      This feeling is what brought me to programming. Why I liked nodejs, why I switched to Clojure. It is the principle Bret Victor was trying to get across

    2. I’ve always had this theory that any long-term project requires two ingredients: things you’re good at, and things you want to learn. The first group gives you a feeling of accomplishment and mastery. The other one? It keeps things interesting.

      Applies to a job as well

    3. And how do you manipulate the FFT? You take the piece of software written by PhDs for PhDs, and treat it in a way a little kid would: by painting over the white peaks with black.

      Joke about handling complex science, simply

    4. I got those FFTs by installing a strange piece of software called Fiji: an image processing powerhouse for scientists

      Tool for interacting with FFT in images

    5. applying FFT to an audio sample allows you to see its underlying frequencies, separated and exposed. (FFT-ing a recording of pressing three piano keys, for example, would tell you exactly which three piano keys were pressed.)

      Practical example of FFT

    1. Knowing what you want to work on doesn't mean you'll be able to. Most people have to spend a lot of their time working on things they don't want to, especially early on. But if you know what you want to do, you at least know what direction to nudge your life in.

      Story of my life

    2. Working hard is not just a dial you turn up to 11. It's a complicated, dynamic system that has to be tuned just right at each point. You have to understand the shape of real work, see clearly what kind you're best suited for, aim as close to the true core of it as you can, accurately judge at each moment both what you're capable of and how you're doing, and put in as many hours each day as you can without harming the quality of the result. This network is too complicated to trick. But if you're consistently honest and clear-sighted, it will automatically assume an optimal shape, and you'll be productive in a way few people are.

      Summary of the whole essay

    3. The best test of whether it's worthwhile to work on something is whether you find it interesting. That may sound like a dangerously subjective measure, but it's probably the most accurate one you're going to get. You're the one working on the stuff. Who's in a better position than you to judge whether it's important, and what's a better predictor of its importance than whether it's interesting?

      Razor's occam, I too, arrived on the same decision. Decide for yourself. Either you fail or succeed, it was the best you got at the moment.

    4. If you're working hard but not getting good enough results, you should switch. It sounds simple expressed that way, but in practice it's very difficult. You shouldn't give up on the first day just because you work hard and don't get anywhere. You need to give yourself time to get going. But how much time? And what should you do if work that was going well stops going well? How much time do you give yourself then?

      What I did with my previous job

    5. Working hard means aiming toward the center to the extent you can. Some days you may not be able to; some days you'll only be able to work on the easier, peripheral stuff. But you should always be aiming as close to the center as you can without stalling.

      One example in software dev could be getting tied up in wasting time in choosing 'perfect' method/process or looking for good library etc. Hard part is solving the problem which adds business value

    6. I only have to push myself occasionally when I'm starting a project or when I encounter some sort of check. That's when I'm in danger of procrastinating. But once I get rolling, I tend to keep going.

      It is the same for me.

    7. Cultivate a sensitivity to the quality of the work you're doing, and then you'll notice if it decreases because you're working too hard. Honesty is critical here, in both directions: you have to notice when you're being lazy, but also when you're working too hard.

      With internet, you are exposed to lot of information which you would have to seek for. With just living the life, you start to create some sensitivity or instinct as they call it.

    8. The most basic level of which is simply to feel you should be working without anyone telling you to. Now, when I'm not working hard, alarm bells go off. I can't be sure I'm getting anywhere when I'm working hard, but I can be sure I'm getting nowhere when I'm not, and it feels awful.

      Best way to describe what I'd been feeling

    1. he user of Analogues isshielded from the conceptual baggage that accompanies using such a powerful tool. The simple user interface enablesa simple conceptual framework related to file versioning, not too dissimilar to that which is frequently used by non-power-users today.

      I essentially re-discovered the goal

    1. “Oh, Dalinar,” Odium said. “You will live it again and again until you let go. You can’t carry this burden. Please, give it to me. I drove you to do this. It wasn’t your fault.”

      Substitute Odium with anything that tells you to give up. Called the devil in some places

    1. the students who did well—in fact the only ones who survived at all—were those who could step through that text one instruction at a time in their head, thinking the way a computer would, trying to keep track of every intermediate calculation.

      The inhumane representation of thought

    2. This was perhaps never clearer than in the summer of 2015, when on a single day, United Airlines grounded its fleet because of a problem with its departure-management system; trading was suspended on the New York Stock Exchange after an upgrade; the front page of The Wall Street Journal’s website crashed; and Seattle’s 911 system went down again, this time because a different router failed. The simultaneous failure of so many software systems smelled at first of a coordinated cyberattack. Almost more frightening was the realization, late in the day, that it was just a coincidence.

      Examples of failure due to software bugs

    1. If I was real I’m pretty sure I’d be out there living each day to the fullest and experiencing everything I possibly could with every given moment of the relatively infinitesimal amount of time I’ll exist for instead of posting on the internet about nonsense.

      The why I left social media for most part

  7. Jun 2021
    1. Specialized format - Reproducing and distributing copyrighted work in a specialized format for people with disabilities is not a copyright infringement.

      Can you use it for commercial purposes?

    2. Educational use - Copyright infringement doesn't apply to protected work used for learning, instruction or examination. For this purpose, the material may be photocopied, performed and played as part of the public's education and enrichment.

      Edge case - can you use a comedian's joke as it is in your commercial educational video?

    1. Create an extended product roadmap and put those items at least a year off into the future “and as long as they don’t seem relevant, you can just keep pushing them into the future.” Perversely this plan made everyone happy – everyone’s feedback is on the roadmap, and now it’s all just a question of priorities.

      Management trick to keep various stake holder happy

    1. Lists are most often used in two cases: first, when we have a collection of data that will always be accessed from beginning to end, and second, when we want to treat some data as a stack where the last item added is the first one to retrieve. Lists, however, are not efficient for random access (i.e. getting the nth element in the sequence).

      Use lists as stack

  8. Jul 2020
    1. When asked how he felt about Reagan’s decision to go there, Peres could have reduced dissonance in one of the two most common ways: thrown out the friendship or minimized the seriousness of the friend’s action. He did neither. “When a friend makes a mistake,” he said, “the friend remains a friend, and the mistake remains a mistake.”

      Living with the dissonance

    1. Being able to generate these concrete examples, even when you’re not physically doing experiments, is important.

      I've been making visual models on my own since I first started learning things. I was often told I could grasp things quicker than average person

    1. the interpretation of any recursive procedure consumes an amount of memory that grows with the number of procedure calls, even when the process described is, in principle, iterative. As a consequence, these languages can describe iterative processes only by resorting to special-purpose ``looping constructs'' such as do, repeat, until, for, and while. The implementation of Scheme we shall consider in chapter 5 does not share this defect. It will execute an iterative process in constant space, even if the iterative process is described by a recursive procedure. An implementation with this property is called tail-recursive.

      Difference in recursion - lisp vs other languages

    1. You should not directly require a package (even though doing so will also work). Doing so will make emacs load that whole package at startup and could result in slower startup. Instead, you should allow the org package to get automatically loaded as configured in the package itself, and then do org-specific setup in the with-eval-after-load or eval-after-load form.

      Spacemacs tip

    2. ;; `with-eval-after-load' macro was introduced in Emacs 24.x ;; In older Emacsen, you can do the same thing with `eval-after-load' ;; and '(progn ..) form. (with-eval-after-load 'org (setq org-startup-indented t) ; Enable `org-indent-mode' by default (add-hook 'org-mode-hook #'visual-line-mode))

      Enabling visual line mode every time org file is opened note: visual line mode wraps line

      Can also be re-used in other similar cases

  9. Jun 2020
    1. custom ID to a headline by setting the CUSTOM_ID property

      Because normal ID can break generated content when document is modified over time

      There's elisp helper function below to generate custom id