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.
HN user
straight-shoota
[ my public key: https://keybase.io/straightshoota; my proof: https://keybase.io/straightshoota/sigs/MSepfI78a6iE7fSqDIIP4KWACjlGps9EG1uqGtPmO8o ]
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.
One code should be fine. They can identify in both directions within different time windows.
Yeah moving objects would invalidate pointers passed to external code that's not controlled by Crystal.
I'm a core developer of Crystal.
All sponsorship contributions pay some development hours, so they're valuable to improve the project.
Sponsors presentation is only based on their _current_ contribution, not the accumulated total.
I'm a core developer of Crystal.
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.
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.
What's news about this? Aren't bioplastics based on lignin already a thing?
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.
Crystal Core developer speaking.
I don't think it's disproportionate. Windows is a huge platform with lots of developers. Also you don't hear anyone asking for other OS support because all other major operating systems are supported. So there's no real comparison.
I bought the 1080p variant. It makes a great preview monitor for video signals, camera output etc. I'm considering buying a 4k version with touchscreen for travelling, which fits well to the 4k touchscreen on my laptop. Not sure if I actually need touch for a side monitor, though. Or even 4k for that matter...
Getting hot has a lot of complexity, actually: How hot does it get? How can you select the temperature and how accurate is that selection? How well does it maintain the selected temperature?
Simple soldering irons often don't even have temperature selection. And their predetermined temperature drops significantly when heat is transferred into the soldering pieces.
I can dial the Pinecil very accurately to anywhere between 100° C and 400° C, to provide the optimal temperature for the soldering job and it meticulously maintains that temperature (given the power supply is beefy enough).
Another nice feature is automatic stand-by when the tool isn't used. This preserves the tip, saves energy and lowers the risk of accidentally setting anything on fire. It automatically heats up blazingly fast when I pick it up again.
Yeah, there's a switch to select direction. But it activates by pressure. I'm either screwing a bunch of screws in or out, so it's not a big hassle to use the switch when you need the other.
And this thing generates so much torque, I feel kinda worried about twisting my wrist to select the direction.
I bought a Bosch GO this year, my brother as well. Should be the same kind of tool. It drives the screw in (or out) if you apply pressure to it.
If it doesn't have a blade, how does it cut then?
IronOS is actually a firmware, not a classical operating system. The soldering iron is like many modern appliances a smart device and contains a RISC-V CPU on which the firmware runs. I bought a Pinecil as well this year, and it's really a great tool, and I dare say much more versatile and powerful than many traditional soldering stations which cost much more.
Crystal core developer speaking:
I think Crystal shines with these focus points, except 3. which needs some love (but it's on our radar).
1. C bindings are nice and easy
2. The integrated spec framework builds on the syntax of rspec and is quite capable. Of course it's opinionated, and there are alternatives in the ecosystem.
3. There are some IDE plugins with basic features. Context awareness in source code is an intricate problem because it requires a lot of semantic analysis. So it needs a bit more effort to iron out.
4. Crystal feels like a dynamic language, yet it's fully statically typed. Features like type inference and union types make this possible.
Crystal core developer speaking:
I think this argument is less about the concrete syntactical and semantic similarities to Ruby, but the shared general idea to focus on developer happiness. For example, code is easy to read, yet still expressive.
There has been some progress recently. A big part of stdlib specs already pass on WASM. It's usable for experimentation. A great introduction is available at https://glue.im/noah/introduction-to-webassembly-in-crystal and https://glue.im/noah/webassembly-host-functions-in-crystal
Ruby matches this definition: https://www.wikiwand.com/en/Strong_typing
Crystal has static type checking though.
Crystal is reaching its 10th anniversary (of the first commit).
To celebrate that there is going to be a live event next Monday: https://forum.crystal-lang.org/t/10-years-of-crystal-celebra...
We're exploring the history and future of the language with past and current core contributors as well as industry guests.
I can gladly point out that Crystal has a much cleaned up syntax for blocks and procs (compared to Ruby): https://crystal-lang.org/reference/1.5/syntax_and_semantics/...
concurrency != multi-threading.
Crystal's concurrency is based on fibers (green threads) which works very well even on a single thread (it scales to multiple threads, as well)
And for many use cases with high parallelization and little shared state (including web applications such as a search engine), multi-threading isn't necessary. Synchronization overhead is a serious performance killer. You can get much more performance out of running N processes with a single thread instead of a single process running N threads.
3. Obscure error messages (macros are to blame here)
I feel like this is a bit strongly influenced by the macro experience. Macros are an advanced and powerful feature and naturally more complex to debug. In general, Crystal's error messages are often praised for their clarity and helpfulness (especially compared to dynamically typed languages, of course).
4. Weak HTTP server implementation -- making things such as a fetching POST params or uploads incredibly frustrating. Once read the request body cannot be read again.
The stdlib implementation of `HTTP::Server` is intentionally very bare-bones (many programming languages don't even have such a practically usable feature in stdlib). Specialized web server implementations are available as shards (https://shardbox.org/categories/Web_Frameworks). They're based on the foundation in stdlib and provide more advanced features.
5. Weak/non-existent Windows support
Windows support is pretty stable and almost complete by now.
6. No multicore support
Crystal has supported multi-threading as opt-in via the `-Dpreview_mt` flag. It's considered a preview, because it's to be used with care when dealing with data structures that are not thread-safe. But it has proven to work well in production use.
8. Nil handling takes a bit getting used to (coming from Ruby)
But once you're used to it, it's sooo much helpful. It just helps to avoid a lot of potential bugs which you would have to take extra care for in Ruby.
The technical challenge is that a Crystal program needs to be inspected as a whole. Simplified, changes in location A can have effects on some completely unrelated location B. That makes it hard to cache intermediary results and a semantic analysis needs to cover the entire program (including the standard library), not just the files that were changed since the last time.
This applies to the responsiveness and memory consumption of the language server as well as the regular compilation process. So this is an important topic, and we're working on improvements. It's a complex topic, but there are some ideas.
Nikola had some trouble in the past, but it's actually doing remarkably well. They have electric trucks on the streets right now, with Crystal on board. Read more at https://manas.tech/blog/2020/02/11/nikola-motor-company/