Hacker Newsnew | past | comments | ask | show | jobs | submit | zinkem's commentslogin

I most commonly use random() for generating names (e.g. docker's container names) and generating test inputs. I don't care about cryptographic safety in either case.


But you probably care about collisions in that case. The small state of a language-default insecure PRNG will make collisions much more likely. Especially if seeded by a clock.

I have seen temp file name collisions cause data corruption in a real system because the default language RNG was used. Also infinite loops in a production system because random() was called in the same clock tick by two separate threads generating a handle value. Both wasted weeks of effort to pin down.

random() should default to the system CSPRNG. Provide insecureFastRandom() for those who know they need it and it is safe for their use.


I wouldn’t imagine you care that much about speed either, right? Unless you’re generating gigabytes of random test data, maybe.


> Microsoft teams is an extremely high quality product already.

This has not been my experience with MS Teams. If I respond to a message on my phone, and then return to my laptop, Teams has disconnected and I have to restart the app on my laptop in order to get updated messages. Scrolling back even 5 minutes in Teams' message history incurs multi-second latency sometimes, so reviewing the context of a conversation you're in is very painful. Threading is handled very poorly in teams and makes teams feel much more like a decades old forum than a chat application.

I do agree this is a good move for Slack, but only because organizations are adopting teams due to its bundling with Office 365, something most companies are already using. Slack has no other way to survive because the people in the org making these decisions aren't concerned with the quality of the tools they are choosing, just the idea they are getting something for free.


yep, teams has a lot of potential, but there's a lot of rough edges. for example until recently copy-and-paste didn't work. i was just thinking of moving from teams to slack. hopefully this is good news


We've moved from Teams, to Slack, and back to Teams over the last 2 years. Teams has come a long way since 2017, but the basic chat functionality is still pretty far behind Slack.

Next time, I'll stick with Slack.


I've been using the Markdown Reader Chrome extension and using the browser print function to do this kind of conversion.

What would be really useful (to me personally) is a tool that renders plantUML/mermaid embedded into markdown to a PDF. I haven't been able to find a simple solution that doesn't require writing code to integrate the libraries together, or rendering the images separately and bringing them into the markdown document (which is tedious).


check out markdeep[1] which allows diagrams (but I don't think it is comprehensive like plantUML/mermaid)

[1] https://casual-effects.com/markdeep/


There is a filter for Pandoc that lets you embed PlantUML.

https://github.com/kbonne/pandoc-plantuml-filter


> any stage of the request or the response L4-L7 at FPGA speeds

I also work at F5, and used to work on the FPGA. This is unfortunately not true for TCL iRules. The FPGA basically only operates on L2-4, L7 is all software.

There was some talk about doing L7/iRules in an FPGA but prototypes never produced compelling enough performance gains to make it worth it.


I learn something new today - thanks.


Not mentioned in the article, but bit packed data structures are easier to interpret in hardware and offer more guarantees. If I'm designing an FPGA/ASIC I can predict how many clock cycles a statically sized data structure will need to move through my system, and how much RAM I need while it's being processed.

I have spent a lot of time working with FPGAs that process network packets and many of the performance guarantees relied on the rigid structure of L2-4 protocol headers.


I was a bit surprised myself that the author prefers JSON to bit-packed protocols, but given that the author is none other than Eric Raymond, I have to take him seriously.

Accidentally, in my work lately I used JSON for data exchange over the network where performance is not important, and MsgPack otherwise where it is (which is essentially a packed JSON).


I feel like the fact that it's ESR causes me to take him less seriously. I'm basing that on the other contents of his blog, such as http://esr.ibiblio.org/?p=7239 , http://esr.ibiblio.org/?p=26 , and http://esr.ibiblio.org/?p=6907 .


We don't even need to get into his (execrable) politics; he's substantively bad on technical issues as well.

http://esr.ibiblio.org/?p=6839


> “Are you” she asked “the most famous programmer in the world?”

> This was a question which I had, believe it or not, never thought about before. But it’s a reasonable one to ask...

That is precious.


Don't worry, if you look into the comments, the politics really comes out in force.


Did he manage to work white nationalism into binary versus ascii wire formats? I've seen him make some pretty impressive leaps before but that would be outdoing himself.


Appeal to authority, huh? Do you also take all of his many racist statements seriously, "just because he's none other than Eric Raymond"?

"The average IQ of the Haitian population is 67... Haiti is, quite literally, a country full of violent idiots." -Eric S Raymond

"... The minimum level of training required to make someone effective as a self defense shooter is not very high... unfortunately, this doesn't cover the BLM crowd, which would have an average IQ of 85 if it's statistically representative of American blacks as a whole. I've never tried to train anyone that dim and wouldn't want to." -Eric S Raymond

https://twitter.com/tqbf/status/780839196231630848

(Note: this is just the tip of the shitberg. There are SO MANY MORE examples on so many other topics (like "Is the casting couch fair trade?") from so many other times over the decades.)


There's no need to appeal to authority; the article gives specific reasons when to use JSON and when to use binary. What do you think about those arguments?


There’s a nice rebuttal from one of the ntp people in the article’s comments.

JSON is a disaster for many reasons. Hardware incompatible floating point is one; inconsistency in parser implementations (and ambiguities in the spec) also don’t help.

Also, why use a tree structured data representation when the underlying data structure is fundamentally just a N-tuple with a fixed schema?

Similarly, why use a text protocol to send around fixed length blobs or encrypted data?


Just to clarify the phrase "one of the NTP people": I'm the lead designer of NTS, which adds modern cryptographic security to NTP. I did not design NTP; Dave Mills did that, in large part before I was born.

If I got the chance to redesign NTP from scratch, there are a lot things I'd change, but use of fixed binary fields is not one of them.



I use CBOR, which is a really nice binary Json. I use it for a custom protocol for embedded systems and it's just brilliant.


Yep, see also MessagePack. Kind of telling that esr didn't notice the existence of either.


I agree with others here that learning a language has a lot to do with learning an ecosystem, libraries, and culture. To contribute to an existing project, it's not necessary to really know the language that intimately. I "know" a handful of languages, but I have contributed in environments that I don't "know."

To learn languages quickly, I think the best way is by learning the 'building blocks' languages are composed from. How are function arguments passed (value vs reference), how is memory management handled (garbage collected, reference counted, manual?). Learning these lower level language concepts then allows a person to approach a new language by saying "How does this new language X handle concept Y?"


I'm not sure where you're getting your pricing, but the Monologue is $299 [1] and a new MicroKorg is $399 [2].

The MicroKorg is a great piece of equipment, but it's also prone to aliasing problems at the upper end, which shouldn't be present in the Monologue since it's all analog.

The MicroKorg also offers different features: FM Synthesis and a Vocoder. The Monologue has a full 16 step sequencer, wheras the MicroKorg has only an arpeggiator.

For this price point I think a lot of mucisians are going to find the Monologue is a good value. It isn't far off the MiniBrute which came out at $400 and has less features.

[1] http://www.sweetwater.com/store/detail/MonologueBK

[2] http://www.sweetwater.com/store/detail/microKorg


Seems the Microkorgs have gone up in price over the years. I paid about $250 for it when I got it a few years ago. I noticed you can still get them for $200 second hand.

The aliasing can be a bit annoying indeed. You can really hear it when slowly bending a high lead. I don't think it uses band-limited waveforms. But for bass lines it is absolutely fantastic!


For those who are curious like I was, the flagged words/phrases are:

just

actually

sorry

apologize

I think

I'm no expert

does that make sense

reasons are in the source here: https://github.com/cyrusinnovation/just-not-sorry/blob/maste...


In all honesty, I think it'd be more interesting to see analysis of turing complete OISCs than repeatedly seeing these minified homework solutions posted to HN


In all honesty, I think it'd be more more interesting to see cat pics than repeatedly seeing these your-work-is-less-deserving-than-the-hypothetical-post-I-just-thought-of-yet-haven't-put-any-work-into-nor-written comments posted to HN


so post some cat pics then


I hope there's a laugh out there for some of you ... =|


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: