HNHacker News
TopNewBestAskShowJobs

oscargrouch

1,186 karma · joined December 11, 2012

Mumba

https://github.com/mumba-org/mumba

Towards a P2P + API centric + Application based organic network.

submissionscomments
oscargrouch··on Show HN: Redbean – Single-file distributable web server
Its good from a security perspective, but also its a nightmare to know that the mothership knows everything you run on your machine.

This will also prevent distribution from outside of their appstore giving it will prevent updates.

So as anything Apple, the world security here is being used as code for personal machines remotely controlled by the mothership.

You trade privacy and freedoms for a little convenience.

oscargrouch··on Local-First Software:You Own Your Data, in Spite of the Cloud (2019) [pdf]
I agree with you. But that's because the state-of-the-art in clients are cloud hungry applications, giving their parent companies have much to profit from this behavior.

Local-first is a technological sophistication from the current tech status-quo, so it requires more labor to get at a point where it can stand against the current cloud-first applications.

We will only be able to see how far it can go, once the next-gen applications reach the same level.

It will be a harsh competition, but if we can just ship the platform along with it, and at least Android make it possible, users wont even notice, because it was the dev's that made that decision for them. And the dev's will do it because it might make their apps a little better, more responsive and fail proof.

Of course this all must happen before 5G or part of the leverage is gone unfortunately..

But we need at least try anyway, because a world where all the information is centralized on the FAANG titans is a world where freedom, civil and human rights are constantly endangered(especially in the age of AI automation).

oscargrouch··on Local-First Software:You Own Your Data, in Spite of the Cloud (2019) [pdf]
Not just that, but there also a lot of cases that the local-first software will perform much better given the resources might be cached.

If you mix the two crowds: the people that actually care with the people that will just want faster apps, you get a powerful bootstrap traction.

Lets also not forget that things might just vanish and when we are able to collect them and make personal relations that make sense to us, we will want to be secure that things that matter to us wont go away because we are keeping them. Its pure psychology.

The parent poster is forgetting that before we get use of how things are right now in the digital realm, we had to deal with the material world and thats how we shaped our minds. And in that world we learn how important is to keep things nearby and have mnemonics to help our minds that needs to keep so much information that our devices become our second brains.

I'm working on a fancy chromium inspired prototype to tackle this exact issue and just with what i got here working in "prototype mode" i kind of don't want anything else.. it's just.. another level.

Its technologically superior and even ordinary, unaware people will just want this. Cloud have its place of course, but "local-first" will eat a lot of their lunch in the coming years.

oscargrouch··on Tauri: An Electron alternative written in Rust
Not just that, it allows to ship with much more api's available to the user.

That's why is not always the best approach to appeal to whats people are saying.

Here on HN this was the #1 thing that people used to ask or complain for when the topic was electron.

"They should just integrate with the system browser" was the common saying. But the the burden would be on the developer,who would not only be back to the hellish scenario of multiple browsers implementations but also having to deal with a very skinny SDK to work with.

In the end of the day, the applications deployed on Electron will win, because they will allow developers to do much more and without the application breaking here and there because of the gimmicks of each platform.

When hearing what people say, you must have in mind the kind of the crowd you are listening to. Here on HN for instance is mostly Apple users, mostly developer types, and that's the reason why they ask for the platform browser, after asking for the platform UI, because that's how apple platform users will tend to think.. and the memory thing is the fact that most here are developers.

But that's far from being representative of the whole world of users. So, you might appeal to the particular crowd here on HN, but once you are out there "in the world" you will have a hard time facing contenders that are more resourceful than you, and the worse of all, is that it is by design. You cornered yourself into it because you forgot you are in a bubble..

oscargrouch··on Mitigating Memory Safety Issues in Open Source Software
In the end of the day only Rust will be chosen because we are talking mostly about system infrastructure.
oscargrouch··on Mitigating Memory Safety Issues in Open Source Software
> The ISRG's approach of working directly with maintainers to support REWRITING tools and libraries incrementally falls directly in line with our perspective here at Google.

