Skip to content

Commit 7bd4f25

Browse files
author
FastJava Team
committed
Update README with integrated WHY/HOW/BECAUSE/THEREFORE sections and add FastMath to ecosystem
1 parent df6a3fe commit 7bd4f25

1 file changed

Lines changed: 79 additions & 38 deletions

File tree

README.md

Lines changed: 79 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ FastJava is a collection of **high-performance JNI-based Java libraries** that u
2323
| **[FastTheme](https://github.com/andrestubbe/fasttheme)** | Windows dark/light theme detection | **Impossible** in pure Java | 🚧 Beta |
2424
| **[FastGraphics](https://github.com/andrestubbe/fastgraphics)** | GPU-accelerated 2D rendering | **600% faster** than Graphics2D | 🚧 Beta |
2525
| **[FastTouch](https://github.com/andrestubbe/fasttouch)** | Native multi-touch input | **Impossible** in pure Java | 🚧 Beta |
26+
| **[FastMath](https://github.com/andrestubbe/fastmath)** | SIMD + GPU accelerated math | **2–100× faster** | 🚧 Growing |
2627

2728
---
2829

@@ -36,27 +37,30 @@ FastJava is a collection of **high-performance JNI-based Java libraries** that u
3637
| **Development** | C++ per platform | Pure Java interfaces | Pure Java only |
3738
| **Deployment** | Bundle platform DLLs | Single JAR | Single JAR |
3839

39-
**Java alone CANNOT do:** Global hotkeys, low-latency screen capture, reliable clipboard, hardware I/O.
40+
**Java alone cannot do:** global hotkeys, low-latency screen capture, reliable clipboard, hardware I/O, GPU math, or native input.
4041

4142
---
4243

43-
## 📄 License
44+
## 🌌 WHY, HOW, BECAUSE, THEREFORE
45+
*(Origin Story — The Reason FastJava Exists)*
4446

45-
MIT License — See individual repositories for details.
47+
### 🌒 WHY — The Restlessness Before the First Module
48+
It didn't begin with a plan.
49+
It began with a restlessness.
4650

47-
**FastJava***Because performance matters.*
51+
Java was fast enough, but never truly fast.
52+
Never as close to the system as you needed.
53+
Never as direct, as raw, as honest as C or C++.
4854

49-
## 🌒 WHY — The Restlessness Before the First Module
55+
And yet:
56+
You didn't want to switch languages.
57+
You wanted to free the language.
5058

51-
It didn’t begin with a plan. It began with a **restlessness.**
59+
You wanted to know how far Java could go
60+
if you removed the chains of abstraction
61+
and allowed it to touch the system directly.
5262

53-
Java was fast enough, but never truly fast. Never as close to the system as you needed. Never as direct, as raw, as honest as C or C++.
54-
55-
And yet: **You didn’t want to switch languages. You wanted to free the language.**
56-
57-
You wanted to know how far Java could go if you removed the chains of abstraction and allowed it to touch the system directly.
58-
59-
## 🌕 WHY IT HAPPENED — The Moment Everything Shifted
63+
### 🌕 HOW IT STARTED — The Moment Everything Shifted
6064

6165
It was a small experiment. A cursor trick. A window without window chrome. A tilepane hack that refused to work.
6266

@@ -68,31 +72,68 @@ Because to even attempt it, you had to open JNI. And when you did, you suddenly
6872
6973
It felt like opening a door that had always been there, but no one had ever used.
7074

71-
## 🌖 BECAUSE — The Realization That Changed Everything
72-
73-
You saw that **Java isn't slow. It's simply too polite.**
75+
### 🌖 BECAUSE — The Realization That Changed Everything
76+
You saw that Java isn't slow.
77+
It's simply too polite.
7478

7579
It never asks the operating system directly.
7680
It never computes with full force.
77-
It never uses the SIMD registers that have been waiting years for someone to speak to them.
78-
79-
## 🌑 THEREFORE — The Reason FastJava Exists
80-
81-
That’s how FastRobot was born. Then FastClipboard. Then FastTheme. Then FastMath. Then FastJava.
82-
83-
Not as a framework. Not as a library. But as an answer.
84-
85-
**An answer to the question:** *“How fast can Java really become if you let it?”*
86-
87-
🌑 THEREFORE — The Reason FastJava Exists
88-
FastJava is not a project. FastJava is a **stance.**
89-
90-
It is the refusal to accept Java as “slow.” It is the proof that JNI is not a hack but a tool. That native calls are not a risk but an opportunity. That Java is not just an enterprise language, but a **machine language** when treated correctly.
91-
92-
**FastJava exists because you saw that no one else would ever fill this gap.**
93-
94-
**FastJava exists because you didn’t want to wait** until Oracle someday, maybe, possibly, delivered a solution.
95-
96-
**FastJava exists because you opened the door everyone else ignored.**
97-
98-
**FastJava exists because Java can be more — and you prove it.**
81+
It never uses the SIMD registers
82+
that have been waiting for years
83+
for someone to speak to them.
84+
85+
And you thought:
86+
87+
"If nobody builds it,
88+
then I'll build it myself."
89+
90+
That's how FastRobot was born.
91+
Then FastClipboard.
92+
Then FastTheme.
93+
Then FastMath.
94+
Then FastJava.
95+
96+
Not as a framework.
97+
Not as a library.
98+
But as an answer.
99+
100+
An answer to the question:
101+
102+
"How fast can Java really become
103+
if you let it?"
104+
105+
### 🌑 THEREFORE — The Reason FastJava Exists
106+
FastJava is not a project.
107+
FastJava is a stance.
108+
109+
It is the refusal
110+
to accept Java as "slow."
111+
It is the proof
112+
that JNI is not a hack
113+
but a tool.
114+
That native calls are not a risk
115+
but an opportunity.
116+
That Java is not just
117+
an enterprise language,
118+
but a machine language
119+
when treated correctly.
120+
121+
FastJava exists
122+
because you saw
123+
that no one else
124+
would ever fill this gap.
125+
126+
FastJava exists
127+
because you didn't want to wait
128+
until Oracle someday
129+
maybe
130+
possibly
131+
delivered a solution.
132+
133+
FastJava exists
134+
because you opened the door
135+
everyone else ignored.
136+
137+
FastJava exists
138+
because Java can be more —
139+
and you prove it.

0 commit comments

Comments
 (0)