HNHacker News
TopNewBestAskShowJobs

thibran

566 karma · joined July 2, 2017

submissionscomments
thibran··on Structural pattern matching in Python 3.10
Too many 'case' repetitions for my taste.
thibran··on I want a better shell (2019)
Did you try out Nushell, what do you think about it in comparison to PowerShell?
thibran··on Weird Languages
A macro is a bit like a template in web programming. You define a structure and some variables that will be filled in. The difference to a template is, a template does not respect context, a macro does.

For example, let's say your language had 'if' but not 'case', then it would be possible to write a case macro that in the end transforms at compile time into a bunch of ifs. Macros allows you to create new language syntax and express your intent more clearly.

thibran··on Upsides to unshipping: The art of removing features and products
The real reason is, adding features is simple, you just have to understand the one use-case the feature adds.

When removing a feature, you have to understand all the real world use-cases, before you can kill it. This is a lot of work, therefor it is much easier to not touch it and work on the next feature.

thibran··on Why are hyperlinks blue?
I would love if links to the same domain would have another color, so that you know if e.g. a news site just links to own content or the source, without clicking all the links in the articel.
thibran··on Time to retire the CSV?
This can easily be solved in CSV by escaping or quotation.
thibran··on Time to retire the CSV?
For the start I would be happy if Excel would, in the German version, by default start to separate CSV values by comma and not semicolon. This "bug" did cost us alone hundreds of support hours. We fixed it by switching to XLS, but still CSV is out there and causing headaches (Mailjet for example can't create correct CSV files - luckily SQLite can read them).

Microsoft -> The name of the format is 'comma separated values' not 'semicolon separated values'!

thibran··on GitHub’s engineering team has moved to Codespaces
Maybe they should have used Nix to get a dev environment that is identical for everyone... but that would be too easy.

The future is long term probably in the web, I'm just not sure we are there yet.

thibran··on How to gain more from your reading
By the way, this is also a much better learning strategy. Switching topics means to recall the information before continuing, which is very much desirable.
thibran··on Microsoft announces Windows 11
Looks like KDE with fixed magins :)
thibran··on I can't stand developing for Safari anymore
Safari is the new IE. We have to live with it.
thibran··on Why “Idea” People Are Risky and What to Do About It
> While ideas get most of the fanfare, they don’t really matter unless steps are taken to make them work in your business.

Stopped reading here. It's not about ideas, it's about having an understanding what could be done. If thinking is grounded in reality and your resource constrains, ideas are worth a lot. Otherwise all your company would do is copy other companies.

thibran··on India’s second wave
Please differentiate more. The US and UK don't share, but the EU does. The egoism of some countries hurt the idea of a free and equal world a lot these days...
thibran··on Amp: Vi-like terminal editor written in Rust
Does it have something like vim-surround?
thibran··on Nix is the ultimate DevOps toolkit
What took me a long time to understand is that there are different types of nix expressions (e.g. nix modules). For a long time I thought they are all the same. I hope nix flakes fixes the situation when they are released/stable.
thibran··on Flameshot – Simple, powerful screenshot tool for all major operating systems
This was the last essential tool needed to fully switch to Wayland.
thibran··on What's New in PHP 8.1
Funny. I almost dislike all of PHP but think that their choice of basic data structure is the one good thing. Computers are getting faster and faster and simplifying programming could be done to a whole new level. Clojure for example has a similar approach. Okay, PHP lacks contracts, but maybe PHP adds them in 20 years when the mainstream understands that they are great.
thibran··on Why are so many coders still using Vim and Emacs?
Thanks, have added and configured it -> the power of Emacs.
thibran··on Why are so many coders still using Vim and Emacs?
I'm using Emacs since 10+ but the one thing that never worked for me is window switching with more than two windows. Do you use C-x o to switch between multiple windows or what do you use?

That's what I currently use to switch quickly:

    (use-package ace-window
        :defer t
        :init (key-chord-define-global "ii" #'ace-window)
        :config
        (setf aw-scope 'frame))
thibran··on Programs are a prison: Rethinking the building blocks of computing interfaces
I'm thinking about those ideas since years. For me it is strange that it seems for many such a hard concept to grasp, since the advantages are huge and obvious.

Today some tasks like mass renaming of files of a certain type require an extra tool for a casual users, which is in most cases not available and the task therefor not doable. This is a pity and wastes a lot of potential/productivity.

If programs where things you could easily talk to - and I don't mean by using a programming language - then filtering and renaming some files should be easy.

This kind of mechanism would also allow to blur the line between the traditional desktop, the cloud and AI (something that has been tried before, but failed because the use-case where not compelling). For example, if Microsoft would update Windows in such a way, every user could have some cloud points for AI image recognition per month. If for some reason you needed to do a lot of image recognition, you would have to pay extra. Which would be okay, since using "more resources" creates costs somewhere and we as society agree that someone has to pay for it -> capitalism. This blending of ecosystems and capabilities is where things should be going, but strangely none of the big tech companies seem to pursuer such a path.

thibran··on An Intuition for Lisp Syntax
Have a look at Clojure Spec. The other one, which I don't like much, is PHP. For me it's strange that nobody seems to talk about the power of PHP map-like data structure and it's upsides because it is the main data structure.
thibran··on Cyclone Scheme
> In the meantime, I'm in the process of building my own "alternate prelude"

I'm thinking more and more about doing the same. But – there is always a but – I also dislike some other things:

Fix procedure signatures → Why is there 'remove' and 'delete'? Scheme is not statically typed, but strangely enough, this fact in not exploited often. There should be only one word with the meaning "delete" in the programming language.

Fix argument positioning → The order should always be: proc-name, main-object, arguments... Ideally one should be able to guess the name and arguments of a procedure.

Fix procedure names → Some procedure names are too long or have strange names. List procedures should have a list- prefix, only Transducers or generic procedures should have no prefix.

Also maybe stop supporting a :key argument and design everything to use lenses to target sub-structures.

Some handy general purpose procedures are missing here and there, so an improved prelude should come with them, too. I don't want to import multiple string/list/whatever-libraries to handle a task. The nice thing about Scheme is, all of this is doable.

thibran··on Wikipedia is getting a new look
> I almost never use the left hand side bar (and I have a feel almost no one does)

If you speak different languages, the left hand bar is very useful to switch between different language versions of an article.

thibran··on You can't tell people anything (2004)
It seems it's all about context. Nobody talks about context. Communicating context is difficult, you have to really understand it before you can talk about it. Therefore context is left out most of the time.
thibran··on Basecamp’s founders are trying to start an email rebellion
This is nice, but doesn't solve the real problem. Its 2020 and its really hard to find something. Ideally there would be one place to organize/manipulate different information/date providers and email would just be one of many.

For example: If I get a file via email, I might also have a local copy that got updated and is newer. Part of the conversation might not have happened on email but on [random messenger app] and on one of the many [things with a CPU] that I own. Even with a Hey like system, the situation stays almost the same → the user has to remember "stuff" and look-up different places to find what he is searching for → this is sooo 1990. </rant>

thibran··on A Nix terminology primer by a newcomer
Thanks for the links. Flakes seem to be a good way forward.

I've even read most Nix Pills posts, but didn't like them much. Too many details about things that I didn't understand at the time of reading, so the why got lost. In Nix you get a lot of details, what is missing is often the why and how. For example I wanted to have a CLI command available with a binary build, finding out how to add the CLI tool to the package through wrapProgram in postInstall wasn't fun. Overall Nix is awesome, but here and there it is hell of a lot frustrating. After reading so many hours I should not have to ask how to install a custom package the right way.

thibran··on A Nix terminology primer by a newcomer
Thanks a lot for this :)
thibran··on A Nix terminology primer by a newcomer
Question 1 - What is the correct way to build and install self created derivations? Right now I have a custom fish function:

  function nix-local-build
    nix-build --no-out-link \
      -E '(import <nixpkgs> {}).callPackage ./'$argv[1]' {}'
  end
To build and install something I run:

  nix-local-build some.nix
  nix-env -i [store-path-from-build]
The .nix file is in the same format as e.g. pkgs/tools/misc/bat/default.nix.

Question 2 - How to include such a derivation into configuration.nix?

thibran··on SQLite 3.32
If you like edit, you might like :memory: too :)

https://sqlite.org/inmemorydb.html

thibran··on Falcon is a free, open-source SQL editor with inline data visualization
Not to be confused with the Falcon programming language - http://falconpl.org.
← PreviousPage 4 of 8Next →