So, its not enough that anybody that don't want to rewrite millions of lines of code in Rust because its just pure insanity, need to be constantly harassed and forced to feel ashamed (or feel even feel guilt) because "how in the world you did not did this code in Rust"

Now there's a whole INSTITUTION to funnel the scarce resources, not by fixing the security bugs but by forcing others to Rewrite Everything In Rust® or else they will have their popular projects hijacked by highly paid engineers from companies with unlimited financial resources to rewrite the whole thing in Rust leaving the maintainers of the original project eating dust if the don't conceive?

If this is not going to support the source code maintainers to patch the bugs in whatever technology they are using, this is the Rust bullying that used to be just annoying social dynamics, being take into another level.

Daniel Stenberg and libcurl will be exemplary nailed so others feel more inclined to follow or else see their projects being taken out of their hands if they do not consent.

Imagine if you are a open source maintainer with scarce resources, being approached by an institution that promise you to give you some funds, but only if you show a plan to rewrite the whole thing in Rust?

Edit: Just follow the Stenberg tweeter if you are curious https://twitter.com/bagder to see all the pressure this guy have being taken lately.

oscargrouch··on Implementing the Elo Rating System (2020)
> Furthermore, there has been an astonishing number of patents filed for COVID-19 vaccines in development, including more than 100 for the mRNA platform technology

I hope there someone with enough intelligence out there to understand that if there's a time to rethink the rules, the time is now.

Even for people that are only thinking in terms of profits and economy, if too many people die, there will be no economy at all..

People on top of social structures: government, corporations, etc, are working like pavlovian dogs unaware that the rules of the old normal doesn't apply to the new normality. Or its just a matter of a corrupt system that is organically formed over power and money that is completely oblivious about the values they should all stand for.

oscargrouch··on Implementing the Elo Rating System (2020)
> TrueSkill is patented,[3] and the name is trademarked,[4] so it is limited to Microsoft projects and commercial projects that obtain a license to use the algorithm.

Capitalism sometimes leads to stupid outcomes as this big issue with "what is property".

Imagine if physicists patented their equations, forcing universities, books, movies, wikipedia, etc.. all to pay for the privilege of using their equations. The world would still be in the dark ages with just a privileged social class with access to advanced knowledge.

Not to mention this will bar a totally valid shot of others human beings of getting into the same result while trying to solve this problem, giving they are using a math toolbox that is generally available to anyone.

Corporations should have the right to explore something they worked on, of course, but look at this example where Microsoft already implemented and still profit from their invention/discovery.

Using the legal system and not creativity to stop everyone else to progress using not just their knowledge, but the knowledge that can come from everywhere its pure stupidity as its not serving towards a collective good.

We are in the middle of the COVID outbreak right now, imagine if this sort of adversarial view were prominent in the world, how many more people would die if basic techniques about making vaccines were patented?

This is just utterly stupid and it's another proof that the system is broken.

oscargrouch··on Running unmodified Linux programs on Fuchsia
More or less. As far as i know gVisor work with a host process that serves as a proxy for the os syscall and the child process dispatch the calls to the parent process through IPC which in turn execute it.

This is basically also how Chrome works, except that it serves otjer api's.

On Fuchsia, apparently the OS attach a binary which is a program on its own, to the binary that is executing and that in its "manifest" tell it will need a linux syscall proxy, which is this starnix that get stitched to the executable doing all calls in the same process.

On Fuchsia case this will end to be much more efficient because there will be no IPC communication involved just jumps on the code sector.

oscargrouch··on Running unmodified Linux programs on Fuchsia
The idea is t run a binary in userspace called 'starnix' that will work as a glue between the linux syscalls and the fuchsia kernel.

This is possible given they designed it in a micro-kernel like fashion, where things are more modular and a lot more can be done straight from the userspace without going for the expensive 0 ring barrier.

