HNHacker News
TopNewBestAskShowJobs

ivanhoe

4,348 karma · joined January 24, 2011

Full-stack web dev, working in the field for more than 15 years (worked a few years in Delphi and C++ before).

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.

submissionscomments
ivanhoe··on Dinner for one: A little-known British comedy famous in Germany
It's also important not to forget that West Germany wasn't immune to the censorship either, and bans, beside what realistically was a Soviet propaganda, also included some really good documentaries and artwork even by today's standards.

https://film-history.org/approaches/not-approved-screening

ivanhoe··on A guided intro to the Free Pascal language
I have no experience with Free Pascal, but its predecessor Delphi was a lot safer (and easier) to use because of dynamic strings and arrays. You could use it almost without touching pointers ever (Win apis were the main reason for using pointers, as they were C based). In those days when stack overflows were the main security issue for majority of apps, Delphi apps were considered way safer than VC++ apps.
ivanhoe··on For Want of a JOIN
Also databases (yup, MySQL I'm looking at you) got better at handling subqueries quickly, which makes the job of ORMs a lot easier.
ivanhoe··on For Want of a JOIN
Back in the days of Mysql w/ MyISAM engine it was sometimes way faster on big data-sets and underpowered DB servers to do the query exactly this way. Even with all the correct indices in place the JOINs (especially if more than one table was in game) would often just freeze the server for 15-20 minutes, while joining data at the app level in the for loop and with the lookup tables for id-s would typically take only a few seconds. Obviously this is an obsolete hack for long time now...
ivanhoe··on Beyond Meat is struggling, and the plant-based meat industry worries
> is only an issue if there are actual vitamin deficiencies that matter.

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.

ivanhoe··on Beyond Meat is struggling, and the plant-based meat industry worries
Not just heating, even simple cutting/mincing of the food promotes oxidation that can significantly influence the composition of food.

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.

ivanhoe··on SwiftUI Is Convenient, but Slow
On the other hand mainstream frameworks have a big community behind them, while the custom framework's support is only you - thus making it:

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.

ivanhoe··on Asian faiths try to save swastika symbol corrupted by Hitler
> and caused the deaths of tens of millions

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.

ivanhoe··on Asian faiths try to save swastika symbol corrupted by Hitler
Not relevant just to Asian faiths, as it was a symbol widely used in many Indo-European cultures, particularly Slavic and Roman(and Germanic, but that perhaps hits too close to the problem). You still can see it as ornament carved into wooden beams under a roof and above doors on many old houses in rural areas of Serbia and Romania. Not sure though if it had any real superstitious meaning after the Christianity came, or it was just a traditional ornament that continued to be used purely as a decoration.
ivanhoe··on An offshore workforce is training Amazon’s warehouse-monitoring algorithms
That's a privilege of skilled labour unfortunately. With unskilled, easily replaceable work force managers often simply aim to maximally exploit them, and if (when) they burn out they simply hire the next one.
ivanhoe··on An offshore workforce is training Amazon’s warehouse-monitoring algorithms
But that doesn't explain the incentive for Amazon to hire anyone from Costa Rica at 3x higher salary? If education/skills are the same why not just hire more Indians (or ppl from some other, cheaper Latin America country) and save a lot of money? Hell, they could easily open a center in many parts of Eastern Europe and still hire people for far less than those $800.
ivanhoe··on An autistic man was surfing the internet on his dad’s sofa, then the FBI arrived
> But his understanding of the context and emotional impact is nothing compared to us on the outside.

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...

ivanhoe··on Digital books wear out faster than physical books
What you're saying suggests that those old codecs were superior to new ones (offering better quality at smaller sizes), which is not a case for most of formats. Also the "size bloat" with data from say 40 years ago means little today as space has become so much cheaper. If you have to expand your data from say 70kb to 120kb, which 40 years ago would be a huge deal, today it's something no one will even bother to optimize. And anyway, discussion was not about space economy, but about data being permanently lost, unable to be accessed ever again - which unless the medium is physically damaged is very unlikely scenario. There are always people willing to reverse engineer old formats, just look at the state of retro gaming now. I converted my original ZX Spectrum games from tapes to digital files, and can play them on my modern computer almost 50 years later.
ivanhoe··on Why Twitter didn’t go down: From a real Twitter SRE
> If the current state of affairs at Twitter keeps up, it'll probably be a slow descent into chaos.

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...

ivanhoe··on Apple Rankings
De gustibus non est disputandum... also no Idared and Jonaprince
ivanhoe··on Digital books wear out faster than physical books
true, but we could always print encoded digital data to that papyrus and call it a data-storage method :)
ivanhoe··on Digital books wear out faster than physical books
It's 100% true for a book forgotten on your attic, but if discussing organized effort to preserve information I argue it's an illusion - the libraries have to be actively looked after too. There is a fire protection, regular deratization and disinsection, if roof starts leaking it has to be fixed. If you just leave a book in the middle of a field unprotected it won't last a year. When libraries are left without funds their books get destroyed fairly quickly, I've seen that first hand in my home country.

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.

