HN user

intc

156 karma

Antti Antinoja: * Producer of https://c1.fi - A self hosted at rest encrypting email service with disposable aliases and custom domain support

Posts18
Comments67
View on HN
www.sygnia.co 2y ago

China-Nexus Threat Group 'Velvet Ant' Exploits Cisco Zero-Day

intc
2pts0
twitter.com 2y ago

Any YouTube experts out there? – Kari (rhymes with Atari)

intc
2pts0
www.cnn.com 2y ago

Scientists create chimeric monkey with two sets of DNA

intc
2pts0
www.youtube.com 2y ago

TROOPERS23: Keynote – Mikko Hyppönen

intc
2pts1
www.youtube.com 2y ago

Australian Woman Hit with $1.2M Judgment in US After Data Breach

intc
3pts1
devco.re 3y ago

A Journey into Hacking Google Search Appliance

intc
2pts1
www.ft.com 3y ago

China escalates tech battle with review of US chipmaker Micron

intc
2pts1
www.youtube.com 3y ago

Bendix MG-1 Central Air Data Computer: first look inside [video]

intc
1pts0
c1.fi 3y ago

Disposable Aliases

intc
1pts0
c1.fi 3y ago

C1.fi – Vaulted email service for your custom domains

intc
2pts0
opentext.uleth.ca 3y ago

Apex Calculus (October 5, 2022)

intc
1pts0
c1.fi 4y ago

C1.fi – on server encrypting email service (IMAPS/Activesync)

intc
3pts1
www.dailydot.com 4y ago

Hacked documents reveal Ecuador’s failed effort to take in Edward Snowden

intc
4pts0
www.youtube.com 4y ago

A Talk with YouTube Co-Founder Steve Chen – “Innovative Minds with Audrey Tang”

intc
1pts0
c1.fi 4y ago

C1.fi – simple encrypted-at-rest email service hosted in Finland

intc
3pts2
euroquis.nl 4y ago

How Not to Execve()

intc
2pts0
www.youtube.com 4y ago

I hacked a hardware crypto wallet and recovered $2M [video]

intc
45pts6
lore.kernel.org 4y ago

Netfilter project announces a settlement with Patrick McHardy

intc
7pts1

One can use standard IMAPS/SMTPS/PGP compliant native email app with C1.FI.

I'm still contemplating about the E2E webmail app - No matter which way one looks it - It's a shaky concept...

BTW. Does anyone know what is the current state of WASM Constant Time proposal?

Our self hosted email service, https://c1.fi, works fine with "plus addressing".

In addition I recently laid out plans for "disposable aliases" with a machine generated random string as local part for users in our shared domains (like c1to.me). So one could use an alias when signing-up with a service. Once the service is not relevant - Just delete the alias. All comments and suggestions are welcome. =)

We still are fighting the oligopoly with our vaulted c1.fi email service. Please feel free to check us at https://c1.fi/v/hn20220905/?lang=en.

Here's EU's JRC-MECSA report on our service: https://mecsa.jrc.ec.europa.eu/en/finderRequest/b5daceffc76e....

Support for client's own domain is currently under works. Our webmail supports PGP and one can use IMAPS/SMTPS or ActiveSync based native email clients too.

All servers self hosted (we run C1/Gentoo!) in our own computing facility in Finland. =)

Xterm.js 5 years ago

Of course it is. In most cases you do not have any sort of guarantees regarding the browser (which it self usually is more complex piece of software than all your operating system and it's accessories calculated together - difficult to audit - known to collect metrics etc etc). In addition one can sandbox their local terminal pretty effectively - With Tomoyo or some other MAC technology. It's not so bad idea to actually isolate your browser too (with Mandatory Access Control) - It usually has no business for a global view on your filesystem or local network resources.

I personally don't appreciate the idea of using Rust as an overall "only solution" replacement. Requires LLVM (a huge overkill on a system otherwise based on GCC), no proper support for dynamic linking, own build system, absolutely huge "ecosystem", No standardization (-> no competing implementations), SLOW to compile... Yada-yada.

Rust it self also has it's fare share of free after use etc bugs. Please check: https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=Rust

I'm personally thankful that we have SQLite which is written in C - It's efficient, tiny and severe bugs are relatively rare.

As the original article quotes: “What I cannot create, I do not understand.”

I think PGP is fine for encrypting some files. But you should take into consideration that when you encrypt a file it's very likely that some (or all) of the plain text is left behind on the block device. Using full disk encryption (LUKS for example) will give additional protection (so one can't read plain text fragments from the device when it's not "open").

This is a worrisome trend. Now one needs to manually check what the build system will fetch (and from where) before starting the build.

Many times most of the dependencies are available through the package manager of ones system.

A good way in my opinion is just to provide a clear list of the dependencies and make the build system complain if it's not there so one can install it (if didn't bother manually to check that the listed dependencies are present).

Of course there are very large and complex projects which may need more sophisticated solutions - Perhaps some sort code notarisation would serve well? Yet even there the dependency management should be clearly separated from the build system and it should prioritize using system provided packages when possible.

There are probably other considerations and implications too. Like preference of static linking over dynamic etc..

Could you explain (in simple terms if possible) how the Multicore OCaml achieves a memory model which is much simpler on more efficient than in Java or C (mentioned at https://github.com/ocaml-multicore/ocaml-multicore/wiki)?

Didn't see any mentions of critical sections (mutexes) with C++ examples in the documentation ("Bounding Data Races in Space and Time"). I'm not sure I understand the comparisons the writers are presenting.

Well. I usually work on system programming but recently started to code a web app (Account manager at c1.fi - Golang, JS, HTML, CSS) and I can say that creating even most simplistic & light weight web app can be rather demanding job. Especially when you need it to render and behave well on both desktop and mobile! =)

Perhaps 6 - 7 years ago we provided some one U server for a client. Initially the server worked fine. Then we upgraded it's disks (originally 80 gigs or so) to 1TB each (in RAID1 configuration).

After the new disks were installed the server started to have multitudes of issues with disk performance and random read / write errors.

I think it took us several days to understand that the new spinners where much more sensitive than the original ones - And the large (very powerful) fan (located between the hdds) emitted too much vibration for the disks to operate properly.

We ended up swapping the chassis to one with radial fans. Problem solved.

Dynamic linking is a Windows term (thus .DLL). In Linux (and *BSD) the same concept is know as shared libraries.

If you force everything to be static in a system then yes - You need to statically link everything you need into your interpreter too. Things are going to grow in size a lot (and spinning up your interpreter will take longer time too).

I personally think that shared libraries are the way to go in most cases. And there are distributions which handle this quite well. Of course simplification and general gravity towards minimalism will help too.

Using FFI is extremely handy (very fast to experiment against some dynamic library when the need arises). I personally think your point is perfectly valid.