325 karma · joined August 31, 2009
Even if you manage to convince one of them to accept something a little more forward-thinking and less user-hostile, it's only a matter of time before Big Customer X comes along with their antiquated requirements and you have to choose between doing what they want or losing that business.
There's no telling when Brave are going to decide it's time to monetize and start compromising themselves and their users.
It’s changed a bit recently with GDPR, the Cambridge Analytica scandal and some third party cookie privacy stuff so it’s a bit less insidious now, but it’s still pretty bad.
IF you deliberately ignore some of the crufty parts of the language (ie you follow "Modern Perl") it's... ok. Perfectly possible to write good code with it if you understand the quirks, but you have to be strict to avoid the stereotypical "line noise", and not everyone is. Some parts are legitimately awesome though: Moose, for example, is a fantastic OO model that I wish was usable in other languages (although you do pay for it with long load times).
However, the ecosystem and community have been struggling to keep up with the rest of the world for a while now, and where you used to be able to assume that CPAN would yield something useful for most tasks, that's becoming increasingly untrue, and a lot of projects are now abandoned.
I still reach for it for small things, but I wouldn't start a large project with Perl now, I don't think.
Reset everything. Massively reduce the scope of the project and make sure everyone knows that's what you're doing and to expect to see something being delivered soon, but that it will be a small and simple component intended to get something out there.
Deliver the smallest useful thing you possibly can as quickly as you can, and show everyone,
Once you've delivered a few parts get a bit of momentum, get everyone together and hash out a slightly bigger next step.
"Alexa play <whatever> in the kitchen from spotify"
No other combination of words works. I'm not sure why it needs me to say "kitchen", all my Sonos systems are connected together, but if I say anything else it'll either play on just the one speaker or not work at all. I'm not sure why I must say "from spotify", but apparently I do or it ends up playing some random radio station from some other service.
I find things like this quite the mouthful:
"Alexa play Black Sabbath by Black Sabbath in the kitchen from spotify"
..and with a statement so complicated it often misunderstands and starts doing something random.
I would MUCH prefer a simple voice based API. Attempting to understand conversational speech properly rarely seems to work effectively and often just ends up with users memorising a command just to get it to understand.
Although it's perfectly possible that dinosaurs were effectively massive birds of paradise with ridiculous mating accoutrements...
Then you have all the problems of a purely client-side application (dealing with deep-linking, bookmarks, back buttons, users with exotic browsers, search engines, etc). That stuff can all be dealt with, but all dramatically increases the complexity. Your "Hello World" quickly becomes complex and unwieldy.
I personally think the right way is probably a templating engine that can work either client- or server-side so you can generate whatever you need wherever you are.
It kinda feels like it ends before it gets past the stuff I could guess from knowing my way around other scripting languages, but I'm guessing it's a work-in-progress. It'd probably benefit from even a brief "Why Lua?" discussion, though.
It's very pretty, but I'd consider getting rid of the text-shadow on code examples.
(Minor point, but: # as a length operator isn't entirely unique to Lua, Perl has $#foo to return the length [kinda] of the array @foo).
I found myself eating normally PLUS whatever they sent, which kinda defeated the purpose for me.
(Their website is stunningly good, though)