News for hackers. Stuff that matters.
Re:Your Computer Isn't Yours by GuB-42 on Friday November 13, 2020 @06:23AM (#25081192)
Gen Z can get real general-purpose computers with a development environment for cheap. The new Raspberry Pi 400 is a modern take on home computers like the C64, but 15 times cheaper. Pi 400 full kit: $100, C64: $595 (1982) / $1576 (inflation adjusted for 2019).

The computers are not just getting cheaper, educative material is easier than ever to find.

Because modern computers are much more complex and do much more than before, you don't do much bare metal programming anymore, but then again, nothing is stopping a kid from buying a microcontroller and playing with it. It cheap and information is plentiful. I would even say that it is easier for Gen Z to play with electronics than it was for millennials.

But that unprecedented availability of computers didn't turn everyone into a nerd. Just because someone has a smartphone doesn't mean he has any interest in computing. When computers were limited and expensive, only those who had some affinity with them had them, now everyone have them, so mechanically, you can't expect the same average level of interest.

Re:Your Computer Isn't Yours by pdkl95 on Friday November 13, 2020 @09:09AM (#25082258)
> The new Raspberry Pi 400

Learning about the Raspberry Pi is nice, but that doesn't help preserve the institutional knowledge needed to build system/low-level features in a modern OS. I'm not talking about teaching kids to program; I'm concerned about preserving in the future the knowledge of how to create all of the complex tech we use today. Many civilizations throughout history collapsed after they lost the technical knowledge on which their civilization depended.

> Because modern computers are much more complex and do much more than before, you don't do much bare metal programming anymore

Yes, that's the problem! Unless those skills are actively used and passed on to the next generation of engineers, that knowledge decays. Part of the reason you don't see a lot of bare metal programming anymore is due to the knowledge decay that has already happened!

> nothing is stopping a kid from buying a microcontroller and playing with it

This article is about how those same kids are being stopped from learning the complex systems we currently use.

> didn't turn everyone into a nerd.

Nobody is trying to turn everyone into a nerd. I'm talking about making sure the nerds of he future have the ability to learn about the tech they use, so the ability to understand and make that tech isn't lost. Locking down the OS into an "appliance" that cannot be inspected or changed is a direct attack on the ability to learn,

Re:Your Computer Isn't Yours by GuB-42 on Friday November 13, 2020 @10:18AM (#25083108)
The problem with low level programming is just the general trend of specialization.

The modern computer is the pinnacle of human civilization, a thing so complex that it requires thousands of people to fully understand how it works. Low level programming is just a small link in the chain of complexity. From mining the materials, to producing silicon of incredible purity, to designing circuits at quantum scale, to CPU design and finally the guy who places the frame that will display cat videos. So if you argue that no one knows how to program the bare metal (that is not that bare anymore), one can argue that the knowledge of how to make logic gates from transistors or the metallurgy of copper traces is getting lost.

Maybe less people will know how to program on the bare metal. But think about it, it has been thousands of years since most people are unable to hunt and gather. This is a great deal more worrisome than not knowing how to program computers, and yet, human civilization have been thriving.

The important thing is that it is still accessible, and it is.

Re:Your Computer Isn't Yours by ThrowawayR2 on Friday November 13, 2020 @10:32AM (#25083278)
What you're saying was truer in the '00s when 'scopes, logic analyzers, etc. were professional instruments costing thousands and FPGAs were inaccessible to all but the most dedicated and wealthy hobbyists. Today, with adequate hobbyist-grade instruments and dev boards available in the $100-200 range pretty much anywhere you look, really, the situation for low level engineers and developers is better than it's been for years and, in some ways, even better than the '70s heyday of homebrew computers.

The problem is more the lack of interest. Low level systems development is hard, a computer engineering degree is hella hard, and all the hype and easy money was in following the webdev career path starting from the late '90s dotcom boom.

Re:Your Computer Isn't Yours by orestarod on Friday November 13, 2020 @01:14PM (#25085474)
It was always a tiny minority of the general population that had real knowledge and capabilities of creating the actual technological equipment widely used by the said general population. In the same vein, there are no less people capable of low/OS level programming than before, and you can't expect every proficient user, even a power user or e.g. the now numerous web developers, to be at this level of ability.
Re:Your Computer Isn't Yours by monfera on Friday November 13, 2020 @02:07PM (#25086100)
What changed is that the very things capable of eliciting interest in programming also offer overpowering content consumption functions with huge, never ending catalogs of games, movies, videos, short funny clips etc.

As computing and "content" proliferate, the uncompetitiveness of creation, esp. symbolic creation such as programming, is increasing. At some point, broadening of the access no longer offsets this effect, and the talent pool may start to shrink even if capability and permeation is a million times higher than it was.

Re:Your Computer Isn't Yours by NortySpock on Friday November 13, 2020 @09:57AM (#25082864)
I think Arduino has us partially covered there, allowing kids to get into electronics easily with some wires, sensors, and C code.

And for cobbling together a computer out of microelectronics there's CollapseOS https://collapseos.org/

Re:Your Computer Isn't Yours by cutler on Friday November 13, 2020 @10:16AM (#25083092)
It's also a fait accompli in education where Python reigns supreme as the primary teaching language.
Re:Your Computer Isn't Yours by greyhair on Friday November 13, 2020 @03:50PM (#25087310)
There is nothing wrong with teaching Python as an introduction to programming methods and data, then diving deeper. My son started with Python in his Junior year of high school and as a senior is now learning Java.

It is just top down learning, instead of bottom up. For programming, I think either works.

I just happened to learn the other direction because of the year (early 1980s). On CP/M, you had a macro assembler right there, and it took me a while to get my hands on a Basic interpreter.

Re:Your Computer Isn't Yours by cutler on Friday November 13, 2020 @06:04PM (#25088618)
My university course in 1980 started with Pascal and Fortran along with Niklaus Wirth's "Algorithms + Data Structures = Programs".
Re:Your Computer Isn't Yours by squarefoot on Friday November 13, 2020 @08:48PM (#25089604)
Excellent book! Although written with Pascal in mind, it became really useful to me. Always brought it at work along with the K&R 2nd Ed. and the famous TCP/IP networking book by W. Richard Stevens.
Re:Your Computer Isn't Yours by slazaro on Friday November 13, 2020 @06:49AM (#25081312)
I think the point is that before, if you had a computer, you had the ability to inspect, modify and program, and with curiosity you'd learn. Now, most people get computers where those things are forbidden. You still can get "programmable" computers, but you have to do it explicitly. Before, it was implicit. So there's a filter that some people won't pass and won't learn, and the pool of people shrinks.
Re:Your Computer Isn't Yours by ghaff on Friday November 13, 2020 @08:13AM (#25081784)
>I think the point is that before, if you had a computer, you had the ability to inspect, modify and program, and with curiosity you'd learn.

That's a rose-colored view that maybe reflects a small window in time.

But take the 80s. First of all that computer was maybe $5,000 in today's money. (Yes, there were some limited alternatives like the Sinclair and Commodore 64 that were cheaper.) Long distance telephone calls were expensive as were the big BBS systems like Compuserve. Any software you purchased was costly. A C compiler was hundreds of dollars. (Turbo Pascal at $50 was an innovation.)

Perhaps more to the point, most people didn't just have a computational device of any sort. So the fact that, if you had one, you could use it for a lot of different purposes is sort of irrelevant.

Re:Your Computer Isn't Yours by jcelerier on Friday November 13, 2020 @08:58AM (#25082152)
My experience being born in 1992 is that as a kid I could toy with QBasic for instance (and then with Dev-C++ a bit later) ; as well as go peek & change stuff in random files (hello red alert save files :D) - can't really do that with an iPad.
Re:Your Computer Isn't Yours by mikepurvis on Friday November 13, 2020 @09:57AM (#25082848)
I was a QBasic kid as well, but I think it was pretty clear to me even at the time that QBasic was a mickey mouse environment. You couldn't get into 32-bit mode, or dynamically allocate memory with pointers, much less blt sprites or backgrounds around at a usable speed.

I'm not saying it's exactly equivalent, but there's certainly a perspective which could argue that a) the free JavaScript interpreter available on every device is more featureful and interesting than anything available to us 80s and 90s kids, b) low-cost SBCs running free open source operating systems and compilers are more accessible and better supported than the commercial compilers that few could have accessed back then, and c) the overall ramp from curious/creative gamer kid to capable hacker is much smoother now than it was then, with a lot of interim options between JavaScript and commercial environments in which to gain comfort and achieve interesting results (thinking stuff like GameMaker and RPGMaker, modding communities for existing games, hacking/homebrew/porting communities for consoles, etc).

Re:Your Computer Isn't Yours by ghaff on Friday November 13, 2020 @11:16AM (#25083773)
I get the argument that many kids are growing up today without necessarily touching a "real" computer, just a tablet. That said, as someone who got into PCs quite early on, I'm a bit skeptical that the world we live in today where you can assemble a working computer based on a Raspberry Pi with loads of open source software for probably about $100 somehow is less accessible to a kid who wants to hack around on computers.
Re:Your Computer Isn't Yours by mikepurvis on Friday November 13, 2020 @12:19PM (#25084655)
I think the key with the Pi is that it needs to find its way into the house for some other reason than just to be an educational aid. Positioned that way it will be about as interesting to most kids as a plate of cold spaghetti— am thinking here of the book I was given as a teenager on developing ActiveX components, because it was an enterprise-y thing, when what I really wanted was a book on DirectX, for making games.

But yeah, if the Pi shows up as part of an IOT system, or as a TV/streaming box, or to play retro games on, or whatever, then it's there and it's available to be tinkered with; and from my limited experience, basically none of those use cases will run on their own without at least a little bit of tinkering. :) Even my little Linux-running Powkiddy emulation handheld has probably consumed about as much of my tinkering time as it has my retro gaming time.

Re:Your Computer Isn't Yours by ghaff on Friday November 13, 2020 @09:18AM (#25082352)
Right. So quite a bit later than the period I'm talking about. Late 90s/2000s period is arguably when commonly-used hardware was most accessible/hackable.
Re:Your Computer Isn't Yours by swat535 on Friday November 13, 2020 @10:07PM (#25089972)
Eh, I mean the kids who are passionate about how systems work will find a way to dig deep. I don't think this is going away with lock-down systems regardless.

The only thing it will do is make it easier for the general public to work with machines and the masses never cared to begin with and to be frank that's a good thing. They are less likely to install malware and cause trouble for themselves.

Plus you're forgetting that these companies still need engineers to build and maintain their infrastructure so it's not like the knowledge is going to disappear, never mind the fact that the corporations heavily rely on OSS.

Re:Your Computer Isn't Yours by elondaits on Friday November 13, 2020 @08:51AM (#25082079)
I am a developer, I use Mac... so I don’t understand how it’s forbidden to program. Mac OS comes with Python, Ruby and PHP preinstalled, even.
Re:Your Computer Isn't Yours by rootsudo on Friday November 13, 2020 @09:36AM (#25082554)
The lockdown and controlling of distribution of software.

Great, you can write a script, it's checksum is then sent over the net and verified to not be malicious or if the service on the other side is experiencing lag..well... gotta wait, and wait.

To the point where, all choice is removed from an operating system. So much for root access.

Re:Your Computer Isn't Yours by dorinlazar on Friday November 13, 2020 @09:27AM (#25082457)
It's not about the ability to write programs, but the ability to write programs that influence your base system in a meaningful way. Yes, you can write programs, but can you write a different /bin/init for your system? I'm not sure you can (either because Apple will not let you, or your lack of ability to do things like setting up a system to be used). Maybe you can, we're wrong about this, and more power to you. But it's quite likely that you can't.
Re:Your Computer Isn't Yours by Nullabillity on Friday November 13, 2020 @08:02AM (#25081708)
$100 isn't cheap for a curious kid with no income, especially if they're not already sold on it as an interest.

There's a big difference between buying a computer explicitly for the purpose (even if it's cheaper), vs being able to play around with the hardware that you already have, for no new monetary investment at all.

Re:Your Computer Isn't Yours by greyhair on Friday November 13, 2020 @03:59PM (#25087416)
But computing tools are cheaper now than they have been in ages.

You can buy an Atmel dip version of the chip in an arduino really cheap, and build basically what is an arduino on a breadboard. Then get a USB programming adapter (again, cheap) to get it running.

Then you can get in expensive USB logic analyzers that are plenty capable of monitoring I2C and SPI buses and learn how all that works.

None of that existed in the 1990s. It simply wasn't there.

The the price and the availability of tools is so much better today. You don't even need to buy any books, it is all online, with community members jumping in all the time to help.

Re:Your Computer Isn't Yours by mensetmanusman on Friday November 13, 2020 @09:52AM (#25082779)
Get involved in the local community board. Present to the library council that this is a good investment for education. Purchase 20, lead a community class to teach the next generation of students.
Re:Your Computer Isn't Yours by ben_w on Friday November 13, 2020 @08:42AM (#25082010)
If a kid with a phone but no money wants to know if programming is something they might like to study, and somehow the school also can’t afford a Pi, I’d point the kid at something like https://js.do/
Re:Your Computer Isn't Yours by AnthonyMouse on Friday November 13, 2020 @09:30AM (#25082494)
The problem is that's not really how people get started. Hello world is how you get started in a university intro course, not in your parents' basement.

What happens there is that you have a pile of photos that are all in one folder and you want to organize them into separate folders by date. A problem you're actually having, not a homework assignment. Which is possible to do automatically, because they all have metadata with that information in it. So you find a python script somebody wrote to do that, and it works! Then you realize the script is just a text file and you can modify it to sort using geotags or something else instead, and now you're down the rabbit hole. But only if it's easy to see and modify the code that runs on the device you actually use.

Re:Your Computer Isn't Yours by ben_w on Friday November 13, 2020 @11:10AM (#25083698)
Not everyone learns the same way or for the same reasons.

For example, I learned to read at the same time I learn to code, and from the same source — I had the unusual combination of not just the right birth year, but well-off parents and two elder siblings that had gotten bored of their Commodore 64 just as I was reaching reading age.

Back then my coding was, naturally, 95% transcribing from the manual, but it was fun. One of the few ones I can remember reasonably well this far removed from the experience was a sentence generator that had a list of nouns, verbs, etc and picked from them to build grammatically correct gibberish.

Re:Your Computer Isn't Yours by bitwize on Friday November 13, 2020 @11:33AM (#25083975)
Hello world is how a lot of us started in C with the K&R book, wherever we were. Most of us didn't want to organize photo folders, we wanted to make the computer display something cool or play a song or something, and usually we had to start with something elementary when tackling a new language, especially a complicated one like C.

I can still remember being 11 years old and meticulously keying in the hello world program on my dad's aging Tandy Model 16, then saying 'cc hello.c' and watching as the compiler chugged through the tiny program for a minute or two. (It #includes stdio.h, so there was more code to go through than it seemed, plus there was a linking step. And not much actually happened, because Unix C compilers are silent if there are no errors.)

When I ran a.out and saw "hello world" appear, I was over the moon. It was like clearing 1-1 in Super Mario Bros. for the first time. Like I had surmounted the first obstacle and was thus ready for all the challenges that lay ahead.

Re:Your Computer Isn't Yours by imtringued on Friday November 13, 2020 @09:40AM (#25082618)
I don't know why a raspberry pi is supposed to be a good device to learn programming other than the fact that it forces you to use Linux. Do kids really ssh into their raspberry pi from their phones? Or do they really buy an expensive screen, expensive cases and expensive peripherals adding up to $200?

I also doubt that raspberry pis are actually the type of device that schools are interested in. What they'd want is the TI-84 equivalent of a laptop. It should be easy to reset the laptop to factory conditions and it would only run a few specific preinstalled programs (one of which would be a barebones IDE, probably for Java). To me it feels like the raspberry pi fails at all of these. You have to mess with hardware and then mess with the software. A school provided Chromebook with student accounts managed by the school would be way more practical.

However, if you actually want people to learn programming organically, it's much simpler to just get a Windows laptop and use that as the main device.

Re:Your Computer Isn't Yours by mikepurvis on Friday November 13, 2020 @10:00AM (#25082917)
I too have doubts about the real-world suitability of the Raspberry Pi in formal education environments, but certainly the business of resetting it _is_ a solved problem; every kid is issued their own SD card, and can flash it back to the starting image whenever they want.
Re:Your Computer Isn't Yours by greyhair on Friday November 13, 2020 @04:06PM (#25087498)
It all depends on what you want to learn.

