Pour vous donner un exemple de la vulnérabilité des outils comme la messagerie Outlook, en 2016, l’Annudef’ (l’annuaire du ministère de la Défense) a été téléchargé deux fois et on ne sait toujours pas par qui.
😲😱😩
While CPython has a test suite and we try to do our best to have good code coverage (currently sitting at above 83% ), nothing beats having people run CPython against real code because people use Python's features in ways we never anticipated all the time
With Travis you can actually do just that [by changing a single configuration file] and help test CPython !
"RSJS makes JavaScript easy to maintain in a typical web application. It’s written for the typical conventional web app in mind: a collection of HTML pages that occasionally need a bit of JavaScript to make things work."
Anti-patterns addressed:
- Ambiguious sources: It’s not obvious where to look for the JS behavior. (Is the handler attached to .author, .footnote, or .profile-link?)
- Non-reusable: It’s not obvious how to reuse the behavior in another page. (Should blogpost.js be included in the other pages that need it? What if that file contains other behaviors you don’t need for that page?)
- Lack of organization: Making new behaviors gets confusing. (Do you make a new .js file for each page? Do you add them to the global application.js? How do you load them?)
In a nutshell:
- Keep your HTML declarative (get rid of inline scripts).
- Put all your imperative code in JS files.
- Reduce ambiguity by having straight-forward conventions.
- HTML elements can be components that have behaviors.
- Behaviors apply JavaScript to a [data-js-behavior-name] selector.
Some practical tips:
- onmount (interesting but almost no users so far)
- store shared data in
<meta>
tags:function getMeta (name) { return $('meta[property=' + JSON.stringify(name) + ']').attr('content') }
A tutu on how to count hapaxes (words which occur only once in a text or corpus) using NLTK.
Some alternatives mentioned:
- Pattern : Python package for datamining the WWW which includes submodules for language processing and machine learning
- Polyglot : language library focusing on "massive multilingual applications"
- spaCy : an "industrial strength" NLP library focused on performance with a streamlined API
Recipe on how to build a 35$ cloud hosted distributed Python web scrapper.
There is also really interesting advice on the legal aspect of scrapping on this blog: https://benbernardblog.com/web-scraping-and-crawling-are-perfectly-legal-right/
- XML internal entities
- Billion laughs attack / quadratic blowup
- XML external entity (XXE)
js;dr = JavaScript required; Didn’t Read.
Many reasons to disable Javascript:
- Professionalism
- Security
- Tracking
- Resilience
- Performances
- Business & Ethicds: Are we creating a Wealthy Western Web ?
- Accessibility
- Empathy
"Je ne comprends pas. J’estime avoir un peu de connaissances en code, en système et, alors que je deviens efficace là‐dessus, bam, on me dit qu’il faut devenir un gestionnaire de planning"
"Car il y a une logique très conne en France, c'est qu'on ne te paie pas pour tes compétences, mais pour ton diplôme et ton expérience".,
Pants supports Java, Scala, Python, C/C++, Go, Javascript/Node, Thrift, Protobuf and Android code.
Meson is an open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible.
Multiplatform support for Linux, OSX, Windows, GCC, Clang, Visual Studio and others supported languages include C, C++, Fortran, Java, Rust
Optional Ninja backend
An alternative to Consolas
Correcteur grammatical open source dédié à la langue française, pour Writer (LibreOffice, OpenOffice), Firefox & Thunderbird.
mkdir grammalecte && cd grammalecte
fossil clone http://code.grammalecte.net grammalecte.fossil && fossil open grammalecte.fossil
./make.py fr
PYTHONPATH=$PWD ./cli.py -f tests/fr/text1.txt
Using:
- Librosa - Python library for audio and music analysis
- MoviePy - Python library for video editing
Python-based framework for configuring, compiling and installing applications
CSCI 2100: Unlearning Object-Oriented Programming
CSCI 3300: Classical Software Studies
CSCI 4020: Writing Fast Code in Slow Languages
CSCI 2170: User Experience of Command Line Tools
PSYC 4410: Obsessions of the Programmer Mind