HNHacker News
TopNewBestAskShowJobs

tofukid

253 karma · joined April 27, 2021

submissionscomments
tofukid··on Ask HN: What is the fastest way to go from vague idea to finished product?
It depends on the product. Sometimes you can test the market without building anything, sometimes you just need a landing page, and sometimes you need to build an app. Sometimes you can build the app with no-code tools, sometimes you can use a platform, sometimes you need to hire an agency or get a technical co-founder.

Feel free to email me if you want advice for what you have in mind. My email is in my profile.

tofukid··on Ask HN: How to deal with coccyx pain while sitting?
Have you tried not sitting so much? Consider a standing desk and giving your butt a break sometimes.
tofukid··on The Problem with Ethereum
https://github.com/bitcoin/bitcoin/commits/master

I wouldn’t consider that stagnate.

tofukid··on Ask HN: Money vs. Passion – What would you do?
Passion. We don’t know how much time we have. Enjoy your life.
tofukid··on Ask HN: What is fair payment? How should employees be compensated?
If you don’t like your situation, you should change it. If you don’t enjoy full-time programming, figure out why and change it or do something else.

I was in your situation once. I started remote contracting, then moved to a developing country where I could live on very little of my country’s currency, then started working less.

Instead of feeling stuck, start exploring all the different ways you could live. Here’s some examples to get you thinking:

- Get a remote job and travel and live in cheaper places.

- Figure out how to earn more money with programming. You’ll still be in the M-F grind but you’ll have more money.

- Downsize and live with roommates or parents, so you’ll save more money.

- Join a Buddhist monastery and live with no bills or job at all.

- Work part-time. Make less and live with roommates, but have more free time.

- Consider other ways to earn money besides programming. Become a personal trainer, do landscaping, work at a cafe, teach language classes, become a chef, write ebooks, there’s so many ways to earn a living.

tofukid··on Ask HN: Why there is no DNS for the paper mail?
Call your legislators and propose it.

I use a virtual mailbox service, physicaladdress.com. They scan my mail and give me an online interface to view it. If I want, I can choose to scan the contents, forward it, or shred. It’s not a PO Box so I can use it as a real address.

tofukid··on Ask HN: Where can I learn modern common-practices for web accessibility?
HTML is already designed to be accessible. Writing accessible websites is mostly about using the intended HTML elements and attributes.

Use <a> for links, use <form> for user input, with <label> and the proper input elements. Use the alt attribute for images that communicate information. The most common accessibility issues I see are recreating input without forms, and recreating links with anchor tags using JavaScript.

tofukid··on Haskell for the Elm Enthusiast
I use a GitHub action to build, send the new binary to a server, and then restart the app.
tofukid··on Haskell for the Elm Enthusiast
It’s pretty much just Scotty, but it’s parameterized by an environment (state) that can be read from actions/routes, and doesn’t use Monad transformers.
tofukid··on Haskell for the Elm Enthusiast
On second thought, there is one minor annoyance with Haskell: Most companies don’t release an API client for it, so I often have to make the HTTP calls myself to various third party services.
tofukid··on Haskell for the Elm Enthusiast
I enjoy it, the safety guarantees let me sleep at night, and the package APIs don’t constantly churn.

The only thing that I usually can’t find a library for is API clients for various services. Most companies don’t make a haskell client. In these cases I have to make HTTP calls to their API myself.

tofukid··on Haskell for the Elm Enthusiast
Thanks for the feedback, I’m glad sumi.news works well on your device.

I am wary of large frameworks, so I have not tried IHP. It looks nice though.

tofukid··on Haskell for the Elm Enthusiast
The most important thing for me is rapid development with no surprises and package churn, since I'm either trying to get an MVP out ASAP, or I'm trying to deliver under a deadline for a client.

Here's an example of a working app using my approach I described above: https://jsbin.com/putonutica/edit?js,output

The two functions, render and dispatch, are essentially the only code I share across the projects. That's the whole "framework". It's 19 lines of code. All it requires is a link to Preact, which is 14K. Oh, and I just keep everything in one big file. Simple, but I've built multiple complex single-page JS apps with this approach.

I'm sure someone will tell me I'm doing it all wrong, and I need to use Next.js with webpack, a giant stack of npm packages, code-splitting and bundling, and whatever craziness front-end developers are doing today.

tofukid··on Haskell for the Elm Enthusiast
If downtime is permitted, I just write a script to migrate the data and run it. I prefer to write this script in SQL, but if that’s not possible I’ll just use Haskell or shell. Often I can use this approach with no downtime leveraging a proxy server/load balancer, if the migration is quick.

If zero downtime is required, I write the code to migrate the data to the new schema. Then update the app to write to the new schema while reading from old and new schemas. Then in a subsequent deploy after data is migrated, I write code that removes support for reading from the old schema.

tofukid··on Haskell for the Elm Enthusiast
- I’ve used everything. NodeJS, React, Rails, Python , Rust. Once I learned Haskell I fell in love and never went back. I code in Haskell because I enjoy it, I can sleep at night because of the safety guarantees (no crashes), and I find it aesthetically pleasing and easy to think in. One of the things I enjoy most is the stability of the package APIs.

- I try to avoid JS. I do progressive enhancement with vanilla JS, and avoid JS webapps unless absolutely necessary. If I need to write a JS webapp, I use a purely functional approach. I found that when writing React, using frameworks, using TypeScript or PureScript, I lost so much time and effort managing my build step and fighting with APIs and package churn. I use preact with the htm library, vanilla JS, and most importantly no build step and no npm. I don’t use a framework. I use a purely functional approach inspired from Haskell/Elm. I have an update function which returns a new state and effects from the current state and event, and a dispatch function which is attached to onevent props. The dispatch function calls the update function, renders, and runs effects. These few functions are 20 lines of code.

- No challenges specific to Haskell so far. Of course I had to learn the ecosystem when I started, which packages to use, language and tooling gotchas, etc. but that is the case for any language.

tofukid··on Haskell for the Elm Enthusiast
Thank you for the compliment on sumi.news.

Haskell has a mature library for JSON, Aeson. I often use it to interface with APIs. You write your type, then functions to serialize/deserialize. Records using simple types (Text, Int, Maybe, etc.) can automatically derive the serialize/deserialize functions using generics.

Funny you mention PDF, because I’m doing that right now in Haskell for a resume builder project. There’s a few libraries for working with PDFs. HPDF (https://hackage.haskell.org/package/HPDF) supports all the basic functionality you’d expect to create PDFs.

tofukid··on Haskell for the Elm Enthusiast
No, I’m an indie hacker that also does some contracting. I am a one-man shop, so I don’t need to worry about hiring or working with others. I code in Haskell primarily because I enjoy it, the safety guarantees let me sleep at night, and I find it aesthetically pleasing.

There are plenty of Haskell developers, though not as many as more popular languages. Hiring for Haskell is more competitive, but easier to attract developer attention.

tofukid··on Haskell for the Elm Enthusiast
I code webapps in Haskell (latest is https://sumi.news). My stack is simple:

- Twain (like Sinatra) for server and routing: https://hackage.haskell.org/package/twain

- WAI middleware for things like static servers, rate-limiting, body-parsing, etc.: https://hackage.haskell.org/package/wai-extra and https://hackage.haskell.org/package/wai-middleware-static

- Blaze-html for writing HTML views: https://hackage.haskell.org/package/blaze-html

- Selda for a LINQ-style type-safe SQL interface to PostgreSQL and SQLite: https://selda.link

I’d be happy to answer any other questions about developing web apps with Haskell or libraries I use.

tofukid··on A bad grade that changed the U.S. constitution (2017)
> originalism wants it to be interpreted in the way it was originally written.

Originalists want it to be interpreted in the way it was intended. They go to great lengths to discover the original intent behind the law as it was understood at the time of writing.

https://en.m.wikipedia.org/wiki/Originalism

I’m honestly amazed that any other position but originalism is considered rationally tenable. Laws are written with an intended meaning and understanding. The idea that the intent and meaning of law should change with time is ridiculous. The law should be changed if people come to find it disagreeable, not reinterpreted. Judicial activists seek to subvert the will of the legislature, and in that way they are criminals.

tofukid··on It looks like a product but is secretly a subscription
It’s just too much money for business owners to leave on the table, despite being a dark pattern.

Even if a product doesn’t necessitate a subscription, the revenue compounds, so subscriptions can be 10-100x the revenue of a one-time charge.

tofukid··on You don't need external assets in an HTML file
Once you have multiple pages, and moderately sized CSS/JS files, linking to them reduces the download time for each subsequent page, as the linked files are cached across pages.
tofukid··on I am launching my platform soon, do I need to incorporate as a business yet?
I would not incorporate a business until you have revenue. This is because incorporating, taxes, maintaining registration compliance in your incorporation jurisdiction cost you time and money which should be spent on getting revenue.

For example, if you operate out of a place like California, they charge $900/year even if you have no revenue.

tofukid··on The Day the Good Internet Died
I still use an RSS reader <https://sumi.news>.

It's not Google Reader, but it's a clean interface for reading RSS, Twitter, and newsletters. And there's a view of the latest post from each feed, so I don't get lost in the firehose and miss out on updates from people who post less frequently.

tofukid··on Ask HN: Solopreneurs, what is your day and week like?
What’s your product/SaaS?
tofukid··on Curated list of personal blogs
This is great. I’ve found some to follow with my RSS reader, https://sumi.news
tofukid··on Show HN: Sumi.news – A peaceful news feed. Follow RSS, Twitter, and newsletters
It looks like YouTube has started blocking requests today. I will see what I can do about that. If you use the RSS feed URL it works: https://www.youtube.com/feeds/videos.xml?channel_id=UCV0qA-e...
tofukid··on Show HN: Sumi.news – A peaceful news feed. Follow RSS, Twitter, and newsletters
Hi, I'm the creator of <https://sumi.news>.

Why create another reader?

- Sumi.news has a per-feed view, showing only the latest entry, ordered by most recent update. I couldn't find this in other readers.

- Sumi.news is simple. There's a single, clean, chronological feed. Unread counts stress me out, tags and bookmarks are better left to bookmarking services.

- Sumi.news is fast and light. Many other reader webapps are slow, heavy, client-side JS apps.

- Sumi.news is affordable. It's $33 per year. No limits, ads, or business plans.

- Sumi.news lets you follow newsletters and microformats2 blogs (indieweb blogs).

Tech stack: Sumi.news is built with Haskell and PostgreSQL. It uses Warp/WAI, blaze-html, and selda. It's hosted on Linode.

tofukid··on Ask HN: Should I move to San Francisco?
Life is short. Do what you love. If you love San Francisco you should live there.

Because you're single with no kids I would get a room in a house with others. That way you're not spending all your money on rent.

tofukid··on Ask HN: Is there a way to break the vicious cycle of YouTube Shorts?
I don’t think it’s YouTube, it’s the computer itself. The problem is getting on the computer with no purpose. If you’re sitting on the computer, with no direction, you will end up mesmerizing yourself with whatever you find interesting.

I think the solution is to stop sitting around on the computer/phone in the first place. If you stop using YouTube, but sit there on your phone for no reason, you’ll just end up wasting time on something else.

tofukid··on What are the most profitable small projects?
Infoproducts have practically no marginal cost, no support obligation, and can be produced without any initial capital investment.
← PreviousPage 3 of 6Next →