Some things did not change since the early coding days with Linux and Android Phones , you still need to tinker with system files to allow USB access to the phone. Without the below steps you get “no permission” and offline errors in the Android Device Monitor.
Android Phone Settings
- Out-of-the-box the phone does not allow debugging. You need to find the developer options under phone settings and specifically allow USB debugging.
Ubuntu Settings Continue reading
It has been quite a while since I touched an Android phone the last time for code projects. I got in contact first time with an Android phone during an open source conference in 2008 in Sydney when I met Chris DiBona (Director of Open Source at Google). Announcing the SDK 1.0. Soon after I got the G1, aka HTC Dream phone which was the first Android phone available. I could not even imagine this platform would be so widespread adopted and pushed in the years to come. I was even thinking about the investment that time, spending a few hundred dollars on a phone that might be just a experiment. In 2010 I also bought the Nexus One.
Anyway I created some apps for personal use, experimented with the apps market but due to other development and work focus lost it out of sight and just remained normal Android user.
Now my interest returned, at least to update my knowledge about this technology. Today things are becoming a bit easier (IDE, documentation) but also more complex, mainly due to the massive range of devices and manufacturers which makes screen design quite challenging, but also to security concerns as more spam and junk apps are around, users are no longer so flexible with the app security settings.
Coding becomes more convenient, now Android got its own IDE, the Android Studio. After an initial download and subsequent additional downloads of required packages you can start with your projects straight away.
With Ubuntu just just download the linux package, make sure you have a JDK installed, and execute the studio.sh shellscript in the bin folder.
AWS still puzzles me at times. While the range of products and services is so huge and there is hardly something you cant accomplish with AWS at hand, still you find little gaps which can annoy, see my earlier discussion around VPC and VPN.
I though every service would be accessible through the admin console. While looking for an alternative to place log data I came across AWS SimpleDB, just to learn there is no function in the web admin console to control it. I even created a support issue believing the service was not enabled for my account. You have to go through local html files (aka scratchpad) to access the console.
AWS Admin Console
While I can handle the above case, I cant appreciate the approach AWS chooses with the MFA they actively promote. Is a very good feature and you can opt for a hardware based MFA or a bit simlpler, with the virtual device. But here comes the contradiction, due to geo restrictions you cant download the AWS MFA app to your Android device if you dont have an US AWS account. Seriously, how much sense does this make ? I confirmed this with the AWS support.
You could go for an alternative solution with the Google Authenticator, but this creates a dependency to another third part which I am not willing to add, my “contract” is between AWS and me.
Is it related to this: http://en.wikipedia.org/wiki/Export_of_cryptography_from_the_United_States ?
You have little chance today to get your hands dirty with electronics or computer hardware, either we deal with small devices like mobile phones, tablet and notebooks which are not made to be opened and tinkered with or our hardware is virtual only and sits in the cloud (no screwdriver required). Few people now still own a desktop size PC where one can add or change hardware (major hardware companies claiming massive loss due to dropping sales in this market).
During my studies in the 90’s we still dealt with CPU’s at a very low level which helped to ‘see’ and understand what’s going on.
If time allows I am doing some DIY projects with Arduino or Raspberry Pi, 2 electronic platforms which seam to be similar at the first glance, but operating very differently.
The Arduino is a progammable microcontroller, designed to work with sensors or to control external components like relays or motors. Is a very hardware oriented device, no OS or whatsoever included. It does basically what you program it to do. More info and getting started at http://arduino.cc
The Raspberry Pi on the opposite end is rather a miniature computer, running an OS from a SD card and equipped with ethernet, HDMI and USB plugs. It is clearly more a software platform which can be used for more powerful applications than the Arduino. More info and getting started at http://www.raspberrypi.org
You have the option to combine both, to have processing power of a computer and the myriad of inputs and outputs to the real physcial world.
We started to operate servers for our customers at AWS within one (root) account. Each customer environment is inside a separate VPC for maximum separation and ease of inter-instance access. Now with the second customer requiring a VPN connection I hit the wall with AWS the first time. You can’t have multiple VPC’s with VPN’s pointing to separate IP’s.
AWS support: “Unfortunately, due to routing restrictions in our regions we only allow a CGW IP to be used once per region.”
conflict among chosen gateway ip addresses
There is quite a number of discussions and threads around this, anyway without a straightforward technical solution (and installing software VPN is not suitable solution for me), I use a different workaround. I create additional accounts for every customer and link them back to our root account for consolidated billing. As nice side-effect, billings becomes more transparent for every account linked to one of our customers.
More info: http://docs.aws.amazon.com/awsaccountbilling/latest/about/consolidatedbilling.html
Another small project I backed is the Gamebuino, an Arduino based retro game console. Simple concept to pick up basic game programming with this 8bit gadget that reminds me of the Gameboy that Nintendo launched in April 1989. Amazing, the one-man project managed to gather 1.000% of the funding he asked for. The device was funded for 25$ as early bird backer.
Over the years we spend a lot of money into gadgets and electronics, only to see its value dropping to zero and being out-dated the moment you open the box the first time. While doing some spring cleaning I unearthed the Casio Cassiopeia that I bought in 2001 (for ~800.- DM) , surprisingly it still charges and works.
Casio Cassiopeia EM-500G
This is EM-500G, a slimmed down version of the E-125. Some specs:
- CPU: NEC VR4122 MIPS (150 MHz)
- Memory: 16 MB ROM
- Display: LCD, 240 × 320 Pixel, 65536 Farben
- Interfaces: Seriell/USB and IrDA
- MultimediaCard Slot
- Windows Poecket PC 3.0
Compared to todays mobile phone and tablet hardware seems like nothing (vs. eg. a dual-core 1.7 GHz and 2GB of a Samsung Sx phone).
I am just wondering what we gain in 13 year with CPU speed times 10 and memory times 100 from a user point of view ? Yes, we have Android and iOS with 1.000.000 applications to download, 3D Games on HD screens, music and videos (the Cassiopeia can handle that too to some extent), but the basic features are still the same. I used the Cassiopeia that time to remote dial in into Unix servers, using a Siemens S35 as modem.
Casio Cassiopeia EM-500G