Startups can still win against big players by building better products faster (with AI), collecting more / better data to feed AI, and then feeding that into better AI automation for customers. Big players won't automatically win, but more data is a moat that gives them room to mess up for a long time and still pull out ahead. Even then, big companies already compete against one another and swallowing a small AI startup can help them and therefore starting one can also make sense.
HN user
markmiro
https://markmiro.com
What I love about this is how the design looks different from what you'd get if you designed a site in a more common way. Every tool has different affordances. And I love that you can see that in the site. It's immediately obvious that something about the creation of the website is unique
I've had the same frustration. I want to go from intent to a UI as quickly as possible.
My intuition about solving this is to create components where instead of a select and a radio button being separate components, they're the same component with basically the same API.
And instead of deciding on a spacing between components, you just get spacing more or less automatically so everything looks good by default.
If these proofs really are like codebases, wouldn't we eventually expect these proofs to be written as software?
You'd install lemmas using a package manager and then import them into your proof.
You can then install updates to proofs. Maybe someone has found the proof to be wrong, in which case you either find a different proof or invalidate the lemma so all the dependents can be invalidated automatically.
This is great information. I'm not against meat. However, I was toying with a vegan/vegetarian diet when I got into tracking nutrients, and my learnings reflect that (ex: nutritional yeast). My daughter still struggles with chewing meat. Organ meats might be a good idea for her.
I'm aware that plants have defensive chemicals though I haven't researched it in too much depth. I can probably be convinced to drop spinach and nuts.
I don't eat enough organ meats. Chicken liver seems cheap for the nutrition you get out of it. I never bothered getting into cooking it, but it seems like a good idea.
Good point on the fish oil. My daughter is totally fine consuming the gross-tasting fish oil (even without the lemon flavoring) out of a spoon. My guess is she's really craving the nutrients in there. I keep the oil in the fridge, but there might be no real way to compete with fresh fish.
I've thought about making something like this in the past.
I've used the "Nutrients" iOS app for tracking nutrition, but not in the way it's meant to be used. Maybe my usage patterns could help you writing your app.
I tend to use the app to get a pulse on the nutrient density of the foods I consume (or feed my daughter). I would make simple meals, and plug them in, and then try to get all the nutrient bars filled up. It was harder than I expected. It was a puzzle to figure out because foods have different levels of each nutrient. I want to avoid adding onto nutrients I'm already consuming enough of.
I tried to use the Nutrients app to search for foods dense in some nutrient I was lacking, but I often found Google searches to be better for this. The way the app ranked foods wasn't useful to me. Was it measuring nutrients by weight? What if I wanted to rank by price, or by region? I don't care that raw Moose Liver has lots of Riboflavin.
I preferred using the app to determine my grocery list because I don't like recipes. I want to know how to cook things individually (pasta, rice, eggs, asparagus, etc) with salt + (butter or oil), and then figure out how to assemble meals on my own. With recipes, I would often have leftovers I didn't know what to do with. I could look up more recipes, but I couldn't see how this would make me a better cook since I didn't know what I was doing or why. I was inspired by Samin Nosrat's Salt Fat Acid Heat approach to cooking. This way I could get nutrition and flavor simultaneously.
This all got really complicated, and I eventually figured I wouldn't reach the end of it. For example, rice grown in different regions has different levels of arsenic. I'm not concerned about arsenic specifically, but the finding got me more curiously interested in toxins, and soil differences around the world. I got into nutrition thinking I could be convinced of one specific diet over another, but I soon found myself looking into differences between soil in different regions.
After I used the app enough, I got a sense of some of my blind spots, and used that to adjust my diet intuitively.
Some changes that more-or-less stuck: - More sun for Vitamin D - More Avocados - Omega-3 from fish oil - Nutritional Yeast for B Vitamins - More greens (especially for magnesium) - Spinach in smoothies - Less sugars, carbs, and bread - Parmesan cheese for calcium - More beans
I have decent intuition around green means chlorophyll molecule means there's a magnesium atom in there, and some others. The minerals are easy enough for me to get enough of. I can usually get enough Vitamin C. I don't have good intuition around Vitamin K, E, Niacin, Riboflavin, Folate. Beans have lots of Folate. This makes sense, but lots of other foods I regularly eat have it too.
I'm inspired to get back into this and start tracking again.
--
BACKGROUND:
After my daughter was born, I was suddenly extremely interested in nutrition. I worried what might happen if my daughter started missing important nutrients. However, it was hard to get trustworthy information on nutrition. Important debates weren't settled. I wasn't confident that I could trust things like the food pyramid. Like you, I felt more confident about using micro and macro nutrients as a way to decide what to eat, but also to compose meals that were nutritionally complete. This is something I didn't see much focus on. People would tout some specific food as "healthy" without putting it in context.
From there, I still wanted to cover my bases for unknown unknowns. If I added more traditional foods, I'd be able to cover for it. As an outsider, I don't know how likely it is that we've discovered all the nutrients we need. For example, I recently saw a research paper asking if Lithium is a micronutrient. Maybe there were foods that had nutrients that weren't discovered, or maybe different people need different levels of the same nutrients. Maybe microplastics are a bigger problem than we imagine. It's hard to account for everything. I wanted a baseline I could start from. I looked into traditional slavic foods. I found that potatoes were more recents, for example, so I wouldn't use them to cover for unknown unknowns. However, cabbage and buckwheat are both nutritionally rich and slavic staples. Maybe I could use this finding to trust dishes that feature these ingredients.
Change jobs, but not because of others moving slowly.
It's amazing that people trust you, but you're worried you'll let your team down. One of the biggest reasons why people leave jobs is because of a lack of growth opportunities, and the longer you stay in your position, the more likely it's going to beat the ambition out of others on the team.
And if most of the code is written by you, this doesn't make you bad for leaving. The easiest code to maintain is code that's written by one person. Sure, some people might get mad and try to shame you, for leaving them to maintain all your code. However, this might be a result of people not believing in themselves. They need encouragement, and some nurturing.
So I don't think the problem is whether you're a 10x developer or not. If you're good, it's like a white tablecloth at a restaurant. The cloth isn't bad just because it got stained. The problem is you're lonely, increasingly resentful, increasingly complacent, and it's not going to be good for those around you.
If you leave the company and it goes well for you, it's also motivating for others since they know the company won't try to sabotage them on their way up. If the company does sabotage you, then this is also good since it'll help you determine the difference between a team that has your back vs a team that wants to use you. Either way, it's important to appreciate them regardless.
So you got to your position because a you cared about others. It's important to not let your accomplishments blind you and overshadow just how much of your success comes from your care for others.
I use hey.com
You have to get used to their system but now I prefer it compared to Gmail
A lot of people are wondering how this will stop misinformation. I agree that we can't crowdsource truth. But we can crowdsource information that can help reduce misinformation. When you have two sides disagreeing the first step is to build some common ground.
Twitter is trying to solve a tough problem. On one hand you've got people accusing Twitter of hosting and platforming hateful, harmful content. On the other hand you have people claiming that Twitter is calling the shots about what's true and suppressing information it doesn't like.
Maybe this is the first step towards something like a digital court. People on both sides present evidence, experts, witnesses. The two sides get a hand in picking the jury.
Or maybe the solvable problem is that information gets misconstrued and propagated. A video clip might get edited a certain way, for example. Solving this problem may not help us all agree on what happened in the video clip. However, we should at least be able to agree on what the two interpretations are. To make this happen, both sides would have to steel man the other side. Otherwise, the opposing side would claim they're being misportrayed. Having things that opposing sides agree upon would greatly help reduce unnecessary conflict.
This looks like a text-first coding environment
I like the idea of building websites and writing blog posts by starting with text and slowly taking different parts of it and adding dynamic functionality
Maybe I want to embed the current date somewhere
Maybe I want to embed a chart
It's not exactly a new idea, but doing things with LISP might provide some useful invariants
Hoping I understand this correctly
I've felt companies would want what the post lays out:
- A safe software stack
- Make code understandable (industry best practices)
- Focus on employee ramp up time
I was confused when some companies stressed different things, and I didn't quite realize until reading this post that it might be coming from a place of fear of losing engineers.
What I've seen:
1) Committees for coding standards
2) Teamwork over code ownership
3) Peer code reviews to enforce quality
Sounds like these things would help increase code quality and reduce the bus factor. But I think there are some dangers.
1) Committees can mean that no individual is responsible for bad decisions
2,3) Teamwork is great if people have separate roles. Too many cooks can become a real problem otherwise.
I suspect people afraid of responsibility are more likely to embrace committees and teamwork. Dickheads incapable of working with others are more likely to take ownership (or else they'd be completely unemployable).
I also suspect many startups cargo cult practices that work well for giants, but are net negatives that encourage your employees to leave if you're small. Lacking ownership but getting paid super well is a better tradeoff than lacking ownership AND lacking amazing pay.
I love this. Vjeux, seemed excited about it, which gives the project some immediate credibility IMO.
https://twitter.com/Vjeux/status/1250687160237211649
I've been using hooks since they came out and doing things with generators and async looks to be more intuitive to me. Instead of a language on top of a language, you just use JS, which has always been what made React great.
I also now have a reason to look for more places to use generators :) I didn't realize they could be so helpful
In most apps nearly everything is interactive
It's probably better to specify what isn't interactive rather than specifying what is
This signals to me that the outlets are good sources of information
It might even make for a good law: the "smart" parts shall be removable and replaceable
You're right, most successful no-code tools are for non-programmers, and programmers shouldn't be the ultimate litmus test.
I also believe that if a coding tool will make me more productive, I'll use it, even if it's not a library or a language. Right now the visual tools are limited, but it doesn't have to be that way.
I've used Flash, Windows WPF apps, those visual tools for making apps in xCode, and others. I think there's something to having visual tools for building apps. I think it's clear that UI doesn't need to be in code. Maybe state machine logic shouldn't be written in code either. Maybe high-level software architecture constraints shouldn't be in code.
I think layout is a big hurdle for no-code tools. I also think it's going to get solved. But until then, I think you really gotta dig into HTML and CSS and understand them well to get things to work properly.
"Don't abstract away your problem domain"
I dunno. I tend to think of it as getting good at what you do, then finding the rules, then taking those patterns and making a company out of it where those patterns are built-in to the product.
I like to think of the no-code stuff like this:
- People who are into this stuff know there's something to it, but as a movement, we don't know exactly what it is.
- My personal feeling is that any no-code tool should be useful enough that I would use it. I want some no-code to make me feel for my career a bit.
- The "threat", I think, is very real. For example, whenever I see myself following a set of rules to write software and not thinking, I start to wonder if some abstraction is lurking in there. Maybe the solution is a programming library, but increasingly, I think there's opportunity for this stuff to be more visual.
Why visual?
- UI programming is necessarily visual, and a visual tool for building interfaces makes sense
- Tools around managing software development. GitHub is IMO a no-code tool. VSCode is. Many IDEs are.
Why not visual? Algorithms and business logic. Like the author, I'm unconvinced that flow diagrams will provide enough flexibility to be useful for all but the simplest cases.
I guess my feelings aren't that different from the author's but I think the difference is I'm optimistic that the movement will be generative.
I think it's worth looking at it like another product that you produce. I like to imagine someone seeing my code for the first time and trying to make sense of it.
Architecture: this is often documented with some kind of diagram. I personally find them to be unhelpful.
Flow: I'm guessing people aren't familiar with your UI. The best way to document would be to record a video, but that might be a little extra. I would make a powerpoint doc with screenshots to show the common flows.
For me, it kinda looks like this:
- Assume expertise in the individual technologies you've used
- If you picked the tech, then write why you did, and link to resources to learn more about it
- Write down which general constraints I placed on myself that might not be common. EX: naming patterns, cyclomatic complexity, using a functional approach, or being more point-free in a language where it's not common, choices around duplicate code
- Make a nested list of the folder structure and describe what each folder is for (even if it feels obvious), and describe how the different parts interact with each other. The questions to answer are: what are the high-level dependencies between dirs? Are there any cyclical dependencies?
- Find the knots (especially complex parts of the codebase) and make sure they're documented properly
Would they be filling in missing data with AI? Would they be doing something similar to DeepFovea? If so, I would be concerned about accuracy.
https://ai.facebook.com/blog/deepfovea-using-deep-learning-f...
In a few years if this takes off we can get all our meals from cloud kitchens. I like that I don't have to drive to the grocery store or restaurant, and instead, they drive to me.
If delivery gets optimized enough that it's no cheaper than making food at home then we can start doing nutrition trials like never before.
We forget that food is fuel. We know how to make it taste good, but it's an important aspect of our health. A lot of restaurants already allow selecting vegam, or gluten-free. Ideally, we would be able to try all sorts of things:
1) Select an elimination diet plan and since all meals are delivered you're more likely to stick to it. Different foods will get cut out and you can figure out if there's an allergy you're not aware of
2) If you're eating healthy, it's more trackable. It'll be possible to get a monthly email that tells you what nutrients you got. You can get blood tests to see if the nutrients are actually being absorbed.
3) Trackable food means I can pay less for insurance if I'm eating healthy. Right now nutrition is a very messy field. Some some vegan is better, some argue the paleo thing is best. How about we solve this with insurance? These companies will effectively make bets on your health outcomes based on what you're eating. Insurance companies that make bad bets will go out of business. We can get the preventative medicine we've always wanted because the cost of bad decisions will be reflected in your finances right away.
4) It might be easier to start a restaurant that serves a niche group since you get some benefits that come from economies of scale.
Inter-generational child rearing is an old tradition, but in recent US history wasn't it the case that your parents help you less but also ask less of you (think retirement homes).
Maybe the trend of adults relying more on their parents is only a failure if adults aren't expected to take care of their parents later on.
I think there are several reasons for this:
* The APIs for building web UIs are really hairy and difficult to understand. * The fact that the web is a standard and quick way of getting apps to people means lots of people are heavily invested in it. * There's still a disconnect between developers and designers. This means many libraries seem to be developed around recognizing past patterns rather than a forward-looking vision. At least that's my guess. * Other human things such as the desire for recognition, users taking any level of UI polish for granted and expecting more over the years, and so on. * The surface area of features exposed on the frontend is enormous. You have forms, arbitrary shapes, layout, color, state management, querying external data sources, and so on.
You combine the above and you get massive technology churn. Maybe people underestimate the complexity involved.
I get the frustration though because at the end of the day we're still pushing pixels onto the screen. Even a lot of the primitives haven't changed in a while. We still have our colored boxes and text arranged in some configuration. You might expect all the good ideas to have been tried already.
It would be interesting if programmers took "sketching" to be a valuable and necessary part of programming. It's common practice for painters to make a pencil draft first. It's common in industrial design to produce prototypes.
However, when it comes to code we treat it similar to writing. We may have a first draft, but the final draft is often nothing more than a cleaned-up draft. I could be wrong. I never wrote professionally.
It would be interesting if we had languages that would be great for prototyping but designed to be unusable in production. However, I'm having a hard time imagining properties that don't already exist in languages like Python and JS. You want weak typing of course, but you'd be ok with poor security. Maybe we'd some nice features that would make the language run slowly since it running in prod would be a non-goal.