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...
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++
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.
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/...
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?
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.
That's cool to know that you can run localhost and expose the port to another phone.
Thanks for sharing. Wishing you the best on your journey!
Speak for yourself. You know nothing my access to computers, which was not the privileged ‘western’ fantasy you imagine.
I was thinking about what it would be like to have a smartphone to learn on, and for someone who grew up without easy access to computers until later I think it would be amazing.
> Use your brain.
Hmmm…
It's kinda crazy that Termux on my phone runs smoother than any terminal on my laptop. (TBF it does have more RAM and faster storage!)
I know this was a typo, but it feels like an unintentional portmanteau of "garbage" and "garage" which seems to fit particularly well. I hope you don't go back to edit this!
Also: Borrowing!
Gar(b)age tech.
Or GARbAGE tech.
Or garBage tech.
Recent specs were LENOVO E41-25 (81FS) with AMD A4 and 4GB memory. There are rumors that there will be an upgrade this year with HP manufacturing the laptop as Lenovo is barred from Govt. contracts in India.
It's to be noted that the said state has also made all educational content for schools distributed over free-to-air channels.
So a modular computer based out of RPi which can receive TV/Radio can technically cost lesser than the aforementioned full-fledged laptop. I've been brainstorming such a device with others on the thread mentioned on my parent comment.
I think Google is subsidizing entry level Chromebooks.
Of course usefulness of ChromeOS itself or the privacy implications is debatable and sadly full UEFI firmware replacement for this particular device isn't possible but there are lots of other chromebooks where we can run Linux/Windows or to some extent even macOS like regular PC.
But in my experience[1] browsing experience on an entry level Chromebook is miles ahead of any ARM based SBC mainly due to hardware acceleration mess.
[1] https://abishekmuthian.com/reviewing-the-chromebook-google-s...
I'm also against medical cartels too.
I don't like Samsung or Nintendo for the same reasons I don't like Apple.
Any specific questions?
Too many companies trying to lock you into eco-systems, new frameworks springing up and becoming obsolete too fast. Do I need github or is gitlab better? Flask? Flutter? Django? Blockchain? Machine learning? To a beginner this is all a swirling mess and leads to being overwhelmed and paralyzed.
There was just a handful of integrations like that, and the rest was up to you. The world was less interconnected, there were no REST APIs or gigantic browser/OS API surfaces.
I asked for a Borland C book and compiler, which my parents gave me for my 15th birthday (I think)... I tried to read it but I couldn't understand it.
I also used to carry around and read the "Practical C++ programming book", trying and failing to grok it... what I didn't understand (and what I didn't hear anywhere) was that trying small examples is the only way to really get started in a new programming language.
As a high schooler, the only languages I made progress in were the super-approachable ones -- like TI-basic and QBASIC.
The modern internet would have made it all so much easier :-)
That’s exactly the point - for someone who is enthusiastic, the resources a phone provides are vast.
When I was learning, not only were the computers primitive and expensive, but even access to information about them required all manner of work, travel, etc.
If you want to deliver a million Pi to the subcontinent, the real problem isn't the dollar difference between the various SBC. If you compare a Pi to a phone, you also have to bring ..
- Power; not just the obvious, but also that the onboard battery on a phone brings a high tolerance for supply issues.
- Screen; preferably enough of a screen to make the outlay worth it. If you just put a phone screen on a pi, what did you really gain?
- Connectivity; particularly the last mile where the phone has near-infinite flexibility.
Of course none of these are remotely difficult (although connectivity can be difficult remotely), but they're all BOM cost that end up making the SBC one of the least interesting parts to solve. For most the Pi-based laptops & Tablets I've seen, the Pi itself is ballpark 10% of the overall cost.
I think if I was going to attempt this (and to be clear, I use that phrase entirely in the 'armchair quarterback' scope), I'd be trying to create a terminal that's essentially a phone dock - because this isn't going to be an either/or purchase, no-one's going to give up their phone to get this terminal instead. So instead of using all your BOM trying to recreate what they already have, concentrate on what they're missing.
That said, I haven't looked at how many tools work all the way back to much older versions of Android.
Their advantage is that they have almost unlimited time.
Consider how long it takes for a child to speak their first word and, then, to actually speak in well-formed sentences: Several months, even years, of complete immersion and 24/7 exposure to native speakers.
Now compare this to an adult attending a language class for the first time. Chances are, by the end of that class, they will be able to say their first words or even sentences, will understand these words' & sentences' meaning and in which contexts to apply them. Adults are orders of magnitude faster at learning new languages because they already know most of the concepts a new language's words and grammatical structures can refer to. (We all inhabit the same planet, after all.)
The only problem is: Learning all the intricacies of a language, of its grammar and vocabulary, of its melody and accent takes time and lots of continued exposure to native speakers. Adults usually don't (want to) spend that time – whether that's a conscious decision or an unconscious one.
Also, it is very not true that children do not need lessons to learn language. If anything, children receive MASSIVE amounts of explicit language training that we would never think to apply to adults. Children have songs about the alphabet and numbers. We play games with them about colors and shapes. Before the age of about 5, almost all of their toys are fundamentally designed around learning components of language. All of the books that we read them are about.
Both my 3-yr old and my 5-yr-old make what I find to be a hilariously cute error in speaking. Things that belong to them, they say are "Mines". I thought about it, and their way is more consistent. You say that toy is yours, hers, his, theirs, ours. It's only in the 1st person that we drop the -s sound at the end.
When do children gain fluency? How do we even define fluency? In the language training industry, we have the International Language Roundtable Scale (https://en.wikipedia.org/wiki/ILR_scale). The ILR Scale ranges from 0 for a raw beginner to 5 for "educated, native speaker", with people typically appending "+" to a level to blend in between levels a little. Based on the ILR scale, my 5-yr-old is a 2 and my 3-yr-old is a 1. I know full-grown adults, born and raised in America, who would probably only rate a 3+.
Children do not learn fluency without massive effort on both their and everyone else around thems behalf. And then adults complain about having to do 5 hours of homework every week and whine about not gaining fluency in Mandarin. "It's just easier for children". Yes, in a round about way, it is easier, but those reasons are purely social. Given that some adults do demonstrate the capacity to achieve fluency, yet are not living anywhere near a completely, 100% immersed life like a child does, there is clearly some natural advantage that adults have that makes up for the lack of nurture.
> children never have accents, and adult non-native speakers do
This mainly due to two things:
1. Language learners usually try to map the sounds they already know (from their own mother tongue) to the new language's sounds. In fact, there are studies that suggest that, depending on their mother tongue, language learners will not even notice certain differences between sounds in the target language and their native language. (Consider how Japanese people tend to have issues distinguishing the letters R and L, or how both English and Spanish native speakers usually cannot pronounce the French/German "r" properly because that sound doesn't exist in their native language.)
This is not at all set in stone, though, because it only takes a handful of weeks of focused practice to reset your ears (and your tongue) and tune them to a new language's sounds – preferably before you learn any of the vocabulary or grammar of that language.[0] Also, the greater the spectrum of sounds you already know (the more languages you speak), the easier it will be for you to learn a new language's accent as your brain will be already attuned to listening closely to tiny differences in sound and speech melody.
Once again, consider that a child has years to learn the sounds and all these nuances.
2. Habits. Language classes almost never focus on pronunciation and speech melody in the beginning. From my POV this is a huge mistake as it means that language learners attending such classes will sooner or later get into the habit of pronouncing words of the new language using their native language sounds. That is, when they see (or think of) a word in their new language, they will no longer pause to think about how to pronounce it – they will just do it. Unfortunately, at this point it's pretty much game over as it will take a lot of work to change these habits. Then again, a lot of people also don't really care that much about having an accent.
> Another is that children do not need lessons to learn a language, and adults always do.
This is not true and I know a few people who have gone the full-immersion-zero-lesson route. It is incredibly hard, though, given the time constraints you usually have (usually a few months to a year) and you will usually progress only very slowly. Again, just consider how much time it takes a kid to learn a language by just observing and mimicking others! For adults, lessons are simply a much faster way to get started and become somewhat proficient in a language. Also, once they've taken a few lessons, they will be orders of magnitude faster at learning the rest of the language.
[0]: For an introduction to this approach of learning a language, I can recommend Gabriel Wyner's book "Fluent Forever" and, also, his pronunciation trainers and his YouTube videos on the International Phonetic Alphabet (IPA). They got me from speaking absolutely zero Spanish to being asked whether I'm a native speaker in about two months of living in Colombia. …which doesn't mean I was speaking perfect Spanish at all – but it sounded like I was! In fact, on various other occations, people told me that they could tell precisely which city I had learned Spanish in because I had become so attuned to the accent people speak there.
If anything, adults have an advantage that they have settled down a bit and can study effectively on their own, instead of just passive and forced learning.
Of course, they still have all the temptation to just screw around, too. And if you're not actually locked to that new language, the old language is incredibly tempting.
Wouldn't anybody master a language in 5 years? I'm assuming you're talking about a situation where you are immersed in the language.
I did have some lucky breaks, like going to local small town art school to study "computer graphics" as a pre-teen with a 20-year old tech student who would just casually explain to us anything from alpha blending to linear algebra. Said student later went on to design GPUs for Bitboys, ATI and AMD.
The good thing is i can use external keyboard and mouse. And screen was somewhat okay. The only issue was battery as I keyboard + mouse drains battery a lot.
It's the most "alien" experience I've ever had.
Sounds like it was an abstract-declarative sort of narrative - header files are generally references that prospectively describe and model things.
I'm curious if the code was valid. (Hmm, and if the numbers were all fuzzy... people sometimes say they can't read clocks or digits.)
A bilingual friend once shared that they sometimes forgot which language they'd heard something in, their brain could subconsciously translate back and forth with so little effort. This sounds kind of like that.
Hmmmm... programming languages are unique in that they're generally never sounded-out to the same extent as wetware languages, eg in how commas and periods turn into pitch changes and pauses. Human(-to-human) language does have a visual/written component, but it's maybe... hm, 50/50 sounds potentially wrong, but it is sorta half-half; audio serialization is generally awkwardly bolted on to the side with programming, which is generally always visual, and has strong correlation (or even fundamental integration) to control and problem solving.
To integrate all that very young may have perhaps slightly remapped things around such that that language processing developed strong cohesive lock-step with visual/spatial reasoning, with sufficient cohesion that the integration retained structural integrity even when the logical/rational/etc parts of the brain shut down when asleep.
It was a bit like that: no audio! It was the structure and form of the API of a pair of associated classes shifting around fluidly. Very abstract, and not at all like human speech. But it was definitely my thoughts. As in, the code was my stream of consciousness, not a product of it.
This is just false. Have a look at Pythonista or one of the numerous JavaScript idea. Hell, there’s even an ocaml environment on iPhone.
It could be a lot better, I agree, but it’s already vastly superior to a ti calculator.
When it comes to programming, almost every way. Try getting a job if you only know how to program a TI-84. Now compare that with knowing python or JavaScript.
> It’s far easier to write a minimal program on a TI calculator like the TI89.
Yes, and far harder to write anything but a minimal program. Completely impossible to write anything in a commercially used language.
> No App Store account or Internet required.
So what? These are widely available.
> It’s included in every calculator for free, with function integration into the hard (ie easier to be precise while typing) keyboard.
So what? You can’t write anything resembling a modern program. This is a way in which the calculator is incapable of serving as a general purpose computer, not an advantage.
I’m not against calculators. I learned to program on my father’s TI, long before I had access to computers. I still like keystroke programming an HP-15C for repetitive calculations today. But there is no way that is better than Pythonista or the ilk for programming in general.
You don't understand my youthful obsession with computers? Or you don't understand that my family couldn't afford a C64 when they first came out?
I hopefully don't have to explain the 2nd reason to you.
As for the first, I don't quite know how to explain that. As I learned of what computers where, and how they worked, it just overtook my ambitions in life. Being a firefighter or astronaut could just not compare to being able to command a machine to perform complex tasks at my bidding. I wanted to work on robots, I wanted to make an AI that could converse with me, I wanted to explore strange new worlds, and more.
How did you learn what computers were? Did you see it on a TV show about computers?
We eventually got a PC at home later on, but I already loved working out programming logic. With the PC, I also remember one time writing up some assembly in the library at school with pen and paper and eventually typing it in when I got home.
So I had a copied manual at home, and a couple of magazines with listings, and I would write my programs in basic on paper, and emulate them in my head, to verify they work. Then when I had access to the computer at the school I would use that time to type in the program and really run it.
Thankfully my parents were able to buy for my own Spectrum clone after a while (when they become cheaper/more affordable, because the PCs finally were being imported, so a lot of local companies would move from their Spectrums to PCs) and then I could spend innumerable hours building simple move-the-cursors games directly on the hardware.
1. https://news.ycombinator.com/item?id=15607791
Another commenter in this post
You're approaching this as if the comment was an opinion about the feasibility of doing commercial software development instead of what it was, which is a statement about HCI and the "implicit step zero" of software creation on today's commodity computing devices. Another way to put it is that this is a discussion about friction, and the original comment was specifically an observation about static friction, and you're talking about kinetic friction—while also insisting that the original comment is wrong because you want the subject to be the latter and not the former. It's a weird, overly hostile, and uncharitable way to interpret the other person's words.
The original comment as it stands is fine. Don't expect to be able to interpret it on different terms than the way it was meant to be understood.
And: “It’s easier to program a TI-89 calculator than an iPhone.”
> The original comment as it stands is fine. Don't expect to be able to interpret it on different terms than the way it was meant to be understood.
The comment is complete bullshit in this context.
> instead of what it was, which is a statement about HCI and the "implicit step zero" of software creation on today's commodity computing devices.
This is simply not true. The comment was a response to a thread. You have made up a context in which it makes sense out of whole cloth.
You can see the comment wasn’t meant in this narrow context because the poster defended it by saying ‘superior in what way?’, rather than by clarifying the context in which it might be valid.
I miss the days when there was an instant on programmable device. We need that again. It would be great if iPhones shipped with Swift playgrounds as a pre-installed app for example.
Swift playgrounds shipping on iPhone sounds a lot like the “I wish there was something akin to TI-Basic for smartphones. A built-in IDE with an interpreted language, with easy path to compilation.”
So does Pythonista.
But a ti-84 is not easier to program than an iPhone, except for in the trivial sense that you can skip a few taps needed to install a programming app. Other than that, the ti is strictly worse.
I agree calculators are a good way to learn a limited form of programming, however Apps definitely better. If you want to quibble over the ease of installing an app vs purchasing a calculator, that’s a sideshow to the value of learning python vs ti-84 programming.
The irony is that the biggest obstacle to the iPhone being easy to program is people saying it’s hard to program rather than saying ‘use Pythonista’ or the like.
It's not. You are ignoring the place in the thread where the comment appears.
No one has argued that learning TI Basic is more worthwhile than learning HTML, JS, and CSS (or Python) on a mobile phone. No one has argued for advising someone that they should be "getting a job if you only know how to program a TI-84". The claim is strictly that going from 0 to hello world is easier on a calculator than it is on an iPhone.
> made up a context in which it makes sense out of whole cloth
Wrong, and posting another comment trying to argue your uncharitable take won't make it correct or reasonable. Go pick a fight and declare that the pushback you encounter is "bullshit" somewhere else. This is stupid.
2. Children will learn colors and shapes just fine without explicit instruction. They do it all the time. In the pre-developed world, children didn't get taught how to speak. There were no flash cards or toys for learning numbers. They just learned by observing.
3. Letters is something else. The orthography of a language -- learning how to write it -- is a different beast from learning how to speak it. Education is necessary here. So we agree about that, for sure. No one will passively acquire how to write.
4. Children make errors in production all the time. As they learn a language they make generalizations -- generalizations that actually make sense, like "mines" -- but which are considered "wrong" by adult speakers. They'll correct themselves over time without instruction.
You might want to check out reading Steven Pinker's "The Language Instinct," it has a lot of ideas and research that might be new to you.
True. But, referring to my earlier comment[0], this is a matter of changing language learning habits for adults, not a matter of ability.
> 2. Children will learn colors and shapes just fine without explicit instruction. They do it all the time.
Define "without explicit instruction". We explicitly read our children books that put a ton of emphasis on getting the words for colors, shapes and animals across (by repeating them over and over). We repeatedly ask our children questions such as "What color is this?", "What's that animal called?". If that is not teaching, I don't know what is.
> In the pre-developed world, children didn't get taught how to speak. There were no flash cards or toys for learning numbers. They just learned by observing.
Well, they certainly must have been listening, too, and their relatives must have pronounced the words for colors in the first place or otherwise they certainly would have never learned those words. But where do you draw the line here between "passive observing/listening" and "being taught"? To me, at the end of the day, these are all just different learning techniques and I don't see anything special in the way a child's brain acquires a language compared to an adult's.
> No one will passively acquire how to write.
Funny, I actually disagree here. I remember that, back in the day, my 4-year old cousin used to copy books verbatim, letter by letter, before he could actually read or write. (Where I'm using "write" in the sense that one puts letters on paper to form words and sentences and to articulate some meaning.) By the end of this whole process, my cousin knew how to read and write perfectly. And by that I mean: He was an absolute grammar nazi by the age of 6. Later, he would then go on to read dictionaries in foreign languages aloud, page by page, for hours while we were on vacation – just to annoy me. Today he speaks four languages absolutely fluently and he's at least somewhat proficient in another two.
Anyway, I'm sure my cousin once had to ask my aunt about the pronunciation of individual letters of the alphabet – to map them to the sounds he already knew – and probably also about words whose spelling differed a lot from their pronunciation. But if what he did is not "passively [acquiring] how to write" (and read), I don't know what is.
Then again, he put in massive amounts of time to accomplish what he might have learned much faster in elementary school.
> 4. Children make errors in production all the time. As they learn a language they make generalizations -- generalizations that actually make sense, like "mines" -- but which are considered "wrong" by adult speakers. They'll correct themselves over time without instruction.
Sure, as will adults. It's just that correcting them (whether a child or an adult) leads to much faster results and stops mistakes from becoming ingrained in their mind. Once again, it's a technique speeding up the learning process. (Which is why it's so helpful to have a native speaker correct you while you're learning a language.)
> You might want to check out reading Steven Pinker's "The Language Instinct," it has a lot of ideas and research that might be new to you.
Would you mind summarizing some of these ideas that, if I understand you correctly, undermine OP's (and – by extension – my own) argument?
https://stevenpinker.com/publications/language-instinct-1994...
> Everyone has questions about language. Some are from everyday experience: Why do immigrants struggle with a new language, only to have their fluent children ridicule their grammatical errors? Why can't computers converse with us? Why is the hockey team in Toronto called the Maple Leafs, not the Maple Leaves? Some are from popular science: Have scientists really reconstructed the first language spoken on earth? Are there genes for grammar? Can chimpanzees learn sign language? And some are from our deepest ponderings about the human condition: Does our language control our thoughts? How could language have evolved? Is language deteriorating? Today laypeople can chitchat about black holes and dinosaur extinctions, but their curiosity about their own speech has been left unsatisfied—until now. In The Language Instinct, Steven Pinker, one of the world's leading scientists of language and the mind, lucidly explains everything you always wanted to know about language: how it works, how children learn it, how it changes, how the brain computes it, how it evolved. But The Language Instinct is no encyclopedia. With wit, erudition, and deft use of everyday examples of humor and wordplay, Pinker weaves our vast knowledge of language into a compelling theory: that language is a human instinct, wired into our brains by evolution like web-spinning in spiders or sonar in bats. The theory not only challenges convention wisdom about language itself (especially from the self-appointed "experts" who claim to be safeguarding the language but who understand it less well than a typical teenager). It is part of a whole new vision of the human mind: not a general-purpose computer, but a collection of instincts adapted to solving evolutionarily significant problems—the mind as a Swiss Army knife. Entertaining, insightful, provocative, The Language Instinct will change the way you talk about talking and think about thinking. New in 2007: The new “PS” edition contains an update on the science of language since the book was first published, an autobiography, an account of how the book was written, frequently asked questions, and suggestions for further reading.
I like this argument, it puts it very succinctly!
On a completely different note, seeing that you're developing VR applications for learning languages: How is that coming along? Is Diplomatic Language Services already using it in production? And what improvements in learning/teaching compared to non-VR applications (and non-VR private classes) have you seen? I mean, I generally understand the appeal of VR but I hadn't heard of it in the context of language learning yet, so I'm wondering what the advantages might be since it's a purely visual thing, so a priori not necessarily more conducive to teaching a language(?)
PS: Now that I've seen you mention your alma mater on your website: What a coincidence – I once went to Shippensburg for one of my boxing fights! :) What a beautiful place!
The VR at the most basic level provides a context in which to learn the language. It's one thing to read a book about a place and learn the words associated with the people and culture of that place. It's another thing to stand in that place and see the thing you're talking about.
And we've all heard that full immersion is the "best" way to learn a language. But that's just not an obtainable goal for most people. As I said, most of our students are government employees. They work most of their time from the States or a US Military base. When they are put into a situation to use their language skills, it can often be at the last minute for a deployment of some kind. They're adults with careers, kids, houses, and not enough money to travel the world whenever they want. So the VR gets us closer on the "being there" scale than they'd get otherwise.
We're taking a different approach from our competitors in the market. There are a number of "VR" foreign language training apps that are basically just DuoLingo or Rosetta Stone in a 360 video (and in a few cases, we've seen people calling it VR even when there's no headset involved, sigh). You are meant to purchase a course that is solitaire and self-guided. They're all using speech recognition engines to judge pronunciation. That sounds like a great idea on the surface but turns out to be complete garbage in practice. Speech recognition engines only work about 95% of the time for fluent speakers, where the threshold for non-frustrating Human-Computer Interaction requires more like a 98% success rate. So you get into a problem of not knowing if the errors you detect are because the student isn't pronouncing the words correctly, or if the speech engine is not doing its job. Even worse, you get a lot of false positives as well, which gives students the illusion that they are progressing when they are not (I've actually done a fair amount of work with speech-oriented interfaces as well. My career has been... very broad).
In our case, we already have a successful business doing 1-on-1 language classes, so we've designed the application to fit into that. Also, I wanted to make sure that our instructor body didn't think we were trying to put them out of a job. Most of our students are in class for about 5 hours a day, two to three times a week, for about 3 months at a time. They spend that time 1-on-1 or 2-on-1 with a certified language instructor. Our VR app constitutes about 1 to 2 hours a week of that course, and it still involves your instructor. In this way, we avoid the pronunciation assessment issue that our competitors have entirely. But we are also providing a much more personalized experience for our students, as well.
We take imagery from Google StreetView, combine it with didactic content, and weave in narrative of taking a guided tour of the location with your instructor (I've even built a whole lesson editor that our curriculum developers are able to use on their own, so we're getting pretty fast at making new content, too). You discuss the place and maybe role-play a few interactions like renting a hotel room or buying food at a restaurant.
That's Phase 1. We are currently entering Phase 2, which involves different interaction metaphors and more interactive play for role-plays.
Even in traditional language instruction, there are concepts of "immersive" role-play, what are called "isoimmersions", which could be as complex as setting up a mock bank teller booth in a room or as simple as lining a bunch of chairs up and calling it a "bus". I see a lot of our product as taking that concept and making it not hokey. Cultural learning is also a big part of our training regimen, as it doesn't do a diplomat much good to learn Arabic without learning a specific region's dialect and culture.
In our own trials, we're seeing a very sizable increase in student engagement. The students are reporting and showing that they are more motivated to study. The instructors are also having fun with the project, which we think is significant. We have a pretty broad range of student level, but we're seeing improvement across the board. Even the seasoned students who are used to isoimmersions have discussed how the VR headset gives them a brand new perspective on the content.
Our team is basically me as head engineer, a junior developer, and a rotating roster of 3 language training specialists from whomever has time from fulfilling our regular work contracts.
As for Shippensburg... it's a nice place to visit. I don't miss it much. Gettysburg is a better town in that region.
That just isn’t the claim made. Again you just have just made something up.
Let’s copy and paste the claim and take a look:
“I wish there was something akin to TI-Basic for smartphones. A built-in IDE with an interpreted language, with easy path to compilation.
It’s easier to program a TI-89 calculator than an iPhone. Why can’t this be better?”
It turns out that it isn’t what you said it was.
As for picking a fight, you seem to be the only one doing that here.
You chose to reply to a comment that wasn’t a reply to you to make a personal attack based on an inaccurate rendering of the context.
Prior to that we were discussing the merits of calculators and phones for programming.
You might not like the content, but there were no personal attacks before you brought them here.
> I wish there was something akin to TI-Basic for smartphones. A built-in IDE with an interpreted language, with easy path to compilation.
Right. A "built-in IDE". To "write a minimal program".
> You chose to reply to a comment that wasn’t a reply to you to make a personal attack based on an inaccurate rendering of the context.
The lack of self-awareness here is staggering.
(What personal attack of mine is that, by the way? Be specific. Can you quote it?)
Nobody is talking about hello world programs except you. That’s the point.
> Right. A "built-in IDE". To "write a minimal program".
‘to write a minimal program’ was added in a later comment from the claim in response to my point about the iPhone being superior, as perhaps the one example of why the TI might be easier to program.
It doesn’t define the issue - it’s just one thing that the commenter was trying to argue was better about the TI.
I don’t even think it’s true. Firing up Pythonista and writing hello world is very straightforward. Doing the same on a TI-89 is not actually simpler. The process is in fact very similar.
> What personal attack of mine is that, by the way? Be specific. Can you quote it?
“…trying to argue your uncharitable take….”
“…Go pick a fight and declare that the pushback you encounter is "bullshit" somewhere else…”
“…This is stupid…”
“…The lack of self-awareness here is staggering…”
Ouch. Hanlon’s razor aside, it’s almost as if the government is intentionally preventing the economy from modernizing.
Really sad that some bureaucrats couldn’t see the huge long term gains of a more technology-oriented economy, and instead could only focus on whatever marginal short term revenue these tariffs generated.
The government tax on electronics is not good though. I'd have to paypal them extra money to cover it, if paypal is even a thing for them.
> Automatic data processing machines and units thereof; magnetic or optical readers, machines for transcribing data on to data media in coded form and machines for processing such data, not elsewhere specified or included. -Portable automatic data processing machines, weighing not more than 10 kg, consisting of at least a central processing unit, a keyboard and a display: 8471.30.10 ---Notebook and Laptop
> Import Duty (% except otherwise specified)
> SAARC: Free
> GENERAL: Free
https://customs.gov.np/storage/files/1/Custom%20Tariff/Custo...
You're welcome.
Something I never really understood, when going to less developed countries, why are customs always trying to fleece everyone? Normalized bribes, byzantine bureaucracy, astronomical import duties on computers and essential products.
What's the goal with this? Is there some kind of long term strategy I'm not seeing? Do they not want investments or a tech sector?
The unemployment and brain drain these countries suffer sure paints a bleak picture.
In 2016 I tried fedex and told my friends to send old macbook. In insurance he had written the purchase price. And I had to pay all the taxes. And it was 40% tax.
Customs officers are thieves here.
And fedex did nothing. I supposed the would deliver to my home. But they made me run for 2-3 days and told me to go to customs and claim my items.
I still think about them all the time, and how sad it is that people live in a society like that where blatant robbery was simply the norm. It gives me some hope though that with the proliferation of affordable mobile phones across impoverished regions, people finally have the means, however modest, to receive an education.
I think that cheap computers and internet changed the game in education. I can learn to code in python anywhere. When I was studying, PC were few and you had to be at a university to have a reasonable chance to touch one. There was practically no internet.
The individual customs official or even the department is not incentivized to look at the benefit to the entire country. On the other hand, they are directly responsible to increase their collections, based on which they get a cut.
It’s an insane thing to do since the benefits to consumers and business users of these products is many times higher than the money made by the industries producing them. To a lesser extent the same pattern emerges in dirigiste-curious economies like Canada who limit foreign entrants into markets like telecom, resulting in a general tax on the entire population who suffer expensive and inadequate data plans in order to protect local oligopolies.
That's something I never understood either. Telecom is a commodity. I also think that's what hurt Blackberry back when it was still relevant: They were developing these phones in an environment where the carrier had all powers and where data was so limited.
I remember them being incredibly skeptical at the iPhone because Apple was expecting data to become cheap and plentiful.
the money made by the industries producing them is tangible, and there are lobbies protecting it, whereas the benefits to customers are intangible.
If you think about it, it is not the insane thing, in fact, given the system, it is the sane rational thing that benefits these actors.
There are a significant amount of people who are basically milking the rest of the society with their power and doing so without any consequence. This is what entrenched corruption looks like.
There are no need to specifically break any laws that others are not breaking already, there just have to be so many that compliance is impossible and enforcement selective. When the gray area expand so significantly, you get the power broker rich as they enjoy competitive advantage.
China owned port can be shut down on a whim, thus giving its owner political power because closing the port would effect the nations livelihood via exports/imports.
Oh, they're not? When the person you replied to wrote, "It’s far easier to write a minimal program on a TI calculator", what did you understand that to mean?
Reading back the thread, it's clear that not only is hello world in scope, minimal programs are the only sort of program that anyone who isn't you even mentioned. What this is is a bizarre situation where you insisted on linking the topic of programming TI-89 calculators to general purpose computing while simultaneously trying to take up arms at the suggestion that anyone could think there could a relation between the two.
> that’s not a quote [...] just another thing you have made up just now
Oh, it's not? So the words "easier to write a minimal program" don't appear here <https://news.ycombinator.com/item?id=27906345>? And it's not true that you quote those words and then even use them yourself while engaging with the topic here <https://news.ycombinator.com/item?id=27906820>?
> You chose to reply to a comment that wasn’t a reply to you to make a personal attack based on an inaccurate rendering of the context.
Oh, I did? So those bits you're identifying didn't occur here <https://news.ycombinator.com/item?id=27912959>, in a reply to a comment that was a reply to me? (Or is it that they did occur there, but you're maintaining that the comment is a reply to another comment that was itself not a reply to me?)
Not only was this a stupid thing to pick a fight over, this has got to be the dumbest attempt to quarrel over the written record that I've seen since "I'm not using the word free" <https://news.ycombinator.com/item?id=23250829>
-----
Edit following your edit:
> ‘to write a minimal program’ was added in a later comment from the claim in response
Yeah, it's almost as if someone wrote down their thoughts to share them, and then after seeing your response they attempted for your sake to offer some clarification in a followup to eliminate the misunderstanding. And it's almost as if you can't seem to acknowledge that we're here because you misunderstood them, and you continue to insist on maintaining that the thing that came from your misreading them is the thing that they meant all along.
Here's a tip: if someone says something that sounds outrageous and your first thought is, "man, it's unbelievable that someone would say that!", then your second thought should be, "yeah, it IS unbelievable that someone would say that", and then reflect on why your first thought was to believe that that's what they were saying. Otherwise, what you end up doing instead of holding them responsible for their intent, the products of their mind, and so on, is attempting to hold them responsible for the products of your mind.
Are all minimal programs ‘hello world’? No.
Hello world is a straw man introduced by you - not the commenter I was relying to.
As I pointed out, even if we consider hello world, the proposition is still not true - it’s not easier on a TI-89.
So what do we have in summary? You spoiled the discussion by introducing personal attacks, your argument is a straw man, and even the straw man version is simply not true.
It's clear at this point that you don't actually stand behind anything—you are not committed to any actual position, or facts; you are only committed to the act of arguing. If there was any doubt about whether you were here to pick a fight, that has been erased. There is no reason to believe that you're responding in good faith, and there is no way to justify engaging with you further.
This doesn’t change anything about the discussion or explain why you keep leveling personal attacks and accusations.
You can plainly see what’s written, and complaining about an edit has nothing to do with the points I made.
Let’s consider again what we have in summary: You spoiled the discussion by introducing personal attacks for reasons that are not clear, your argument is a straw man, and even the straw man version is simply not true.