HNHacker News
TopNewBestAskShowJobs

satyenr

59 karma · joined November 17, 2018

[ my public key: https://keybase.io/satyenr; my proof: https://keybase.io/satyenr/sigs/BLIerp5ZZ46-jaqHqgTpva-HIW8fSt-GxlizhY1TM9Q ]
submissionscomments
satyenr··on Rethinking the filesystem as global mutable state, the root of all evil
Again, why do you care about files? Logs have nothing to do with files. Files are just the interface used by filesystem to show the event stream that is logs so you can use file based tools to access the.

I am not calling it a filesystem. Let’s call it a data bank?

satyenr··on Rethinking the filesystem as global mutable state, the root of all evil
By that logic, there is nothing wrong with having a flat memory address space. With access control, the OS can ensure that one application never access another’s memory area. Why do we need isolated virtual address spaces so that application always believes it is the only application running?
satyenr··on Rethinking the filesystem as global mutable state, the root of all evil
It is meant to be more powerful and flexible than what iPad OS does, but somewhat similar.
satyenr··on Rethinking the filesystem as global mutable state, the root of all evil
Well, you can also use global variables safely with locks.
satyenr··on Rethinking the filesystem as global mutable state, the root of all evil
All of this can be implemented on top of a file system, of course. What do you think iPadOS does?

We are talking about what the user/application sees and is capable of accessing.

satyenr··on Rethinking the filesystem as global mutable state, the root of all evil
Who says logs have to be written to a file — at least as far as the user is concerned? Logs are a series of events — a LogStore will let you read events as they are appended. And even if you do want to store logs in “files”, the solution proposed here here let’s you borrow them for the owning application.
satyenr··on Rethinking the filesystem as global mutable state, the root of all evil
No, it is not reinventing the filesystem -- it's more like a file-vault or a file-bank. Anyone looking to operate on the files must either borrow (to read) or take ownership of (to write). The difference is that while a filesystem unlimited access to all files, the app in question is meant to be more sandboxed -- handling only the files it is asked to -- e.g. shared documents that can be edited by multiple apps. Each user (on a multi-user system) will have their file-vault/file-bank and files must be explicitly transferred for shared access.

Finally, as I said, it is a straw-man proposal -- I haven't spent time working out all the kinks.

satyenr··on Rethinking the filesystem as global mutable state, the root of all evil
That is where I got the idea. :-)
satyenr··on Rethinking the filesystem as global mutable state, the root of all evil
You don't use a photo management application because the file-system exposes photos as files. It is like saying -- in java parlance -- I am perfectly fine using object for everything -- I don't need any other data type. In the hypothetical system I proposed, the photo store would be exposed via an application like Explorer/Finder -- just tailored for viewing photos.

Compressed files are containers for files -- they are nothing on their own.

> Applications themselves are files.

Sure -- they go into ApplicationStore -- which tailored for say, quick application discovery and launch.

> Who owns all the unassigned stuff? T

What exactly is the unassigned stuff? Files taken from other machines? I don't see why they can't be put into an appropriate store based on type.

> I create my own file formats.

I assume you create your own file formats because you develop your own applications? In that case, your application will be the owner of the file in question.

satyenr··on Rethinking the filesystem as global mutable state, the root of all evil
It doesn't have to be that way. Consider the following scenario:

1. Every file is owned by application.

2. A file-store application is the custodian of files meant to be used by multiple applications.

3. An application that needs to edit a file must take ownership of the file for the duration of the editing.

4. An application that needs to read a file must borrow the files.

5. A file can be borrowed by multiple applications, but owned by only one.

6. Applications can provide the ability for shared ownership, but those would by specialized applications capable of handling and merging simultaneous changes.

This is a straw-man solution, and I am sure multiple problems will have to be solved before such a system can become a reality.

> As an example, most people would want to be able to import an image into a word processor regardless of where that image is located (local drive, network drive, floppy disk, etc.). To support that, most end user programs would want to be offered access to the entire filesystem. The moment two applications do this at once, you have all the shared mutable state problems we do now.

I don't see why the custodian of photos can't be a photo management application. In fact, a filesystem is the lowest common denominator. It is possible to build higher level abstractions like PhotoStore, MusicStore, MovieStore, CodeStore etc. which accommodate and make use of the properties of individual data types to offer an enhanced experience.

satyenr··on Ask HN: Tips for applying as a system administrator?
> what should not be missing in my application?

Details of relevant skills and experience. But do not go too detailed. There should be enough information to convey your competence without being overwhelming. The person reviewing your resume doesn’t have time to read a novel — make sure it is succinct. Put the most relevant skills/experience front and centre and be ready to back them up. Nothing hurts your chances more than failing at something you’ve listed in your resume.

> where can I get good latex templates for applications?

Don’t bother — just use MS Word/Google Docs/Apple Pages/LibreOffice Writer. They all have templates for writing resume. Just be sure to convert the end result into a PDF.

> which topics should I look at again before a trial working day?

The basics of whatever you are supposed to be working on, I suppose. You can always Google if you don’t know something — so don’t bother rote learning command line opts. Make sure that you are familiar with the environment you are going to work on — things like basic commands, scripting, automation, and other tools. For example, if you are going to be working on remote Linux servers, you need to be familiar with vi/vim. Similarly a Windows admin needs to be competent enough with PowerShell.

satyenr··on Apple is now a privacy-as-a-service company
Will signal continue to be free if they have a billion users like WhatsApp? Who will fund the infrastructure and development?
satyenr··on Apple is now a privacy-as-a-service company
I wouldn't be so sure about that.

* An iPhone 7 will likely receive timely updates for another 2-3 years, going by Apple's track record. Can the $450 Android phone guarantee that?

* The $450 Android will likely have a mid range chip -- which will likely not run Android very smoothly. iPhone 7, on the other other hand, runs iOS 12 like a charm. Sure, it is not as smooth as iPhone XS, but that is not what we are talking about, are we? And while I suspect that iPhone 7 may not beat the $450 Android on benchmarks (or maybe it can -- at least on single core performance, which matters more than one would think), benchmarks do not necessarily represent the real world performance.

* Resale value of an iPhone is always superior to any Android in my experience.

* While the camera quality varies from phone to phone, I suspect the iPhone is still above average in that regard.

* Sound is still better than most Androids I have seen -- including those costing $100 more.

* Should something go wrong with my phone, I can be reasonably confident that Apple will be able to fix it -- that they will have spare parts available. I can't say the same for Androids -- even flagships do not do well in this area -- I've been burnt too many times.

The only thing you'll miss out on is the latest design trends like bezel-less display and the notch. But I don't see how that counts towards value for money.

I know there are phones like OnePlus which are supposed to be flagship killers, but they come with their own caveats. Search for OnePlus privacy goof ups. And the latest OnePlus is not exactly cheap.

I use an iPhone and an Android on a daily basis -- I am not merely speculating here. I am just not motivated enough to collect data to substantiate my claims.

satyenr··on Apple is now a privacy-as-a-service company
> I don't think I've worked anywhere that's put more than $500M into a single software project. That is "huge" cost.

It's not what they put on the project in one go. It is the accumulated cost of developers, infrastructure and most importantly -- the experience and expertise that has been cultivated over decades. Do you really believe you can get a bunch of developers with limited experience to build something that is comparable to iOS/Android in a couple of years?

satyenr··on Apple is now a privacy-as-a-service company
I disagree. Case in point -- Linux on Desktop. Despite being open source and privacy respecting, Linux never managed to make significant innards into the desktop market. And for good reason. Nobody, except for hardcore hackers, wants to play the sysadmin all the time -- and that is what it takes to keep Linux running -- I am speaking from years of experience here. It is successful on servers because there are battalions of engineers employed by the companies deploying and/or supporting them. Even the most user friendly distros don't hold a candle to Windows when it comes to UX -- let alone macOS.

If the situation is so dire on desktop/laptop, which is a fairly impersonal device, I don't even want to think about running the equivalent of Linux on Mobile (I am not talking about Android). Imagine troubleshooting WiFi/Bluetooth -- or worse Cellular Radio -- issues after every update -- sometimes without any updates -- on your phone.

> Truth be told, the software development cost of these systems (Android and iOS) is not that huge.

What makes you think so? Android/iOS have been developed over years -- the cost of developers itself will run into hundreds of millions of dollars. And then you have designers, project managers, testers etc. to pay -- not to mention the infrastructure costs. Or do you expect everyone to work out of their basements on their personal machines?

> a reasonably good open source alternative could probably be created for less than a billion dollars, knowing how financially efficient are open source projects compared to commercial companies.

Again, what is the basis of this statement?

> That's a few cents per smartphone user per year, for the next decade, negligible compared to hardware costs.

That is assuming you convince everyone to use the shiny new OS.

> If this order of magnitude funding could be secured for a well organized open source project, we could have the best of both worlds, a truly open ecosystem with privacy at it's center.

And there is the crus of the matter! Who is going to pay for the project? Projects like Linux are funded by large companies like IBM, RedHat, Microsoft, Google etc. who use them to make billions. Who is going to fund a mobile OS that is actively going to hinder the money making?

The problem with Open Source projects is that they are driven by developers volunteering their time. There is little incentive for them to see the project to a point where the UX is polished enough for a non-technical user to be happy. It takes a lot of work. It is easy to build an OS that will run on a cellphone, but the real challenge is building the UX and the ecosystem around it. It is not going to be built by developers working in their spare time with no real incentive -- like a five/six figure paycheck. No, engineers tend to work on open source projects till it is either good enough for them, or till they get bored and move on to other things.

Just to be clear, I am not suggesting that open source software is in any way inferior technically. If anything, it is the other way round. Bound by deadlines and other constraints -- or simply because of unreasonable expectations, proprietary software may not be as good technically as the open source counterparts. I am merely pointing out that open source community doesn't typically spend time polishing the software to the point where it becomes palatable to general populace.

Update

And let's not forget, we did have free and open source mobile operating systems -- Ubuntu Touch/FirefoxOS anyone? These operating systems were backed by giants in the open source arena -- yet they failed to gain any traction.

satyenr··on Apple is now a privacy-as-a-service company
> They're pretty far behind with software

Examples? They are a platform vendor and have done no worse than other companies when it comes to their platform. Sure macOS has stagnated somewhat, but so have nearly all desktop platforms. Windows 10 started gaining momentum only when Microsoft realized that they had no scope in mobile space and had to save the last fort they had left. And to be honest, I do not consider Windows 10 to be massively superior to macOS. There is a reason they are building a Frankenstein's Monster by grafting a Linux kernel on top of Windows.

And iOS, despite its problem, can't be considered as worse than Android -- the later has its own problems.

At this point, OS platforms are as good as they are going to get. Barring a paradigm shift in computing, all we are going to see are incremental improvements. And IMO, that is not a bad thing. I, for one, do not want to see an interface redesign every other year.

> no real cloud offering besides iCloud.

That is like saying Google and Microsoft have no cloud offering besides Google Drive and OneDrive respectively. Or are you talking about GCP/Azure? If so, how is that relevant? Apple, unlike the other two, remains a consumer focused company with limited investment into enterprise.

> In reality, I don't think people will go back to Cloud 1.0 but at least Apple will keep companies in check while they rot away to oblivion.

What does that even mean?

> They're doubling down on what they can do which is to convince people to avoid moving their life online.

Are you suggesting iCloud is not online?

satyenr··on Problems with DSLs for non-programmers
I don’t necessarily agree. I have worked with financial analysts using Excel, SQL etc. quite proficiently. In fact, I am told that familiarity with DSLs used for data analysis/manipulation tools is considered a part of the job description by many companies nowadays.
satyenr··on Go is Google's language, not ours
IMO, boilerplate source code shouldn’t be generated at all — the tool chain should directly emit the required object code. And code generation shouldn’t require a different language — or special comment syntax.
satyenr··on Systems thinking as important as ever for new coders
I agree — and it’s not the new graduates. I have come across people with a couple of years (sometimes more) under their belts.
satyenr··on Systems thinking as important as ever for new coders
Err no.. I disagree. I’d rather hire someone with strong fundamentals but with minimal knowledge of the stack over someone who can cobble together a solution using the stack/framework but has unclear fundamentals.
satyenr··on Systems thinking as important as ever for new coders
Well said. I have come across candidates looking for engineering positions with a laundry list of fancy technologies they claim to have have worked on — yet can’t answer simplest questions about the fundamentals — way too often for my liking. There seems to be an inherent assumption that one just needs to be able to operate the newfangled technology of the day to be an engineer. Who needs to know about how network calls are made or the mechanics of spawning processes/threads — there are libraries to abstract all that.
satyenr··on A Working Mathematician’s Guide to Parsing
Just use pandoc[1] — assuming the blog platform accepts a well known markup language.

