Hacker Newsnew | past | comments | ask | show | jobs | submit | develatio's commentslogin

if the author of this blog reads this: can we can an RSS, please?


Got it. I'll try to set one up this weekend.


Thank you so much!!


I cried. Then I laughed. Then I cried again. I can feel all the pain of the entire thing (don't ask me why). Amazing. Bravo!!


can you add [2018] to the title, please?


No kidding, not cool to be rehashing an article that is 7 years old. In tech terms, that is antiquity.


have they reverted to microservices?


Mono services in a micro repository. /s


I think this is very similar to Django’s ORM.


How would Meta gain access to my home if i don’t install Meta’s apps on my Vision?


1. Install Meta app on your Vision

2. Accept every scary permission prompt Apple throws at you

3. ???

4. Meta now has your home scanned.

This is how I see Apple’s argument. I wonder why they let the Browser exist then. It opens you up to so many more dangers, they should’ve let you only visit “apple.com” and maybe a few trusted partners.


if they could, they would put enormous restrictions on the browser as well. Chrome's popularity on iOS and MacOS is stopping them.


I was not able to understand why these code points are bad. The post states that they are bad, but why? Any examples? Any actual situations and PoC that might help me understand how will that break "my code"?


Sometimes it's not just "your code". Strings are often interchanged and sent to many other parties.

And some of the codepoints, such as the surrogate codepoints (which MUST come in pairs in properly encoded UTF-16), may not break your code but break poorly-written spaghetti-ridden UTF-16-based hellholes that do not expect unpaired surrogates.

Something like:

1. You send a UTF-8 string containing normal characters and an unpaired surrogate: "Hello /uDEADworld" to FooApp.

2. FooApp converts the UTF-8 string to UTF-16 and saves it in a file. All without validation, so no crashes will actually occur; worst case scenario, the unpaired surrogate is rendered by the frontend as "�".

3. Next time, when it reads the file again, this time it is expecting normal UTF-16, and it crashes because of the unpaired surrogate.

(A more fatal failure mode of (3) is out-of-bounds memory read if the unpaired surrogate happens at the end of string)


I had a github action with a phrase 'filter: \directory\u02filename.txt' or something close to this and the the filename got interpreted as a utf-8 character rather than a string literal causing the application to throw an error about invalid utf 8 in the path. Had to go about setting it up to quote the strings differently, but you get to see a lot of these issues in the wild.


Suppose, when you were registering your username `develatio`, you decided to put U+202E RIGHT-TO-LEFT OVERRIDE in there as well. Now when somebody is reading this page and their browser gets to your username, it switches the text direction to render it right-to-left.


and "that's it"? I mean, it does sound like it might introduce unexpected UI behaviour, but are there any other more serious / dangerous consequences?


One of my pet peeves is when UIs don't clearly constrain and delineate the extent of user-controlled text. Plenty of phishing attacks have relied on having attacker-controlled input seem authoritative, e.g. getting gmail to repeat back something to the victim.


Making any page that mentions you – including admin pages that might be used to disable your account – become unreadable is bad enough.

Another comment linked to this:

https://trojansource.codes


RTL lets you obfuscate file extensions.

E.g. Annexe.txt (that you might assume would be safely opened by a text editor) could actually be Ann\u202Etxt.exe, a dangerous executable.


Yes, dangerous consequences of unexpected UI behaviour: imagine writing a URL backwards with a right-to-left override, and it clearly says www.yourbank.example but it goes to www.evilsite.example/example.yourbank.www


I’m gonna go ahead and flag this one. This rant doesn’t make any sense (as other people in the comments are pointing out)


Speaking about flagging things :)

> Please don't complain that a submission is inappropriate. If a story is spam or off-topic, flag it. Don't feed egregious comments by replying; flag them instead. If you flag, please don't also comment that you did.

I think once you understand the context, it does make sense and would make it clear it isn't a "rant", but I also understand that that would require to actually do some reading so easier with a knee-jerk reaction to it instead.


If my math is not wrong, running a single “standard” container during 1 month (non-stop) would cost ~55$.

This looks extremely expensive for anything other than a simple demo/toy project. I can’t think of a reason I’d use this for heavy services instead of using [anything else]. Maybe I’m not seeing the use-case?


A 1 CPU + 2 GB of RAM + 50 GB ephemeral storage on Cloudflare Containers is $74.90.

The same on Fly Machines is $31.00 (performance-1x, varies by region). Fly Machines has the same sleeping functionality as Cloudflare.

Rivet Containers also has a similar price point of $29.40, but takes a different approach to sleeping (opts for optimizing coldstarts + autoscaling over snapshotting). (I work at Rivet)


I think Modal, which AFAIK has a similar feature set to Cloudflare Containers, also works out very favorably price wise compared to Cloudflare Containers.


Math is not wrong for the standard instance.

This is about using and abusing the _on-demand_ part.

The first example in the Getting started goes with sleepAfter = '10s'.


It’s likely aimed at bursty workloads. ie not one instance but a use case that fluctuates between 1 and 100 instances.


I don't think you can calculate the cost of serverless compute this way. What containers do you have that run "non-stop"?

If the container doesn't run any workloads, it doesn't cost you anything. Most of the compute i pay for sit idle most of the time.

This is amazing pricing.


Say I want to deploy a service that is currently receiving 1rps at a constant rate, no upticks, no gaps. Wouldn’t that be the cost? If the answer is “yes”, then no, that is a terrible pricing.


Don’t host your website on containers, that’s what workers are for


Aren't you limited with Workers ? Like would you be able to deploy a OCaml or a Haskell application using it ?


Realistically, almost nobody has this type of usage. And for those that do, yes, serverless autoscaling up from zero is not appropriate.


True. Most services (unless your service is a demo/toy project, as I stated earlier) have way more traffic. It might not be evenly distributed though the day, but if you add all the CPU time in a day, I’m sure it will exceed 24h. So that leaves me with the question for who is this? Developers that are starting and want to deploy something small?


> leaves me with the question for who is this

The blog post answers this. Containers was built for folks who wanted to move rest of their workloads onto Cloudflare alongside Workers/R2/AI & other offerings.

From my experience, the Workers platform is real popular among indie developers, software shops, and shops building SaaS, who typically want zero-dev ops setup and usually pass down hosting costs to their customers.

That said, compared to new cloud providers like Fly/Railway, the pricing is indeed steep.


And the gigantic AWS-tier bandwidth costs. This misses the mark by a lot. Classic example of pricing ruining a launch of decent technology.

It seems like always-on containers are not viable on this, so what's the point?


How does networking between several “services” (containers) work?


The container opens a gateway and each container provides its own local IP (e.g. 192.168.64.2), from what I understood, every services known host machine and can communicate with each other.

On my current implementation, I didn't work with DNS/Network Resolution because I need to understand better what I can/can't do with the API Apple provides, so the only things it does is handling the port mapping using `socat`, as the docs recommends.


lemon.io :)


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

Search: