突破性焦虑

我只燃烧了15分钟,就拿走了回收材料,补充了桌上的水壶,并与妻子讨论了我的孩子们的日语教科书。 好吧,不要被烧掉🙂花时间-所有要做的事情。 如果我有条理的话,今天早上我会带长子去回收废纸。 成为父母的奇怪之处在于,在没有受到困扰或打扰的情况下很难抽出时间。 我所有的男孩现在都在学校上学–那天我有一定的时间可以集中精力在家中办公室的计算机上,那里有两个外部屏幕,我可以“高效地”工作。 “在记忆中”的哲学向我暗示,认为时间是燃烧或浪费是有点愚蠢的。 同时,我确实想赚钱养活我的孩子,这似乎需要集中精力完成工作。 话虽如此,尽管我尽了最大的努力进行优先排序,但我仍然不确定我是否真的在正确地专注于将培根带回家的东西。

去年,我花了很多积蓄来从事AgileVentures的工作,我肯定处于一种焦虑的状态。 昨天我确实取得了一些突破,这减轻了我的情绪。 一种是找到可以在NHS笔记本电脑上使用的WYSIWYG编辑器。 另一个是为AV102 TA培训课程复活自动平地机。 这两个都是我想写出来的好故事。 我还注意到,在审查LocalSupport拉取请求和许多其他事情方面,我远远落后于我。 对于是否要利用博客时间来迫使人们专注于赶上AgileVentures Premium的相关工作(例如拉取请求)并报告突破,我感到非常痛苦。 让我们集中讨论针对自我记录的突破,我将在下一天的大部分时间提出请求,并在星期一撰写有关这些请求的博客。

因此,昨天我又回到了NHS总部,与沟通团队的成员开会,这是一次至关重要的会议,非常积极。 通讯人员对拟议的社交处方Wiki充满热情,并自然而然地担心许多利益相关者可能会发现很难做出贡献。 会议的更多细节即将结束,但是在会议之后,我得以坐下NHS笔记本电脑(在NHS内联网上使用IE 11)并回顾了我们在两周前的可用性会议中看到的有问题的界面问题。 对于可用性测试,我们选择了三个不同的Wiki,并在NHS员工计算机上对其进行了测试。 Wiki正常运行,但是在所有三个实例(PBWiki,XWiki,BlueSpice)中的关键问题是某些关键图标没有出现:

在上图中,您可以看到XWiki的登录面板在我的Mac上的外观,在左侧,您可以看到它在NHS笔记本电脑的IE11中的外观。 图标丢失。 现在,这个登录面板还不是世界末日,但是就其他XWiki的可用性而言,这实际上是灾难性的,不仅是XWiki,还有PBWorks和BlueSpice。 用于指示在何处打开登录面板的XWiki“汉堡”抽屉图标在NHS笔记本电脑上不可见,因此,如果没有旁边站着的人告诉您单击位置,则无法登录。 在PBworks和BlueSpice上,图标用于指示单击开始编辑或使用各种文本字体和样式按钮的位置。 这是BlueSpice的示例,由于某种原因,该示例也已切换为俄语:

有趣的是,所有这些图标均已正确加载到运行在NHS访客wifi上的笔记本电脑的虚拟IE 11上。 图标显示失败仅在硬链接到其内部网络的NHS笔记本电脑上发生。 我本来应该做的是将他们的一台笔记本电脑拴在手机上的wifi热点上,以进一步找出问题所在,但我来不及了,而且XWiki支持的建议(例如清除浏览器缓存)无法实现。受sys-admin限制的NHS笔记本电脑。 我拍了很多屏幕截图,丢弃了网络交互,并指出XWiki的失败是针对Glyphicons的,PBWiki的失败是字体的真棒图标,BlueSpice的失败是MCE编辑器的图标。 那是一个黑暗的时刻–我无奈之下试图将Wikipedia加载到NHS笔记本电脑上,并且其基本编辑器中的图标出现了!

我调查了源,发现它们使用的是背景图片而不是图标。 我最初排除了纯MediaWiki的提供,特殊的mediawiki语法对大多数涉众来说太混乱了,但是我注意到Wikipedia提供了一种可视编辑器解决方案,该解决方案也可以在NHS笔记本电脑上使用:

我们有赢家吗? 至少我有一个攻角。 如果MediaWiki实际上在NHS笔记本电脑上开箱即用,那么无论是否有其他缺点,它都比我们迄今为止测试过的任何其他解决方案都领先。 仍有很多工作要做,但是隧道尽头有亮光吗?

因此,这是一项突破。 到伦敦参加NHS会议,然后进行笔记本电脑研究,回家,调查MediaWiki托管的选项,这使我没有花时间在我的其他主要阻滞器上,这是因为AV102 TA培训课程的传统自动平地机无法正常工作。 我在本周早些时候登录了平地机,并收到以下消息:

The queue name is BerkeleyX-cs169x 
/home/ubuntu/rag/lib/edx_controller.rb:74:in `get_queue_length': Bad queue length response: (EdXController::BadStatusCodeError)
from /home/ubuntu/rag/lib/edx_client.rb:242:in `each_submission'
from /home/ubuntu/rag/lib/edx_client.rb:49:in `run'
from ./run_edx_client.rb:9:in `'

一遍又一遍。 AV102平地机尚未更新为UCBerkeley学生在去年夏天创建的新版本。 我已经修改了AV102分级机,使其能够继续运行,大约在去年的同一时间,方法是破解身份验证代码,我对再次修复它并不乐观。 “明智的”做法是将所有AV102作业分配给他们,并转换其规格以与新平地机一起使用,然后将edX上的AV102课程指向新的平地机实例。 这条路径的问题在于,感觉这将需要花费多个小时,而不能保证成功。 原则上,新的评分系统应该可以让我们更轻松地插入新作业-作业规范可以在GitHub中找到,并通过edX课程本身发送给评分者。 我有90%的把握可以使所有工作正常进行,但是感觉这将需要几个小时,遇到起伏不定,而我却没有几个小时。 或者至少感觉不到我可以为他们腾出空间。

我对失败的评分器代码进行了五分钟的询问,发现传统评分器上的问题再次是身份验证问题。 最初的身份验证步骤不起作用,导致对edX队列的请求被重定向为登录。 这正是我在不到一个小时的调试中就解决了几次的问题,在这两种情况下,令人兴奋的事情是所有现有的基础结构都将开始工作。 无需将多个作业转换为其他格式等。然而,这一天已经结束,我的生理状态现在使我可以参加儿子的空手道课程了。 该怎么办? 我把笔记本电脑拿到空手道坐了下来。 幸运的是,正当空手道课即将结束,我不得不带儿子回家时,我又做了一次。 分析机械化程度(在新的平地机中使用过TA的机械手)如何在新的平地机开发服务器上成功进行身份验证,我发现我们在遗留代码中再次遇到了有关如何解释“ Set-Cookie”操作的问题。 以下是edX队列发回以响应身份验证请求的内容:

 "set-cookie"=>"csrftoken=kFWOZK6FnT....eLAvMDsyi; expires=Thu, 19-Apr-2018 17:15:44 GMT; Max-Age=31449600; Path=/, sessionid=y4i9hip...j3x1i; expires=Thu, 04-May-2017 17:15:44 GMT; httponly; Max-Age=1209600; Path=/, AWSELB=E7E741EF08F209.....E1C1FA69F3B681EB87F2DFC9E7C01B23665183B022A6A8E876;PATH=/", "vary"=>"Accept-Encoding, Cookie", "content-length"=>"61", "connection"=>"keep-alive"} 

通过调试钩子跳入几个宝石,我确定了基于工作机械化的评分器仅设置了设置cookie请求的csrftoken,sessionid和AWSELB元素。 我对真正的凌乱hack的传统代码产生了相同的影响:

 @session_cookie = all_cookies.scan(/[\d\w]+\=[\d\w]+/).select{|str| str.start_with?('AWSELB') ||str.start_with?('csrftoken') || str.start_with?('sessionid')}.join('; ') 

但它成功了-突然之间,AV102作业成功进行了评级。 这样的混乱,它本来可以隐藏身份验证失败背后的许多其他错误,但是我这次赌博并赢得了胜利。 使用此代码或运行AV102培训课程,我没有得到任何报酬。 如果我定期将新作业分配到新系统中,记录下来的过程并消除粗糙的边缘,对于自动分级机项目的长期工作将是非常有益的,但是再也没有人为此付出代价。 或至少没有人为此付出代价。 我确实分享了所发行的教科书的销售收益(因为我是编辑),而我的部分责任是让平地学生在主课程和SPOC上继续学习,但是TA培训课程是我自己的单独的主动权。 具有讽刺意味的是,在我的空余时间里,我在45分钟内遇到了这个凌乱的骇客,而我的孩子们则在做空手道,这将使AV102 TA培训课程的运行时间更长一些。 我什至没有时间将调试器语句从开发评分器中删除(尽管git checkout应该可以对它进行排序)。

有两个突破,但我仍然很着急。 这是使AV102保持实用性的一种手段,还是打破骆驼背的技术债务? 我可以找到一个好的MediaWiki托管提供商,还是我们必须托管自己? 深吸一口气,nose到磨刀石,享受这一刻! 🙂

有关的影片

  • “肯特·贝克” Scrum

最初发布于:http://nonprofits.agileventures.org/2017/04/21/breakthrough-anxiety/