去windows去PC,打造for程序员的碎片化programming pad硬件选型

本文涉及的产品
文件存储 NAS,50GB 3个月
简介: 本文关键字:混合,多合一OS,封闭应用,有限应用机器。程序员的硬件选型,程序员的7寸umpc programming pad,移动编程机器

本文关键字:混合,多合一OS,封闭应用,有限应用机器。程序员的硬件选型,程序员的7寸umpc programming pad,移动编程机器

在前面我们谈到nas与chromebook的绝配,一个是webos,一个是web client os,群晖中的docker不但用于开发,运行,和devops,甚至可以用于”新式装机“,比如群晖中有lxqt,qnap中有多种guest os,他们大都基于docker技术或相似技术,如果说webos总是出现在host/guest os的组合中使server OSs能做到不断融合和generic,,那么作为客户端OS的chromeOS+chromebook,也有类似这样的演化方向么。

chromebook with fydeos PC选型:去windows,去PC

这个是有的,fydeos即是这样一种host chromeos与guest andriod,linux,windows混合的定制版,fydeos也是用类docker技术实现的三种OS混合,它的基础是google的Crostini,当然,可以用,和用得舒服自然,这二者的差别可以是一个天,一个地,fydeos能运行andriod和linux的能力是很彼此相关的,因为他们都是linux系,可是运行windows程序需要借助docker wine化的codewears公司的crossover层,实际效果只能是勉强带起,很不令人满意,这里面需要太多工作需要填充业界还没极尽完善 ------ 但不论如何,第一次,当这些生产环境能第一次结合,且真正第一次能证明能协调工作时,这是一个伟大的进程。

为什么这么说呢?从《除了linux,我们有第二种开源OS吗》一文开始,我们就在探求一种能实际用于生产环境的多OS实现选型,就像我们在选型多语言系统一样 ------ 我们的实际需求有可能是这样:我们刻意去windows,去PC,理想将一直只工作在某linux下,但经常或偶尔地,我们需要windows下面某个zip程序,办公需要wps生产力环境,至于游戏嘛。。就算了,我们只是先想得一个这样的办公生产工具,以上有限几个程序最好都暂时能工作在这个linux中,而又不想总是依赖一个windows pc设备-----未来,PC,windows和这些有限的windows app都在我们要淘汰的设备和app之列。

然而,在windows下融合linux较容易(colinux,win wsl)反之这个过程却难多了。业界努力多年,但这二种APP一直不能以自然的方式共处,并得于实用。----- 一般地,做win+linux混合os方案或混合应用的,首先想到的就是从kernel层着手,像龙井系列,也有从subsystem着手的,像win10 wsl,colinux,也有从应用层着手的,像virutalbox,也有从api层着手模拟的像cygwin,wine,这些都带来了超多的工作量,都是因为OS从入口处就分别过大,而APP构筑于OS kernel的生态之下,仅想模拟app绕过kernel是不现实的,或者说是非常困难的,------ 设想下从kernel层着手,只能使用内核调用层的翻译技术来使二个系统生态相处,打破了windows kernel内核本来就具有生态封闭的特点(虽然有开源reactos,但它本身发展未演示进beta),强行揉合和翻译内核调用会带来超多的工作量。如龙井就是这样。windows本来就kernel和app不易剥离,想要集成更是难上更难。除非真采用为fake一点的方案。

这样的退而求其次的方法就是wine,加上容器技术,它可以用相对不原生的方法从APP层开始,这个时候性能考虑已经不重要了。通过使用crossover,fydeos终于可以第一次勉强把这些放到一台机器中。

程序员的新硬件选型:移动端a programming pad

在前面的文章中我们谈到nas与chromeos绝配时,视chromebook,pc,smartphone为nas的集散型结构的三端,并有利用七村小本加vim打造程序员的programmingpad想法,这一切的考虑都是为了向程序员-这个特殊的群体倾倒,毕竟,除了一个nas as mineportal,程序员依赖以上终端的日常实际上很典型:追求高效输入,碎片化文字创作或代码调试的人群,这cover了好多人使用终端的场景。

硬件选型上,当一个现代程序员的装备越来越碎片化,越来越自动化,那么其需配备的终端的演化方向又将如何呢,

access box:

在选型群晖或qnap时,我们总是要谈到ip盒子,frp这样的东西,因为一个mineportal必须首先是个mineaccess serverbox,access server的作用在于,它可以为应用准备一个access point和私网路由接入逻辑,使mineportal变真正的内网盒子。内网云。ip盒子的微道维系的口号是私人云接入商。而oray的蒲公英更接近这个概念。蒲公英就是一个带oray官方vpn线路和组网逻辑的路由器,排除这个他就是普通路由器,围绕mineportal的大部分应用都是内网应用,大都基于局域网ip ,如群晖的摄像头,如控制开机,如监控,或许我们还需要远程访问,但并不需要一个公网对外服务。这个VPN就可以。蒲公英X3附送的免费组网,一台路由器下可挂3个成员可以是路由器也可以是普通客户端,Oray的产品刚好弥补了一个类阿里云ecs云主机除了服务器本身之外所需要的远控,域名,外网服务,但实际上有了蒲公英,我们并不需要花生壳,向日葵,局域网控制也可用纯软件实现。。

除此之外,程序员还需要一个特殊的代码终端:

programming pad:

普通的PC太大,现在的手机全是触屏,实际上有时输入并不自然。程序员在地铁上这些碎片化场合无论用PC还是mobile,平板,都是极为不便的,以前有人试过有pocketchip,gemini pda,gpdwin,一号本,onebook我也试过,但是甚至gemini pad,gpdwin也是不好的方案,除了7寸键盘本身有点大之外,gemini的键盘设计得很好,然而实际上跟gpdwin一样它设置成桌面式放置并不是长时间手持防累的,这是smartphone和PDA的领域。而后二者要么没有实体键盘,要么尺寸不够6寸----对,我觉得能快速输入用的手机最大只能是6寸的而并非7寸的。

我最终选定的是黑莓的keyone,keyone2,priv实体键盘安卓系列。

实际上这样一个programming pad对硬件有要求,对软件也有假设和要求。

devops下的programmingpad ide

如果选定在一台6寸物理键盘的手机上,那么打造programming pad的最终的想法。除了与我在前面讲到的一系列其它软件上的选型相关,它应该还应有以下几个考虑:

programmingpad终端的OS不要求是windows,不要求是chromebook,可以是单andriod。它只要装上普通的APP端与远端的服务端设施配合工作即可。这个服务端必须是一个devops,它负责反聩程序员高速输入和调试源码的远端反应,谈到devops,我们在《docker as engitor》讲过,在《群晖docker上安装gitlab as mydockerbox,mysnippterhosting》时我们谈到安装了gitlab的群晖dockerbox也是devbox,因为它支持devops。其实本地也有devops,像cpp的sandstorm用的那套ekam,https://github.com/capnproto/ekam,甚至在jupyter中也有,如基于jupyterhub多人版的jupyter实现的mybinder.org中,利用了docker打造了一个ide和类似gitlab webide的环境。

这一切都是因为devops的基础,都是engitor需要讲到,需要以此为基础构建的东西,所以该有的,除了他们各自内部的不同,其它他们该有的,都会有。

然而就是上面谈到的那个APP的要求了,它显而易见应是个liveide,然而与普通的liveide相比,它应该也是特制版的,比如它要受屏幕限制,因为工作面积小,碎片化时间短,它还要更“智能”,比如像个对话机器人式反馈结果,当然通常情况下,它只是一个配备了vim的更好用的代码编辑器,或一个更形象可观的可视化的IDE,更或者,他们的组合 --- 比如像ellie一样的就好,见我以前文章。

设想一下,如果是jupyter devops下的ide,它应该是mybinder.org一样,有源码归类的树形目录,有远程docker连接调试,如果是gitlab下的,就是那个web ide。还可以像ellie一样分成三屏,在手机上,或6寸umpc上,滑动卷屏,随时查看源码,html显示,程序运行demo和debug。。。


全linux的组合可以作为生产工具(一个nas,几个终端)。对于封装的个人云应用,我们交付的服务端,以及是终端。什么是封装的私人应用呢?那就是有一个mineaccessbox的,以mineportalbox为运行环境,可以programmingpad终端上运行其APP且调试的组合。

关注我,关注"shaolonglee公号"


(此处不设回复,扫码到微信参与留言,或直接点击到原文)

qrcode.png

相关实践学习
基于ECS和NAS搭建个人网盘
本场景主要介绍如何基于ECS和NAS快速搭建个人网盘。
阿里云文件存储 NAS 使用教程
阿里云文件存储(Network Attached Storage,简称NAS)是面向阿里云ECS实例、HPC和Docker的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。 产品详情:https://www.aliyun.com/product/nas
相关文章
|
6月前
|
Linux Shell Windows
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
410 0
|
13天前
|
Web App开发 Windows
Windows 记录一次磁盘相关的PC卡顿问题
【10月更文挑战第26天】本文记录了一次Windows系统中因磁盘问题导致的PC卡顿现象及其解决过程。通过查看任务管理器发现磁盘使用率高,经磁盘碎片整理、优化启动项与后台程序、更新磁盘驱动等步骤,最终解决了卡顿问题。建议定期进行磁盘维护,合理管理启动项,及时更新驱动以预防类似问题。
|
13天前
|
存储 Windows
Windows 记录一次磁盘相关的PC卡顿问题
【10月更文挑战第25天】本文记录了一次 Windows 10 电脑卡顿问题的排查与解决过程。通过资源监视器、事件查看器、SMART 信息检查、磁盘扫描、后台程序排查、驱动更新等步骤,最终通过磁盘碎片整理和调整虚拟内存设置解决了卡顿问题。文章还提供了定期磁盘维护、合理设置虚拟内存及关注硬件健康的预防措施。
|
Linux 数据安全/隐私保护 Windows
AES在windows下正常加解密,Linux下加密正常,解密异常(javax.crypto.BadPaddingException: pad block co
AES在windows下正常加解密,Linux下加密正常,解密异常(javax.crypto.BadPaddingException: pad block co
184 1
|
存储 数据可视化 中间件
操作系统和高级编程语言时硬件抽象化及Windows操作系统的特征
操作系统和高级编程语言时硬件抽象化及Windows操作系统的特征
119 0
操作系统和高级编程语言时硬件抽象化及Windows操作系统的特征
|
程序员 Windows
Windows10 程序员十大常用高效的软件
Windows10 程序员十大常用高效的软件
230 0
|
Windows
电脑故障由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备. (代码 19)
电脑故障由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备. (代码 19)
1422 0
|
安全 程序员 虚拟化
【Windows核心编程+第一个内核程序】爆肝120小时整理-80%程序员最欠缺的能力,一半以上研究生毕业了还不懂?理解各种深度技术的基本功
【Windows核心编程+第一个内核程序】爆肝120小时整理-80%程序员最欠缺的能力,一半以上研究生毕业了还不懂?理解各种深度技术的基本功
111 0
【Windows核心编程+第一个内核程序】爆肝120小时整理-80%程序员最欠缺的能力,一半以上研究生毕业了还不懂?理解各种深度技术的基本功
成功解决⑧NVIDIA安装程序无法继续 此NVIDL驱动程序与此Windows版本不兼容。 此图形驱动程序无法找到兼吝的图形硬件。
成功解决⑧NVIDIA安装程序无法继续 此NVIDL驱动程序与此Windows版本不兼容。 此图形驱动程序无法找到兼吝的图形硬件。
成功解决⑧NVIDIA安装程序无法继续 此NVIDL驱动程序与此Windows版本不兼容。 此图形驱动程序无法找到兼吝的图形硬件。
|
机器学习/深度学习 安全 Java
微软解释 Windows 11 为何强制 TPM 2.0 硬件支持;华为 P50 标准版规格曝光 | 思否周刊
微软解释 Windows 11 为何强制 TPM 2.0 硬件支持;华为 P50 标准版规格曝光 | 思否周刊
304 0
微软解释 Windows 11 为何强制 TPM 2.0 硬件支持;华为 P50 标准版规格曝光 | 思否周刊