• OK, it's on.
  • Please note that many, many Email Addresses used for spam, are not accepted at registration. Select a respectable Free email.
  • Done now. Domine miserere nobis.

methods of learning

dr froyd

__________________________________________________
Local time
Today 12:56 PM
Joined
Jan 26, 2015
Messages
1,485
---
you know what the usual layout of a textbook is: you start with simple, atomic stuff, then progress to more complex things. That's how we always learned things in school and university.

now that ive gotten some experience learning things outside of the academic environment, ive realized i actually never learn things this way

instead, i usually end up doing this: i might learn the absolute basics first just to know the 'alphabet' of the subject, but then i go backwards; i start with something complex i dont understand at all and try to untangle it, like a detective trying to solve a crime or something

this linear stuff we did in school, to me, sort of removes all the mystery and allure of a subject. Yes, it makes every step along the way easy enough to understand - which might be the most efficient way to learn in theory - but it makes the process boring af and makes it likely you never truly get those eureka moments that stick with you for a long time.
 

Black Rose

An unbreakable bond
Local time
Today 5:56 AM
Joined
Apr 4, 2010
Messages
11,431
---
Location
with mama
I did not understand basic computer programming. I had gotten All the syntax correct because I did not understand it was based on calculus. So until age 30, I had no idea.

Even then Java still eludes me.
It is cryptic because I was not part of a guild.

I cannot work with its functions at all because you absolutely need to memorize hundreds of call command libraries. It is not worth it.

python sucks too.
memorization is the devil.

7DztMWa.jpg
 

EndogenousRebel

Even a mean person is trying their best, right?
Local time
Today 6:56 AM
Joined
Jun 13, 2019
Messages
2,252
---
Location
Narnia
You learn best from emotional impact. Positive or negative.

If you're gonna bust your ass applying what is an unknown subject, basically assembling a puzzle, this is a good way to make something stick.

Same thing with if you really care/are familiar with something, and connect that to something new you're learning.

Subsumption learning theory is the term. Basically if you look at everything you learn like a Lego piece that goes with something else.

Even if the connection is elaborate it's gonna stick because it's relevant to something you already valued.
 

Black Rose

An unbreakable bond
Local time
Today 5:56 AM
Joined
Apr 4, 2010
Messages
11,431
---
Location
with mama
There is no use in reverse engineering an unknown technology unless you have the right tools. I wanted to make a video game once but being 12 years old the best I could do was make a Gameboy replica out of cardboard.

When you have no money the right tools are extremely hard to find.

I mean now we have Amazon but I am an adult, adults do not play with toys that much. And why am I doing what I am doing again? Sam Altman and Google are better than me at everything having to do with computers. All I need to do is wait 2 years and Microsoft will have an a.i. capable of doing exactly what I want it to do for me.
 

ZenRaiden

One atom of me
Local time
Today 12:56 PM
Joined
Jul 27, 2013
Messages
5,262
---
Location
Between concrete walls
Yes, it makes every step along the way easy enough to understand - which might be the most efficient way to learn in theory
There are conceptual learners and sequence learners.
The higher IQ the likelier chance of you being conceptual learner ergo N vs S.
Sequence people just crunch things step by step.
Conceptual people can approach things in many more flexible way, but mostly its idea and how that idea works down to detail.
So all you need to tell a conceptual learner is the idea, and then they figure it out.
Sequence learners also organize things differently.
They seem to go from tunnel vision to more general.
Conceptual have a umbrella for stuff and then drill down.
Both have wins and losses in learning, but school and academia is purely sequential.
 

scorpiomover

The little professor
Local time
Today 12:56 PM
Joined
May 3, 2011
Messages
3,383
---
Both have wins and losses in learning, but school and academia is purely sequential.
It's the paradox of science and academia:
  1. Intuitives say they like science. Academics usually say they're intuitives. Science and academia requires unusual thinkers in order to develop new ideas.
  2. The way academia and science works as a career, is better for sensors, and so weeds out intuitives.
 

Black Rose

An unbreakable bond
Local time
Today 5:56 AM
Joined
Apr 4, 2010
Messages
11,431
---
Location
with mama
There are conceptual learners and sequence learners.
The higher IQ the likelier chance of you being conceptual learner ergo N vs S.
Sequence people just crunch things step by step.
Conceptual people can approach things in many more flexible way, but mostly its idea and how that idea works down to detail.

sequentiality is based in the parietal cingulate (the corpus callosum between the left and right parietal lobes). conceptual is based in the anterior cingulate cortex (the corpus callosum between the left and right frontal lobes).

So you can be both conceptual and sequential. Unfortunately, I am only conceptual.

It's the paradox of science and academia:
  1. Intuitives say they like science. Academics usually say they're intuitives. Science and academia requires unusual thinkers in order to develop new ideas.
  2. The way academia and science works as a career, is better for sensors, and so weeds out intuitives.

A guy I knew once said quantum physicists were "bean counters".

By this, he meant that before computers existed you had to do all the matrix multiplications by hand with no conceptual understanding of physics.

You can see when and where things happen but do not know anything about what substances are. Quantum fields and magnetic magnitudes are more than just probabilities.

He also said that Einstien in German means One Stone (a dunce).

This was really into magnets and the phi-ratio 3D fluid mechanics. He values Tesla a lot.
 

scorpiomover

The little professor
Local time
Today 12:56 PM
Joined
May 3, 2011
Messages
3,383
---
A guy I knew once said quantum physicists were "bean counters".

By this, he meant that before computers existed you had to do all the matrix multiplications by hand with no conceptual understanding of physics.

You can see when and where things happen but do not know anything about what substances are. Quantum fields and magnetic magnitudes are more than just probabilities.
I spent the 1st 25 years of my life pre-internet. The computers back then, didn't have the programs you have now. Even to calculate a simple integral on a computer, you had to write a program in Pascal. To calculate anything with a formula, you had to know which formulae to use, and when. If an electrician, which was a simple job, didn't understand where, when and how to add resistance, he would end up giving too much power to a cable, and he'd electrocute himself. Pilots had to understand advanced aerodynamics to know how much power to give to an engine, or the engine would stall and the plane would literally fall out of the sky.

Every job that used any maths, required that you understood what the formulae did in real life, or you'd get results that would do anything from make a company bankrupt, to cause millions to die of a pandemic. Even a diabetic had to understand how insulin formulae worked in real life, they would kill themselves by either injecting too much insulin or too little insulin.

Because of that, people back then didn't have to tell anyone about the conceptual understanding, because everyone had to undertand the concepts behind what you were doing and how they related to the formulae you were using, because it was too dangerous to allow anyone to use formuale without understanding the concepts behind them.

But today, we have computers with advanced software on the internet, that allow you to just input the numbers into boxes, and tell you the answer, without any understanding required.

I've had this problem numerous times, because in my job, I have to understand how the underlying equations work in real life, in order to program software, as when I get it wrong, my bosses would make me redo the code over and over until it worked in real life. So whenever I was on a job, I HAD to speak to someone who understood the conceptual understanding behind the equations.

I tried asking the younger people who learned on computers. But when I pushed them for an explanation, they didn't understand how the equations worked, because they only had to push buttons on the computer. In the end, I found that the guys in their 50s and 60s who didn't know how computers worked had the understanding that I needed, because they had to learn to do things by hand, and so HAD to understand what they were talking about.

So your friend had it backwards, and I have the repeated empirical observations to prove it.

He also said that Einstien in German means One Stone (a dunce).
It was his family name, not a nickname. If someone was nicknamed "one stone", THEN that meant everyone who knew him thought that he wasn't very smart. But a family name was what you got from your parents before you were even conceived, and so had no reflection on his intelligence.

So that sort of comment is the sort of thing you would expect from a dunce.

This was really into magnets and the phi-ratio 3D fluid mechanics. He values Tesla a lot.
Tesla did the mathematical formulae for Edison, back when there were no computers, and the matrix calculations had to be done by hand. So according to that guy, Tesla was a "bean counter" who had no conceptual understanding of physics.

So I don't see how he could say he values Tesla, when he was basically implying that he thought that Tesla was "a bean counter who had no conceptual understanding of physics".
 

dr froyd

__________________________________________________
Local time
Today 12:56 PM
Joined
Jan 26, 2015
Messages
1,485
---
But today, we have computers with advanced software on the internet, that allow you to just input the numbers into boxes, and tell you the answer, without any understanding required.
its very true, most people nowadays just work with the abstracted stuff; layers upon layers of abstraction, code libraries that use other code libraries, etc etc. And almost nobody knows how these things actually work, including the supposedly technical people who work with it. That's why everything is so goddamn slow despite the fact we have 1000 times faster machines than they had 40 years ago.
 

Puffy

"Wtf even was that"
Local time
Today 12:56 PM
Joined
Nov 7, 2009
Messages
3,859
---
Location
Path with heart
You're probably quite intelligent though OP. I think if your approach was tried with everyone at school that most would feel overwhelmed and be put off of learning as a result. Starting simple allows most the satisfaction and encouragement to move onto more complex topics.
 

sushi

Prolific Member
Local time
Today 12:56 PM
Joined
Aug 15, 2013
Messages
1,841
---
micro learn

learning for school and grades is the worse form of learning, it becomes appeasing the teacher.
 

scorpiomover

The little professor
Local time
Today 12:56 PM
Joined
May 3, 2011
Messages
3,383
---
But today, we have computers with advanced software on the internet, that allow you to just input the numbers into boxes, and tell you the answer, without any understanding required.
its very true, most people nowadays just work with the abstracted stuff; layers upon layers of abstraction, code libraries that use other code libraries, etc etc. And almost nobody knows how these things actually work, including the supposedly technical people who work with it.
I like looking "under the hood", and figuring out how things really work. But most people don't bother, as they're too busy advancing their career, dating, and when they're not doing either, enjoying themselves.

If they did, they'd learn a lot. But they probably would get freaked out.

When I was 6, it was the 70s, in the Cold War. I wanted to know about how nuclear bombs worked. When the government announced that we needed to prepare for nuclear war and what to do in case of a 4-minute warning, I cried inside, because what they advised would have done NOTHING, and wouldn't even stop the fallout, not even a little bit.

I couldn't tell anyone, though, not even my parents, because they would have freaked, but couldn't have done anything about it. So it would have made people extremely terrified without any benefit.

Another thing: I was watching a programme about the National Electricity Grid. They would decide how much electricity the country needed, by reading the TV times! No joke! If people used too much power at the same time, there would be too great a draw on the system, and that would trigger a power cut. So they had to make sure there were enough power stations active to handle demand. But power stations took 2 hours to power up. So they had to know demand 2 hours in advance.

Turned out, that power cuts happened during a big sports game, because then millions would be watching the TV, and during commercial breaks, everyone would get up to make a cup of tea/coffee, and put the kettle on. Kettles use a huge amount of power and are/were at that time, one of the most power-hungry devices in any home. So by looking at the TV guide, and seeing when an extremely popular show was on, like a big sports game, or the last episode of Friends, they knew when demand was high. They could use TV ratings to estimate the number of people, and thus the amount of demand, and work out how many power stations to put on.

Most people thought that the electricity supply was all automated. But you couldn't exactly get a computer to read the TV guide, certainly not in those days. So it was all controlled by humans.

That's why everything is so goddamn slow despite the fact we have 1000 times faster machines than they had 40 years ago.
I remember reading about a C++ programmer, who decided he wanted to learn assembly language (human-readable machine code) for fun. He wrote a screensaver in C++, and then wrote the same screensaver in assembly/machine code, the language the computer actually uses, to see the difference in speed. The machine code ran at 10 times the speed of C++!, and C++ is the fastest programming language in the world.

So even the fastest programming language in the world, still runs at 10% of the speed of the computer.

The most popular programming language is, according to Google, Javascript. Javascript is 10 times to 100 times slower than C++.

So most of the software people use, is actually running at 1/100th to 1/1,000th of the actual speed of your computer, and that's even when the programmer writes really good code.
 

Black Rose

An unbreakable bond
Local time
Today 5:56 AM
Joined
Apr 4, 2010
Messages
11,431
---
Location
with mama
@scorpiomover

To me, it seems that the person was high in spatial intelligence (170) and disliked doing repetitive math. He was into Buddhism and I only remember him since I was on the computer at the time I saw his videos was the same time I began living alone in 2010. He was very lonely and ate pizza sometimes (he told many fat people jokes about himself) and he disliked Richard Feyman. Many people do not understand quantum mechanics and it is more about the philosophical nature of it than the math involved. We do not know what a particle is or why it exists.

This is the complete error-free code I made for my continued a.i. project beginning in 2011. It was finished in August 2023.

Since then I have been trying to incorporate fractal entropy limits into my understanding of a.i. (memory storage, and action planning)

New pixel a.i.:
/*
 * This java program simulates two sheets of cortex as found in the brain.
 * Input creates oscillatory effects in the two cortices because input is
 * limited to one sheet. Neurons on the other sheet connect to other neurons
 * that will have the same value as the input neuron on the adjacent sheet.
 * The degree to which connections change is based on the error between the
 * input neuron and the adjacent neuron summing its connections.
 * All together a nonlocal hierarchy of oscillatory connection cycles are
 * produced from neurons trying to find connections that brings each neurons
 * corresponding neuron on the other sheet to an equilibrium.
 * This current program uses random input so the hierarchy is not complex.
 * With non random input a complex oscillatory hierarchy should emerge.
 * In the brain the thalamus is the base oscillatory pacemaker.
 * Cortical structures like the thalamus has not been added.
 * Output neurons have not been designated in this program.
 *
 */
package javaapplication1;
import java.util.Random;

import java.awt.Color;
import java.awt.Graphics;

import javax.swing.JComponent;
import javax.swing.JFrame;

public class JavaApplication1 extends JComponent implements Runnable {

int ws = 100; //window_size = ws
int synapses = 100;
int input_num = 100;

int[][] difference_node = new int[ws][ws];
int[][] Data1 = new int[ws][ws];
int[][] Data2 = new int[ws][ws];
int[][] buffer1 = new int[ws][ws];
int[][] buffer2 = new int[ws][ws];
int[][] Cortex1 = new int[ws][ws];
int[][] Cortex2 = new int[ws][ws];
int[][] memory1 = new int[ws*ws][synapses];
int[][] memory2 = new int[ws*ws][synapses];
int[][] memory3 = new int[ws*ws][synapses];
int[][] memory4 = new int[ws*ws][synapses];
int[] input_values1 = new int[input_num];
int[] input_values2 = new int[input_num];

public JavaApplication1() {
initialData();
new Thread(this).start();
}
// End function
public void run() {
while (true) {
try {
changeData();
repaint();
Thread.sleep(0);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
// End function
// This funtion is just used once at the start of the program.
private void initialData() {
Random r = new Random();

synchronized (Cortex1) { // lock paint
int accumulate = 0;
for (int x = 0; x < ws; x++) {
for (int y = 0; y < ws; y++) {
Cortex1[x][y] = r.nextInt(255);
Cortex2[x][y] = r.nextInt(255);
accumulate ++;
if (accumulate >= (ws*ws)-1){
accumulate = 0;
}
// Memory holds the neural connections.
for (int z = 0; z < synapses; z++) {
// memory1 holds the first x values of Cortex1
memory1[accumulate][z] = r.nextInt(ws);
// memory2 holds the first y values of Cortex1
memory2[accumulate][z] = r.nextInt(ws);
// memory3 holds the second x values of Cortex2
memory3[accumulate][z] = r.nextInt(ws);
// memory4 holds the second y values of Cortex2
memory4[accumulate][z] = r.nextInt(ws);
}
}
}
// The number of inputs is selected here.
for (int x = 0; x < input_num; x++) {
input_values1[x] = r.nextInt(ws); // The x values for input are selected.
input_values2[x] = r.nextInt(ws); // The y values for input is selected.
}
}
}
// End function
private void changeData() {
synchronized (Cortex1) { // lock paint
Random r = new Random();
// This shows acumilated change of connections in Data1.
for (int x = 0; x < ws; x++) {
for (int y = 0; y < ws; y++) {
difference_node[x][y] = Math.abs(Cortex1[x][y] - Cortex2[x][y]);
Data1[x][y] += difference_node[x][y];
}
}
// Keep Data2 inbounds
for (int x = 1; x < (ws - 1); x++) {
for (int y = 1; y < (ws - 1); y++) {
if (Data2[x][y] > 255 || Data2[x][y] < 2){
Data2[x][y] = 128;
}
}
}
// Here is where input data can be added to the cortex.
for (int x = 0; x < input_num; x++) {
Cortex1[input_values1[x]][input_values2[x]] = r.nextInt(255);
}
// This is where a neuron adds up all of its connections.
for (int x = 0; x < ws; x++) {
for (int y = 0; y < ws; y++) {
buffer1[x][y] = 0;
buffer2[x][y] = 0;
}
}
int p1 = 0;
int p2 = 0;
int accumulate = 0;
for (int x = 0; x < ws; x++) {
for (int y = 0; y < ws; y++) {
p1 = 0;
p2 = 0;
accumulate++;
if (accumulate >= (ws*ws)-1){
accumulate = 0;
}
for (int z = 0; z < synapses; z++) {
p1 += Cortex1[memory1[accumulate][z]][memory2[accumulate][z]];
p2 += Cortex2[memory3[accumulate][z]][memory4[accumulate][z]];
}
buffer1[x][y] = p1 / synapses;
buffer2[x][y] = p2 / synapses;
}
}
for (int x = 0; x < ws; x++) {
for (int y = 0; y < ws; y++) {
Cortex1[x][y] = buffer1[x][y];
Cortex2[x][y] = buffer2[x][y];
}
}
int pnum = 0;

for (int x = 0; x < ws; x++) {
for (int y = 0; y < ws; y++) {
pnum += difference_node[x][y];
accumulate ++;
if (accumulate >= (ws*ws)-1){
accumulate = 0;
}
// This is where connection are randomized depending on the diffrence between
// cortex1 and cortex2.
for (int z = 0; z < Math.abs(difference_node[x][y]/2); z++) {
memory1[accumulate][r.nextInt(synapses)] = r.nextInt(ws);
memory2[accumulate][r.nextInt(synapses)] = r.nextInt(ws);
memory3[accumulate][r.nextInt(synapses)] = r.nextInt(ws);
memory4[accumulate][r.nextInt(synapses)] = r.nextInt(ws);
}
}
}
System.out.println("Average number of randomized connections " + pnum / (ws*ws));
// Keeps color in bounds
int k = r.nextInt(255);
for (int x = 0; x < ws; x++) {
for (int y = 0; y < ws; y++) {
if (Data1[x][y] >= 255 || Data1[x][y] <= 0) {
Data1[x][y] = 1;
}
}
}
for (int x = 0; x < ws; x++) {
for (int y = 0; y < ws; y++) {
if (Cortex1[x][y] >= 255 || Cortex1[x][y] <= 0) {
Cortex1[x][y] = k;
}
if (Cortex2[x][y] >= 255 || Cortex2[x][y] <= 0) {
Cortex2[x][y] = k;
}
}
}
}
}
// End function
public void paint(Graphics g) {
synchronized (Cortex1) { // do not paint while recalculating
int resolution = 5; // Change the 5 to any number to change resolution.
g.fillRect(0 + 00, 0 + 00, ws*resolution, ws*resolution);
for (int x = 1; x < ws-1; x += 1) {
for (int y = 1; y < ws-1; y += 1) {
try {
g.setColor(new Color(0, Data1[x][y], 0));
g.fillRect(x*resolution + 00, y*resolution + 00, resolution, resolution);
} catch (IllegalArgumentException ex) {
System.out.println("Error value: " + Data1[x][y] + ", [x,y] = [" + x + "," + y +"]");
}
}
}
}
}
// End function
public static void main(String[] args) {
int ws = 500; //window_size = ws
JFrame f = new JFrame("Cortex Ripples");
f.add(new JavaApplication1());
f.setSize((ws+16), (ws+39));
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
// End function
}
// End Program
 

ZenRaiden

One atom of me
Local time
Today 12:56 PM
Joined
Jul 27, 2013
Messages
5,262
---
Location
Between concrete walls
I think methods of learning are like dieting.
The best learning method is the one you can stick to and thats wildly personal thing.
The other thing is the more systemic approach you have the more disciplined you have to be with time.

I am currently learning to learn new things in new way.
But I lack motivation and focus, and struggle with sleep and depression.
Burnout I can barely use my brain for few seconds before I tire out.
My brain is still not in best of shape so for me currently in the least good conditions is learning part by part with zero expectations to learn anything, because that would put stress on me.

So there is huge psychological factor how we can learn. Despite wanting to learn I struggle with this sort of shit.

I strongly recommend this for brief overview to see if you are already using or can use some of these methods. Mostly they are N type methods.
 

dr froyd

__________________________________________________
Local time
Today 12:56 PM
Joined
Jan 26, 2015
Messages
1,485
---
The most popular programming language is, according to Google, Javascript. Javascript is 10 times to 100 times slower than C++.

So most of the software people use, is actually running at 1/100th to 1/1,000th of the actual speed of your computer, and that's even when the programmer writes really good code.
scripting languages like Javascript, Python, etc, are good examples of abstractions that insulate people from the actual technology that they are using (and yes, also make things extremely slow)

for exampling initializing an array in Javascript is just

JavaScript:
int x[] = new int[10];

which seems like the most rudimentary thing one can do, but already here it has abstracted away memory allocation - is it stack- or heap-allocated, for example. The difference in speed can be huge. How many bits does this actually allocate, is it 32 x 10 or does it allocate a bunch of other stuff we dont know about. When is this memory freed. Etc.

these things dont matter until the day the actually do - when you need an extremely efficient algorithm and there isn't some pre-made library one can install. That's a big limitation to live with.

and people might say that's a rare case, but I've observed a certain fascinating phenomenon: people who live mostly in the abstracted, javascript-type world, and who rely purely on other people's implementations of more advanced things, acquire a view that all meaningful problems are already solved, and all you need to do is to google things. And since they spend all their time inside that small aquarium they don't see that actually, most problems are not solved and what you can find on google is just the basic stuff. Thus they only do basic stuff, and never become advanced. These people usually get hostile and confused if you tell them you want to write something in C
 

Puffy

"Wtf even was that"
Local time
Today 12:56 PM
Joined
Nov 7, 2009
Messages
3,859
---
Location
Path with heart
The most popular programming language is, according to Google, Javascript. Javascript is 10 times to 100 times slower than C++.

So most of the software people use, is actually running at 1/100th to 1/1,000th of the actual speed of your computer, and that's even when the programmer writes really good code.
scripting languages like Javascript, Python, etc, are good examples of abstractions that insulate people from the actual technology that they are using (and yes, also make things extremely slow)

for exampling initializing an array in Javascript is just

JavaScript:
int x[] = new int[10];

which seems like the most rudimentary thing one can do, but already here it has abstracted away memory allocation - is it stack- or heap-allocated, for example. The difference in speed can be huge. How many bits does this actually allocate, is it 32 x 10 or does it allocate a bunch of other stuff we dont know about. When is this memory freed. Etc.

these things dont matter until the day the actually do - when you need an extremely efficient algorithm and there isn't some pre-made library one can install. That's a big limitation to live with.

and people might say that's a rare case, but I've observed a certain fascinating phenomenon: people who live mostly in the abstracted, javascript-type world, and who rely purely on other people's implementations of more advanced things, acquire a view that all meaningful problems are already solved, and all you need to do is to google things. And since they spend all their time inside that small aquarium they don't see that actually, most problems are not solved and what you can find on google is just the basic stuff. Thus they only do basic stuff, and never become advanced. These people usually get hostile and confused if you tell them you want to write something in C

These abstractions exist to make it simpler for humans to understand. If the bar of entry is set higher in terms of needing to learn C over needing to learn Javascript/Python that will likely mean less people will enter the field to fulfil jobs that might only need Javascript or Python.

I studied to a junior developer level in javascript and node.js and I know that many I studied with struggled with even that. If they progressed in their software development careers I'd imagine they progressed to studying languages like C - if at all - as they became more proficient and able to grasp more complex topics. I'm sure many of them didn't or didn't ever need to to do what they were hired to do.

There will always be a need for people who are able to go to the lower levels of abstraction you're able to go to, so if anything it's a boon for yourself.
 

birdsnestfern

Earthling
Local time
Today 7:56 AM
Joined
Oct 7, 2021
Messages
1,897
---
I don't learn well by spoken or auditory voice (teachers ramble too much and I tune them out). Anything people say just goes right out the other ear usually. I've got to see it in print. I got through college by taking word for word notes. Text books work fine. Sticky notes and note taking are excellent for me so I can visually remind myself. If its complex, I try to pick out the LOGIC of why first so I get the overall idea. Then I fill in details.

A summary at the end of the chapter, a table of contents so i get an idea of the topics - then a super fast speed read of text. Then, it helps to get a hands on method, where I have to do it myself. Then it takes a lot of different types of situations that give a lot of real world applications and require additional fill in knowledge. Then after a month, I feel proficient. But I really need a lot of detail to feel proficient. I am the one that asks a lot of annoying questions in class or to a supervisor because my mind sees many possibilities for their simplistic explanation that could be interpreted in so many ways. So, questions are part of my learning process and repeating back to make sure I got it right too. I can interpret things in a skewed way that doesn't occur to anyone else, or just need a lot more detail. When they want someone to try to break a new system, I'm perfect, because I can come up with a million and one ways to do something, lol.

When we got new financial system upgrades every five years, I was always on the team trying out the companies software, and always had a lot of suggestions for improvement which helped the final product. System time stamps on payments, updated balances printing out on invoice, or better features that were needed. Once I get something down, I am super super fast and really the best they have. Speedy, accurate and thorough. I don't miss a thing. I can QA and spot anything out of place instantly for example, even with tons of data because it becomes second nature and I have deep concentration when I need it. (As long as I've taken my vitamin B complex).
 

dr froyd

__________________________________________________
Local time
Today 12:56 PM
Joined
Jan 26, 2015
Messages
1,485
---
These abstractions exist to make it simpler for humans to understand.

i might have gotten a bit carried away talking smack about scripting languages... but come to think of it, that javascript line actually serves, in a way, as an illustration of my point in the original post, because if we start trying to figure out what it does, we'll find that

- javascript is translated into some C code
- the C code is translated into assembly
- the assembly is translated into machine instructions
- the hardware reading the machine instructions has its own rules and mechanisms

which, incidentally, is close to how i got into the low-level stuff

we could have done the same thing with 1 + 1 = 2 for that matter - it is basic only for those ready to accept things at face value. Which i feel is why i felt i didn't understand anything in school despite the fact that the process was supposedly incremental - it was more like picking an arbitrary starting point that you just had to accept at face value, and then build more stuff on top of stuff you don't really understand.

im not sure i really understand my own learning process or what is best, but i think it has generally something to do with the fact that i always end up digging down in things rather than adding stuff on top
 

Black Rose

An unbreakable bond
Local time
Today 5:56 AM
Joined
Apr 4, 2010
Messages
11,431
---
Location
with mama
Learning is doing
analyzing is seeing
synthesis is both
 

ZenRaiden

One atom of me
Local time
Today 12:56 PM
Joined
Jul 27, 2013
Messages
5,262
---
Location
Between concrete walls
im not sure i really understand my own learning process or what is best, but i think it has generally something to do with the fact that i always end up digging down in things rather than adding stuff on top
Because you understand that accepting things at face value does not equal understanding.
I work from point of understanding onward.

When people say "its easy" or my favorite "its easy to understand" it took me a life time to realize that "understand" in human language does not mean understand in real language.
 

scorpiomover

The little professor
Local time
Today 12:56 PM
Joined
May 3, 2011
Messages
3,383
---
To me, it seems that the person was high in spatial intelligence (170) and disliked doing repetitive math.
Spatial intelligence is all about knowing the short cuts. Those people who are good at it, struggle to explain all the calculations. This is usually because it's their subconscious that does the work. That's great when you happen to be right. But if you can't explain it, then when you're wrong, you don't know that you're wrong, because it's the subconscious that did all the calculations.

So it's great for the things we already know that you're good at. But when it comes to new stuff that is currently unknown, and where if you're wrong there's a good chance of a disaster, disasters happen but no-one can explain why.

So it's only good for the things that we already know how to do, and thus is just a speed improvement on the things that aren't really mission-critical.

The mission-critical stuff thus still needs the repetitive maths.

He was into Buddhism and I only remember him since I was on the computer at the time I saw his videos was the same time I began living alone in 2010. He was very lonely and ate pizza sometimes (he told many fat people jokes about himself) and he disliked Richard Feyman.
Ironic, because Feynman's work had the same transformative effect in computers, that Tesla's work brought to electrictity.

No wonder he was lonely. He hated the qualities that made the people that he loved so wonderful. It would be like thinking cars are great but wheels are awful.

Many people do not understand quantum mechanics and it is more about the philosophical nature of it than the math involved.
There are plenty of people who understand the philosophical nature of quantum physics. But what most people believe about how technology works, is in contradiction with what quantum physics shows us about how technology works.

We do not know what a particle is or why it exists.
Particles are fields, like a magnetic field. When you go to the toilet and you flush the toilet, the water whirls around the middle of the bowl like a small whirlpool. That small whirlpool has the same effects as a field and a particle. However, particles are so small and so compact, that you don't see the whirlpool itself, and only detect the border of the whirlpool.

Particles exist, for the same reason as the whirlpool exists when you flush the toilet. if you didn't get the whirlpool effect, then the water going down would hit the water further down, and would just stop. Then the water and the p*ss/sh*t wouldn't go down, and so nothing would happen. Toilets were specifically designed to be in a bowl shape, so that you would get the whirlpool effect, or nothing would happen.

Likewise, when you don't get the whirlpool effect in real-life, you don't get the particles, and the energy/matter hits more energy/matter behind it, stops, and then nothing happens. So without particles, nothing changes. Hence why people think of particles as "matter", and that it's only matter that "matters". When there's no whirlpool effect, nothing would change, and so that bit of real life doesn't seem to make any difference and so doesn't "matter".

This is the complete error-free code I made for my continued a.i. project beginning in 2011. It was finished in August 2023.

Since then I have been trying to incorporate fractal entropy limits into my understanding of a.i. (memory storage, and action planning)
Please indent your code. All your code starts at the beginning of the line. That makes it very difficult to know which lines of code are grouped together, and makes it incredibly difficult to understand what each part does.

Also, commenting at the beginning is nice. But it's too long to follow there, and doesn't explain what each line does. Really, to understand code, you need a comment every few lines to explain what each part does. That means a lot more comments than you have added. But it makes your code understandable.

If you do these 2 things, other people will find your code very easy to understand, and then they'll realise the value of your work. Also, when your code is missing something, they'll be able to realise which bit is missing what, and point out to you what to add and where.

Then you'll be able to get decent feedback which will allow you to tweak your code and make it something that does amazing things that everyone will value and everyone will love.

I've had a lot of feedback from others when I have done this, which is how I know.
 

scorpiomover

The little professor
Local time
Today 12:56 PM
Joined
May 3, 2011
Messages
3,383
---
The most popular programming language is, according to Google, Javascript. Javascript is 10 times to 100 times slower than C++.

So most of the software people use, is actually running at 1/100th to 1/1,000th of the actual speed of your computer, and that's even when the programmer writes really good code.
scripting languages like Javascript, Python, etc, are good examples of abstractions that insulate people from the actual technology that they are using (and yes, also make things extremely slow)

for exampling initializing an array in Javascript is just
JavaScript:
int x[] = new int[10];
which seems like the most rudimentary thing one can do, but already here it has abstracted away memory allocation - is it stack- or heap-allocated, for example. The difference in speed can be huge. How many bits does this actually allocate, is it 32 x 10 or does it allocate a bunch of other stuff we dont know about. When is this memory freed. Etc.

these things dont matter until the day the actually do - when you need an extremely efficient algorithm and there isn't some pre-made library one can install. That's a big limitation to live with.
I can see what it does.
"int[10]" = "allocate an array of 10 int variables". So it's 10 x (the number of bytes/bits that the compiler uses for an int). That can be 32x10 bits = 4x10 bytes on a 32-bit machine. On some 64-bit machines, it could even be 64x10 bits = 8x10 bytes.

"new" = "allocate the memory in the heap".

"int" = without the 'new' word, it means "allocate the memory in the function stack, that is referred to as an

"x" = "keep a reference to the address where the memory is stored. Wherever x is used elsewhere in the code, replace it with the reference to the memory."

"[]" = "allocate a reference to an array, without worrying about the size of the array". This requires that x is a pointer to the memory location of the array.

So all in all, this says: "If your compiler treats integers as 32-bit memory locations, then allocate an array of 4x10 bytes on the heap. Allocate a pointer in the stack. Store the memory address of the array in the pointer.

Whenever x[j] is used (where j is a number or a variable), assume that it's referring to a 32-bit integer in memory."
I was doing some C++ on a micro-computer (Arduino, then ESP32), for a home automation project for fun. But it kept crashing. In order to make it stop crashing, I had to figure out the problems. So I had to figure out what the CU was doing in the background, in order to figure out what was causing it to crash and fix it.
I needed to do something like this:
Code:
String topic = "ha/" + node + "/" + sensor + "/config";
Because of operator precedence, what this actually does is this:
Code:
String topic = ("ha/" + node + "/" + sensor + "/config");
So a new hidden string is created, and then the value is copied to the topic variable. But because the hidden string is hidden, the compiler doesn't tell the CPU to delete it. So memory would be allocated, but never removed. More and more memory would be used, until there was no more room to do anything and the computer would crash.

To stop the rot, what I had to do, was this:
Code:
String topic = "ha/";
topic += node;
topic += "/";
topic += sensor;
topic += "/config");
I had to do that for EVERY string, or the whole computer would end up crashing every few hours.

Horrible to read. Makes it incredibly difficult to follow the code. Also means that even simple code becomes thousands of lines long.

But it's that, or have a system that crashes and reboots every few hours.

The real problem is that the automatic garbage collectors are good at deleting memory when all the variables and references are explicitly declared, but when they are are declared as temporary variables, the automatic garbage collector deletes the reference, but doesn't always delete the variable, and keeps holding the memory. So the memory gets used up more and more, until you run out of memory. Then the entire computer would crash.

The alernative solution is to declare all the temporary variables as explicit variables. But then every time you use a dot ("."), you need to declare a new variable. This turns 1 line of clever code into 10 or 20 lines of childishly simple code. Makes your code incredibly long, very difficult to read, and makes it read as if it was written by a small child.

Microsoft added a pointer count in Windows, to stop the computer crashing (known in Windows as the BSOD = "Blue Screen of Death").

However, what this does instead, is that when you write code to quit an app like Excel, the app won't quit.
When you want to write something like this:
Code:
ExcelApp.Book(1).Sheet(1).Range("A1") = "B"
ExcelApp.Book(1).Save()
ExcelApp.Quit()
You have to write code like this:
Code:
Dim a as Workbook
Set a = ExcelApp.Book(1)

Dim b as Worksheet
Set b = a.Sheet(1)

Dim c as Range
Set c = c.Range("A1")

c.Value = "B"

Dim d as Workbook
Set d = ExcelApp.Book(1)
d.Save()

ExcelApp.Quit()
Far too many people would be working on an important document for hours, until the app would stop working, and you'd have to force Word to quit. Then when you restarted Word and re-opened your document, you discovered that all your work was gone. This used to happen often to people I knew.

Eventually, lots of people kept pressing "Save" every 5 minutes. But lots of people I knew didn't do this, and kept losing their work. Then Microsoft brought in Autosave. But not everyone has Autosave on.

Sometimes, when Word crashed, it would only save half the changes and the document was completely corrupted. Then you'd lose your dissertation and lose months of work. So then some people started doing regular backups, and some people kept losing months of work. Then Microsoft brought in Microsoft Backup. But a lot of people don't do their backups, and then when things go wrong, they lose everything.

If you write the code the long way, all the pointers are declared explicitly. So the compiler can clearly see when to delete the references. Then everything gets done correctly, and then Excel and Word quits easily, and you don't get memory leaks.

But then to do something simple that only needs 3 lines of code, you have to write 20 lines of code and a whole parapgraph to do something incredibly simple. Makes code incredibly verbose and incredibly difficult to read. So when there is a bug, it becomes incredibly difficult to find the bug and fix it.

Also, because programmers need to get paid, it means the same work takes 10 times as long and costs 10 times as much. So clients get angry because simple tasks take 6 months, and because they're being charged a fortune. But the programmer's hourly rate remains the same, and so his yearly salary isn't any better. So clients think they're being fleeced, when the programmer feels like he's being blamed for something that isn't his fault.

That's actually why Javascript tries to compress code with abstractions in the first place, so you don't end up with millions of lines of code. But then too often, the compiler eats up huge amounts of memory, and every so often, the page crashes or goes wrong.

The web uses REST because it's stateless, and so doesn't require saving anything from a previous page. So that way, even if the current page crashes, it's no biggie. But then that makes website development that much harder, because it's all contextless, and so everything looks and acts disconnected and disjoined.

and people might say that's a rare case, but I've observed a certain fascinating phenomenon: people who live mostly in the abstracted, javascript-type world, and who rely purely on other people's implementations of more advanced things, acquire a view that all meaningful problems are already solved, and all you need to do is to google things.
IME, that's true most of the time, and I have to do horribly complex stuff.

And since they spend all their time inside that small aquarium they don't see that actually, most problems are not solved and what you can find on google is just the basic stuff.
Well, it's more that most problems require a combination of solutions put together. So you may not find the entire solution. But you'll find parts of it, and when you put them together in the right order, you get the entire solution.

But then, if the complete solutions were online, then any technophobe could find it on Google, paste it into a compiler, press "compile" and have the end result in 15 minutes. So then why would he or anyone employ a programmer when he can do that?

Thus they only do basic stuff, and never become advanced. These people usually get hostile and confused if you tell them you want to write something in C
They can do advanced stuff, as there's libraries to do nearly everything. But as you pointed out, Javascript abstracts, and more importantly, sometimes the abstractions sometimes lead to the compiler/interpreter making mistakes. So normally, you'd want to write in C, so you can avoid the mistakes that the Javascript compiler/interpreter would make.

But since they don't know what the computer is really doing behind the scenes, they can't see what C would do that Javascript would not. So they are confused why you would want to do that, as it seems pointless.

Since it seems pointless to them, it looks like you just want to re-write the code in C, to act all superior, so that you can claim that they are inferior coders and take their jobs. So of course they are hostile.
 

ZenRaiden

One atom of me
Local time
Today 12:56 PM
Joined
Jul 27, 2013
Messages
5,262
---
Location
Between concrete walls
So I think the biggest learning perk of life is you can pretty much learn any speed and with any method, as opposed to school, and pretty much just experiment for ever.
School set up is rigid, and rigged against certain minds.

So like this thread went off the rails in about few posts, and people started talking programming stuff, well that is the thing you cannot do in schools.
So if your interest is caught in real life, you can pretty much just jump into it and learn stuff any way you like.

Personally I like both general and specific learning and combination of there of.
I tried speeding up my reading and comprehension and use mnemonics, and with minor successes I have improved.
Reality is that I still suck at memorizing certain things, but there are things I just happen to remember better than most.

Also experimenting with easy learning methods vs more complex methods is useful.
Because easy learning is sometimes believe it or not more efficient.
For instance cramming that is often used is great for exams, but terrible for real life.
Effectively you cram and forget type of approach means you barely go deep enough to make a connection and further you forget or mix up stuff in your head. Certain things you learn slowly without stress is actually easy to log into memory and have it there permanently.
The cool things some things I remember from school simply because I put extra effort to know that one tid bit of info and since then I had no reason to come back to it.
So time wise even if I spent lets say 20 minutes memorizing an equation it meant time well spent as I had no reason to relearn or doubt my self for rest of my life and i know I can draw out that equation even if I am upside down in a burning building while half suffocating in smoke. Because once you commit something to memory the way its mean to be there then its there for rest of your life.
 

Black Rose

An unbreakable bond
Local time
Today 5:56 AM
Joined
Apr 4, 2010
Messages
11,431
---
Location
with mama
A schema is a unit of a knowledge form.

To be integrated into the system it must be assimilated with previous knowledge.

I learned 4 things about the WAIS 4 IQ test.

Verbal is about inference on what words are associated with, but the test only measures the number of words you use with limited sampling.

Spatial is about seeing which shapes fit with other shapes and the rules of shape patterns. But this is not about 3D shapes and not about the environmental differences that follow from this.

Working memory is about holding several items in memory and comparing them. However, holding random items in memory is not the same as meaningful manipulation with what is already known about a set of items.

Processing speed is about associating symbols with other symbols, this can be useful and related to finding patterns but random memorization can be not useful also such as in schizophrenia associations can be "not real".

All of these working together we can say that this is about the bandwidth of or the parallel assembling of information into the bain system. The brain must absorb put-together information in all forms to solve problems, but overall the limited sampling and statistical maths do not happen to be reliable in finding a true reliable measurement of a brain's ability to do so in all environmental situations people can adapt to. These constructs must be re-evaluated for IQ to become useful in measuring intelligence.
 

ZenRaiden

One atom of me
Local time
Today 12:56 PM
Joined
Jul 27, 2013
Messages
5,262
---
Location
Between concrete walls
A schema is a unit of a knowledge form.
I don't want to sound like a police, but you are always posting things about IQ and AI and God in threads where the topic is not IQ AI or God.
Can't you just talk about how you learn?
 

Black Rose

An unbreakable bond
Local time
Today 5:56 AM
Joined
Apr 4, 2010
Messages
11,431
---
Location
with mama
A schema is a unit of a knowledge form.
I don't want to sound like a police, but you are always posting things about IQ and AI and God in threads where the topic is not IQ AI or God.
Can't you just talk about how you learn?

I would need to work out how I learn because I do not know the best way to describe it. I think each MBTI type learns in a different way so can you tell me how ISTP leans because I don't know, too many stereotypes (I do not know how type works in that great detail and I am assuming I am ISTP for now).
 

Black Rose

An unbreakable bond
Local time
Today 5:56 AM
Joined
Apr 4, 2010
Messages
11,431
---
Location
with mama
I think I learn slowly because of low intelligence.

That is what it was like in school because I got low scores on tests sometimes.
 

ZenRaiden

One atom of me
Local time
Today 12:56 PM
Joined
Jul 27, 2013
Messages
5,262
---
Location
Between concrete walls
I think I learn slowly because of low intelligence.
I have heard lot of intelligent people say this. Interestingly we are biased towards speed. Because we live in outcome based society that wants big results, and yesterday.
That is why people like Nikolai Tesla and Einstein, or Da Vinci don't exist anymore.
 

sushi

Prolific Member
Local time
Today 12:56 PM
Joined
Aug 15, 2013
Messages
1,841
---
learning is like drinking, it is also like walking

two things we are wired to do naturally
 
Top Bottom