HNHacker News
TopNewBestAskShowJobs

AlexITC

683 karma · joined January 29, 2017

https://wiringbits.net | https://github.com/AlexITC | hn@wiringbits.net
submissionscomments
AlexITC··on Ask HN: How would you do layoffs right?
While I haven't done layoffs, I have had to end our relationship with employees, in both cases the situation is very unfortunate.

From my point of view, there is no simple way to handle these situations but it is crucial to handle them in a respectful way, people are humans, and, while it can be hard for you to handle a layoff, the ones getting the harder time are the people affected by it.

I'd try my best to help these people in any way I can, for example:

1. Motivate people that were planning to leave to take one of those spots.

2. Try finding ways to refer them to other companies.

3. Help affected people to be polish their resume, practice mock interviews, write recommendation letters, etc. I have saw many people that don't know how to sell themselves, if they worked with you for a while, there is a chance you have some highlights they don't actually see.

4. If possible, keep paying their salary for a few weeks/months.

5. This could sound weird but give people time, I haven't announced end of relationships until the affected person feels comfortable, which means that these are still on the chat/repos/etc, this also helps because it is usually simpler to find work when you still are employed than when you don't.

I really hope I never get to deal with this.

P.S. I forget mentioning that I prefer being as transparent as possible.

AlexITC··on Ask HN: How much is reasonable to charge for rescuing a web app?
> make sure you never charge so few hours because it's super annoying for any developer to drop everything and work on a new project for just 2 hours of income.

This is definitely what I should have done differently, like another hn'r said, setting up a minimum amount of hours would have been better.

Thanks.

AlexITC··on Ask HN: How much is reasonable to charge for rescuing a web app?
> As others on HN will tell you (I'm pretty bad at following these advice, but I try) you should charge based on value

I wonder how many people actually do this, I have failed to follow this advice many times.

AlexITC··on Ask HN: How much is reasonable to charge for rescuing a web app?
I'll check it, thanks.

> He also talks about “value pricing”, where you charge clients a percentage of the value you bring them.

Sometimes I wonder on how many freelancers actually do this, I have met many people like me who are not brave enough for this.

AlexITC··on Ask HN: How much is reasonable to charge for rescuing a web app?
Interesting, so, would you be billing X/month + any hours they consume? Sounds like a good idea.

I have got a few retainers worth ~5h/month where I just reserve that time.

Thanks.

AlexITC··on Ask HN: How much is reasonable to charge for rescuing a web app?
Agree, another friend suggested setting an emergency rate which is 2x the normal rate.
AlexITC··on Ask HN: How much is reasonable to charge for rescuing a web app?
I will certainly do this next time, like another hn'r suggested, billing for at least 1 day seems worth it too.

Thanks.

AlexITC··on Ask HN: How much is reasonable to charge for rescuing a web app?
This sounds like "what's dollar-cost to you not getting the urgent surgery today?"

While some customers can agree, it just does not seem correct, at least, not something I'd do.

AlexITC··on Ask HN: How much is reasonable to charge for rescuing a web app?
I like this idea, it would have been specially useful in my last situation where I figured out how to deploy the app in just 2h, now, my customer thanked me and moved on to give the missing work to someone else.

Thanks.

AlexITC··on Ask HN: Best Currency for Saving as a Remote Software Engineer Paid in USD?
Unfortunately, this isn't always possible, for example, in Mexico, it is hard to get a USD account.

I'd not use a virtual bank account to hold considerable amounts because there is no guarantee that you will be able to withdraw your money in case of issues.

AlexITC··on 10 Years of Scala.js
While module splitting was introduced by sjs 1.3.0 [1], the apps I have linked do not use it just yet (well, technically, the games page uses it but it is a single page loading everything, so, no real benefit from it).

[1]: http://www.scala-js.org/news/2020/10/16/announcing-scalajs-1...

AlexITC··on 10 Years of Scala.js
> This makes it hard to sell Scala.js to this audience, but I still encourage JS devs to try other statically typed languages, maybe you'll like them much more.

Actually, I have had some success onboarding js devs into sjs, until now, all of them have mentioned that it is hard to go back to js/ts because the type-safety just can't be compared (I even presented this at a conference last December).

These are some comparisons on js vs sjs code on top of react (js on the left, sjs on the right):

- Hello World: https://pbs.twimg.com/media/FngeaoraAAAr2r0?format=jpg&name=...

- Timer: https://pbs.twimg.com/media/FnlL1PjaMAEL-zJ?format=jpg&name=...

- ReCAPTCHA usage: https://pbs.twimg.com/media/FnvY_hAagAIjWF5?format=jpg&name=...

AlexITC··on 10 Years of Scala.js
> My sense is this is a very heavy runtime

It all depends on what you consider to be heavy.

Having worked with sjs for some years, sjs code size is usually negligible if you compare it to the sizes from its dependencies. I commonly that the app weights ~1-3mb but gzip compression helps quite a lot, reducing the compresed version to ~200-500kb.

To get concrete examples, let's focus on this app [1] that has an admin portal (based on react-admin and scalajs-react) and a web portal (based on react, slinky, and, material-ui 3).

The web app [2] weights ~2.5Mb, ~550kb compressed [3] (yes, mui is heavy but this wouldn't be too different on the js version).

The admin app [4] weights ~2Mb, ~570kb compressed [5] (react-admin is heavy too).

To get another example, check this simple sjs games [6] that had no js dependencies but a single sjs dependency, bundle is ~630kb, ~100kb compressed [7].

It is worth mentioning that none of these app got any effort on reducing its bundle size (worth exploring some day). Given the strong-compiler and the lack of reflection, Scala.js can perform very nice optimizations to remove any code that isn't necessary to the app execution.

- [1]: https://github.com/wiringbits/scala-webapp-template/

- [2]: https://template-demo.wiringbits.net

- [3]: https://raw.githubusercontent.com/wiringbits/scala-webapp-te...

- [4]: https://template-demo-admin.wiringbits.net (credentials being demo/wiringbits)

- [5]: https://github.com/wiringbits/scala-webapp-template/blob/mas...

- [6]: https://github.com/wiringbits/scala-js-games

- [7]: https://raw.githubusercontent.com/wiringbits/scala-js-games/...

AlexITC··on Ask HN: What is the tech stack of your side project?
sssppa! (Scala, Scala.js, Slinky, Postgres, Play, Anorm)

I run many side projects with this stack, and, it is fantastic due to the low maintenance requirements.

Besides the domain, it costs between $5-10 USD/service/month, if I wanted to save, I could just run a bigger server hosting all my services

AlexITC··on Ask HN: Why most CLIs are not using keyring?
> For example https://github.com/99designs/aws-vault/ supports one-off commands and shell sessions with pre-populated tokens.

I came to recommend aws-vault, it is pretty handy to not store aws keys in plain text.

AlexITC··on Ask HN: How do you manage dev servers?
I have been managing team servers for a while, in most of the cases, a server was required to:

1. Running experiments, like trying tools before committing to integrating them in our project.

2. Run a tool that would simplify local development setup, in most cases, running a backend or a database.

3. Try a preview from our applications in a cloud environment.

For the 1st case a single shared server for experiments has worked fine, I guess this would depend on each team.

For the 2nd case, we'd usually create a server specific for the tool and share the access with devs requiring it.

For the 3rd case, it got a bit more complicated because there are times where many devs what to push a preview, requiring coordination between devs which is tedious and error-prone. At the end, we took your route and we ended up building our own service to provide fullstack preview environments automatically when pushing code to our repository, so far, it has removed the need to share servers with devs for most scenarios.

AlexITC··on Ask HN: What is the best source to learn Docker in 2023?
It seems that you are mainly interested in how to build preview environments for your app, these posts describe an approach to get there:

- https://softwaremill.com/preview-environment-for-code-review...

- https://softwaremill.com/preview-environment-for-code-review...

- https://softwaremill.com/preview-environment-for-code-review...

While the examples use Gitlab, it shouldn't be very hard to port the same idea to a Bitbucket.

AlexITC··on Show HN: PlantUML based collaborative UML editor is now open source
Looks cool!

Integrating collaboration in the simple way I did it should be a piece of cake, feel free to contact me privately if you need any help running etherpad, it is mostly tweaking a few settings and putting nginx on front of it.

AlexITC··on Show HN: PlantUML based collaborative UML editor is now open source
Some time ago, github introduced support for Mermaid diagrams (https://github.blog/2022-02-14-include-diagrams-markdown-fil...), a nice perk is that you don't need to compile the diagrams because github renders these automatically.
AlexITC··on Show HN: PlantUML based collaborative UML editor is now open source
I updated the README to reflect the project state.

> "with no plans to go back touching js/ts for anything serious" > Or am I missinterpreting things?

If for any reason this project became something I'm focused on, I'd just migrate it to Scala.js which is what I feel more comfortable with.

AlexITC··on Show HN: PlantUML based collaborative UML editor is now open source
Good catch! I just added an MIT license.

Thanks for reporting.

AlexITC··on Show HN: PlantUML based collaborative UML editor is now open source
Thanks for reporting, I posted this close to my midnight, after that, I wasn't able to edit my comment anymore.

I have contacted hn by email to ask for help.

AlexITC··on Show HN: PlantUML based collaborative UML editor is now open source
> There is a fantastic plugin for Jetbrains IDEs that generates the diagrams in real time which is great for fast feedback, and can be used for driving out diagrams while presenting video calls.

That's exactly how I use it!

> We make extensive use of sequence diagrams using PlantUML at my work. We don't rigorously adhere to the correct UML arrow types and so on, instead preferring it as a fast way to clearly communicate data flow over time. The fact that it's in a text format means it can be conveniently edited and stored in source control.

Similar situation, Github now supports rendering Mermaid (https://github.blog/2022-02-14-include-diagrams-markdown-fil...) but I'm yet to give it a try.

AlexITC··on Show HN: PlantUML based collaborative UML editor is now open source
I have been involved in many teams where we used PlantUML for sequence diagrams, which are specially helpful to explain a complex process.

To me, I have saw considerable performance improvements when sharing sequence diagrams to devs that are not very familiar with a project or its domain.

Unfortunately, sometimes it is complicated to understand when a diagram is worth it because while an experienced dev can find something obvious, an less experienced one can struggle on that for a while.

EDIT: I forgot mentioning that these diagrams were super helpful when presenting solutions to technical customers/partners, instead of preparing a PoC, we could just create the diagrams to explain the proposal flows.

AlexITC··on Show HN: PlantUML based collaborative UML editor is now open source
Actually, those icons look very nice, right now, the app uses the public plantuml server, which means that I can't control any settings it runs with.
AlexITC··on Show HN: PlantUML based collaborative UML editor is now open source
Actually, both dependencies are specified:

1. https://github.com/ether/etherpad-lite 2. https://plantuml.com/ -> go to the bottom, there is an editor that renders the diagram, collabuml uses such a public api.

I'm happy to provide details about running etherpad if necessary.

> I can put a little backend for this. Not too difficult.

Etherpad is the collaborative backend, plantuml is the uml renderer (there is a way to run a server with this).

AlexITC··on Show HN: PlantUML based collaborative UML editor is now open source
I challenge you to get his attention to this tiny project, if successful, I'd invite you a beer/coffee.
AlexITC··on Show HN: PlantUML based collaborative UML editor is now open source
> Why not put this thing online, real Collab mode? Just have each session with a different uuid in the URL, so that one can share it with other team

I'm not sure how that would change much from its current behavior, you can put a random value at the url and work with it, actually, we have used the tool in my team several times.

> Full private mode could be smth one would need to pay for, to fund hosting costs

I used to have an text at the bottom of the page mentioning this, my idea was to get a couple of customers before investing considerable time in developing the tool, there is a lot that could be done!

> (Real lazy to compile the client each time just to do colab work on UMLs)

Do you mean compiling the text into the diagram?

AlexITC··on Ask HN: What's the best tech stack for indie hacking?
It's been some years since I do fullstack apps in Scala/Scala.js, with no plans to go back touching js/ts for anything serious (I know, I had to touch a js project a few hours ago).

Usually, I just fork my team's template [0] which has most pieces required by a common web app. There are many types of errors that can't occur in this setup. And, if I ever need to Scale, the setup Scales pretty well with a single server (I used to run a mini block explorer that indexed the whole Bitcoin blockhain into a 2TB+ postgres database).

- [0]: https://github.com/wiringbits/scala-webapp-template

AlexITC··on Show HN: PlantUML based collaborative UML editor is now open source
> Would you have chosen Etherpad if you had to do it again?

Hard question, it really depends on my goal, for building a quick prototype, I'd certainly use Etherpad again because it is trivial to launch it, and, more or less, it has worked reliably for the last years. On the other hand, collaborative editors have lots of progress with CRDTs now, it is worth re-evaluating options.

I'd bet that the key would be whether Etherpad can be easily customized to fit your goal.

Of course, as a dev, I was fantasizing about potentially writing my own collaborative editor someday if there was a way to make the project financially viable , for sure, this is the least important thing to make it get there.

> Did you get requests to support non-Etherpad servers?

Not really, I think I have got less than 5 emails about this project so far.

> I'm thinking of adding text collaboration to an open-source project I maintain

If you don't mind sharing, what's that project about?

← PreviousPage 5 of 11Next →