HN user

Ethan_Mick

745 karma

~~Software engineer turned entrepreneur building an internet business of diversified revenue.~~

Now I work at a big tech company.

Blog: https://ethanmick.com YouTube: https://youtube.com/@ethan_mick Twitter: https://twitter.com/@ethan_mick

You can email me at [ethan] at the domain above. I'm always interested in chatting to new people and answering any questions.

Posts43
Comments66
View on HN
zachwills.net 10mo ago

I Managed a Swarm of 20 AI Agents for a Week and Built a Product

Ethan_Mick
2pts0
www.alvar.dev 2y ago

Devtools for React Server Components

Ethan_Mick
1pts0
www.therobotreport.com 3y ago

Figure raises $70M to commercialize humanoids

Ethan_Mick
3pts0
react.email 3y ago

Build and send emails using React and TypeScript

Ethan_Mick
1pts0
ethanmick.com 3y ago

Using Supabase's Edge Runtime to Supercharge Your App

Ethan_Mick
2pts0
ethanmick.com 3y ago

On Starting Something New

Ethan_Mick
1pts0
ethanmick.com 3y ago

Want to move faster? Keep it simple

Ethan_Mick
1pts0
ethanmick.com 3y ago

Five great React UI libraries you didn't know existed

Ethan_Mick
2pts0
ethanmick.com 3y ago

On Picking Boring Technologies

Ethan_Mick
1pts0
ethanmick.com 3y ago

Why your next API should be GraphQL instead of REST

Ethan_Mick
2pts0
ethanmick.com 3y ago

How to set up Apollo with Next.js

Ethan_Mick
1pts0
ethanmick.com 3y ago

How to set up Prisma with Next.js and Postgres

Ethan_Mick
1pts0
tailwindui.com 4y ago

Official Tailwind Website Templates

Ethan_Mick
7pts0
www.benburwell.com 7y ago

How does DHCP work?

Ethan_Mick
2pts0
latacora.com 7y ago

Latacora – Security Teams for Startups

Ethan_Mick
7pts2
tailwindcss.com 7y ago

Tailwind: A Utility-First CSS Framework

Ethan_Mick
327pts101
snapsvg.io 7y ago

Snap.svg – The JavaScript SVG Library for the Modern Web

Ethan_Mick
1pts0
research.swtch.com 8y ago

Bourne Shell Macros (2008)

Ethan_Mick
1pts0
www.newyorker.com 8y ago

The Family That Built an Empire of Pain

Ethan_Mick
3pts0
www.mullvad.net 8y ago

Mullvad – VPN service

Ethan_Mick
4pts0
news.ycombinator.com 9y ago

Ask HN: What cloud security practices should you do, but don't?

Ethan_Mick
11pts4
fortune.com 9y ago

Faraday Future Halts Work on Nevada Electric Car Factory

Ethan_Mick
1pts0
zeit.co 9y ago

Zeit – instant and realtime cloud deployment for Node.js

Ethan_Mick
1pts0
www.bloomberg.com 9y ago

Tesla Adds Model S Version

Ethan_Mick
2pts0
stratechery.com 10y ago

Google’s Go-to-Market Gap

Ethan_Mick
6pts0
www.ethanmick.com 10y ago

What are you Maximizing? Why?

Ethan_Mick
2pts0
www.ethanmick.com 10y ago

Why I like Hapi more than Express

Ethan_Mick
1pts0
www.unrealengine.com 10y ago

Free Infinity Blade Collection Now Available

Ethan_Mick
3pts0
gist.github.com 10y ago

Walmart Mobile Node.js Setup (2013)

Ethan_Mick
1pts0
github.com 11y ago

Tiny HTTP server engine written in Swift

Ethan_Mick
35pts12

I think this is a good moment to bring up a question I was thinking on earlier today.

In a world where agents are searching, building, and signing up for services, how do you advertise your product?

And not just advertise in traditional sense (ads in ChatGPT), but general marketing and awareness of what you're offering. Google search ads? Agents aren't using Google. Launch on Reddit for humans and hope your post gets scraped? Write up a bunch of marketing blog posts and wait for LLMs to ingest your content and have it feed into the next generation of models?

I honestly didn't quite know. If I were to launch a product today, I'd want it to be agent focused. But then how do you tell them about your product? Do these ChatGPT ads get returned if Codex does a web search? Is that good? Bad?

I've been working on Lorcast (https://lorcast.com/) a Scryfall like search for Lorcana. Scryfall offers a powerful search engine and query language to search for Magic: The Gathering cards. Lorcana is a new card game by Disney that also has a competitive scene. As the number of cards grows it will become more important to have good search _and_ good APIs for the community to build with.

It's been a breath of fresh air to work on something that I have no plans to monetize. I just want to build something useful for the community to use and that has allowed me to be relaxed with building it.

Anyways, if you play Lorcana I encourage you to check it out! The game is lots of fun.

How do people on HN like Row Level Security? Is it a better way to handle multi-tenant in a cloud SaaS app vs `WHERE` clauses in SQL? Worse? Nicer in theory but less maintainable in practice?

fwiw, Prisma has a guide on how to do RLS with it's client. While the original issue[0] remains open they have example code[1] with the client using client extensions[2]. I was going to try it out and see how it felt.

[0] https://github.com/prisma/prisma/issues/12735

[1] https://github.com/prisma/prisma-client-extensions/blob/main...

[2] https://www.prisma.io/docs/concepts/components/prisma-client...

I think this is a good question. Screenshots are hard on HN, but I could write up a blog post about it all once I have a demo of the game.

I've been using ChatGPT and GPT-4 since they came out, so I'm pretty aware of their limitations. You can't build an entire project in a single project. GPT loses the context at one point.

With that in mind, break down the project into chunks and make each one a conversation. For me, that was:

1. Initial Setup

2. Add a randomly generated tilemap

3. Character Creation and Placement

4. Movement

5. Turn-based execution

6. Fog of War

7. Enemy Monsters

Each one of these is a separate thread. They start with:

You are an expert game developer using Phaser 3 and TypeScript. You are going to help me create a game similar to Pixel Dungeon using those technologies.

I then copy in relevant code and design decisions we already made so it has the context. If it gets the answer totally wrong, I'll stop the generation and rephrase the question to keep things clean.

Lastly, I'll frequently ask it to talk about design first saying something like:

We are going to start with the world map and dungeon generation to start. We'll add a character sprite and movement next. What's the best way to do tilemap generation and store the data? Don't write any code, just give me high level suggestions and your recommendation.

This lets me explore the problem space first, decide on an approach, and then execute it. I'll also ask for library suggestions to help with approaches, and I'm generally surprised by the suggestions. Like all software, once you know the design, the pattern, the goal, and have good tools to help you achieve it... the coding isn't all that hard.

Thanks for the response! It sounds like (in a good way) there's no shortcut. You build something, make it better, make it great, and talk about it for a long time to establish credibility.

Probably a good lesson in there for everyone.

TypeScript happens to be my current strongest language. I picked Phaser since I wanted to learn the ins and outs of building the game and not need to worry about the language I was writing in. This was also helpful because GPT-4 would still get small things wrong with the TypeScript, but I was able to easily fix those without needing to ask it.

If I had tried this in Unity and C# (which I don't know at all), I'd still be figuring out the standard library.

I generally recommend learning one new thing at a time when building something new.

I was thinking of building this for Next.js in a very similar way. I love the fact that this exists for a different stack! I think your implementation of the project template is definitely the way to go. As a customer, when I buy something to jump-start me, I want it to be as clean and simple as possible. Generating the project from a configuration handles that nicely.

Outside of the generator itself, what have you found most beneficial for converting customers and convincing people to buy? Documentation? Videos? The community access?

More importantly, it gives me the courage to dream and attempt things beyond my current abilities.

This is one of the small things that GPT has pushed me to do. I'm an experienced programmer and grew up playing video games, but I am not a game developer. I've dabbled over the years but can't build anything outside of a tutorial.

The other day, using GPT I went through and made a Pixel Dungeon clone using Phaser (JavaScript game engine). It was such a delight. Together we got the game to a working state before I started to change some of the fundamental design, and then GPT started hallucinating pretty badly. When that happened, I stopped for the night, and then just started new focused conversations to add or change a feature, putting in the relevant code. It's turn-based, with simple AI, enemy monsters, fog of war, line of sight, and a victory/losing condition.

Being able to build this in a couple of days is an absolute game-changer, pun intended. I can only imagine the riches of experiences we will have as people are unblocked on skills and can pursue an idea.

Bing Image Creator 3 years ago

So, currently OpenAI's Dalle-2 gives me:

"The server is overloaded right now, please try again later."

I guess all their compute power is going to power this. And even now the Bing generation is taking a long time. Definitely seems like their having scaling issues at the moment.

This is very similar to an except in Derek Sivers book on cdbaby.com. (CD Baby let independent artists sell their music CDs on the site long before iTunes). In it, he writes:

  At a conference in Los Angeles, someone in the audience asked me, "What if
  every musician just set up their own store on their own website? Since that'd
  be the death of CD Baby, how do you plan to stop that?"
  
  I said, "Honestly, I don't care about CD Baby. I only care about the musicians.
  If some day, musicians don't need CD Baby anymore, that's great! I'll just shut
  it down and get back to making music."
  
  He was shocked. He had never heard a business owner say he didn't care about
  the survival of his company.
  
  To me, it was just common sense. Of course you should care about your customers
  more than you care about yourself! Isn't that rule #1 of providing a good
  service? *It's all about them, not you.*
I think a lot of companies forget that.

Good.

I've seen over and over this harm friends in frustrating ways. Tech aside, non-competes in other industries are completely insane. My wife is an optometrist and all local shops have draconic noncompetes you are forced to sign. If you leave the shop you can't work within 30 miles (or more!) of that location.

I've had friends move entire cities just so they can get out of a terrible work situation. Worse, I've had friends stay in bad situations because their noncomplete would force them to move or drive way too far for work.

And since everyone does it, they're resigned to "it's just the way it is" and nobody wants to risk being sued.

I want to like this a lot, but it's not quite there for me.

A datum says it is "Project Billing" and has a rate of $300. Is that $300 per hour? Is that $300 total? What does that mean?

I need to be able to filter by location. For me, comparable large US cities. My cost of living is vastly different than someone living in India.

For this to be most useful, I need to be able to put in my rough skillset and then find how much similar people charge. Just browsing rates around the world isn't that useful.

And that brings me to the last issue. Hourly billing is stupid [1]. As much as possible, you should avoid charging hourly. It incentives you to work slower, more poorly, and have a worse experience with the client. But it's too hard to say, "I charged USD 100k for my project," because you need to have a complete and intimate understanding of the project.

For example, my latest consulting gig was fixing some Google Analytics and Facebook conversions for a small business. They were broken, and I fixed them. It took me ~15 minutes, and they paid me $1000. They got incredible value (their ads started working properly again), and I got paid for minimal effort. What do I put down on a site like this, $4000/hr?

1: https://jonathanstark.com/

Don't hire until you need to.

And then don't hire until you want to.

I'm doubtful every business can make it to $14M ARR, but I bet many companies could generate $1M ARR without needing employees. And that amount of money would be life-changing for many people (with, of course, the potential to sell what you've created to exit).

I've spent much of my life chasing the "make it big" startup dream. I'll be pretty content if I can generate meaningful recurring revenue by building things I love. Still trying to decouple hours worked from the paycheck.

Does anyone know if this has been updated since then? Do they still hand something like this out to new employees?

I remember reading this years ago and thinking it was just so cool (the contents and structure). But I’m not sure how well it really works in practice. Is it better, or just different?

https://ethanmick.com/

I've been starting to write more about React and TypeScript. I've been slowly creating a guide to walk coworkers through the technologies.

It's generally a terrible idea to write your own website to do this instead of just using a blogging platform. It's been fun to deeply customize some things (iFrames for mini browsers showing React code), but writing the code to send out half decent emails has been a nightmare (https://github.com/ethanmick/ethanmick.com/blob/main/pages/e...). Anyways, any feedback is appreciated!

Source code: https://github.com/ethanmick/ethanmick.com

Syniti | https://www.syniti.com/ | Software Engineer | Full-time | US & Canada Remote

Syniti is one of the foremost data migration companies assisting thousands of customers in managing and migrating their data. In the process we've learned that there is a fantastic opportunity to build out a governance and data quality platform to manage the data we just migrated and continuously evaluate it over time for quality. It is important, critical, and customers pay a lot of money to ensure their companies run smoothly.

Our team has been given the opportunity to build this new cloud platform using the best modern technologies. Go backends with modern UI frontends (React/Angular) all running on our Kubernetes cluster. We strive for engineering simplicity and powerful API's to deliver features quickly to our customers.

We want to chat if you:

* Have experience designing, developing and shipping cloud software

* Write well-crafted, readable, and maintainable code

* Are a team player and participate actively in code reviews to ensure quality and distribute knowledge

* Contribute in debugging and troubleshooting complete stack of services

* Are empathetic, collaborative and communicative

We prefer experience in JavaScript, TypeScript and Go, but we also believe strong developers can pickup languages readily. If this sounds interesting, please reach out directly to me, the Director of Application Engineering: ethan.mick [at] syniti.com. I'd love to chat!

Syniti | https://www.syniti.com/ | Software Engineer | Full-time | US & Canada Remote

Syniti is one of the foremost data migration companies assisting thousands of customers in managing and migrating their data. In the process we've learned that there is a fantastic opportunity to build out a governance and data quality platform to manage the data we just migrated and continuously evaluate it over time for quality. It is important, critical, and customers pay a lot of money to ensure their companies run smoothly.

Our team has been given the opportunity to build this new cloud platform using the best modern technologies. Go backends with modern UI frontends (React/Angular) all running on our Kubernetes cluster. We strive for engineering simplicity and powerful API's to deliver features quickly to our customers.

We want to chat if you:

* Have experience designing, developing and shipping cloud software

* Write well-crafted, readable, and maintainable code

* Are a team player and participate actively in code reviews to ensure quality and distribute knowledge

* Contribute in debugging and troubleshooting complete stack of services

* Are empathetic, collaborative and communicative

We prefer experience in JavaScript, TypeScript and Go, but we also believe strong developers can pickup languages readily. If this sounds interesting, please reach out directly to me, the Director of Application Engineering: ethan.mick [at] syniti.com. I'd love to chat!

Syniti | https://www.syniti.com/ | Software Engineer, DevOps | Full-time | US & Canada Remote

Syniti is one of the foremost data migration companies assisting thousands of customers in managing and migrating their data. In the process we've learned that there is a fantastic opportunity to build out a governance platform to manage the data we just migrated and continuously evaluate it over time for quality. It is important, critical, and customers pay a lot of money to ensure their companies run smoothly.

We are building out this new platform using the best modern technologies. Go backends with modern Angular frontends all running on our Kubernetes cluster. We strive for engineering simplicity and powerful API's to deliver features quickly to our customers.

We want to chat if you:

* Have experience designing, developing and shipping cloud software

* Write well-crafted, readable, and maintainable code

* Are a team player and participate actively in code reviews to ensure quality and distribute knowledge

* Contribute in debugging and troubleshooting complete stack of services

* Are empathetic, collaborative and communicative

We prefer experience in Java, JavaScript, or Go, but we also believe strong developers can pickup languages readily. You can view specific positions at https://www.syniti.com/company/careers/, but we are hiring for more than just those roles.

If this sounds interesting, please reach out to: nancy.vivian@syniti.com

Syniti | https://syniti.com/ | Software Engineer | US & Canada Remote

Syniti is one of the foremost data migration companies assisting thousands of customers in managing and migrating their data. In the process we've learned that there is a fantastic opportunity to build out a governance platform to manage the data we just migrated and continuously evaluate it over time for quality. It is important, critical, and customers pay a lot of money to ensure their companies run smoothly.

We are building out this new platform using the best modern technologies. Go backends with modern Angular frontends all running on our Kubernetes cluster. We strive for engineering simplicity and powerful API's to deliver features quickly to our customers.

We want to chat if you:

* Have experience designing, developing and shipping cloud software

* Write well-crafted, readable, and maintainable code

* Are a team player and participate actively in code reviews to ensure quality and distribute knowledge

* Contribute in debugging and troubleshooting complete stack of services

* Are Empathetic, collaborative and communicative

We prefer experience in JavaScript or Go, but we also believe strong developers can pickup languages readily.

If this sounds interesting, please reach out to: nancy.vivian @ <domain above>

Virtyx Technologies | Software Engineer | Boston, MA | ONSITE | Full-time | https://virtyx.com/

At Virtyx, we are determined to reinvent how companies monitor their infrastructure and applications, and how they resolve the problems uncovered. You will work on projects that span technologies, systems, and processes; you will design, test, and ship great code every day. You will have ownership over the features you create and will see first hand how our customers use them.

We’re looking for people with a strong background or interest in building a successful product. You are comfortable in dealing with lots of moving pieces; you love building features that directly impact customers; you have exquisite attention to detail; and you’re comfortable learning new technologies and systems.

https://virtyx.com/jobs/software-engineer/

Lastly, if you are on the fence about applying, please do. If you’re feeling daunted because you don’t think you quite check all the boxes but are excited about what we’re doing and want to come work with us, please apply anyway. We’re excited to hear from you!

Virtyx Technologies | Software Engineer | Boston, MA | ONSITE | Full-time | https://virtyx.com/

Virtyx is the easiest way to monitor and fix servers, desktops, and laptops. We built monitoring as powerful as Datadog, integrated it with osquery, and have automated scripts and an integrated shell to allow our customers to fix their problems right in the product. The integration allows us to automatically tag fixes and present solutions across our entire user base.

Our customers love our product, and we're excited to keep pushing what it can do. We're looking for positive people who want to be challenged and grow with the company. We empthasize with our customers and really try to understand how we can help, and ensure our product does it in the best way possible.

https://virtyx.com/jobs/software-engineer/

Also: if you are on the fence about applying or talking to us, please do. If you’re feeling daunted because you don’t think you quite check all the boxes but are excited about what we’re doing and want to come work with us, please apply anyway. We're all human, and we’re excited to hear from you!

Very fun! The tutorial could be a little more verbose; I played through it and still only had a vague idea as to how the mechanics work.

Decided to play a 1 vs 1 anyways. I started out behind as I warmed up to the mechanics, but had a lucky streak into enemy territory and found the opponent general faster than he found mine. Even though my opponent had a larger army by double, my smaller army was able to move faster, and I captured his general when his army was one tile away from mine. Intense!

I want as little downtime as possible in my movement, so being able to use the keyboard to not only move my army after I have selected it, but then keep them selected so I can command them to move again would be great. Use the mouse to jump to a new tile to select it, and then use the keyboard to move it.

Bonus feature! Allow me to give a number to an army (control group), so I can quickly jump between my armies and move them with the keyboard!

Keep it up!

Virtyx Technologies | Frontend Engineer, Backend Engineer | Boston, MA | ONSITE | Full-time | https://www.virtyx.com/

Virtyx is focused on building a new approach to devops and cloud management. We're using AI to setup monitoring automatically and have it change and adapt as your product grows and evolves. We're iterating over the AI and making it smarter and smarter. Every customer we add teaches it about additional infrastructures and setups.

We're looking for driven engineers who want to focus on building an incredible product. You agonize over details and love shipping code.

Our Stack:

  * Angular.js 1.5, moving to 2.x  
  * ES6 (Migrating from CoffeeScript)  
  * Spring && Java  
  * Postgres
Please email your resume to jim [at] virtyx.com if you're interested!

What does this mean for Amazon's Fire HD 6" Tablet[0]? Looking it now, the new Fire tablet is about the same in every way (screen resolution lacking), but at $50 more, I'm not sure the better screen resolution will win many people over.

The new Fire Tablet even has features the 6" one is missing! Mayday and an SD card slot.

[0] http://www.amazon.com/gp/product/B00KC6I06S/