295 karma · joined September 10, 2013
-- Picard
The fact of the matter, in my experience, is that most of the day to day software tasks done by an individual developer are not greenfield, complex tasks. They're boring data-slinging or protocol wrangling. This sort of thing has been done a thousand times by developers everywhere, and frankly there's really no need to do the vast majority of this work again when the AIs have all been trained on this very data.
I have had great success using AIs as vast collections of lego blocks. I don't "vibe code", I "lego code", telling the AI the general shape and letting it assemble the pieces. Does it build garbage sometimes? Sure, but who doesn't from time to time? I'm experienced enough notice the garbage smell and take corrective action or toss it and try again. Could there be strange crevices in a lego-coded application that the AI doesn't quite have a piece for? Absolutely! Write that bit yourself and then get on with your day.
If the only thing you use these tools for is doing simple grunt-work tasks, they're still useful, and dismissing them is, in my opinion, a mistake.
###################################################################
# Add directory to path
pathadd() {
newelement=${1%/}
if [ -d "$1" ] && ! echo $PATH | grep -E -q "(^|:)$newelement($|:)" ; then
if [ "$2" = "after" ] ; then
PATH="$PATH:$newelement"
else
PATH="$newelement:$PATH"
fi
fi
}
###################################################################
# Remove directory from path
pathrm() {
PATH="$(echo $PATH | sed -e "s;\(^\|:\)${1%/}\(:\|\$\);\1\2;g" -e \
's;^:\|:$;;g' -e 's;::;:;g')"
}It's 100% static and hosted on GitHub pages. It uses WASM versions of OpenSCAD and SQLite for dynamic content with all processing being done in the browser. Parts are added as GitHub issues, and can be added by anyone with a GitHub login
Next step: Content!
Note: Currently not mobile-friendly.
To be clear, I am making the distinction between "coding exercise" and "brain-teaser". Brain-teasers are not useful in an interview context, and only result in adding stress to an already stressful situation. Simple tasks like "Write a function that rolls two dice and calculates the position of a game piece as it moves around the edge of a game board" are much better. I am not looking for the candidate to give me their masters thesis in a piece of code on demand, I am looking to weed out candidates that clearly don't have the skills to fill the position.
Some of you may be thinking, "Then you didn't hire enough smart developers!" (for whatever definition of "smart" we're talking about here). To that I would say, "Maybe not, but I'd rather hire a solid, dependable developer who knows how to write maintainable code over some sort of savant any day of the week."
I've managed a lot of different developer personalities over the years, and the "smartest" ones nearly always produced the worst code for the business overall. In addition, while they were doing this, there were often other quirks that came along for the ride, like 'malicious compliance' with the design, or checking in three features you didn't ask for along with the one that you did. Sometimes it takes some uncomfortable conversations to get these people working with the team, and sometimes it's just impossible. In the latter case, this person just becomes a liability to the team and should probably be encouraged to move on.
https://hitchhikers.fandom.com/wiki/Infinite_Improbability_D...
<Max 300 starts rolling down the screen>
Big consumers are able to outbid even companies like DigiKey because they can afford to spread the cost around. TI had one of its best quarters ever over the last 12 months, but just try to buy TI parts anywhere - they're being priced through the roof. A $0.30 TI regulator was going for $30.00 on the secondary markets. I feel for any small company trying to build hardware right now.