HN user

scottfr

1,349 karma
Posts41
Comments138
View on HN
chromewebstore.google.com 10mo ago

Show HN: Grammit – Local-only AI grammar checker (Chrome extension)

scottfr
34pts6
chromewebstore.google.com 12mo ago

Show HN: Grammit – Local-only AI grammar checker (Chrome extension)

scottfr
3pts2
lmsys.org 1y ago

Does style matter? Disentangling style and substance in Chatbot Arena

scottfr
1pts0
news.ycombinator.com 5y ago

Launch HN: Text Blaze (YC W21) Programmable snippets to automate tedious typing

scottfr
82pts51
cloud.google.com 6y ago

Command and control now easier in BigQuery with scripting and stored procedures

scottfr
3pts0
www.nytimes.com 6y ago

Closing of Pacific Standard and Topic Shows Perils of Depending on a Rich Patron

scottfr
2pts0
seattletimes.nwsource.com 7y ago

Boeing: Out-Sourced Profits – The Cornerstone of Successful Subcontracting [pdf]

scottfr
1pts0
www.elastic.co 7y ago

What's New in Apache Lucene 8

scottfr
2pts0
2ality.com 7y ago

Future JavaScript: what is still missing?

scottfr
242pts277
modelingguru.nasa.gov 7y ago

Basic Comparison of Python, Julia, Matlab, IDL and Java (2018 Edition)

scottfr
3pts1
www.politico.com 9y ago

Obama-era techies weigh staying under Trump

scottfr
4pts0
www.nytimes.com 9y ago

A Sour Surprise for Public Pensions: Two Sets of Books

scottfr
2pts1
www.gamasutra.com 9y ago

Homeowner files lawsuit against Niantic over Pokemon Go trespassing

scottfr
1pts0
www.nytimes.com 10y ago

Yahoo’s Brain Drain Shows a Loss of Faith Inside the Company

scottfr
151pts142
www.nytimes.com 10y ago

How the Daily Fantasy Sports Industry Turns Fans into Suckers

scottfr
178pts147
www.nytimes.com 10y ago

When Presidential Candidates Go Too Far on Social Media: #FeetInMouth

scottfr
1pts0
github.com 10y ago

State Provider: Experimental Use of ES6 Proxies for Easy Undo/Redo

scottfr
1pts0
www.nytimes.com 10y ago

Pandora Shares Plummet as Competition Grows

scottfr
22pts20
www.nytimes.com 10y ago

Pandora Shares Plummet as Competition Grows

scottfr
5pts0
www.letscrunchit.com 11y ago

Show HN: You liked my Retirement Calc, so here is my Startup Success Simulator

scottfr
16pts0
tone-analyzer-demo.mybluemix.net 11y ago

Tone Analyzer

scottfr
19pts6
www.nytimes.com 11y ago

Did Reddit Boss Coverage Cross a Line?

scottfr
5pts2
www.letscrunchit.com 11y ago

Show HN: Stochastic Retirement Simulator Weekend Project

scottfr
45pts26
www.nytimes.com 11y ago

WeWork Stretches Sharing-Economy Valuations

scottfr
1pts0
arstechnica.com 11y ago

Transit startup Leap puts 3 buses up for auction, coffee bar included

scottfr
2pts0
www.nytimes.com 11y ago

Gawker Media Employees Vote to Form a Union, and the Bosses Approve

scottfr
38pts16
insightmaker.com 11y ago

Show HN: Browser-Based Simulation and Modeling IDE

scottfr
11pts3
vidtoy.com 12y ago

Show HN: VidToy - Experimental YouTube Search Interface

scottfr
1pts0
vidtoy.com 12y ago

Show HN: VidToy.com Discover Great YouTube Videos – Weekend Project

scottfr
1pts0
www.youtube.com 12y ago

Unreal Engine 4 Features Trailer – GDC 2014

scottfr
1pts0

In the early 1800's Alexis de Tocqueville attributed a lot of American success to its small organizations/associations:

"There is nothing, according to me, that deserves more to attract our regard than the intellectual and moral associations of America....

In democratic countries the science of association is the mother science; the progress of all the others depends on the progress of that one."

[0] https://press.uchicago.edu/Misc/Chicago/805328.html

Interesting, I would love to hear how well those worked.

Grammit uses the Prompt API for the local LLM, which currently uses a version of the Gemma 3n model on Chrome.

Grammit uses prompting instead of fine-tuning or custom training. Simplified, it has a system prompt along the lines of: "Rewrite this text, correcting any grammar or spelling mistakes," combined with a prefilled conversation containing a number of examples showing an input sentence and the corrected output.

There is a Prompt API in development that's available in both Chrome and Edge to give access to a local LLM. Chrome extensions have access to it and I believe websites can request access as part of an origin trial.

The model is fully managed by the browser. It's currently the Gemini Nano model on Chrome, and they are testing a version of the Gemma 3n model in beta channels. Edge uses phi-4-mini.

More information is available here: https://github.com/webmachinelearning/prompt-api

I've created a few DSL's and I've regretted not closely emulating an existing language that users already know.

When creating a new DSL you should find the language that is most familiar to your users. That could be Python, Javascript, or SQL. There is a good chance though that it is spreadsheet formulas.

Whatever that language, align capabilities you add to your DSL with the syntax and function naming of that language only diverging where needed to add the custom capabilities which motivated the DSL.

The closer you align with what your users already know, the more easily they will be able to adopt it. An added benefit of this that emerged in the past year is GPT's will be able to write your DSL with less prompting.

Disagree on using Bayesian statistics. Frequentist statistics are perfect for A/B testing.

There are so many strong biases people have about different parts about UI/UX. One of the significant benefits of A/B testing is that it lets you move ahead as a team and make decisions even when there are strongly differing opinions on your team. In these cases you can just "A/B test" and let the data decide.

But if you are using Bayesian approaches you'll transition those internal arguments to what the prior should be and it will be harder to get alignment based on the data.

It's a similar situation with Chrome extensions. Extension reviews are generally pretty quick (an hour or so), but every once in a while you get hit with a longer one (days+).

In this type of environment, you need to ensure every release is as rock-solid as possible. For our extension, we have beta extension with a sub-group of opted-in users that we test on for a week or so before doing a production release. Then we roll out the extension to production incrementally starting with 1% of users and slowly ramping that up to 100% (it seems Android has a similar staged rollout feature).

We built Text Blaze [0] a Chrome Extension [1] that supports a lot of similar capabilities.

It lets you do text expansions on any website using hotkeys, include dynamic values like the date a week from today in your snippets, build form UI's [2], and include dynamic logic using formulas and if-statements [3] (it uses a dynamic reactivity model for formula's similar to spreadsheets).

One thing we are really excited about currently is using Text Blaze snippets to connect any website to an Airtable/Monday.com like spreadsheet using a lightweight SQL variant we created [3]. Combined with forms and formulas, this allows you to build mini-apps you can use on any site with a hotkey.

[0] https://blaze.today

[1] We're currently beta testing Mac and Windows desktop versions.

[2] https://blaze.today/guides/forms/

[3] https://blaze.today/formulas/reference/

[4] https://blaze.today/datablaze/docs/bsql/

Firebase uses Google Cloud Logging. Taking a quick look at the blog post here, Google Cloud Logging already seems to support everything it describes.

Is there something in it that makes it a better solution in some way than what Google is already providing? (Note that Supabase Logs appears to rely on Google BigQuery so you'll be running on Google either way.)

We've explored usage based pricing for our app which has a core unit-of-work that delivers value to the user. We've talked with various customers about adopting usage based pricing in place of our standard cost per user pricing model. We thought it would be great to align user costs with value delivered.

Turns out no one wanted the usage based pricing even if it could save them money based on their predicted usage. Companies preferred the consistency, clarity and control of a user based pricing.

We didn't try out a cost cap like the $20 here, so maybe that was a missing ingredient in our tests.

My company has an Airtable competitor that has API support for SQL. It has pretty good SQL capabilities solving the issues with pagination you have in Airtable.

An overview of the supported SQL syntax is here:

https://blaze.today/datablaze/docs/bsql/

No joins yet between tables yet, but they are planned. (You can use lookup fields to achieve them to some extent, but that requires planning ahead and is limited).

Google Groups is heavily used within Google's ecosystem. Specifically it is:

- a system for managing group-based access for Google Workspace users, e.g. share a Google Doc with a group to give all members access

- a system for managing group-based access to Google Cloud Platform resources, e.g. share a BigQuery table with a Google Group to give all group members access to it.

- a simple way for Google Workspace users to create shared email addresses. e.g. support@mycompany.com

It serves these purposes quite well.

I created a fairly popular system dynamics modeling application back when I was a grad student [0].

When using modeling tools like system dynamics, it's useful to keep in mind George Box's quote that "All models are wrong, but some are useful".

When using a modeling tool to describe any form of social system you're creating an imperfect copy of it. This imperfect copy embeds what the modeler (rightly or wrongly) views to be important and how they believe the system to work.

The resulting model, though always wrong to some extent, may be useful. It may help you obtain a better understanding of a system and cause positive change in an organization. On the other hand it may not be useful, it may even mislead you.

You can think of modeling a lot like various software engineering practices like Agile. Sometimes these help teams, sometimes they don't. At the end of the day though, it's really about the teams using them not the specific techniques.

[0] https://insightmaker.com

You just need a way for a package maintainer to flag a vulnerability in a dependency as a non-issue that does not affect that package's use of the dependency.

In Dan's twitter thread, he calls this out as a viable solution.

The LCP metric is particularly brittle. It's concerning Google is linking it to search ranking thereby ensuring everyone caters to it.

In our case, our hero image (formerly the LCP element Lighthouse picked up) is an animated image illustrating our product. It starts animating very fast for most of our audience and finishes loading in the background as it continues animating.

However, the Lighthouse LCP timestamp is not the time which the image starts animating, instead it's the time the animated image _completely finishes_ loading. So even though the animation starts almost right away and doesn't stutter, our LCP was several seconds or more.

We "solved" it by making the animation bounding box size slightly smaller and some text boxes on the page slightly larger so the LCP was tied to the text box loading.

I think you and others on this thread are being much too harsh on their messaging.

Most people who have the need this product is meeting will have already encountered Calendly as it is ubiquitous in the space. It's basically a generic term like "Zoom" at this point. "I'll send you my Calendly link" is something people will understand to mean send you a meeting scheduling link.

So "An open source Calendly alternative" is quite clear for most people who want to make use of this.

Their messaging is focused on reaching people who might use it, not the people who won't. As you note, after going through the site, the product is not something relevant to you.

Interestingly Chrome use to support always on top windows in extensions. They eventually got removed

There is a very interesting comment from one of the developers on the removal bug (https://bugs.chromium.org/p/chromium/issues/detail?id=467808):

While closing this issue as "Fixed", I feel I need to offer a couple of words of personal explanation to the users of Trello who were directed here by the developer of the app, as well as others who can be interested.

I'm the original developer of Panels in Chrome, and I'm the engineer who's lead a team to maintain them. I also finally removed them. Panels were a part of my life in form of time, thoughts, inspiration and passion. Our initial plans were to enable panels to all apps which wanted to use them, and we saw how those can be useful of course. It is with sadness but also with appreciation of the experience that I had to remove the feature from Chrome M54.

The time passes and things change, we all learn. In case of Panels, we "proved" by practice that it takes a team of a few engineers full time to be able to catch up with teams of OS developers in Windows, OSX, Linux and even our own ChromeOS. The window management and graphics/input subsystems are constantly evolving and it is more or less prohibitively expensive for a small team to try to build and keep a high quality but non-standard window management mode. OSes have too many mechanisms that are linked to a specific windows behaviors (focus, window switching, active windows treatment, titlebars, where input goes, shortcuts, animations, multiple desktops, other OS gadgets etc), and usually OSes do not provide 'hooks' or APIs to integrate with those, which makes it necessary to 'reverse-engineer' and hack around. While it can be done, it quickly leads to 'card house' design that falls down even easier with the next major OS update... So the costs of development and testing rise.

There was another factor that kept us from enabling panels for all apps. The specific UI Panels provide does not scale well if/when multiple apps are using it. It is very easy to get in trouble with multiple always-on-top windows popping up from multiple apps. Several independent apps using panels at the same time actually makes the interface annoying and hard to control. We had several apps using Panels at the same time and it was hard to manage windows because they were all intermixed. There were several design ideas on how to build some 'panel managers' and corresponding APIs but they increased the complexity significantly, especially considering those would be in addition to APIs OS provides for other windows. So we never were able to enable it for every app.

Now, if the major OSes would adopt the concept and built into their window managers, it'd be much much easier to support it in Chrome. But it's not the case, except for ChromeOS where panels stay.

So at the end, this was a great experiment. We are now way past the point where additional discussion can move the needle much. Google Hangouts app had millions of users and some of them loved Panels. Apparently Plus for Trello has passionate followers. The YouTube viewers is a neat idea. But we all need to move forward, the platforms change much faster and generally to the better :) Hope developers of your favorite apps will figure out even better ways to implement great UI their users demand!

First, Text Blaze should run on every screen you use. Right now we're Chrome only. We want to expand to other browsers (another user commented about Firefox) and we also want native desktop and mobile applications (keyboards in the case of mobile) so that Text Blaze will work wherever you are working.

Second, we want to develop tighter integrations with various applications. In another thread we discussed how a Text Blaze snippet could automatically include the name of the person you are replying to in Gmail. This works, but it very technical currently. We want to build higher-level advanced integrations for all the common sites our users use to make this much easier (Gmail, Google Spreadsheets, Airtable, Monday.com, LinkedIn, Salesforce, Intercom, etc...).

Sorry, I've never used AHK, but my understanding is it's very much focused on scripting UI's.

We support a little bit of that (you can tab between different fields in a webpage with Blaze), but we're much more focused on communications (text).

Most of our features are really about making static or dynamic messages or documents. So for example, lots of forms support, formulas, data validation, etc... And making this all as accessible as possible.