On a RPi, with a standard laptop on the side (Windows/Mac/Linux, doesn't matter), and some basic installed tools, you can pull down and configure Alpine Linux and run a bare bones IoT Linux platform. If you want to get really gritty, you also configure and build U-Boot as a primary loader.

Once you get passed that point, you pull docker into your Alpine build and start running containers.

Stepping through that full process will teach you research (because you are going to be reading a lot about how to pull that off), it will teach you about Linux kernel configuration. It will teach you to be at least comfortable with git.

There is a lot you can learn on a Raspberry Pi, cheaply, that only involves plugging in an ethernet port and power supply, and never seeing anything on a terminal.

Re:Your Computer Isn't Yours by wott on Friday November 13, 2020 @09:02AM (#25082184)
> The computers are not just getting cheaper, educative material is easier than ever to find. [...]

Being accessible and being accessed are two different things.

I'll make a more general parallel.

Never in history was such an enormous amount of audiovisual media about the decades preceding the birth of their generation ever produced, during those decades of later. And this astonishing amount of written documents, audio, films, both fiction and non-fiction, live takes, documentaries, is readily available: often immediately, often gratis.

And yet this generation is disconnected from the previous ones in an unprecedented manner. And yet this generation seems to be the most ignorant about how stuff was just a couple decades before them. I've never seen such a break in the flow. The material is present but not reached or understood.

Re:Your Computer Isn't Yours by justforyou on Friday November 13, 2020 @08:50AM (#25082076)
The Rasberry PI is not open hardware, and is actually part of the problem, not the solution.
Re:Your Computer Isn't Yours by rmoriz on Friday November 13, 2020 @09:49AM (#25082743)
Yes and no. At least it created a modest tinkering culture while the mainstream went with smart phones. I wonder if RISC-V will help us getting over ARM* or if RISC-V SoC vendors will try to create their own walled garden, proprietary interfaces and GPUs/codec support.

* = The issues with the Raspberry PI are both with Broadcom's closed source hardware (there are other tinkering boards with more open hardware) and of course with the license model of ARM.

Re:Your Computer Isn't Yours by greyhair on Friday November 13, 2020 @04:23PM (#25087681)
I agree there are other 'tinkering' boards with more open hardware, but the Pi has the advantage of a huge community of very nice supporters. Maybe even as nice as the community over on arduino. The biggest problem with Broadcom on the Pi is the videocore block, and if you never run the video (using it for IoT), you avoid the biggest black hole on the device.

As far as the ARM license goes, very few people are ever going to spin their own hardware, and at least the ARM programming API/ISA is very well documented. We'll see if that continues under NVidia.

Certainly MOS, ST, National, Zilog, Motorola, INtel, IBM, Dec, (etc etc) CPU were always closed source. That did not prevent anyone from learning about computer systems and programming then, and it won't stop them now.

That said, I doubt Apple will ever make the M1 available for purchase. Which is where this thread started.

Re:Your Computer Isn't Yours by justforyou on Saturday November 14, 2020 @11:54AM (#25093512)
>> The biggest problem with Broadcom on the Pi is the videocore block, and if you never run the video (using it for IoT), you avoid the biggest black hole on the device.

Avoiding the black hole does not solve the part of the problem where you are financally supporting closed hardware and disincentivising the Rasberry PI foundation fron doing the right thing.

Re:Your Computer Isn't Yours by Kye on Friday November 13, 2020 @09:28AM (#25082472)
This is the same problem we had with TiVo: you could get the operating system, tinker with it, and run it. Just not on your TiVo. What good is having the source if you can only run it on toy hardware? You need to be able to alter the code on the tools you use so you aren't beholden to a company that drops warranty and support within 5 years and may never fix the problems you have even while it's supported.
Re:Your Computer Isn't Yours by greyhair on Friday November 13, 2020 @03:38PM (#25087180)
I just made the C64 <-> Pi 400 comparison to someone last week. It is completely analogous.

Pair that up with an arduino, and maybe wiring, and you can a have hardware interaction with a Linux desktop on the 400.

I just helped a young arduino user with reading an analog pot yesterday. There are still young people out there playing with hardware, and it is way easier today than it was for me in 1984.

Then go over and look at the people configuring and compiling custom versions of Marlin for their 3D printers.

Or the nerds designing flight computers for solid fuel model rockets.

Re:Your Computer Isn't Yours by mensetmanusman on Friday November 13, 2020 @09:51AM (#25082767)
Wouldn’t it be great if you could route the mac’s internet through the raspberry keyboard, strip the surveillance automatically, and continue to use the internet like normal?
Re:Your Computer Isn't Yours by michael-ax on Friday November 13, 2020 @07:09AM (#25081400)
So you see the non-free-and-open Raspberry Pi as a real development environment. That's nice.