HN user

ros65536

10 karma

https://github.com/Ross65536

Posts0
Comments16
View on HN
No posts found.

An E2E encrypted link/bookmark management app, which will be called StackMarks. The idea is to be able to ‘talk’ to yourself and send text messages, images or files, organised into topics and be able to receive them on any device you own. I don’t know if anyone would actually find this useful but I definitely feel the need for something like this, since I find the idea of having a FIFO ‘stack’ of short-lived links or notes much more practical than all the alternatives I tried.

The challenge mostly comes from having everything encrypted. Some problems I have found so far:

- How to manage schema upgrades of encrypted JSON object data? This would be a simple migration if the data wasn’t encrypted. So far I’ve thought of adding a version field to each encrypted object and add migration steps to upgrade from each version to the newest so old messages would be migrated as they are fetched and then updated with the new schema.

- How to handle synchronization between devices and make it fast and reliable? I’ve thought of adding an endpoint that accepts a cursor and returns the list of changes made to the user’s data since then, such as messages added, updated or deleted which would trigger a API fetch or state update on the app. This could be sent over websockets and a regular endpoint for when it’s down. This is modelled nicely as a queue of changes to the DB for each user from the beginning, where the DB only contains the final state after all changes.

- How to handle conflicting changes made simultaneously so as to not delete user data? This is still mostly unsolved for me.

- There’s probably more as I keep implementing.

This idea has been brewing in me for at least a year now :). Glad I finally got started on it. I would love to hear your thoughts.

Location: Porto, Portugal

Remote: Yes

Willing to relocate: Yes

Technologies: Python (Django), Java (Dropwizard, Spring), Golang, Javascript (React, Vue), CSS (Bootstrap), Ruby on Rails, C#, Docker, AWS, SQL (Postgres), PHP (Laravel), MongoDB, Rust (and a few other langs and techs)

Résumé/CV: https://ross65536.github.io/personal-website/#/resume

Email: rk65536@protonmail.com

I'm fullstack but mostly into backend. Besides web applications, I have developed some mobile apps, and some systems side projects. I'm going to graduate in July with a masters in software engineering, but I've had part-time experience as a fullstack dev, working mostly on web applications with Java, Ruby on Rails and Vue.

I've been usjng keycloak as an UMA authorization server, and while it's better than nothing it has a few bugs that make it not exactly compliant with the spec. Additionally the UI is incredibly confusing and the documentation isn't that helpful in some cases. Anything you want to do you have to spend too much time searching the UI and some things are not even available: Want to assign ownership of a resource to a user? Need to run a curl request. Though I haven't tried other implementations, so maybe this one's the best

Location: Porto, Portugal

Remote: Yes

Willing to relocate: Yes

Technologies: Python (Django), Java (Dropwizard, Spring), Golang, Javascript (React, Vue), CSS (Bootstrap), Ruby on Rails, C#, Docker, SQL (Postgres), PHP (Laravel), MongoDB, Rust (and a few other langs and techs)

Résumé/CV: https://ross65536.github.io/personal-website/

Email: rk65536@protonmail.com

I'm fullstack but mostly into backend. Besides web applications, I have developed some mobile apps, and some systems side projects. I'm going to graduate in July with a masters in software engineering, but I've had part-time experience as a fullstack dev, working mostly on web applications with Java, Ruby on Rails and Vue.

PintOS is also a nice learning OS that's been used in classes. It is initially incomplete and there are 4 projects to implement process schedulling, paging, files. It simplifies the learning process since the hardware related initialization code is already implemented and is readable enough to be understood, while allowing you to focus on implementing the main ideas in OSs. Currently I'm doing project 1 on my own. It would have been really nice if my university offered me something like this, to have instructor feedback.

.NET Core 3.0 7 years ago

I don't know about Eto.Forms but from what I have tried of Avalonia I'd say It could only be used for toy projects: there is almost no documentation, there are missing features like app icons, system tray, etc. Maybe in a few years It might be good, but I'd stay away from .net if the purpose is to have a cross platform GUI app

I think this article would benefit from not shoehorning politics into the issue. Couldn't take this seriously after the irrelevant slight at Trump.

Location: Porto, Portugal

Remote: yes, and only part-time

Willing to relocate: no

So far I have some Fullstack experience:

PHP (Laravel), Python (Django), Ruby on Rails, Javascript (Typescript, VueJS, React, a bit of Angular), CSS (Bootstrap, SASS) SQL (Postgres, MySQL, SQLite), A bit of mongoDB

Other:

C/C++ (did some Linux kernel work with C), Rust, C# (Xamarin, Avalonia), Scala, Java (did some backend server stuff, http client, app), Golang, Bash scripting (built some helper scripts), Devops tools (mostly gitlab CI, Docker)

Résumé/CV: https://github.com/Ross65536 | https://www.linkedin.com/in/rostyslav-khoptiy

Email: rk65536@protonmail.com

Location: Porto, Portugal

Remote: Yes, only part-time

Willing to relocate: No

Technologies:

So far I have some Fullstack experience:

* PHP with Laravel

* Python with Django

* Ruby on Rails

* JS with TS, CSS with Bootstrap, SASS, VueJS and React

* SQL with Postgres, MySQL, SQLite

Other:

* C/C++ (did some Linux kernel work with C)

* Rust (one can hope)

* C# with Xamarin (made an app)

* Java (backend work stuff, http client, app)

* Golang (built HTTP service client)

Résumé/CV: https://github.com/Ross65536

Email: rk65536 at protonmail dot com

As mentioned in the article you might want the token to be read by the users. Such as issuing a token with a expiry date that you want the user to regenerate. Although If anything the JWT libraries should have encryption enabled by default.