首页
壁纸
关于
Search
1
IObit Uninstaller 注册码
2,119 阅读
2
与元素类型 "application" 相关联的属性 "tools:replace" 的前缀 "tools" 未绑定。
336 阅读
3
常用的开源API记录
181 阅读
4
flutter 隐藏中间省略号
177 阅读
5
诗集收藏•明:陈曦/高启
148 阅读
默认
开发
随记
工具
游戏
番剧
关于猫的随笔
登录
Search
路过的假面骑士
累计撰写
87
篇文章
累计收到
2
条评论
首页
栏目
默认
开发
随记
工具
游戏
番剧
关于猫的随笔
页面
壁纸
关于
搜索到
87
篇与
的结果
2022-05-09
十六号下午的某一分钟,我在沈阳大街等你
“今天几号?”“十六号咯。” “1960年四月十六号,下午三点之前的一分钟,你和我在一起。因为你,我会记住那一分钟。” 这段对话出自王家卫1990年的电影《阿飞正传》。在这部电影里,张国荣饰演的“阿飞”旭仔,在一个黏腻的、夏天的下午,拉着张曼玉饰演的苏丽珍的手,指着手表度过了这一分钟。 我没有完整地看过《阿飞正传》。事实上,我第一次看到这段有些老套的情话,是在B站的一则视频里;而那个视频的名字,就叫做《因为你我会记住那一分钟》。 这段确实只有一分钟的视频把三种看似风马牛不相及的元素杂糅在一起:几位快手主播在几年前拍摄的视频段子的画面、橘子海乐队的一首名为《夏日漱石》的歌曲的前奏,以及王家卫电影的台词——但是当舒缓的音乐、老式煽情的台词和屏幕上装疯卖傻的胖子结合在一起的时候,你会发现这种杂糅开始散发出一种独特的魔力,让你不禁对其中的故事产生好奇;而一旦你顺着大数据的指引开始寻根问底,这场名为“东百往事”的画卷就开始在你面前逐渐展开了。戏子还是暴徒? “东百往事”,指的其实是在快手直播刚刚大红大紫、且缺乏监管的时代里,以东北地区主播为主引发的一系列“整活”短视频风潮,以及后期为了更高的流量和热度写好剧本联袂上演的恩怨情仇。 值得玩味的是,“东百”在互联网语境下其实是一个带有地域歧视色彩的词语,而似乎大多数人,包括这些主播本身,对于“东百往事”这种提法并不避讳。 细想起来,似乎在2019年的时候,我的前同事就在办公室里眉飞色舞地讲过这些快手主播之间的故事。他在午休时期向我们介绍过这个帮派那个大哥,以及谁结婚的时候请了哪个明星;现在想起来,他提到最多的好像就是那则视频的主角“虎哥”。 从目前互联网上留下的“遗迹”来看,这个自称“社会你虎哥”的男人正是所谓“东百往事”的核心人物。在早期,他热衷于扮演一位纯粹的地痞流氓,在沈阳的街道上做各种出格的恶事;而他这些所谓“整活”的行为以及过程中叫嚣的话语由于过于离奇,且具有一种野蛮的喜剧效果,赢得了许多目标受众的青睐。 比如,他知名度最高的“狠活”之一就是在众目睽睽之下高举双手,大喊“全体目光向我看齐,我宣布个事儿:我就是个傻×”;而另一个著名片段是他骑车碰瓷,威胁车主“要么给我500块钱,要么给我500Q币”。你可以说他低级、无聊、空虚,他确实是;但是从另一个不那么正确的角度上来说,他又真实、有趣,具有创造力。 人们喜爱这些“狠活”的原因也许正是“真实”。 大多数人(尤其是男孩子)小时候大概都经历过类似将黑板擦放在门上整老师的恶作剧,只不过随着年龄增长和教育的跟进,这种原始的作恶欲望被很好地压抑在了心中。 当然也有满足这种欲望的电视节目,日本拍摄的“整蛊大会”就是其中之一。只不过,被设定好的节目效果和过于工业化的罐头笑声让这种原始的欲望大大地失真了——更别提右上角小窗口里还有过气漫才演员夸张的职业化笑脸。 相比之下,以虎哥为代表的快手主播们确实在简陋的手机镜头之下“堂堂正正地”作了恶。被整蛊的对象是随机的、真实的,并且确实受到了影响。当你随着镜头一起把水袋扔进厕所隔间的时候,观众实实在在地产生了一种共犯式的恐慌和刺激。 另一位主播“杀马特团长”干的事情似乎更为离谱。这位以带着杀马特式鲜艳假发为标志的主播多次和同伙闯入宁波大学的校园,冒充学生进入课堂,在上课时突然发难。有时,他大喊“老师我想跳舞”,跳上桌子尬舞一番;有时,他又变装成超人,在应景的BGM下打开窗户,一跃而出(虽然是1楼)。杀马特团长甚至因为这些“壮举”上了央视,最终被保安抓住,领到了15天的拘留。豆瓣评分9.0 在如今,我们常常把前几年直播平台迅猛发展的时期称为“大直播时代”。在那个时代里,克服自卑、打开摄像头似乎就意味着源源不断的财富。在时代的风口上,不仅是猪,放头大象都能飞得极高。 很明显的一点是,当人们看到了这类所谓“整活”在短视频平台上的巨大利益时,越来越多的人将会在这个领域探索更加离谱的“狠活”——但是疯狂是有边界的。当装疯卖傻的戏子触碰到了违法甚至犯罪的边缘,自然免不了挨一顿结实的铁拳;当他们再也无法突破自己、制造更多的刺激时,“剧本”就成为了唯一的出路;而虎哥和杀马特团长联袂出演的那段恩怨连续剧,就是其中的佼佼者。 和其他短视频主播之间的恩怨一样,这场闹剧起源于平台上的隔空嘴炮。随着冲突升级,双方不断叫嚣约战,终于到了沈阳线下“约战”的地步。由于快手的载体特性,双方不断地通过发布短视频来更新目前的进展,用醒目的红字标注着目的地。 自然,由于需要经过审核,这些进展一定不是实时的——当杀马特团长发出“我在动物园,你人呢”的时候,他早就不在动物园了——但是从观众的角度来看,一场激烈的争斗正在逐步展开,惊险而刺激。在团长徒弟的镜头中,你甚至能看到他放狠话到一半被虎哥击倒带走的画面,整个拍摄过程属实是经过了缜密的设计。 随着故事的发展,虎哥和团长都俘虏了对方的两个徒弟;而两位“大哥”在沈阳的夜色中哭喊“我徒弟呢”的场面也成为了“传世经典”。 当然,我认为这个故事最终是烂尾了。在故事的最后,他们在“工业小区”展开了“决斗”:在一场交换俘虏后的6人尬舞之后,杀马特团长甘拜下风,当场认输;而虎哥却不慎被戴上了杀马特的头套,被“洗脑”成为了团长的弟子。 不过,烂尾归烂尾,整个过程中他们产出的各种带着浓郁口音的段子还是经历了网友的检验和传播,焕发出了无穷的生命力。不论是刀哥的“来沈阳,指定妹你好果汁吃”和被质问时的“我不到啊?”,还是唐老鸭倒转大拇指说出的那句“弟中之弟”,都和虎哥嚣张的“你就是歌姬吧”以及无限复读的“嗷语言”一起成为了网友普遍使用的互联网用语,得到了广泛的传播和使用。 当然,虎哥出演的剧本不止这一个。后来,他又和“吉林跑男”赵三金合作,如法炮制了一段恩怨连续剧;而在赵三金飞起一脚“偷袭”后,虎哥那句“你太Baby辣,把我李宁都踹开线了”也得到了网友的一致好评。文章开头提到的《因为你我会记住那一分钟》的主要画面素材,正是取自于虎哥和赵三金“和解”后一起坐三轮车的场景。 在抛弃了纯粹的真实后,快手主播们走向了另一个极端,开始了纯粹的演技。他们虚构爱也虚构恨,用短视频承载虚伪的情感波动。很多时候,你无法分辨他究竟是在演戏,还是真的在诠释自己的人生——也许他们自己也不知道。照镜子的文豪 回过头来看,不论是那个口若悬河的同事,还是心不在焉一句都没听进去的我,对于这些以流量为生的、疯狂的快手主播都是鄙夷的。在过去的几年里,我们看过无数“网红村”的建立和衰亡,看到无数被热度摧毁的生活。短视频让这个时代变得浮躁,让情感变得廉价而速朽——我发自内心地憎恶它。 正是这种憎恶让我在看到《因为你我会记住那一分钟》时感受到了强烈的反差。在画面中的故事发生几年后的今天,在这些主播被平台封禁之后,互联网开始对他们进行热烈的解构,而我在其中怪异地感受到了与短视频载体极度矛盾的、浓烈的情感。 有人说,“一个时代结束的标志就是被浪漫化”,我深以为然。 在这些以“东百往事”为蓝本的二次创作中,虎哥、刀哥和团长的脏话、粗话被和谐、被空耳,“果汁”、“歌姬”成为了某种特殊的意象:“东百从此少了一条狭窄的街道、三个失意的男人,少了一杯滚烫的好果汁和阳光下自由的宣誓。” 而虎哥在追求彪姐时喊出的“Money”和“Rose”也被赋予了更深层次的含义:“四年前你告诉我这叫Rose那叫Money,最后你的Rose还是输给了Money,就像我们的浪漫最终输给了现实。” 就连被造假当作是农药的冰红茶也有了全新的含义:“冰红茶的盖子上写的是‘再来一瓶’,他的青春却只剩下‘谢谢惠顾’。” 在《因为你我会记住那一分钟》的评论区,在每一个类似视频的评论区,涌现出了无数借题发挥的“文豪”,他们用优美的文字和感伤的预言叙述着属于虎哥又不属于虎哥的故事。人们把这段野蛮的时光搅烂、嚼碎,铸造成了一面既混沌又清晰的镜子。他们试图在自己为东百往事赋予的意义上看到自己,然后擅自与脑海中的意象共情。 在这里,那个躺在马路上的男人、那个跷起一只脚旋转的男人、那个露出肚皮大喊“我TM莱纳”的男人不再是短视频镜头下的暴徒,而是一座代表自由和不羁的图腾,一座象征幻想和逃离的灯塔,闪耀在被疲惫和内卷填满的黑夜里。 有人说,这是属于躺平者的诗意。 过往的热烈、激情和浪漫衬托出当下的绝望、颓废与得过且过,也许正是许多人眼中这个时代最好的注脚。 《阿飞正传》中的另一句台词恰好诠释了这种诗意:“世界上有一种鸟没有脚,生下来就不停飞,一辈子只能着陆一次,那就是死亡的时候。”当东百往事的时代过去,虎哥再也整不出所谓的“狠活”,他在互联网上、在人们心中,也许就已经死了。举报、补档与剥离 但是虎哥在现实中确实没死。不仅如此,杀马特团长、刀哥和赵三金都活得好好的——就连那个在直播中上吊整出“千古谜题”的唐老鸭,也依然在这个世界上顺畅地呼吸着。 他们中的大多数依然在直播。这是自然的——在实际享受过网红经济带来的巨大红利之后,这些本身文化程度不高、眼界和格局一般的主播很大概率无法从流量和热度编织的幻梦中真正醒来。 我曾经在《被成为网红的人们,如何与过去的自己和解》一文中写道:“人们总是不免被时代裹挟,随波逐流。只是在这个时代里风急浪高,每一个被大浪抛上波峰的人都以为自己就是那个弄潮儿;待到被拍落水底,还是忘不了跃龙门的感觉。” 你看,最近谭乔和二仙桥大爷以及“华强买瓜”里的老板联袂出演了腾讯某手游的广告,即使他们自身素质过硬,也终究有点“没味儿”;那么当浪潮过去之后,这些“现出原形”的快手主播们——这些从风口上跌下来的猪——他们的裸泳就显得更加不堪了。 即使是换了平台,他们还是沉湎在过去的辉煌中不愿醒来。刀哥入驻B站,取名“二次元刀酱”,到各种二创视频下面蹭热度,每每被骂得狗血喷头;杀马特团长摘掉了头套、戴上了眼睛,油头粉面却不知所云;而虎哥更是歌姬吧,在离谱的滤镜后面既失去了眼睛也失去了自己,而其背后的抖音公会甚至被认为是在B站举报下架“东百往事”相关视频的“罪魁祸首”。 这样的现实让人们将视频中的形象与主播本人再次明确地剥离开来:“现在直播的是柴浩(虎哥本名),是虎弟,但绝不是虎哥。”人们用东百往事创造了新时代的浪漫,但主演本人却被从这种浪漫中除名——我想,这才是对“抽象”最好的诠释。 《因为你我会记住那一分钟》作为这种浪漫文化的开始,自然处于举报的风口浪尖之上。这部视频被无数次地举报、下架,而Up主“请你喝好果汁”总是孜孜不倦地“补档”。在评论区,文豪们一次又一次地卷土重来,还有无数追随者刷着弹幕:“好果汁,你让我陷入疯狂。”如今,尽管举报的力度变低、甚至叔叔似乎有意推送相关视频,补档变得不再那么频繁,“补档”的标签却俨然成为了东百往事相关二创文化的一部分。 醉心于这种文化的人们习惯于在每月16号的下午点开《因为你我会记住那一分钟》,和志同道合的朋友们度过这短短的一分钟——这种默契恰巧成为了对电影台词的践行,成为了另一种形式的行为艺术。沈阳大街,永远的盛夏 当然,更加普遍意义上的行为艺术自然是前往沈阳大街“朝圣”。 但是在现实中,沈阳大街是不存在的——刀哥、虎哥、小亮和唐老鸭对着杀马特团长放出狠话的“沈阳大街”实际上位于洪区北固山路与长江北街交叉口,那里只有并不宽阔的道路和包围着旧小区的红墙。游侠网22 到达“圣地”的人们在“五月古琴私塾”(据传,这家店铺早已倒闭)牌子对面的小卖部买上一瓶冰红茶,“供奉”在那块被先行者用粉笔写满了语录的“哭墙”下。现实中的沈阳大街是小气的、逼仄的,甚至容不下朝圣者的热情;那歪歪斜斜的“妹你好果汁吃”铺满了红墙,仓促而儿戏。 但是在网络上,在云端,沈阳大街是宽广的、明亮的。它永远充满着阳光、呐喊和幻想,包含着滚烫的果汁和曼妙的歌姬,承载着浪漫而诗意的梦。在那里,虎哥的时间定格在了30岁之前——他横冲直撞地破坏着规则、毁灭着秩序,释放出最原始的欲望。他拖着肥硕的身躯踢踏着海边的沙滩,扬起的尘埃编织成了一整个盛夏。 至少,在每月16日下午的某一分钟,我愿意拥抱这种幻梦,向那片盛夏飞去。 去年夏天,橘子海乐队前往青岛海昌极地海洋世界,演唱了自己的歌曲《夏日漱石》。 在这段视频中,我第一次听到了这首歌曲在前奏之后的部分。值得一提的是,此前许多乐队的粉丝对橘子海的歌曲下面“梗小鬼”刷东百往事相关的梗感到厌烦;但是随着时间的流逝,这种厌烦正逐渐转变为一种融合。很难评价这种融合对于乐队来说意味着什么。 但我知道,《夏日漱石》诗意而空灵的歌词确实与这个故事暗合。 它说,“我从远方而来,踏遍整座城市。看神明坠落凡间,化为渺渺尘埃。”当沈阳大街落入凡尘,套着头套的“神明”确实已经堕落成小丑;它又说,“你身在谎言之中,美妙如斯。”一些人编织出一段虚构的浪漫,却恰巧成为了另一些人的图腾和支柱。 我不知道在遥远的未来,在某次灵光一现的回望中,人们会如何看待这种荒诞而抽象的网络文化——但这又与当下的我们有什么关系呢? 我想,《夏日漱石》歌词的结尾也很适合作为文章的结尾: “别哭,亲爱的,我的整个盛夏都在你掌心。”
2022年05月09日
32 阅读
0 评论
0 点赞
2022-03-11
开发记录:底部导航代码块记录
代码块:bottomNavigationBar: NavigationBarTheme( data: NavigationBarThemeData( indicatorColor: appcolor.black, backgroundColor: appcolor.white, labelBehavior: NavigationDestinationLabelBehavior.onlyShowSelected, height: 60.h, labelTextStyle: MaterialStateProperty.all( TextStyle(fontWeight: FontWeight.bold, fontSize: 10.sp), ), ), child: NavigationBar( animationDuration: Duration(milliseconds: 300), selectedIndex: pageindex, onDestinationSelected: (value) { setState(() { pageindex = value; }); vibration(type: FeedbackType.light); }, destinations: [ NavigationDestination( icon: SvgPicture.asset( 'assets/images/home.svg', color: pageindex == 0 ? appcolor.white : null, width: iconsize, ), label: 'HOME'), NavigationDestination( icon: SvgPicture.asset('assets/images/Discovery.svg', width: iconsize, color: pageindex == 1 ? appcolor.white : null), label: 'DISCOVERY'), NavigationDestination( icon: SvgPicture.asset('assets/images/Profile.svg', width: iconsize, color: pageindex == 2 ? appcolor.white : null), label: 'PROFILE'), ], ), ),
2022年03月11日
65 阅读
0 评论
0 点赞
2021-12-25
开发日记:常用插件记录
flutter_svg: ^1.0.3 (与flutter_html一起使用时,需要把版本调整到0.23.0+1) get: ^4.6.1 dio: ^4.0.6 flutter_screenutil: ^5.5.2 permission_handler: ^9.2.0 shimmer: ^2.0.0 loading_animation_widget: ^1.1.0+5 flutter_vibrate: ^1.3.0 fluttertoast: ^8.0.9 card_swiper: ^2.0.3 cached_network_image: ^3.2.0 shimmer_animation: ^2.1.0+1 get_storage: ^2.0.3 intl: ^0.17.0 flutter_inappwebview: ^5.4.3+7 flutter_html: ^2.2.1 url_launcher: ^6.1.2 share_files_and_screenshot_widgets: ^1.0.6 get_storage: ^2.0.3 any_link_preview: ^2.0.8 flutter_slidable: ^1.3.0 username_generator: ^1.3.0 readmore: ^2.1.0 flutter_staggered_grid_view: ^0.6.1 tiny_charts: ^0.1.0 chart_sparkline: ^1.0.11 dart_ping: ^6.1.2 popover: ^0.2.6+3 flutter_slidable: ^1.3.0 readmore: ^2.1.0 username_generator: ^1.3.0 package_info_plus: ^1.4.2 phoenix_native: ^0.0.2 flutter_colorpicker: ^1.0.3 share_plus: ^4.0.6 card_loading: ^0.1.4 flutter_keyboard_visibility: ^5.2.0 lazy_load_scrollview: ^1.3.0 liquid_pull_to_refresh: ^3.0.1 carousel_slider: ^4.1.1 #测试 animated_image_list: ^1.0.0
2021年12月25日
31 阅读
0 评论
0 点赞
2021-12-25
开发日记:时间线对比
datesDiffen({ required String timeinfo, }) { String timeshow; DateTime time = DateTime.fromMillisecondsSinceEpoch(int.parse(timeinfo + '000')); DateTime localtime = DateTime.now(); Duration difftime = localtime.difference(time); int timeday = difftime.inDays; int timehour = difftime.inHours; int timemill = difftime.inMinutes; int timesecd = difftime.inSeconds; if (timeday > 0) { timeshow = '$timeday天前'; } else if (timehour > 0) { timeshow = '$timehour小时前'; } else if (timemill > 0) { timeshow = '$timemill分前'; } else if (timesecd > 0) { timeshow = '$timesecd秒前'; } else { timeshow = '刚刚'; } return timeshow; }
2021年12月25日
35 阅读
0 评论
0 点赞
2021-12-23
Dart开发基础:数字类型(num)常用方法
补充:toStringAsFixed(保留位数)一,部分属性用法一(figureA)int figureA = -93;是否为负数print(figureA.isNegative);figureA是否是有限的print(figureA.isFinite);figureA是否正无穷大或负无穷大 print(figureA.isInfinite);用法二(figureB)double figureB = 64.742;返回figureB的符号,-1.0:值小于0、+1.0:值大于0、-0.0/0.0/NaN:值是其本身print(figureB.sign);返回figureB运行时的类型print(figureB.runtimeType);返回figureB的哈希码print(figureB.hashCode);用法三(figureC)int figureC = 13;figureC是否为奇数print(figureC.isOdd);figureC是否为偶数print(figureC.isEven);返回figureC所占存储位print(figureC.bitLength);二,常用方法用法一(figureA)int figureA = -93;返回figureA的绝对值print(figureA.abs());返回figureA的字符串print(figureA.toString());用法二(figureB)double figureB = 64.742;返回figureB的整数值print(figureB.toInt());返回figureB的双精度值print(figureB.toDouble());返回大于figureB的双精度值print(figureB.ceilToDouble());返回小于figureB的双精度值print(figureB.floorToDouble());返回figureB四舍五入的双精度值print(figureB.roundToDouble());返回figureB保留几位小数的字符串print(figureB.toStringAsFixed(2));返回figureB保留几位小数后精确结果的字符串print(figureB.toStringAsPrecision(3));用法三(figureC)int figureC = 31;figureC对比其他整数,0:相同、1:大于、-1:小于print(figureC.compareTo(20));将figureC控制在指定区间的整数print(figureC.clamp(20, 25)); 返回figureC转换成指定基数(进制)的字符串print(figureC.toRadixString(16));用法四(figureD)int figureD = 12;返回figureD与其他整数的最大公约数print(figureD.gcd(18));返回figureDg与其他整数的截取余数print(figureD.remainder(18));返回figureD几次幂值的字符串print(figureD.toStringAsExponential(2));1 abs 返回数字的绝对值。2 ceil 返回不小于该数字的最小整数。3 compareTo 将此与其他数字进行比较。4 floor 返回不大于当前数字的最大整数。5 remainder 除以两个数后,返回截断的余数。6 round 返回最接近当前数字的整数。7 toDouble 返回数字的double等效值。8 toInt 返回数字的int等效值。9 toString 返回数字的字符串等效表示形式。10 truncate 丢弃小数位后返回一个整数。
2021年12月23日
35 阅读
0 评论
0 点赞
1
...
12
13
14
...
18