Saturday, April 13, 2024

Show HN: Using Google Sheets as the back end/APIs of your app https://ift.tt/EDOKXTH

Show HN: Using Google Sheets as the back end/APIs of your app Hello everyone! At a company I worked for, we needed to develop an MVP (basically a web page) and apply certain business logic to a Google Drive spreadsheet that was frequently updated by the Sales team. In this case, we had two options: Develop a backend to replace the current spreadsheet and have the sales team use it as a new "backoffice" - This would take a very long time, and if the hypothesis we were testing was wrong, it would be time wasted. Create the web page and use Google's SDK to extract data from the spreadsheet. We chose to go with the second option because it was quicker. Indeed, it was much faster than creating a new backoffice. But not as quick as we imagined. Integrating with Google's SDK requires some effort, especially to handle the OAuth logic, configure it in the console, and understand the documentation (which is quite shallow, by the way). Anyway! We did the project and I realized that maybe other devs might have encountered similar issues. Therefore, I developed a tool that transforms Google spreadsheets into "realtime APIs" with PATCH, GET, POST, and DELETE methods. Since it's a product for devs, I think it would be cool to hear your opinions. It's still quite primitive, but the basic features already work. https://zerosheets.com https://ift.tt/JuylSK0 April 12, 2024 at 09:59PM

Friday, April 12, 2024

Show HN: Generate Docker Artifacts to $PWD https://ift.tt/cIDv8YV

Show HN: Generate Docker Artifacts to $PWD I wanted to use a Dockerfile to generate some build artifacts so I made a tool for this. Feel free to use! https://ift.tt/GRpywUZ April 11, 2024 at 10:03PM

Show HN: Aarde – Self Replicating Programs https://ift.tt/as1ntVK

Show HN: Aarde – Self Replicating Programs Last weekend I created a new visualization/demo. It's a sort of crossover between artificial life and defragmentation on MSDOS. The organisms "live" in the memory and continuously copy themselves to a free piece of memory. The programming language consists of only 5 instructions to keep it simple: S - Program start E - Program end F - Find location to copy to C - Copy to location J - Jump to start of program Every time a code is copied, a mutation can occur. We start with the following simple life form: SFCJE The rest is evolution. https://ift.tt/jIEnzVH April 12, 2024 at 01:29AM

Central Subway One Year Out: Celebrating the Impact of Community Outreach

Central Subway One Year Out: Celebrating the Impact of Community Outreach
By Enrique Aguilar

Muni customers boarding the T Third train as it arrives at the station, people walking around.Muni customers catch the T Third Line at the Union Square/Market Street Station on opening day.

The Central Subway has connected communities from the Bayview to Chinatown for over a year now. As we celebrate this milestone, we’re proud to share why community feedback has been key to its success. 

Meeting feedback drives more transparency 

Our project team held community meetings from project design through activation. We gathered feedback from residents, merchants and other stakeholders. We also shared important project updates.  

These outreach meetings led to constructive conversations between project staff and the community. Early on, people asked for more transparency. We listened and updated our communication strategy. 

Local communities influence station design and safety 

Residents and community groups also shaped design and safety for the new subway. 
 
Rooftop plaza  
Chinatown and the Tenderloin stand out as two neighborhoods with high population density, yet few public spaces. With this in mind, community groups advocated for an upper rooftop plaza at the Chinatown-Rose Pak Station. This idea was not part of the original construction plan. However, advocates reimagined how the new station could better serve the neighborhood. 

Police substation 
After 2020, our project team heard many concerns about the safety of residents, especially Asian seniors, in Chinatown. Community groups asked for a police substation on the fare gate level at Chinatown-Rose Pak Station. Originally, this area was designed to have a concession stand. Our agency and city partners heard their concerns and took action. Now, a plan is in motion to build the police substation to increase safety for all Muni customers. Construction is underway.  

Bilingual ambassador program 
When the project started construction in 2012, we partnered with the Community Youth Center. Our goal: create an ambassador program with bilingual staff to help people navigate construction by Chinatown-Rose Pak Station. For years, ambassadors helped children, families and others get around safely. Now, ambassadors continue to provide support. They help riders understand the Muni Metro map and share any updates to service.

 Lion dance performance with colorful costumes and props, captivating the audience's attention.Chinatown residents and visitors celebrated the first day of the 2024 Lunar New Year with a lion dance at the Chinatown-Rose Pak Station Upper Plaza. 

Merchants and locals shape relief programs and new artwork 

We also partnered with city agencies to address concerns from merchants and involve communities in plans for new artwork.  

The Office of Economic and Workforce Development took steps to reduce impacts from construction. It provided support to small businesses near the project site.  

The Arts Commission led a huge effort to bring new artwork to the stations. It used funds from the city’s 2%-for-art program and gathered community feedback. Now, new art in the subway reflects the cultural and historical significance of each neighborhood. 

What’s next: building on the success of community partnerships 

What does the future hold for these new stations? Community partnerships made this project a success, and we’re building on that foundation.  

The Community Youth Center we worked with to provide ambassadors now plays an expanded role. The group was selected as the steward for the upper plaza at Chinatown Rose-Pak Station. Now, they develop weekly programming to activate the space and bring people together. You can check out their events by visiting the Community Youth Center webpage for the plaza.  

