I Am a Genius: listen to my words

I Have the Conch


listen to my words

Archive for 2014

Thoughts Inspired By Our Nation’s 238th Birthday

“America the Beautiful” touches my heart. I love my country. We have done great thibgs, though imperfectly. We are still capable of doing great things.

But I fear we have lost track of those things.

There are a great many things that we fought for in the 18th century. Independence was a side product of correcting the injustice of no representation. The British believed their Parliament did represent everyone in the empire. Americans ruled by Britain did not believe the Parliament could adequately represent them when it did not have people from America and familiar with American wants and needs.

I believe we have made great strides in political representation of all groups. Suffrage has officially been extended to everyone regardless of skin color or gender. Slavery is outlawed.

Yet we are still imperfect. There are still laws designed to exclude, or make it difficult for others to participate, when laws should be designed to expand representation. And socially we have far to go when dealing with people different than ourselves. Black distrusts white, white persecutes brown. The phrase “social justice warrior” is used with derision, as if fighting for justice in any arena is not a noble goal.

I think, however, that the direction of history is currently toward more equality in that regard. We have work to do, but many are doing that work.

But my understanding is that the War for Independence was supposed to be for greater freedom and liberty. That was why the Articles of Confederation dispersed authority and gave so little power to central government. When it failed, and a solution presented that centralized more power but tried to include balances and safeguards to prevent that power from becoming tyrannical, many were still nervous. They would not move forward without explicit guarantees in that solution that individual liberties were inviolate.

The founders did not create our federal government with security as a primary concerns. Indeed, many of those founders had in mind creating a government that could be overthrown, if necessary. Liberty was the overriding concern, with the minimum sacrifices required for stability and effectiveness.

I love those who sacrificed and worked hard to make this nation what it is. They made some mistakes, some of them grave and tragic. But they built for what they believed.

We cannot afford to think that all is well any longer. We cannot think that we are great because we are the USA. The US is not inherently great. The US can only be as great as it stands for the virtues enshrined in the Declaration of Independence and the Constitution.

Let me be explicit in what I mean with concrete examples.

It means that very few government secrets are worth prosecuting members of the press. It means that granting press passes should be inclusory — that being a member of the press is not about accreditation — it is about allowing news to flow freely. There is no worthiness standard, and politically based grants of passes is an abomination.

It means even when there is a genuine government secret at stake, a cleared oppositional counsel should be there to represent the reasons why a considered action might be the wrong choice.

It means that getting a job done or achieving a security or enforcement goal has nothing close to the weight that due process and personal privacy hold. Mandatory searches and no fly lists to prohibit air travel are gross violations of the standards we pretend to uphold. These policies give lie to our claims of a free and open society. Especially when we spread those policies to other means of travel and gatherings.

It means that mass tracking and or recording calls, call records, or other communication is not a reasonable practice. It does little to nothing to help criminal or security investigations and certainly violates multiple principles that are supposed to be central to our national ideals.

It means that taking the word of a cop over the word of an accused citizen makes no objective sense and denies the principle of innocent until proven guilty. It means that attempts to thwart accountability, oversight, and regulation of law enforcement and other government representatives is resisting liberty and human dignity. The police, the FBI, and the “intelligence” apparatus must be held responsible when they raid the wrong house, or investigate the wrong person, and should make reparations. Recordings of law enforcement activity should be welcomed by cops, the legal apparatus, and all citizens.

It means that free speech zones are a mockery of the first amendment. It means making an assumption about a person based on ethnicity, color, or religious inclination is a frightening practice that rots our nation. Racial profiling is an evil practice.

It means passing legal judgements based on something someone doesn’t say is exactly the sort of thing we should be protected from. “Taking the fifth” should not and must not imply guilt.

It means that it is a far greater tragedy for an innocent to be deprived of freedom, even temporarily, than for a criminal to go free.

It means that prosecutors should be penalized when they do not share evidence, coerce confessions, deny representation, or otherwise violate due process. We should incentivize carriage of justice by prosecution and not “convictions.” We should compensate public defenders like we do prosecutors, so that the best lawyers find it a viable career choice. It means the primary role of judges needs to be defenders of the rights of the accused, not to get through their cases. And when a judge does not follow procedures, the respect due to his office does not warrant compliance with his orders.

It means the failure to convict the perpetrator of even a heinous crime is a lesser tragedy than to punish someone for a crime that person did not commit. It means we need police who want to protect, not who want to make a bust. It means we need police who worry more about justice and other around them then they do their own safety.

It means that all political representatives, government employees, and civil servants should always remember that the 9th and 10th amendments to the Constitution of the United States not only imply, but outright state that the Constitution does not enumerate all rights that people are entitled too. It means that no where is it written that the rights we claim to hold dear do not apply to non-citizens or extra-nationals.

Remember, the Declaration of Independence claims that the purpose of any government is to secure rights and liberties for it’s people, not to permit certain liberties so long as it doesn’t get in the way of the government trying to get things done. The government is exists to serve the people. It should not be its own entity.

The preamble to the Constitution states that it was established for six purposes: make a better union of the states, establish justice,.insure domestic tranquility, common defense, promote general welfare, and secure blessings of liberty. Two of those apply directly to law enforcement, “Justice” and “Tranquility” (the capitalization is in the original). Justice is first. But thinking that “Tranquility” gives more power to law enforcement only shows that the thinker misunderstands what tranquility is.

I think that many who are gung ho for the military believe that two apply to a strong military and intelligence community: common defense and “securing” the blessings of liberty. Again I would point out that “Blessings of Liberty” is capitalized in the text, but “common defense” is not. And I do not believe that an omnipresent intelligence apparatus “secures” any blessings of liberty. It may “secure” the position of a government, and though evidence indicates contrary, it can be argued that securing the government makes the people secure. But it does not secure any liberty.

We have lost our way as a nation. We do not remember the purposes for which we became a nation or the principles that moved us toward greatness. Unless we stand by those principles again, I cannot see ever achieving greatness. The United States is an newly adult nation who still has much work to do to achieve its goals and dreams. Please remember those dreams. Don’t get distracted into other avenues. Pursue those dreams of equality and liberty. Become a model for the world.

“Liberal” as an insult.

screen shot, because the coward deleted it.

screen shot, because the coward deleted it.

Just to provide context for the last tweet

Media Query Update

So I did some more tinkering. I figured, there has to be a way this makes sense.

Especially since I spent another day at work working with a page with these declarations that is working exactly as intended:

<link rel="stylesheet" media="screen and (min-width: 320px) and (max-width: 480px)" href="styles/rplo-iphone5.css">
<link rel='stylesheet' media='screen and (min-width: 560px) and (max-width: 720px)' href='styles/rplo-iphone5.css' />

I did a version of my page from the last post that had this:

@media only screen and (min-width:300px) and (max-width:309px) { body { background-color: rgb(0,1,0) } }
@media only screen and (min-width:310px) and (max-width:319px) { body { background-color: rgb(0,2,0) } }
@media only screen and (min-width:320px) and (max-width:329px) { body { background-color: rgb(0,3,0) } }
...

on up to 1609px.

Every mobile device/browser matched the 980-989 range. Just like I expected from my last results.

Honestly, I have no idea how to begin to reconcile the behavior between those two segments of code. It makes zero sense to me.

So I finally tried using min-device-width and max-device-width.

@media only screen and (min-device-width:300px) and (max-device-width:309px) { body { background-color: rgb(0,1,0) } }
@media only screen and (min-device-width:310px) and (max-device-width:319px) { body { background-color: rgb(0,2,0) } }
@media only screen and (min-device-width:320px) and (max-device-width:329px) { body { background-color: rgb(0,3,0) } }
...

This one gave me usable results. For the first time. Ever.

But it’s still pretty frigging weird.

Chrome and Firefox, on my Samsung Galaxy SIII, agree that in portrait, the device-width is 360px, and that in Landscape the device-width is 640px.

The built-in default browser, however, insists that the device-width is 720px no matter what orientation the device is. I’ve no idea where it gets that number. It’s like the developers choose it from a hat full of slips of paper with pixel resolutions written on them.

I can understand reporting an identical device-width no matter the orientation, I guess. There’s an argument to be made that the device-width hasn’t changed just because you turned the device. It’s a completely impractical and useless argument, but at least it’s there. And there’s precedent. iOS reports (using Chrome or Safari) the same device-width no matter which orientation you hold the device (on this iPhone 5 that device-width is 320px, and on the iPad Air it is 760px). This is another reason for me to hate Apple, but at least it’s consistent.

Android’s default browser giving me 720px is like saying that 1+1=2, or 3 for especially large values of 1.

But, still, at least I can use it.

You can make media queries that fit those device-widths without much of a problem

/* iPhone 5, portrait */
@media only screen and (min-device-width: 320px) and (max-device-width: 359px) and (orientation: portrait) {}
/* iPhone 5, landscape */
@media only screen and (min-device-width: 320px) and (max-device-width: 359px) and (orientation: landscape) {}
/* Android Chrome, Firefox, or default, portrait */
@media only screen and (min-device-width: 360px) and (max-device-width: 639px),
only screen and (min-device-width:720px) and (max-device-width:1000px) and (orientation: portrait) {}
/* Android Chrome, Firefox, or default, landscape*/
@media only screen and (min-device-width: 640px) and (max-device-width: 719px),
only screen and (min-device-width:720px) and (max-device-width:1000px) and (orientation: landscape) {}

Note that the 1000px measure there is an arbitrary number.

I will probably do something like this to get a measure in em. And maybe do it with device-height as well. Just to see if I get something else useful.

Media Queries

“I seem to be having tremendous difficulty with my lifestyle…” er… media queries.

I’ve been working with a bunch trying to come up with a definitive set of queries to make CSS work across browsers so I can just copy those queries as needed from page to page.

Except, they don’t work consistently.

At work we have a page that uses this set of link declarations on one page:


<link rel='stylesheet' media='screen and (min-width: 320px) and (max-width: 480px)' href='css/iphone4.css' />
<link rel='stylesheet' media='screen and (min-width: 560px) and (max-width: 720px)' href='css/iphone5.css' />
<link rel='stylesheet' media='screen and (min-width: 600px) and (max-width: 1024px)' href='css/tablet.css' />

It seems to work pretty good for iPhone and iPad, though less so for Android.

But I was experimenting to find what worked. What was the min-width for various devices.

I have a Samsung Galaxy SIII with Chrome, Firefox, and the default browser.
I have an iPhone (5, I think?) with Chrome and Safari
I have an iPad3 with Chrome and Safari.

I wrote a PHP script to generate a style sheet with media queries incrementing the min-width by 10. Like thus:


@media screen and (min-width: 320px){body{background-color: rgb(0,0,1)}}
@media screen and (min-width: 330px){body{background-color: rgb(0,0,2)}}
@media screen and (min-width: 340px){body{background-color: rgb(0,0,3)}}
@media screen and (min-width: 350px){body{background-color: rgb(0,0,4)}}
...

…and so on, up to 1260px. Note that the color gradation was very subtle, so I included a JavaScript statement to tell me the color value actually being used. From that I could see which media query matched.

It wasn’t helpful because all three devices, in all their browsers, told me that the color was rgb(0,0,67). Which corresponded to 980pxs. It did this in portrait AND landscape orientations. The only exception was Firefox on the Galaxy. It matched something like 530px, but only in portrait. In landscape it was 980px.

However, I’ve also had people observe that linking stylesheets works differently (read, “better”) than inline media queries. So I did the same thing, only using stylesheets.


<link rel="stylesheet" media="screen and (min-width:320px) href="style320.css">
<link rel="stylesheet" media="screen and (min-width:330px) href="style330.css">
<link rel="stylesheet" media="screen and (min-width:340px) href="style340.css">
<link rel="stylesheet" media="screen and (min-width:350px) href="style350.css">

I got identical results.

I have a coworker who testifies to the True Nature of the media queries we use on the functional page mentioned above.

So I made this page:


<html>
<head>
<title>css test</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<style>
body { background-color: #000; color: #fff; }
</style>
<link rel='stylesheet' media='screen and (min-width: 320px) and (max-width: 480px)' href='style320.css' />
<link rel='stylesheet' media='screen and (min-width: 600px) and (max-width: 1024px)' href='style600.css' />
<link rel='stylesheet' media='screen and (min-width: 560px) and (max-width: 720px)' href='style560.css' />
</head>
<body>
<script>
$(document).ready(function(){
switch ($('body').css('background-color')) {
case 'rgb(0, 0, 3)':
$('body').prepend('Document matches this media query: screen and (min-width: 320px) and (max-width: 480px)');
break;
case 'rgb(0, 0, 27':
$('body').prepend('Document matches this media query: screen and (min-width: 560px) and (max-width: 720px)');
break;
case 'rgb(0, 0, 31)':
$('body').prepend('Document matches this media query: screen and (min-width: 600px) and (max-width: 1024px)');
break;
default:
$('body').prepend('Document does match any media query you defined').
break;
}
})
</script>
</body>
</html>

The page (with lots of commented code from other experiments) can be found at http://herbertlives.com/misc/mq

All it does is use media queries to decide which stylesheet to use.
The stylesheets each have one declaration, the color of the body background.
The JavaScript/jQuery detects the background color, and depending on what it gets, prints out what query matched.

Android Chrome

Android Chrome

Android Firefox

Android Firefox

Everything iPhone and iPad matched Android Chrome. Which, it should be noted, is the range that 980px fits in. Firefox was the confusing one, because… 530px doesn’t fit between 320 and 480.

I’ve seen a lot of “lessons” and “tutorials” and “sample code” that give example queries. They all seem to go with the iPhone declared screen size of 320px and browser reported size of 640px. And none of them work like I expect them too.

I’m left believing that web pages must be styled according to target device, not screen sizes.

If I’m doing something wrong, feel free to tell me what it is. I’d like the world of web development to make some sort of fracking sense once in a while, and human error in this project would explain a lot.

Take My Wife … for example

For a guy who thinks of himself as a writer I become exceedingly poor with words when it comes to real things.1

At any rate, I always have a difficult time expressing myself, rather than making something up. I have imagination, but not sincerity, maybe.

And so I struggle to tell my wife what she means to me. Frankly, My family would fall apart without her. I would fall apart with out her. I can barely keep track of my own needs let alone the needs of everyone else.2

But that sounds infantile. She’s not my mom. And I don’t think she wants to be remembered as the person who keeps it all together. At least, not just that. I’m sure she doesn’t mind being thought of as capable. But after all, she’s intelligent and beautiful as well.

And I hope by now my fumbling has demonstrated that I wasn’t lying in the first few sentences.

It’s more than her leadership. Her touch is comforting in a way that I find completely inexplicable. I wake in the night, and I can reach out and just touch her back with my fingers, and suddenly I can go back to sleep. It’s more than confirmation that I’m not alone — although it is that in a very existential way. It’s even more than confirmation that we’re extensions of each other. It’s confirmation that things are OK. That things are as they should be, even if they’re not ideal.

Her touch works other times. I mean, it’s fun to hold my three year old and hug my children. But when Kirsti just runs her fingers quickly over my shoulder, there’s connection and calming.

I don’t know that I’ll ever be able to explain what she means to me, what she is to me. Or why. And right now I find that I’m out of ways to try. But she’s central to my life. Marrying her was completing myself.


  1. Maybe I just make up stories, and am less a wordsmith 

  2. I can feed the cat, but he doesn’t even use his litter box, so he requires very little attention to be happy 

Back to the LEGO!

So I spend the Christmas money from Grandma on LEGOs.

But not just any LEGOs. BACK TO THE FUTURE LEGOS.

20140114_191730

Note that the doors lift and lower and the wheels swivel downward. The only disappointment, which is minor, is the skateboard color. It would have been cool to have a pink one with some sort of clear LEGO brick underneath, to be the hover board. Who knows, maybe we’ll get one in 2015.

20140114_191747

There’s a Mr. Fusion bit up there (removable if you want the version from most of the first movie). The “shiny bar code” license plate can be swapped out for the “OUTATIME” plate. The rims can also be changed out for the red rims used in part III.

20140114_192623

“ONE POINT TWENTY-ONE JIGAWATTS!”

20140114_192652

“This is heavy!”

(The whole point being that you can have happy faces or shocked/worried faces).

20140114_191804

And yes, there’s a flux capacitor. There’s the time circuits too. Set to January 28, 1958 — the date the first LEGO brick was patented, apparently — and October 26, 1985, the date on which the first movie begins.

So, yeah, I’m pleased.