summaryrefslogtreecommitdiff
path: root/IDEAS
blob: 065bf1b06e95bf25a82bf03bc66cbb41ab3f6950 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
Datacentric group

* https://datacentric.group/

CRUD framework

* https://github.com/alexpdp7/v2f
* https://github.com/alexpdp7/zqxjkcrud

* A completely declarative SQL CRUD framework
** CRUD definition is done through SQL objects (schemas, views, etc.)
** Permissions
** Row auditing
** Multiple components
*** Server-side HTML frontend
*** REST API
** Commercial frontend for design

Pure HTML5 decentralized IM system

* https://github.com/alexpdp7/imnei

* Uses web push
* Conversations are URLs to be shared
* "User identity" is a private URL to be shared to handle multi-device
* End-to-end encryption
* Can have WebRTC audio/video
* Anyone could run its own instance, as it is clientless there is no friction to have multiple providers
* Broadcast channels to be a pseudo-social network

SQL Query tool

* ipython notebook style interface
* Backend + multiple frontends
** HTML/JS Frontend
** Curses frontend
** Native GUIs frontends
* Smart join completion

Parallel execution framework

* A tool to run stuff such as CI builds which need sophisticated parallelization
* Create differently sized resource pools (for CPU-bound tasks, "API"-bound, etc.)
* Local execution of workflows on a workstation, remote execution on a CI server
* Handle task dependencies and artifact passing from parent to child tasks
* Capture stdout/stderr of tasks, allow viewing in realtime
* Timestamp stdout/stderr for crude profiling
* Implement a CI system on top?

Development stack

* Easy to deploy modular platform of:
** Identity Management (FreeIPA)
** Git repo with code review (Gerrit)
** Ticketing system (Redmine?)
** CI (Jenkins)
** Binary artifact repository
** Monitoring system (Nagios)

Scalable personal cloud

* 1..n node VM/container hosting platform
* ZFS storage
** Use https://github.com/marcan/takeover.sh for easy set up of a ZFS mirror root system
* Automation ready (Ansible, Salt, Foreman, etc.)
* Monitoring friendly
* Apt for single public IP
** Integrated DNS/DHCP
** VPN interfaces
** Reverse proxies

C64 Roguelike

Software development book https://github.com/alexpdp7/wakat

Development environment setup

* Spin a VM (locally or in the cloud) which runs your project
* Synchronized workspace using Syncthing

SQL2

* A new language that compiles to SQL
* Handles RDBMS differences
* Makes queries composable (e.g. declare a query object, then add paging/sorting, for framework usage)
* Declarative join via foreign key constraint names
* Better ordering for code completion (e.g. FROMs first)

Streaming DB

* Simple relational database
* Can act as replication target of other databases
* Supports a limited SQL subset that can be easily reasoned about functional dependencies
* Can stream efficiently the results of an SQL query (e.g. keep a query running and receive new/modified rows)
* Supports efficient replication of a subset of a database (initial checkpoint + streaming or batched updates)