[1] https://pandoc.org

satyenr··on DConf 2019 in London
Is D being used/backed by a major software company or a major open source initiative? Looking at the trends so far, seems like it takes the backing of a giant for a programming language to succeed.
satyenr··on Apple blocks Facebook from running its internal iOS apps
Remember when people were outraged when Apple decided to give in to the demands of the Chinese government rather than shut shop. They complained about Apple not taking the high road. Now people are complaining about Apple taking the high road? Funnny how times change! Make up your mind people — you can’t have it both ways! Cheers!
satyenr··on String tokenization in C
> Next, strtok is not thread-safe. That's because it uses a static buffer internally. So, you should take care that only one thread in your program calls strtok at a time.

I wonder why strtok() does not use an output parameter similar to scanf() — and return the number of tokens. Something like:

  int strtok(char *str, char *delim, char **tokens);
Granted, it would involve dynamic memory allocation and the implementation that immediately comes to mind would be less efficient than the current implementation, but surely it’s worth eliminating the kind of bugs the current strtok() can introduce?

Does anyone here have the historical prospective?

satyenr··on Microsoft is building a Chromium browser to replace Edge on Windows 10
To be honest, my experience with FF has not be been great in the recent years — although I do acknowledge that it has improved recently. I can’t point my finger at one thing — it was combination of little things that bothered me enough to make me switch to Safari and later Chrome.

That said, my comment was directed towards that FF’s market share is plunging rapidly and unless things change drastically, it might become another Opera — a niche browser at best. We need something that can counter Chrome and by extension, Google — something that developers have to support in addition to Chrome. FF has been playing that role nicely so far, but for how long? FF is not cutting it in terms of adoption — in terms of challenging the might of Chrome.

satyenr··on Microsoft is building a Chromium browser to replace Edge on Windows 10
Linux is not dominated by a single company. Developers working for many companies contribute heavily to it, but as long as Linus Torvalds is at the helm, it is unlikely to be dominated by any one of them. So you don’t have to worry about the Linux Kernel tracking every keystroke to harvest data for adverts.
satyenr··on Microsoft is building a Chromium browser to replace Edge on Windows 10
I don’t think they intend to let Google control anything — least of all the future of the web. They have been burned too badly by them for that. They are more likely to do what Google did — they used WebKit in the early years of Chrome and then forked it to create Blink once it had gained enough traction. Microsoft is likely to do the same at some point — assuming their browser gains traction. And I, for one, hope it does — and that they make it cross platform. We need an a way to browse the web without Google tracking and Firefox is just not cutting it. And while Safari works, it is not available on other platforms.

Regarding the problems with Edge, mainstream websites don’t face problems — but you hit the edge cases (no pun intended) when you try to use it for smaller sites — and especially sites meant for limited audience — e.g. internal websites built by enterprises. They are often tested for Chrome and Firefox only — and maybe Safari if there are significant number of Macs in use.

I can’t really blame the developers for not wanting to waste their time on a browser with limited usage and — especially since it often presents challenges not posed by other browsers.

satyenr··on Ask HN: Is Google failing at UI/UX/design simplicity in its products?
Look no further than stock Android! I know a lot of people like stock Android for whatever reason, but I have always hated it. To me, it feels immature and cartoonish. And let’s not even talk about all that wasted white space! I am forever hoping Google will take some aesthetic cues from the like of MIUI.

I know it is depends on personal taste, but I absolutely cannot stand the stock Android UI. Unfortunately, there are no other options if you care about security, quick updates and devices supported for long. Also, since other UIs (MIUI, EMUI etc) are not supported by Google, the apps seem very different from the OS — i.e. there is no continuity.

satyenr··on If I were to invent a programming language for the 21st century
> Do you know how many times I've taken someone's keyboard to type a tiny snippet and then explained it in English with the code as reference? Why do you think I don't just explain it in English first? Because English is verbose and ambiguous and not suited to describing logic. That's what programming languages are for.

Exactly this — and it is true about any human language. They were built for humans who are capable of interpreting things given the context. Try covering every single case in English and you have a lengthy legal document which no one wants to read — and it still has some ambiguity left.

If you want an example of what English would look like if used for programming, take a legal document and multiply it by 100.

← PreviousPage 2 of 3Next →