Skip to content

Commit

Permalink
gotcha
Browse files Browse the repository at this point in the history
  • Loading branch information
reteps authored Dec 15, 2023
1 parent 18844eb commit 473b64c
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 3 deletions.
3 changes: 2 additions & 1 deletion blog/abusing-google-forms/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ This post is going to detail my journey this semester exploring Google Forms, as

# The beginning

As a part of [Hack4Impact](https://uiuc.hack4impact.org/), we regularly work with nonprofits with budget and technology-based constraints. My team's nonprofit this semester was [Meraki](https://merakifoundation.in/). Meraki's goal is to improve education in India. One major role they play in this is surveying [Anganwadi's](https://en.wikipedia.org/wiki/Anganwadi) (rural childcard centers), and providing information about them back to the Indian government. The government then uses the data collected to inform grants, and spending decisions to improve the areas most in need.
As a part of [Hack4Impact](https://uiuc.hack4impact.org/), we regularly work with nonprofits with budget and technology-based constraints. My team's nonprofit this semester was [Meraki](https://merakifoundation.in/). Meraki's goal is to improve education in India. One major role they play in this is surveying [Anganwadi's](https://en.wikipedia.org/wiki/Anganwadi) (rural childcare centers), and providing information about them back to the Indian government. The government then uses the data collected to inform grants, and spending decisions to improve the areas most in need.

At the start of the project, the Meraki team said that they needed a custom software solution. Meraki was collecting this important information through Google Forms, and putting it all on massive Google Sheets. It was no longer working for them, as they hit the [10 million cell limit](https://www.ablebits.com/office-addins-blog/google-sheets-limits), and were worried that creating new Sheets and Forms was not a scalable solution.

Expand Down Expand Up @@ -91,6 +91,7 @@ Caption: So cursed
However, it appeared the regex has a hidden limitation: if you make it too long, it will crash your webpage! This wasn't going to work.

### Redirect + Google Forms

We also brought up another solution to continue using Google Forms, fill out the AWC part on our site (and do javascript validation), and then redirect to the Google Form with it [prefilled](https://support.google.com/docs/answer/2839588?hl=en&visit_id=638172636816298607-1610807482&rd=1#zippy=%2Csend-a-form-with-pre-filled-answers) in.

We designed a PostgreSQL database schema, and were all set to go. We originally decided on storing the JSON for a response directly in the table. This seemed fine, as PostgreSQL supports high performance [JSON queries](https://www.postgresql.org/docs/12/functions-json.html).
Expand Down
4 changes: 2 additions & 2 deletions blog/fast-gdb/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ I am running on a M1 Chip, running MacOS Sonoma 14.0 (Build 23A339). I have had

Download a ARMv8 / aarch64 iso like Ubuntu Desktop 22.04.3 LTS. This can be downloaded [here](https://cdimage.ubuntu.com/jammy/daily-live/current/).

Download the UTM DMG from their [Github Releases](https://github.com/utmapp/UTM/releases). At the time of writing, this is UTM 4.4.4. If you run into issues, I would reccomend using `8GB` RAM.
Download the UTM DMG from their [Github Releases](https://github.com/utmapp/UTM/releases). At the time of writing, this is UTM 4.4.4. If you run into issues, I would recommend using `8GB` RAM.

Then, setup your UTM VM.

Expand Down Expand Up @@ -102,7 +102,7 @@ sudo mkdir /media/rosetta
sudo mount -t virtiofs rosetta /media/rosetta
sudo echo 'rosetta\t/media/rosetta\tvirtiofs\tro,nofail\t0\t0' >> /etc/fstab
sudo /usr/sbin/update-binfmts --install rosetta /media/rosetta/rosetta \
--magic "<COPY FROM LINK> \
--magic "<COPY FROM LINK>" \
--mask "<COPY FROM LINK>" \
--credentials yes --preserve no --fix-binary yes
```
Expand Down
1 change: 1 addition & 0 deletions blog/when-orange-chicken/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,7 @@ Caption: The authentication flow I ended up with
## Development Process

I forgot to take screenshots of the development process, sorry about that! If you want to see a more detailed view of the development process, please just view the [commit history](https://github.com/reteps/when-orange-chicken/commits/master) of my github repo :)

### Initial Baby Steps

As I said, I first implemented authentication. I then pushed the user to the Cloud Firestore database. Firestore is a NoSQL database, which means that there are no ForeignKeys or SQL-style querying allowed. Overall, I am happy with how much I learned and what I ended up with but it was confusing at times.
Expand Down

0 comments on commit 473b64c

Please sign in to comment.