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

Programming With AI: Forget "We Have Always Done It This Way", Enter "The Corpus Was Biased Towards This Way" (Case Study)

The term "prompt engineering" sounded like bullshit at first, but this study confirmed my suspicion that I was wrong. Programmers' jobs will not be taken away by retrained insurance agents.

"I was curious whether popular large language models can implement a simple audio effect in Python, and if yes, then how do they balance computational cost and audio quality, and how do their solutions compare to my handcrafted, non-AI-aided version."


On Amiga, there was a 3D demo with this trick. You can "jump in" your eyes to the proper position if you hold your finger at the place where the 3d image should appear, ca. 10 cm close to your eyes, and focus on it. You'll be cross-eyed without knowing it.

Also, I was using the trick as a "cheat" when I played Tiny Lands on Nintendo Switch, it's a "spot the difference" game, but with 3d landscapes (you can rotate and zoom): https://www.dekudeals.com/items/tiny-lands


1. Is there any mailing list or newsletter for folks interested in this project as kind of beta testers?

2. Do you plan to implement a full programming language? Dataflow is not enough?


1. You can sign up via our website: https://formalstack.com/.

2. Yes!


1. A friend of mine told me that he was writing a program, then he needed a function, which he just wrote. At compilation, turned out that the same funcion already exists with the same name. He created it a hour before.

2. I remember all my variable names. In a module. For a while.


I've written a bouncing color bar for Amiga, which was running without the processor.

Amiga computers have

- a main processor (MC68000 or higher),

- a bit blitter, which can perform memory various operations in memory (using 3x source and 1x target, it can AND, OR etc. them),

- and a Copper, which have own "program", it can interpret 2 type of instructions: WAIT for a scanline position (4-pixel precision), and COPY value to a specified regsiter.

It was the name, which made me think: "Copper" is coming from "coprocessor". Well, it can run WAIT and COPY instructions, but the program's time-scope is somewhat restricted, the program is running every screen refresh cycle only once. Is it possible to write a program for Copper, which is doing some more, like animation?

I've generated several color bar frames for Copper, which adds up as a bouncing bar, and as the last instructions, I've added a COPY instruction, which sets the address of the Copper List to the next frame (the last one pointed to first frame).

So, it worked, the bar was bouncing without any support from the processor (besides initial generation and setting of the Copper List address first time).

Blitter and audio DMA is fantastic, it's a big help that the processor just puts an order to a hardware and it executes, but Copper is a degree more bigger magic, it can make things autonomously, which I was demonstrated.


YoutUbe?


I can't prove it, because I don't have data: my GitHub page is useful.

My CV is two pages long, and it's still too long, recruiters don't read it, probably just look at the keywords or IDK how they work. Previous version was 17 pages long, it was a bad conception (just listed projects, etc., as described in the book, of 30+ years).

But if you look at my GitHub page, you can get a far better picture. I only have my own repos, so you get a relatively good idea of what I do, how I work (most of my projects have documentation, tests), what quality code I write, even if the picture is a bit biased, because of some non-public and of course work projects are not included.

https://github.com/ern0?tab=repositories


I imagined how should I act when I forgetting the SQL table create command in an interview.

1. I admit I am nervous so much that I just couldn't tell my own name.

2. It's just strange for first look that I don't remember, but we create tables so rarely, that it's not a surprise.

3. Okay, let's try to figure out the command, my first hint is that it should be "new", "create" or something. Let's recall, how to deal other way, say, delete or modify tables: "drop table", "alter table" - so my best hint is "create table" or "new table". (Offensive notice: if you learnt SQL one day before the interview, this gonna not work.)

Great, go on, it's pretty sure it should contain the list of fields, define them: names, types, and some constraints, whether it can be empty etc. Maybe this command defines the indexes as well, then every index should declare one or more fields, ascending/descending marks per field. Oh, a table unique key is also can be specified, at the field specification. Finally I notice, that different SQL servers may have different syntax and even features, like choosing storage system for the table (MySQL: InnoDB etc.).

That's the _content_ of the SQL's create table command, withot any syntax. I think, it's clear, that I would have no problem with writing a table creating SQL statement.

If you can not solve the "I-forget-the-syntax" problem, probably (another offensive statement, sorry) you're not for this job. In real life, you will have even more stressful situations, and you have to solve them, or at least DO SOMETHING. What you've done was NOTHING.


Okay, Apple is different from your company in as many ways as possible, but you might want to pay attention for their licensing policy: Logic X has no copy protection, no registration key, no nothing. Nothing to crack. If you get a pirate version, and using it for a while, you can buy it. They even provide a free version of it, with less functionality and larger icons, called Garage Band.


It's a long-time design flaw at Microsoft.

Long time ago, in Windows for Workgroups 3.11 times, when I opened Explorer, it was getting slower and slower. Finally, changing a directory took 5 secs. The hard disk was working hard (there were LED indicators!).

I've figured out that the root cause was my C:\Documents directory, which contained a bunch of files, maybe some hundreds of mp3s, don't remember. Moved _all_ files from C:\Documents made Explorer lightning fast.

I think, Explorer wanted to show a summary of different file types, which was completely unnecessary and couldn't turnded off.


There was no Explorer in Windows 3.11, nor a Documents directory.


TL;DR: 1. no offense 2. mee too 3. join the elite club 4. pet projects 5. teach

1. First of all, don't take what I write as a personal attack; I am a bit aspie, and can't detect the fine distinction between being honest vs rude, I'm just unable to separate. Also, I don't speak English very well, so I may use phrases, which I think different that it sounds.

2. Sorry, dude, you're only an average programmer - as I am. I have 32 years of experience in software development, started at age 18, and I'm programming since I'm 13, but I would have started earlier if there had been computers (in a socialist/communist country, see COCOM list). I'm pretty good at setting up a moldel, a solution, choosing platform and tools, writing well-readable, fast and resilient code. My superpower is to cut out features, which looks necessary, but I know they aren't, and I'm always right. I am not too good at math, okay, bool algebra is my blood, and I can set up good KPIs, but other areas, e.g. trigonometry (not a random pick, see later) is not my table. Also, sometimes I create music, not the dumb write-one-pattern-then-switch-on-off-tracks style, but normal pop, smooth jazz, house, rock, punk etc. stuff. I love to make covers. Restricted platforms is my real home, writing music for C16/Plus4, ringtone, buzzer, bytebeat etc.

3. As I said, I'm pretty average. I'm not measuring myself to clerks, bus drivers and our PM, not even to usual programmers. There's a scene, where we count as "nice try" or "well, interesting". This arena is called demoscene (a good intro: https://www.wise-geek.com/what-is-a-demoscene.htm). I am a medium-low known member of this community. As I'm not too good in math (remember, 3D), which is recommended in this genre, and also I'm not 16 yo any more, so I have no time to release full demos requires months of work of more people, I found my way in the sizecoding category, I am releasing and contributing in 256-byte intros (and also musics, of course). As sizecoder, I still count below-average-talented, other dudes are writing raytracers and other jaw-dropping effects in 256 byte (usually we use 16-bit x86 code), so I'm trying to shine out doing funny or unusual things. For example, one of my latest intro plays a 549 notes piano piece on the MIDI interface (my friend helped to optimize it out, also there's a presentation about how it's made https://github.com/ern0/549notes/tree/master/prez).

So, if you feel yourself lonely because you're high above the average folks, come, join demoscene, and feel yourself lonely on the other end of the spectrum, above the average. Okay, it's not true, not every demoscener is pure genius, but they're way above average, so you'll enjoy. Sometimes these guys are weird, but this is a usual side effect. If they accept you (don't worry, we're not complete jerks), it will be a good feeling to belong to such smart people. Not least, it's a great _inspiration_!

4. You not mentioned, but I assume you have pet projects. It's a fatal mistake to not have pet projects. This is the difference between Real Programmers and this-is-my-job-meh. Even if you work as Universal Problem Solver, there will be several areas which you never deal with before, and some of these are too interesting to just ignore them.

I show you an example. Thanks God (despite I'm atheist/agnostic) that I don't have to deal with web dev, but I was curious what the heck WASM is (web without JavaScript, doesn't it sound good?!), and wanted to write just a plain helloworld C program for it to try it out... and there were no such, all examples were for Rust/Emscripten, so I made a small skeleton: https://linkbroker.hu/stuff/howto-wasm-minimal/ - it became somewhat famous, a bunch of folks thanked it, finally I felt that it wasn't complete waste the time spent with it (2-3 nights).

A special area of pet projects is, where not-too-complicated electronics plays role - keyword is: Arduino. It's a pure joy, even if only a small led blinks in your hand, driven by the program you wrote!

If you have such pet projects, sorry for the redundancy.

5. As I'm getting older, I'm creating presentations from my pet projects and other experiences more and more often. Remember your early career, it would be great if someone had explained clearly how things work: pullup resistor, abstract syntax tree (compiler tech.), version control, key-value databases, LaTeX, build systems, Unix pipes etc.

If you can suggest optimal solutions for a certain problem at work, you should not only justify why you chose that solution, but you should also teach how to do it.

Oh, needless to say: Maybe I'm Wrong. Your way might be complete different, I don't want to iterfere your life (as silly joke goes: - Have a good day! - Please, don't tell me how to life!).


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

Search: