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

  • 105 Posts
  • 21 Comments
Joined 5 years ago
cake
Cake day: January 22nd, 2020

help-circle






  • As @yogthos@lemmy.ml mentioned, they differ in implementation:

    • The Hy compiler works by reading the Hy source code into Hy model objects and compiling the Hy model objects into Python abstract syntax tree (ast) objects. In other words, at runtime it is essentially Python source code. Similar to Typescript and CoffeScript (JS).
    • Basilisp is hosted on the Python virtual machine, so its compiler generates native Python bytecode. Similar to Clojure and Scala (Java/JVM) or Elixir (Erlang/BEAM).

    Personally in these cases, I prefer the second approach, because the first one is basically “syntactic sugar”: a Python lispy syntax (embedded), on the other hand Basilisp is a “more complete implementation”, that is, a language independent of the host language with all the strengths and weaknesses of its host system/VM.


  • Its seems pretty interesting. Now day MediaWiki is one of the largest codebases in PHP out there. But Wikimedia has excellent resources, somewhat extensive, but very good, from the lowest level sections (database, backend) to the style (css), plugins and frontend, including the scripts (lua). Although as @CriticalResist8@lemmygrad.ml comments that much is done in a very artisanal way, I think more than anything that the correct organization of the main dev, including admins and contributors, a lot of progress can be made with the limited resources available.
















  • By simple logic it is not feasible to have a POSITION in a place that is soon under water (the threat of blowing up the dam is real if the liberation forces are still there). Kherson/Kherson is the city, not the oblast. It’s one thing to regroup (fix to secure more advantageous positions) and another to retreat (surrender leaving critical positions and outposts).

    What I see here is a huge booby trap; a Pyrrhic victory (reconquer the CITY) having already decimated Ukrainian forces, without human (civilian) shields, the adequate distance from your artillery (the local soldiers left but the other rear positions are intact) without the restriction of containing yourself to avoid civilian casualties and the enormous problem of trying to advance across the Dnieper (the bridges are just bait). In fact, it is attached to the strategy described by a Cuban commander who follows and is studying the events of this conflict; weaken the ukronazi positions, not even destroy them in their entirety, just affect them in such a way that they cannot maintain the positions in the rest of the black sea river (with the icing on the cake called Odessa).

    The media even plays for Russia indirectly (they can’t beat the Dombass and now they think they’re going for Crimea lol). Since most of the decisions that are being made on the Ukrainian/NATO side are based more on media consensus than military consensus.















  • 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).