All posts by Jonathan Stassen

Opinion: Zero-Rate Content a Threat?

I got thinking about ‘zero-rate content’ from internet providers.  That is, websites and content that are free to you simply because you are their customer.

It already exists

It is really just a different way to phrase the net-neutrality issue issues. It’s really just a nuance of the ‘fast-lane’ concept that different packets are treated differently by speed, price, quality.total count allowed.

I recently experienced this when I traveled abroad, thus I know it exists. I was talking with AT&T before I left setting up my abroad minutes and data. The representative was very proud to inform me I could use the AT&T Information and AT&T wifi locator apps with no data fees, that is, they would pro-rate any data usage that I used within those apps. I could help my self but laugh at loud at them, and ask if he was serious… then I made a statement about net-neutrality.

I found it rather curious that they could detect the packet difference. I suppose it only makes sense, all you have to do is read the packets header to see its intended destination, check it against a white-list of “We’ll pay for that one, its on us”. According to the representative, they do something very similar to that, though he wasn’t familiar with what I meant by packet inspecting.

All the same, it is sort of a nice gesture by AT&T saying we’ll pay / help you out whenever you’re checking status on your account. You don’t have to worry if you are over your data cap ever when checking information about your account. I kinda dig that.

Data isn’t free

You’ll note that I said pro-rate the cost of the packet. Data isn’t free, cheep, but not free. In the international case it is a bit more expensive to get it from where I was to their servers, AT&T paid for that. Similarly when back home, even through AT&T towers the packets will have small cost, even if it is their packet. It’s just a matter of splitting the costs between the user and the provider.
In the case of video sharing sites..

Here is my theory: It won’t be sustainable for a provider like Verizon or AT&T to maintain a site with media, though they may be trying.

I think there are barriers they will run into

  • I find it hard to believe that any telco will produce a good enough app/site that wins the world over like a youtube or netflix.
  • They will be restricted to their shows they produce or partners produce, and maybe pull it from places like netflix. However that would hurt them greatly since adoption of a new platform would be low. Comcast is doing pretty good on this I suppose.
  • Cost of a video servicing infrastructure (server farms throughout the country/world)
  • Reliability of a video servicing infrastructure (remember old old youtube and netflix problems?)
  • Community (hard to get get viewers to jump to a place with lesser content)
  • Fragmentation (only customers of said telcom gain benefits aka smaller subset of world population. Presumably other providers would have their own deals)
  • Profitability (If this is done, it would be for money, where is the the money? Ads? Probably not. New customers? Will it really entice enough new clients to join the telco?)
  • Abuse, give away something for free, people will abuse it, then you need to cap it. Enter irony.
  • Why not partner with an existing provider, say Netflix or Hulu?

To widen the scope again to zero-rate content (cost paid by telco). It will exist, probably not for video streaming, but for other sites and partners.

Is zero-rate data a threat?

I’m not sure I see zero-rate content as a huge threat, (though a threat all the same) mainly since each provider would have a different selection of partnerships.

Opinion: Graph Search

I am a big fan of the flexibility of graph search. Graph search has been around since before March 2013 when I wrote a few notes about my favorite searches. I figured it was time to share a few.

I have met people that I remember a list of facts about and have been able to find them via the Graph Search. It is simply fantastic.

Here are some fun uses of Graph Search on Facebook:

  • “My friends who live in New York”
  • “Places in Chicago my Friends have been to”
  • “Friends of Joe in Backbone.js Developers Group”
  • “Friends of My Friends who like Swing Dancing”
  • “My friends who are Females who are Single”
  • “Events my friends are going to”
  • “People named Christopher who live in Seattle, WA who like Passion Pit”
  • “Friends of Beth named Tim”
  • “Mutual friends of Beth and Jake named Tim”

Code: Getting multiple specific Laravel models

I had a case where I had an array of model ids, and I wanted to return a collection of these models. That is I had a list of model ids, but it appeared no nice way to get all of them at once. However from the 4.2 API docs you can see that the find() should be able to return either a Model, or a Collection of models.

Find()

Naturally to get one model just use:
User::find( $id );
You could loop over the ::find() to pull each one manually, but that will result in multiple unnecessary queries to the database right? Who wants that?

Find() with Array

Here is a quite simple approach that Eloquent supports that seems quite obvious after you see it. You can just pass an array of model ids right to the find() function!

$arr = array($id1, $id2, $id3);
User::find( $arr );

This will return a collection of models just as you would expect, no fussing around with loops.  A simple way to get Multiple Specific Laravel Models by Id.

UX: Ok Google, I see a fun problem

Have you played with the Google Now Search App on iPhone or voice recognition on Android? Or maybe you’re even lucky enough to have played with Google Glass.

Say “Ok Google” and it springs to life ready to listen for instruction just like magic!

Although.. I see this could become an issue once we all have more Google Glass, Androids, or the Google Search App. One person could activate them all! In a crowded place when one says ‘Ok Google‘ all nearby device will spring to life! How fun!

Hopefully we will be able to customize the buzzphrase to activate Google voice recognition. Else this could be quite interesting one day.

Aside: For fun, I’m told on Android Google Now, you can say ‘Ok Javis’.

Script: Delayed Sleep / Hibernate

I often sleep or hibernate my computer when I’m finished for the night so I can resume where I left off in the morning.

Problem: I was listening to some music I figured I’d like to fall asleep to. However, I don’t allow my pc to fall asleep on its own. So how could I (for just this one time) set a delayed Hibernate?

With a batch command naturally!

timeout /t 1200 /nobreak && rundll32.exe powrprof.dll,SetSuspendState 0,1,0

There you have it. Timeout + Hibernate/Sleep. A silly solution for a silly problem.

How to Speed up Siri

Wish Siri was faster?

Here is a nice setting tweak to speed up Siri and make her more responsive. I found disabling the Voice Feedback (so Siri doesn’t talk out loud), makes her snappier.

Downside: You will have to read the screen.

Settings > General > Siri > Voice Feedback
Change to: Handsfree Only

1. General
General
2. Siri
Siri
3. Voice Feedback
Voice Feedback
4. Change to Handsfree Only
Voice Feedback Handsfree Only to Speed up Siri

From my understanding, this probably bypass the need for Apple’s servers creating the verbal dictation audio, and having to transfer it over Cellular Data / Wifi to your device. Aka, time.

Reliability boost? Maybe.

As a bonus Siri overall seems more reliable as , I get a lot fewer “I’m unable to process your request right now” responses it seems. But you will have to find out for yourself there. But with out a doubt Siri is a bit faster.

Tip: Hibernate – Sleep – Shutdown

Just to clear things up, I though I would quickly go through the differences of Hibernate, Sleep, and a full shutdown of any computer.

RAM makes the all difference!

The main difference has to do with how RAM is being used. So let me give a quick understanding of what RAM is and how it is used.

RAM is temporary ‘running’ memory. When a computer is booting up, it really is loading all the necessary files to work over into RAM. Now RAM also used to remember what programs you have open, what web page you are one, what you have typed but haven’t saved yet, and so on. Simply put, it tires the state of thing.

Now we can dive into the differences.

Shutdown

Scraps all data in RAM, forgetting the state of things on screen, then powers off all components (RAM chip, CPU, keyboard, screen, wifi card, etc).

Sleep

Continues to supply a little power to RAM chip keeping the state of thing. But powers off all other components (CPU, keyboard, screen, wifi card, etc). This means it can pick up where it left off very quickly, just need to power on all other components. Mac Laptops are well known for this, windows can do it as well.

Hibernate

Saves a copy of everything in RAM to the hard drive. This allows it to scrap everything in RAM and powers off all components (RAM chip, CPU, keyboard, screen, wifi card, etc) this consuming no power. When powered back on, it can restore the state to RAM as it was from the Hard drive, picking up where it left off. It can take a bit longer to save and restore the RAM, the benefit is mainly no battery drain.

What is best?

Which is best to use? Well that’s up to you. For me it largely depends on how long I will be away. Sleep short, hibernate long, shutdown long or weekly.

A rhyming rule of thumb:
Out for a treat – then sleep
Out for a date – then hibernate
Out for weekend cool down – then shutdown

Nevertheless, now you know!

Security: Siri from the lock screen.

You know how Siri is available from the lock screen? A fantastic convenience – but sacrifices security.

There is a lot of information that Siri is ready to share without any password.

Consider the kind of information you can get from the lock screen with the following commands:

  • “Call History” / “Recent calls” / “Missed calls”
  • “Show me my calendar” / “Where was I yesterday”
  • “Text messages from Sarah Smith”
  • “What is my home address / phone number”
  • “Show me my notes”
  • “Show me my stocks”
  • “Update my facebook / twitter”
  • “Send an email (text) to Sarah”
  • “Read/Show me my todo items”
  • “Dial 301-555-1234”
  • “Delete all my alarms”
  • “Set an alarm for 3am”

UX: How my brain analyzes objects.

(In loose quick categories to be later sorted and ranked)

Ironically this list needs further organization.

Objects I thought of while building this list:
Car, Bike Lock, Door security code, Dresser, Website, Smart phone, Spatula, Database, street lamp, boxes of different screws, music, driving directions, people, posters, roller coasters, dentist chair lamp.

Categorizes / Characteristics / Typecasting

What items are behave similar or are related?
Can they be grouped, and thus the group have a predictable nature?
Should it be placed with similar objects?
Do other objects belong with it?
Is it loose or well defined?
Is it subject to lazily containing extraneous objects that do not belong to its type?
Does it have a predictable nature?
Can you amuse another one would have the same characteristics?
What are its attributes?
What are its attribute types?
Can it be sorted / organized?
Can numeric values be applied and compared?
Can it be compared, ranked, filtered, or sorted?
What is its mediums?
Are their variations?
Does it deviate from the norm of similar objects?
Do colours have a meaning?
Hoe does it move?
What is its movment range / max?

Patterns / Symmetry / Predictability

What is it like?
Are other pieces identical to others and thus simpler than it appears?
Was it crafted with care relative to other similar parts?
Is it intuitive?
Are components replaceable?
Does it known my intention?
Can it know more with asking less?
Is there time constraints or automation?
Is their a longer and shorter way?
What can’t I see/observe?
How did it get this way?
What holds it together / in place?
Does it require maintenance?

Function / Dis-function / Improvements

How does it work?
What is its purpose?
What other purposes does it have?
Can it be broke, bypassed, or misused? Why?
Could it do another task better?
What feedback do you get from misuse?
Could it be simplified?
Are all steps needed? Could steps be removed?
Is their a manual human process involved? What is their effort level or intellect level?
Can it be interrupted?
Was it tested and verified?

Inputs / Storage / Outputs

What ways does it receive instruction?
What formats can it be controlled by?
Can inputs be tampered with? Does it validate?
Does it remember?
What format or where does it remember?
Can the storage be accessed, changed, or cleared?
How do I receive feedback?
How can it be used or captured?
Does it forget?
Where else could I see or access these points from?

Keys / Permissions / Access

How does one properly gain access?
Is temporary access granted?
Who can use it?
Are there different levels of access?
How does it reject bad access? What feedback is provided?
What finite bound are set on access?
Could access be guessed? How long?
Is access accidentally revealed?
Is the access method default, obvious, or simple?
Is the access method easily spoofed?
Is the access method answer stored nearby in plain site?

Options / Alternate Uses / Choices

What preferences or settings do I have?
Can it be used in an alternate way?
Are the default options the best?

Extendablity / Compatibility / Flexibilty

Is it modular, upgradable?
Will it work with other related objects? Which ones? Why?
Can it be reused in a different context?
Can it adapt to different situations?

Adaptability / Longevity / Morph-able

Can it change over time to adapt to newer circumstances and advancements?
What is the lifespan?
How will it work x years from now?
Can it change? What does change look like?
Is anything outdated?

In summery: Obnoxious What? How? Why?

And I’m ok with that.

Think of some to add? Add a quick comment!