Skip to content

Commit 14eaba5

Browse files
committed
feat: dev page grammer check
1 parent faeb608 commit 14eaba5

File tree

1 file changed

+21
-25
lines changed

1 file changed

+21
-25
lines changed

2025/src/components/pages/DevPage.tsx

Lines changed: 21 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
1-
/**
2-
* Development portfolio page component
3-
* Modernized version of the original Dev component
4-
*/
51
export function DevPage() {
62
return (
73
<div className="dev" id="primary-content">
84
<h1>Software Engineering</h1>
95
<p>
106
I'm a software engineer who builds interfaces. I'm most familiar with
11-
anything under the Javascript umbrella, whether thats in browser,
7+
anything under the Javascript umbrella, whether that's in browser,
128
desktop native through Electron or mobile native through React Native.
139
My most recent work revolves around building React Native applications
1410
with Typescript and a Redux logic core. I've also written a lot of C#
@@ -20,7 +16,7 @@ export function DevPage() {
2016
Micromelon Robotics builds a platform for teaching programming, robotics
2117
and mathematics in schools. I joined Micromelon Robotics on the software
2218
team and have contributed significantly to the development of all
23-
production products. This includes;
19+
production products. This includes:
2420
</p>
2521
<ul className="key-contributions">
2622
<li>
@@ -32,7 +28,7 @@ export function DevPage() {
3228
learning the fundamentals of computational thinking,
3329
</li>
3430
<li>
35-
Micromelon Toolbox (React Native), a utility app desgined for school
31+
Micromelon Toolbox (React Native), a utility app designed for school
3632
staff to update and manage a class set of Micromelon Rovers
3733
</li>
3834
<li>
@@ -44,18 +40,18 @@ export function DevPage() {
4440

4541
<h2>Some Challenges</h2>
4642
<p>
47-
I'll highlight a couple key challenge faced in the last few years when
48-
developing with React Native.
43+
I'll highlight a couple of key challenges faced in the last few years
44+
when developing with React Native.
4945
</p>
5046

5147
<h3>Async Capable WebView IPC</h3>
5248
<p>
5349
The first version of the Code Editor we built was with Electron. However
5450
a growing number of schools were adopting device policies which had
55-
students using Chromebooks or iPads exclusively making it necessary we
56-
have an editor which would run on these platforms. We decided to build a
57-
mobile compatible Code Editor on React Native. I was one of the key
58-
developers involved in this process.
51+
students using Chromebooks or iPads exclusively making it necessary that
52+
we have an editor which would run on these platforms. We decided to
53+
build a mobile compatible Code Editor on React Native. I was one of the
54+
key developers involved in this process.
5955
</p>
6056
<p>
6157
Largely the models of Electron and React Native are similar and a port
@@ -85,26 +81,26 @@ export function DevPage() {
8581
</p>
8682
<p>
8783
Once this logic is fulfilled and the original Webview needs a response,
88-
our JS thread post office resolves it's promise and sends a sync IPC
84+
our JS thread post office resolves its promise and sends a sync IPC
8985
message to the original Webview. The Promise Post Office in the original
90-
webview can cross reference the IPC message with it's unfulfilled
86+
webview can cross reference the IPC message with its unfulfilled
9187
promise, and finally fulfil it with the data it just received.
9288
</p>
9389
<p>
9490
The complexity comes with the nature of the Code Editor having multiple
9591
webviews to handle each of the coding environments and every thread of
96-
python code generating it's own Webview as well as the bluetooth
92+
Python code generating its own Webview as well as the bluetooth
9793
peripherals we connect to.
9894
</p>
9995
<p>
100-
By far, the most challenging aspect to this was dealing with python
96+
By far, the most challenging aspect to this was dealing with Python
10197
execution in the webview itself. By default, React Native has a single
10298
JS thread. Hypothetically, a user executing a forever while loop that
10399
requires IPC messages means the entire JS thread is consumed receiving
104-
messages. This issue required it's own solution by with message queues
105-
and breathing room delays, I won't get into that here. If you want to
106-
hear more about that and how I hate the way Android bundles Webview
107-
execution into a single thread, please email me.
100+
messages. This issue required its own solution with message queues and
101+
breathing room delays, I won't get into that here. If you want to hear
102+
more about that and how I hate the way Android bundles Webview execution
103+
into a single thread, please email me.
108104
</p>
109105
<h3>Accessibility In Micromelon Junior</h3>
110106
<p>
@@ -116,11 +112,11 @@ export function DevPage() {
116112
level accessibility feature built into all iOS devices. The majority of
117113
our app's interface was already accessibility conscious because of React
118114
Native's built-in accessibility features however a few key buttons were
119-
not working with Switch Controls. It was responsible fix this.
115+
not working with Switch Controls. I was responsible to fix this.
120116
</p>
121117
<p>
122118
To achieve this, I first had to understand how Switch Control works by
123-
configuring it's use on my iPad. I'd encourage anyone to attempt a
119+
configuring its use on my iPad. I'd encourage anyone to attempt a
124120
similar exercise, it's revealing seeing just how difficult it can be to
125121
interact with an interface which unimpaired users deem to be simple.
126122
After identifying the problems with Switch Control usage, I refactored
@@ -135,11 +131,11 @@ export function DevPage() {
135131
Other components we had with swipe interactions were remarkably
136132
difficult for Switch Control to interface with. To alleviate this, I
137133
made sure any of these complex components properly implemented props
138-
like accessibilityActions to outline it's purpose for Switch Control to
134+
like accessibilityActions to outline its purpose for Switch Control to
139135
read and present directly to the user.
140136
</p>
141137
<p>
142-
I'm glad to say I was able to make Junior 100% accessibility conscious.
138+
I'm glad to say I was able to make Junior 100% accessibility-conscious.
143139
I'm slightly disheartened I didn't think to check this before the app
144140
was released. It's unfortunate that it wasn't a front of mind priority
145141
and equally unfortunate to see how limited some of the React Native

0 commit comments

Comments
 (0)