4,348 karma · joined January 24, 2011
Nowadays I mostly consult startups, helping them with app architecture and planning for performance/scalability, or act as a team leader on small to medium sized projects. Prefer smaller companies/teams, and remote work is a must.
I've spent quite a lot of time working on integrations and fixing the issues with custom written apis and systems, usually with outdated & undocumented code, and thus over time I've developed very versatile set of skills and got very good in figuring things out, learning fast and working independently on complex setups.
Most of the time I work in PHP (prefer laravel or symfony) and javascript (jquery, knockout, angular 1.x, vue, react, node), but I've also got tons of experience with fixing advanced CSS issues, as well as a fair amount of devops skills: linux administration, apache/nginx, advanced mysql (query optimization, high-performance, scaling, administration) and AWS, ansible, etc. I've used perl a lot before, and now use ruby/RoR from time to time. I've worked on a number of projects with postgresql, redis and mongodb as well. And at some point in time I've also spent a lot of time writing custom themes/plugins for Wordpress (not my primary interest anymore however).
You can find me on twitter: @ivanhoe011, feel free to DM me there.
It's an issue because it's wasteful, you're loosing the good stuff in the process. Throwing half of your meal into garbage every time is only an issue if you're still hungry afterwards, but it's not economically and ecologically sane thing to do. This is a similar thing, one should try to maximize the use of food that they pay for.
On the other hand some processing like canning of fresh food can actually help preserve the good stuff compared to whole food that's refrigerated or otherwise stored over longer periods of time. Processing also can increase the bio-availability of many ingredients, which can sometimes be a good thing, or in case of sugars not so good.
1) far more likely that you have undiscovered vulnerabilities in it,
2) actually a lot more work to keep it up to date and properly secured over time, since it's all up to your team (and this becomes exponentially harder with every 3rd party lib that you use).
Not implying it's the case with your company, of course, but most of B2B companies that I've seen that use custom frameworks solve these 2 problems by simply ignoring them and not updating anything - hoping for the best and relying primarily on security through obscurity for protection.
40-50 million in the war itself to be precise, but that doesn't account for all the millions of people who died in years directly after the war as a consequence of hunger, diseases, revenges, crime, political fights and persecution caused by the new division of powers... especially in Eastern Europe and Germany itself.
Well, similar defense could be used for psychopaths as well, they too have a condition that prevents them from seeing or understanding the context and the emotional impact of their actions - but some lines have to be drawn somewhere. Society has to protect itself and innocent people who get hurt by these antisocial actions.
In case of Brandon here no one got physically hurt, and the court should certainly see his condition as a mitigating factor - but you can't just completely dismiss the damage that was done and seriousness of his actions. Emotional traumas are serious deal too, and he, knowingly or not, psychologically tortured those families, causing them a great deal of pain. And he probably got some pleasure from it too, whether from the feeling of power or from the peer support and cheering, as he wouldn't be inclined to repeat it so many times otherwise...
It's not like Twitter was bug free before. How many times it annoyingly refreshed the timeline while I was reading something, or when it shows notification that it failed to send the DM, and when you retry it says "you've already wrote this", or you open the reply dialog, but it freezes, has no send button at all, so you have to re-open it. All of this was happening to me pretty regularly long before Elon came along.
As we all know, just hiring more people is not necessarily the solution to every problem, and to me it seems it was exactly what Twitter tried to do in the past. Now they deconstructed it to the bare bones, which will clearly show what are the core problems and requirements. They basically turned Twitter back into a startup. And from that new starting point they can hire again to cover the needs as they arise. If they succeed it will be a huge success as they'll end up with far more optimal team (and huge savings), and of course, if they fail to catch up with problems it will be a huge failure. We'll see how well Musk can manage it...
Digital data requires some maintenance, but with cloud services that's offloaded to service providers. I haven't logged in into Glacier or the related AWS account in years, and yet it still backups my hdd regularly. Now, if a comet strikes the Earth and destroys all the civilization, yes, paper books will be a lot more useful than HDDs or dead cloud servers, but in more realistic scenarios data copies give you more flexibility. Just look at Ukraine, they moved all their official digital archives out of the country at the very beginning of the war. You couldn't ever pull it off with paper archives, it would take months and cost a fortune.
I admittedly forgot most of the details about it, but I remember it being mentioned in my history classes in the primary school (in 80s Yugoslavia)...
Realistically, it was way harder. Tools were rough, basically just text editors, compiling was slow and boring, debugging tools super primitive compared to todays. And to learn programming back then, especially making the first steps you had to be really motivated for it. There was no Internet the way we know it today, so you had to dig a lot to get the info. Community was small and closed, especially to complete newbies, so you had to figure out all of the basic steps by yourself and to sort of prove yourself. In the beginning you had to really read books and manuals cover to cover many times - and then again later you'd end up spending hours turning pages, looking for some particular piece of info. It was supper time consuming, I spent nights and nights debugging and figuring how to call some routine or access some hardware.
On the other hand it had that sense of adventure, obtaining some secret knowledge, like some hermetic secret society of nerds that you've suddenly become initiated into, which to high-schooler me was super exciting.
Probably if I was exposed to real world applications of that math it would be easier to reason about it. I found that to be the biggest problem with my academic curriculum - there was a lot of abstract math concepts that they teach you in first 2 years, and you discover their actual usefulness only years later.
Restaurant business is one of the rare where "free market" is really fully functional, and market will quickly self-regulate and award the good ideas, and punish the bad ones.
If your guess was right then the restaurants without it would loose the customers, and niche restaurants with the "human experience" would start popping out attracting those unsatisfied customers. Since this is not happening in China (yet?), then perhaps it's about the difference in the culture and your bet is wrong?
However, problem with this popular approach is that it has become a sort of gospel preached to people, and they effectively brainwash junior devs in believing that they shouldn't ever dare to challenge the existing libs, and try to make their own improvements. Ever.
And that is obviously very wrong. People shouldn't be scared to fork a project and make their own customized version that solves their particular problems better. That's what OSS is all about. Yes, most of it will suck, but that's how you learn. And some will make actual improvements so we will have better wheels in the end.
First, engineers cost a lot of money. IME 90% of support tickets quickly boil down to a few same questions repeated over and over, and with a proper knowledge base in place anyone can answer them. You certainly don't want to pay engineers to do it. Second engineers hate dealing with customers because most of those problems are stupid and repetitive. You'll be both loosing money and employees. If there's an unknown issue, then escalate it to the engineers, but let someone less skillful/easier to replace do the triage first.
That said, you definitely want your support to have technical/domain skills, because nothing is worse for a customer than realizing that you talk to a person who knows less about the app than yourself, and keeps sending you back the predefined template answers, just wasting your time. I left more than one SaaS because of such (lack of real) support. So put your interns/juniors there for onboarding. They'll learn a lot about the app, customers will get good support, win-win.