This may discover services, but not hostnames. If the server does not disclose them (e.g. in the certificate used on the IP host), an attacker doesn't have much further to go on.
The English version of the CCEO (Eastern Code) has some copyright issues:
> This document is temporarily unavailable due to a cease and desist from the Canon Law Society of America. We are hoping for a solution in the near future.
How does the team feel about selling Google reviews and Instagram followers? How do 84codes and Manas.Tech feel about being placed alongside these sketchy sponsors?
I get that money is hard to come by, but I hope you realize that you might be doing more than $1500/mo in damage to the project by accepting these ad placements.
But you don't see a problem with accepting an ad placement that is legally and morally dubious? The FTC is moving to ban these outright, and their justification is 100% valid:
> Fake reviews not only waste people’s time and money, but also pollute the marketplace and divert business away from honest competitors.
Labeled as an ad or not, you may well lose sponsors over this who don't want to be associated with that kind of behavior, and you're certainly losing potential users and contributors here on HN. My perspective on Crystal has changed from positive (I always love new programming languages) to negative over the course of this conversation, and I'm sure I'm not the only one.
This damage can't be measured as easily as money flowing in can, but it's very real and you shouldn't discount it. Some of us don't believe that receiving money for something is sufficient justification to do it.
We've been wondering about why it's worth the money for these sponsors. The links ideally shouldn't have much effect because they're marked as `sponsored`.
Anybody got any ideas?
Either way, it's money that helps the project so we're fine with accepting it.
I'm a core developer of Crystal.
Crystal's dynamic nature is only in the source code. It generates highly optimized code thanks to LLVM codegen.
So performance is generally comparable to other compiled languages like Go, Rust or C.
Of course there are differences depending on specific use cases.
A workload with lots of memory allocations means a high workload for GC which could be less efficient than an implementation that uses no garbage collection. But even that depends.
I'm a core developer of Crystal.
Looks like something went very wrong there. The GC may not be super optimised, but it's still practical.
I have never heard about such drastic performance issues. And I'm aware of quite a few companies who use Crystal in heavy production loads for exactly the web server + db use case without such issue reports.
So I'd suggest the root cause might be something else then the GC implementation.
It is using Boehm/libgc. Just a simple webserver should not have the described behavior. The GC is not incremental though, so having a big heap would trigger it. But that is typically not the case for the described use case. Likely the issue is with doing something that involves more allocations than necessary.
There are works in libgc to allow incremental collection, but it is not yet ready for the needs of crystal (or at least it wasn't the last time I investigated).
I'm a core developer of Crystal.
Note that there are two different flavours of blocks in Crystal: inlined and captured ones. `return` and `break` are supported in inlined blocks.
Sounds like their lignin based product is sturdier than the flimsy ones on the market; and they're looking to scale up consumer based uses in a big way.
I don't think there's anything considerably groundbreaking here besides the GTM angle.
That's basically how discussions work in Wikipedia (and other MediaWiki projects). Discussion pages are just a giant text file which anyone can edit fully. The only extra feature over Notepad is an implicit edit history.
What made this workable was that discussions were rarely "hot" - typically you discussed with one or two users over a span of many hours / days. Once you got many people editing the discussion page at the same time, you got conflicts which were solvable but annoying.