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

"All the functions" - I guarantee you that almost any function you want in Excel is in Sheets. Just because you don't know how to use it or find it doesn't mean it doesn't exist. The only reason you know how to use Excel better is that you have past experience with it. That's, effectively, the sunken cost fallacy.

"size" - what?

"some of the external tools" - duh? But what on earth are using using "external tools" integrated to Excel for?


> But what on earth are using using "external tools" integrated to Excel for?

Off the top of my head: Operation Research... i.e. serious calculations to decide where to spend a lot of money, like: Where should I build my power station? I know, for this I will get my mixed integer programming suite out. Where is that in Google sheets???

// note, I adore Sheets, but it definitely definitely cannot compete with excel for serious computation suites or even modest visualisations.


The integrations in Excel are actually very important for power users. There's a reason Thinkcell can charge a couple hundred dollars per user.


Array destructuring: already existed, list() pseudo-function

Array spreading: already existed, array_merge

Variadic functions: are probably better implemented as a function accepting an array, especially now that there's a proper array syntax instead of a pseudo-function. Also already existed, func_get_args.

Argument unpacking: already existed, call_user_func_array

Arrow functions: are not any shorter, and are less clear, than anonymous functions.

Literally the only item on your list that was any good for the language is the null coalescing operator. The rest are just re-implementing something that PHP already had, in yet another incompatible (and often unclear) way.

Hell, good luck coming across '??' and trying to find any documentation on what it does. Searching Google for 'php ??' returns results for 'php', searching php.net for '??' returns seemingly random functions, going to php.net/?? gives you the homepage.


> Fallback to HTTP reachable via port 80 on the private IP for the server.

How, exactly, is that better than using a common cert? What threat do you propose that applies to HTTPS with a shared cert, and not to HTTP?


What? No. While those are meant to be reserved, nothing stops you from configuring your resolver to answer for them.


Yes, but users will not be happy if they see ".example" on the URL bar. And you can't get a trusted cert for them either.

Not confusing users is why the fiasco with the https certificate problem here was initially created. And to be honest I do not have any idea how all needs (users have a trusted HTTPS certificate, a domain name and no "insecure" oe other warnings in the browser, while hackers don't get access to the certificate, and all of it works without internet uplink) can be met...


This is intentional on Netgear's part, and does not in any way degrade security compared to the alternative (an untrusted cert or no HTTPS). It is neither a bug nor a security issue.


> 1) A sophisticated compiler might read the length of a file before loading it, so that it can allocate a buffer of the right size. Doesn't work with /dev/stdin.

gcc does this. It appears to be why /proc files don't work. gcc sees that stat calls it a 'regular file' and 0 bytes long, and actually performs a read() syscall with a length of 0.

> 3) Furthermore, it might check whether the file is a regular file. If not, it is almost certainly not what the programmer had in mind.

gcc probably does this. (It would explain why /dev/stdin works)


> Recently I saw a tweet where someone mentioned that you can include /dev/stdin in C code compiled with gcc. This is, to say the very least, surprising.

You can also call something to read from stdin in your Makefile, or read from stdin in your executable.

> But is it equally obvious that the compiler also needs to be sandboxed?

Yes. Why wouldn't it be sandboxed?!

> I even found one service that ... showed me the hash of the root password.

Wow. That's bad. Of course, that's not a compiler issue, but rather a system administration issue. /etc/shadow should not be world-readable.

> This effectively means this service is running compile tasks as root.

That's quite a leap from 'I can read /etc/shadow' to 'I am root'.

> Interestingly, including pseudo-files from /proc does not work. It seems gcc treats them like empty files.

More accurately, it seems the system treats them like empty files. gcc does a stat on the file, which returns 'regular file' and 'size=0'. gcc therefore calls read() with a length of 0 bytes.


> That's quite a leap from 'I can read /etc/shadow' to 'I am root'.

Of all the leaps in that post, that's the least leapy thing. `shadow` exists precisely so that only `root` can read its content, whereas before said content resided in `passwd` which _needs_ to be readable by all.

I see only two possibilities here. Either the people who set up that compile service are complete morons and run said compile as actual root in an actual VM; OR, more likely, shit runs in a container with an _apparent_ id of 0 but no actual privilege outside its temporary environment.


Running as actual root in a VM would be my preferred design. There are lots of times a user might need to apt-get some dependencies for their compile job. Let an attacker do whatever they like in the VM. Then delete the VM between users.

Docker containers aren't really a good security barrier, and a VM is much better (although VM escape vulnerabilities aren't unheard of).


There are many ways a hostile program inside a VM can escape it and run code on the host or, at least, negatively affect it.


Please do share how can one escape qemu.



Beautiful! Thank you.


[flagged]


> I did not see any relevant content on the websites you mention in your HN profile

At least I have a filled out profile, unlike you.

Besides that, and the cheap personal attacks, you seem to be completely missing the point so let me spell it out for you: VMs, containers, chroot jails and all those other tools with which we can try to isolate two pieces of software running on the same hardware all have exploits, past, current and future ones. Any piece of software of even moderate complexity will have bugs, any isolation method should be considered fallible and leaky and you best defenses will take that into consideration when architecting your setup.

If you don't then sooner or later someone with more patience, a larger budget or more knowledge than you will get the better of you with all the consequences that may have.


The idea is that virtualization escape vulnerabilities are quite frequent. An attacker might not have one on hand at any given moment and you might patch your system frequently when they become known.

But this only means a determinated attacker that has emulated root needs only patience. Good security always means stacked independent layers, betting the farm only on the guarantees of your VM is very unsafe.


I'm trying to understand what your point is, are you denying that there was a vulnerability?

As it stands it just sounds like you are just being a jerk on the internet.


I am asking for actual code that shows his statement is still true.

The statements I read as an answer to my question contain zero value and still lots of very unrelated words.

If you are sure there are vulns right now, please publish them. If not, shut up.

Nillywilly "computers might be insecure" is on a level I would not expect to read on a side like this one.

I just want to keep the quality level high for this news discussion site.


Can you please stop posting like this to HN? You've done this sort of haranguing a lot and it's not in the spirit of this site:

https://news.ycombinator.com/item?id=21812936

https://news.ycombinator.com/item?id=21812863

https://news.ycombinator.com/item?id=21812806

https://news.ycombinator.com/item?id=21656610

https://news.ycombinator.com/item?id=21656527

Please review the guidelines: https://news.ycombinator.com/newsguidelines.html. Note that they include: "Have curious conversation; don't cross-examine."


Running in a VM is good. Running in a VM as a non-priv user is better. Ideally you'd want multiple layers of defense in case of undiscovered gaps, human error and 0-days.


Not many if its Qubes OS.


One would be quite enough.


In fact, Qubes is using hardware virtualization IOMMU/VT-d [0], which has been escaped only once in 2006 by the project founder [1].

[0] https://www.qubes-os.org/doc/architecture/

[1] https://en.wikipedia.org/wiki/Blue_Pill_(software)


I trust Joanna Rutkowska's competence, but I wouldn't bet too much on chip makers not messing up again in the future.

It will be progressively harder, but it will happen.


I don't know much containerization outside of docker, but you can definitely apt-get some dependencies even inside docker containers.


Inside a docker container, you are root, so you can apt-get.


If it was in a typical container there'd be no hashed password for root, though. Just a ! or *.

In fact that's kinda the standard practice anyway nowadays (disallow logging in directly as root), so I'm really not sure what these guys are doing.


>That's quite a leap from 'I can read /etc/shadow' to 'I am root'.

Is it? There are alternatives of course but I would say that without further clues that seems the most likely explanation.

I agree with the rest of your points though. In general it seems fairly obvious that build systems should be sandboxed if they're building "foreign" code, after all if you can mess with the source code you can probably affect the build system as well, and from there you can basically do anything you want.


> More accurately, it seems the system treats them like empty files.

The reason is that the content is generated by a callback that the kernel calls, and the kernel does not want the content to be generated just in order to stat(2) the file, so it shows a zero length, and assumes that things like /bin/cat will just read(2) until EOF is returned, without trying to be too smart.


> Yes. Why wouldn't it be sandboxed?!

Famous last words.


If that was my server I would of course put a joke in /etc/shadow - did you try to brute force the hashes? It would not be a great surprise to find some obvious funny content if you try?


That'd be pretty funny :D

Like for example, if the entry for root in the joke /etc/shadow was the hash of "Thank you Mario! But our princess is in another castle!"


That's a pretty long passphrase, so someone would have to have put it in the word list directly to ever guess something that long. Would be fun though.


How many of your servers actually have jokes in /etc/shadow?


only the shadow knows


How many systems have you ran into with world readable /etc/shadow?


This seems great.

For someone who already knows Kotlin.


It's not hard to build a ride sharing app.

It is, however, hard to get drivers and customers FOR your ride sharing app.


Not if you can undercut the existing ones on price.


A ride sharing app is a dual marketplace. If you're cutting the price for riders past a point, you're cutting the pay for drivers.


That's assuming the incumbents are giving the premium for those customers to the drivers.

But even if they were, the drivers are in a competitive labor market. If you get the customers with lower prices then you can also get the drivers because they'd rather be working for your rate than not at all.


But you will never get customers without drivers and you will never get drivers without customers.

Plenty of Uber/Lyft competitors have tried and failed. Heck, a few different companies tried here in Austin once we grew a spine and banned Uber/Lyft, only to die as soon as they came back to town.


Surprise! Now that they've mostly killed off taxi companies, their rates will be the same as taxi companies. Who could've seen that coming? Oh wait.


One could argue, and I will anecdotally, that these companies have brought a much higher standard of service into an industry renowned for providing terrible (at best) service.

So if the outcome is that the price has fluctuated back to the norm, but the service provided is of a higher quality, then the consumer has won.

What will be interesting to see is what consequences will arise from a corresponding drop in demand when met with the normalisation of prices to the previous mean. Especially given that you can't actively chose between the drivers available to you through these apps i.e. if there's less demand, supply will likely drop to meet demand (drivers don't want to be sitting around all evening, or just doing 1-2 gigs per night), and there's no way for the cream of the crop to come to the surface amongst their competition by way of superior service and hence selective demand / consumers.

Intuitively, maybe it will result in harsher ratings from consumers (expecting better service given higher prices) which, with sufficient accumulation, may take lower quality drivers out of circulation and leave those deemed to be best in the marketplace.


They did not win based on their "higher standard of service", but based on their price, which was only possible due to their non-compliance with regulatory requirements.


The service they provide is at least an order of magnitude better than what the taxi companies used to provide, though.


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

Search: