I never really had idols but John Stewart was about as close as they come.
I’ve been watching The Daily Show since 1996, and avidly since 2000 after John Stewart took the helm in 1999. It sparked my insatiable thirst for political humor and was no small part of my personal political evolution.
As of writing this, my only regular TV consumption of the past several years has been comprised of The Daily Show, Colbert Report, Real Time with Bill Maher and now Last Week with John Oliver, three of the four were (somewhat) under the Daily Show.
John Stewart was the port in the storm for left-leaning intellectuals during the Bush years. I once got in a heated debate during Thanksgiving back in 2003 with my Uncle, my cousin and his friend Ricky as they watched Bill O'Reilly. As a cornerstone of my debate was John Stewart’s lampooning of Fox News distortion of reality. It sounds trivial today, but calling Bill O’ Reilly puppet in 2003 was essentially labeling myself as ultra-minority of anti-American communist anarcho-socialists who wallowed in self-hatred. It felt being the only sober person in car full of boisterious drunks who wouldn’t let you take the wheel. I much prefer things today to then, and Stewart was one of the key people reframing the debate between left and right.
Its easy to forget what life was like back in the early 2000s post 9/11 (or perhaps for many on Tumblr, impossible to remember) but America waved its civil-rights along with its flags, and political dissent seemed to be underwhelming at best.
That said, John Stewart was always poignant and always amazing.
About two months ago I bought a GoPro Hero 4 Black on a whim as yet-another-way to document my hikes, to compliment my Olympus OM-D E-M5+ M.ZUIKO 12-40mm f/2.8 Pro lens and iPhone 6.
Joe and Katherine pose, Oneonta 2015
I went on a hike in the Columbia Gorge to return to Oneonta falls with friends Joe and Katherine. Words hardly do it justice, so I’ve littered this post with photos from previous hikes. It's an epic short hike down a river. Let me clarify when I say down a river, I mean walking literally in the river, which requires crossing a somewhat dangerous log jam, wading in chest-high water in a slot canyon to arrive at the canyon’s end and river’s headwater, large a waterfall.
David crosses the logjam and treks onward, Oneoneta Gorge 2014
As if the hike isn’t magical enough, the waterfall makes for a great (albeit cold) swimming hole. Its one of those exceptionally rare gems that make Oregon the Pacific Wonderland, and makes for one the most amazing hikes despite its unbecoming ¼ mile length.
Britney jumps, Oneoneta Falls 2014
Surprisingly few people jump in into Oneonta. The brave climb along the rock face on either side of the pool and jump, the end pool which is roughly 10-12 feet deep. This is exactly what I did… and what exactly my friend Joe did with my GoPro.
GoPro goes for a dive
We attempted to look for the sunken camera, but without any mask, the dark murky water made it impossible to see. None of the trio, Katherine, Joe or I would be considered accomplished divers, so we left, and Joe offered to pay for another GoPro, all $500 of it to which he transferred me the money immediately via Square Cash.
Every now and again there’s someone that restores your faith in humanity. Two days later, another hiker recovered it, a certified bad-ass retiree named Terry H. who makes a hobby of diving into Oneonta and recovering objects. He’s recovered two other GoPros to date, returning the previous to a girl in Texas.
Upon recovery, Terry e-mailed the photos from the GoPro to friends who then were posted on a popular Oregon Hiker’s group on facebook.
Screencap from the GoPro by Terry
Joe was informed by a coworker that someone found his camera, and he promptly replied. He proved his identity by using the photo at the top of this post. By the end of the next day, I was in touch with Terry whom I organized to meet./p>
Joe and I were both thrilled, Joe wasn’t out the cost of a brand new GoPro, and I got my GoPro back complete with footage. As a way to say thanks, I rode my bike to REI on my lunch break and picked up a gift card on the correct assumption that Terry was some sort of outdoors guru with an affinity for REI. (Really, what hiker doesn’t love REI?)
I met Terry at his house due east of Portland, where he greeted me instantly without a moment of hesitation and was completely friendly. We talked for about twenty minutes about hiking in the Northwest. Terry refused the gift at first, but I pointed out I had written his name on the card, and explained how Joe was equally as grateful as it meant he wasn’t out the money for a GoPro 4 black, Terry accepted. He mentioned he was debating getting a GoPro himself. I assume after fishing a few out of waterfalls/rivers to find them in working order, he’s well aware of their durability.
Lastly, I ordered a floaty for my GoPro from Amazon. Props to GoPro for making a camera that survives waterfalls, and to all the good people who helped Terry locate Joe.
Wired posted a pretty interesting (and negligent) video and article where a hacked Jeep was handed over to a reporter to drive. During the drive the hackers asserted control over the vehicle, blasting music, triggering the wipers/cleaner and even cutting the accelerator all while on driving on an Interstate highway.
I’m not a neo-luddite or even anti-technology, as we constantly improve quality of life but I’m starting to doubt all the benefits in a world where everything has firmware and you’re always being watched.
I was handed a batch of videos from a client’s video shoot recently from a client’s video shoot. MXF (Material exchange format) is a container format much like MOV, AVI and MKV but there’s little info about it. Quicktime derps on it.
Recently one of my friends asked me what I used for my mobile testing, and I was struck by how few devices I use. Perhaps its a bit of nostalgia but in 2015, the idea of mobile device labs have dried up.
Back in 2012, I’d been very excited to have a setup like one of the messes above, but the wild west days are gone. A few reasons jump to mind:
Mobile is a two party system between iOS and Android (Sorry MS, RIP Palm).
Mobile browsers have matured.
We no longer think in “devices” but screen sizes. Responsive web design solves most screen size issues.
Fragmentation is increasingly less of an issues. iOS adoption rates are impressive. Android grew up and thanks to Chrome swapped to the default browser for most handsets, Android fragmentation is less of a problem for web developers.
Its all about webkit (Sorry Mozilla).
Simulators are fairly accurate for 95% of the time for web development.
The rise of VNC fueled services like BrowserStack enable users to test on edge cases without the need for expensive labs.
Device longevity for phones is still relatively low (when’s the last time you’ve seen an iPhone 4 or Galaxy S1 in the wild or even a iPhone 4S?)
Most devs make effective use of libraries like Modernizr and HeadJS.
Visual Regression testing keeps a finalized design in check.
Quick introduction, Bootstrap Sass is pretty easy to use, and highly recommended as unneeded UI can be commented out in the _boostrap.scss
I’ve compiled a list for quick reference of common vars and media queries. These are located in bootstrap/_variables.scss, these can be changed at roughly line 287. Each root variable $screen-XX defines both the min and max variables, the root vars are depreciated adn media queries should be written with the -min and -max.
$screen-xs = 480px
$screen-sm = 768px
$screen-md = 992px
$screen-lg = 1200px
Depreciated
Note: These can be used instead of screen-xx-min but shouldn’t be.
I wish I made a yearly habit of this, documenting my front end work flow: both hardware and software wise over the years.
Historically its largely been determined by place of my employment. When I worked for a university bookstore, my workflow was pretty basic. I was given sort of AMD WinXP config with Dreamweaver / Photoshop in 2010 followed by some sort of awful energy drink.. My job after that was an 21 inch iMac in 2012 with Coda / Photoshop / VMware / iOS simulator, and with some sort of tea or energy drink.
Over time my workflow has expanded, smaller computer but bigger displays and more devices, and more software and straight coffee has replaced all inferior beverages.
Hardware: ( Pictured Left to right):
27 inch 4k Dell monitor, Nexus 5, iPhone 5, iPad 2, 2013 Retina MacBook Pro 15, 20 inch Viewsonic 1080p, Elgato Thunderbolt 2 Dock, USB 3.0 hub, USB 3.0 HDD, Apple keyboard, Logitech G500.
My first DSL modem in 1999 required Telnetting in via serial port to USB. I had to call a network technician at Qwest, and followed by typing in what seemed like arcane commands. I had no idea what I was doing. Things have changed for the better, but most DSL modems still have the ability to log into them directly through command line interfaces. The C1000Z runs BusyBox Linux which comes loaded with your usual base Linux utilities, so if you can wield Bash, you can hack your modem.
Grabbing your PPP username
I was looking to enabled the Transparent Bridge mode for my new Netgear R6050 after a friend managed to break the internal antenna on my Zyxel C1000Z, I wasn’t home so I don’t know the physics involved. Rather than pay $99 to CenturyLink for a new modem/router I decided to buy a new WAP/Router.
Having a little network administration under my belt, I figured I could grab the PPP Password.
The following guide was indispensable and got me 95% of the way there so I suggest checking it out first and/or following it along with my more “For Dummies” guide:
You’ll want a basic understanding of SSH and/or Telnet. OS X regardless of version come with SSH and Telnet as does (almost) every flavor of Linux. Windows users will need Putty.
Step 1:
First you’ll need to enable telnet in your Router, and you’ll need PPPoe enabled (Under WAN settings), these can easily be done through the Modem’s GUI
Step 2:
Fire up your terminal (Windows users will have to use Putty, and translate the instruction) and type:
telnet YOUR-IP-ADRRESS
In this example, my router’s IP address is 192.168.0.1, this is the default address so I would type:
telnet 192.168.0.1
It make take a moment for the router to respond, once it does, respond something like “BCM963268 Broadband Router” and it should ask for your username, type in the username you entered hit return and it should then ask for your password, enter the password you typed in, hit return.
Step 3:
Using the terminal we can call all the active tasks running on the modem, to do so type:
ps
Geek stuff: Users can use sh to access the BusyBox linux Bash shell and run task monitoring software like top. If you’re feeling adventurous, type sh and poke around using commands like ls and top. You can grab the process ID using top just like we do in step 4.
Step 4:
You should see a long list of responses, that read:
PID USER VSZ STAT COMMAND
1 admin 1556 S init
2 admin 0 SW< [kthreadd] 3
admin 0 SW< [migration/0]
4 admin 0 SW [sirq-high/0]
and so on... We’re only interested in one entry, the one that’s running the pppd (or ppp*) command. it’ll probably be at the bottom. It should read something like:
The password portion of this is encoded, the tricky part here is identifying it. We know the that this is a concatenated line by gauging from the previous line. The password portion should be between -p and -. In this example, the encoded password is:
jlFrVNtRMtU=
Step 6:
This password is encoded in base64, thanks to the leg work Make a new tab or new terminal window, and type:
echo "jlFrVNtRMtU=" | base64 --decode
It should spit back something like:
ac7gkDnUmac-pro:~ user$
the ac7gkDnU will be your PPP password. Congrats! You’re now ready to enable transparent bridge mode on your router.
Zeppelin is a custom carrier icon jailbreak application, and when combined with iFile, it only takes a few minutes to create your own carrier icons.
All of Zeppelin’s icons are located /Library/Zeppelin (using iFile). Also notable is the README.html located in the same directly which contains all the specs for custom Zeppelin icons, which are all listed here.
Most guides recommend a plethora of icon names and sizes but most pertain to old iOS versions. As of iOS 7, only three styles matter.
Step 1: Creating the icons
For iOS 7 and iOS 8 (tested on iOS 8.4), you’ll need to create three separate icon styles at three sizes for a total of nine icons. Here’s a quick run-down of the three styles:
logo - black silhouetted logo (free of whitespace). This is used by Zeppelin to color accordingly.
dark - this is used when the statusbar icons are dark. It can use any combination of colors.
light - this is used when the statusbar icons are dark. It can use any combination of colors.
Each icon needs three separate sizes for varying densities, standard, 2x and 3x sizes. The height is the most important if the size height is incorrect, you may see icon flashing on screen transitions. The sizes are as follows: 40px by 16px , 80px by 32px @2x, and 120px by 48px @3x.
So for a working set of Zeppelin icons you’ll need to create a total of nine icons:
logo.png - black silhouetted logo. 40px (max width) x 16px.
logo@2x.png - 80px (max width) x 32px.
logo@3x.png - 120px (max width) x 48px
dark.png - show on dark toolbar, 40px (max width) x 16px.
dark@2x.png - 80px (max width) x 32px.
dark@3x.png - 120px (max width) x 48px
light.png - show on light toolbar, 40px (max width) x 16px.
light@2x.png - 80px (max width) x 32px.
light@3x.png - 120px (max width) x 48px
For this example, I created an based off of University of Oregon’s O logo, you can download my icon set here (click download zip on the lower right hand corner).
Step 2: Launch iFile and go to Library/Zeppelin.
Step 3: Create a new folder for your new icon.
Click Edit in upper right hand corner and click the + symbol.
Name your icon whatever you’d like, all the default iFile attributes and ownerships should be correct.
Step 4: Start up iFile and click the web server (the globe icon).
Plug the IP address that ifile reports into your web browser on your desktop computer (In this example its 192.168.0:103:10000), and navigate to Library/Zeppelin/[YOUR FOLDER] and upload your set of 9 PNGs.
Step 5: Close iFile’s webserver and go to your iPhone’s Settings -> Zeppelin
Step 6: Select your custom icon under your theme menu!
This means that if you’ve matched your library with Apple Music and iCloud Music Library, you need to keep backups of your original files. If not, you’ll end up with files that you can’t play without an Apple Music subscription.
So think carefully if you plan to use iCloud Music Library.
Match doesn’t exist separately. Instead, Apple Music gobbles up your iTunes Match library. I’m sure there are some users who don’t care, but your music library is held hostage for eternity even if you bought it elsewhere (if you delete or lose your DRM free originals).
With reports of playlists being munched and the service crashing, Apple Music has been anything but smooth.
Tested a few of my favorite tweaks and can confirm the following jailbreak tweaks/apps work with iOS 8.4 despite not being labeled as such. I personally tested the following:
The author of Activator dropped a beta for iOS 8.4, so dependent apps can be installed.
It took a full restore before I was able to jailbreak with Taig, but after that, it went smoothly. I’d hold off on installing any music related tweaks, but most iOS 8.3 jailbreaks seem to be working.
I’ve been running FireFox Developer Edition for two days now, and easily one of the most exciting features is having access to FireFox’s Dev tools on iOS. Safari Development tools work, but FireFox’s dev tools are a bit easier to use once properly fired up.
The instructions are pretty good on FireFox’s website but here’s a quicker, easier guide to getting going with Remote debugging in FireFox.
1) Enable development mode on your iOS device (or simulator).
Go to Settings -> Safari -> Advanced and check Web Inspector. Physical devices need to be plugged in via USB.
2) In FireFox Developer Edition go to Tools -> Web Developer WebIDE
3) From the WebIDE window select Safari, FireFox and other WebViews on iOS on the right-hand side from Select Runtime.
4) From Open App select the open tab
Troubleshooting!
FireFox Developer Edition is exceptionally finicky about multiple iOS devices, so if you’re experiencing problems, connect only one device (a simulator or physical hardware).
WebIDE also doesn’t like when devices to go to sleep, letting a device go to sleep probably will require disconnecting and reconnecting, be sure Safari is open and the active application.
When in doubt, Disconnect from the WebIDE and select again from the WebIDE. Your device should show up on the Open App menu.
On May 18th, 2015 Audible unveiled a new version touting CarPlay, better lock screen support, book discovery, however, it didn’t go as planned and an App that average a 4.5-star averages overnight dropped to a single star and half.
In a scramble to fix, Audible released 2.5.1update requiring users to log into the app, sign out, delete it and reinstall it, sign back into their account, and redownload their books.
Still ,even after the 2.5.1 update, t seems a large number of users are still experiencing problems (I imagine a fair amount are unaccustomed to the contrivances of following the aforementioned steps).
Audible provided a handy guide, but it doesn’t cover all the steps. I had to walk my own mother through the steps so here’s the problems she encountered.
"I tap Audible and all I see is a black screen" :(
If you’re receiving a black screen, first try quitting Audible. Go to your home screen, double tap the home button to bring up your recent apps and swipe up on the Audible pane.
How do I sign out?
Relaunch Audible, ignore any errors about updating. Click ok or cancel. From the home screen tap More.
Tap Settings
Tap the sign out button in the upper right hand corner
I’m a fan of Audible, and can’t recommend it enough as I have roughly 225 titles in my library as of writing this. However, I was pleasantly annoyed when I updated today to find this problem plagued 2.5.1.