Categories
Articles Podcasts Review Technology Travel

Two Weeks in Review – November 5, 2017

4:45 and its dark outside

Podcasts

The Finnish (UBI) Experiment – 99 Percent Invisible

The Psychology of Self-Righteousness – Jonathan Haidt – On Being
An interesting psychological take on political leanings

Readings

Bitcoin uses a lot of energy. Why not a solar powered rig?

The World’s Happiest Places – National Geographic

Tech

Xbox One X

iPhone X

A raspi cluster looks fun, and so does gaming on a plane.

And so many video games: BF1, Fortnite and TF2.

Food

Challah French toast

Donut or doughnut?

Categories
Articles Podcasts Review Technology Video

Week in Review – September 17, 2017

A couple readings and listenings this week

Anil Dash’s Reflections of 9/11

John Gruber’s Daring Fireball

Stratechery & Exponent on the iPhone

TED Radio Hour The Power of Design

And a new video

Gothic Basin by Air

Categories
Articles Books Review Technology Travel

Week in Review – August 27, 2017

Eclipse 2K17!

Tech & Programming

Books & Reading

Disney’s Choice

Stratechery

Vertical companies like Apple achieve profits by selling differentiated goods at high margins. Horizontal companies like Google, on the other hand, achieve profits through scale, which by extension means being free (or as low cost as possible) is more important than being the “best”; the brilliance of Google’s model, of course, is that having more users, and thus more data, means it is the best as well.

Epic of Gilgamesh

Wikipedia page

This story is over 4000 years old but was only discovered in 1853. Time deteriorated the tablets and filtered the text to what we have today. The story is about King Gilgamesh of Uruk and his quest to beat death, but what amazed me was the insight it gave to the scale of humanity at the time the story was written (my thoughts were influenced from just reading Sapiens). If all stories were kept on multiple tablets of similar size, where are all the others? What happened in the 4000 years that we never decided to make another copy? Today, it seems the internet will preserve all we create for the foreseeable future, so Gilgamesh will live on.

Everything Else

CinemaSins

CinemaSins is great for screening movies of questionable quality without investing the entire 2 hours on a rotten tomato (but the Kong director doesn’t think so). For example, Power Rangers. Now I know I only need to watch the end to see Megazord. Granted this is not a replacement for watching the movie, just a way to rearrange your list of what to watch next. Still, such nostalgia.

Don’t forget the second step

Seth Godin

Showing up and doing it again and again until you’re good at it, and until it’s part of who you are and what you do.

Gothic Basin

A preview of what’s to come…

At the top of Gothic Basin

Earworm
Categories
Fun Technology

Cryptocurrency

Here’s an unformed thought for the day

What is the value of a cryptocurrency? If something like Ripple makes sense from an application perspective, but the blockchain is not as useful, does it adhere to the crypto manta of fat protocols and lean application layer? Not sure exactly what that means yet, but if the application is the selling point, it seems like blockchain is not the most well suited to the problem.

When we look at Bitcoin, the value of the blockchain is defined by its ability to record financial transactions, and rewarded in the verification, or Ethereum, where the value is the smart contracts and again rewarded in verification, the inherent the value of the coin is in the blockchain, the fat protocols that give life to the thin task layer above.

Does bitcoin, the currency, have financial value because of the Bitcoin blockchain? I am not quite sure. Where does the $2.5k+ price point come from? I sort of understand the opportunity of blockchain as a technology, but the value in the currency still alludes me.

Here’s another coin that makes some sense. Filecoin. This is a cryptocurrency that is paid to users who lend unused hard drive space. File transactions are stored in blockchain and contracts are paid out via a filecoin drop (how to upper and lower case coins differ? Bitcoin vs bitcoin?). With Filecoin is a tangible contract. A seller who has unused hard drive space in s server somewhere. A buyer who needs hard drives to store data. And a currency, filecoin, as a means for the transaction to take place. The Filecoin blockchain (I’m sticking with upper case for the blockchain itself, and lowercase for the coin, maybe that’s right), records all the transactions keeping a history of what went where (again, maybe this is just for Bitcoin). I kinda had it: http://filecoin.io/

What else is out there?

Steemit, Synereo, Akasha? I like the tag line of mining your mind. One could see this becoming the way of the future on the internet. Blockchain and cryptocurrencies solve the problem of advertisers. From the get go, there are blockchains set up to pay people for their creations. I’m still unsure this is the best use of the tech, but it is great to see a new way of funding artists, creators, and makers.

“Within each Bitcoin transaction is the ability to write a little program. For example, you can write a little program in a Bitcoin transaction that says “this transaction isn’t valid unless it’s June 15th, 2016 or later”. This is very powerful because you can move money automatically with computer code and everyone can see the rules by which that money moves and know those rules will be followed.” (From Ethereum is the Forefront of the Digital Economy)

More fascination

We needed to invent something completely different to get people to crowd fund projects. How do we have headlines like “the easiest way to monetize your open source work” that work in currency most people don’t even know about, but we cant’t do the same with fiat currency? It is similar to government efforts to fix hyperinflation. Where was it that changed the currency and tried to replace people’s perception of the money? I think I heard about it in a Planet Money podcast. Ah Brazil: How Fake Money Saved Brazil and How Four Drinking Buddies Saved Brazil (Podcast)

Replace URV with BTC and hyperinflation with spammy internet ads, and you nearly have the same story.

Fact check – URV or BTC?

Create a currency that doesn’t exist. No coins, no bills
URV (its called BitCOIN, duh)

He and three friends had been studying X since they were graduate students — four guys at the campus bar complaining to each other about how no one else knew how to fix this.  And now they were being told “Fine, do it your way.”

Find X: Brazilian Inflation or Spammy Internet Ads
Brazilian Inflation

Enough of that. People will catch on.

Lightening round

DAO sounds fun, but I don’t get it (and neither does coindesk)
(The DAO Just Raised 50 Million, But What is It?)

Only the dull mine Ethereum. Go create!
(An Idiots Guide to Building an Ethereum Mining Rig)

More questions

What do Ethereum miners verify on the blockchain? Completion of all the contracts? What is the Bitcoin verification process for that matter? I think i conflated cryptocurrency and blockchain, what is the distinction?

Getting tired. Taking a break for a few.

Next time on internet ramblings with Ryan: How to prepare a balanced meal of energy usage, water consumption, and animal ethics.

Edit

(this post didn’t publish correctly a few weeks ago)

Now this is happening: Bitcoin is forking to BTC and BCC. Coinbase is only supporting BTC. People are concerned. This seems like a stock split. Speculation abound.

(didn’t post again…)

Some analysis on the fork Bitcoin Exchange Had Too Many Bitcoins

Categories
Random Technology

AI Today

Today was AI day.

Artificial Intelligence arrives, expands, supercharges, gets stuck, provokes the apocalypse, and returns from the past, defying all sense of logic, in a single day. The topic is a couple Wolverine stories away from an Xmen franchise.

Categories
Technology

Timelapse

Want to stitch together a video of GoPro timelapse photos? They are all in the format G00XXXXX.JPG (G0050192.JPG), so throw all the photos in a single “Timelapse” folder and use ffmpeg!

ffmpeg -r 24 -start_number 50192 -i G00%05d.JPG -s 1440x1080 -pix_fmt yuv420p -f mp4 -vcodec h264 DriveToDomaine.mp4

Sit back and chill for a few minutes (or meditate), and soon enough you will have a new timelapse video! Feel free to play around with the settings to your liking. This will get you a 1440×1080, 24fps, QuickTime compatible, mp4 file. #justnerdthings

Enjoy!

Edit:
To concatenate mp4 files in the same directory use the following:
ffmpeg -f concat -safe 0 -i <(for f in ./*.mp4; do echo "file '$PWD/$f'"; done) -c copy drivingTour.mp4

Categories
Technology

The Ethics of Ad Blocking

By including content blockers in iOS, Apple now allows developers to build ad blocking apps for mobile Safari. But more importantly, Apple has started a conversation about the ethics of ad blocking on the web. After only a few days Apple has (inadvertently?) pushed the topic into the limelight. With the advent of content blocking apps, people show they are willing to pay a some amount of money to block ads.

iOS 9 Ad Blocking Apps
Marco Arment’s Peace was the top app at $2.99 (now it’s gone)

But when users pay, to whom should the revenue go? Solely to the developer of the ad blocker? Or shared amongst the developer and web content producers? Sharing revenues is easier said than done, but for online publishers who make a living off advertising, cutting ad revenue is a serious detriment to their livelihood.

No Ad Blocking on theverge.com
But the appeal of this site just feels great…

Ad blocking offers not only an aesthetic improvement, but also a considerable performance boost in both web page load time and data usage. For those on mobile web browsers (such as Apple’s safari), cutting out web tracking and advertisements can extend the life of a constrained mobile data cap.

Regardless of their reasons, people want a fast and focused web experience without any distractions. Maybe its time for a different advertising model, or a brand new way to monetize the web. Let’s see where the conversation progresses.

Categories
Technology

App Store Submission Tips and Tricks

I recently submitted my first iOS app to the App Store and spent quite a bit of time searching ways to navigate some of the less intuitive parts of Apple’s submission process. Tons of guides walk through step by step, this is meant to help fill in the gaps.
For those looking for a overview, start with this great tutorial and come back to this post for more info.

Development resources

There are a lot of great resources to learn about Objective-C, Xcode, and app design. Here are a few to get you started:

While learning, if you see a piece of code I think I need to incorporate, copy it into an open space your program, but re-type it in the correct location. This saves the hassle of alt-tabbing between windows or looking back and forth, but gives you the opportunity to gain the muscle memory of typing the code. Just make sure you actually type the code!

Sign up for an Apple developer account. The account costs $100 a year but is needed for testing on actual devices and then submitting to the app store.

iTunes Connect vs Apple Developer

Use the same email for both

One email can be connected to multiple Apple Developer accounts, but iTunes Connect is limited to one email per account. However, using two different email addresses can cause issues when submitting app from Xcode to Connect. Xcode checks if the Developer and Connect account email addresses match, rejecting submission if they are different. So save yourself the trouble now, and use the same email for both Apple Developer and iTunes Connect.

Quick-tip

If you have a Gmail address, you can add a “+” to the end of your address to create a “new” email that will send to your original account. For example, say your email is [email protected]. You can append “+dev” to create [email protected]. This address will still show up in your [email protected] inbox, but Apple (and other sites) will see the modified version as a completely different email address.

Switching to a Team

Follow this link to the Apple developer team support page and scroll to “If I am enrolled as an individual, can I change to a company membership?” (Yes!). From there, send a message to Apple explaining you wish to transfer your account.

There is about a seven day process of switching a person account to a company account. If you are on a deadline, make sure you start this soon. Changing will also require the DUNS number to identify your company.

Once the team developer account is set up, you need to add members to both the Connect and Developer accounts for the company.

Uploading to iTunes Connect

Hooray! So all the accounts are set up and you are ready to upload version 1.0 of your app! You log onto Connect, hit the “+” and are greeted with this screen:

New iOS App Information ScreenshotName

Unless you app name is in Esperanto, there is a good chance someone already tried to register the app under the same name. Take a look a the App Store, many apps have a small tagline at the end of the actual name. If your app name is already taken, you can try this naming convention for the App Store page:

Gmail iOS App Store Screenshot

Don’t worry, the name shown under the app icon will stay the same, this name is for the store purposes only.

Version

Should match the version number of your app in Xcode.

Primary Language

Main spoken language used within the app. Used in tandem with the localization settings of your app (or Swahili).

SKU

The SKU number can be just about anything. Using the date format YYYYMMDD is common.

Bundle ID

The Bundle ID can be found in Xcode by navigating to Project > General, but to enter the ID here, you must register your app within the Apple Developer site. Here are some links to help with the process:

  1. Distributing iOS app with iTunes Connect (Part 2 – App ID)
  2. Configuring Your Xcode Project for Distribution (About Bundle IDs)

Beta

Generating buzz is of utmost importance when releasing a new app. There are many sites designed with the sole purpose of boosting awareness for upcoming apps. For those with grand business ambitions, BetaList focuses on discovering the next big startup. Apps featured on BetaList are often multifaceted with online and mobile components. For fun and entertaining apps, PreApps is the place to go. Mr Jump is a great success story from PreApps, generating over 5 million downloads in the first 4 days, but the site works just as well for any app looking to gain some traction.

App Store Prep

App Todos

Ensure your app adheres to all of the App Store Review Guidelines. The list is quite long, but read it carefully. Violating even one guideline will cause your current app build to be rejected. The most common reasons for rejection are summarized here.

Store Page Todos

To take a screen shots of your app, hit Command-S while running the device simulator in Xcode. With screenshots in hand, check out sites like Davinci Apps and LanchKit.io to easily add a caption and display the app screenshots on an iOS device.

Connect Todos

1. US Export Compliance (iTunes Connect Question “Does your product contain encryption?”)

To ensure your app is compliant not only with Apple, but also the US government, it is crucial to understand the encryption technologies used in your app. Here is a link from the Bureau of Industry and Security regarding encryption. There seems to be a bit of confusion surrounding the correct process:

  1. Does my application contain encryption (StackOverflow)
  2. What constitutes encryption for the purpose of export compliance (StackOverflow)
  3. Using SSL in an iPhone app export compliance (StackOverflow)

However, a commonality is if you think your app includes encryption, whether you wrote it or not (including https and SSL), you should select “Yes” for the export compliance question and provide your ERN (Encryption Registration Number) when you submit your app.

This post from a few years ago explains the situation well, and walks through the process of obtaining an ERN for your app (the link from step one does not work).

2. Advertising Identifier (IDFA)

Some 3rd party SDKs (such as Facebook) use the IDFA, so check with any 3rd party code before you answer this question. Otherwise your app may be using the IDFA without you knowing, resulting in Apple rejecting your app submission. As an example, if you are using the Facebook SDK to track app installations, select the second checkbox attributing use of the IDFA for app installs.

App Store Submission

Review takes about a week (7-8 full days). You can check the average app store review times, but once your app is taken from the “Waiting for Review” queue, Apple reviews the app extremely quickly.

In special circumstances, if you need your app to be reviewed faster, you can ask for expedited review. Apple is not guaranteed to grant expedited review, and they only make a one-time exception.

Rejected!?

Carefully read over Apple’s reason for rejecting your app. This can be an infuriating process, but try to stay calm. Make sure you adhere to the app store guidelines (you read through this earlier, right?), and fix the issues  outlined.

Ready For Sale!

Green light! Time to release! Not quite yet.

Make sure you have some buzz around your app. This part is tough, but the right marketing strategy can make or break the success of your release! Hopefully PreApps and BetaList worked to generate some interest, but now is the time to recruit as many people as possible to help spur initial launch popularity. Make a Facebook page, Twitter account, try to contact some websites catering to your target market, and let your friends and family know! Product Hunt is a great site, but good luck grabbing an invite and being featured. And hey, don’t forget to let me know! Comment with any apps you released after reading this post!

Thanks!

If you made it this far and enjoyed the post, please consider checking out the app my team has been working on. Cele (“celly”, say it correctly…) is an for app iOS and Android that lets you know of daily quirky national holidays and suggests the most fun ways to celebrate.

Get it here! For iOS and Android.