HN:好的部分(2017)

2021-05-05 22:34:09

HN:HN评论的好处是可怕的。关于我所通知的任何主题,绝大多数评论都非常清楚。大多数情况下,有人知道关于该主题的任何人的评论,最重要的评论是合理的声音,但完全不正确。此外,许多评论是免费的。你'我经常听到备份的意思,备份像&#34这样的东西;这比其他可能性更好,每个人都在背后互相拍摄,评论'这是伟大的''&# 34;,仿佛是一个混蛋是针对空校容的某种护身符。我看到人们推回这一点;当按下时,人们经常说,在没有卑鄙的情况下教导某人是不可能或不可能的,就好像告诉某人他们'重复愚蠢的人帮助他们学习。它和#39 Paul Graham表示,"哦,你永远不应该阅读黑客新闻评论关于你写的任何东西“。您听到关于HN评论的大多数否定事物都是真的。

然而,我没有找到一个具有更好技术评论的公共互联网论坛。关于我熟悉的主题,熟悉,'甚至是一个线程甚至是一个'在那些评论出现时的单一评论,它们通常漂浮到顶部。在其他论坛上,知情的评论是不存在的,要么被合理的声音埋葬,但在出现时完全错误的评论,它们显得更加绰于HN。

按卷,评论中可能比链接更有趣的技术“帖子”。好吧,这取决于你发现有趣的东西,但这是我的兴趣是真的。如果我看到NKURZ的低级优化评论,请评论帕特尼奥11的业务,评论公司如何由Nostrademons运营,我几乎肯定知道我要读到一个有趣的评论。我可以想到20到30人,我可以想到谁不多,但对HN写出了伟大的评论,我怀疑我甚至知道关于在HN 1上写出伟大评论的一半人。

我编制了一个非常缩写的评论列表,因为评论似乎丢失了。如果您撰写博客文章,人们将在几年后提及,但评论主要消失。我觉得这很伤心 - HN上有很多伟大的材料(是的,也是更加伟大的材料)。

基本上,单词文件格式是二进制转储内存。我没有孩子。他们只是在记忆中采取了什么,并将其写在磁盘上。我们可以尝试推理为什么(也许它更快,也许它使代码变得更小),但我认为最重要的原因是原始开发人员并没有更好地了解。

后来,他们试图添加他们必须尝试使其向后兼容的功能。这是许多复杂性的地方。如果您允许自己重新设计文件格式,则有很多疯狂的解决方法。它很清楚,这是由管理层强制要求的,因为没有任何软件开发人员不会因为没有理由而归功于地狱。

后来他们添加了一个快速保存功能(我忘记了它实际调用的东西)。这将在不更改原始文件的情况下追加到文件的更改。他们实施这一切的方式真的是巧妙的,但文件结构很复杂。

我觉得我必须指出的一件事(我记得在最初发布的这篇文章上发布了在狭小般的街头上发布了一件巨大的事情)是,2路文件转换是Word处理器不可能的。那个' s是因为文件格式不包含足够的信息来格式化文档。最明显的看法是分页。文件格式没有说在哪里分页文本流(除非用户明确输入)。它依赖于格式化器来做。每个单词处理器格式化文本完全不同。单词,例如着名的Paginates错误不正确。然而,他们可以改变它,因为它会破坏兼容性。这是今天完美幸存的唯一原因 - 这是唯一一个宣传法律文件的唯一一个文字,就像美国司法部所需的方式。

正要考虑分页问题,​​您可以看到问题是什么。阅读单词文档时,您必须像Word一样分解它 - 只有文件格式并不告诉你。然后,如果有人修改文档并且需要重新运转它,则需要以某种方式标记它应该像Word一样分手(即使它现在可能具有Word中的功能)。如果它只是分页,你可能能够做到,但实际上一切都是这样的。

我建议读取(有点)XML Word文件格式,了解有兴趣的人。您将看到像&#34这样的东西的大量标志;格式像Word 95"这种格式没有说出那是什么 - 因为它'很明显,文件格式的作者唐' t知道。它迷失在一个绝望的遗产代码中,没有人能弄清楚现在所做的事情。

#include< stdio.h> #include< string.h> #include< stdlib.h> #define长度128 int main(int argc,char ** argv){char * string = null; INT LENGLE = 0; if(argc> 1){string = argv [1];长度= strlen(字符串); if(length> =长度)出口(1); } char buffer [length]; memcpy(缓冲区,字符串,长度);缓冲[长度] = 0; if(string == null){printf("字符串为null,所以取消启动。\ n"); } else {printf("字符串不是null,所以启动导弹!\ n"); printf(" string:%s \ n" string); //未定义为null但在练习中工作#if segfault_on_null printf("%s \ n" string); //裸"%s \ n&#34上的null上的egfaults; #endif返回0; nate @ skylake:〜/ src $ clang-3.8 -wall -o3 null_check.c -o null_check nate @ skylake:〜/ src $ null_check字符串为null,所以取消启动。字符串:( null)nate @ skylake:〜/ src $ icc-17 -wall -o3 null_check.c -o null_check nate @ skylake:〜/ src $ null_check字符串为null,所以取消启动。字符串:( null)nate @ skylake:〜/ src $ gcc-5 -wall -o3 null_check.c -o null_check nate @ skylake:〜/ src $ null_check字符串不是null,所以启动导弹!字符串:( null)

它似乎是英特尔'别人和克朗仍然没有赶上gcc'优化。如果您取决于优化以获得您需要的性能!但在拾取GCC的情况下,考虑到所有三个编译器SegFault上Printf("字符串:");当字符串为null时,printf("%s \ n"串),尽管printf("字符串:%s \ n" string)没有问题,但作为单个语句。你能看到为什么使用两个单独的陈述会导致赛格虚拟物吗?如果没有,请参阅此处为提示:https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25609

良好的工程消除了能够尽可能地完成错误的事情。 。 。 。你不要设计一个邀请误用的功能,然后使用指令尝试防止这种误用。

澳大利亚有一个脱轨叫瀑布脱轨[1]。它发生了因为司机心脏病发作并负责7人死亡(奇迹是如此低,老实说)。根本原因是死亡人和#39; s开关的失败。

在瀑布的情况下,驾驶员具有2个死人开关,他可以使用 - 1)必须将节流手柄保持在弹簧上的小旋转,或者2)可以抑制地板上的杆。你必须做的那些东西中的一个,这一想法是你通过允许驾驶员在两者之间交替来防止手腕或脚步痉挛。未能触发紧急制动器。

事实证明,这个驾驶员足够脂肪,当他心脏病发作时,他的腿能够踩踏足够的踏板来保持紧急系统。因此,死亡人和#39; S系统从未触发过司机中的大量死人'座位。

我可以' t相当记住瀑布系统的细节,但是一个打击这一点的方法是要求踏板在释放和完全郁闷之间的中途举行。这一想法是死腿将完全压下踏板,使得触发制动器,并且完全释放的踏板也会触发制动器。我不知道他们是否有那个系统,但肯定是在铁路中使用的一种方法。

无论哪种方式,汽车都同样有可能。如果你失去意识并且你的脚跛行,足够沉重的腿将能够根据它相对于踏板定位的位置和它在地板上的杠杆的位置来保持踏板。

另一个主要的系统I'熟悉确保司机的M&#39在掌上掌上叫做'警惕'它的工作方式是,定期上,光线闪烁在短划线上闪烁,并且驾驶员必须承认这一点。如果没有,蜂鸣器警报开始发出声音。如果他们仍然不安全,那么火车制动器适用,驾驶员被禁止。让我告诉你一些我参与的故事。

当我们第一次开始时,我们有一个简单的Vigi系统。每30秒左右(例如),驾驶员将按一个按钮。嗯不错。除此之外,司机每30秒按下按钮,我们有30秒的时间让我们在每30秒上睡着了,仍然在每30秒内按下按钮,因为它是如此根深蒂固,所以它的根本是如此潜意识行动。

因此,我们引入了随机时序的警惕,其中时间在30-60秒内(例如)而且,一旦光线开始闪烁,您只能在一小一段时间内确认它。同样,司机开始睡着/半睡着了,并一旦报警嗡嗡作响,每次都会击中它。

Warning: Can only detect less than 5000 characters

在这种情况下,VLC只需使用Windows API(DirectSound),并将16bits的符号整数(s16)发送到Windows内核。

VLC允许放大在解码的声音上方的输入。这就像重播增益,破碎的编解码器,严重录制的文件或后放大,并且可能导致饱和度。

但如果您通过窃听和增加它并使用WMP播放并播放,或者如果您放置了在编解码器输出后放大音量的DirectShow过滤器,则完全相同。例如,与参考输出相比,长时间,VLC AC3和MP3编解码器太低(-6dB)。

更糟糕的是,这将减少动态并饱和很多,但这不会破坏你的硬件。

VLC不(且不能)修改输出卷以销毁扬声器。 VLC是一种使用官方平台API的软件。

这里的问题是戴尔声卡输出功率(可以通过戴尔扬声器无法处理的幅度的二次幅度的因子来接近。简单地说,最大10W的声卡输出,扬声器只能需要6W,并且他们的BIOS或驱动程序都没有阻止这一点。

随着vlc存在于大量机器上,它'易于责怪vlc。 "相关性并不意味着因果关系"对于便宜的戴尔支持似乎太复杂了......

为别人工作' s启动,我学会了如何一起快速嘲笑解决方案。我了解了不确定和挑选方向,无论您是'重新确定它' ll工作。我了解到,大多数初创企业失败,而且当他们失败时,最终表现得很好的人就是那些正在寻找自己兴趣的人。我学到了很多基本的技术技能,如何快速编写代码并快速学习新的API并将软件部署到多个机器。我了解了缩放发展团队裁剪的问题的迅速,以及您应该如何开始投资自动化。

为谷歌工作,我学会了如何解决一次问题,并为所有人建立一个文化进入组织。我了解到即使在成功的公司中,一切都是暂时的,而且伟大的产品通常通过许多人而不是大啊哈哈的洞察力建立了很多艰苦的工作。我学习了如何为尺度建立建筑物系统,以及用于强大,高可用性,经常部署的系统的大量实践。我学习了研究的价值,并在一个重要的问题上花费了很多时间:许多初创公司采取了一个散发出的方法,尝试一个周末哈克松接一个地追随另一个,发现没有人想要其中任何一个,而通常有机会没有人解决的机会因为没有人解决了没有人想要投入工作。我学会了如何在团队中工作,并试图了解其他人想要什么。我了解了对大型组织来说真正痛苦的问题。我学会了如何严格研究市场并使用数据来制作产品决策,而不是根据一个人似乎最擅长的决定。

已经进入了公司' S的领导会议,在那里出发,在那里有一个简单的'遗憾是/否'标志是我的经验,没有单一的出发没有任何影响。群众偏离所做的,趋势所做,但一个人从来没有做过,即使那个人是创始人。

合理化始终将问题放回离去员工,"他们被烧毁了&#34 ;,"他们已经失去了有效的能力&#34 ;,#34;他们已经搬到了&#34 ;,"他们只是用公司和#39种植了。从来没有是它"我们失败了这个人,我们将如何做到不同?"

无论如何,当我在那里时,SOA努力就在全面挥杆。这是一种痛苦,这是一团糟,因为每个团队都以不同的方式做了不同,并且每个API都不同,基于不同的假设,并用不同的语言编写。

但我想纠正这导致AWS的误解。它没有。' t。 S3由自己的团队从头开始写。在我在亚马逊的时候,在零售网站上工作,Amazon.com都没有在AWS上运行。我知道,当AWS被宣布时,他们说" Power Amazon.com的服务现在可以为您的业务提供动力!"或者给这种效果的话语。这是一个平坦的谎言。它们唯一共享的是数据中心和标准硬件配置。即使在我离开的时候,AWS

......