ivanhoe··on Pakistan's lost city of 40k people
Is Mohenjo-daro really something that most of people never heard of?

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)...

ivanhoe··on Digital books wear out faster than physical books
That's what backups and RAID arrays are for. We certainly know by now how to build a redundancy that will guaranty the data safety. For most of the libraries it's really a budget problem - they've been given huge expensive buildings with controlled air conditions for storing paper books and that's sort of taken for granted, but then governments take cuts on providing them with proper IT infrastructure and knowledgeable staff for maintaining the digital data copies.
ivanhoe··on Digital books wear out faster than physical books
Literally ANY digital format can be converted to a modern version fully automatically once the need arises. You need to solve the problem once, build a tool, and from that moment on you can convert as many files as you need with a single click. This is way cheaper and easier than dealing with paper rot and ink blended by acids from air and paper.
ivanhoe··on Digital books wear out faster than physical books
The huge difference is that digital data doesn't ever "wear out" - it might get lost or it might be in format that you don't know how to open on your current device - but it will never become partially unreadable or fragile like the physical media. Both of these problem are relatively easy to solve. It does cost money to make backups and do the format upgrades (or backup the old tools), but it generally costs a lot less than storing physical books over the same period of time and worrying of humidity, acidity of paper, insects, mold, etc. And not to mention how super-expensive the paper-books restoration is, if (or better once when) they get damaged by time.
ivanhoe··on GitHub stars won't pay your rent (2020)
My understanding of the article is that the author actually got quite a lot of benefits from having that OSS project and github stars. There's a huge difference if you're trying to promote a completely new software that no one ever heard of, and if you promote quite successful and popular OSS project like they do. Even being able to write this article as a way of pushing the new commercial version of the software is only possible thanks to that OSS project. So in the end github stars do payout, just not directly...
ivanhoe··on Ask HN: What was being a software developer like about 30 years ago?
Take all these stories with a grain of salt because one of the key elements for the things being better (at least for for me) 30 years ago is realistically the fact that I had 30 years less back then. So everything was new to me, I had a lot more time (I was at the end of the high-school when I started programming for money), and most importantly I had a lot more energy (and less patience, but energy made up for it).

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.

ivanhoe··on Find your Twitter friends on Mastodon
What happens if/when Mastodon gets mainstream and gets plagued by all the same problems as twitter? It being the distributed platform there's a very little options to fight fake news, hate speech, bots, etc. on Internet-wide level. Is there any option other than users gravitating to servers hosted by like-minded people, creating a clear separation into social bubbles?
ivanhoe··on The paper that keeps showing up
Complex numbers are extensively used in electronics so I never had a feeling of it as something purely synthetic, but most of n-dimensional math was for me beyond my capabilities to understand it any level higher then treating at as a purely mathematical abstraction of our 3d world - and thus all I'd do was just crunching the equitations.

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.

ivanhoe··on The Restaurant Industry’s Worst Idea: QR Code Menus
> and I bet the human experience is a big part of their motivation.

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?

ivanhoe··on Teens turn to TikTok in search of a mental health diagnosis
Back in the day it was much simpler - what ever symptoms you tried googling you'd inevitably end up with a self-diagnose of cancer every time.
ivanhoe··on Reinvent the Wheel
These are all legit concerns, and on paid projects you really don't want to reinvent the wheel as long as the existing wheels do the job. You'll save time/money, it will be easier to maintain and safer, and all those other pros mentioned are 100% true.

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.

ivanhoe··on Engineers should do customer support and success
This is perhaps doable in a very early stages where the team is just a few people and there's little tickets and customers, and perhaps the customers are also tech ppl/early adopters, so they'll appreciate talking to someone who knows all the details - but as soon as you grow a bit this becomes just unsustainable.

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.

ivanhoe··on Forgetting the Asbestos – how we lose knowledge and technologies
Yes, exactly, the same story is with the Damascus steel. We now know that the secret to it, beside the cool look, was that it contained many carbon nanotubes in steel that greatly improved the performance of the blade. That was achieved by a combination of special properties of the iron ore (supposedly sourced from somewhere in India) and the technology itself that got lost over the time. Of course, modern steel is way better and we now actually understand the tech behind the carbon nanotubes, but the old masters were achieving it all by simply conducting many, many experiments.
← PreviousPage 5 of 34Next →