Effective Ways of Dealing With Spammers

From a hackernews thread on dealing with spammers on your platform: … one of the most effective ways of dealing with spammers is to “shadowban” them. Allow them to use your service, but don’t indicate to them that you’ve identified them as malicious. For instance, when dealing with chat spammers, allow them to chat, but do not show their chats to other users. Another level would be to allow them to chat, but only show their chat to other shadowbanned users. … If the malicious actor doesn’t know they’ve been marked as malicious, they do not know they need to change their behavior. ...

2024-03-18 · 2 min

Thinking Fast by Preparing Well

A few days ago a question was asked on Hackernews on how slow thinkers compensate for their lack of quick-wittedness . Some people have responded that preparation is key: Sometimes what people think is quickness is actually extensive prep. I had a 30 minute meeting the other day to ask a team to do something I didn’t think they would want to do. It ended up going really smoothly and they just took my word for it, but had they not, I spend several hours preparing for that meeting, gathering data, preparing charts to illustrate the data, thinking of the possible objections and responses to said objections. ...

2024-03-14 · 2 min

Optimizing Technical Docs for Llms

Many companies are integrating LLM question answering tools into their DevEx toolchain. If you’re writing documentation and you’d like to assist these tools to serve people with proper responses to the questions related to what you own, kapa.ai has a few practical tips on optimizing the technical docs for LLMs: A clear hierarchy of headings and subheadings on a page helps LLMs understand the relationships between different sections of your documentation. Troubleshooting sections formatted as Q&A are an effective source for LLMs as they mirror the questions users often ask, making it easier for LLMs to understand and respond to similar questions. Including small, self-standing code snippets can be helpful, especially for products that rely on large and often complex SDKs or APIs. Have a brief description above the code to clarify its purpose and usage. Include comments within the code to explain the logic and functionality. Keep relevant content directly in your docs rather than in linked files such as PDFs, as LLMs have a harder time parsing these. Ensure information conveyed through screenshots is also described in text, as LLMs parse text more efficiently. Clarify all acronyms and specialized terminology within your documentation to aid LLM comprehension. source ...

2024-03-12 · 1 min

Willingness to Look Stupid

This post from Dan is one of the best reads in the past few months for me. He openly talks about instances that he might look like a stupid person, and how it’s benefiting him. I highly recommend reading the full blog post . … I frequently ask questions when there’s something I don’t understand or know, from basic stuff, “what does [some word] mean?” to more subtle stuff. On the flip side, one of the most common failure modes I see with junior engineers is when someone will be too afraid to look stupid to ask questions and then learn very slowly as a result; in some cases, this is so severe it results in them being put on a PIP and then getting fired. ...

2024-03-07 · 3 min

Alfred vs Raycast

If you’re into either Alfred or Raycast , Josh has a nice comparison of these tools from his experience using them: … for me, in the era of paid subscription software overtaking everything, I don’t need yet another $8–10/month siphon on my bank account. By the time you’ve paid for Raycast Pro for a year, you could’ve paid for Alfred for a lifetime. I absolutely agree. Due to Alfred being a one-time purchase and its wonderful speed and performance, I tend to agree with Josh that: ...

2024-03-03 · 1 min

Fuck You Show Me the Prompt

Hamel dives deep into how LLM frameworks like langchain , instructor , and guidance perform tasks like formatting the response in a valid JSON output. He intercepts the API calls from these Python libraries to shed some light on how many API calls (to OpenAI’s GPT services) they make and what prompt they use. I’ve always been skeptic of the usefulness of many of the LLM “wrapper” libraries, specially for larger and more serious projects, as they are fine for quick prototypes. ...

2024-02-29 · 3 min

GROUP BY ALL in Bigquery

I came across this Linkedin post from a Google engineer, on a new (in preview) and very interesting BigQuery syntax: GROUP BY ALL. This will save time when writing and specially modifying complex SQL queries on BigQuery. The GROUP BY ALL clause groups rows by inferring grouping keys from the SELECT items. It will exclude expressions with aggregate and window functions, constants, and query parameters for a smart GROUP BY. So instead of GROUP BY name, city, device, browser, date or GROUP BY 1, 2, 3, 4, 5 you would use GROUP BY ALL. ...

2024-02-28 · 1 min

Classless Css Libraries

For small web projects that you don’t want to get large CSS frameworks like Tailwind to be involved, the classless CSS libraries can be very handy. You just 1-2 lines into the head of the html and get beautifully styled pages. Here are a few classless CSS libraries you can use: concrete.css water.css pico css simple css classless.de mvp.css NES.css drop-in minimal css Usage example To use water.css , just paste this into the <head> of your HTML: ...

2024-02-25 · 1 min

Color Palette Generators

I stumbled upon a hackernews thread where people have recommended many interesting tools to help with generating color palettes for various use cases. I’m creating this list for my future self, and will add other options whenever I come across one. uicolors.app : I’ve used this one when working on redesigning the user interface for my latest side project. The nice feature of uicolors.app is its Tailwind export functionality which allows you to quickly export the color palette as a Tailwind config code snippet. tints.dev : Palette Generator + API for Tailwind CSS colorjs.io huemint.com adevade.github.io/color-scheme-generator colorcolor.in colormind.io paletton.com huehive.co : Generate palettes with ChatGPT source ...

2024-02-21 · 1 min

There Is a Huge Gap in Generative Ai

There is a huge gap in generative AI between the quality you observe when you’re playing with it open endedly, and the quality you observe when you try to use it for a task where you have a specific end goal in mind. This is I think where most of the hype/reality mismatch occurs. This accurately sums up my experience using generating AI in a daily base and building products with this technology. ...

2024-02-20 · 1 min

Office Politics

If you need another reason to hate office politics, Dave Anderson shares some awful advice on how to join office politics, one of them is: Slow down other teams If other teams move quickly, your team can become a bottleneck. That never looks good. When a wild animal is chasing you, you need to not be the slowest. Slow down your peer teams by asking for info, or starting processes. As a bonus, you look as if you’re holding a high bar. ...

2024-02-20 · 1 min

A Rant on Arc Search

Manu writes about apps and businesses who claim to replace search engines by feeding the web page content to a language model and returning the response to the user: Firstly, without a search engine in the mix, the AI has no way to search for anything. So if the goal is to replace the traditional search engine then we’re already failing. Because we’re not replacing anything, we’re just hiding it behind some AI tool. ...

2024-02-18 · 2 min

Spot the Difference

Herbert Lui writes about his experience getting writing feedback from editors: My editors were giving me comments and suggestions on all of these posts, but I noticed a tension: as I accepted these changes and resolved comments, they would effectively disappear into a basement-equivalent dropdown menu, never to see the light of day again. I would lose the majority of the feedback that I received. But it’s difficult to learn from your mistakes if you don’t reflect on them. He then starts logging the feedbacks he receives: ...

2024-02-16 · 2 min