tech
Developing the Developer’s Mind
Sep 1st
As many of you know, I have been spending much more time developing than consulting. I have been working more on my PHP skills, while also learning Ruby on Rails and Python.
This is partly because much of my work has been both working on developing @SMCpros social media tool and with developing Facebook apps and contests.
When I first started developing, I was a freshman in high school. I wrote PASCAL, and was instantly hooked. These programs were basically long scripts, and used long control loops. This is the class that I learned how to scan things for exploits, write self-replicating programs, and generally be a geek.
Fast forward to 2 years ago, when I started with PHP. I was still writing long scripts, with big ass control loops, and they worked. However, they were slow, and bucked all major conventions.
Now, I write OO PHP. I am learning Ruby and Python, both of which use OO and the MVC ideas extensively. I am going from a script writer to an app writer. I am having to develop the developer’s mind.
This also means that I am taking debugging to a new level, writing tests, focusing on my tools and coding process, and actually acting like a developer, rather than just someone who writes code.
The developer’s mind is an interesting thing. It is the point when you go from script kiddie to an actual software writer. Its when your webapp needs work to keep it up and running. Its when you get the 3am calls about server issues. It is unlike any other mindset.
My New Desktop
Jul 21st
This is a slight departure from the normal geek chat that goes on here, but I wanted to show you all my desktop.
For some time now, I have been using GeekTool to embed scripts in my desktop. However, I didnt do any work to make them look good.
Now, after a night of ruby, php, and shell hacking, I have a functional, attractive desktop that tells me everything I need to know, right at the desktop level.
Scripts I used:
- Day, Date, Month
- A script to cURL the current weather icon from Yahoo
- Several scripts for network stats (internal and external IP, transfer rate, SSID)
- A few averaged pings to help me keep track of servers
- Custom “ego” scripts: 2 ruby scripts for getting pageviews from Google Analytics, and 2 php scripts for current twitter followers (learning enough regex to make the php scripts happen nearly killed the whole idea)
- A script to display my calendar
If you want help, or any of these scripts, leave a comment below.
Hacking android
Jul 14th
Motorola recently announced that the used the signed bootloader on the DroidX, and on the Droid2.
This is really bad news for anyone who wants to use custom roms, kernels, or even gain root access on their devices.
When the origional Droid launched, it had a bootloader that was unsigned, allowing users to replace it with a different bootloader that can use custom roms. This lead to the Droid becoming a favorite in the custom community, and remains one to this day.
When the international version of the Droid shipped (the Milestone), it had the signed bootloader.
That bootloader has yet to be defeated.
Motorola never said why they left the Droid so open. Their PR team stated that if you want a phone to use custom roms on, get a Nexus One.
I don’t get this. Why allow it on one device, but not all of them? Why lock it down in the first place? Android is ment to be open, so leave it open!
Android phones that CAN be opened to roms:
Droid
Moment
G1
Nexus One
MyTouch3G (also the slide, but its janky)
HTC Hero
HTC Evo
Droid Incrediable
Basically, everything but new Motorola phones. Which is why I won’t even consider getting one.
Posted from WordPress for Android
My Android Homescreens
Jun 18th
I figured it was time to do a post on what my homescreens look like, especially after upgrading to android 2.2. So, here you go:
This is the default screen on my Droid. From top -> bottom, L -> R:
Search Bar: It searches things
NewsRob: Google Reader app, works very well
Mint.com: Keeps track of the money
Listen: Google’s podcast app, works very well
Dropbox: File sync with my Mac, and the cloud. One of my favorite companies
Facebook: Facebook App
Twitter: Twitter app
Foursquare: Foursquare app
Voice: Google Voice app, for managing my GV number
Gmail: Duh
Gallery: Duh
Springpad: Online notebook/task manager/external brain. Replaces an old love, Evernote
Assistant: Keeps track of some accounts for me, like my frequent flyer miles and netflix. Serves as a backup to Mint too.
At the bottom, you see something new from FroYo, which is the launcher. The phone and browser icon are VERY nice to have there, and the app launcher is now the 3D scrolling one from the Nexus 1, rather than the drawer it used to be.
Have a question about any of these apps, or need a recommendation? Let me know in the comments.
Android 2.2 thoughts
Jun 15th
I have been running the newest version of Android-2.2 a.k.a. FroYo), and I think it really might be the best phone OS out there.
Random, unordered thoughts:
- Holy shit, this thing is FAST. Like, while my phone would regurarly lock up trying to archive more than 30 emails at once, on 2.2 it did 50 without even blinking.
- I visited several flash websites, and they were just as fast as my laptop (Mac-10.6.3-Google Chrome Dev Version)
- The launcher is very nice.
- There are a ton of small improvements that no one is talking about. Things like the “switch accounts” button being better, the UI greatly improving, and the addition of more drop-down options (like when you click on an image in the contact screen, but now everywhere on the phone)
- This feels a lot more like using a computer, and a lot less like a phone.
- I ran some benchmark tests (while waiting for downloads to finish). 2.2 is 30% faster than 2.1 on my device (Motorola Droid)
- While the process to root it was a lot more complicated than with 2.0.1, it was still very easy.
If anyone has any questions about 2.2, let me know in the comments and I will figure it out for you. Its safe to say, 2.2 and iOS4 will be a fun fight to watch.
The Whole Privacy Debacle
Jun 13th
So, tons of people have been all up in arms over privacy online. This is mainly headed by Facebook, but it comes up anytime information is shared, whether it is being shared with other people or with advertisers.
However, I have a huge problem with this. Like, boil my blood, go crazy frustrated. Users seem to miss a few MAJOR points when they get mad about this:
- Ultimately, it is the users fault. If they dont sign up, nothing is shared. If they dont share something, it doesn’t get out in public. If they dont read the notices on their accounts, its their fault.
- Sharing information is GOOD for the person. I prefer to share things like my location and information about my interests. Why? Google Latitude will tell me about my traveling. As will TripIt. Facebook will serve me more relevant ads, and Google will tailor my search results to my location. All networks, knowing my social graph, will allow me to leverage my friends even more.
- The downfalls of sharing have not shown themselves to me. If you are able to point them out, please post them in the comments.
Many people’s objections are not about the sharing itself, but how networks manage privacy. It more of a meta-getting pissed off about privacy. I cant describe how selfish and stupid that argument is. Facebook has 400 MILLION users. How is one, or even 30,000 (the number who participated in “Quit Facebook Day” ) user’s opinion enough to sway Facebook.
So people, figure out the settings. Look through the settings, play with them, and only share what you want. You are 100% in control of you, and your online persona.
Super simple screen scraping in PHP
Jun 7th
I recently put together V2 of the “Who’se Here” section for the CoCoMSP site. The first one, which I wrote several months ago, relied on Twitter posts from the location. However, this happened to coincide with the fad of posting Foursquare updates to Twitter ending. So, I just put together a new version, which does this via scraping the most recent avatars from the Foursquare venue page.
Here is the class to handle the scraping:
And the actual file:
What these do is go to the venue page, grab the table with the pictures, add in the link to foursquare because Foursquare uses relative URL’s, and output it.
Playing with @Anywhere
Apr 14th
I will be testing, playing with, and quite possiably breaking @anywhere on this site tonight. So, hover over things with the @ symbol and we shall see how it works.
For testing, @mitchellhislop @smcpros @anywhere
iPhone 4.0 guesses
Apr 7th
So, tomorrow there is a preview event for iPhone 4.0. This is going to be a list of guesses, and will get updated for accuracy after the event. Also, you should leave your guesses in the comments below.
A quick note-these guesses may just sound like I am naming things from the iPad. Its important to remember that the iPad is actually running a version of iPhone OS that is newer than the one on the iPhone-many of my guesses will be centered on making those features OS-wide.
UPDATE: Looks like I nailed it….
Onto the guesses:
- User-selected wallpaper: Yes, I picked the easy one first. This feature has been around for like a decade, and the iPad can do it. Seems easy to me. YUP
- Multitasking: Or rather, Apple’s version of it. I think it will be more just a better way to switch between apps, but opening a link in an email needs to not close mail, it needs to open safari, and there needs to be an easy way to get your main message on the NEXT screen you see-not having to close out to the home screen, and then open mail. YUP
- Support for BT keyboards: Another thing that the iPad can do, and I know several people with Apple BT keyboards that would love to use them on their phones. YUP
- Speed: The iPad is FAST. Many time, the iPhone is not. I am guessing this will get fixed. YUP
- Unified Inbox: Or at least the option for one. Currently, Apple’s mail app sucks. Another thing that needs to be fixed. YUP
- Mobile Ad Platform: I think this will be during the same event, and it will be called iAd by millions of people, though likely not being officially called that. YUP
- Better notifications: Apple, if someone has an alarm set, their alarm should go off EVEN IF THERE IS A NOTIFICATION ON THE SCREEN!!!. Also, having every notification pop up in an interrupting manner is VERY annoying. Thats why I love the Android notification screen-so unobtrusive YUP
For the rest of the announcements, check out Engadget’s liveblog of the event
Like I said, I will update this tomorrow, and see how I did. Want to join me? Leave your guesses in the comments
Lacking Context
Mar 31st
The other day, while writing code to work with Viralheat (for an SMCpros client), it hit me. The flaw, the thing that I dislike about ANY social media monitoring tool (although, I do love ViralHeat, because their RESTful API kicks some serious tail).
Its a lack of context.
No tool out there (and I have demoed most of them) can give context to a tweet. They assign sentiment based on a database of wordlists of what is positive and what is negative. They have no way of telling if someone is just being snarky, if they are in a foul mood, or even if they use pronouns. If I tweet “Man, @twitter is the best company to work for” followed by “They really know their stuff, great job”, all tools will only grab the first one. Same goes if I am tweeting bad things. This issue is joined with the issue that there is not a ton of follow up-when a rep from a company responds to someone tweeting, not much is done to see how it changes the sentiment regarding that company. Mentions of a brand are treated like islands-concise, self-contained bubbles of information, not a chain of data.
Now, being someone who sits right at the intersection of Social street and Developer drive, I am going to fix this. I cant tell you too much about it (believe me, I will when I can), but know that we are making a solution. We want to provide context, and more layers and views of data, to the social sphere. More abilities for people to view data, more ways to use all the data that is being generated by everyone.








