Miguel, aka mickie. Code, Science, Politics, etc.

EN | ES_MX

blog: mugcake.gitlab.io/blog/ (ES/ desactualizado)

pleroma: migue@kawen.space (no existe mas)

mastodon: miguel@mstdn.mx

Mexico-Tenochtitlan

  • 43 Posts
  • 11 Comments
Joined 4 years ago
cake
Cake day: January 22nd, 2020

help-circle























  • As I understand, your needs are more related to an absence of fundamental knowledge, than an a problem of learn X language/technology.

    I strongly recommend you this book:

    Structure and Interpretation of Computer Programs (SICP). One of the best books of computer science ever written. This book gives you a solid foundation about computer science in its most primitive concepts, for example, what is a program? what do we mean when we say that we build programs? what are variables and how values are associated to them? their life time, what are functions and what are they made of (procedures)? scalar values, values of (composite) values, why are data control structures built that way? macros, how data is represented, how the interpreter/compiler understands it, etc. etc. etc. In short, SICP is to computer science what Euclid’s elements are to mathematics.

    All this relying on a language known as Lisp (specifically Scheme and its variant Racket). It is not necessary that after the book you continue using it, be careful, it is quite addictive ;) It is included because as it is one of the languages with a very simple syntax and structure, it helps you not to abstract so much from what is really important: dealing with the problems, not with the language.

    It is a somewhat technical book, since it is academic, but it was created just for introductory courses (in 80’s and 90’s at MIT), not only for computer science, but also for other engineering and related careers. It includes many exercises that increase in difficulty as you advance between chapters, being at the beginning somewhat tedious because of the use of some mathematics.

    Some tips

    After reading the book you can move on to algorithm and data structure books.

    plus: learn databases (SQL/No-SQL)

    I do not recommend any of these languages to take as beginner:

    • C++/C#/Java: they have too many abstractions that can lead to confusions/misunderstandings that at a beginner level are unnecessary, like OOP. These concepts you can learn later with practice, and according to the type of project you need to run.
    • Rust is too advanced and can lead to headaches as it’s not very intuitive for a beginner.
    • JS is such a poorly designed language that it leads to many bad programming practices and misconceptions when approached without prior knowledge. Just take a look at scoping and closures to get an idea of what I mean.

    I recommend:

    • C
    • Python (very useful for algorithms and data structure)
    • Scheme/Lisp

  • It is a double-edged sword: Where is the Apache Foundation registered and operating? In the United States. The company that found the exploit, Alibaba, is Chinese. Even the department that found it (security team) is located in the offices of Alibaba Cloud, in Singapore. In short, the Chinese government was very close to having a tool to seriously damage the Western technology infrastructure, without the other side ever knowing where exactly they were being hit from. And if it had been the other way around? if that information had reached the Singaporean authorities earlier? we must not forget that it is a very servile government to the United States. Or in the worst case scenario the report was intercepted at the Apache Foundation, remember PRISM? one of their goals is to find potential vulnerabilities and exploit them against “hostile forces” even forcing companies registered on US soil and several beyond their borders to leave “backdoors” in their products/systems without public knowledge.

    Fortunately or unfortunately it was reported and announced publicly, without prior knowledge of the respective governments, so neither side gained a considerable advantage in this new field of warfare that is the cyberspace.





  • the ordinary user will only notice it when his adblocker stops working.

    Firefox maintains the largest extension market that’s not based on Chrome, and the company has said it will adopt Mv3 in the interest of cross-browser compatibility.

    We all know, and more the Mozilla people, that this cross-browser compatibility is false, the big G is forcing them to use their technology unilaterally. Mozilla is one step away from switching to blink engine, but they has no more options, with the huge losses generated by many bad decisions made, especially during the disastrous management of Brendan Eich. Google became their only oxygen tank (keeping Mozilla afloat enough to avoid antitrust laws and disintegrate the conglomerate).



  • Officials point to Twitter’s treatment of posts from the separatist leader Nnamdi Kanu, head of the outlawed Indigenous People of Biafra (IPOB) group. Based in the U.K., Kanu uses Facebook, Twitter, and internet radio streaming to broadcast his separatist messages to Nigerians in the country’s Southeast region. The Nigerian government has complained that IPOB’s “hate messages” have been flagged consistently, but Twitter has said the tweets do not violate Twitter rules.

    I think that promoting the separation of entire countries, specially those how are uncomfortable for western countries, are approve for these “social networks” (Think Tanks). The Nigerian government has a lot of contradictions, specially with the Muslim communities, but IPOB, included Boko Haram (With its active propaganda machine in Twitter/Facebook/Youtube of Africa) plan to create Modern Apartheid states worst than IsraHell. In this sense I agree with the Nigerian government to create a sovereign internet.