HN user

kugelblitz

492 karma
Posts6
Comments152
View on HN

Yes, but combine that with a small-ish provider, this will also hurt them (e.g. see Google Maps price hike). Either way, if I use a service 20x a month and it costs $15, I can handle a hike to $20, that's fine, somewhat predictable. They also relied on those customers, they can't just get rid of all $15 customers.

But if a free offering suddenly says "We are getting rid of free, only starting $899 a month baseline, because we noticed our free users aren't converting and we only want to support enterprise from now on". Well, then I have to move everything.

Still a big price hike can come, but +20% monthly is easier to stomach than if I can't be sure what will happen to the free offering.

I use bunny.net for CDN and DNS.

I don't like free offerings, because what if they decide to charge someday? What if someone decides "free is not feasible, we start charging $20 per instance now".

I'd rather have a low fee now, a change from $2 to $3 is more likely and that's fine for me. But from free to not free is risky for me.

I also like smaller, independent-ish ompanies that actually care about developers. That's why I use bunny.net, transistor.fm, Plausible Analytics.

I usually go full Symfony with my projects until I need to spread it out. But even for interactivity, I first go for htmx and Alpine.js instead of full React or so, where I then need to setup API on backend and frontend.

I think once you're deep into a project, you of course know the features needed and the constraints and you'll be more efficient the next time around.

I think the challenge is to keep working on your old legacy projects.

Plus Symfony is quite flexible on how you want to organize your code. Modular monolith, monolith, DDD, microservices, "junior developer just setting up controllers and entities".

I have a hard time believing you are a recruiter for any FAANG company.

You just said you don't believe this person, now you are criticizing them for apparently being braggy about it (which they weren't).

They want to offer services for free and you are saying "No, no one wants that here.". Who are you to talk for others? If you don't like the free offer, just move on.

There was nothing bad about the original post.

OpenAI O3-Mini 1 year ago

Had the same problem while trying to decide which Roborock device to get. There's the S series, Saros series, Q Series and the Qrevo. And from the Qrevo, there's Qrevo Curv, Edge, Slim, Master, MaxV, Plus, Pro, S and without anything. The S Series had S8, S8+, S8 Pro Ultra, S8 Max Ultra, S8 MaxV Ultra. It was so confusing.

PHP 8.4 2 years ago

Solo Dev on my own PHP project since 14 years.

I wait 1-3 months, but then update. It used to take way longer, because Amazon's Elastic Beanstalk platform would take longer to update, but I've now changed to Platform.sh and the transition should be easier.

It has been very backward-compatible (i.e. stuff that works in 8.n also works in 8.n+1; and unless you use exotic functions or are relying on special functionality, it should work for you, too).

Once I'm at 8.4, I would slowly update the code / syntax with rector and the assistance of phpstan.

For framework updates I wait 1-2 patch versions before updating, because of composer dependency problems and sometimes bugs do still find themselves into new releases (e.g. I would wait at least until Symfony 7.2.1 before upgrading from Symfony 7.1.x).

I use Symfony (PHP based framework) and it works fine. I've been able to get into Django (Python), Laravel (PHP), Java (Spring) and even Grails (Groovy) because they either had similar concepts or even similar syntax (I mostly do web development, so this is a very biased take).

Being a freelancer, I need to focus on what's marketable. Sure, Elixir will get me into a niche, but I will have way less projects to choose from. And when I start a project for a company, if I start with Elixir, I will also have a smaller pool of devs to recruit from. It's a chicken-and-egg problem.

Nowadays, if I start a project, I would try to build on monolith and full framework with a PaaS.

Unfortunately, most projects want to start out "the right way", which means separate backend (e.g. Java), separate frontend (React), rented server (e.g. Hetzner server) and custom deployment (some pipeline an outside agency built when they first started the project).

I'd rather spend 400 USD on tools each month, but then only need 1-2 full stack devs instead of 6-8 people (1 sys admin, 1-2 deployment, 2 backend, 2 frontend) and with all the overhead that comes with it.

I have another, different oddity. Whenever my colleague and I stand up (or also sit down?) on the desk, his Dell monitor would turn black for a few seconds. I don't remember the specifics, but I think it was mostly just the two of us, when other people say down if was fine.

Even if he's sitting on a different table, the moment I sit down his screen would blank for a few seconds then continue to work normally.

I also get electrocuted easily when I use the escalator. It almost doesn't matter what I wear, so it might have to do with my skin or it's conductivity? But that's just a wild theory that would need to be checked.

Edit: Some research seems to point to the static electricity from the chairs.

I once did that for a client of mine.

I took the WordPress-based / WooCommerce system and split it into 1) the Shopify system for admin stuff and also the whole payment system and 2) the "frontend" i.e. the consumer facing part BEFORE the payment (I used Symfony, similar to Laravel, but more modular and I was more familiar with it). Theoretically you could fetch all the product data via the Shopify API and then sync it automagically. But in the first iteration, we just copied some of the basic product data into a simple Symfony Admin backend and made a simple javascript-based checkout slide-out, and only when they were ready to pay, they would be forwarded to Shopify.

This way we would have full control of the user experience up to the point of purchase, and then Shopify would take over. I thought this was the best way I can deliver a performant website, while also being able to sleep well, because all the money stuff and all the customer data is handled by Shopify.

I was able to increase search engine traffic by 30% this way, reduce page size and increase page speeds and revenue increased significantly.

