HNHacker News
TopNewBestAskShowJobs

mariocesar

884 karma · joined March 16, 2011

Living in Santa Cruz, Bolivia.

Personal Website: https://mariocesar.xyz/

LinkedIn: https://www.linkedin.com/in/mariocesar/

Contact me at LinkedIn or mariocesar (at) humanzilla.com

submissionscomments
mariocesar··on Show HN: ChatGPT UI for rabbit holes
Yes, +1 to sharing links! I'll also add:

* Enable the use of personal OpenAI API keys.

* Include system prompts, such as "If the topic is about X, highlight new topics by Y" and "Reply to all as if explaining the topic to a 6-year-old."

* Backlink to the original thread when the same topics are found.

* It would be great if this could be a desktop app with all answers saved locally, creating "my own personal" infinite wiki.

mariocesar··on Show HN: ChatGPT UI for rabbit holes
Love it! I like that the site is straight to action, but I think it could really benefit from a walkthrough. Here’s an idea!

It would be great if we had an introduction to the site right in the prompt! to help understand its main purpose right from the start.

It'll be great if the first thing you see is [Explain what "delve into" is] as a prompt suggestion. Next, it will reply with, "It’s for exploring topics deeply, similar to going down "rabbit holes" where one interesting thing leads to another. Here are some examples ..."

Then, you guide the user through the functions step-by-step. Something like, "Click on option X to start a new thread, then choose from the suggested prompts or create your own. Follow the flow to see related threads and dive even deeper."

mariocesar··on Show HN: Slipshow – A presentation tool not based on slides
Nice! I do something similar with Dropbox Paper in presentation mode and also with Jupyter notebooks with the presentation feature. Of course, without all the extra nice features this has.
mariocesar··on Developer Salaries in ML/DS Linked More to Location Than Skill
ML/DS is Machine Learning/Data Science
mariocesar··on Notepad Tab
It will need a hostname or a page at least.

  Failed to read the 'localStorage' property from 'Window': Storage is disabled inside 'data:' URLs.
mariocesar··on Git cheat sheet [pdf]
I didn't know about `git add -p`. Really useful!

  -p, --patch
  Interactively choose hunks of patch between the index and the work tree and add them to the index. This gives the user a chance to review the difference before adding modified contents to the index.
mariocesar··on Hacker News Best
Is there an explanation about how "best" is ranked over time? Is this for the last day or week? Most of the links are within the range of two days.
mariocesar··on Ask HN: Which SaaS is not reactive/offline-first and should be?
There are a few issues, but the most frustrating one is the inability to reload the page or close the tab. If you accidentally do either of these, any changes made since the last version was saved on the cloud while you were online will be lost. Sometimes, if you switch online and you are writing, you could lose everything.
mariocesar··on Ask HN: Which SaaS is not reactive/offline-first and should be?
Notion, please!

I know technically it can work offline, but it lacks so many things that you only can "use" it with internet

mariocesar··on Django Developers Survey 2023 results
> What database backend(s) do you use?:

> 1. PostgreSQL

> 2. SQLite

> 3. MySQL

I'm curious whether the database is for production or what you use when starting a new project locally. It would be interesting to know SQLite and MySQL for production use.

mariocesar··on The new REPL in Python 3.13
Yes, but it goes against the principles of "Explicit is better than implicit" and "There should be one-- and preferably only one—-obvious way to do it." We use parentheses () to call a function. print was a keyword in Python2, now, with print(), it's clear that we are calling for the execution.

It's fun because `exit` alone in the REPL will return an object, and you can get the `exit.eof`, where is the message of what the keyword shortcut to call exit is, and it changes depending on the OS.

mariocesar··on The new REPL in Python 3.13
note that `exit()` on a script will also not work, as the exit function is only loaded on REPL. To make it work on a script, you will need to import the sys package and later call sys.exit()
mariocesar··on The new REPL in Python 3.13
I think there's a bit of a misunderstanding regarding exit. exit is not a keyword or a REPL command, it's actually a function exposed in the builtin package. you can run "import builtins; builtins.exit()" and see that is there

To clarify, there are two things here: why exit exists in the REPL, and why it's a function. The exit() function is available only in the REPL, and it appears built-in, but it isn't part of the built-in namespace. Instead, exit is loaded automatically by the site module.

Heres is the code with the function site.main that is doing it: https://github.com/python/cpython/blob/8af84b503d0b62a3db0d8... and more specifically here https://github.com/python/cpython/blob/8af84b503d0b62a3db0d8... on setquit

The line builtins.exit = _sitebuiltins.Quitter('exit', eof) shows that exit is set as a function. The Quitter class, which exit is an instance of, has a __call__ method, making it callable, so it as a function.

I don't believe you're wrong not understanding it; it's just that the process isn’t typically explained in detail, especially what happens when you start the REPL. This is why the message "Use exit() instead..." exists in the REPL, because of the need for clarification.

In a nutshell, exit is a function loaded into the built-ins by the site.py module, which automatically activates when the REPL starts. This automatic loading is what makes exit, help, __copyright__ and others available only in the interactive sessions.

