HNHacker News
TopNewBestAskShowJobs

loic-sharma

251 karma · joined February 15, 2020

https://twitter.com/LoicSharma
submissionscomments
loic-sharma··on Sunsetting Atom
Did you consider using Flutter? If yes, what made you choose against it?
loic-sharma··on VSCodium – Free/Libre Open Source Software Binaries of VS Code
They have a stranglehold on VS Code’s extension ecosystem as the VS Code Marketplace is closed-source.
loic-sharma··on Twenty years of C# with Anders Hejlsberg [audio]
Why is supporting .NET evil?
loic-sharma··on PRQL – A proposal for a better SQL
Yes Kusto's `by` is excellent!
loic-sharma··on Why Rust Is the Future
Rust certainly is promising but it will not replace all other languages. Is Rust a better choice than C or C++? Probably. Java, Go, or Python? I don’t think so. Rust has flaws:

1. It is hard to learn. A novice will pick up something like Python much faster

2. It is less productive. You “fight” the borrow checker in Rust and have long compilation times.

loic-sharma··on “Open source” is not broken
I agree with what you say, but FYI docs is one of the easiest yet most valuable thing a person can contribute. As a maintainer, I wish I had more feedback and contributions to the docs!
loic-sharma··on .NET 6 Released
Disclaimer: I work on .NET

What makes you say that? All versions of .NET - including non-LTS versions - have had an extremely high bar for quality before releasing.

loic-sharma··on The JavaScript ecosystem is a hot mess and so is software development
A developer today can create better apps with less experience today than they could 20 years ago.
loic-sharma··on What I wish I knew when learning F#
You fault an article for being superficial while yourself only giving a superficial read? I hope you see the irony and reconsider.
loic-sharma··on Shenandoah in OpenJDK 17: Sub-millisecond GC pauses
Oh interesting! Would you have an example you could link, I’m curious what this looks like
loic-sharma··on The KDL Document Language
This isn't meant to replace HTML. I see it as a better language for configs. JSON lacks comments. YAML also has problems: https://noyaml.com/
loic-sharma··on Bflat: C# as you know it but with Go-like tooling
Those self-contained exes need a .NET runtime to be just-in-time (JIT) compiled to code your CPU can actually run. This JIT compilation happens as your app runs, so your startup performance suffers as a result. On the other hand, bflat compiles your project ahead of time into native code your CPU understands.

Also, to build that exe you have to use the .NET SDK which pulls in lots of tooling: MSBuild, NuGet, etc... It looks like bflat ditches all of that.

loic-sharma··on Bflat: C# as you know it but with Go-like tooling
Not the author, but I would assume bflat cannot compile F# as this project uses the Roslyn compiler, which supports C# but not F#.
loic-sharma··on Evaluating Search Algorithms
Hi, I worked on improving the search rankings for a popular package manager. Imagine your search algorithm is already excellent, you have countless of documents, and customers do countless of unique queries. Now say that you want to improve your search rankings further. How do you do that? What if your improvement helps some queries but hurts others? Things like tf-idf or Elasticsearch won't help here.

That's where NDCG comes in! Basically it gives a score for your search rankings that you can use to compare different search algorithms. The higher the score, the closer your algorithm was to producing the expected search results. This is super useful as you can try lots of experiments and get a good sense of whether the experiment is promising or not.

loic-sharma··on A curated list of .NET performance resources
Your comment is half right. While your app is JIT compiled, the runtime and its libraries are AOT compiled using a technology called cross-gen. As others have pointed out, the .NET team has a NativeAOT experiment (previously called CoreRT) that lets you AOT compile your entire app.

Also, Java takes longer to reach steady state as it starts execution in an interpreter, then JIT compiles hot methods. .NET skips the interpreter and goes straight to JIT compilation.

loic-sharma··on The Modern Java Platform – 2021 Edition
Yup, they are very similar as both are used to run code at high performance.

WebAssembly was designed for the browser. Users want their websites to load quickly, so startup time is crucial. Also, users want to browse sketchy websites, so security is also crucial. WebAssembly is more like an instruction set for a "fake" CPU. It's very low-level and is not ideal for running high-level languages like Ruby (though it's possible!).

On the other hand, GraalVM isn't constrained by these browser requirements. This lets Graal do nifty tricks so that highly dynamic languages - like Ruby or JavaScript - run as fast as possible.

loic-sharma··on Chinese hacking spree hit an ‘astronomical’ number of victims
Microsoft goes down the periodic table to name each new threat organization.
loic-sharma··on Google admits Kubernetes container tech is too complex
I’m not sure I agree with the lightweight point. WebAssembly is missing features needed by many high-level languages. As a result, they have to resort to less than ideal tricks. For example, C# on WebAssembly runs using an interpreter even though normally it is JIT compiled.
loic-sharma··on My preferred .NET console stack
Just to be clear, a self-contained build includes the .NET runtime and all its libraries in your build output.

Most people just install .NET on their machines. If so, that 1.4mb executable will run just fine.

loic-sharma··on Ruby: We have decided to go forward to 3.0 this year
https://blog.heroku.com/ruby-3-by-3/
loic-sharma··on Understanding null safety in Dart
Could you say more about your experience of Kotlin's coroutines vs async / await? I'd love to learn more about that! :)
loic-sharma··on Large-Scale Transactional Data Lake at Uber Using Apache Hudi
The image in the 'The road ahead' section seems to be using Azure's icons. For example:

Azure Event Hubs icon - https://images.app.goo.gl/NLu8jSKWYPwMyTtD9

Azure Marketplace icon - https://images.app.goo.gl/X9vZeWWAR2TDsawe8

Azure Service Health icon - https://images.app.goo.gl/fJcUZqwUWbzK7tC99

They probably should change that...

loic-sharma··on Welcome to C# 9.0
Apache is somewhat Java centric. I wouldn't use that as a measure of a language's ecosystem. For example, JavaScript has an enormous ecosystem but only 17 Apache projects.
loic-sharma··on A look at modern PHP
PHP has excellent development experience. After updating your code, you can just reload the page. That's it. It's seamless. This is something that I sorely miss now that I'm a .NET developer.

Also, the PHP ecosystem is friendly to beginners. Compare these authentication docs for a PHP project vs a .NET project:

Laravel (PHP): https://laravel.com/docs/7.x/authentication ASP.NET Core (.NET): https://docs.microsoft.com/en-us/aspnet/core/security/authen...

loic-sharma··on Mobius – .NET runtime running on .NET Core
CoreCLR, the .NET Core runtime, does not have an interpreter - it JIT compiles the bytecode immediately. Given Mobius is a .NET inspired project, it’s likely it will follow that approach as well.
loic-sharma··on Scaling Bitbucket’s Database
That's really neat! I wonder, could you store the PostgreSQL log sequence numbers in a cookie to save the round-trip to Redis?
← PreviousPage 2 of 2