October 19th, 2012 at 5:37pm |
Something I’ve been working on for while is a program called solpy. solpy is is a python library to model solar system power performance similar to PVWatts or NREL’s System Advisor Model(SAM). This is primarily a research and analysis tool and there is no guarantee on the calculations. I initially started writing this while working in Bangladesh as a fairly crude calculator to go from a fisheye panorama to a csv of vectors for shading calculations, however there were several pieces that were added to make it a bit more useful. Daniel Thomas did work adding the Tang evacuated glass tube model. I cherry picked some pieces of Brandon Stafford’s pysolar for solar positioning although made some changes for my purposes. There is also a simple module for reading TMY3 data. This tool is rudimentary, but functional. It integrates with ipython for some command line functionality.
January 3rd, 2012 at 10:52pm |
It seems so long ago that I first bought a EDGE/HSDPA modem so I could work on the train between Durham and Lancaster. Linux was my OS of choice at the time and I used wvdial to control EDGE/HSDPA Modems. These days WWAN connections seem more common and I was very happy to see NetworkManager add support. Even thought it was a little clunky I would still periodically use wvdial for headless machines where I needed to script connections from the command line. Recently I’ve been doing some work with a beagleboard which has an ARM processor; wvdial is currently broken on ARM architecture and ppp was giving me a headache. After numerous emails trying to find a work around, I learned that nmcli has gives you control from the command line, and if you have the keyfile plugin enabled in NetworkManager.conf, global connections are written out .ini-style in /etc/NetworkManager/system-connections/
The end result is that it’s possible to connect with a simple command
#nmcli con up id GrameenPhone
May 13th, 2011 at 8:13am |
Mobile phones are everywhere in Bangladesh. It’s been so successful here because it fits well into the culture of gab, aggregates the purchasing power of Bangladeshi’s, and the infrastructure is able to avoid many of the problems pervasive in Bangladesh. Recently I wrote a post about the barriers to information transfer in the developing world and made the point that the current ways of working in the west, particularly mobile devices and bandwidth intensive web apps, aren’t as accessible in the developing world. That was a statement of the current situation, but I’d like to point out a trend. Two years ago I would have said that simple phones are most common, but now I’m not sure. At that time Nokia was the clear winner. It was very clearly the brand to own. The big spenders used expensive Nokia sets which helped Nokia to sell their entry level phones. While proper smart phones are still in distinct minority, the new high-end devices I’m seeing are iPhones and Android devices. There are still a fair amount of mid-range Nokia sets, but Chinese and Indian sets with more functionality are popping up everywhere. The village I live in has mud huts and inconsistent power, but some of the young men have mobile sets that play music and movies, support multiple sim cards, have bluetooth and are capable of basic internet access.
Last year I had a motorcycle accident and broke my 3rd metacarpal in my right hand. At the same time my power cable for my laptop went out and getting a warranty claim processed in Bangladesh takes longer than it should. I was without my primary computer, and I couldn’t use a keyboard like I normally did. The biggest single reason I bought an Android device is that it works as a standalone device, and during that time, that functionality served me well. For several weeks, my Nexus One became my primary computer. I used it one handed, and it turned out that for many things I wasn’t really limited. There was a big criticism about tablets was consume content rather than create content. I think has largely faded being I don’t read as much about that anymore. High end phones are just as capable processing wise as the tablets and maybe a more important question is whether the device functionally complete: is the device able complete a task without physical access to another general purpose computer. While my Nexus One was my primary device, I couldn’t access peripherals such as flash storage and USB devices and I couldn’t develop on the Android for the Android.1 These issues are basically the same on iOS as well, but the times they are a changing. Smart phones are becoming increasingly standalone devices. I’ve now got a Python environment on Android through Scripting Library for Android and the recent announcement of Android ADK is going to allow a plethora of hardware options. Apple with it’s proprietary connecter offers a good deal of input output options and dongles like camera connection kit allow you to move data on and of a device. Recently I even saw that Oscium makes an oscilloscope/logic analyzer for iOS, which is something I would find useful.
As these phones become functionally complete, they’re going to start replacing computers. As low end phones gain functionality and processing power, Android is going to start showing up in the developing world. I wonder if Microsoft realizes how truly irrelevant it is becoming. Desktops and laptops here run either open source or pirated software, but there are over a billion people who want to buy phones in the Indian subcontinent and another billion in China. While I don’t think Apple is going to go after the developing world market, I suspect that Apple will continue to transition iOS toward a standalone OS which would position them with the option.2 The personal computer of the developing world is a phone made in Shenzhen, and I wonder who’s thinking about that.
1 Not including a linux environment on a rooted handset.
2 My bet for the North Carolina Datacenter.