the f*ck rants about stuff


Latest posts related to :

  1. On learning german: Difficulties

    Im having a great time learning german so far. Its a beautiful language with a lot of nuances!

    Maybe its too soon too speak, ive been only learning it for ~9 months now but the actual difficulties im facing are different of what i was expecting

    Before diving into it i thought that maybe the declensions were too difficult. But thats not the case. You might not decline perfectly, but with very little practice you can decline good enough to be honest

    Or the huge long-ass words. But once you recognize the words inside, this is not really a problem. Even if you dont know the meaning of every word inside, you know more or less where to cut it

    Or the gender of the nouns. But once I learned the gender along the word, i dont seem to forget it again 95% of the times. Also, although there are no rules, you can develop a sense of what the gender of a noun is even without knowing the meaning. I guess it right most of the time by now!

    The actual difficult things i found are:

    • Words dont translate 1 to 1. In the case of english-spanish translations, words that dont translate 1-1 are the exception more than the rule. So far i learned 7 words that more or less translate to “but/however”, 18 words for “to get/receive”, 79 for “to miss” and 124 words for “to happen/to occur”. Im just learning them all in a frecuency of use fashion. I hope to be able to grasp the nuances of use in the future ;)

    • The fact that german is a very nuanced language. They use actual words to convey meaning that other languages might convey via entonation or not convey at all. Basically you are very likely to lose a lot of nuanced meaning when translating from german!

    • Many many words look the same! Its not just one or a handful, its many many of them that are very similar with a different meaning

    Id say at least half the words i learned so far are like this

    If you dont believe me, just check it out. I made a list of dificult german words

    And these are only words that i know already (more or less) and 95% of them belong to the top 1000 more frequently used words. Many many more are missing!

  2. Destructive git behaviour

    fun with git

    I destroyed all the work I had done in a project for the last 2 months

    GIT doesnt consider the files in .gitignore important and will happily replace them

    Im pretty careless with my local git commands

    Ive been trained by git to be this careless. Unless i use --force on a command, git will always alert me if im about to do something destructive. Even then, worse case scenario, you can use git reflog to get back in time after a bad merge or something not easily accesible with a normal git flow

    What happened?

    I had a link to a folder in my master branch. I branched to do some work and decided to replace the link with the actual folder to untangle some other mess and added it to .gitignore to avoid git complaining about it

    Then happily worked on in for 2 months

    I was ready to merge it, so I made a final commit and I checked out master

    So far, pretty normal git flow… right?

    But wait, something was wrong. My folder was missing!

    Wait, what?! what happened!

    The folder existed as a syslink on master, so git happily replaced my folder with a now broken syslink

    It seems git doesnt consider files under .gitignore as important

    You can see by yourself and reproduce this behaviour by typing the following commands. It doesnt matter if links doesnt exists:

    $ mkdir gitdestroy/
    $ cd gitdestroy/
    $ cat > file1
    hi, im file1
    $ ln -s nofile link
    $ ll
    total 48K
    drwxr-xr-x. 26 alberto alberto  36K Jan 29 15:18 ..
    -rw-r--r--   1 alberto alberto   13 Jan 29 15:19 file1
    lrwxrwxrwx   1 alberto alberto    6 Jan 29 15:19 link -> nofile
    drwxr-xr-x   2 alberto alberto 4.0K Jan 29 15:19 .
    $ git init
    Initialized empty Git repository in /home/alberto/tmp/gitdestroy/.git/
    [~/tmp/gitdestroy (master #%)]
    $ git add -A
    [~/tmp/gitdestroy (master +)]
    $ git status
    On branch master
    No commits yet
    Changes to be committed:
      (use "git rm --cached <file>..." to unstage)
        new file:   file1
        new file:   link
    [~/tmp/gitdestroy (master +)]
    $ git commit -m "link on repo"
    [master (root-commit) 5001c61] link on repo
     2 files changed, 2 insertions(+)
     create mode 100644 file1
     create mode 120000 link
    [~/tmp/gitdestroy (master)]
    $ git checkout -b branchwithoutlink
    Switched to a new branch 'branchwithoutlink'
    [~/tmp/gitdestroy (branchwithoutlink)]
    $ git rm link 
    rm 'link'
    [~/tmp/gitdestroy (branchwithoutlink +)]
    $ mkdir link
    [~/tmp/gitdestroy (branchwithoutlink +)]
    $ cat >link/file2
    hi im file2
    [~/tmp/gitdestroy (branchwithoutlink +%)]
    $ cat > .gitignore
    [~/tmp/gitdestroy (branchwithoutlink +%)]
    $ git status
    On branch branchwithoutlink
    Changes to be committed:
      (use "git reset HEAD <file>..." to unstage)
        deleted:    link
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
    [~/tmp/gitdestroy (branchwithoutlink +%)]
    $ git add -A
    [~/tmp/gitdestroy (branchwithoutlink +)]
    $ git commit -m "replace link with folder"
    [branchwithoutlink 2cfb06c] replace link with folder
     2 files changed, 1 insertion(+), 1 deletion(-)
     create mode 100644 .gitignore
     delete mode 120000 link
    [~/tmp/gitdestroy (branchwithoutlink)]
    $ ll
    total 60K
    drwxr-xr-x. 26 alberto alberto  36K Jan 29 15:18 ..
    -rw-r--r--   1 alberto alberto   13 Jan 29 15:19 file1
    drwxr-xr-x   2 alberto alberto 4.0K Jan 29 15:21 link
    drwxr-xr-x   4 alberto alberto 4.0K Jan 29 15:22 .
    -rw-r--r--   1 alberto alberto    5 Jan 29 15:22 .gitignore
    drwxr-xr-x   8 alberto alberto 4.0K Jan 29 15:22 .git
    [~/tmp/gitdestroy (branchwithoutlink)]
    $ git checkout master
    Switched to branch 'master'                                        <--- NO ERROR???
    [~/tmp/gitdestroy (master)]
    $ ll
    total 52K
    drwxr-xr-x. 26 alberto alberto  36K Jan 29 15:18 ..
    -rw-r--r--   1 alberto alberto   13 Jan 29 15:19 file1
    lrwxrwxrwx   1 alberto alberto    6 Jan 29 15:22 link -> nofile    <--- WHAT
    drwxr-xr-x   8 alberto alberto 4.0K Jan 29 15:22 .git
    drwxr-xr-x   3 alberto alberto 4.0K Jan 29 15:22 .
    [~/tmp/gitdestroy (master)]
    $ git checkout branchwithoutlink 
    Switched to branch 'branchwithoutlink'
    [~/tmp/gitdestroy (branchwithoutlink)]
    $ ll
    total 56K
    drwxr-xr-x. 26 alberto alberto  36K Jan 29 15:18 ..
    -rw-r--r--   1 alberto alberto   13 Jan 29 15:19 file1
    -rw-r--r--   1 alberto alberto    5 Jan 29 15:23 .gitignore
    drwxr-xr-x   8 alberto alberto 4.0K Jan 29 15:23 .git
    drwxr-xr-x   3 alberto alberto 4.0K Jan 29 15:23 .


    I analyzed what git was doing underneath in hopes to gain some insight on how to recover these files. It seems git unlinkat(2) everyfile and finally rmdir(2) the folder

    By contrasts rm(1) just uses unlinkat(2) in every file and folder

    Not sure what difference this makes, but it was quite useless. I tried some EXT undelete tools to try to recover the missing files, but everything was gone

    Actually I was able to undeleted some files i had removed 3 years ago that i didnt need :/


    This directory was under git as well and remotely hosted. But my last push was 2 months ago. I will be more careful on the future

    Recently theres been some discussion on git about something that could prevent this behaviour. They are introducing the concept of “precious ignored” files

    But for me the damage was done

    This was unexpected behaviour for me. Maybe it was also for you. Be safe out there!

  3. Spanish people making up english words

    Its funny how a collective of people can make up and agree upon the meaning of a foreign word or even fabricate a whole new word out of thin air

    I was talking with a friend about how she was getting braces and she called them brackets instead. I realized that brackets was the spanish word for braces!

    These are brackets in english –> [ ]

    Then I realized theres plenty of examples: zapping (channel surfing), being a crack (being someone exceptionally good at something), footing (jogging),… the list goes on and on

    Im sure they all have a distint origin and story behind them than over a period of time became ingrained in all us as a collective without noticing it

    Can you think of something similar happening in english or your mother tongue? Please, let me know, Im always curious about this kind of quirks of the language :)

  4. Taking things at face value

    Yesterday I wrote about my new years resolution and used this expression in a negative sense

    That same evening I saw the same expresison in an article used in a positive light. As in things should be taken at face value. Without looking for hidden intentions

    I researched it and this expression was “coined” refering to actual coins and meaning “trust the face in the coin”, which represents its value

    While not completely wrong, I realized this expression had to do more with trust that I wanted to imply with look beyond. So I replaced it with theres more than meets the eye, which is more generic and conveys better what I meant to say

  5. Green great dragons cant exist

    Natives (and some non-natives after a while!) can tell if something sounds off, even if they cant explain why. One of those things is adjetive order. They follow some rules that even people using english for all their lives are able to explain because it just sounds natural to them

    This order is

    quantity/number - quality/opinion - size - age - shape - color - place of origin - material - purpose NOUN

    This is why there cant be any green great dragon, but only great green dragons

    There seems to be some exceptions to this, like big bad wolf, but in my opinion, bad is not an opinion of what you think of the wolf, but part of the name, as in big bad-wolf :)

    proper adjetives order

¡ En Español !