Tips for making your Airport Security Line fast and friendlier to others in line.

If you’re a geek traveler with a backpack full of gadgets, perhaps you’ve also obsesivelly thought of how to make this tedious part of travelling as fast and issue free as possible.

Here’s my ritual for the damn TSA Security Line.

I usually travel with:
– A jacket since most places I travel to are cold, or the plane cabin could be cold.
– Backpack
– My laptop.
– iPad, Kindle, SLR Camera.
– Belt for my pants, I used to not bring belts so I wouldn’t have to take them off before the line (that’s how obsessive I am about this)

BEFORE YOU GET INTO THE X-RAY CONVEYOR BELT LINE:

If you are wearing a jacket, place EVERYTHING that you have in your pant pockets (that means wallet, cellphone, keys, coins, etc) except your ID/Boarding pass on your jacket pockets, zip em up if you jacket has zippers. If you don’t have a jacket, or your jacket doesn’t have zippers in the pockets, it’s preferable that you put all these things inside one of the outer pockets of your backpack.

WHILE ON THE X-RAY CONVEYOR BELT LINE:

After you’ve given the go by the security officer and you’re about to grab the plastic trays, take your shoes, belt and jacket off and place them on a container.

Immediatly, open your backpack, take your laptop out, put it on a second container, STACK this container on top of the one holding your jacket/belt/shoes.

Then for the iPad,Kindle,SLR camera grab a third plastic container, and again, STACK IT on top of the other two, now you are carryng everything on a smaller area and more people can walk in behind you towards the x-ray machine conveyor belt.

Put your backpack ahead of the containers, and then start unstacking things in the order you prefer, I like having my jacket and shoes first, then my laptop, and then the rest, so I can put my shoes on, restack everything on the other end, and walk to the area where you can sit and re-arrange.

This way you won’t block the line after your things have been scanned and there’s less of a chance you will forget anything.

Oh, and make sure you wear white socks, you don’t want to be profiled as a crazy eastern terrorist by wearing thin black socks.

Obsessive-compulsive Cheers

Archive.org as a new search engine in FrostWire puts millions of free legal files in your hands.

We’re currently polishing our next release of FrostWire for Android 1.0.6.

Our last release was back in November 2012, since then we’ve received crash reports and lots of complaints that have helped us make the next FrostWire for Android much more robust and compatible for the +2,600 different supported Android devices that run FrostWire on hundreds of thousands of mobile devices every day.

We’ve taken this time to make the search experience considerably faster and we’ve finally been able to integrate our search with another great source of legally free available content, Archive.org.

Archive.org is a non profit organization that crawls and indexes the web’s free content and as of the moment of this writing by having FrostWire connect to its search api you will be able to search through an astonishing number of free and legal works, here’s how they break them down on their home page today:

1,181,452 movies
114,118 live concerts
1,567,041 audio recordings
4,386,872 texts

that’s over 7,246,483 works most of which are tagged with Public Domain and Creative Commons licenses that you’ll be able to download and share with FrostWire.

Most of this content is under the Public Domain and also under Creative Commons licenses.
If FrostWire can detect the license on the content it yields on search results you will see it on screen.

And every year that passes, more works automatically fall into the public domain so you will be able to access more and more information for free absolutely legally, literally from the palm of your hand via FrostWire. We think this goes in line with our mission, and once this update is released the world will be a little better place to be in since all of you will be empowered with free digital works and culture.

Other than that we’ve fixed many crashes, freezes, lowered cpu and memory consumption (which will make your battery last more), we’ve done upgrades on almost all of the application icons, fixed issues for older phones that didn’t have SD cards the way new phones do now, bugs on the audio player and so much more.

Archive.org as a search engine, and a revamp of the search experience is also being added to FrostWire for Desktop so stay tuned for our next desktop release as well (5.5.6)

changelog

FrostWire 1.0.6 - 03/28/2013
 - Faster search results. Search architecture revised and improved.
 - Includes search results from archive.org, which indexes millions
   of public domain and creative commons works from all over the
   internet.
 - FrostWire won't disable screen locking during audio playback.
   It's now up to the user to set longer auto-locking timeouts if
   they want to use FrostWire as an audio player in their vehicles.
 - UI fix, media player screen is correctly updated if a song starts
   while the screen was locked.
 - Updated icons and graphics.
 - Improved mime type detection.
 - Updated UPnP cling libraries for better Wi-Fi sharing discovery.
 - Multiple crashes and freezes fixed.
 - Opens .torrent files from urls and from any file browser.
 - Fixes a crash when sharing files from third party apps like FileKicker
   which pass filepath uris instead of android provider uris.
 - Fixes double audio playback issue with third party media playing apps.
 - Fixes bug where the app would force close and restart on phones without SD cards.

java: How to get all the files inside a folder and its subfolders without recursion

Most programmers will do this in a recursive fashion, but doing that is putting yourself at risk of hitting a stack overflow error, and it’s 20% slower (according to my tests). Here’s my first implementation of a method that will return just the files (cause I didn’t need the folders, you can always hack it to your needs). This is part of FrostWire for Android and FrostWire for Desktop, all the code is available under the GPL at our github repository.

[java]
/** Given a folder path it’ll return all the files contained within it and it’s subfolders
* as a flat set of Files.
*
* Non-recursive implementation, up to 20% faster in tests than recursive implementation. 🙂
*
* @author gubatron
* @param folder
* @param extensions If you only need certain files filtered by their extensions, use this string array (without the “.”). or set to null if you want all files. e.g. [“txt”,”jpg”] if you only want text files and jpegs.
*
* @return The set of files.
*/
public static Collection getAllFolderFiles(File folder, String[] extensions) {
Set results = new HashSet();
Stack subFolders = new Stack();
File currentFolder = folder;
while (currentFolder != null && currentFolder.isDirectory() && currentFolder.canRead()) {
File[] fs = null;
try {
fs = currentFolder.listFiles();
} catch (SecurityException e) {
}

if (fs != null && fs.length > 0) {
for (File f : fs) {
if (!f.isDirectory()) {
if (extensions == null || FilenameUtils.isExtension(f.getName(), extensions)) {
results.add(f);
}
} else {
subFolders.push(f);
}
}
}

if (!subFolders.isEmpty()) {
currentFolder = subFolders.pop();
} else {
currentFolder = null;
}
}
return results;
}
[/java]

Here’s the FilenameUtils if you want the isExtension() implementation and it’s dependencies, you can always code your own there

jar dependencies if you plan to use the cling UPnP library in your android project

This took me quite a while and lots of runtime errors, here are the minimum jars I needed to add to my project since now cling when used on android needs jetty, and damn jetty is broken into a thousand little jars for maximum modularity.

These are the one jars that I needed to not have any more runtime (class not found) errors

jetty-security-8.1.8.v20121106.jar
jetty-http-8.1.8.v20121106.jar
jetty-continuation-8.1.8.v20121106.jar
jetty-io-8.1.8.v20121106.jar
jetty-util-8.1.8.v20121106.jar
jetty-server-8.1.8.v20121106.jar
jetty-servlet-8.1.8.v20121106.jar
jetty-client-8.1.8.v20121106.jar
servlet-api-3.0.jar

How to enable adb logcat on Android 4 (debugging output)

So you got a new Nexus or another Android running Android +4.2 and there’s no “Applications” menu entry in the settings menu.

No worries.

Go to the “About phone” entry at the bottom of settings, then scroll all the way down to the “Build number” menu entry.

Tap on it SEVEN times. (You’ll see funny “toast” messages come along)

When you go back to the main “Settings” menu, you will see a “{ } Developer options” entry.

Cheers