From the docs:

> Rather than running Linux binaries in a virtual machine, `starnix` creates a _Linux runtime_ natively in Fuchsia. Specifically, Linux program can be wrapped with a _component manifest_ that identifies `starnix` as the _runner_ for that component. Rather than using the _ELF Runner_ directly, the binary for the Linux program is given to `starnix` to run.

> In order to execute a given Linux binary, `starnix` manually creates a `zx::process` with an initial memory layout that matches the Linux ABI. For example, `starnix` populates `argv` and `environ` for the program as data on the stack of the initial thread (along with the `aux` vector) rather than as a message on the bootstrap channel, as this data is populated in the Fuchsia System ABI.

oscargrouch··on Tiny cross-platform webview library
If you can bundle a static or shared library that have a common api where you can link and build your platform over, where the dev will know what composition HTML, CSS, JS works without having to resort to a common denominator in contradiction to your point of view, i don't think is the best approach.

It will give more burden to the platform developer and to the developer, having to work with less features and unable to follow more experimental technologies.

> it shares the system browser engine keeping memory usage down

The problem with high memory pressure have nothing to do with sharing a DSO or not, as this is a per process issue, the problem is that with the multi-process architecture, each renderer process have its own WebKit and V8+Node heap instances that need to deal with tons of javascript, resources and the bloat that comes with modern platforms like React, compiling Typescript on the fly or loading big WASM binaries.

I mean, the web standard is too complicated now, and theres a need for companies who can afford thousands (expensive) man-hour just to keep up.

Which leads to the reality of most browsers engines not being able to follow and becoming outdated in the near future.

Which means that shipping a "killer app" in such platform, like Visual Studio, will be harder than platforms like Electron, that giving its direct use of V8 can also have a "batteries included" platform by shipping together with NodeJs.

oscargrouch··on Migrating a JavaScript Library from JavaScript to WebAssembly
I think this line from the parent is right at the spot

> Wasm has the goal of high, predictable performance for numeric-heavy, legacy-, and low-level code

The OP was porting a application that is in the class of "numeric-heavy" so he had a good profit from his endeavor, as this is a right case for it.

In the low-level class there's great cases like porting MMPEG and using it straight from the browser. Of course it will be not as usable as a native application that links to MMPEG, but it will make a lot of cool things possible.

legacy: Now for instance Adobe could port Flash to WebAssembly with probably the same result. Or we could have that sweet atari emulator right in the browser.

This is not hyped as some other point of views that see WASM as a universal IR that will take the world.

I dout a lot of Javascript and Typescript code will have major benefits into porting to WebAssembly if they dont fall into one of those three categories, so most people dont need to see it as a menace, as Javascript is still being treated as a first-class citizen in the VM's.

oscargrouch··on Enzyme – High-performance automatic differentiation of LLVM
I think Swift is also going into this direction of backing in directly into the compiler and provide it as a higher level language construction.

https://github.com/apple/swift/blob/main/docs/Differentiable...

Which leads to "Swift for Tensorflow" that unlike other languages like Java, Go or Python is not just about bindings to the C++ tensorflow library.

oscargrouch··on My 90s TV: Browse 90s Television
So I'm glad this is not the case yet, but Apple specifically have been doing this more prominently than others and it starts with platform handicap (for instance make it almost impossible to create applications in other ways beyond their proprietary API aiming things like the Web).

FAANG's are feeling that the antitrust guillotine is near their heads, so things will be a little quiet for now, but once the dust have settled they will probably keep doing what they were doing before, unless of course a proper legal framework come to rescue.

But as the political class have more urgent matters to take care of, i think this legal sophistication we urgently need will not be a priority.

oscargrouch··on My 90s TV: Browse 90s Television
I get what you are saying, but there are a couple of points that make this different..

First, of course is a subjective experience and therefore prone to error, but i came to this conclusion by observing this community over a long period of time.

Second, the communities you mention have mostly common ideological guidelines and goals, working like a cult or a religion. Therefore there's this feeling of belonging. HN is far away from that as people here have all sorts of different beliefs, background, etc. It's an heterogeneous community that will hardly agree on anything.

There's also no sense of belonging here, to a group, or a brand. etc..

There's no HNer, not a club, or have a card in the sorts of "Mensa" that you would proudly show to tell how smart you are.. as most of us are anonymous here.

So i don't think the patterns apply here. I think some people spend too much time on toxic social networks and suddenly start to see 33 all over even when the number is 21, because his neurons are seeing the same pattern too many times with these algorithms that are optimized to turn us all into neurotics.

oscargrouch··on My 90s TV: Browse 90s Television
The globalization movement that started in the 90's, have no way back. It was the right direction to take anyway..

The question is how much resilient we are to create and cultivate local stuff over the global noise.. I'm pretty sure that despite the difficulty of the task, we can handle it..

But we must have the proper tools to make it flourish.. but my fear is that while we are figuring out all this, some big players decide to replay the titanic wars devouring their children before they get too powerful..

Its not happening yet, because there are barely no threats, but once they start to show up and become trends, i don't expect them to play nice.

And with all the power and control "they" have, it will not be like any old industry vs. newcomers we have witnessed before.

(BTW the matrix app being kicked out of peoples cell phones might be a sign of what will come)

oscargrouch··on My 90s TV: Browse 90s Television
Human societies must have a free road to organize themselves and grow in a organic way.

Unfortunately our virtual world are built in a way to addict us with content we create ourselves giving a few monopolists total control of our virtual presence.

I'm boarded in a project to think in another approach, in a way the give us more power and freedom to shape our virtual collective consciousness..

Without us figuring out a way to get us all out of this trap, i don't see a very bright future for us, and the current political and social status-quo are a clear sign of what all this is making to us.

The power and control is too concentrated in the hands of a few, and its easier than ever to pull all the strings from a couple of places.

Eg. If we have a dozens of key people to agree into some plan to permanent power and control, it will be impossible for us to take our freedom back, of course it will not look like any sort of government that we have witnessed before.

I know this is a conspiracy theory and i dont like it myself, but its pretty possible and easier to happen with all the technological status-quo and tech monopolies we have nowadays.

oscargrouch··on Frugal Web Browser: A Design Experiment
> WebAssembly GUI widgets as a first class citizen (instead of the current "draw-to-canvas" hack).

Just a info. The 2d canvas of Chrome at least render to a texture layer only by appending commands to a display list that is only executed on the final stage (merged with all other commands) on the final stage in the gpu process.

So it is as fast as it can get.. for instance its basically the same for the Chrome painted by C++ and you actually have to use canvas primitives to paint widgets.

Once (if) WASM have access to something like this, it will be a canvas, the same one you have bindings for javascript.

So i would not call it a hack, as you basically have raw access to paint primitives that are very optimized.

oscargrouch··on Giant leak exposes data from almost all Brazilians
> Listen to one of our most respected historians ...

Mentioning "O Globo" article from 2016, a news media that was part of the package that severely supported the coup, by constant manipulation of brazil's popular opinion, being one of the most influential TV channels of Brazil. A support that paved the way for Bolsonaro and all the right wing lunatics that are in power right now.

Also "one of our most respected historians", IDK, not from the field, but never heard of him. Maybe i should take from granted something he says over our past, but historians have not the best kind of training to understand the present time, sociologists and philosophers can do much better. Also knowing how 'Globo' works, it must have been hard to find a guy from social sciences that would corroborate with their distorted and manipulated point of view (And some point in time they will have to make a historical repair over all the wrongdoings in this case).

Marco Antonio Villa for instance is a well known historian, but is clearly a right wing supporter, with a clear political view and agenda, despite being against Bolsonaro nowadays. So there's no way to resort to prestige in the field and yet somehow say it have anything to do with objectivity, because we know this is not how it works in real life.

On the other way i can present you a lot of current newspapers pieces that say exactly the opposite. There is a trend now, that even people that supported this in the past, is starting to show a changed opinion about the subject, as the blind hate over Lula or PT is starting to make less sense nowadays, when all this had lead to this suffocating reality we are living.

> Lula, Dilma and her party tried to impeach Social Democrat President Fernando Henrique 45 (forty five!) times.

> By your own definition, they tried 45 coups, making them the biggest coupists in Brasil's history.

Don't know if those are the real numbers, but anyway, taking them for granted, none of them was approved, so it doesnt matter if it was 10, 100 or 1000. You are comparing oranges and apples here.

The only way to be comparable, it would be if one of them got approved, and without any legal grounds being proved, removed Fernando Henrique from his legitimate presidency. Than yes, i would say it would be a "soft coup", because it needs the green light from a lot of important people for this to happen without the right guidance under the law.

Because that's how you cook a coup that have the appearance of legitimacy, but once anyone digs enough, can see the how much it was flawed and corrupted from the very start (for instance, it started as a form of 'Cunha' blackmailing the president to stop the investigations on his corruption cases).

oscargrouch··on Giant leak exposes data from almost all Brazilians
What you are describing is a "hard coup", while in the case of Dilma it was what can be described as a "soft coup"..

Yes the congress followed all the legal proceedings, but in the end they did not proved that the accounting maneuver her government did was illegal and therefore unfit to what could be called as a legal impeachment proceeding.

If you add this to everything that was happening behind the curtains, and history will make this even more clear, yes it was a coup, just that, this is of a different sort. (BTW a lot of important players of the time are starting to confess everything they did, and how dirty it was)

Imagine that without any legal proof, the legislative chamber can throw out any legitimate president basically nullifying the people wish and therefore, the democracy. Also this will make the legislative power, the most powerful one over the two others, going against the three power(separation of powers) concept of Montesquieu.

That's why the impeachment proceeding cannot be only based in political grounds, but also need a clear legal basis on the government doing something wrong based on the current legal framework.

In the case of Dilma, only the political axis was at play, and a dirty one i must say, where they didn't respect the legal grounds and in the end there was no proof of her wrongdoing's.

oscargrouch··on Who Will Control the Software That Powers the Internet?
I totally agree with you, but lets not forget that we are going through a phase where the open source model is suffering over the lack of incentives.

We need to figure it out a good and sustainable economic model or else it might start falling apart.

I really think that society, governments, civil entities should step up with some formula, because i mean, this is the XXI century infrastructure.. open source software are now the "roads" where everything is passing through.

Government all around worry about their physical infrastructure, so why not start to care about the virtual infrastructure we all rely on? Where a big chunk of the economy, culture and society in general are relying on?

Unfortunately capitalism on its own is failing in presenting a good solution, unless you think the guy running (idk) some important crypto code having to take care of ads to survive is a sign that everything is working as it should.

I would love if we had some sort of "trickle-down tax", where we use dependency resolution and some algo to rate the importance of that particular dependency and make the software and services that are using them and being payed for it, to let some of the profit to help the open source ones (here i think a blockchain solution might be of some help, as things would be totally automated).

oscargrouch··on Distributed search engines using BitTorrent and SQLite
Yes with the access to the index i agree, but i was assuming the other party would not have access to that.

(But of course, if its over torrent and public the other party would have access to this data..)

But lets not forget, it would only reach the data over torrent if its not local, and as it would do it only once for each block, someone that would be spying over torrent would not have access to further queries after the first hit over that particular piece.

Also, as far as i know, you would only know about the pieces, if its asking it from you, so you would need to seed from as many peers as you can, to have access to all the pieces requests from the party you are interested in..

So even assuming a sophisticated party that could reverse engineer over piece offset access, (and let not forget that if the block size is big, this gets even harder), still, i don't think it would be possible to rebuild the query.

