Lightning appears to add more problems than solutions. It has a whole bunch of critical issues. Here is a short list.

1. You need to have a computer constantly online or your counter party can easily steal all your money. This leaves you vulnerable to all sorts of attacks.

2. The lightning network works by routing payments through a network to your destination. The issue here is that the routing for the lightning network is extremely complicated and is currently an unsolved (and probably unsolvable) problem. The core issue is that you have to route money though a network where channel capacities are changing with each and every transaction. Imagine trying to route internet packets if the size of the links changed thousands of times per second.

3. It's relatively expensive to create and destroy channels at about two transactions per channel. Lightning proponents claim that this will be rare, but that can only be the case if there is minimal net flow of money. This is trivially not the case because users will be sending bitcoin more than they recieve and the reverse for retailers.

4. Lightning has huge capital costs. You need to lock up large amounts of bitcoin in these channels for significant amounts of time. There is a real cost for this in terms of the lost interest. Channels are certainly not anywhere close to free.

Wow, I guess it's dead then /s

It's an evolving software still in pre-alpha state. But the core idea is solid and if you follow the development you'll see the strides of progress that is being done on all fronts.

To your points.

1. Depending on the options you set to your channels, you could have a window of days (or anything the two parties agree to), to act in case the other party tries to broadcast outdated TXs i.e. steal funds. Also you don't need to have a computer constantly online, you can offload the task to Watchtowers, software dedicated to do that for multiple users concurrently. (You also can have multiple Watchtowers as backups). Also, I imagine it could even be a mobile app. So this is a non-issue.

2. Routing will keep being improved but it's already pretty good and the way you present it screams FUD.

3. Currently crazy low fees aside, LN basically enables the multiplication of on-chain TXs population. I think your assumption is that the retailer will close and reopen a channel for every LN payment they receive which it makes no sense whatsoever from any point of view.

4. If by huge you mean $100 of which the fee is $0.5, sure. You can add any amount you want on an LN channel. Basically it's like a hot-wallet, e.x you can add $1500 for $0.5 fee, and casually spend it for coffees and other small expenses with lower TX fees than a satoshi (since LN supports fees at the millisatoshi = 1/1000 satoshi level).

P.S: This FUD-wave is pretty pitiful, at least get some real arguments. I hope even more people start to recognize that a lot of people have incentives to attack new tech in order to push their narratives for their altcoins or w/e.

Do you happen to know where I can find the code or white paper for the current, working, routing algorithm?

Sure.

- Onion Routing Protocol: https://github.com/lightningnetwork/lightning-rfc/blob/maste...

- P2P Node and Channel Discovery https://github.com/lightningnetwork/lightning-rfc/blob/maste...

This repo contains specs for a lot of parts of the LN, although probably there may be changes I imagine.

As for code, one of the implementations, LND (Go): https://github.com/lightningnetwork/lnd/tree/master/routing but there are at least 3 other implementations in the works.

https://github.com/ElementsProject/lightning (clang) https://github.com/ACINQ/eclair (Scala) https://github.com/mit-dci/lit (Go)