After 3 years, he decided he wanted to make it more "professional", so he fired me, I got none of the credit ("the search engine traffic must be because of better branding - and the page isn't up to my standards of aesthetics... yes, the designers who were supposed to deliver the designs kept stalling and delivered NOTHING and you had to just create something on the fly before the main selling season, and yes we had huge sales gains on the website and more traffic, but this was not because of the website"... they didn't change any of the marketing or any of their strategies, by the way.) So they hired an agency team with a project manager, designer, developer, marketing person; who then asked me to give them the source code from git so they can upload the code to their FTP server (!).

And they pretty much didn't change anything for a few years, everything looked the same. After like 4-5 years, they adjusted the design a bit, but still looked VERY similar.

It's a different ecosystem than Wordpress.

I'm having some trouble finding analogies.

But maybe Symfony would be something like Linux Debian, has all the building blocks, it's modern but stable and well documented. Laravel is like Linux Ubuntu, it bases many things on Debian, but adds many things to make stuff a bit easier for the user. It's "shinier" and it has better marketing. You can add Debian stuff to Ubuntu, but you can't necessarily add Ubuntu stuff to Debian.

Symfony is more modular, you can add the components to any PHP project. Whereas Laravel uses many Symfony components and adds some syntactic sugar, but once you go into Laravel, it's difficult to stray away too far from the "Laravel way". Laravel uses many Symfony components, but Symfony can't easily use Laravel components.

Self-hosted Wordpress would maybe be comparable to a rooted Android phone. It has a very specific use case (for Wordpress it's fundamentally a Content Management System). You can add all sorts of plugins and additions. But it's also easy to accidentally break something. And once you added too many things, it might be difficult to update without breaking many things.

In the end, they're all Linux based, but living in very different ecosystems (just as Symfony, Laravel and Wordpress are PHP-based).

In programming terms, Symfony might be similar to Django (Python) or Spring Boot (Java), whereas Laravel is "cousins" with Ruby on Rails.

I think it's more that it's a crap job market. Have been dev freelancing for about 10 years, used to be able to choose from a few projects within a couple of weeks of searching.

But the last 18 months have been hard. On some freelancing projects I was up against 80 or 120 other devs. (I live in Germany.)

Recruiting agencies have told me the same. I finally found 2 part-time projects after 6 months of search and will now try to wait our the dry period.

For my 12 year side project, I recently moved from Elastic Beanstalk after 6-7 years to Platform.sh, because "it just works" even more so and it was way easier to debug (EB just says "error in step 18_install_yarn" or something).

I use Symfony (Php) and have not used a full SPA after I retired AngularJS (v1) like 10 years ago. What people now call server side rendering (SSR) is just how Symfony works with its regular Twig templating language (heavily inspired by Django's templating language).

As I gained more experience, I rewrote it. Once from vanilla PHP to Laravel, then later to Symfony.

I would argue adding JavaScript on top of Laravel will make you slower. You can use Blade as the templating engine (or how JS people would call "Server Side Rendering" but which has been default for most full stack frameworks). Otherwise you need to create 2 additional interfaces, one for backend and one for frontend. And an additional layer of error handling.

I personally prefer Symfony over Laravel because of it's modularity and extensibility, but Laravel has the edge on getting started quickly and available SaaS features (such as billing modules and stuff).

If you need SPA-ish features, you could use htmx and if you need some on-site interactivity, I like Alpine.js.

Just use fastmail and set the DNS to theirs, they should handle the rest. I also like that they have catchalls, i.e. I can post hackernews@mydomain.com or stepstone.com.engjobs@mydomain.com to figure out how people found out about the email address.

Pros: You can always change the provider in case you change your mind in the future. With gmail, you're locked in to their service (and if they lock you out for some reason, well, you're stuck).

How about going freelance contracting / consulting? They will probably appreciate your experience as CTO and also your understanding of how to push a product forward.

I've only had side-projects, but one of them was big enough to pay the bills during the best of times. Currently it has hit a speed bump (more visitors, but less orders) so I'm just running it passively on the side, generating a little bit of profit, while I do freelancing.

Security in vanilla php using old tools is a headache.

I use Symfony and using the form component (https://symfony.com/doc/current/components/form.html) you can achieve much of what is needed.

If you use the framework as well (which is very modular nowadays) you also have security built-in (https://symfony.com/doc/current/forms.html).

But probably not as fast as a "quick and loose" approach if you don't know Symfony yet, but extendible and secure (if you do know Symfony, it might be faster than the vanilla php approach, because you can avoid much of the "generic" code, the validators, the error handling, avoid SQL and XSS injection).

I suppose hiring an SEO agency to do marketing is like hiring a painter to remodel a house to sell it.

You sort of already decided what you want to focus on. But maybe the remodeling needs other things first, e.g. someone to clear out the stuff to clear the pathways, add new furniture, redo some of the floors, redo the tiles in the bathroom.

Same with the site, maybe you need someone to optimize the web site performance, maybe you need to create a funnel and several landing pages, maybe more marketing in LinkedIn groups.

SEO is important, but it should be part of a holistic approach towards marketing.

And if it looks spammy to you, it most likely is. I'd stop the cooperation immediately to prevent further reputational damage. Don't just check page views, but also if people are staying longer, clocking through the site, ordering anything, etc.

PHP / Symfony.

It has Auth, Templating, ORM, Email, Caching, Forms, Validations.

For frontend I like Bootstrap or Tailwind as a base, but for interactivity I use a combination of htmx and Alpine.js, so everything's pretty light-weight.

In the frontend world, I started reducing my reliance on it. I started quite a while ago and had went through jQuery, jQuery UI, bower, gulp, grunt, AngularJS, then the completely rewritten Angular 2+, Vue.js, npm, yarn 1, yarn 2, yarn 3, webpack, rollup, Parcel.js (which I like)...

It was too much for me to keep up. So I stuck with Symfony and try to keep the frontend light-weight.

By now I'm quite efficient, haha.

Heavy stuff in the beginning, fragile stuff at the back, from large to small (so that I bag the heavy and large stuff in the bottom and then fragile and small I squeeze in carefully).

I recently heard of a tip from people who become anxious at the cashiers: Fruits and veggies at the end, because often they need to weigh it and sometime also input numbers manually, this gives those extra few seconds at the end.

In Germany you always bag everything yourself and in the discount stores you have 1.4 seconds per item to pack stuff while the cashier is sliding stuff towards an area of maybe 60cm x 100cm (2 feet by 3 feet) where if you bag it too slow you'll hold up the line and people will look at you.