Every neighborhood reveals something different about the people living there. When we build new Metro stations, each one becomes more accessible. The SFMTA will continue to work with community partners in the Yerba Buena, Union Square and Chinatown neighborhoods. We’re thrilled to promote their vibrancy, and how easy it is to visit with a ride on the T Third Line. 

Check out this video to hear from SFMTA staff and community partners about how public engagement was pivotal to the project’s success. You’ll learn the details about how it evolved from construction through launch in 2023. 



Published April 11, 2024 at 10:50PM
https://ift.tt/7I1BHdn

Thursday, April 11, 2024

Show HN: Wunderbar, Learn Language While Working on Your Mac https://ift.tt/nuZpeVR

Show HN: Wunderbar, Learn Language While Working on Your Mac Hey everyone, I've been living in Germany for a while now and struggling to pick up German. Even though I finished a B1 level language course, remembering all the common German words has been tough. I've tried a bunch of apps, but couldn't stick to any of them. Last month, I had an idea. I thought, what if I could see a German word and its meaning on the Menu Bar of my Mac? That way, I could learn new words while working without needing to set aside dedicated time. The app uses a spaced-repetition algorithm, so you'll see the same word multiple times until you've got it down. And even after you've learned it, you'll still see it again to make sure you don't forget. After making the app, lots of people asked me to include other languages, therefore I’ve added languages like Spanish, French, Dutch, Swedish, Japanese, and Italian. You can download the app here ($3.99): https://ift.tt/hvUBfNG There's no subscription or anything like that. You pay once and it's yours forever. Let me know what you think! April 11, 2024 at 12:35PM

Show HN: Next-token prediction in JavaScript – build fast LLMs from scratch https://ift.tt/IBlXR9Y

Show HN: Next-token prediction in JavaScript – build fast LLMs from scratch What inspired this project today was watching this amazing video by 3Blue1Brown called "But what is a GPT?" on Youtube ( https://www.youtube.com/watch?v=wjZofJX0v4M - I highly recommend watching it). I added it to the repo for reference. When it clicked in my head that "knowing a fact" is nearly synonymous with predicting a word (or series of words), I wanted to put it to the test, because it seemed so simple. I chose JavaScript because I can exploit the way it structures objects to aid in the modeling of language. For example: "I want to be at the beach", "I will do it later", "I want to know the answer", ... becomes: { I: { want: { to: { be: { ... }, know: { ... } } }, will: { ... } }, ... } in JavaScript. You can exploit the language's fast object lookup speed to find known sentences this way, rather than recursively searching text - which is the convention and would take forever or not work at all considering there are several full books loaded in by default (and it could support many more). Accompanying research yielded learnings about what "tokens" and "embeddings" are, what is meant by "training", and most of the rest - though I'm still learning jargon. I wrote a script to iterate over every single word of every single book to rank how likely it is that word will appear next, if given a cursor, and extended that to rank entire phrases. The base decoder started out what I'll call "token-agnostic" - didn't care if you were looking for the next letter... word... pixel... it's the same logic. But actually it's not, and it soon evolved into a text (language) model. But I have plans to get into image generation next (next-pixel prediction), using this. Overall the concepts are similar, but there are differences primarily around extraction and formatting. Goals of the project: - Demystify LLMs for people, show that it's just regular code that does normal stuff - Actually make a pretty good LLM in JavaScript, with a version at least capable of running in a browser tab https://ift.tt/agRQPE5 April 11, 2024 at 02:57AM

Show HN: We built a no-code tool on top of a spreadsheet (Game of Life example) https://ift.tt/YBdNDWZ

Show HN: We built a no-code tool on top of a spreadsheet (Game of Life example) Hi everyone! I want to share a spreadsheet tool we are building. The main idea is to be able to specify logic for a no code tool inside a spreadsheet. We have automations, data integration, action formulas, dashboards. Linked example: We use our UPDATECELL formula to make a step in a board of game of life. We can also use CHAIN to make it run indefinitely. The actions are exposed as buttons in a dashboard. Our automations work by loading your spreadsheet on the server and running an action specified in the spreadsheet. So the logic could be, pull in data from google sheet, send a personalized email to every row which we haven’t emailed yet, mark those rows as complete. Run this automation on 5 minute schedule, add any other custom logic you need (e.g. test email for deliverability) and you have yourself an automatic email tool. We are leaning into automations to differentiate ourselves from other products in the field at the moment. Technical kinks: - Since our automations make changes to the spreadsheet, we needed a robust multiplayer system. We implemented a CRDT system. This is a topic for a longer blog post, but one fun challenge was to implement CRDT for rows/column which allowed for adding/deleting/reordering performantly while preserving most user intent in the case of offline editing. - Some of our formulas are inherently asynchronous; for example those which fetch data from an external data source. That added an extra kink when writing the spreadsheet engine; e.g. topologically sorting and then evaluating in order can cause you to get stuck on a long running evaluation. - One of our premises is that we do not store your data; it gets pulled when the spreadsheet evaluates. That means everything reevaluates in the browser when you open a spreadsheet. Get this to be performant (we still have a long way to go) was a challenge. Currently, everything runs in a single worker. Let me know what you all think. https://ift.tt/GnuowUr April 11, 2024 at 02:29AM

Show HN: Do You Know RGB? https://ift.tt/t8kUpbO

Show HN: Do You Know RGB? https://ift.tt/OWhvmMT June 24, 2025 at 01:49PM