mariocesar··on Study Suggests Genetics as a Cause, Not Just a Risk, for Some Alzheimer's
The Study direct link: https://www.nature.com/articles/s41591-024-02931-w
mariocesar··on Use Rails
For templating, that is why I prefer Jinja2 with macros instead of Django templates.

  {% macro IssueCard(issue, type) -%}
     ... lot of HTML
  {% endmacro -%}
  {% for issue in myissues %}
    {% macro IssueCard(issue, 'myissue') %}
  {% endfor %}
The alternative is creating template tags, which can be a lot of work, and it gets you out of the templates.

I have a folder called macros/ where I put all the macros I need, and then I use the import call from Jinja2.

I agree with you; having long and deeply nested HTML templates creates too much noise when developing. Jinja2 Macros help with that.

mariocesar··on Use Rails
One ideal setup I have is: Django + htmx + templates with jinja2 (to use macros) and styling with tailwindcss

The good part is that if you start early with a good design, it's fairly clear how to move from views to a REST API (DRF or Django-ninja) later and split the front end if you need to.

mariocesar··on Use Rails
I strongly agree with the article's points. While I haven't used Rails, I'm a Django developer and have never built something with Rails; I like the benefits of sticking with full-stack frameworks. Rails is a solid choice, but Django, especially when combined with htmx, also enables quick and robust application development.

It's refreshing to read about someone who prefers a straightforward approach (using boring technology) rather than dividing work across multiple teams and technologies. Using a single, full-stack framework not only simplifies the development process but also enhances the overall enjoyment when working :)

mariocesar··on 2markdown – Transform Websites into Markdown
I have been using lynx to integrate a chatbot with web content. Here's the Python function that converts a website to plain text:

  def website_to_text(url):
       output = subprocess.check_output(["lynx", "-dump", "-nolist", url], stderr=subprocess.PIPE, universal_newlines=True)
       return output.strip()
While a hosted service can be convenient, I find that using a text-based browser like Lynx gives almost the same results and consistent results.
mariocesar··on Pydantic Logfire
It is a great tool! Congratulations on launching it!

Could you clarify if it's possible to self-host the service?

mariocesar··on Show HN: Matrix Multiplication with Half the Multiplications
Perhaps it's less of a hidden gem and more of a spotlight moment.
mariocesar··on Show HN: Matrix Multiplication with Half the Multiplications
It´s actually fairly clear
mariocesar··on A formula for responsive font-size
I like how it behaves on desktop, but I don't like making it "responsive" on mobile.

We can fix that :D

  :root {
    font-size: 1rem;
  }
  @media (pointer: fine) {
    :root {
      font-size: calc(1rem + 0.25vw);
    }
  }
  @media (pointer: coarse) {
    :root {
      font-size: 1.25rem;
    }
  }

"pointer" refers to the way a user interacts with a device's screen, either using a precise pointing device like a mouse (fine pointer) or a less precise one like a finger on a touchscreen (coarse pointer).
mariocesar··on When 'open core' projects reject contributions for competing with the EE
A contributor offered the feature for free, the maintainers don't want it to be free. It's expected because is a business.

It's disappointing because it's a problem with no clear winners. It's difficult to solve it for all.

I was not trying to be contentious, just observing that open core is difficult to do it right for all parts involved.

Things will align themselves, probably a fork, users moving to alternatives, or something else.

mariocesar··on When 'open core' projects reject contributions for competing with the EE
Just saw this on the same day in HN.

Bruno: Fast and Git-friendly open-source API client (Postman alternative) https://news.ycombinator.com/item?id=39653718 https://www.usebruno.com/

Good timing to find alternatives.

mariocesar··on When 'open core' projects reject contributions for competing with the EE
This is expected but still disappointing.
mariocesar··on Launch HN: Greptile (YC W24) - RAG on codebases that actually works
Can you please share some that you consider to be good?
mariocesar··on How I decide if your website is worth a revisit
I have a quick rule and is only rule #1 in your list: if a site or blog has posted interesting updates within the last two months, I'll follow, subscribe, or add it to my feed. Otherwise, it simply goes into my bookmarks. I've long stoped paying attention to, UI, ADs, fast responses or JavaScript, as you mention I also use Ad blockers, for me they always work, for the exceptions most probably the content is not worthy of searching for a workaround.

For me, if it's interesting content and volume are key. If it captivates me and there's plenty of it, I'll follow. If it's interesting but scarce, it earns a spot in my bookmarks, for the rest, I will try to remember how to search it on Google

mariocesar··on How ChatGPT made me lazy
"How Manuals made me lazy"
mariocesar··on How ChatGPT made me lazy
Yes, that is true for most engineers. Good engineers are constantly practicing their thinking skills no matter what, which can often cause them to outgrow their current tools and ways of reasoning.

The next step for many is to contribute and make the path easier for others. Enabling lazy people to outgrow themselves can push boundaries and drive progress

Circle of life I guess.

mariocesar··on How ChatGPT made me lazy
So, the issue is more about the Social appearance of a successful engineer, not what good engineers are and how they behave.
← PreviousPage 4 of 11Next →