Improve some performance with few unsafe:
fsync for ZeroNet
Improve some performance with few unsafe:
fsync for ZeroNet
A Comparison of the Syntax of C/C++ and Pascal
Example of hypocrisy of many U.S. tech companies. Refuse to work with U.S. military on #ProjectMaven but work with partners tied to China military. For example @Google's @Jeffdean serves as #AI advisor for univ tied to key tech supplier to China's military
对于 AI 这种军民两用技术，Google 假装由于道德原因拒绝参与米军无人机战场识别项目 Project Maven，而同时 Google AI 负责人 Jeff Dean 却在与走国军方关键技术供应商有联系的大学担任 AI 顾问… 这与之前 Google 因「传播性别成见」解雇 James Damore，而同时定向广告目标却包含「性别」选项一样虚伪。
之前走区 iCloud 转至云上贵州事件中，起码 Apple 提前 50 天通知现有用户且提供改区 or 停用选择权；据 Intercept 系列报道 (https://theintercept.com/2018/09/21/google-suppresses-memo-revealing-plans-to-closely-track-search-users-in-china/) ，Google 7 月底已近完成的走版搜索引擎 Dragonfly 不但进行关键词屏蔽，而且强制用户关联手机号，搜索记录、地理位置等隐私信息也将被无差别提供给走家合资公司
现在问题已经不是 2016 减少 Hillary 负面搜索结果，or 因「传播性别成见」解雇 James Damore，or 内部讨论调整搜索应对旅行禁令等这类「小事」咯；考虑到前 Google Cloud AI 首席科学家李飞飞带头反对参与米军无人机战场识别项目，现在更进一步，Google 甚至主动为走打造了一套无差别间谍监控引擎，事情已经起变化
「Google 走国版监控引擎 Dragonfly」最新系列报道 (https://theintercept.com/2018/10/09/google-china-censored-search-engine/) ，今年 7 月 18 日的一个内部会议纪要显示，Google 搜索引擎负责人 Ben Gomes 表示希望这个监控版引擎能在未来 6~9 个月内发布，而 Gomes 9 月 23 日对 BBC 记者说「目前（该项目）是探索性的，无计划发布…」；同一人私下与公开说法完全相反
Google 秘密进行了 2 年的走国版监控引擎项目（Dragonfly）被迫收手咯？
去年底被迫暂停的 Google 走国版监控引擎 Dragonfly 被曝仍在秘密开发中，惊不惊喜？Intercept 援引三位内部消息源确认，与 Dragonfly 相关的两个面向走国 Android 和 iOS 用户的移动 App——Maotai 和 Longfei 代码仍在持续更新，消息源并称仍有约 100 人继续被分配到 Dragonfly 相关项目中…
律政剧 The Good Fight（傲骨之战）5 月 2 日第三季第 8 集播出中，CBS 审查删除了一段「想进入走国的米公司讨好走审查机关」的动画短片，其中涉及剧中 ChumHum 公司参与为走打造「定制版」搜索引擎、空椅子、小熊维尼、天安门广场、字母「N」…——厉害了，讽刺自我审查的剧集片段被自我审查，米国人看啥也要被管起来咯
「Dragonfly」还未凉，Google 又有大新闻，据 The Intercept，Google 与 IBM 正通过主要由二者创立的 NGO「OpenPOWER 基金会」帮助走深圳恒扬数据开发大规模网络监控与审查工具，用于监控走国 2 亿人网络隐私，含电邮，电话，短信，手机位置和浏览历史…
سلام. به دلیلِ اسپم زیاد از طرف کاربران ایرانی، تلگرام به کاربران ایرانی فقط اجازه عضو شدن در گروههای عمومی ( پابلیک) را میدهد. اگر سازنده گروه عمومی غیرایرانی باشد شما فقط میتوانید پیامهای آن گروه را بخوانید و نمیتوانید به گروه پیام بفرستید. توجه داشته باشید این محدودیت از سمت خود تلگرام میباشد و ادمینهای گروه کاری نمیتوانند انجام بدهند.
با شماره ایران میتوانید گروه عمومی بسازید. در گروههای عمومی که سازندهاش ایرانی باشد میتوانید پیام بفرستید.
Unfortunately, due to overwhelming amounts of spam, users from Iran currently can join some public groups in READ-ONLY mode. They cannot send messages.
• If the creator of the public group is non Iranian, Iranian users can read the chat and they cannot send messages.
‼️ Pay attention this restriction is from Telegram side, admins of the group haven't done anything about it and cannot solve it.
• With your Iranian account, you can create a public group, and you can send messages to the public group chats that have been created by an Iranian account.
https://program-think.blogspot.com/2019/07/Security-News.html (Chinese language)
There are three steps you have to do:
In fact, the hardest is often the first step – semantic design, because it determines the final form of your language. The content of "semantics" will be very broad, and these are the categories of semantics:
Type system: Is it strong type or weak type? Static type or dynamic type? Is there type inference? If so, based on which formal system? Is subtype allowed? Is recursion type allowed? What is the mechanism for type conversion? and many more.
Programming paradigm: Is your language imperative or declarative or a combination of both? For "declarative", is functional or logical? Is metaprogramming allowed? and many more.
Storage: Does your language allow users to intervene in storage details? Is pointer arithmetic allowed? Is manual memory management allowed? What is the scope rule for variables (symbols)? Is it lexical scoping or dynamic scoping or a combination of both?
Subroutine: Does your language have subroutines? If so, are they first-class? Is parameter passing by value or by name? Is passing by reference allowed? Is the evaluation strategy eager or lazy? What is the order of evaluation among parameters?
Process Control: Does your language allow non-structural jumps? Is there a built-in exception handling mechanism? Is there a continuation or coroutine mechanism?
After the semantic design is completed, the corresponding syntax should be designed. Almost all tutorials on compiling principles start with syntax, which is the case when implementing a compiler. However, when designing a language, semantics are done earlier than syntax. A set of core semantics can have multiple syntaxes corresponding to it, of course, there is one of the best in many syntaxes. For example, if you like the powerful macros in Lisp, you will prefer simple syntax. (Wat... Does Lisp really have a syntax?)
After the syntax design is complete, you can start implementing the compiler/interpreter. There are so many mature backends now, even if you want to compile directly into x86 machine code, using existing libraries is not very difficult. However, for beginners, it is much easier to target the compiler's platform to some virtual machines, such as the JVM or the CLI. What you have to do when implementing the compiler includes:
Syntax analysis. Libraries for this are quite rich (after all, there are still a bunch of programs to read text files), from the old-school YACC to the popular Parser Combinator. When this step is complete you will get a parse tree.
Type checking and type inference. For those static type languages, you need to do type checking/type inference in this step. There is no universal library for this domain, you have to consult the relevant algorithms yourself (such as the Hindley-Milner inference algorithm).
Language-related optimization. This step is for language optimization. This is especially important for languages that use a lot of functional features. The compiled program performance can be improved several times with well optimized. Of course, traditional platform-independent optimizations, such as sub-expression elimination, copy propagation, etc., can not be ignored.
Intermediate code generation. Most backends are a simple list of instructions, and you have to find a way to turn the tree syntax into linear instructions. You can use three addresses (3-address) or static single assignment (SSA). If you use a backend such as LLVM or JVM, your compiler can be completed here.
Code generation. This is the last step if you want to compile into machine code and don't want to use a ready-made backend. In this step, you will also need to do platform-specific optimizations to tune your program into the form of most appropriate your target platform.
The preparation of the standard library. This can not be strictly included the contents of the compiler, but whose language is a bare language? Writing a good standard library is harder than you think. Look at the scale of libuv used by Node.js.
The debugging and testing of the compiler is very difficult: on the one hand, it does not allow any errors, on the other hand, the compiler's test cases are very difficult to write. So in the step for optimizing, it is better to be conservative and not to introduce errors. At the same time, when programming, please write the program that is "obviously correct": the structure is clear and can be understood in one glance.
What's your review on my English quality so far?
The obvious fact, the so-easy scene, why everyone "knows nothing", is supporting
Because everyone has a beautiful vision to satisfy their subjective expectations.
In order to control this subjective expectation to make it maybe become true, willing distort the facts, distort the perception of most people who still rely on trust, and guide to the menstrual illusory expectations and nothingness.
This practice has already abandoned the original intention at the time. Isn't it shameful?
Of course, I know that they have to do. It is a good intention to maintain the possibility of beautiful direction, and does not hesitate to gamble on all of their own. But is this really right?
Backfire will destroy all the accumulations of the past, and even individuals will be destroyed.
The sooner being frank, the sooner being initiative. Otherwise everything in the past will become new burden.
Be lenient. Teenagers often anger impetuously.
New: Mozilla was branded an "internet villain" for introducing DNS-over-HTTPS, which will make internet browsing far more private and secure.
In typical fashion, it was the ISPs shrieking, "won't somebody think of the children?"
Junior high school students need to learn more, understand?
For my poor English, I can't explain it in a few words.
But I will keep trying. They are just sending a lot of words, and day by day, you will be brainwashed.
It's not some sort of different ideas.
Red Pill: A life of harsh knowledge, desperate freedom, and the brutal truths of reality.
Blue Pill: A life of luxurious security, tranquil happiness, and the blissful ignorance of the harsh realities of life, basking in an (essentially dishonest) illusion.
How can a (unorthodox) Christian be a FaLunGong?
Don't use FaLunGong as your red herring.
For your information:
I created a private ZeroMe hub, and I moved my posts to there.