Hacker Newsnew | past | comments | ask | show | jobs | submit | more Kuyawa's commentslogin

    Location: Maracaibo, Venezuela
    Remote: Yes
    Willing to relocate: Yes
    Technologies: Node, Typescript, React, Next, PostgreSQL, MongoDB, Solidity, Python, Golang, Swift, Java, PHP
    Résumé/CV: https://kuyawa.net/resume
    Email: georgenava@gmail.com
Blockchain, fullstack, backend, frontend, mobile apps, databases, APIs, browser extensions, I've done it all in over 30 years of experience. 10X programmer at 1/10 the market rate delivering results instantly and effectively

My latest creation at https://my.adminix.app/demo

Repos: https://github.com/kuyawa

Portfolio: https://kuyawa.net


I've always used this aprox dimensions:

  Sun diam   1,400,000 km
  Eth diam      13,000 km
  Sun dist 150,000,000 km
  Mon diam       3,500 km
  Mon dist     300,000 km
Lets divide it all by 1M. So if the sun is 1.4m in diameter, it would be located 150m from earth which would be 13mm in diameter and the moon would be 3.5mm located 0.3m from earth

Simply put, imagine a yellow beach ball the size of a washing machine located a block and a half away from your house, a blue marble being the earth on one side of your keyboard and a peanut being the moon on the other side


Now, using the basketball 24cm (earth) and tennis ball 6.5cm (moon) comparison, they would be separated by 7m in your living room and the sun would be 13m tall (a cherry tree) located at 3km from your house


    Location: Maracaibo, Venezuela
    Remote: Yes
    Willing to relocate: Yes
    Technologies: Node, Typescript, React, Next, PostgreSQL, MongoDB, Solidity, Python, Golang, Swift, Java, PHP
    Résumé/CV: https://kuyawa.net/resume
    Email: georgenava@gmail.com
Blockchain, fullstack, backend, frontend, mobile apps, databases, APIs, browser extensions, I've done it all in over 30 years of experience. 10X programmer at 1/10 the market rate delivering results instantly and effectively

My latest creation at https://my.adminix.app/demo

Repos: https://github.com/kuyawa

Portfolio: https://kuyawa.net


I am working on an administrative app for small businesses and it has some accounting functionality, take a look at it and let me know how I can improve it to suit your needs

https://my.adminix.app/demo


I've been using a js bookmarklet every single day for over a decade. It sorts the entries by most voted and dims the ones already shown last visit. I won't post it here as it may mess up with formatting, so here is a link to pastebin:

https://pastebin.com/dzT7PckU


you should turn it into an extension as well


Have you considered crypto payments?


Adminix is an administrative app for small businesses featuring invoices, purchases, accounts payables, receivables and inventory.

You can take a look at https://my.adminix.app/demo


Push everything down for better code readability

  printInvoice(invoice, options) // is much better than

  if(printerReady){
    if(printerHasInk){
      if(printerHasPaper){
        if(invoiceFormatIsPortrait){
  :
The same can be said of loops

  printInvoices(invoices) // much better than

  for(invoice of invoices){
    printInvoice(invoice)
  }
At the end, while code readability is extremely important, encapsulation is much more important, so mix both accordingly.


> printInvoice(invoice, options)

The function printInvoice should print an invoice. What happens if an invoice cannot be printed due to one of the named conditionals being false? You might throw an exception, or return a sentinel or error type. What do to in that case is not immediately clear.

Especially in languages where exceptions are somewhat frowned upon for general purpose code flow, and monadic errors are not common (say Java or C++), it might be a better option to structure the code similar to the second style. (Except for the portrait format of course, which should be handled by the invoice printer unless it represents some error.)

> while code readability is extremely important, encapsulation is much more important

Encapsulation seems to primarily be a tool for long-term code readability, the ability to refactor and change code locally, and to reason about global behavior by only concerning oneself with local objects. To compare the two metrics and consider one more important appears to me as a form of category error.


> Push everything down for better code readability

> demonstrates arrow anti-pattern

Ewwww gross. No. Do this instead:

if(!printerReady){ return; } if(!printerHasInk){ return; } if(!printerHasPaper){ return; } if(!invoiceFormatIsPortrait){ return; }

Way more readable than an expanding arrow.

> printInvoices(invoices) // much better than

But yes, put the loop into its own function with all of the other assumptions already taken care of? This is good.


Everyone has different opinions as this might be the printer driver on the PC or the printers internal circuit. The printer itself absolutely shouldn't try to spook the wheels when there is no paper. Id stick that check in the function!


> printInvoice(invoice, options) // is much better than > ...

in Elixirland, we'd name that function maybe_print_invoice which I like much better.


Brave. I could access the whole world with it, no ads, AI at my fingertips, maps, banks, crypto wallets, chats, apps, there is absolutely nothing I can't do and if there is, I'd build it.


As a Firefox user since phoenix 0.6 who used to develop tens of extensions I can say that only uBlock Origin is a must have. Alternatively I am using Brave with absolutely no extensions (ad blocker at the core) except Metamask and sometimes Safari for multiple browser web testing. After twenty years in web dev I can fairly say browsing the web without seeing ads is an extraordinary experience thanks to the exceptional effort of Mozilla in the early days.


Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: