Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Laya the open source version of Jev(convaiinnovations.com ↗)
    59comments
  2. What Zig felt like, coming from Rust(besok.github.io ↗)
    7comments
  3. AI-generated posters don’t have to be horrible(john.hartnup.uk ↗)
    338comments
  4. Human brain is two separate organs, Stanford Medicine-led research finds(stanford.edu ↗)
    156comments
  5. Tin: full-text search for Postgres(planetscale.com ↗)
    3comments
  6. A graphical desktop for the ZX Spectrum(github.com/mindbox77 ↗)
    3comments
  7. “The Secret Life of Circuits” is here(coredump.cx ↗)
    33comments
  8. Android 17 is the first since 3.x to add new APIs without releasing to the AOSP(grapheneos.social ↗)
    512comments
  9. Black Holes or Black Hole Stars? Astronomers Spar over 'Little Red Dots'(quantamagazine.org ↗)
    2comments
  10. San Francisco Onion Futures Company(onionfutures.com ↗)
    91comments
  11. GPT-6 Astra Solves a WWI German Radio Cipher(prinzai.com ↗)
    117comments
  12. Asking Authors About Their Own Papers(medium.com/tmlrorg ↗)
    discuss
  13. If math is more than proof, we need to better celebrate the rest of it(terrytao.wordpress.com ↗)
    154comments
  14. Communication by means of modulated Johnson noise(pnas.org ↗)
    17comments
  15. From Stonemasons to Carpenters(thelastsoftwareengineer.substack.com ↗)
    4comments
  16. Cloudflare Quick Tunnels(cloudflare.com ↗)
    297comments
  17. How to Write with an LLM(sockpuppet.org ↗)
    356comments
  18. You can run Git on object storage if you re-make packfiles(tigrisdata.com ↗)
    23comments
  19. SDCC – Small Device C Compiler(sourceforge.net ↗)
    21comments
  20. Saving another 100TB of RAM(cloudflare.com ↗)
    86comments
  21. Learning Another Language May Be One of the Best Ways to Keep Your Brain Healthy(theconversation.com ↗)
    1comments
  22. Science Is Open Software(jepedersen.dk ↗)
    46comments
  23. Why building a Rust LSP is hard(rust-glancer.github.io ↗)
    42comments
  24. NASA-IBM Lunar Foundation open-Source Geospatial AI Model(usra.edu ↗)
    5comments
  25. How OpenAI Used Its Own LLMs to Design Its Jalapeño Chip(ieee.org ↗)
    111comments
  26. Ctenophores: Wonders of Biology(quantamagazine.org ↗)
    6comments
  27. The first new cat species discovered in 100 years(nationalgeographic.com ↗)
    116comments
  28. OpenJev(openjev.com ↗)
    275comments
  29. Ray Ozzie and the Optimism of Being Early(reproof.app ↗)
    4comments
  30. Goroutine Leak Profiles(go.dev ↗)
    6comments

The story of Mel, a Real Programmer

43 pointsby 18y agopbm.com
9 comments
One of my favorite pieces of classic computing folklore.
18y agoHN ↗

I guess I'm a sucker for these programmers of yore stories. Yes, Mel would be an unsuitable candidate for most modern, team-oriented programming positions. But, heck, to be truly one with the machine in understanding all of its nuances is extraordinary. (Yes, the machines were smaller and simpler then, but still...)

It's disappointing that a great majority of software developers (read: corporate programmer drones) have little understanding of what's really going on under the covers of the layers upon layer of abstractions.

Perhaps, if they truly did know, it might make them wonder if their code will run at all?

18y agoHN ↗

Hi I am a corporate programmer drone and yes, you are right, someone like Mel would not be very suitable. But that doesn't mean todays software building is any easier. Yes, I don't need to know numeric codes of the machine instructions, and I don't write code which modify itself. But the challenges are not lesser - we need to think about how to meaningfully build those layers of abstractions, how the pieces of software will communicate efficiently to each other (sometimes asynchronously), how to build the modules to be both maintanable and expandable, etc. etc...

When I was a student, I played with machine code and assembler and cracking etc., so I have some knowledge of all the layers, but I don't think that qualifies me to be a so-called Real Programmer. ;-)

18y agoHN ↗

The problem with corporate programming is not the layers of abstractions or asynchronous communication etc. The real problem is the staggering incompetence of most people involved in the process.

18y agoHN ↗

the real problem, is that software languages have not yet caught up with hardware. if software was as powerful now, as code is now, you used to be able to use one instruction and have a computer turn for a millisecond or so. yes it was slow, but it was still faster than having a person process 2 numbers and then add them, or divide them etc...

now i find it hard to find 'useful' instructions that actually take 1ms of processing time. heck, TI's lates micro controllers can turn on and off, and still stabilize analog circuits in less than 1ms now.

new processes and neural networks are becoming more practical every day as information overflow, and processing abundance are allowing us to write code on sample sets, and probabilities.

soon, for loops will seem silly.

18y agoHN ↗

Actually, I wonder about your assertion as to whether Mel would be suitable for a corporate programming job. In the sense that no typical corporate hiring manager would approve of him and his habits, then no, of course he would not fit.

However, even corporations occasionally need people who just get things done. I have, in my past life as a programmer at a bank, seen some incredibly opaque, hard-to-maintain systems hacked together in the course of a few sleepless nights in 1992, which still tick, do their work, and help generate millions in revenue. IT departments then take months, if not years, to attempt to replace some of that code, and typically fail. So occasionally, people who work somewhat like Mel do get approved by higher-ups who value the productivity of one incredibly smart hacker over the productivity of a mediocre team.

18y agoHN ↗

Yeah it needs to have its encoding specified. In Safari I set it to Unicode (UTF-8) manually and it works like a charm.

18y agoHN ↗

i college i wrote a little man computer program that calculated gpa scores. when the assignment was given, the example would take an input, load them into an array, and then iterate through the array, to compute the GPA. our teacher, now a PhD, told us that there was not enough room to do more than 5 or 6 classes.

as a natural hacker i took that as a challenge.

his code was very functionally written, it was like a Java programmer witting some thing in LMC, where my experience in programming was in getting my mechanical engineering friends TI80s to play Tetris. To pull this off, you needed to know how to follow directions on the Internet, build a custom serial cable, and understand binary. The stunt involved you triggering some buffer overflow that was never solved, and seemed to be on purpose as I look back on it. This alt mode allowed you to execute your own assembly code.

In any case, my experiences were not based in java or c in fact the only code i had written was an autoexec.bat and config.sys at the time, but to get my DAMN games to work, you had to spend a lot of time hacking them and getting drivers to load in the right order so that the memory managers would not over allocate for one driver vs. another. In the end, my experience of hacking a TI80, cheating in SimCity with a Hex editor, and booting my Wolfenstien 3d prepared me better for this task than classic programing did.

I decided to go a completely different approach than my professor did, and instead of using an array, I used an input buffer, and and a grade counter. I then wrote two major functions, a float multiply, and a long division routine. The only problem was, there was not enough space to make both work in the 100 memory spaces that the LMC had to load instructions, so I added a mode switch routine, that would rewrite the code in a few key places that allowed me to share instructions between the multiply and divide functions. In the end I had a calculator that was able to calculate about 20 grades with 5 decimal points of precision.

When I turned in the project, I was sure that my prof would be impressed, but when i got it back, i received an F. An F, i was sooooooo pissed, i took my timid self and asked him what was this score for, i thought i deserved an A, did he mix up the grades or something. He told me that when he tested the program the last few digits were flopping all over the place. I told him that those were the second part of the float gpa value. He responded that I did not document it. I asked him if he read the readme.txt that i submitted with my code. He claimed that it was not written clear enough ( i knew he did not read it ), so he compromised and gave me a b+, because my documentation was insufficient.

I learned a valuable lesson,"A" students never prove a teacher wrong. It's the same lesson I could have learned in High School, if i was paying attention.

I really miss assembly, not x86 assembly, but embedded assembly, later in college i got to program boot loaders for my co-op, and hack some sound cards for a speaker recognition project. Today I want to get into CUDA as a side hobby, when I have the time.