|
The "essence" is the action. What happens, what this and that person (or whatever) is doing. Any "idea", any thought (beyond the level of "good vs. evil", which is anyway reflected in the actions) is inessential.
(An aside: Was your post really meant as a follow up to Mircea Neacsu's post? I do not see the connection. Did you intend it for another thread?)
|
|
|
|
|
Yes, I was going a little off-topic, but reacting to "Now even writing as a whole take a step backwards". There's a difference between being "politically correct" and dumbing down writing to the point that whilst it may still describe the action (as you put it) it does so blandly and without personality. It's depressing when even publishers don't seem to "get" that deleting words from a text also deletes not only a lot of meaning but a lot of the pleasure too.
|
|
|
|
|
Mircea Neacsu wrote: Quality of documentation went down the drain some time ago
Could you put a date on that?
I know in the 90s that I only ever found one library that had good documentation.
In the 80's I learned C++ using exactly 3 books. One was the Stroustrup which was a specification. Other was not even C++ but rather Object C (or whatever it was called). Third was by a woman (very rare then) and it seemed rather effective.
In the 70's the only thing that existed for Fortran and Pascal were the functional reference manuals. And really expensive. I think I got one of those by pulling an old version out of the trash.
|
|
|
|
|
jschell wrote: Could you put a date on that? I would go for mid to late '90-es.
jschell wrote: One was the Stroustrup which was a specification. I've used the ARM (Annotated Reference Manual) by Stroustoup and Ellis. Btw, if the woman you are talking about is Margret Ellis, she is very effective author.
The number of manuals was smaller but their quality was much better (me thinks). That depends also on the style of documentation you like. Me, I'm a fan of dry, terse and complete manuals.
Mircea
|
|
|
|
|
Mircea Neacsu wrote: I would go for mid to late '90-es....I've used the ARM (Annotated Reference Manual) by Stroustoup and Elli
However the 90s was when libraries for C/C++ started to become available. But Stroustrup was documenting the language and nothing else. And the Ellis book (80s) did the same but more on using it rather than what it was.
So as I already mentioned in the 90s of the many libraries I used I found only one that had good documentation. There were more good books published in the 90s (Meyers and Ellis) but those were still on using C++. So they expanded what what already there but the additional stuff was not documented.
|
|
|
|
|
You can start to re-learn JavaScript asap, that should calm you down !!!
Caveat Emptor.
"Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
|
|
|
|
|
That's next on the line.
This and typescript; I've done a little bit of it 2 years ago, but I forgot all about it.
CI/CD = Continuous Impediment/Continuous Despair
|
|
|
|
|
Maximilien wrote: a little bit of it 2 years ago, but I forgot all about it. That's normal, the brain just flushes away the crap... as you in the toilette
Disclaimer: I am not saying Typescript is sh1t, but it was an easy joke
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
I find learning new languages extremely boring because it's just variations on a theme. (No amount of coffee) On the other hand, researching a new problem domain can send me happily in all kinds of directions for months even if it isn't any easier.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
|
Maximilien wrote: new technologies...there are missing steps that should probably be obvious, but no.
But that of course is how it works. The evangelists either do not know or do not want to tell about the problems that those 'new' technologies will introduce.
Maximilien wrote: or use deprecated or obsolete frameworks
Of course but not sure if that fits into 'new' technologies.
Maximilien wrote: Also, I have no clue what the new technologies are, what is "cool" or what is in need right now
Very, very few. Hype does not equal use. And definitely does not equate to wide spread use.
Following is what I use for languages. Been using it for more than ten years.
TIOBE Index - TIOBE[^]
|
|
|
|
|
... it reminds me of Herself's tablet.[^]
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Yes, that and waving the mouse to make a point.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
Or moving it on the screen to the right top corner... physically
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
My wife and every user I support at work.
|
|
|
|
|
Did the earth move for you last night ?
Wales earthquake
Life should not be a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming “Wow! What a Ride!" - Hunter S Thompson - RIP
|
|
|
|
|
A gentleman never tells.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
That's why I asked ewe
Life should not be a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming “Wow! What a Ride!" - Hunter S Thompson - RIP
|
|
|
|
|
I get Turkey, but Wales?
ed
|
|
|
|
|
I had been struggling with my render code for days until things went from bad to worse and I was getting artifacts due to corrupt DMA transfers on top of drawing code errors and other messes.
Finally I sat down and rewrote the damned thing. Not only did I do that, I made it so I'm sending with one buffer while drawing to another buffer, then flipping them to maximize the benefit of DMA.
Not only that, it's now basically a coroutine.
All of this and my render code is actually simpler than before, and it appears to work swimmingly so far.
Took me several hours vs. several days.
All the win. Now I just need to implement touch.
Edit: Got touch working. That was easier than I thought it would be. Woo!
if(m_touch_callback!=nullptr) {
point16 locs[2];
size_t locs_size = sizeof(locs);
m_touch_callback(locs,&locs_size,m_touch_callback_state);
if(locs_size>0) {
if(m_last_touched!=nullptr) {
m_last_touched->on_touch(locs_size,locs);
} else {
control_type* target = nullptr;
for(control_type** ctl_it = m_controls.begin();ctl_it!=m_controls.end();++ctl_it) {
control_type* pctl = *ctl_it;
if(pctl->bounds().intersects((spoint16)locs[0])) {
target = pctl;
}
}
if(target!=nullptr) {
m_last_touched = target;
target->on_touch(locs_size,locs);
}
}
} else {
if(m_last_touched!=nullptr) {
m_last_touched->on_release();
m_last_touched = nullptr;
}
}
}
if(m_flush_callback!=nullptr && m_flushing<(1+(m_buffer2!=nullptr)) && m_dirty_rects.size()!=0) {
if(m_it_dirties==nullptr) {
m_it_dirties = m_dirty_rects.cbegin();
size_t bmp_stride = bitmap_type::sizeof_buffer(size16(m_it_dirties->width(),1));
m_bmp_lines = m_buffer_size/bmp_stride;
if(bmp_stride>m_buffer_size) {
return uix_result::out_of_memory;
}
m_bmp_y = 0;
} else {
if(m_bmp_y>=m_it_dirties->height()) {
++m_it_dirties;
if(m_it_dirties==m_dirty_rects.cend()) {
m_it_dirties = nullptr;
m_dirty_rects.clear();
return uix_result::success;
}
size_t bmp_stride = bitmap_type::sizeof_buffer(size16(m_it_dirties->width(),1));
m_bmp_lines = m_buffer_size/bmp_stride;
if(bmp_stride>m_buffer_size) {
return uix_result::out_of_memory;
}
m_bmp_y = 0;
} else {
m_bmp_y+=m_bmp_lines;
}
}
srect16 subrect(m_it_dirties->x1,m_it_dirties->y1+m_bmp_y,m_it_dirties->x2,m_it_dirties->y1+m_bmp_lines+m_bmp_y);
subrect=subrect.crop((srect16)*m_it_dirties);
bitmap_type bmp(size16(subrect.dimensions().width,m_bmp_lines),m_write_buffer,m_palette);
bmp.fill(bmp.bounds(),m_background_color);
for(control_type** ctl_it = m_controls.begin();ctl_it!=m_controls.end();++ctl_it) {
control_type* pctl = *ctl_it;
if(pctl->bounds().intersects(subrect)) {
srect16 surface_rect = pctl->bounds();
surface_rect.offset_inplace(-subrect.x1,-subrect.y1);
control_surface_type surface(bmp,surface_rect);
pctl->on_render(surface);
}
}
++m_flushing;
m_flush_callback((point16)subrect.top_left(),bmp,m_flush_callback_state);
switch_buffers();
}
return uix_result::success;
To err is human. Fortune favors the monsters.
modified 25-Feb-23 3:30am.
|
|
|
|
|
Why are you simpering?
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Because I need a copy editor.
To err is human. Fortune favors the monsters.
|
|
|
|
|
Don't we all?
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
honey the codewitch wrote: if(pctl->bounds().intersects((spoint16)locs[0])) {
target = pctl;
}
honey the codewitch wrote: if(bmp_stride>m_buffer_size) {
return uix_result::out_of_memory;
} You've used curly braces for your single-line if-statements!
This really makes my day, I'm so proud of you!
|
|
|
|
|