The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
Old as it may be, but at 7 MHz it does not even get warm. Passive cooling, just some conductive paste and a heat sink, will be all. Somewhere along the way the internal timing will break down, long before heat really becomes a problem. Carefully raising the core voltage will be more important to keep heat in check. For even having a separate core voltage the poor misunderstood thing was seen as an anachronism back then. The truth is that it was not outdated. It was far ahead of its time.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
First real programming job I had the machine took up 3 racks, the CPU was 4U, the 2 Mb disk 4U. We had 16K ( but I _think_ that was 16 bit words ) and that because both banks had been "knitted" together. Before someone caught that we had ordered 12K. ( PDP 11-15 ).
I have had a theory about this time compression too. One day like the rest is a big part of it. Nothing important for the brain to keep a vivid record about so it seems like the time is short. I notice the effect disappear when I go on vacation overseas where there is so much new to take in. There is also some effect of each year being a smaller portion of the total. So in wide retrospect, things seem to be going faster.
Moral of the story: do new and interesting things!
Maybe you should consider combining the two - make a parser generator for a custom language you design or one not available on the machine. Maybe a code generator for dealing with I/O of various flavors. I am sure you can come up with something that bridges those interests, if that is something that compels you.
"They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"
I've always enjoyed "programming in the small". I've found it's possible to do this in any development environment if you have the mindset for it. The question you have to ask yourself is:
"What's the minimum amount of code I can write that does the job?"
or perhaps more to the point,
"What's the least-engineered code I can write?"
This notion is most easily expressed as things not to do. If you're thinking of acronyms like KISS[^] or YAGNI[^], you're on the right track. I always liked the notion that "every layer of abstraction is another layer of obscurity", also known as "it's frameworks all the way down". Just because you have two or more types of 'things' in your program, you don't necessarily need to create abstractions for them. I especially dislike abstraction layers that are added solely for the purpose of adhering to some arbitrary metric or style guideline.
I'm the opposite, willing to use 'older frameworks' as long as they get the job done. If a new project comes up, I'm always partial to do it in something familiar. I don't mind learning something new if there is a real benefit to it, but I don't have the time. A good example of this would be using WebForms/WinForms with framework 4.0.
Besides, I have 20+ years of personal code snippets, reusable code, and some code that writes code which means I can be super-productive when I need to be.
When I do find myself having to learn a new framework (especially web) I'm reminded of how much easier it is these days (google + experience) than it was when I was learning Classic ASP in the late '90s! Anyone remember PWS on 98?
"Go forth into the source" - Neal Morse
"Hope is contagious"
I've been a programmer for over 40 years, and here's what I've learned.
Every advancement in development that promised to extend the life or improve performance of a given application, or make development faster and easier, will eventually be rendered ineffective under the weight of interference from management. Why bother even learning the new stuff if it's not going to matter in the end.
I have three more years before I can retire. I'm glad.
I'm pretty much done with my Entity Factory code, and have been struggling to maintain interest in writing the accompanying article. I'm simply tired of typing the text. I have to explain 26 screen shots, and I've only managed less than half that in the last two weeks. I haven't even started part 2, which is to explain the thousands of lines of WPF code. And I was intending to write a 3rd part that talked about converting the code to .Net Core, but... well... you know.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
Programming tiny connectable gadgets - "Internet of Things or IoT gadgets" is an absolute joy.
No frameworks to muddy the water - with 520kB of RAM you can't afford them, no abstractions to complicate the process, just you and the bare metal.
Building them is fun too.
i'd like to take part in this too. i just don't want to read (old, no time) dozen of articles to get 27 different opinions what is the best way, the economical opportunities, the future, the programming languages...
if i'm not understanding the whole idea of IoT wrong, could you please point to a getting hands dirty info on the subject?
what kind of device to buy and a platform that works with C or Asm and if it must be higher level can it be Lua od tiny JS 5.1?
i hope one can get a job like this, away from all the: products, product offers, customers, reports...
I recommend using an ESP32 based development board. You can use Arduinos but they are more expensive and less capable, if slightly easier to work with, but that learning curve isn't a big deal.
Adafruit makes the huzzah feather which i don't recommend.
Hiletgo is a chinese brand I actually trust that makes a decent board and narrower than usual which makes it easier to build with on a solderless breadboard
Another good one is the DOIT devkit ESP32. It's a bit wider, but all the pins are labeled, and Random Nerd Tutorials covers them explicitly - it doesn't matter a lot since they are all the same with the exception of what order their pins come in, but still.
If you have one, you can code against with The Arduino IDE[^] which is C++ but C-ish in the way people actually end up using it because embedded. (mostly No STL,mostly no heap, etc)
As far as getting started, just google anything "Random Nerd Tutorials"
They make the best guides on how to build using these ESP32 things.
A really big problem is people who over-architect things by insisting on chasing after the latest shiny thing or pattern, gumming up the code-base with endless libraries/dependencies and then run off to something else leaving an incomprehensible mess that has to be maintained.
Add in some interfaces, code generation and various packages and many times I find myself asking: "Where is the code that actually does the thingy?"
You cannot go to a controller (MVC) and find the database access code there - no, that is in a handler, but wait, it isn't there either because you've got it pushed off to EF - but the actual implementation is packed behind some generated code - and to edit that you must learn library X, Y, and Z... and it goes on and on for no real benefit.
My first professional dev job was as an embedded programmer at a fire alarm company.
The best project I ever worked on there, was an interface between the devices of an earlier generation system (smoke & heat detectors, pull stations, etc.) and the latest generation system.
We still used the waterfall methodology back then. My manager trusted me and gave me basically complete control of every phase.
I ended up creating a state machine in C on an 8057 microcontroller. I will never forget that day the new gen system began talking to the older gen devices. It was still at the in-circuit emulator stage, of course, but that damn pull station over there, lit that damn LED on the front panel here! lol
Now, to your point, the only thing constant in life is change. Nowhere is that more apparent than in software. I realized it very early on and made a commitment to lifelong learning.
But that isn't to say there is only one path through the forest. I essentially followed my heart.
At that fire alarm company back in the late 80's, I worked with nascent "expert system" dev environments to help the service techs in the field. I bought one of the early releases of BrainMaker from California Scientific (I think I still have the 3.5" floppys somewhere) around 1989.
For you young'uns, life is too short to become trapped in the matrix! Take the red pill!
Hack your own path through the forest. It's more dangerous, but by far more interesting.
So, a little off topic. But I had fun.
"I intend to live forever - so far, so good." Steven Wright
"I almost had a psychic girlfriend but she left me before we met." Also Steven Wright
"I'm addicted to placebos. I could quit, but it wouldn't matter." Steven Wright yet again.