HNHacker News
TopNewBestAskShowJobs

solidninja

99 karma · joined January 7, 2016

submissionscomments
solidninja··on Dioxus 0.6 – Crossplatform apps with Rust
Dioxus is the only web-platform technology toolkit that I see having the ability to be cross-platform and use Javascript as little as possible - glad to see their native WGPU rendering stack progress (check out the videos by Nico Burns on Blitz, Taffy etc)
solidninja··on The Death of the Stubborn Developer
> CHOP isn't just the future, it's the present. And if you're not using it, you're starting to fall behind the ones who are.

Be that as it may, the reason I got into software development as a kid was because I wanted to understand how computers worked and tinker with them. I did not get into it because of increased efficiency, or for telling others how to do stuff that I could learn how to do myself. If that makes me unmarketable, then I guess I will move to something that is not so prone to automation. Because I don't want to be a glorified manager (of bots or of people). :)

solidninja··on Playground Wisdom: Threads Beat Async/Await
Thank you for writing this - it is more detailed that I could come up with!

I would like to add that I feel like functional approaches are more the "future" of programming than trying to iterate over imperative ones to make them as "nice" to use. So I don't really see the big deal of trying to add-on features to existing languages when you can adopt new ones (or experiment with existing ones e.g. https://github.com/getkyo/kyo for a new take on effects in Scala).

solidninja··on DOJ will push Google to sell off Chrome
It's a balance but IMO there should be no realistic concept of "winning the market". If it gets to that point then sure the company is probably making a lot of money but they also have the power to squeeze as much as they can. The irony of posting this on a forum originating from VC culture does not escape me.
solidninja··on Looking for a Job Is Tough
> a “if you were on an elevator with Marc Andreessen” question

Were they looking for a nice local newspaper story about a misdemeanor assault?

solidninja··on I Will Always Be Angry About Software Engineering
This resonates very strongly with me - I am happy there are other people writing about this. It may not change the course of society but we need to fight for things worth fighting for and not give in to the system.
solidninja··on How I ship projects at big tech companies
The only winning move is not to play :)
solidninja··on Amazon Says It Has a First Amendment Right to Union Bust
Unless of course the only corporations allowed to exercise free speech rights were collectives of workers :)
solidninja··on I Am Tired of AI
There's a quantity argument to be made here - before, it used to be hard to generate large amounts of plausible but incorrect text. Now it easy. Similar to surveillance before/after smartphones + the internet - you had to have a person following you vs just soaking up all the data on the backbone.
solidninja··on Steam Removed Forced Arbitration from Their Subscriber Agreement
They lost a lawsuit as far as I can see: https://infosec.exchange/@SteamDB/113208423939527370 so they pretty much had to change it.
solidninja··on Hezbollah pager explosions kill several people in Lebanon
Ah words hardly mean anything these days. It very clearly is terrorism but you won't ever hear any politician in the west calling it that.
solidninja··on Master Hexagonal Architecture in Rust
In my experience, using tools that do not support the "Go To Implementation" shortcut makes it hard. In IntelliJ, Ctrl+Shift+Click will take you to the possible implementors of an interface.

Concrete example from work today - we have a trading application and there are many paths that lead to alerts of some kind. Alerts are usually raised inline with any business logic (as should be - they intrinsically coupled). Alerts however can be delivered differently - via SMS, other messaging systems and/or log messages. The different places where the alerts need to be generated do not _need_ to know how the alert is going to be physically delivered to its destination - they just need to generate it. Without an interface (or at least a type alias for a function) - it would make being able to say e.g. this alert is a direct phone message vs. a chat message in some channel because of the type it is - much harder.

