I’ve just migrated this site to a new server in early July. I’m still working on getting things updated and getting errant images restored.
For years, my personal site was found at Trending Us, http://trending.us. I chose that name at the beginning because I had intended on mainly writing about trends in technology and other things of that nature. While I only write periodically, I found that I write about lots of different kinds of things.
Another issue is that I haven’t had a “branded” site. My handle “geuis” is the only name I use online. I haven’t had a place that has my projects and something approaching a portfolio. To address that, I’ve now switched over to http://geuis.com and forwarded everything to it.
The style is going to be updated, and perhaps I’ll post here a bit more regularly from now on.
Google Reader is dead. This was a product that many different people used for different purposes. I used it mainly as a way to subscribe and listen to my favorite podcasts. Others used it as a way to integrate disparate data feeds into a manageable and browsable list. It started in 2001 as JavaCollect.
What occurs to me at 2:26am PST, July 2nd, 2013 is that this doesn’t last forever. The approximately 10-15 year life span of a product, which seems like forever in our current eyes, it just a blip in the screen towards the things we should be building.
On March 5, I pulled the trigger on soft launching a new product, jsonip Pro http://getjsonip.com. My core goal failed dramatically, though I had some success around the periphery. There’s a few lessons here, some technical and some ethical. If you just want the summary, just scroll to the bottom. Continue reading
I started a utility service in November 2010 called http://jsonip.com. At its core, all it does is return your IP address as a json object. Simple, right?
Its now close to serving *10 million requests a month. Continue reading
The post is here: IOS 4.3 Nitro JS engine disabled for full screen apps and uiwebview and the Hacker News post is here: http://news.ycombinator.com/item?id=2317804
I ran the following tests using a GSM iPhone 4 and iPad v1 32gb w/ 3G, both upgraded to IOS 4.3.
My tests included 3 uninterrupted runs of Sunspider in each of the following situations:
- Mobile Safari, native browser
- Page saved as home screen icon, full screen
- Custom iPhone app using a UIWebView that directly loads the Sunspider test linked to originally
iPad v1 (browser):
- page1: 3320.3
- page2: 3248.5
- page3: 3241.8
- AVG: 3270.2 ms
iPad v1 (fullscreen):
- page1: 8383.8
- page2: 8375.4
- page3: 8397.2
- AVG: 8385.4666 ms
iPad (fullscreen, custom UIWebView app)
- page1: 7689.7
- page2: 7656.7
- page3: 7703.9
- AVG: 7683.4333 ms
iPhone 4 (browser):
- page1: 3981.3
- page2: 4110.1
- page3: 4087.5
- AVG: 4059.33333 ms
iPhone 4 (fullscreen):
- page1: 10383.4
- page2: 10594.6
- page3: 10572.7
- AVG: 10416.9 ms
iPhone 4 (fullscreen, custom UIWebView app)
- page1: 9400.0
- page2: 9422.8
- page3: 9431.4
- AVG: 9417.6666 ms
iPad v1 4.2 (browser):
- page1: 8145.2
- page2: 8149.6
- page3: 8166.3
- AVG: 8153.7ms
iPad v1 4.2 (fullscreen):
- page1: 8383.7
- page2: 8374.0
- page3: 8201.7
- AVG: 8319.8ms
Apple’s introduction video for the new iPad has undergone some changes, quietly.
When Steve Jobs demoed Safari on the iPad on stage, it was obvious that Flash wasn’t on there. Several sites he visited had the now-traditional blue block in place of the Flash player.
In the introductory video that was previewed and later put online, around 2:11 you see the New York Times homepage. A section of the page that uses Flash is clearly visible in the video. This has led to speculation that the iPad will indeed support Flash. No such luck for those that want it.
In an un-announced update to the video, that section has been re-edited to show the blue block.
View the videos yourself and compare. Right around 2:11.
(On a side note, I am on the side of *not* wanting Flash on the iPhone OS (iPhone, iPod Touch, iPad). Its slow, buggy, and just a bad experience overall.)
VirtualBox is a free, lightweight virtual machine simulator from Sun. The current version is 3.0.10.
One of the uses of VirtualBox is to run a web server or other application from a virtual operating system on your computer, whether it be Windows, Linux, or Mac.
So, the point of this short post is to describe how to access your web server from your host machine. For whatever odd reason, I simply could not find this documented *anywhere* that was simple. This requires no installation of extra software or configuration of anything on your computer or on your virtual server.
Ok, I’m assuming that you already have your server installed.
- Shut it down if its running.
- Open up Virtual Box. In the left panel, select your VM and then click the yellow Settings button above it.
- In the new view, click on the Network button off to the right along the top.
- By default, Adapter 1 should already be selected. If not select it, or if you are configuring a different adapter, select that one.
- You should see menus called Adapter Type, Attached To, and Name. Name is probably greyed out.
- Under Attached To, select Bridged Adapter. The Name menu should now be clickable.
- Under the Name menu, select the network adapter that your computer is using for its internet connection. I am on a Mac on wireless, so my network adapter is en1: Airport. Yours might be one of the others if you are connected via ethernet.
- Hit OK, and this window will go away.
- Now start your VM image and log in.
- Once it is started up, you have to find the IP address that the VM is now using.
- If you are running a Linux server like Ubuntu, type “ifconfig” on the command line. Look for “eth0″ and the “ifnet addr” near it. In my case, it is 22.214.171.124.
- If you are running Windows, open your command prompt and type “ipconfig”. Look for a similar type of IP address.
- The IP address you found will be the one that you use to contact your virtual web server.
- Open a browser and type that number in as the address. If your server is up and running, you should now see a web page from it.
As an added bonus, its easy to configure a local name that points to this IP address and makes it easy to access your web page in the future. The steps are nearly identical for Mac, Linux, and Windows users. Since I am on a Mac, I will describe the process for us. For Windows users, do a quick search on where to find your Hosts file. The information I describe here applies, but your hosts file is in a different location.
- Mac users: Open a terminal.
- Type ‘sudo pico /etc/hosts’ and enter.
- Somewhere at the end of the file, add something like “localubuntu 192.168.0.7″. Of course, “localubuntu” is the address I want to use. Feel free to name it whatever you like. Also, the IP address has to match the one that you found in the earlier steps with “ifconfig” or “ipconfig”.
- Hit control-o and enter to save the changes. Closing the terminal window will save the changes system wide. No reboot should be necessary.
- Now go back to a browser and try going to “localubuntu” or whatever you named yours and you should now be hitting your web server.
Feel free to leave comments, suggestions, or questions about any of this.
I ran into a problem today with UTF-8 encoding on my Mac(10.5.8), running a Java/Tomcat6 environment. It took a while to figure out, so I’m posting here in the hopes it helps others in the future.
Mac OS uses its own variant of the Java SDK. The default character encoding is MacRoman. (Read this page, scroll to “Character Encoding”). This can cause problems, such as my situation, where we are consuming a service that encodes its data as UTF-8, operates or transforms the data within our application, then outputs it again as UTF-8. The original UTF-8 data was being converted to MacRoman and then back out to UTF-8. Corruption ensued.
Depending on exactly what your problem is, I identified 2 general fixes. I only needed the first one, but I want to document the 2nd as well.
- Add URIEncoding to both the Java HTTP and AJP Connectors
- Add “-Dfile.encoding=UTF-8″ to your JAVA_OPTS environment variable.
- Edit your server.xml file. This is typically in /apache-tomcat/conf/server.xml.
- Look for the HTTP Connector, mine looks like this: <Connector port=”8080″ protocol=”HTTP/1.1″ connectionTimeout=”20000″ redirectPort=”8443″ useBodyEncodingForURI=”true”/>
- Add the uriencoding to it: <Connector port=”8080″ protocol=”HTTP/1.1″ connectionTimeout=”20000″ redirectPort=”8443″ useBodyEncodingForURI=”true” uriencoding=”UTF-8″/>
- Look for the AJP Connector: <Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″/>
- Add the uriencoding to it: <Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ uriencoding=”UTF-8″/>
- In my setup, I have added my JAVA_OPTS and other environment variables to my ~/.bash_profile. I am assuming that you already have your dev environment setup and know where your JAVA_OPTS are. This is my setup.
- From the terminal: sudo pico ~/.bash_profile and find the line with your JAVA_OPTS. Again, this is my config line and yours may be different.
- Add “-Dfile.encoding=UTF-8″ to it: export JAVA_OPTS=”-Xmx768m -XX:MaxPermSize=256m -Djava.awt.headless=true -Dfile.encoding=UTF-8″
It took me a few hours of searching around and it seems like these are the general settings that most people recommend. For me, it was the combination of both Connectors that made it work. It will probably be different for other people depending on your setup.
For extra info, visit these links for more info:
Tomcat and UTF-8
Apple’s Java Docs
The Goal – Get Page Speed Running on Firefox3.5 Beta I’ve been using Firefox3.5b as my primary browser more frequently because its just damned faster than FF3.0. I’m also a front-end engineer and my life online isn’t complete without Firebug. So I installed that, and on a whim wanted to install Google’s Page Speed Firebug extension. Except it wouldn’t. You probably aren’t reading this unless you know what Page Speed is already, but if you don’t and want to know more visit http://code.google.com/speed/page-speed/. Needless to say, I got this running. Kinda. Page Speed has some “bugs” in FF3.5 right now. This is simply a write-up on how to get it installed right now. This document will likely be out of date in a couple months.
Also, I am not providing a download for my modified Page Speed extension because:
- It will be out of date soon.
- I don’t want to deal with hosting it.
- And I don’t want to deal with comments from people who just install it and get any of the errors that result. This is just a how-to.
You need Firefox 3.5 Beta. Go here.
You need Firebug 1.4 Beta. Go here.
You need Page Speed. Go here.
Install the Firefox 3.5 Beta. When you get that going, install the Firebug 1.4 Beta extension.
STOP HERE. READ ON FIRST.
The Problem – Page Speed Isn’t Designed For Firefox 3.5 Beta
After I got this going, Page Speed was giving some errors. Basically, it looks like the page performance tab works just fine, but the page speed activity tab doesn’t. And it produces some errors. Oh well, lets continue.
What we’re doing is increasing the “maxVersion” value in the page-speed.xpi extension to allow FF3.5 to install it.
- Download the page-speed.xpi and save it locally on your machine. Direct Link
- Rename the file from “page-speed.xpi” to “page-speed.zip”.
- Un-archive the zip, aka unzip. This creates a directory called “page-speed”.
- Navigate to “page-speed” directory.
- Edit “install.rd” with your favorite text editor.
- Search for “3.0.*”
- Change to “3.5.*”
- Save the “install.rdf” file.
- On a Mac, select all of the contents of the page-speed directory, right-click and choose “Compress 6 items”. This creates “archive.zip” in the page-speed directory.
- Are you on Windows? I’m sure the steps are similar. You really should just get a Mac, because “I’m a Megan”, not a piece of under-performing commodity hardware with an over-priced OS and no quality pre-installed software.
- Rename “archive.zip” to “page-speed.xpi”.
- Drag the new “page-speed.xpi” into any open Firefox 3.5 Beta window and you should get the extension install dialogs. A restart of the browser is required after installation.
If you get an error like: “Error: Firefox could not install the file at because: Install script not found -204″ its because you created the archive wrong. See notes from above.
Assuming everything went well, you should now have Page Speed available in Firebug. In my testing, the Page Speed tab works great. However, the Page Speed Activity tab generates some errors and won’t run. I have no idea or ambition to fix this particular problem. Maybe someone more outgoing than I am can come up with a fix for this.