robalni
Transflective LCD
You may say that they do compete because companies treat them as the same thing and people need to make money, so the companies decide what is what. That is true but the solution should not be to give in to the money, but instead to make the money behave correctly.
What we need to do is to fix the economy, which still assumes that products are physical and hasn't been adjusted for the digital reality we have now, let alone the AI. Money was invented by humans, not discovered in nature, and we should therefore make it do what we need instead of letting it steer us the wrong way.
We need simpler protocols and formats, especially those that are used over the internet. I want everyone to really start fighting for this.
I always use a browser that doesn't run any scripts (w3m) for both this reason and others. It hurts when I see websites that don't work without js. A bit funny though that this page is one of them so I was not able to read it.
I thought a hex-to-binary converter like hex0 was too much like machine code, and I wanted everything to be source code, so I chose to instead start with a super simple interpreted language that is described in english and the user is supposed to write an interpreter for it themselves in any way they want. This way I connect the human to the computer using the language of the human which I thought felt better and easier to understand.
This super simple interpreted language then builds a super simple RISC-V assembler. Here I came up with a nice technique where the functions in the assembler are called through pointers, which makes them replacable while the asesmbler is running. So as soon as the assembler has compiled a better version of one of its own functions, that function is then replaced with the better version while the asesmbler is running and it continues to compile the rest of the code which can then use the new features. So it evolves without having to restart.
Trying to answer my own question, one thing that I think has helped me to more appreciate some things, is to have rules and try to enforce them. It could be to use an unusual operating system, or disconnect my computer from the internet, or deciding that there are some types of things or features that may not be used. That has the effect that most things I find online don't pass the rules or don't work for me and therefore I have to care more about the things that do.
So I was wondering how we can achieve this at a bigger scale, unless everyone else want to limit themselves as I do. It's quite fun actually but I don't think people care enough to do this.
Ask HN: How can we care more about fewer things?
There is a lot of stuff available on the internet. Just look at HN; link after link, every day more links. Other social medias are probably even worse.I feel like this has a disabling effect. I mean, when there is always more stuff on the internet to find, why should I focus on the things I already have? Things feel less important when there are so many of them. It feels like everyone just...
Similarly, even if I don't write the code but I let someone else who I trust do it for me, there is value for me in that person not using LLMs, because only if they don't, I can know that the only spirit that lives in the code is of the person of my choice. It's like a social thing; I can know and trust a human, but I'm not sure I can do that with an LLM.
It's similar to how you wouldn't want to use LLMs in politics: the whole point of expressing your ideas is that they are your ideas and if you let someone (or something) else do it for you, details will be missed and misunderstood.
So this is one reason that I think hobby communities don't like LLMs; they care too much about what they build.
- A server package containing: web server, smtp server, database engine, page generating language and a supervisor that keeps everything alive. All written in C and I use them for all server programming I do.
- A file renamer that can rename multiple files. It puts the filenames in a text file and lets you edit it and then renames the files according to the changes.
- A RISC-V start kit containing a very simple assembler, disassembler and documentation.
- A script that runs twice a day and downloads things from the internet (like weather forecasts, news feeds, podcast feeds, train traffic info), puts them in a folder and does some processing and formatting. Then I can easily go through it all to get my daily information.
Ask HN: What programs have you written by yourself that you use regularly?
Genkan
I think the other side of it is more important: making software simpler so that people can work with the code without having to use AI. That's what I try to do.
This would give us some kind of leader that shows the way. It would make it easier for developers if people were more focused on fewer standards and there would be a well defined point in time when we would upgrade to the new set of standards.
For those of you who are familiar with RISC-V, it would be like the RVA23 spec: one big collection of things to use that can be targeted and talked about as one thing with one name, rather than everyone having their own collection of extensions that they use.
JSON Feed Version 1.1
Ask HN: Any New Computer Ideas?
Have there been any experiments lately on new ways for computers to work that would make them easier to understand/build/program?
So which layer should we care about? All of them? Yes, if we want the most safety.
I will give you an example of how I can use memory incorrectly in "safe" rust. Let's say I have an integer that contains my age. Now I forget what the number was used for and I use it as shoe size. I have now used memory (the content of the variable) as something it was not intended for. Maybe you think this example is silly, but what is really the difference between using a float pointer as an int pointer and using age as shoe size? Another thing we could do is to use an index for one array as an index for another array. That's an example of using a pointer as the wrong type because an index is just a relative pointer.
So if we want to care about all layers of memory safety then we have to care about not using ages as shoe sizes and indexes with the wrong arrays. "Memory safe" languages usually don't help us with that and therefore they don't give us total memory safety. I think "memory safety" is not a very useful term because all data in a program lies in memory and basically all bugs have something to do with using that memory in wrong ways.
As an example of that, the rust compiler helps the programmer to avoid many mistakes but it's still possible to use memory incorrectly and the tool is only safe as long as you use it as intended. You could say that C is safe too as long as you use it as intended and make no mistakes. The only problem is that it's hard to use it as intended and make no mistakes.
So let's think about what memory safety could mean. My understanding is that a memory bug is when you use memory in an unintended way. An example of that is when you write to memory after you have deallocated it, which means after you have decided not to use it any more.
No compiler or tool can make sure you don't write to or read deallocated memory, because whether it's allocated depends on what your intention is, and no compiler can read your thoughts. They can only give you a tool (like functions for allocating and deallocating memory or compiler checks) and hope that you will use that tool in a way that reflects your intention. One problem is that those tools are not always sufficient to keep track of your intentions and you may not always use them as intended.
Memory allocation is relative. In a sense, no program that runs under an operating system can use deallocated memory, because when they read or write to memory that has not been mapped to the process, they crash. In a sense, even "safe" rust can use deallocated memory; let's say you have an array of 10 integers and you decide that the fifth integer should not currently be used, you have then deallocated it on a level where the available tools can not help you, but you can of course still access that memory.
So again, everything is safe if you use it as intended and nothing is safe if you use it in other ways. Safety depends on how well the code matches your intentions. Remember that programming always happens in layers and no tool can cover all of them. It's not even clear what "all layers" would mean or how many there are in a program.
You can't simply say that it's useful. How useful it is depends on what you are trying to do. If you are making some software that you need to understand well and be responsible for, then I think AI could make that harder, because it doesn't force you to think through and understand everything, and having to do that probably makes it just as fast to write it by hand anyway.
Don't forget that part about understanding and being responsible. It's important. Even if AI got 100000x better, understanding and being responsible would still take about the same amount of time, because it has to be a very manual process, and it taking time is part of the point of it. Also, while a computer can't take responsibility, a human has to do it, so using AI could easily reduce the responsibility taken by the human without increasing it anywhere else.
If I'm one of the 2% then that's everything for me. Maybe I have good reasons to be in the 2%. And maybe, not caring about that is wrong.
I would rather have a website that only works for 2% of people for the right reason, than a website that doesn't work for 2% for the wrong reason.
I use a browser that had its last release less than a year ago. It doesn't do CSS, it doesn't do javascript and I love it. I also love to be able to use the websites I need.
If I am not able to use any digital service or product on a computer that I could have built entirely myself (or had anyone of my choice build for me), running code I could have written entirely myself (or had anyone of my choice write for me), then that is completely unacceptable.
I think all arguments about a technology like systemd need to have a technical part (what systemd does) and a (sometimes implicit) personal part (what I think about it). If it doesn't have the technical part then I don't think it's an argument about systemd at all.
The difference I can see between your example arguments is that the "technical" one is more precise. "Not supporting x" is pretty specific while "being bloated" is not very precise. But of course it could be more precise if you say something like "systemd is made of x megabytes of code. I only want the code I need which I think can be implemented in 1% of that" or just "systemd includes parts x, y and z which I don't want".
So did you by "technical" just mean "precise" or is there another meaning that I missed?
* The current economy is bad: The company that can require or lure the most money from people wins.
* This would be better: The company that is liked by most people wins.
That one change would solve sooo many problems. We could get rid of a lot of laws that wouldn't be needed any more.
I have been thinking about it and only been able to come up with something that feels intuitive but not at all precise and I don't know how correct.
When you stand still you may use your surroundings to gain some speed, like by pushing against a wall.
When you have speed it gets harder to gain more speed because the surroundings are (relative to you) moving in the wrong direction, so for every additional unit of speed, it takes more effort to get there.
I want Non-free Software to suck as much as possible to give people more reasons to use Free/Open-source Software, which can't be killed.