Anduin Xue
Anduin Xue

Anduin's Tech Blog

All Posts in 2023


C# start a process and get output. (Fix process won't quit issue)

本篇博客主要讲述了如何在C#中启动一个进程并获取其输出。在博客的开始部分,作者分享了一段代码并提出了一个问题:为什么这个测试会一直运行直到超时,而不是正常退出。接着,作者解释了问题的关键在于进程的输出流需要被消耗。如果进程产生了大量的输出,这些输出将会累积在标准输出流中,如果没有程序去读取它,那么这个进程就会陷入无限等待的状态。为了解决这个问题,我们需要不断地读取进程的输出流。 接下来,作者提出了一个修改后的代码,这个代码在等待进程退出的同时,会持续读取进程的输出流。最后,作者通过几个测试案例,验证了修改后的代码的正确性,并且分享了一个可以从Nuget下载的方案。 那么,你是否也遇到过类似的问题?你又是如何解决的呢?这篇博客是否为你提供了一个新的解决方案?如果你对这个话题感兴趣,不妨深入阅读全文,你可能会有更多的收获。--GPT 4

C# git .NET Process

为笔记本安装 Chrome OS

本篇博客详细介绍了如何将 Chrome OS 安装到老设备上,以使其获得新生。文章通过详细的步骤和清晰的图解,向读者展示了如何从选择合适的设备,下载恢复映像,到最后的系统部署和设备测试等一系列过程。Chrome OS 是一个深度魔改的 Linux,它能够运行 Android 和 Linux 应用,而且体验超好,动画美丽,比较安全,几乎很难用坏。文章还介绍了如何在 Chrome OS 上安装 Linux 子系统,以便运行其他应用程序。如果你有一台旧设备,想要尝试新的操作系统,那么这篇博客就是你的绝佳指南。你是否有想过让你的旧设备重获新生?你是否对 Chrome OS 感到好奇?如果是的话,那么为什么不尝试一下呢?--GPT 4


太湖骑行环湖之旅

这篇博客详细规划了一次四天的苏州太湖自行车骑行之旅。旅程从苏州碧桂园云栖隐山开始,经过苏州湾梦幻水世界,最后到达明康汇太湖农业中心,全程约80公里。第二天的行程是从明康汇太湖农业中心出发,途经长兴太湖博物馆,最后到达宜兴太湖阳光度假村,全程约85公里。第三天的行程从宜兴太湖阳光度假村出发,途经宜兴市第五人民医院,最后到达无锡太湖鼋头渚风景区,全程约70公里。最后一天,从无锡太湖鼋头渚风景区出发,经过苏州北太湖旅游度假区,最后返回苏州碧桂园云栖隐山,全程约70公里。每天的行程都精心规划了午餐地点和住宿地点,以及预计的开销。这是一次体验自然风光,享受骑行乐趣的旅程。你是否也想尝试一下这样的旅程呢?你认为这样的旅程是否可行?有没有更好的建议或者改进的地方呢?--GPT 4


挑选合适尺寸的显示器

本篇博客主要讨论了如何挑选合适尺寸的显示器,以及如何计算显示器的PPI(每英寸像素数量)。文章首先解释了PPI的重要性,它决定了显示器的像素密度,影响着显示的文字大小。为了缓解文字过大或过小的问题,用户往往会使用缩放功能,但非整数倍缩放可能导致非矢量内容产生锯齿。因此,合理的挑选显示器,并合理的使用缩放功能非常重要。 文章接下来详细解释了如何挑选显示器,特别强调了显示器的PPI应尽可能是96的整数倍,以便操作系统使用整数缩放。文章还提供了计算显示器尺寸和PPI的C#代码,以及如何使用这些代码来评估显示器缩放比例。 文章最后通过几个实际的显示器例子,如LG OLED 42C2、Surface Studio 2+和Apple Studio Display等,解释了如何通过计算PPI和尺寸来确定最佳的缩放比例。 这篇文章非常适合那些在挑选显示器时感到困惑,或者对显示器的PPI和尺寸有疑问的读者。你是否曾经因为显示器的文字大小不合适而感到困扰?你是否知道如何计算你的显示器的PPI和尺寸?你的显示器是否使用了最佳的缩放比例?阅读全文,你将找到答案。--GPT 4

C# .NET Display Monitor Resolution

Aiursoft 事故调查、分析与总结

本篇博客详细记录了对Aiursoft发生的一次事故的调查、分析和总结过程。在NFS服务器的两块NVME固态都在线,机械硬盘也在线的情况下,发现了两次运行`zfs list -t snapshot`的结果不一致的问题,这引发了作者对数据安全的担忧。通过一系列的探究和实验,作者发现了两个zfs dataset的MOUNTPOINT竟然是同一个目录,这是ZFS不允许的。尽管遇到了无法卸载`/mnt/nvme`的问题,但作者通过重启NFS服务,成功地将两个dataset的MOUNTPOINT改为不同的目录,解决了NFS服务器的问题。 然而,这只是问题的一部分。作者还发现在事故发生时,由于数据中心的HA系统认为系统已经损坏,不停尝试将VM迁移,甚至对ESXI进行了关机,这导致了恢复数据中心时遇到了非常多的问题。经过大约3个小时的修复工作,数据中心最终恢复了正常。 而对于出现这一系列问题的原因,作者通过仔细阅读备份脚本和在试验室运行上述脚本得到了答案。这次事故的调查、分析和总结,不仅解决了问题,也为我们提供了一次深入理解和应对系统故障的机会。那么,你是否已经理解并掌握了这次事故的处理过程和原因呢?--GPT 4


在服务器中部署单独的Docker应用

本文针对在虚拟机(VM)中部署Docker应用的场景进行了详细的讨论。这种场景可能出现在数据中心仍基于VM部署,而某些业务只提供Docker映像的情况下。文章首先讨论了这种混合部署的挑战,包括管理复杂性的提升,以及未来发展方向的确定。然后,文章详细介绍了在VM中安装Docker、确定容器需要穿透的卷、确定端口映射、管理容器和VM、确保容器会随着主机开启、对容器升级以及直接操作容器的方法。文章指出,虽然容器的升级相对容易,但在实际部署中,我们还需要采用一些“笨办法”以确保新版本的容器能正确加载和使用持久化卷,并与之前的版本兼容。最后,文章强调在混合部署中,需要对容器和VM进行分别管理,并需要对容器的持久化卷和端口映射进行规划和管理,以确保系统的稳定性和可靠性。同时,也需要考虑未来的发展方向,逐步向基于容器的部署模式转变。那么,你是否已经准备好在VM中部署Docker应用了呢?--GPT 4

bash Linux Ubuntu Docker VM Container

快速配置 - 无痛让你的所有 Git Commit 都被 GPG 数字签名

这篇博客详细介绍了如何使用 GPG 对 Git Commit 进行数字签名,为了防止他人伪造你的 Commit,提高安全性。首先,介绍了 GPG 签名的原理和作用,然后详细阐述了如何下载并安装 GPG,生成 Key,设置 Git Commit 使用这个 Key,让 GitHub、GitLab 信任你的公钥,并提出了跨设备同步你的 Key 的方法。通过这些步骤,你的 Git Commit 都会显示受信任的,不再会被黑客仿冒。但是,跨设备同步你的 Key 的方法可能会带来安全风险,你需要权衡安全和方便。那么,你是否愿意牺牲一点儿安全来换取方便呢?你会如何选择?--GPT 4

bash git PowerShell SSH Nextcloud Sign GPG

Make Gnome looks like Windows 11

在这篇博客中,我们将探索如何将 Gnome 桌面环境定制成 Windows 11 的外观。这是一种有趣的尝试,可以让我们看到 Linux 桌面环境的强大自定义性,无论是 KDE 还是 Gnome,都可以通过一些简单的设置,让它们看起来像任何一个系统。首先,我们需要安装一些必要的依赖,如 gnome-tweaks 和几个 Gnome 扩展。接着,我们将设置壁纸,选择一个类似于 Windows 11 的壁纸。然后,我们会设置图标和主题,这里推荐的图标方案和主题方案都具有很高的仿真度。最后,我们会设置 Dock to Panel 和 ArcMenu,这两个扩展可以让我们的 Gnome 桌面更像 Windows 11。在这个过程中,我们还会详细介绍每个步骤的具体操作。那么,Linux 桌面环境的自定义性能有多强?我们能否真正做到让 Gnome 看起来像 Windows 11?这就需要你亲自尝试,亲自体验了。--GPT 4

Ubuntu Gnome

简明 LLAMA 体验指南

本篇博客详细介绍了如何使用Meta公司的LLama模型。LLama是Meta公司的一种语言模型,用于实验、创新和扩展想法,可以用于自然语言处理任务,如生成文本、回答问题等。这篇文章分步骤详细介绍了如何准备硬件环境,如何在Meta公司的网站上填写申请表格,如何下载和安装LLama模型。 首先,你需要准备一台有GPU算力的计算机,并在上面安装Nvidia显卡驱动、bash、Python 3.10、Pip、Git、Checksum、wget等工具。然后,你需要在Meta公司的网站上填写申请表格,提交后你将很快收到一封包含下载链接的邮件。接下来,你需要使用git命令克隆LLama模型的仓库,然后运行下载脚本来下载模型。最后,你需要运行pip install命令来安装模型。 这篇文章详细而清晰地介绍了如何使用LLama模型,无论你是初学者还是高级用户,都可以从中获益。然而,这篇文章并没有涉及如何使用LLama模型来完成具体的任务,这可能是你在阅读本文后需要进一步探索的问题。你会如何利用LLama模型来完成你的项目?你会如何管理和降低使用LLama模型的风险?希望你在阅读全文后,能找到这些问题的答案。--GPT 4


Use your own cert to sign your package to identify your code identity.

This blog post offers a comprehensive guide on using a digital certificate to sign code and establish identity in the digital world. It first explains the concept of digital certificates, which are split into public and private keys. The public key is made available online for others to trust, while the private key is used to sign content. The post further elaborates on the subject and friendly name fields in a digital certificate. The subject field contains identity verification information, while the friendly name is an optional field used for easier identification and management of the certificate. For HTTPS certificates, the subject field typically includes the domain name or hostname of the certificate holder, which is crucial for ensuring secure communication. The blog then provides a step-by-step guide on generating a self-signed certificate and obtaining the private key. It also explains how to make the public key trusted by others. By generating a self-signed certificate and...--GPT 4

C# Certificate .NET Windows Sign Digicert Code Sign Signature nuget

Manually Enable Windows RE in an independent partition

This blog post provides a comprehensive guide on how to manually enable Windows RE (Recovery Environment) in an independent partition. It starts by highlighting the importance of having Windows RE enabled, which includes fixing boot-related issues, providing access to the command prompt for troubleshooting, facilitating a clean install of Windows, and reducing the risk of data loss or corruption. The blog then outlines the steps to automatically and manually enable Windows RE, including dealing with potential error messages related to BitLocker Drive Encryption. It also provides a guide on debugging RE and a checklist of other security measures to ensure the reliability of Windows. These include enabling virtualization technology, secure boot, TPM chip, BitLocker, firewall, and UAC. The blog also discusses the optional use of the Unified Write Filter. Will you be able to enable Windows RE manually after reading this? What other measures do you take to ensure the security and reliabilit...--GPT 4

Windows 10 PowerShell Security Windows 11 Bcdedit Windows RE Recovery reagentc Diskpart

Automatically Unlocking LUKS2 Encrypted System Partition Using Clevis and TPM2

This blog post delves into the process of automatically unlocking a LUKS2 encrypted system partition using Clevis and TPM2. To start with, you need to ensure that Secure Boot and TPM are enabled in your BIOS settings. For Secure Boot, you may need to configure your system to trust third-party certificates, which could involve generating a new key pair and certificate for your system, signing your boot loader and kernel with the new key, and enrolling the key in your system's Secure Boot database. The blog proceeds to guide you through the installation of the necessary packages for Clevis, using the command `sudo dnf install clevis clevis-luks clevis-dracut clevis-udisks2 clevis-systemd`. Once installed, the TPM2 key has to be bound to Clevis, which creates a key on the TPM2 chip and binds it to the LUKS2 encrypted system partition. You will be prompted to enter your passkey. The final step involves updating the system files to use Clevis to automatically unlock the system partition...--GPT 4

bash Linux Security LUKS2 Clevis TPM2 TPM

Using ZFS is easy

ZFS is a modern file system with features such as copy-on-write, redirect-on-write, deduplication, and snapshots, making it suitable for large-scale storage and data management scenarios. It operates on the concept of storage pools, where a pool manages disks and provides storage space. Datasets can be created on top of these pools, which don't require allocated space and can utilize the entire storage capacity of the pool. Each dataset is mapped as a directory for file storage and organization. The blog post provides a detailed guide on how to install ZFS, locate your disk, list sets and pools, and manage pools and sets. It also explains how to use the deduplication property to remove redundant data from your ZFS file systems, resulting in only unique data being stored and common components being shared between files. Additionally, the blog post discusses the use of snapshots, which record the state of the file system at a specific point in time. This feature allows for easy resto...--GPT 4

bash Linux Disk ZFS File Sysytem Raid Dedup

让微软的人组装一台电脑究竟会得到什么怪兽?从装机聊到数据中心

本文讨论了专有硬件在游戏设备上的优化潜力,通过对比通用计算设备,阐述了专有硬件在性能、体验和优化方面的优势。文章提到了专有硬件在应用开发、永不崩溃、作弊、省心、反病毒、虚拟化、DMA、硬盘优化、录屏和直播等方面的优化空间,以及如何通过专有硬件实现这些优化。最后,文章以Xbox游戏设备为例,展示了专有硬件在游戏领域的优越性能和体验。总之,专有硬件的优化可以登峰造极,为用户带来更好的性能和体验。--GPT 4

Windows Device Gaming Xbox VBS Hardware Hypervisor

如果要为C919喝彩,你必须先认识运10

C919是中国国产大型客机的代表,具有巨大的市场潜力。然而,在了解C919之前,我们需要认识运10,一款曾经代表中国飞机制造能力的最高水平的飞机。运10诞生于1960年代,当时中国航空工业正面临中苏关系恶化和中美关系改善的时代背景。运10的研发过程充满曲折,最终只生产了两架,其中一架用于静力测试,另一架广泛试飞。运10的失败归根结底还是自己丢了精神,它的故事令人感慨。尽管如此,中国航空人对大飞机的追求从未停止。如今的C919已经取得了初步成绩,未来有望与空客和波音竞争。运10的制高点或许才刚刚突破,中国飞机制造业的未来仍然充满希望。--GPT 4

China Aviation C919 Airplane Airbus

Show .NET code coverage rate and unit test status with GitLab CI\CD pipeline

本文详细介绍了如何使用GitLab CI/CD管道来展示.NET项目的代码覆盖率和单元测试状态。首先,需要确保在你的GitLab实例中有一个.NET项目。然后,在所有单元测试项目中添加coverlet.collector和JunitXml.TestLogger这两个包。接下来,编写C#代码的单元测试,并创建一个包含构建、测试和发布阶段的.gitlab-ci.yml文件。 在构建阶段,使用dotnet build命令进行编译。在测试阶段,使用dotnet test命令进行测试,并收集代码覆盖率信息。同时,使用reportgenerator生成cobertura格式的报告,并从中提取覆盖率数据。最后,在发布阶段,使用dotnet publish命令进行发布,并将生成的nupkg文件保存为构建产物。 通过这样的配置,你可以在GitLab管道运行结束后查看单元测试结果和代码覆盖率数据。此外,在创建pull request时,还可以看到覆盖率信息。最后,别忘了在Readme.md文件中添加一个代码覆盖率徽章! 本文为你提供了一个完整的示例,帮助你更好地理解如何在GitLab CI/CD管道中展示.NET项目的代码覆盖率和单元测试状态。那么,在你的项目中,如何利用这些技巧来提高代码质量和测试覆盖率呢?--GPT 4

.NET Test Code coverage Continuous Integration GitLab junit YAML

城市天际线 - 解决常见问题

在《城市天际线》这款游戏中,"受教育的工人不足"是一个常见且让玩家困扰的问题。本文针对这一问题,提出了几个解决方案。首先,治理交通拥堵,通过修建高架、规划地铁、安排公交等方式改善交通状况。其次,加强教育,通过实施“加强教育”政策、增加教育经费和修建学校等方式提高本土居民的教育水平。再者,提升城市吸引力,通过修建娱乐场所、公园、景区等吸引外地大学生来就业。此外,调整居住区和商业区的比例,保证足够的居民能够为商业区提供足够的工人。最后,耐心等待居民提高学历,观察教育页面,确保所有居民都已经从学校毕业。 除了“受教育的工人不足”问题,本文还探讨了如何解决地价过低和可供出售的商品不足的问题。对于地价过低,同样需要治理交通拥堵,同时优化基础设施,确保供电、供水、垃圾处理等方面都完善建立。对于可供出售的商品不足,除了治理交通拥堵外,还需要注意修建足够的工业区和货运火车站、港口,以保证商品的生产和运输。 那么,如何在游戏中平衡城市发展和居民需求?在解决这些问题的过程中,我们是否能从中得到现实生活中城市规划的启示?希望通过阅读本文,玩家们能够在游戏中更好地应对这些问题,同时也能在现实生活中对城市规划有更深的理解。--GPT 4


Common SMTP settings to Office 365 to send Emails

本篇博客主要讲述了如何使用Office 365的SMTP设置为不同的开源软件配置电子邮件发送功能。文章分别介绍了如何为Gitea、GitLab、Mastodon、Nextcloud和Azure DevOps配置SMTP设置。 在Gitea部分,作者提供了一个配置文件示例,展示了如何在`/etc/gitea/app.ini`文件中设置SMTP相关参数。配置包括启用邮件发送功能、设置SMTP服务器地址、端口、用户名、密码等信息。 对于GitLab,作者给出了一个Ruby配置代码片段,展示了如何在`/etc/gitlab/gitlab.rb`文件中配置SMTP。配置内容与Gitea类似,包括服务器地址、端口、用户名、密码等信息,同时还包括了启用TLS等设置。 在Mastodon部分,作者展示了如何在`/home/mastodon/live/.env.production`文件中设置SMTP。配置内容与前两者类似,包括服务器地址、端口、用户名、密码等信息。 对于Nextcloud,作者首先提醒读者打开管理员设置页面,然后展示了如何在网页界面上配置SMTP。配置内容与前述软件类似,包括服务器地址、端口、用户名、密码等信息,并给出了禁用TLS的建议。 最后,作者为Azure DevOps提供了一张配置SMTP的截图,展示了如何在Azure DevOps的网页界面上配置SMTP。配置内容与前述软件类似,包括服务器地址、端口、用户名、密码等信息。 通过本篇博客,读者可以了解如何为不同的开源软件配置Office 365的SMTP设置,从而使这些软件具备发送电子邮件的功能。在实际操作中,读者可能需要根据自己的需求调整配置参数。同时,如果在配置过程中遇到问题,尝试更改TLS设置可能会有所帮助。在实际应用中,你是否遇到过类似的配置需求?在解决问题时,你是否有其他的经验和建议?--GPT 4

Microsoft 365 Mastodon GitLab Gitea SMTP Office365 Exchange

Install GitLab behind a reverse proxy on a Ubuntu 20.04\22.04 server

本篇博客详细介绍了如何在Ubuntu 20.04/22.04服务器上安装GitLab,并将其部署在反向代理之后。首先,博客讲述了如何安装和配置GitLab,接着演示了如何配置Nginx作为反向代理。为了解决SSH端口冲突的问题,文章还讨论了如何在GitLab服务器上使用2202端口作为克隆端口,并在代理服务器上进行端口转发。此外,博客还介绍了如何为GitLab实例添加运行器,并提供了一个示例项目,用于测试运行器的功能。最后,博客提供了一个完整的`.gitlab-ci.yml`配置文件示例,用于实现项目的构建、代码分析、测试和发布等任务。 在阅读本篇博客后,您将了解如何在Ubuntu服务器上部署GitLab,并配置反向代理以实现安全的访问。同时,您还可以借助本文提供的示例项目和`.gitlab-ci.yml`配置文件,快速实现项目的自动化构建和测试。在实践中,您可能需要根据自己的需求对配置进行调整,以满足不同的项目类型和技术栈。 那么,在配置GitLab和反向代理的过程中,可能会遇到哪些问题?如何确保GitLab运行器能够正确地执行任务?如何根据项目需求定制`.gitlab-ci.yml`配置文件?阅读全文,自己找到答案吧!--GPT 4

bash git Linux Ubuntu Proxy SSH Caddy GitLab nginx

How to install CUDA and cuDNN on Ubuntu 22.04 and test if its installed successfully

本篇博客详细介绍了如何在Ubuntu 22.04上安装CUDA和cuDNN,并测试它们是否安装成功。首先,博客提供了安装CUDA的下载链接以及具体的安装步骤。接下来,博客提供了安装cuDNN的下载链接和详细的安装步骤。文章还介绍了如何确认驱动程序是否已安装,以及如何检查CUDA和cuDNN是否已安装。 为了测试CUDA是否安装成功,博客提供了一个简单的“Hello CUDA”程序,并展示了如何编译和运行它。同样,博客也展示了如何测试cuDNN是否安装成功,通过运行一个简单的示例程序。 在阅读本篇博客后,读者应该能够顺利地在Ubuntu 22.04上安装CUDA和cuDNN,并确保它们已成功安装。此外,本文还提供了一些有用的命令来检查驱动程序、CUDA和cuDNN的安装状态和版本信息。 最后,你是否知道如何在自己的Ubuntu系统上安装CUDA和cuDNN?如何确保它们已成功安装并运行?阅读全文以获取详细的操作步骤和示例代码。--GPT 4

Ubuntu NVIDIA vGPU CUDA cuDNN GPU

让你的数据中心使用 GPU 算力!

本文介绍了如何在数据中心中使用 GPU 算力。首先,文章详细描述了安装并配置 NVIDIA Grid 驱动的过程,包括修改配置文件、添加许可等。接着,介绍了如何安装 CUDA,并给出了一些注意事项。文章还讨论了如何确保虚拟机可以在主机之间平滑迁移,并给出了在 VCenter Server 中开启迁移的方法。此外,文章提及了如何划分 SKU,以便提前规划每个物理 GPU 的切分方式。最后,文章介绍了如何开始炼丹,包括安装 cuDNN、使用 GPU 进行硬件加速编码以及运行 AI 应用。文章还提供了一些监控温度的方法,以便在家中服务器降低噪音。如果遇到问题,文章给出了一些建议和检查事项。那么,在这个过程中,哪些因素可能会影响 GPU 算力的使用?如何确保充分利用 GPU 算力以提高数据中心的性能?--GPT 4

Ubuntu VMware Vsphere Server NVIDIA Ai vGPU Python Tesla CUDA

自己独立运营一个面向你的朋友的 AI 绘画系统(基于 Stable Diffusion)

本篇博客介绍了如何独立运营一个面向朋友的AI绘画系统,基于Stable Diffusion。文章首先建议限制某些功能,以避免暴露给朋友的任意Prompt填写导致的潜在危险。接下来,博客详细介绍了如何编辑`ui-config.json`文件来限制Stable Diffusion画色图的功能,并提供了一份示例配置。 文章还建议编辑`user.css`文件,隐藏一些可能让人困惑的按钮,提供了相应的CSS代码。最后,博客介绍了如何使用FRPC和Caddy将Stable Diffusion暴露到公网,并使用加密通信。文章给出了一个搭建成功的示例网址,并提供了FRP和Caddy的使用教程链接。 在阅读本文后,你是否对如何独立运营一个面向朋友的AI绘画系统有了更清晰的认识?如何确保系统的安全性和用户体验?如何将本地服务暴露到公网并保证通信安全?希望这篇博客能为你提供启发和帮助。--GPT 4

Web Server Tune Stable Diffusion Ai Self hosting

在2023年学习传统软件开发技巧还有意义吗?

在2023年,AI技术的飞速发展让人们纷纷质疑传统软件开发技巧的价值。本文探讨了AI在软件工程中的应用,以及学习传统软件开发技巧的意义。尽管AI可以提高开发效率,甚至取代某些工具,但学习传统软件工程仍然具有重要意义。正如汇编语言为我们理解计算机底层原理提供了基石,传统软件工程也是未来基于AI的软件工程的基础。 对于计算机专业的学生,适应AI辅助软件工程的同时,也应该学习传统技术。未来工程师的要求将更高,需要全面了解硬件、电路、操作系统、面向过程、类、依赖注入、组件、包、接口以及AI等方面的知识。因此,建议将70%的精力放在AI相关领域,20%的精力放在传统软件工程,10%的精力放在考古技术上。这样的学习分配将有助于应对未来软件工程领域的挑战,提升个人竞争力。那么,在AI时代,你准备如何分配你的学习重心呢?--GPT 4


全面了解 HDR!

本篇博客详细讨论了HDR(高动态范围)技术的概念、应用和发展趋势。HDR技术能够提供更广泛的亮度范围和丰富的色彩,从而呈现更加逼真的图像。文章介绍了HDR图片的元数据信息,如色彩空间、色深和亮度范围等方面。此外,还探讨了HDR图片的存储格式、编辑方法以及如何在专业图像编辑软件中绘制HDR色彩。文章还介绍了HDR显示器的不同级别(如HDR400、HDR600、HDR1000)以及HDR10视频格式。在软件开发方面,讨论了哪些类型的桌面应用需要考虑显示HDR内容,以及开发者如何开发一个显示HDR内容的桌面应用。最后,文章展望了未来sRGB颜色空间可能被HDR技术取代的可能性,并指出色域和动态范围是两个不同的概念。在未来,随着技术的进步,HDR技术可能会成为显示设备的标准配置。那么,是否有可能在未来完全放弃sRGB颜色空间?HDR技术将如何影响我们日常使用的软件和设备?--GPT 4

HDR Display RGB

Remove the Bing button from Edge

本篇博客主要讲述了如何在Microsoft Edge浏览器中移除Bing按钮、禁用圆角和禁用头像功能。首先,通过运行具有管理员权限的PowerShell命令来移除Bing按钮。接着,打开edge://policy/页面,按照博客中的步骤操作即可。接下来,禁用圆角功能需要访问edge://flags/页面,分别禁用两个选项,然后重启Edge浏览器,传统的标签页样式便会回归。最后,访问edge://flags页面,将指定选项设置为禁用,即可关闭头像功能。 本文详细阐述了如何自定义Edge浏览器的外观,让其更符合个人使用习惯。在阅读本文后,你是否也想尝试调整自己的浏览器设置呢?此外,还有哪些浏览器功能可以通过类似方法进行调整?希望本文能够帮助你找到答案。--GPT 4

PowerShell Edge Bing

Some Windows PowerShell tricks

在这篇博客中,我们探讨了一些在Windows上运行的PowerShell技巧。文章包括了如何添加路径到系统PATH环境变量、检查是否以管理员身份运行、清理无用的环境变量'PATH'、查找当前壁纸(幻灯片模式)、设置壁纸、触发商店升级所有应用、将路径固定到快速访问以及递归搜索用户主目录中以“.”开头的项目并将其设置为隐藏等技巧。 通过阅读这篇博客,你将了解到如何利用PowerShell脚本简化和优化你的Windows操作。文章中的代码示例将帮助你更好地理解如何在实际应用中使用这些技巧。此外,你还可以思考如何将这些技巧应用到自己的项目中,以提高工作效率和优化系统设置。 那么,在实际操作中,你还会遇到哪些需要PowerShell技巧来解决的问题呢?有没有其他实用的PowerShell脚本可以分享?阅读全文以发掘更多可能性。--GPT 4


我的电脑的超频过程 - 发挥出硬件的全部性能

本篇博客详细介绍了如何发挥电脑硬件的全部性能,包括硬盘调整、游戏设置优化、显示器设置等方面。首先,使用CrystalDiskMark和HDTune Pro对硬盘进行测试,确保硬盘性能达到最佳状态。接着,针对游戏中可能遇到的各种瓶颈问题(如显存、CPU、GPU瓶颈等),提出相应的解决方案,如调整游戏设置、开启DLSS等。此外,还讨论了如何根据游戏需求选择不同的渲染引擎(DirectX、Vulkan、OpenGL)。最后,重点介绍了显示器设置的调整,包括使用专业校色仪、调整HDR模式下的SDR内容亮度、开启HDR等,以提高游戏画面质量和观感。在优化硬件性能的过程中,你是否遇到过类似的问题?如何解决这些问题以提高游戏体验?--GPT 4

Windows NVIDIA Geforce Intel Tune Turbo ASUS

简要买房指南(无中介)

在这篇博客中,作者详细介绍了购买二手房的全过程,包括了解市场行情和政策、确定购买房子、选择贷款银行、签订初步合同、办理网签、办理银行卡、办理资金托管、支付首付款、准备商业贷款材料、申请贷款、过户房产、提取公积金、寄送不动产登记证明给银行以及检查银行卡流水等步骤。这篇指南为购房者提供了详细的操作步骤和注意事项,帮助购房者在不需要中介的情况下顺利完成购房过程。 在阅读这篇博客后,你会更了解购房的各个环节和注意事项,能够更好地为购房做准备。同时,这篇指南还提供了一些实用的技巧和建议,如如何选择贷款银行、如何办理资金托管和如何避免违约等。那么,在购房过程中,你是否有遇到过类似的问题?这篇指南是否能为你解决实际问题?在购房过程中,你还有哪些疑问和困惑?欢迎阅读全文,寻找答案。--GPT 4


存储、计算、显示分离的游戏体验

本文探讨了存储、计算和显示分离的游戏体验。通常,大多数人会在家里组装一台电脑来满足游戏需求,但这种方法存在一些缺点。本文详细分析了这些缺点,并提出了一种新的解决方案,即将存储、计算和显示分离。 文章首先指出,多台设备意味着需要在每台设备上重复安装游戏,而且不同设备之间的性能可能不同,导致游戏体验也截然不同。因此,作者提出了将存储、计算和显示分离的方法。这样,可以让存储设备承担游戏数据的存储,让游戏主机负责游戏的渲染和计算,再让平板、手机负责游戏画面的展示。 文章接着讨论了实现这种分离的具体方法。首先,需要准备一个存储设备,可以选择自己搭建NAS或购买一台群晖。其次,计算设备和平时的游戏电脑没有太大区别,只是不需要安装太大的硬盘。最后,显示设备可以选择iPad或安卓平板,并使用Moonlight这样的应用来实现游戏画面的串流。 为了实现存储与计算分离,需要选择合适的通信协议。作者推荐使用ISCSI、NFS或SMB。如果遇到某些游戏无法识别远程路径的问题,可以尝试在远程路径上创建一个VHDX文件,然后挂载为本地硬盘。 总之,通过将存储、计算和显示分离,可以充分发挥每个设备的优势,实现在不同设备上的优质游戏体验。这种方法可以解决传统游戏设备无法满足多设备需求的问题,让游戏体验更加丰富和便捷。那么,你是否会尝试这种新的游戏体验呢?--GPT 4

Game Storage Disk Gaming NVIDIA Steam

UWP 一个技术上成功但商业上失败的框架之死;一个现代的操作系统究竟应该提供什么?

本文探讨了UWP(通用Windows平台)框架的技术优势与商业失败。UWP框架解决了许多Windows操作系统面临的问题,如应用商店、版本管理、依赖管理、存储空间管理、自动更新等。然而,尽管技术上表现出色,UWP在商业上却未能取得成功,原因包括:市场份额丧失、应用质量不高、开发难度较大等。 在现实中,UWP已经失去了市场竞争力,许多开发者和用户放弃了这个框架。微软自家的UWP应用质量也不高,功能稀缺,导致用户对UWP的印象普遍不佳。此外,开发一个UWP应用的难度并不低,许多开发者更愿意选择其他框架。 总之,尽管UWP在技术上具有诸多优势,但由于商业上的失败,它已经失去了生存的希望。新的开发框架MAUI正在崛起,但它放弃了UWP的优点,回归了Win32的开发模式。这让人不禁思考,未来的应用是否还会面临类似UWP的命运。--GPT 4

C# Microsoft Windows Microsoft Store UWP