noufalibrahim
Joined 16 years ago
Joined 16 years ago
3D printed figurines on top of a box which would activate museum style narration and multimedia. It was based on a Raspberry PI though which is different from this project but in many ways, it was the same.
But you're right, it looks like Emacs went on strongly but I fell off the bandwagon.
I don't know if you're being sarcastic in your comment but it was not a pleasant time.
First is from an employment, livelihood perspective. I don't know the "right" answer but like with most things, it's easy to see the wrong ones - Bury your head in the sand and declare that this is just a passing phase, insist on going deeper into curmudgeon territory waxing nostalgic about the "Golden Era" of programming that's over etc. The opposites (trying out the new tools that are being released, reading up on things happening and developing a mental model of how things are moving etc.) seem to be sensible things to do.
Second, from a personal perspective. Here too, inversion is useful. Stopping to think is a bad idea. Like all our faculties, you lose what you don't use. So, actively learning things that are hard (a new "natural" language, a new phsyical skill that you wanted to) will help keep you sharp. Recreational programming is fine I guess and you can use AI to give you that you extra push when you're mired in an area that you don't care for and which you know how to do but are avoiding because of the tedium.
When the demand for work comes, it's quite clear to me that someone who's done what they can and has a some insight on what's going on has an advantage over the person who hasn't. Whether that translates into economical opportunities is beyond us to say but it's beyond our control as well so there's no point in worrying about it.
For AI though, there is a mental angle which is being discussed now (brain gyms etc.) which was an early concern of mine. When we make something, there is an tangible value created for the buyer/consumer but there is also a more subtle positive effect the on the builder/maker. e.g. even if it's it's cheaper, faster, (and in an imaginary worlds), more healthy to buy packaged food, sitting down and making it subtly changes the chef who makes the food. Sort of the motivation for a grandmother baking a cake for her grandkids.
I've been able to realise many of my abandoned projects due to AI. I can spin up a few agents and have them build things completely without intervention more or less. Many of these are programs I use daily. This is definitely huge. However, I remember the kick of struggling with problems during projects which was where most, if not all, the learning happened. All that experience is what makes me able to command and control these agents properly. It had an effect on me beyond the outcome (most of the projects are dead/abandoned anyway). Another example - I remember an old company called "Bond" which had a robot to create stationery using a calligraphic hand. Contrast that to the almost spiritual effect doing calligraphy has on a master penman. Using automation to create fine calligraphy gets you the former but the individual and society loses the latter. It's not immediately clear to me what the end result will be but I do feel that a lot is being lost.
This is the problem.
I did manage to give it information via. screenshots, planning and several other things. Harness engineering is fun to do and a worthwhile exercise. It finally managed to score 93 of 245 points and then just choke out. I figured that a large language model would be able to burn through a 1987 primarily text based game with a primitive parser but it's not as easy as it sounds. My takeaway was that the LLM is definitely intelligent but not "generally" so.
It was a mix of opportunity, the willingness to seize it, how well you talked and finally, in a large amount, luck.
The good parts are that the inbuilt data structures and their apis are efficient and clean enough to write code that's mostly readable. Most of the heavy lifting is done in hand tuned C and performance intensive external modules are also written in C. There are several good projects that are written using it and while it's not theoretically perfect, it's useful enough. Like Stroustrup said - there are 2 kinds of the languages, ones that everyone complains about and ones that no one uses.
The bad parts are that it's very easy to use. Almost in a Visual Basic "producing crap just takes a squeeze" kind of way. It opened up programming to a lot of people (the genesis of Python was in the CP4E project - where this was the aim). This resulted in a lot of bad patterns, inefficient code, badly written but popular libraries. Also, the indentation idiom and other restrictions resulted in a lot of convoluted APIs.There's also a lot of baggage from the pre multi-core CPU era (threading etc.).
I still think of it as a great glue language. If there are libraries that are fast and can run well, a good FFI or wrapper which Python can leverage will amplify the reach and usability of the library.
On the overall, a language that's older than the venerable Java which people are still using (and hence complaining about) speaks to its longevity. So, atleast by that definition, it is successful.
Co-founder of http://hamon.in
Personal website at http://nibrahim.net.in
Other projects http://emacsmovies.org http://calligraffiti.in
Kismet 782c4b