Seeing these apps have millions of downloads, we're definitely not alone and I have seen many indian and other south asian friends do the same.
My personal setup includes a 2$ stand and A samsung J7 phone paired with a keyboard over OTG cable. Since I have been doing this for few years I have a pretty complex setup of termux, a student credit powered VM from Azure, emacs. I have managed to develop python cli apps, jupyter notebooks, even flutter development using some port forwarding hacks.
Sadly, with how things are with the courier and customs dep. here they can charge 30-40% of orignal price to receive electronic items
Fortunately, I have managed to get few python freelance gigs here and there and in a few months, I may be able to afford one.
Thank you for considering the struggles of others while you yourself face it. I know a self made individual from Nepal like you in U.S. working in IT with green card and might be able to guide you. Contact me if you're looking for such help.
It's hard to visualize the digital divide in education induced due to the pandemic by someone who has easy access to compute, Internet and uninterrupted power supply.
[Trigger warning: Suicides]
Even middle class families in India spend more than 40% of their earnings on their children's education, So when the pandemic made education online, E-education startups with questionable practices became unicorns, their founders billionaires while children from marginalized, underrepresented communities quit their education forever in-favor of labor work.
There were numerous cases of children committing suicides because they couldn't afford a phone or because they broke the only phone shared with their siblings for education.
The hardware problem is not just because of accessibility, But also because of the lack of repairability. Many people came forward to donate their old phones, But it was often useless. Perhaps if OLPC had been successful things might have turned out differently, Maybe there's still a chance to build a OLPC using latest hardware like RPi 400. Then we need to solve the networking, Perhaps improving upon LoRAWAN could enable real time text messaging; I've been tracking this problem[1] on my platform since the start of the pandemic.
[1] https://needgap.com/problems/149-remote-education-for-underp...
At India scale they could design their own machines. Something like a ThinkPad X60 where the motherboard can attach a RPI Compute Module.
You should consider reaching out to the Raspberry Pi Foundation and explaining the situation. It is a registered charity and may have a program for distributing kits (and covering the associated costs) to areas or individuals who do not have easy access to hardware.
I don't know if you might find it interesting but I made an open source coding tool and framework for Android that is pretty fun and fast to use. You can code using the phone or a computer using a remote editor throught Wifi (no internet required).
It comes with lots of examples and remixing them is quite fun to get quick and nice results.
It's called PHONK https://phonk.app
Chrome on Android also has DevTools internally (through chrome://inspect when you connect a debuggable android to a laptop). I don't know whether that's possible to expose or not on the phone, but would be very helpful.
VSCode/Monaco should also be "runnable" as they're running on JS / V8. That will open a lot of extensibility.
I have tried jupyternotebooks, vscode on browser but the small screen is the real blocker and you can barely see the editing field.
I use termux for everything now, for websites I just open a localhost port and see it in my browser or do live reload in spare phone. Video and images are also redirected by the termux to respective apps.
If you are looking for Python freelance gigs then please ping me through email in my profile.
Services like Azure and GitHub make it easy to get started, and combined with great documentation like MDN and Q&A on StackOverflow, so much more information and opportunity is available.
I remember struggling to learn QBASIC as a kid in the '90s without any resources (I didn't have internet). My programs were 20 times the length they could have been if only I'd been able to learn a few basic data structures.
And then there’s the problem of money transfer. I’m guessing moving money through paypal/bitcoin/etc. doesn’t work?
The device doesn't matter, the user behavior and education does.
If you are asking about azure VM i have a ubuntu 20.04 image setup.
I grew up in eastern Europe in the communist era, in a country where entire factories were run using Commodore 64 computers that were smuggled in, bypassing export controls and sanctions.
The programmer at one such factory was a friend of my father, and we'd go over to his place for dinner semi-regularly. He didn't have kids, and I was six, so I was bored to tears. No toys and nobody my age to play with!
He did have a C64, which was the only other one in town apart from the one at the factory. He was using it to practice programming after-hours at home. There were no games on it, but he did have a book of games.
As in: a literal printed book of the source code for several simple games. That you were supposed to type in to be able to play!
So I did. I had nothing else to do, so I whiled away the hours while the adults chatted poking away at the keyboard, typing in the BASIC code of the shortest, simplest game first.
It didn't work at first. There were some errors. With help, I fixed the typos, and hey presto, the game worked! I still remember the elation, the feeling of accomplishment after all that work. I didn't even play the game for more than a minute or so, I immediately got to work on entering the next, longer game's code. I was hooked.
Eventually I tried all three or four of the games in the book, and got bored. However, I was allowed to borrow the BASIC introductory problem set book, which I took back home with me to study. I solved the problems one at a time on grid paper (to match the fixed-width screen layout). I "ran" the programs in my head, debugged them by working out the variable values step by step on paper, and then tested my solutions on the real C64 computer whenever my parents went over for a social dinner. Most of my programs worked, and ran at ludicrous speed compared to the glacial pen & paper solutions I had worked out. I instantly understood that Computers were levers for the mind. Learning to control that raw power was intoxicating.
We fled across the iron curtain as political refugees, and I took that textbook with me. I had no access to computers for nearly a year, but when we finally got settled permanently in the West my dad bought a used C64 at a garage sale for a few dollars. This was a computer that back in my homeland would be the carefully guarded control hub of a factory. Here it was a discarded plaything. Even at that age, that blew my mind.
I learned more programming languages in quick succession. Pascal at the age of 11, C and Assembly at 12, C++ at 13. I had written 3D engines by the time I went to University.
Statistically, if you know programming, you probably learned it in a tertiary education setting, most likely in your late teens or early twenties. Just like learning a foreign language at that age, you'll never be perfectly fluent. You'll always have an accent, no matter what you do.
To me, programming is my mother tongue. I'm perfectly fluent and unaccented. You probably can't even tell, you can't hear the difference.
Programming for you is something you do at work.
I've had dreams in C++
I appreciate your story, but this comment bothered me, because it's something people repeat a lot and it's actually not true. There's no good evidence that adults have more difficulty acquiring language than children. There were some older studies that claimed to show such, but as has become all too familiar these days, their methods were spurious and there have been some replication issues.
I work for a company whose entire purpose for the last 35 years has been making fluent speakers of adults. We do it. We do it regularly. Our students are diplomats and military personnel. They don't really get a choice of whether they study a particular language. It's their job and they have to do it.
The reason adults fail to gain fluency in foreign language is because they don't do the work. They choose to do other things. There is no fundamental limit on the language acquisition abilities of adults, if they just stop bitching about homework and put the effort in.
And I firmly believe the same is true about programming. I didn't start programming until I was 16. I didn't even have a computer until I was 15. I'm almost 40 years old now and I'm the head software engineer for my company. The people I see who struggle with programming who have been at it for years, they're the ones who have approached their entire career under the attitude of "I am not very good at this, I need to find easy, quick fixes for things". Rather than putting the effort in to learn, they cheap out and never grow.
It may feel like growth is not a linear function of effort all the time. Sometimes you feel like you're banging your head against a wall, not understanding things, and not progressing. That's mostly just feeling. I've had it several times myself and have been surprised to find, coming back to a topic several months later, that the topic much easier to understand on the 2nd go. Even when we subjectively feel like we aren't learning and aren't progressing, we still actually are.
This kind of rocked me, because in my experience, kids have a clear and obvious advantage compared to adults. They can completely passively acquire a language, phonology and grammar, with no training, in a matter of 5 years or so. And that's completely passively, no education, no effort.
I totally buy that you can turn an adult into a fluent speaker. And I get that it's good for your business to show adults that it's not impossible. But it's like a million times easier for kids, isn't it?
According to a 2018 paper [1], the ability to acquire new languages declines steeply after age 17.
[1] Hartshorne, Joshua K., Joshua B. Tenenbaum and Steven Pinker. 2018. A critical period for second language acquisition: evidence from 2/3 million English speakers. Cognition 177:263-277. https://l3atbc-public.s3.amazonaws.com/pub_pdfs/JK_Hartshorn...
Typed in game listings, I remember those well! There were magazines devoted to these for the Vic 20 / C64, with pages and pages of source code to type in.
(We were absolutely glued to them.)
I recall having the C64 basic manual for quite some time before being able to afford the actual C64, selling my Vic20 in the process and doing a summer job as a teen to afford. I stayed up at night reading it from cover to cover in anticipation. Not nearly as impressive as your story (I grew up in the safety of Norway, and you were picking up the languages way, way faster!), but it hints at a passion for computers we were both yearning for!
(I got into assembly on the Amiga but never C++, sadly)
That's an incredible story! I can't help but think about all the wasted talent for those who couldn't escape. Truly communism held eastern Europe decades back.
Giving a RPi to a family without resources in India is a force multiplier. They typically have a small television set and letting them access a proper computer vitalizes learning for the children of that household.
I only have anecdotal evidence of this though, from when I handed an RPi I wasn't using to my housekeeper's daughter and also got her a 3g dongle with a cheap data plan for her to connect to the internet. It got handed down from her to her brothers as well.
There are some other ARM SBCs listed here, but I'm not familiar with them enough to know whether they're good substitutes. (Hopefully the "Banana Pi" is?)
https://en.wikipedia.org/wiki/List_of_open-source_computing_...
IMO a better device will be a laptop ~ 80 USD with an ARM processor and basic specs - especially a good in-built speaker.
In some sense, I think doing it that way might even be easier. Constraints release creativity, and being able to read a single user's manual (however thick) and technically know everything you need to know is powerful.
It’s easier to program a TI-89 calculator than an iPhone. Why can’t this be better?
There's a super market chain here (Carrefour) that sells eletronics. They usually would hold a sales when something is wrong (a product is about to expire or an electronic presents mal functioning). My notebook in question fell into this category, it presents a small defect. The defect?! The Windows pre installed in the machine wouldn't activate online (some problem with the key).
So I got the notebook extra cheap, activated it by phone (since I could not activate it by software), saved the key, remove windows, installed linux (which doubled the speed of the machine, of course) and went my merry way into college.
I don't know the rest of the world, but a smartphone in Brazil can be compared in price to a notebook (a not very good one). The second advice from this story is Linux can give new life to old machines, try it.
It's almost time to move their win7 machine to ubuntu
My father had a couple of books that were written by Lynda Weinman, one about HTML and one about graphics for the web. I read those books, and with pen and paper I would some write some rudimentary HTML.
A couple of years later I finally got a computer of my own and started typing out HTML in Notepad and getting to see the result in Internet Explorer.
This was part of the early beginning of my fascination with computers.
Today I am a software developer, writing applications on macOS, iOS, FreeBSD and Linux :)
Also, TIL you can buy screen magnifiers for under $20. e.g. https://www.amazon.com/s?k=screen+magnifier
I've had Asus and Lenovo laptops that fit this bill pretty well, and the Lenovo was even close to being cheap enough to be practical (~$150) (the Asus was more like $250, but it was also a 1080p 14" with a 9+-hour battery). Of the stuff I can easily find available online right now, a Kano would fit the bill pretty well (you can find them on sale for also ~$150), as would the low end Lenovo IdeaPads. I like those a bit better than the Kano as they have a sturdier build and include a webcam
...Found the newer version of that Asus - this baby is a beaut - https://www.microcenter.com/product/633069/asus-l410ma-ps04-...
You can have Node running via termux, albeit with some limitations, e.g. no global modules.
Of course debugging isn't really possible, so you'll have rely on your engineering prowess.
I wanted to create a similar setup for Rust, but unfortunately compiling the compiler from source to work on Android was way above my skills (provided it was even possible to begin with).
I know a chap who, for a while, had spotty access to a PC except for the locked down one he had at work in his (non-programming) job. He passed the long hours making tiny JavaScript hacks in the URL bar.
We would study BASIC from manuals and other books, and pour over program listings in magazines. Then we would write out programs on paper, and "interpret" them in our heads to see if they worked correctly.
Some home computers like the Timex / Sinclair were relatively inexpensive ($100 USD in 1981, $330 in today's dollars), they weren't cheap even then, and that was the very lowest-end device possible (4Kbytes RAM, no storage whatsoever). An Apple II with a floppy drive and montior would run into the thousands of dollars back then.
People all complain that the hardware is too closed these days, but I get emotional when I see kids having access to such inexpensive hardware. Amazing times.
Nowhere near as good as the real thing, but I remember loving it nonetheless.
How much would a ruggedized laptop cost to make now? I know there's some RPI kits out there but they seem pretty pricey for what you get; I suspect the biggest expense is the screen, so that's an area that could be improved on. Surely there's older screen tech that can be produced at ridiculous scale nowadays? 1024x800 is enough for the basics. If that can run on a 5w USB charger that would be ideal, it could run off solar panels and cheap powerbanks then.
Anyway, if that's there then the tech companies who want to deduct some taxes can order millions and distribute them to the countries where people could benefit from them.
Kudos to him. If he was able to do that, then development shouldn't put up much barriers anymore.
I would totally buy him a decent PC though.
Apple doesn't advertise much outside the United States, and given Android is significantly more developer friendly, there isn't a reason for a student to learn on iOS.
You can even use the phone screen as a touchpad.
Samsung DeX is very underrated.
Being the cinyc that I am, I assumed the worst: you are trying to sell me a junk solution to a problem I don't have, lady.
Looking at stories like this, I realize I have no vision and understand a lot less about the world than my ego has been telling me
One charity was based in the Mullithivu region[1] which is an impoverished rural region in Sri Lanka. The kids there don't neccessarilly have access to the internet or computers at home, so with COVID are left behind as the schools move towards some form of digital teaching.
I thought it was interesting that one of the most effective solutions for this that the charity found was to purchase USB keys loaded with digital curriculums. Apparently while the homes don't have computers, almost all have Smart TVs (to access tamil language programming?) and thus the kids could follow along with school as long as they had their USB keys. The director of the charity also mentioned they were also trying to get the curriculum through phones (he mentioned Viber explicitly, but I'm not sure why it needed to be limited to that), which was another device all families had access to.
We ended up purchasing USB keys for an entire school ($5 each) and money to fund digital content creation. I wonder if there would be a big impact on education in these areas if someone could work out the UX/UI/ergonomics of teaching through mobile phone. Or whether it's just a better idea to fund a infrastructure (school computer labs). The advantage of the former, I suppose, is one could just do it and see if it has an effect.
I was particularly impressed/interested in this non-profit that acts as a coding school and accelerator: http://www.yarlithub.org/
It can either boot up a command-line, or a complete desktop interface. Both are available entirely over the Web (and thus a smartphone). All you need is a free GitHub account. Both are also available over Tor in case you're in a situation where things might be blocked.
https://github.com/jstrieb/ctf-collab
I originally built this for doing competitive hacking challenges with a friend, but I have also used it at libraries, and from my phone. In general, it is great for when you need a desktop but don't have one, or for when you can't install things on the computer you're using.
Hopefully this helps others who need access to such resources for learning!
Talent, can come from anywhere.
https://github.com/shivamsuyal/Android-Keylogger
side note, he just completed his 12th class (us equivalent of high school) and is looking to research more in cybersec.
link: https://g1.globo.com/economia/tecnologia/noticia/2021/03/09/...
People adapt to what they have.
"Developing ON (not for) a Nokia Feature Phone with Elvis Chidera"
https://podtail.com/podcast/hanselminutes/developing-on-not-...
Fascinating read: https://entrepreneurship.mit.edu/news/went-programming-featu...
I otherwise love the iPhone.
I either programmed on the phone or I went to local library
Though Google is slowly killing apps like termux.
Only a fool would not take such an option only because people in other countries can grt PCs and hook them to their fiber services.
Compared to learning on a Commodore 64s with no internet its easy mode.
The original source post is here: https://www.linkedin.com/posts/shubham-sharma-34bbab18b_webd...