Category Archives: General

iOS 7’s Best Bits

Two days ago Apple revealed it’s newest mobile operating system revision, iOS 7, a huge and well needed overhaul to the mobile OS has been made and a number of notable new features have been added. There are also a few less-praised features added to iOS 7 which add a lot of functionality. Aside from the hundreds of new features, here are some of my favourite additions and modifications.

The compass minimalist redesign

The compass app has always been rather dull and straight forward, but with the revamp of iOS, Jony Ive gave the compass a minimalist makeover with added functionality. The compass now has a level feature which uses the iPhone’s accelerometer to detect how level the phone is. Just a small improvement to a little-used app which may give it some more usage.

Facetime handles voice calls

FaceTime is now separated out from the phone or contacts app with it’s own dedicated app. Along with the standard video and audio FaceTime, users can now talk using data. It’s surprising that the ability to just voice was not added with the inception of FaceTime, however perhaps AT&T would flat out block apple’s minute crushing application if it dove in at the deep end. FaceTime audio could be a real competitor to applications like Skype and Viber, especially if it were better integrated with Apple’s messaging service.

Call and message blocking

An overdue feature for iOS has been the ability to block certain numbers from calling and messaging you. Call blocking and privacy is a big business on android yet it is handled by third party apps, iOS uses native blocking to stop annoyances, will we be able to interface with this through applications? I should hope so, apps with databases to block cold callers and sales reps would be well received in my opinion.

 

Live updating icons

This is a feature I have personally desired for a long time, ever since jailbreaking my first generation iPod touch, I have been constantly tweaking the Clock and Weather app icons to update live to show a real time representation of what’s going on. It seems to be a no-brainer but it’s taken Apple a while to cotton on. Even if only the Clock icon is updating for now, it’s still a start and hopefully 3rd party applications will be able to depict a live representation of data on their icons too.

Easily accessible settings

The new addition of easy-access settings which are accessible by swiping up from the bottom of the screen is greatly appreciated. The feature heavily reminds me of SMBSettings which is an app for Jailbroken iOS devices. Easy-access settings allow the user to modify connectivity settings such as toggle Wifi or Bluetooth, as well as change the display brightness or toggle screen rotation. Apple has also added a ‘torch’ feature which turns your camera’s LED light on to help you see in the dark, a stopwatch shortcut, calculator shortcut and camera shortcut. This added feature is going to be very helpful for every day use, I often want to quickly turn down the brightness of my phone when entering dark places and easy-access settings will aid this.

IMG_1563

 Image credits: Apple.com; all other images have been linked to their appropriate sources.

Thoughts On Privacy

Ed Snowden: NSA Whistleblower Interview [12:35]

Despite the suspicion and general knowledge of tracking and spying, the recent exposure of NSA documents and information has gotten me thinking, what am I about to give up and where do I draw the line? Until I really thought about it, I never truly valued my privacy, nor could I comprehend what life would be like with the lack of privacy. Every step of our lives being documented and scrutinised, just waiting for us to become a target and then we’re torn apart with every little mistake we’ve ever made.

On June 5th 2013, The Guardian released a Foreign Intelligence Surveillance Court (FISC) order which forced Verizon mobile to provide “on an ongoing daily basis” all call records for any call “wholly within the United States, including local telephone calls” and any call made “between the United States and abroad.” Which gives over the following data: The time and date of calls placed, as well as the duration, location and other miscellaneous information about said call which would help to identify suspects (Details such as subscriber name and payment details would be acquirable via further proceedings).

Merely two days later, the Washington Post released this leaked powerpoint presentation which details methods of communication which the US National Security Agency (NSA) can actively log and store.

 

Washington Post: NSA slides explain the PRISM data-collection program

Here you can see that the PRISM operation allegedly collects data from monolithic companies which have access to troves of personal and private information such as VOIP calls, emails, instant messages and files which have been uploaded to said services. The NSA and US government can now ‘wiretap’ any US citizen with the push of a button from a desk anywhere in the world. All your emails and phone calls can be analysed in depth and online activities are tracked.

Later in the interview, he explains why the people who say “I don’t care, because I’ve got nothing to hide” have put much thought into their argument:

“Because even if you’re not doing anything wrong, you’re being watched and recorded. And the storage capability of these systems increases every year consistently by orders of magnitude to where it’s getting to the point where you don’t have to have done anything wrong, you simply have to eventually fall under suspicion from somebody, even by a wrong call. And then they can use the system to go back in time and scrutinise every decision you’ve ever made. Every friend you’ve ever discussed something with. And attack you on that basis, to derive suspicion from an innocent life, and paint anyone in the context of a wrongdoer.

You know someone fears the government when they openly invite it to spy on them. I believe this must end here because at what point do we say no to the invasion? Will we end up 10 years down the line with a camera (read: kinect) in our living room, having to hide around a corner to write in our diary? Will we be “taken care of” by the government if we so much utter any distaste towards their ideals? Who knows, and that’s why we need to regain mutual trust between people and their leaders.

Let’s hope this is an eye-opener for people and that Ed has sacrificed his well-being for a purpose, the worst thing that could come of this is that nothing changes.

Tagged , ,

Count Devices on the Raspberry Pi

Recently, a Maplins kit of all sorts of LED segment displays and a LCD screen came into my possession, a fairly interesting array of components are in this bag, so I started to play around with them as there was no instruction manual.

Here’s the kit if anyone’s interested in picking one up:

Counting Devices on the Local Network and Displaying Them on Our Display:

So, with little knowledge of the GPIO ports or their correlation with raspbian’s gpio command line utility, I rigged up the 7-segment display to my Pi with the use of a breadboard and a gpio breakout cable, here’s a similar kit available from Adafruit: https://www.adafruit.com/products/914

Here’s my notes from plugging in the 7 segment display:

 

And here’s the final product:

(ignore the random transistor)

You can power either the 3rd pin or the 8th pin, depending on aesthetics, as you can see I chose the 8th pin. Remember to use a ±330ohm transistor between the 3.3v power pin and the 8/3 pin on the 7 segment display or you’ll blow it!

Now for the software side:

You’ll want to install the python Raspberry Pi GPIO command line utility via the following method:

apt-get update && apt-get install python-rpi.gpio arp-scan

Once this is finished, you can run the below (very simple, I just threw it together) bash script (use sudo!) which will show the number of devices on your network on your 7 segment display!

for i in 6 7 8 9 10 11 12 13; do gpio write $i 1; done
 while true; do
 case $arp in
 1 )
 if [ "$arp" = "1" ]
 then
 for i in 7 9; do gpio write $i 0; done
 else
 echo ""
 fi ;;
 2 )
 if [ "$arp" = "2" ]
 then
 for i in 8 9 10 11 12; do gpio write $i 0; done
 else
 echo ""
 fi ;;
 3 )
 if [ "$arp" = "3" ]
 then
 for i in 7 8 9 11 12; do gpio write $i 0; done
 else
 echo ""
 fi ;;
 4 )
 if [ "$arp" = "4" ]
 then
 for i in 7 9 12 13; do gpio write $i 0; done
 else
 echo ""
 fi ;;
 5 )
 if [ "$arp" = "5" ]
 then
 for i in 7 8 11 12 13; do gpio write $i 0; done
 else
 echo ""
 fi ;;
 6 )
 if [ "$arp" = "6" ]
 then
 for i in 7 10 11 12 13; do gpio write $i 0; done
 else
 echo ""
 fi ;;
 7 )
 if [ "$arp" = "7" ]
 then
 for i in 7 8 9; do gpio write $i 0; done
 else
 echo ""
 fi ;;
 8 )
 if [ "$arp" = "8" ]
 then
 for i in 7 8 9 10 11 12 13; do gpio write $i 0; done
 else
 echo ""
 fi ;;
 9 )
 if [ "$arp" = "9" ]
 then
 for i in 7 8 9 12 13; do gpio write $i 0; done
 else
 echo ""
 fi ;;
 10 )
 if [ "$arp" > "9" ]
 then
 for i in 12; do gpio write $i 0; sleep 0.5; gpio write $i 1; done
 else
 echo ""
 fi ;;
 esac
 arp=$(expr `arp-scan -l | wc -l` - 5 &)
 sleep 30
 for i in 6; do
 gpio write $i 1
 sleep 0.5
 gpio write $i 0
 sleep 0.5
 gpio write $i 1
 sleep 0.5
 gpio write $i 0
 sleep 0.5
 gpio write $i 1
 sleep 0.5
 gpio write $i 0
 for i in 6 7 8 9 10 11 12 13; do gpio write $i 1; done
 done
 done

DNS Tunnelling Made Simple

You may have heard about DNS tunnelling before, it’s the process of encoding data and sending it to our chosen name server. The NS realises it cannot resolve the query and subsequently forwards it onto the tcp-over-dns server. The tcp-over-dns server then decodes the data we sent encodes the server’s data in the answer and replies to us, the client.

So how does this help me? Well, think of Hotels, Airports and recently Airplanes! They all charge users for internet usage, we can bypass this with the use of DNS requests to external hosts which most systems do not yet block (it’s as simple as implementing split horizon DNS yet hardly anyone has). DNS tunnels are rather slow, but allow you to reply to emails and browse simple pages whilst travelling, expect around 20KB/s.

Using Iodine:

Tools you’ll need:

  • Linux server
  • OSX Client computer
  • A domain

On The Server:

  • Install iodine with either aptitude [apt-get install iodine] or from source: http://dev.kryo.se/iodine/
  • Start the iodine daemon with:
    iodined -f -c -P [yourpassword] 10.0.0.1 [yourdomain]

Client Setup:

  • I used Mac OSX with homebrew installed which had the package already:
    brew install iodine
  • Linux users can simply
    apt-get install iodine
  • You also need to install TUN/TAP drivers for OSX: http://tuntaposx.sourceforge.net/

DNS Setup:

  • With your registrar, you will want to set up something similar to this:
  • tunnelhost     IN      A       10.15.213.99
    tunnel         IN      NS      tunnelhost.mytunnel.com

Final Stage:

  • Now to connect, use: 
    sudo iodine -f -P [yourpassword] 10.15.213.99 tunnel.mytunnel.com
  • If you have issues, try adding -T to the client parameters
  • You can now ssh -D xxxx [email protected] and use a socks proxy to route traffic through your DNS tunnel! Enjoy!

OVH BHS Review

So, as per my previous post, OVH BHS Servers are being handed out to beta testers free to use until mid August 2012. I’ve been testing my allocated dev server for three days.

Now, let’s just go over those specs again:

  • 16 gb RAM — 2x8GB 1333 MHz Non ECC DDR2 Kingston modules.
# dmidecode 2.9
SMBIOS 2.7 present.
Handle 0x0029, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x0026
Error Information Handle: No Error
Total Width: 64 bits
Data Width: 64 bits
Size: 8192 MB
Form Factor: DIMM
Set: None
Locator: SODIMM1Bank Locator: Channel A DIMM 0
Type: <OUT OF SPEC>
Type Detail: Synchronous
Speed: 1333 MHz (0.8 ns)
Manufacturer: Kingston
Serial Number: 4932BC05
Asset Tag: A1_AssetTa
gNum0
Part Number: 9905428-093.A00LF
Handle 0x002C, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x0026
Error Information Handle: No Error
Total Width: 64 bits
Data Width: 64 bits
Size: 8192 MBForm Factor: DIMM
Set: None
Locator: SODIMM2
Bank Locator: Channel B DIMM 0
Type: <OUT OF S
PEC>
Type Detail: Synchronous
Speed: 1333 MHz (0.8 ns)
Manufacturer: Kingston
Serial Number: 3A32A802
Asset Tag: A1_AssetTagNum1
Part Number: 9905428-093.A00LF
  • 1tb hdd — On further inspection, 2x 1Tb HDDs in RAID 1, good for drive redundancy!
Attached devices:Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: ST1000DM003-9YN1 Rev: CC4H
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: ST1000DM003-9YN1 Rev: CC4H
Type: Direct-Access ANSI SCSI revision: 05
[email protected]:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/md1 10G 844M 8.7G 9% /
tmpfs 7.8G 0 7.8G 0% /lib/init/rw
udev 10M 172K 9.9M 2% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
/dev/md2 921G 7.0G 868G 1% /home
  • 100mbps connection — IPerf test from OVH France (Kimsufi box) resulted in 87.1Mbps, feel free to trace-route 198.245.62.123
  • Quad Core Intel(R) Core(TM) i3-2130 CPU @ 3.40GHz
  • Running Debian Squeeze by default (6.0)
  • 1 IPv4 Address
  • /64 subnet of IPv6 addresses (standard with every OVH server)
All in all, I can vouch for OVH as a whole for excellent uptime, a decent network (I have had 0 network downtime for over 6 months with OVH France on my kimsufi server), excellent support and a easy to use, functional management panel. I will update this post if I have any more findings and once I start running some services on this server I will comment on more in-depth performance.