oscargrouch··on Distributed search engines using BitTorrent and SQLite
Yes. It will only leak the page offset of the database you are asking (over torrent).
oscargrouch··on Distributed search engines using BitTorrent and SQLite
SQLite uses a memory page mechanism. You can define the page size. With a static page size you can divide the chunks and with that you have an offset for each page chunk, or if you have the start and the end offset of the bytes, you can also solve the page offset with that info.

If you only implement the filesystem shims, you will receive everything already figure it out, and the btree engine(storage) will ask you for the given chunk of data where you can resolve to the right torrent chunk, download it and just care about delivering the bytes that were asked.

I deliver sqlite dbs over torrent and the torrent chunks are optimized for the sqlite page sizes which are 64K.

In my case i dont stream the database, but through filesystem VFS it can be done if i had a need for it.

The beauty here lies in the SQLite architecture and the abstraction over pages.

oscargrouch··on I tried creating a web browser and Google blocked me (2019)
Speaking of DRM.

Where are the relevant philosophical and legal debates around digital copy?

If we establish some common ground over copy, where balanced legal frameworks can grow, i bet things like DRM would be considered illegal.

It should be not be considered a reasonable legal path to be pursued against copyright infringement (which is a reasonable right).

And while we are at that, i see a lot of people mentioning feeling betrayed by Firefox, while back in the day, i felt that it was Tim Berners Lee and W3C who stabbed me in the back with this.

Is in time like these that we see how important it is to have a guy like Linus (and all the contributors) behind important projects.

Corporations being pulled by the capitalistic strings are not suppose to look forward higher ethical things as the "common good".

Its not irrational that corporations do this kind of things, its irrational that we expect them not to, knowing the game that is being played here.

oscargrouch··on I tried creating a web browser and Google blocked me (2019)
DRM is the new ActiveX
oscargrouch··on Serverless SQLite
I have a sqlite 'on top' of a chrome cache filesystem. My usecase is to torrent the database as i also have support for files. The caveat is that i primarily use as a key-value store (the btree storage part of sqlite).

They are used to share structured and unstructured data in a p2p way where a torrent could be a database(structured) or a fileset(unstructured) .

But all of this is part of a bigger project that is basically a new sort of p2p "app browser" with a local-first emphasis but where every app can share its functionality though RPC (locally or remotely) with distribution going over DHT's and torrents.

oscargrouch··on A Proposal for Adding Generics to Go
C++ programmers are used to think in terms of object lifetimes, were they should be allocated, and how to signal ownership and object consumption over the API.

That's why is better to learn Rust coming from a C++ background.

(And in my experience this mental model can also be of value even in languages were memory management is handled by the language runtime)

oscargrouch··on Internet 3.0 and the Beginning of (Tech) History
> This is the usual hypocrisy of european politicians.

If a chimp somehow learned that 2 + 2 = 4, would you point out that given he is a chimp and "chimps don't not math", that the statement about the subject is wrong, even that is clear it has a merit in itself and who says what basically don't matter when we think about something being right or wrong?

This is not as simple as 2+2 of course, but i rather prefer that the merit of what being discussed is taken the proper focus while who says what, only have more prominence when hidden intentions that can actually cause harm cant be neglected.

And i think this is clearly not the case unless your name is Mark Zuckerberg, Jack Dorsey or anyone who will profit from this digital neo-feudalism power grab.

People seen to forget easily how and why sovereign states with the rule of the law were built, and how, if we forget the lessons of the past, it will be very hard to get out of a state where we all have no recourse against our new lords once we go through this path of powerless, anemic sovereign states.

oscargrouch··on Internet 3.0 and the Beginning of (Tech) History
To give more context to this: imagine a seller that defines as a rule to discriminate clients by their skin color.

The rule of the law prevents we get back to the rule of the jungle which resorts to the more powerful actors forcing their will against all others.

← PreviousPage 5 of 31Next →