duangsuse::Echo
583 subscribers
4.12K photos
118 videos
579 files
6.13K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
#build #sysadmin http://spek.cc/

Spek 简易频谱分析仪的老版本

编译时需要修改以下代码:

src/spek-audio.cc

get_frame_defaults 改成 av_frame_unref

avcodec_alloc_frame
改成 av_frame_alloc
avcodec_free_frame
改成 av_frame_free

编译代码:

aclocal; autoconf; automake --add-missing
CXXFLAGS=-fPIC ./configure --with-wx-config=wx-config-2.0
#Lua #build #sysadmin

刚才我编译 32 位的 Lua(为了测试正确性)

有 multilib 的话直接给 CFLAGS 和 LDFLAGS 加上 -m32 即可
可是说 ld 找不到 -lreadline...
我临时的解决方案是不使用 -lreadline,找到 relocable 后手动添加 file /usr/lib/libreadline.so.7.0

编译成功
#build #sysadmin 安装 VBox,黑人问号 只好 --nodeps
APP_ABI := x86 armeabi-v7a arm64-v8a x86_64
APP_PLATFORM := android-14
APP_BUILD_SCRIPT := Android.mk

LOCAL_PATH := $(call my-dir)
include $(CLEAN_VARS)

LOCAL_CFLAGS := -Wall -Werror -std=c99 -lto -O3 -fno-stack-protector $(EXTRA_FLAGS)
LOCAL_MODULE := e2immutable
LOCAL_MODULE_FILENAME := libe2im.so
LOCAL_SRC_FILES := e2immutable.c

LOCAL_BUILD_SCRIPT := BUILD_EXECUTABLE
LOCAL_MAKEFILE := $(local-makefile)

my := TARGET_

$(call handle-module-built)

LOCAL_MODULE_CLASS := EXECUTABLE
include $(BUILD_SYSTEM)/build-module.mk

#Native #Build 难记... 所以我每次都从某些模板创建这种文件,然后去查 NDK 的文档,这么多宏、变量根本记不住。
然而能写出来依然觉得好大佬啊(迫真

下面是 CMakeLists.txt 的一个栗子,比上面的好记(暴论)

cmake_minimum_required(VERSION 3.6)
project(jni)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(BUILD_USE_64BITS on)

set(SOURCE_TEMPLATES)
set(SOURCE_FILES WinAPI.cpp)
set(SOURCE_HEADERS WinAPI.h)

# add_executable(jni ${SOURCE_FILES})
add_library(
jni SHARED
${SOURCE_FILES}
${SOURCE_TEMPLATES}
${SOURCE_HEADERS})

target_link_libraries(jni)
#Android #Java #build 这样 debugImplementation 就可以 Class.forName 执行 <clinit> 了么
#Android https://tttttt.me/AndroidDevCn/181472 #GUI
https://tttttt.me/AndroidDevCn/181545 #Java bitmap decode
https://tttttt.me/AndroidDevCn/181551 #build Gradle

override 生命周期 来判断应用是否在前台挺好啊🤔 感觉有点像注册 keyup,keydown 来维护整个键盘状态一样,很直白而且节省,谁用谁监听呗
#build https://paste.ubuntu.com/p/xbfhXZscvw/ 草,就用 IDEA 的模板 maven kotlin 项目了…… 感觉还挺快的,唉,暂时抛了 Gradle 了,但 Kotlin compiler 还是最新 1.4
用的阿里云 mirror ,不用编译器 40M jar 啊

Maven 连 coordinates 都不支持,XML 真的太长了,写个 mvng 脚本显然是增量更新项目xml 也要能做到了,最开始说好20行内呢,唉…… 😩 #Python
duangsuse::Echo
#build https://paste.ubuntu.com/p/xbfhXZscvw/ 草,就用 IDEA 的模板 maven kotlin 项目了…… 感觉还挺快的,唉,暂时抛了 Gradle 了,但 Kotlin compiler 还是最新 1.4 用的阿里云 mirror ,不用编译器 40M jar 啊 Maven 连 coordinates 都不支持,XML 真的太长了,写个 mvng 脚本显然是增量更新项目xml 也要能做到了,最开始说好20行内呢,唉…… 😩 #Python
#Java #build 😫 结论:体验极差 凸显Gradle 优点 https://bintray.com/fork-handles/maven/forkhandles-bom 不能把 repository 放 pom 里,必须在 settings.xml 里写成 profile 形式... 显然多 repo 就极其不方便,BinTray 的发布又是单用户单命名空间形式,显然是一个 dep 要加一项,许多项目并没有提供用户 settings.xml,而 BOM(base pom) 依然需要加源后下载! Java 的库发布实在是让人无话可说
#build https://github.com/stevenjoezhang/fractal-tree/ #bash fix instruction
git clone https://github.com/stevenjoezhang/fractal-tree &&cd fractal-tree
npm install
sed 's/script src="js\/bundle.js"/\0 type="module"/' -i public/index.html
pushd src/js/ &&sed "s/'Three/'three/g" -i environment.js -i index.js -i tree.js
popd
npm start # 会自动 npm run build-dev 输出 public/js/bundle.js
#linux #Learn #Java #math #build #bash fix for Desoms (Kt, Java:Algebra)
1. Java Desmos 求解后端
git clone https://github.com/galbar07/Desmos.git DesmosJ &&cd DesmosJ
sed 's/import org.junit.jupiter.api.BeforeEach;//;s/@BeforeEach//;' -i tests/Functions_GUITest.java
javac -cp `ls JAR/gson-*.jar`:`ls ~/.m2/repository/junit/junit/4.0/junit-*.jar` ex1/*.java tests/Functions_GUITest.java
java -cp . ex1.StdDraw
#java -cp ".:`ls JAR -m|sed 's/, /:/g'`" tests.Functions_GUITest
java -cp `find JAR -type f -printf '%p:'`. tests.Functions_GUITest
因为 mvng 没有写完不能用脚本生成 POM 修复了 emm ,当然有 IDE 就能直接用(不过这年头 只会用 IDE 建项目 对细节一无所知的人真的有创造力吗 😑

2. Kotlin Desmos 简单重写
手动复制粘贴 https://paste.ubuntu.com/p/Q4DnzrZ37Z/ 或(源地址)到 Window.kt ,因为 国内 #China 许多地方不仅 #GitHub raw 连 pastebin 都连不上 🌚🌝 #freedom
mvn archetype:help
#mkdir DesmosKt &&cd DesmosKt
#mvn archetype:generate -DgroupId=com.example - DartifactId=desmos -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

mvn archetype:generate -DgroupId=me.nanjingchj -DartifactId=DesmosKt -DarchetypeArtifactId=kotlin-archetype-jvm -DarchetypeGroupId=org.jetbrains.kotlin -DarchetypeVersion=1.4.21 -DinteractiveMode=false
cd DesmosKt
mkdir -p src/main/kotlin/me/nanjingchj/desmos/
cat>`find -type d -name desmos`/Window.kt
mvnDeps=`python -c 'from lxml import etree,builder; s="org.mariuszgromada.math:MathParser.org-mXparser:4.4.2";E=builder.E;e=E("dependency", *(E(k, v) for v,k in zip(s.split(":"), "groupId artifactId version".split(" ")))); print(etree.tostring(e).decode())'`
sed "38i\ ${mvnDeps}" -i pom.xml
echo 'object Main{@JvmStatic fun main(vararg a:String){System.setProperty("sun.java2d.opengl","True"); me.nanjingchj.desmos.Window()} }'>`find -type d -name kotlin|head -n1`/Main.kt


然后 mvn package exec:java -Dexec.mainClass=Main 即可
感觉 maven 依赖这么多插件 archetype, install, exec 完成日常任务,有点不平衡吧……
此外还看到了生成本地文件依赖的 Maven #doc https://stackoverflow.com/questions/6704813/maven-generating-pom-file mvn install:install-file

#parser https://github.com/mariuszgromada/MathParser.org-mXparser 我草这玩意又不支持逆向计算,有啥好吹的
还夸张地弄了那么多图,太那啥了
http://scalarmath.org/wp-content/uploads/2019/01/scalar-promo-screens.png 弄个心型函数还要用户自己推导正向公式, 就凭这? 一个 evaluator 和 Python, JS eval 之类的东西有什么区别
不愧是 Java EE 搞出来的混乱怪物,就喜欢一些毫无意义的老套封装
#android #gui #design #drawing https://tttttt.me/AndroidDevCn/184450
https://tttttt.me/AndroidDevCn/184426
Activity 透明模糊背景 4.0 删了,新 RenderEffect 可以作用于 View 但需要 API S 🌚
iseki:
请教下群友们,想弄个毛玻璃activity…但是完全没想明白咋弄🙈
不是…我是说…半透明的活动,背景毛玻璃🙈
找了半天一个扭曲的实现是截屏+模糊🙈不想这么扭曲

Ghost Flying:
你可以渲染到 SurfaceTexture backed 的 virtual display 上,然后用 OpenGL 加滤镜贴主屏,然后透传触摸事件(

iseki:
不知道Android咋合成的,要是依次在一个表面上画所有activity,那应该行吧
Ghost Flying:
就是多个 window 当成 layer 来合成

题外话, #Android #marker glide #build https://tttttt.me/AndroidDevCn/184384