solidninja··on Master Hexagonal Architecture in Rust
The problem is manual wiring (as always). It is fairly convenient to declare the source of your dependencies (somewhere around main) and have them be automatically wired in the sub-component graph, all without having to write out the chains of code to call constructor parameters. Also simplifies refactoring, as compile-time DI is mostly done on type and not on name or parameter position.
solidninja··on Master Hexagonal Architecture in Rust
I'm always fascinated by the amount of comments that devalue separating concerns and reducing coupling by using traits and modules. Maybe if you're exclusively writing serverless functions you don't need much code anyway, but the idea that you can go and read a piece of code that deals with the database separately from a piece of code that deals with your HTTP request encoding (and see how they meet in the middle via a few method signatures) is a pretty powerful one in my experience.
solidninja··on CrowdStrike ex-employees: 'Quality control was not part of our process'
No, it exists because of all must bow to the deity of increasing shareholder value. Remember that good product is not necessarily equal or even a subset of the easy to sell product. Only once the incentives are aligned towards building quality software that lasts will we see change.
solidninja··on Kolmogorov-Arnold networks may make neural networks more understandable
Is there a study of "smooth"/"stable" "AI" algorithms - i.e. if you feed them input that is "close" then then the output is also "close"? (smooth as in smoothly differentiable/stable as in stable sorted)
solidninja··on Why Not Comments
That still needs discipline though - or you end up with N half-finished Confluence pages describing the intention behind the design, all of which are now out of date (and naturally in completely different places). The best way I've seen to keep track of changing things is to have the design linked to the ticket somehow (and if it's a link, then that needs to be a permalink to something that will not go away in a year's time).
solidninja··on Rust in illumos
What are the significant downsides of the first approach in your experience?
solidninja··on Effects of Gen AI on High Skilled Work: Experiments with Software Developers
Probably a lot of that is to do with the short-term profit mindset. There is tons of software that is far from optimal, breaks frequently and has a massive impact on human lives (think: medical record systems, mainframes at banks, etc.). None of it is sexy, none of it is something you can knock up a PoC for in a month, and none of it is getting the funding to fix it (instead funding is going to teams of outsourced consultants who overpromise and just increase their budgets year on year). Gen AI won't make this better I think.
solidninja··on Founder Mode
It comes back to the work itself being interesting and whether you actually care about the field that you are working in. I would not like to live in a world where you have to put in 80 hours a week to get a decent salary as an expert. It's true that there are a lot of people who got into the industry just because of the comp though :(
solidninja··on I got almost all of my wishes granted with RP2350
I think the target here is low-power peripherals rather than speedy peripherals, and the price is very nice for that :)
solidninja··on Every company should be owned by its employees
Well maybe "taking over the market" is also a monopolistic and anti-competitive practice and if we had say, working regulation that forbade the existence of these behemoth companies then the landscape of value would look a little different.
solidninja··on CrowdStrike Update: Windows Bluescreen and Boot Loops
Ah the "move fast and break things" philosophy gets a demonstration.
solidninja··on Sans-IO: The secret to effective Rust for network services
The parallels with abstracting over the effect type and Free(r) monads are really apparent if you've had exposure to that style of programming. As you said, the benefit is that you can separate the business logic (what you want to do) from the execution model (how you do it) and this is very much an ongoing theme in programming language development.
solidninja··on Ask HN: Who wants to be hired? (July 2024)

  Full-Time or Contract
  Location: UK
  Remote: Yes or Hybrid (London)
  Willing to relocate: No
  Technologies: Spark, SQL, Postgres, Kafka, Protobuf, Arrow, Linux, Scala, Rust, C#, .NET Core, AWS, GCP
  LinkedIn: https://www.linkedin.com/in/vladimir1/
  Contact: briar_lepton0l@icloud.com or see https://github.com/vladimir-lu
--

I am Vlad, an experienced software engineer that loves using functional/statically typed languages to solve data engineering or distributed system problems.

solidninja··on Compromised Visions Are Superior
This reminds me of the excellent talk "Constraints Liberate, Liberties Constrain" https://www.youtube.com/watch?v=GqmsQeSzMdw that is more about doing the programming rather than planning it as in the article, but with a similar approach.
solidninja··on Ask HN: Who wants to be hired? (June 2024)
Full-Time or Contract

  Location: UK
  Remote: Yes or Hybrid (London)
  Willing to relocate: No
  Technologies: Spark, SQL, Postgres, Kafka, Protobuf, Arrow, Linux, Scala, Rust, C#, .NET Core, AWS, GCP
  LinkedIn: https://www.linkedin.com/in/vladimir1/
  Contact: briar_lepton0l@icloud.com or see https://github.com/vladimir-lu
--

I am Vlad, an experienced software engineer that loves using functional/statically typed languages to solve data engineering or distributed system problems.

solidninja··on Coroutines and effects
Indeed - I do not think it is a coincidence that a lot of production experiments in effect systems are happening in Scala right now - the language is very flexible to conduct them. https://github.com/getkyo/kyo in particular looks interesting as it explores a different space where the monadic nature is less exposed to the end user.
solidninja··on Ask HN: Who wants to be hired? (February 2024)

  Location: United Kingdom
  Remote: Yes
  Willing to relocate: No
  Technologies: Scala, Rust, Java; Kafka, gRPC, NATS; PostgreSQL, Snowflake, BigQuery; AWS, GCP
  Email: vladimir+hn AT solidninja DOT is
  LinkedIn: https://www.linkedin.com/in/vladimir1/
  Blog: https://blog.solidninja.is/ 
  Github: https://github.com/vladimir-lu
Senior software engineer with a focus on building robust and scalable systems with functional programming techniques. Looking for either contracts or permanent positions within distributed teams. Worked for 13 years in the industry with some of the biggest financial firms as well as tech, ecommerce and mobility companies.
solidninja··on Switching to Elixir
Static typing can replace input validation though - if you make illegal states unrepresentable. That way you bake validation into your types e.g. using refined types: https://blog.rockthejvm.com/refined-types/ in Scala
Page 1 of 2Next →