Show HN: Oya – New projects set up lightning fast
oya.sh
oya.sh
It does seem to do both things but only after a bit of digging; and it’s still not clear what kind of experience I’ll have using packs.
To make the homepage compelling, I suggest;
1. Remove the illustrations, double-headings (like “Example usage/How to use...”), hero stuff, testimonials from your team. These are distracting
2. Start with the features, not `curl | bash`. I’ll download after I’ve decided I need these features.
3. Number the core features and list them in order of importance. Show (gif or terminal session text) how each feature works. I think you should cover:
- task runner feature
- templating feature
- scaffolding feature
- dependencies/modules/reuse between repos.
4. Move tutorial to page 2 so the features take center stage.
5. Drain away talk of ecosystem. You are just starting out with this. There is no ecosystem yet, so it is not a feature. Instead, specifically talk about the add-ons you already built, and how they can help me.
Wow, how did you guess that it was even in the ballpark of yeoman?
> New projects set up lightning fast ... Oya with its ecosystem of powerful, reusable packs lets you bootstrap deployable projects without a hassle.
AFAICT this could describe work in virtually any programming domain. Who doesn't create new projects or need them to be deployable?
> Become a hero
Marketing jargon like this is IMO very tiring. I am a hero because I use your product? Ok, I guess that is a very loose definition of that word.
I don't want to be negative really, but I have actually no clue what this product does or what problem it solves.
Right now it just felt way too generic and the silly marketing is not really helping. It could help to explain who will view you as a hero when using your product instead of just being a hero in the general sense, which is clearly not the case.
Other than that, I couldn't figure out much of what this product can offer me. For a while I thought it was yet another NodeJS kind of framework for bootstrapping the millions of other frameworks there.
> If you’re familiar with Makefiles, you may have noticed some similarity here. The main difference is because we’re using standard YAML files, is the pipe character after task name. An added bonus you don’t have to use tabs. :>
> If all Oya offered was poor-man’s Makefiles, you’d better find something better to do. Fortunately, Oya has much more to offer so keep reading.
The password encryption functionality looks useful but you could probably just use SOPS in your Makefile.
I can’t believe someone spent $35 on a domain for this much less however many man hours went into it.
You lost me right there. No checksum, no digital signature - if your server gets hacked, so do your customers.
Why don't you use your github releases in the installation instructions?
And the argument here is that if you don't do that, you're shit at security?
Your assertion that "if your server gets hacked, so do your customers", also applies to a checksum, as the hackers would just change the checksum listed on the website.
If you have a problem with piping curl to bash, then you can just not do so, you can download the bash script, see what it does, and modify it before running it. It's only 140 lines and it's fairly simple.
Further to your point, the bash script also does checksums internally!
Putting releases up on github isn't a bad idea, but their github account credentials could also be hacked, so it's no more secure than this really.
Serving the file over HTTPS is good because it means no one can do a man in the middle attack to change it, but it's not enough to be secure. If someone compromises the server itself the file could be altered at the source. The point of the checksum is to ensure that the file you're downloading is the file you're expecting. If you host the file in one place and the website in a different place it's harder for an attacker to change both the file and the website that reports the checksum, so you can be much more confident the file is correct. HTTPS on it's own doesn't give you that.
That is not a practical solution at all. What do users find if they enter the "download" page? A link to an external site containing the checksum? Wouldn't an attacker just replace (or remove!) the link?
The reality of today's identity management is TLS and certificates. If your website is https://oya.sh, then obviously any attacker who has access to the web server can direct clients to their malware downloads. No extra servers will help against that.
But the fact that these solutions do not exist or at least aren't commonplace, makes the criticism to Oya in this regard rather awkward. They are doing what everybody does for their downloads: Relying on the certificate chain.
It wouldn't need to be an external site. You can have more than one server running a domain, with a different set of keys (entirely different architecture if you want) to make hacking both harder.
This always originates from one spot for one user. You can spread among users, but you can not spread a single html snippet over machines in a way that a hacker couldn't replace the "root" html snippet.
The only time where I'd recommend a checksum over TLS is when you're dealing with a very large download, like a Linux ISO or something. The TLS encryption would cause a noticeable slowdown, so in that case a checksum may provide the best user experience.
The difference between a digital signature and HTTPS for identity verification is probably somewhat of a toss-up, and a checksum hosted on the same server as the download is mostly useless for anything but ensuring your download of the malicious version completed successfully.
Rust[0] Chef [1]
And here is an old HN comment[2] going into why it doesn't really matter.
Besides it's a Show HN- why be negative when we can raise the same issue more constructively as "Please add checksums and digital signatures. Also why not use regular GitHub releases in the installation instructions?"
[0] https://doc.rust-lang.org/book/ch01-01-installation.html [1] https://docs.chef.io/install_omnibus.html [2] https://news.ycombinator.com/item?id=12766049
A docker image would be much better than a random script.
Besides, this modality of installation already has precedent with Brew and Rust.
Or you use docker.
Not entirely sure if a standalone script with no versioning is the best way to do this in day and age.
I'm so confused by the frontpage of this, it looks like an alternative to Make with _no reason_ why I should use it over make. Seriously, there's not one feature on the homepage that isn't more obviously done with Make... Probably should pull that credentials example outta the docs and onto the homepage. And... on the homepage, please, please tell me:
what problems does this tool solve?
... Why was it created? Because generating new apps is like an "almost never" problem for me. Not to say it's not "un-fun" sometimes, but in reality, it's like the smallest amount of time I'll spend in the entirety of a project.
If anything the fact it's not Make, or whatever is canonical for the language/runtime, seems like a disadvantage because it's one more abstraction I'll eventually have to use... unless there are some wicked sweet problems it solves.
Also, the fact the user configuration language is `go` also seems like a disadvantage. As much as I hate to say it, JavaScript would probably be a better choice if you need users to have access to a language for scripting tasks (I know nothing about go but a quick google gave me this: https://github.com/jingweno/godzilla). Does it already support multiple languages? Examples of that would be awesome too.
One love. Hope my comments are constructive for y'all.
You can: 1. Create bash-based tasks similar to what Makefiles do.
2. You can parametrize these tasks AND templates using YAML files such as values.oya (they can be encrypted).
3. You can share/reuse your scripts by just pushing them to Github and tagging using a version and then import them into your Oyafile (`oya import github.com/bilus/mypack`)
If you don’t have anything nice to say, just don’t say anything at all.
If you don't want honest feedback, then why bother posting here? I find people take honest criticism as personal attacks way too often. Nothing criticized here detracts from what they've done. If this was my product, I'd be super happy that I got this huge list of things to improve out of a single post.
Compare that to a few "weeeeee, it's nice!" comments.
If you want empty happy feedback, share it on Facebook.
The feedback allows companies to better their product.
OTOH I expect anything I submit to HN to get treated with the same kind of brutality, but what I get in return is the attention of some of the smartest people on the Net. It’s a painful trade off but it does help you to expect hurt feelings going in.
- No one really knows what this is, or what problem it solves
- If it's a Make replacement, why not just use Make?
- Is this a new syntax or just YML?
- The marketing approach seems to miss the mark
With that alone they can refine their presentation and message quite a bit. That's quality and honest feedback, even though it might not feel good at first.
A few pointers:
- What is a "project"?
- Is Oya a language?
- What is this new Oyafile syntax?
- What actual problem is this solving?
This seems to be exactly what we could be using but I don't see a clear explanation of how it provides the initial value over something like Yeoman, and how it provides the lasting value over things like bash scripts or makefiles.
Could really use this kind of evaluation of our new platform.
Seems okay. Not sure I'd use it, but the model is proven. If it's a true improvement, it'd be nice.
Tooploox is the creator of Oya.
But I agree AFTER it got moved to Tooploox Github it looks kinda self-serving.