Archive for the 'Geek' Category

iPhone Hacking Part 2, Tethering

iphone-tether-headIn my recent post on jailbreaking your iPhone, Steve Krzysiak posted a comment that challenged me to tether my iPhone as a modem. This allows one to use the data network on your iPhone to provide Internet to your computer, usually your laptop. Never one to back down from a challenge I started looking into doing just that.  My experiment was successful!

First, some background. Apple does not support tethering your iPhone, mainly at the request of AT&T. A tethering app called NetShare was pulled from the AppStore almost as soon as it appeared.   Also, AT&T and Apple are rumored to be adding a tethering service to the iPhone in the future that will cost $10/month.  Presumably this will only work with AT&T’s service.  Since tethering your iPhone may violate your mobile provider’s terms and conditions, this information is for experimental purposes, to see if it can be done.

The first step in tethering an iPhone is to Jailbreak it, again see my earlier blog post on this topic.  The Jailbreaking tool will install an app called Cydia to your iPhone, which allows you to browse and install onto your iPhone, software that is not available in the AppStore.  There you will be able to find tethering apps if you search under the term “modem”.

I tried two apps for this challenge, both apps require you to install software on your laptop as well, as they create ad-hoc wireless networks and tunnel through this network to get the tethering to work.  The first app I tried is called iPhoneModem by Addition, which is a shareware app.  I was unable to get this app to work, so I don’t know how good it is, but it got fairly good reviews by people that did get it up and running.  The second app I tried is confusingly  called iPhoneModem with zsrelay, which is free.  This app I was able to get up and running, but currently it only works with Safari or any other application that access the internet using Apple’s WebKit.  Not great, something I can use in a pinch.

So, Steve.  I have passed your challenge, do your or anyone else have any other iPhone Hacking challanges for me?

Cheap and Effective Backup

backup_traumaI started a project to install a file backup system for my home systems.  I have Windows, Linux and Mac systems on my home network with file types ranging from small text files to huge recording sessions.  I didn’t want to spend a lot (or any) money on a solution but I recognized the value of the information on my network.  If you are operating a business, these same thoughts and motivations should be crossing your mind.

Continue reading ‘Cheap and Effective Backup’

Hacking Your iPhone

iphoneinterface1Several months ago, I inherited Keith’s first generation iPhone when he upgraded to the new 3G.  I was quite excited!  I had been wanting to get my hands on an iPhone for while.  The only problem was that I was unhappy with some of the limitations that Apple put on the iPhone, the biggest being the requirement to using AT&T as my provider.  So I looked into jailbreaking and unlocking my iPhone, and was successful!   You too can jailbreak your iPhone to customize it more to your liking, and unlock it so you can use any mobile provider that you wish.

Jailbreaking your iPhone allows you to get around restrictions that Apple has put in place on installing apps and changing certain settings.  Once done you can add ringtones, wallpaper, access the iPhone filesystem from your desktop, and  install apps that have not been approved by Apple and are not available through the App Store in iTunes.  This article gives several reasons why jailbreaking is useful one of which is that jailbreaking is the first step to unlocking your iPhone.  Unlocking is when you change your iPhone so it will work with other mobile providers besides AT&T.  So even if you don’t want to unlock your iPhone, you can jailbreak it to give it more features.

There are lots of tools out there that will jailbreak and/or unlock your iPhone.  I used Pwnage and was up and running in less then half a day.  And if you make a mistake, you can restore your settings and start over.  Gone are the days were hacking your iPhone required you to open it up and go at it with a soldering iron!

There are some drawbacks though.  The biggest is that you will need to wait to update your iPhone OS until the your jailbreaking tool is updated for the new OS as well.  Another is that unlocking your iPhone 3G to go with another provider might mean giving up the 3G data speed.  While the iPhone will work with T-Mobile’s EDGE network it doesn’t work with T-Mobile’s 3G network (at least for now).  Other providers might have similar or worse problems regarding data access, something that you might want to research beforehand.  Finally, when buying a new iPhone, you often need to get a new contract with AT&T and breaking it  might cost you quite a bit of money.

So, if you got a new iPhone for the Holidays, why not look at jailbreaking it, even if you plan on staying with AT&T and not unlocking it.  It will allow you to do things with your iPhone that you didn’t know were possible.

How did they do that?

Have you ever been surfing the net and found a site that just blew you away? Sure you have.

When I find myself that position, the next question I ask is “How did they do that?”.  I have been doing alot of DOM programming lately which sparked my interest in AJAX-based frameworks.  Sure, you could “view source” and inspect the script tags, but as you all know, technical types are lazy.

I thought you might appreciate the WTFramework because it inspects and identifies the underlying framework with a single click. The project is actively supported and the list of libraries it can detect is impressive.  Here are a few:

Now I can spend more time learning from the expert users of these frameworks!

Recipe: How to make a brick

I was very excited last month to spend some time with my Neo FreeRunner last month.  I purchased the US (850/1800/1900) version.  This is the first Open Handset I have played with. According to Open Handset theory, you buy your phone and then choose your carrier.  Also applications that run on the device do not have to come from the carrier.  I can see a whole vendor community springing up for real estate.  Yep, we love our mobility!

Of course, the first thing I did was pop my T-Mobile SIM card into the phone to see just how open the Freerunner was.  To my delight, I was able to make a call to a co-worker.  I wonder if the folks I call when testing things ever get bothered?  Next was to receive a call.  This I did from from land line (preserving the patience of my brethren).  I can tell you that the ringtone of the FreeRunner is very “retro”, sounding like a landline in the UK.

The next order of business was to look at the applications.  The preloaded applications are based on the QTopia platform.  Phone … check.  Contacts … check.  Browser … check.  Good.   Now to hook up my various e-mail accounts.  Hey, not e-mail client (grrrrrr).  An e-mail client is a Google Summer of Code project, but the fact that it is missing keeps me from trying to use the phone daily.

Continue reading ‘Recipe: How to make a brick’

I Hate You More Then Ever XML

I love Milkman Dan.Okay, so I don’t actually hate XML.

But recently I have been working on writing a syndication tool and I am beginning to agree with a lot of people that question the use of XML for simple data exchange. XML was originally supposed to be both machine and human readable, and in the case of using XML to create structured documents, like XHTML, it is. It was an offshoot of SGML but had much stricter and therefore simpler syntax rules. But then people started to try and use XML for any sort of communication over the network; CSV files got turned into XML (at no real gain other than it’s XML), protocols for method invocation over HTTP (SOAP), to defining the interface for those method invocations (WSDL) and now it seems, for any data exchange out there, a lot of people think that you need to do it in XML, and that you should define the XML via an XSD (XML Schema Definition).  Now XSDs I hate!  In defining the schema of an XML document using XML you are using an crude tool for the task of exchanging data by using a terrible tool for the task of defining a schema. XSD is painful unless you have some sort of tool to to help you.  Don’t believe me, here is the XSD for syndication. Maybe I am crazy but I think that a schema definition language should be human readable and I don’t think XSD is.  The arguments for XML are many, but mostly seem to revolve around it being a standard, and that there are a lot of tools that exist for it.  So XML has evolved from a simplification of SGML for the creation of structured documents, to a catch all hammer in the toolbox of many software designers. Soon people will start suggesting that we just write the programs that run XML based files in some sore of XML based programming language (oh wait, they did that already with XSL and XSLT). There has to be a better way.

Right now I have been looking at other data exchange formats and have been focusing on JSON and YAML. Both are more human readable (YAML even more so than JSON) and have less weight to them than XML for data exchange.   They are standards with decent library support and can cover any structured data format that XML can.  There is even a tool out there to create verifiable schemas for both JSON and YAML called Kwalify. I also am starting to think that there needs to be a language for defining schemas in a language/platform neutral way. This language could be used by tools to generate things like XSD (if you have to use XML), YAML for Kwalify, SQL etc.  This language becomes like a DSL (Domain Specific Language) for defining schemas.  I know there are a lot of people that think that creating a parser for a new language is hard, but using tools like ANTLR and yacc it’s fairly easy and a powerfull addition to your developers toolbox.  As Martin Fowler says, don’t be afraid of creating parsers! We need to start thinking about the proper use of XML as a tool. It has it’s place, but there are better tools out there for doing many of the things that XML is currently used for. Also, is the obsession with using XML for everything preventing us from creating even better tools?  It’s something we need to think about.

PS: Apologies to Max Cannon, and many thanks to folks that helped create Build Your Own Meat!

Fun with Visualization

In my reading this morning, Chicagoist had a post which alerted me to Wordle.  We’ve been using word clouds in some of the flyers we’ve been making lately.  (And by we, I mean Ana and her excellent work.) Wordle is a quick and effortless way to make clouds that you are then free to do anything you like with.

For some geeky fun, I took the C++ source code (and header file) to librets::RetsSession from the libRETS source code, and generated a could. Who woulda that that in C/C++ return was the most recurring word? Okay, yeah, EVERYBODY.  Click on the image for a larger view.

Save The Data

On Last weeks episode I spoke about an easy way to get a little better data piece of mind. This of course was after a horrible, data laziness accident.

My accident wasn’t catastrophic, it was some pictures of the my dog. But they were the only pictures, and of course I wanted salvage them. I tried hooking the hard drive up to an external enclosure and connecting via windows. Boy did that give all sorts of pain to Windows. It saw the drive, and either just said ‘Do you want to format’ NO!!!!! or it just locked up file explorer.

So, the easy way was out. I needed to come up with a better plan. I decided to download DSL Linux. DSL linux is a small linux distribution that can be booted off a CD/USB Stick. Once you boot into it, it has a bunch of tools and utilities for file system exploring, as well as Wifi Sniffers and other utilities that you may want to tinker with, but dont want to set-up configure a whole Linux roll-out.

After some experimentation with copying the files to a good drive, removing that drive, and checking to see that I didn’t copy a corrupted file, I came up with a very smooth and easy method.

Continue reading ‘Save The Data’

I’m a tweeter, he’s a tweeter, don’t you want to be a tweeter too?

While at the Technology Directors conference here in Atlanta, GA I was asked by a few people in short order, what the value is in using twitter. If you don’t know what twitter is, in a feat of amazingly good timing the commoncraft.com team has come out with Twitter in Plain English, which does a great job of explaining the social aspects of the tool.

However, as Keith pointed out in his introductory post, I am a passionate about not only social media, but about lifehacking and Getting Things Done, so I use twitter in a outside-of-the-box way to make my life more productive, and I’ll share some of those ways with you below the jump. Continue reading ‘I’m a tweeter, he’s a tweeter, don’t you want to be a tweeter too?’

Culture 2.0: the end of Arrogance

hitchcock_silouetteJust a link to an article that made me think about how the business may change over the next couple of years.

When I speak about business models, I present those that are known and already in the field. One of the questions I get asked is “How will the business models change in the future?”. Putting my finger on how the next generation of REALTORS will engage had been difficult. I recently came to the “collaboration” thought and have been using it on the road for a couple of months. This article gave a reason to believe I should continue these thoughts.

Although microtrends are characterized as having Personas, they can also be used in a good way. Personas should be used to model Culture 1.0 and Culture 2.0 users because they have nothing to do with the Real Estate model being used by the software user.

OK, this sounds clumsy so far. Here is an example of what I mean. Note that persona is used in two different contexts:

Persona #1 – Culture 1.0

Campaign marketing tool that sends out messages and tries to categorize responses into one of 4 pre-planned sub-campaigns. Typically these are built with “tree logic” (if response #5 is ‘yes’ then ….). Each sub-campaign is designed to meet the needs of a “persona”.

Persona #2 – Culture 2.0

Organic marketing tool that uses content to attract attention, then tries to determine the intention of the consumer. Intention is another word for collaboration in this context.