729 karma · joined April 8, 2018
(I’m not sure why the data from my old domain, cyhsu.xyz, hasn’t been aggregated to the new hsu.cy, despite the methodology page saying it should. Must I return the canonical header in addition to a 301 code?)
It was also during the past year that I came to realize how powerful and versatile Hugo is. I had used Hugo for many years, touching only the most basic feature set. Last year, I decided to be done with Twitter and Instagram and make my own timelines of text and photo posts with similar layouts. Initially, I thought it might require separate instances of GoToSocial and Pixelfed. It turned out that Hugo could do it all with a few tweaks, and now they are live at hsu.cy/notes and hsu.cy/gallery, respectively. I highly recommend it to everyone who wants to start their own blog.
Please don’t. Most mobile apps made by Chinese developers, esp. big techs, do employ grid, paged layouts everywhere as though multiple iOS home screens were squeezed into the app. However, most grids in such layouts are useless, distracting, and even malicious from a UX perspective, their mere reason to exist being to steer users into endless rabbit holes of the devs’ multiple lines of businesses for KPI purposes, and thus subject to constant and arbitrary changes. As such, you can find an icon for personal financing in a cloud storage app, or find an icon for groceries in a ride hailing app, only to be replaced with icons for online dating and hotel booking and something something a week later. This density of user-adversarial features is to be avoid by all means.
They are also extremely useful when it comes to adblocking. Without their partial matching capabilities it'd have been almost impossible to target ad-containing elements in most of these days' js and framework-ladden websites.
There is no reason for Kagi to remain “pure” and avoid AI features as suggested by hardcore AI haters. I am not a fan of AI hype either, but I am pleased to see that Kagi has integrated some moderate capabilities such as the summarizer and search-based generation, which are natural extensions of a modern search engine. (I do hope they improve the expert mode soon, as it is currently far inferior to Perplexity, but that does not invalidate the general point.)
Email-based account management may not be perfect from a privacy perspective, but registering with a privacy email alias has mostly resolved my concerns. As for GDPR, let’s not pretend that it is disproportionately burdensome for startups. I value the way a company operates much more than the privacy theatres (banners, opt-outs, legaleses) enforced by GDPR.
Other criticisms regarding operational details range from nitpicking to trivial. I do hope that the founder was less insistent on arguing with and lecturing zealous users like the author.
It’s just not convincing to say that immediately after an improvised performance of EA maths justifying a water dispenser charity against Instacart…
From their Markdown Annotations specs [0], the authorship is recorded in a quasi-YAML block at the end of the file, e.g.,—
Annotations: 0,95 SHA-256 1132bf5e376a605f5beed4b204456114
@Human: 0,20 33,4 45,6 62,4
&AI: 20,13 37,8 51,11 66,29
The format is bad for multiple reasons:1. it doesn’t work with the existing de facto standard for markdown metadata, i.e., the YAML frontmatters; the markdown standard is already too fractured to have a new extension;
2. it messes with types by using YAML strings for arrays and integers;
3. it’s inefficient — any change in the file would demand iterating through all recorded ranges and updating the offsets.
I’d prefer it to adopt the YAML frontmatters:
authorship:
authors:
- {id: 0, name: Human, hash: xxxxxxxx}
- {id: 1, name: AI}
ranges: # adding ids to help resolve potential conflicts
- {id: 0, author: Human, begin: 0, len: 20}
- {id: 1, author: AI, begin: 20, len: 13}
[0]: https://github.com/iainc/Markdown-Annotations``` You are an expert tailwind developer. A user will provide you with a low-fidelity wireframe of an application and you will return a single html file that uses tailwind to create the website. They may also provide you with the html of a previous design that they want you to iterate from. Carry out any changes they request from you. In the wireframe, the previous design's html will appear as a white rectangle. Use creative license to make the application more fleshed out. if you need to insert an image, use a colored fill rectangle as a placeholder. Respond only with the html file. ```
(not sure about why the creative[commons?] license is referred here and why does it help.)
and for each generation the user prompt is:
``` [IMAGE_LINK] Turn this into a single html file using tailwind. ```
https://github.com/tldraw/draw-a-ui/blob/8a889bf36afc06fbb0c...
Looks simple enough to run “privately” by screenshooting a normal tldraw canvas and passing the prompt with it to the API.
Therefore I made the simple Node application that emulates bangs with the single variation that the leading character `!` is replaced with `v` (case-insensitive to accommodate iOS’ auto-captalization), which is easier to input on either desktop or mobile. An OpenSearch manifest is included so the site can be discovered by browsers and eligible to be set as the default search engine. You can also supply your own catalog of bangs following the format of DDG’s `bang.js`.
A preview deployment is available at https://vbang2.vercel.app/ and you are invited to deploy your own instance (instructions in readme). I’m completely new to Node so please tolerate sharp corners all over the project :)
If you waste ~3k words to argue such an evident point as "note-taking tools can't make you smarter", of course you should be surprised if people would spend even 47 seconds skimming through your article.