hackermailman
Joined 10 years ago
Joined 10 years ago
Seems we will be writing programs using some kind of logical formal methods[1] and generating the code without ever looking at it and testing the system properties. I imagine AI will make its own intermediate programming language that benefits it the most instead of human readability
Then you can check other LC solutions for bugs not caught by the test inputs because FM software like forge can find very tricky logic errors
Could also find some algorithm engineering course floating around and try and optimize a LeetCode solution you made for your specific hardware or their judging server learning what benchmarks to use. MIT has one but probably others: https://jshun.csail.mit.edu/6506-f26/schedule.html or if LC doesn't allow to download test inputs try competition programming archives they give you the test data https://usaco.org/index.php?page=training
With AI writing an entire algorithm test bench is pretty easy but what do you test, what stats are meaningful, vectorized registers, all those real world things.
Yubikey benefits is it stores the keys in the hardware if your laptop is compromised somehow or stolen they at least don't get all the ssh keys too
It's sort of an analytical way to design a user interface and is pretty helpful I find
For example your personal website has a concept with no purpose the upper right oval things which are PgUp/Dn on my phone display. If you learn basic conceptual design you can easily architect small sites like the things in your portfolio while sitting in front of someone, then have AI of choice immediately build the entire user interface and they can test it out themselves.
Translating concepts into typescript code is trivial and exampled here https://61040-fa23.github.io/pages/concept-implementations.h... and AI can do this for you. The idea is concepts are reusable and modular and self contained. Whatever the user sees or has functional access to is what you design for and AI generates the hidden backend. If you design this way you discover many things are identical and can reuse an existing concept for it. You also discover many things have no real purpose and should be removed such as the 'don't hire me' section.
Some of the problems with your personal biz advertising site others have mentioned would've been caught by conceptual design such as what is the purpose of this site? To display a portfolio of work and harvest leads. What is the operational principal or how would someone use this site? Then you'd immediately catch there's no about me description above the logos/names etc., no obvious contact page therefore no harvesting of leads. You'd see that the descriptions of each portfolio entry should be included when you click on them instead of having these at the bottom of the page under 'Notable'. What is the purpose of enlarging an entry? To get more information. That is 2 concepts with the same purpose and break the design. Why not just include the notable designs and leave out the rest?
Anyway that book changed the way I write software and it fits nicely with vibecoding up a prototype.
The Dutch police imaged the drive, gave it to the Americans and gave the server back to XS4ALL which itself appears to have shutdown too I think
For example the old and new Berkeley model to study rent control effect on market prices
Otherwise interviews are the same more or less with emphasis on reading code and being asked is there a more optimized approach and then seeing if the candidate invalidates the cache. You'll probably still get hired if you do it once but after being told something and you do it again in the next interview then nope. They still fly everyone out and do a superday with back to back interviews (and pay for the time).