Hacker News new | past | comments | ask | show | jobs | submit | more zelcon's comments login

There's nothing wrong with SMTP. It's perfect. If your complaint is that it isn't a binary protocol, then you're the type of sender it was designed to keep out.


The asyncio runtime should suspend while waiting for a LLM API response, not block


This time is different


Someone take C out behind the barn already


Public cloud is a giant scam to make sure 80% of VC money trickles back up to the big three. Most of these startups in Soma could run their product on a single threaded C++ server. But that's not cool and trendy. You're supposed to pretend that you could suddenly become Google overnight, so you need The Cloud(TM), microservices, and all kinds of redundant garbage.


Great. Show me how fast you go to market with a web application and mobile backend written as a single threaded C++ application. Also please tell me how long it took to secure and set up and maintain the server.

Startups do, and always should, focus on getting to market faster so they can get feedback from real customers.

I will take going to market faster over saving a few dollars on server costs everytime I'm given the choice.

Mature products' and companies' use cases are more nuanced.


>Show me how fast you go to market with a web application and mobile backend written as a single threaded C++ application. Also please tell me how long it took to secure and set up and maintain the server.

Let's not go crazy, Apache on metal is a very simple setup and at least as secure as S3 out of the box. Platform spread and simplicity are just lost concepts, that's all.


I'm not sure it'd even be possible to run Apache on bare metal; it has too many dependencies on OS facilities.

I'm curious if people are running bare metal web servers. I'd think there's enough lookup, modules etc that it wouldn't be worth it (small embedded applications like IoT frobs excepted)


Bare metal just means not a VM. The machine still has an OS.


No, it really does not mean that.


https://us.ovhcloud.com/dedicated-servers/

> OVHcloud Best Value is a great way for you to experience the advantages of bare metal over virtual servers at an unbeatable price. Our Best Value bare metal servers feature the most stable environment, making it perfect for processing large volumes of data.

The terminology is "bare metal" when buying up dedicated servers these days. Some places still use the term "dedicated", but since the advent of "the cloud", the term "bare metal" has come up, since most instances are ASSUMED to be VPS.


That doesn’t even make sense. Wouldn’t that be “non-virtualized”?

“Bare metal” has meant right on the bare hardware (silicon) since the 1960s. I don’t think I’ve ever heard anyone use that expression in any other way.


Not really a cloud developer, so I looked up a couple of links and I haven't been able to find any uses of the term other than referring to a single-tenant machine that you have complete control over, as opposed to virtualized solutions.

https://en.wikipedia.org/wiki/Bare-metal_server https://www.ibm.com/cloud/bare-metal-servers/hosting-solutio... https://www.ionos.com/digitalguide/server/know-how/bare-meta... https://www.rackspace.com/library/what-is-a-bare-metal-serve...


For web, yes. For embedded systems, "bare metal" means running without an OS.


That’s both correct and irrelevant because this entire thread is about running Apache, which is clearly about the web, considering Apache is a web server.


You know whats funny? If be excited to see Apache run embedded on hardware.

This comment is claiming way too many victims. Shame, it'd be a rather exciting experiment!


Bare metal is often used to mean using a CPU instead of a vCPU. But I can see why you would interpret it the way you did.


I disagree with the parent that the cloud is a scam. But I also disagree that getting to market faster is opposed to the operational simplicity that he's talking about.

Startups are very likely to fail before they need to scale. So that single-threaded C++ server, or whatever it is that the existing engineers are fastest at creating, is fine to get out there and get early market feedback.

The way I always balance this is to make the product manager put scaling and redundancy stories in the queue with feature stories. We'll build with scaling and redundancy in mind, but we don't do any extra work until the business decides those things are a higher priority than testing new hypotheses. And then I have them buy it in increments, so we can add automated load tests as we go. Then if we were to get into failwhale territory, it'd be a decision we all made together.


Strange, somehow that is exactly what we were doing in 1999, using Apache modules on UNIX.

We had a business in one year and were acquired by a major Portuguese company, with luck the company did survive the crash, and exists nowadays as Altitude Software.

Some of the founders of that startup, left after a couple of years and founded Outsystems.

No cloud, no scripting languages with kubernetes scaling to fix lack of performance, no containers, no internet scale document databases.

Just pure C and C++, with a bit of TCL thrown into the mix, and Apache.


And yet if you were to go out today and build the exact same product in the exact same way it wouldn't succeed. Strange.


Naturally, because it wouldn't fit the fashion driven buzzwords of today's Silicon Valley copy-cats.


Says who? Or is the only metric of success in your book the publishing of buzzword-filled "engineering" blog posts, parroting the endless nonsense coming from similar "start" "ups"?


Where does snap's $3 billion cloud spend land on this spectrum?


A lost bet. Their user growth stalled in the past years, they could have moved at least some parts of Google Cloud without losing scalability. On the other hand, it could have gone the other way around and they could have been actually in need of all the scalability Cloud Services offer. From what I have heard they messed up their interface some time after their IPO and that really hit them in the guts.


I’d be interested to see the startup that’s spending 80% of its budget on cloud. I’m my experience most of the startup budget goes to payroll, which seems like the sort of thing an anti-large-business person should appreciate.


> Startups do, and always should, focus on getting to market faster so they can get feedback from real customers.

Absolutely. But are you telling me that a $5 p/m LAMP stack from a basic web hosting company (I'm a Microsoft dev so not sure what the FoM in Linux-land is) isn't worth it as a first step? That you have to use a bunch of bells and whistles from AWS or Azure or something?

And, if you're in the MS camp, surely a $10 p/m IIS/SQL hosted option is much easier than anything the big three have...

I'm not seeing the value proposition of cloud here...


You don't even need C++. Even with Python, Node or PHP, a basic MySQL and Redis installation on a simple Debian server with a little tweaking, you can serve huge amounts of dynamic traffic with a $50 dedicated server from Hetzner.

It'll certainly take less time to manage than Kubernetes, that's fore sure.


The last thing you want is to architect your backend for a single hetzner server and then find out that it's not enough and have to rewrite everything. If your entire goal as a VC funded startup is to "get big or die" then optimizing for a single server is a waste of resources.


Totally disagree. When you're at the point where a $50 server won't be enough, you still have a long way to scale, just by adding more hardware.

> optimizing for a single server is a waste of resources

No, I think you should spend your time wisely and actually building your product. I don't think you should spend a huge amount of time to "optimize for a single server" (whatever that means), just that a single server can be enough for a large amount of traffic.

Many startups go all-in on complex architecture, microservices and Kubernetes from the get-go (or start splitting their monolith or whatever before it's necessary) and lose a huge amount of time setting all this up (when only Netflix-sized companies really need it) at a time where they should've focused on building their product.

The point here is that you can easily scale most apps in small steps without having to indebt yourself with complex architecture from the get go, which requires having to spend huge sums of cash on sysadmins and AWS bills that don't benefit your users.


The c++ example is indeed a bit too much. But setting up a Debian instance with nginx, python, nodejs and a bit of security would probably take max one evening.

For startups I personally believe in the more hybrid solution. I would use a cloud provider and manage the vms myself. For 100 dollars a month you can run 4 vms and a load balancer. Perfectly fine for even most scaleups. Aws, gcs and also azure are money pits. These companies to me resemble the oracle kind of company. The same btw goes for all these tooling companies like hubspot, Salesforce etc. Attractive in the beginning, but bloodsuckers after you become bigger.


Actually you run make, make install and copy the binary to a server. That would be pretty fast and quite simple to operate.


That's pretty much how it's done with Go.


> Public cloud is a giant scam to make sure 80% of VC money trickles back up to the big three.

This has to be hyperbole right? In any startup labor and rent is the dominant cost, not compute and other SaaS products.


Marketing is supposedly a large part of spend too, or should be from what Ive heard. Doesn't matter what your building if no one has ever heard of it, and I've heard some comapnies spend huge sums on marketing alone.


Labor is usually some multiple of rent -> the big cost is labor.


But but but ... running real servers requires that grouchy dude with scruffy facial hair and mountain boots. And he expects to be paid an absurd amount of money. I avoid these problems if I just put it in the cloud. </sarcasm>

This is just like when they got rid of secretaries. The work didn't go away, it just got moved to all the peons.

> Most of these startups in Soma could run their product on a single threaded C++ server.

Most could be run on a single threaded Python server.


And really it's a false dichotomy. You don't have to build your own data center.

Renting managed, dedicated servers is very inexpensive compared to cloud.


I’m on a very tight time budget for my multiplayer game. If I had to set up servers myself on bare metal, I would be making a single player game instead just due to time. The cloud is nice for some situations


cloud is not just hardware though. Its prebuilt infra that does all the boring parts for you. Yes hardware is one component but i would argue its less significant than software.


Honestly I would not shed a single tear if node.js and npm got thanos'd out of existence overnight. It is hands down the worst thing to happen to software, arguably even worse than C.


ABCL exists and is easier to use java libs from than Clojure


But does it have the things that make me use Clojure? (Immutable default data structures, sequence abstraction, general philosophy behind things eg data > functions > macros)


It does not seem easier to me to use Java libs from ABCL than Clojure.

Some Java:

  public class Main {
    public int addTwoNumbers(int a, int b) {
      return a + b;
    }
  }
Calling it from ABCL:

  (defun void-function (param)
    (let* ((class (jclass "Main"))
           (intclass (jclass "int"))
           (method (jmethod class "addTwoNumbers" intclass intclass))
           (result (jcall method param 2 4)))
      (format "calling addTwoNumbers(2, 4): ~a~%" result)))
Calling it from Clojure:

  (defn f []
    (prn "calling addTwoNumbers(2, 4): " (.addTwoNumbers (Main.) 2 4)))
Note that the Clojure version creates the object, and the ABCL version doesn't do that for you; you still need to instantiate a Main yourself.


Something like:

    (require :jss)

    (defun f() 
      (format t "calling addTwoNumbers(2, 4): ~A" (#"addTwoNumbers" 'Main 2 4))


Thanks! I didn't know about :jss and will happily concede that's equivalent to the Clojure version.


So does/is Kawa.


Reminder that this exists: https://git.zx2c4.com/cgit/ and is the preferred implementation of "web frontend to git" by Linus himself (ahem the creator of git)


cgit is a great git web frontend (I'm the guy who set it up on git.xfce.org back in 2009 or so), but it's a far cry from a full-project management solution like GH (or GitLab, or Bitbucket, or even Sourceforge, of all things).


they sunsetted code dot google dot com like 10 yrs ago...it's not coming back


Qt, Flutter, JavaFX, hell even Swing is infinitely better than any JS framework. Easier to get started with. Easier to ship. Easier to maintain. Easier to do actual, you know, computer stuff with because you can do actual I/O and talk to the OS. It's not even in the same solar system as JS, from either the user's or the developer's perspective.

The state of the art in web is React which is an ad-hoc, informally-specified, bug-ridden, slow implementation of half of Win32's UI loop.


Could have been, but I’m happy to develop in js and upload it so anybody could just visit the site and run. Build till worldwide is infinitely faster. Especially for smaller projects. e.g

http://aperocky.com/prehistoric


This is cool but it would have been easier to build in Java or Dart or C++.


Meanwhile, I don't think any of the non-web client platforms can compete with how nice it is to develop web clients, from React to Elm to trivial async-everything + async/await + the simple Promise and concurrency management. Just to give you another viewpoint.


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: