Hacker Newsnew | past | comments | ask | show | jobs | submit | hemanta212's commentslogin

Sadly, this is how things are for many of us students, I currently study bachelors in CS here in Nepal and for me and some of my friends stuck in our villages (lockdown isn't still over here yet), we have been doing C assignments using editors avalialble in the playstore.

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.


Send me through your CV if you're looking for an internship after you finish your studies. My company is based in Jwagal, Kathmandu. Check my profile for my contact details. jonathan @ domain name in profile.


Hey, if you are interested you can reply me with your email address here, i can ship you a laptop for free (intel 5th gen i5) that i dont use anymore. it has 4gigs of ram soldered (surface pro 3). and can hopefully be used for some development.


Thank you for such kind and generous gesture.

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.


> they can charge 30-40% of orignal price to receive electronic items

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.


Red tape is definitely an issue, but freight costs to Nepal are also extremely high. It's a landlocked country with very poor transportation networks. Air courier (eg DHL) to Kathmandu is in the range of $5/kg, and if the final destination is in a village it needs to be hand-carried there. So accessing cheap stuff from abroad is much harder than we might think coming from developed countries. There is no such thing as slapping on a FedEx label right to the final destination.


So the freight cost to send someone a laptop is under $25? That seems reasonable if of course the person is living in Kathmandu...

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.


Could go the opposite way and welcome everyone and everything in, and have situations like your ports being bought by China, as is happening in African nations.


AFAIK, China has invested considerably in controlling African port infrastructure and operations, not trade policy in the abstract. While owning a port often implies direct control over what goes through it, the converse is not true: a government can still control its own port infrastructure while being completely laissez-faire about what goes through it.


They are building the ports to control the policy, it ain’t altruistic.

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.


They do in a proxy way control the policy. Often times, it is not just port infrastructure. Also manufacturing, agriculture and mining.


This is the problem in many emerging economies in SE Asia. Just because many people are struggling to arrange their daily meals, Governments get into socialist mode and taxes anything which does not classify as bare necessity. Sadly, it is a vicious loop and these economies are not modernizing enough at a rapid pace despite so much talent waiting for an opportunity.


If the tax money is spent on education, healthcare, and infrastructure such as communication/fiber and water, then it will only take one generation to go from: poor - have to work in order to eat, to poor - but have free time to learn coding without starving, then after 3 generations you might have gone to an information society without going through the industrial age. Unless other countries suck out all the bright minds.


Or you do it like Singapore a bit faster.


I agree with everything you said but your usage of "Just Because" for daily meals doesn't feel right.


I'm weird, your comment got me interested in Nepalese custom duties. I had a read through and it looks like notebooks do not incur import duties in Nepal!

> 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.


My experience with China customs is that if custom officer feels like taxing you 15%/25%/45% on this particular day, they will find a way to tax you. Unless.


What the law specifies is not always the lived reality.


In Argentina you have to pay 50% of the market value for all electronic imports and you will have to deal with customs officers (who will usually try to make your day quite miserable if you don't "tip" em)


I wasn't even able to send anything from abroad to my colleagues in Vietnam. We make electronics + firmware + backend API's and he needed a few Samsung phones + electronics to test; you can only ship new phones sealed in boxes there and electronics need bucket loads of paperwork and then pay $. Never had that issue with China, but it's 2+ years ago since I last had to ship anything there though.


Is worth mentioning regarding Argentina and this HN submission in particular that the government is aiming to provide a laptop to every secondary student, they are build (assembled is probably more accurate) in Argentina and they come with a Linux distribution maintained by them called Huayra. I think that is pretty awesome for such a poor country. Customs in general are annoying, I was arriving to Germany from the US with a new MacBook, I was stopped and they ask me where did I buy the computer, I had bought in Germany, so they say it was fine, they told me to send a copy of the invoice to them, which I did. They were just making sure I paid the taxes there. From what I heard from Argentineans bribing is very common, but they somehow think people taking the bribes are the only corrupt but not people bribing, or avoiding taxes.


Germans also have been somehow ok with paying bribes: https://www.justice.gov/opa/pr/former-siemens-executive-plea... https://www.dw.com/en/ex-siemens-manager-pleads-guilty-in-us... In the 90s, those bribes would have been tax deductible in Germany: https://archive.is/Eit0f


> From what I heard from Argentineans bribing is very common, but they somehow think people taking the bribes are corrupt but not people bribing, or avoiding taxes. Wait this isn't the case everywhere. I thought this how corruption laws are made.


If the officer feels like doing that, they will. That's sadly the case in many countries.


Was the case for me when I flew back to Germany with my music instruments. They would not listen to any reason but forced me to pay to get the instruments that are my property back. Thieves.


> Sadly, with how things are with the courier and customs dep. here they can charge 30-40% of orignal price to receive electronic items

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.


During my travels I met a family in Kenya who were some of the friendliest people I'd ever met. They showed us all around the the local towns and brought us to a fantastic bunch of places. In return, I wanted to support their son who was going through education at the time - either pay his fees or send him school supplies. Unfortunately, they said that there was no point because any money or supplies we sent to them would never arrive; they'd just be taken by the people at the post office as soon as they saw a foreign stamp. It wasn't even government mandated fees on customs. It was just theft. This was before the advent of digital currency and other means of sending money abroad, so we simple had no way we could support them other than giving them gifts while we were there.

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 remember a story a few years ago about a boy in some remote area in Mongolia who could follow remote courses from MIT and improve his chances at getting a job.

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.


> Do they not want investments or a tech sector?

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.


I don’t know about Nepal, but traditionally places like Brazil pursued “import substitution” strategies of charging high tariffs on technology products to try to establish home-grown industries, and pursue autarky (self-sufficiency).

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.


> 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 benefits to consumers and business users of these products is many times higher than the money made by the industries producing them

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.


Less developed for a reason.

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.


The high fees are used to discourage imports. Here in my country they say these taxes are used to "protect the local businesses/manufacturing", but it makes absolutely no sense, because most (tech) products aren't even made here. They usually charge you 60-70% of the retail price.


Emergent, not planned. But everyone gets a cut, so nothing changes.


I'd like to help more; Could you email me at koepke@gmail.com whenever you have free time and energy?


FedEx are very good, the sender can choose to pay all the charges.


Nope.

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.


> we're definitely not alone and I have seen many indian and other south asian friends do the same.

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...


> 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.

At India scale they could design their own machines. Something like a ThinkPad X60 where the motherboard can attach a RPI Compute Module.


Rich states like Tamilnadu already have a successful free laptop program for Govt. high-school students and Govt. colleges.

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.


Also when talking about inexpensive compute device for education, We cannot ignore Chromebooks. Asus Chromebook C223 costs just $189 that's for device with 11.6" display, dual core CPU, 4GB RAM, 32GB storage+SD card, HD cam and WiFi5. RPi + similar accessories would cost more.

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 think of all those people with phones that easily break because the phone was not made so well. Or because the children are not so tech savvy to make garabage tech work. Like I can. Having been in a highly stressed environment myself, the emotions that drive them to self harm are all too well known for me.


> garabage tech

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!


I’m honored. But if it was intentional:

Gar(b)age tech.

Or GARbAGE tech.

Or garBage tech.


Out of curiosity, is something like a Raspberry Pi Zero an option in terms of availability and having the equipment lying around to make it work (i.e. SD card, usb plug, etc.)?

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.


It's probably a step-up from just using a phone or phablet but with a Raspi you'd still need (compatible) monitors. No idea what the availability and markup is for these though reliable electricity might be another issue for remote regions.


Pretty much any flat screen tv with HDMI will do.


Here in Haiti, it’s the electricity issue. If you’re lucky you can get electricity for 6 hour a day. In the middle of the night. That’s why people prefer portable stuff, because you can easily charge them somewhere else (in my native town, there are people that have setup charging stations with batteries and inverter).


wow! I'm glad that termux exist, it's such an amazing tool!

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


The "compile it your self" link in the README (https://github.com/victordiaz/PHONK/blob/master) is a 404. (also, it should be "yourself"), and the landing page site header is cut off on mobile, so the GitHub link doesn't show up.


thanks for pointing it out!


Based on the description "Connect your computer and Android to the same WIFI network" I'd assume that you need at least two devices, but from your comment I gather that's not the case? Maybe you should clarify that on the landing page.


Yes, it's possible just using the Android device. Thanks for the suggestion, I'll try to improve the the landing page and make it a bit more clear :)


If you ever write about yiur setup, it will be a huge help! I have a friend who is constrained for comouting resources, but eager to learn nonetheless. I help out wherever I can but it is hard for me to get his perspective, because as crappy and old as they may, I still had full fledged PCs to cut my teeth on.


Emacs is great for these small screens since it comes from a world where 80x24 terminals were the standard.


Can you share what apps you use? I saw an editor on the tweet image, So I guess there's some different setups using different apps out there.

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.


For most starting out it's editors in playstore, There are editors for different langugages, I started with the pydroid editor. There you can write code and hit compile to show the output. As traversing menus by hand gets quite hard, the next approach is probably to learn termux and terminal as everything is keyboard driven.

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.


Yeah, desktop oriented apps such as jupyternotebook and VSCode will need UI adjustments to make it usable on the phone.

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!


Chrome's DevTools don't have a mobile UI AFAIK, so the best available option for debugging in a mobile browser is probably Liriliri's Eruda https://eruda.liriliri.io/ which is a kind of embeddable debugger that runs as part of the website you're debugging.


I just knew about this, definitely very cool.


Suppose I had an extra PC lying around that I could donate (6th/7th gen Intel, can run Ubuntu 20.04, no monitor) -- (a) would that hypothetically be useful to you, and (b) how would I get it to you without spending on international shipping?


Very impressive. keep it up. Nepal has a thriving developer scene and we should do everything to nurture it.

If you are looking for Python freelance gigs then please ping me through email in my profile.


You say ‘sadly’, but that is vastly better than the equipment I had when I learned these skills in 80’s and 90s.


Yes, when you were learning to develop in the 80's. This has a slight undertone of bootstrap lifting and a total lack of empathy for people who have little access to stuff that is thrown out like trash in the west. Use your brain.


> Yes, when you were learning to develop in the 80's. This has a slight undertone of bootstrap lifting and a total lack of empathy for people who have little access to stuff that is thrown out like trash in the west.

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…


Taking your comment in the best possible light, I see this as a general indicator that for would-be-developers, things are often so much better than they were, despite the fact that many OSes are locked down.

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.


As someone who is just learning coding in Python again, the amount of available learning material and projects create the luxury problem of overabundance. It's like drinking from a fire-hose as it's nearly impossible to discern the myriad of low-quality from high-quality content or even what's even relevant in order to get a general programming education.

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.


This - I never felt the lack of learning materials. I saved my pocket money to buy Turbo C++ and Assembler in my teens. They came with nice fat books that explained standard libraries and instruction sets. My library had more books with references for DOS interrupts/syscalls, memory managers. I got a game programming book that showed me how to push pixels into the framebuffer, and which ports to bang to get a Sound Blaster to sing. I had the Mike Abrash optimization book and spent much of idle school time doodling pipeline simulations on paper.

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.


You sound like a smart person who learns quickly.

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 :-)


I mostly just remember copying stuff from here and there, not too different from the age or stackoverflow, just printed and mostly correct!

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.


> Taking your comment in the best possible light, I see this as a general indicator that for would-be-developers, things are often so much better than they were,

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.


It's sad because they're at a disadvantage to their peers.


Some of their peers, perhaps, but much less of a disadvantage than they would have been at before smartphones.


Since shipping hardware looks like it won’t work, what’s available to buy in terms of hardware where you are? Seems like a bigger screen would help.

And then there’s the problem of money transfer. I’m guessing moving money through paypal/bitcoin/etc. doesn’t work?


This is inspirational! Hope to see you move onto great things after your CS degree :)


TBF this is not bad, keep going. Many people in the "west" have brand new macbooks and never installed xcode, python, etc.

The device doesn't matter, the user behavior and education does.


What Android version do you run on your J7? My J7 is stuck on Android 6 and can't install Termux. It doesn't get OTA and I'm not sure how to update it.


I have j7 max with android 8. IIRC termux should run on android 5+ maybe try to install from fdroid or search older apk versions also there is userland app that you can try.


Use fdroid or from there github release find an compatible version. The internal env. are updated for everyone


Which OS are you using?


Termux provides its own pkg manager and compiled packages though you can setup distros using proot I havent really explored it.

If you are asking about azure VM i have a ubuntu 20.04 image setup.


This is all very interesting. Good luck with your studies!


Install termux. Learn vim


Yep, I have to thank my conditions for forcing me to learn linux stuffs. As much as I would like to I cannot recommend it to friends who are just starting out to do it as I myself spend 3+ weeks to learn vim. They get perplexd on installing termux.


Micro works on termux too without the learning curve.


Behold the disciples of vim and Emacs at it again to lead another untainted soul astray to please their dark lords. Apage satanas!


Github provides additional functionalities over git for which users had to switch from cli to web. Now they are bringing those additional functionalities to cli so users dont have to switch context


Ah, that makes sense then. Many thanks.


been using it in home for months it works well.

Regarding hyper-v they are only making necessary component needed for wsl2 available.



> Especially because this looks like an nbconvert workflow under the hood.

It is, however I convert it to the most basic html and add custom css and js to it. So that I can change it to whatever I want. I don't see any problem with that maybe you could point some out.

I didn't go with pelican(or any static gen) because the build times will be much slow later on as blogs increase [1] as this guy faced. I like to configure a lot of things manually and don't want the burden of static gen if that make sense to you. I just needed a converter.

1. https://nipunbatra.github.io/blog/2017/Jupyter-powered-blog....


I didn't find it responsive though. Maybe not your goal but the designs are similar. Similarly I think you can import nbconvert instead of just calling from subprocess.


People working with notebooks find it useful. You can remove it with one line of javascript though.


Nope. It was to test my native language for unicode support.


I am also building one link[1] but for processing jupyter notebooks to responsive html primarily. You can also refer to this blog[2] to generate html from ipynb file.

1. https://github.com/hemanta212/blogger-cli/tree/add_templatin...

2. https://nipunbatra.github.io/blog/2017/Jupyter-powered-blog....

My site. https://hemanta212.github.io/blog/


Thanks for the note. Looks good!

Blog post generation from Jupyter Notebooks is definitely something that I plan to add to mine. Hopefully `nbconvert` and my Jinja2 templates get me 90% of the way there; having yours as a reference will be useful if anything really trips me up.

Taking a look at your blog post, don't forget that Bootstrap has a lot of classes built in that make prettifying things like tables really easy [1]. In Sitegen, I apply a few Bootstrap classes to all tables in the BeautifulSoup object like so:

  for table in soup_body.find_all('table'):
      table['class'] = 'table table-striped table-sm table-hover'
  return soup_body
Refer to the `add_table_tags` function here [2] to see what I did directly.

[1] https://getbootstrap.com/docs/4.3/content/tables/

[2] https://github.com/ggoss/sitegen/blob/master/sitegen/md_proc...


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: