isn't quite ashamed enough to present

jr conlin's ink stained banana

:: Voice of Dissnt

So, flickr got a redesign.

A lot of people love it. i'm not one of those.

Mind you, what i liked about Flickr was that it presented me images that were meant for public display. They were easy to find and really took effort to show them off. This meant that a lot of folks saw and remarked on your images. Folks who wanted to share them could use Creative Commons licenses and offer them up for general consumption. i'm astounded that a few of my images were used that way. i'm also sure that a lot of images that weren't marked as CC were also used and i'm positive some of mine were abused as well.

It doesn't really matter, since that's what that site was about. Heck, they even had a page full of images considered to be Most Interesting.

So, with the latest image focused iteration, i should be over the moon right? Images are not only on display, but smooshed together in one big firehose of imagery goodness pointed at my optical nerves.

Well, no, i'm not.

See, there's this thing called "White Space" that lets you appreciate what you're looking at. It's why the Mona Lisa is displayed like this

and not like this
flatMona

Granted, there have been a few museums i've been to that do something similar to this. That doesn't mean that it's a good idea, and generally, there are other than aesthetic concerns for why they may do that. i'll add that "white space" isn't always "white". It means uncluttered areas that don't distract. The much maligned windows8 interface even follows that practice by having very simple graphics, all smooshed together like a cubist version of Twister.

So, the layout thing isn't my cup of tea. So, there's the 1TB of image storage. That's worth something, right?

Eh, no. Not really.

Much like how Y!Mail once touted that it offered 1GB of mail storage, there are other services that offer a lot more. Imgur and SmugMug offer fairly unlimited image storage, and have for years. Likewise, while kind of the opposite of flickr in the discovery and usability side, Facebook and Instagram also offer loads of storage as part of their service. In some respects, flickr's announcement could easily be interpreted as "We're limiting the amount of storage to only 1TB".

i'll also note that you still can't pull images via RSS

As Derek notes, there are still some RSS feeds available

, the price of not bugging visitors with ads has doubled, you're feedback and comments are less important, as are details like how the photo was taken if you're interested in photography at all. Some of the reasons that Flickr was awesome for folks who want to share their photos and develop as photographers. Heck, i can't even learn a way to say "Hello" in Kurdish unless i carefully hover over my icon.

That's the other thing, is it me or does this layout look oddly familiar? i know how long it takes to roll out products, but seriously, did the design teams all go to the same talk or something?

So, yeah, not really as impressed as i could be, sorry. i'm sure i'm in the vast majority, and not 100% on board with this whole Flat Design thing that has everyone's knickers in knots, kind of like how i wasn't awestruck by Aqua or Aero either, and heaven knows those aged well.

  1. Derek
    2013-05-21 02:33:15

    You can definitely pull SOME stuff from flickr via RSS. For example, I know I have a URL in my RSS reader for "all my contacts' photos" (I'd post the URL, but it seems to be tied to my userid in some fashion).

    But there's a run-down of them all here: http://www.flickr.com/services/feeds/


  2. 2013-05-22 17:07:12

    Cripes... I hadn't seen the new Flickr until now. I'm not happy with that style of layout, either.


Wanna join in?

Advertisers! Be sure to read our
Advertisement Policy!

:: Goodbye Letter

Dear Colleagues,

When i joined Company, Inc. a year ago, i signed up to work with fantastic folks who wanted to change the world. When i arrived, Company, Inc was just starting a plan to rid hunger from the third world by creating self-piloting food delivery systems to ensure against corruption. During that time i saw the release of several projects that i knew would bring about great things. It is with much sadness that i am writing this note to tell you that i'm leaving.

You see, while i appreciate that whole "change the world" thing, it's a lot of work. It means being personally invested in actually seeing things through. That means that i have to battle not only outside the safe company walls to get folks to see the value of what i'm doing, but internally to convince others why they need to stay on track. Fighting battles are like, well, fighting battles, and there's a reason that people don't do that sort of thing on weekends or on vacations.

What really made the difference for me was when that truckload of money appeared in my driveway. Mind you, that was one of the "great things" that i was talking about earlier. Company, Inc. looks fan-fucking-tastic on resumes and let me tell you, launching the WidgetTron 3000 tripled the number of recruiting emails i got.

Sure, i could have fought to make sure that the WidgetTron 3000 we launched this quarter actually did allow near universal document parsing like it was originally intended, but once we moved it to the cloud and added Facebook Integration and weather updates, well, you know how hard it can be to stop linking paperclips together? Yeah, adding features can be like that. As a bonus, i managed to grow my tiny empire from just myself to a team of over 200. The WidgetTron consumed nearly every available resource in the company. Most folks working on the project had little idea what the actual use case of the product was ("use cases will come later" Ha-ha!) or that the key component was the burning eye of evil we hitched up in a remote colo. It's really amazing the sorts of things you can get developers to do if you lure them with "sexy" technologies like node.js and mongo.

Oh sure, WidgetTron 3000 is powered by puppy souls and i still resoundingly dispute those CDC reports about it causing the undead to walk among us, but the good news is that it has a skeleton staff (in this case, literally) and will be forgotten about in a quarter or two.

So, truly, it is with sadness that i write this contractually required goodbye as i leave you all to deal with the Class 1 superfund mess i leave behind. i'm off to live a life that makes Scrooge McDuck look like a skid-row bum.

If you'd like to stay in touch, my email is
IWillNeverReadThis@yahoo.com

Best of luck in the future!

(suckers)

No, i'm not leaving my current employer, nor do i have any intention of doing so. Just being snarky about the various "farewell" emails i've read everywhere i worked.
    What do you think, sirs?

    Advertisers! Be sure to read our
    Advertisement Policy!

    :: A Quick Updated Refresher

    i wrote A Quick Refresher seven years ago, and i think it needs a bit of correction:

    Please note:

    The following rules need not only apply to the internet.

    1. Don't be an asshole.
      1. An asshole is someone who thinks of themselves first, and without consideration of anything else.
      2. An evil bastard is someone who actively seeks not only to be an asshole, but to inflict pain and suffering on others.
      3. Nobody likes an asshole, and everyone hates evil bastards.
      4. Assholes should be ignored or treated like infants (at best). Evil bastards should be opposed.
    2. If you do something nice (like link to someone else's page, hold the door open, upvote a post), never expect to see the favor returned.
    3. People who ask/plead/demand your generosity, should be avoided. Their actions should be enough to warrant your contributions.
    4. It is possible that someone else may share your opinion. This neither validates that opinion nor implies that they agree with you in all other aspects.
      1. Your point of view is only valid because you have no idea what the person who opposes your view has experienced.
      2. Their point of view is equally valid, unless, of course, they're just being an asshole or evil bastard.
      3. Correcting a person to their face is always better than scolding in public. Doing the latter without trying the former makes you someone who is intentionally inflicting harm on someone else so that you look better. (See "evil bastard")
      4. Tragedy and comedy are both sides of the same coin. This is why folks find slapstick funny. i'll come over and help you back up, but don't be offended if i'm giggling.
      5. If i do something stupid, i'm ok with you laughing while you help.
    5. Always presume the worst until pleasantly suprised otherwise.
    6. Nobody actually rolls on the floor, laughing out loud.
    7. Most of the stuff you see is done by a lot less folks than you think.
      1. Stuff breaks.
      2. When it breaks, they want to fix it
      3. It may take them a while to fix it because of other things that are even more broken that you don't know about
      4. It's not that they don't like you, it's just that it's hard for five people to respond to several million messages a day.
    8. There are people smarter than you.
    9. There are people dumber than you.
    10. On an average day, half of the people you meet will be in each category.
    11. Nobody expects courtesy, it confuses them. Use it with abandon just to catch them off-guard.
    12. The best reason to be nice is that it means the person is less likely to screw you over.
      1. Not that there's any reason for them not to try anyway.
    13. Friendship and trust must be earned every day.
    14. Be open about what you accept, but strict about what you provide.
    15. Good and Evil are relative ideas and need context.
    16. Never agree to someone's protocol/ideology without really understanding what that protocol/ideology is.
    17. Always understand that every protocol/ideology is subject to corruption. If you can't get it from the original source, it's probably invalid.
    18. Read the documentation.
    19. Never blame the user for a failure of the protocol. Simply report the error as clearly as you can and move on.
    20. Errors are errors and no amout of argument will change them. Work around them if you need to get something done or consider using another system.

    Thank you, please pull ahead to the second window, and have a nice day.

    :: Get Off My LAN

    i'll admit it, i've been having an increasing number of "Get Off MY LAN" moments.

    i suppose you could also declare these as "Old Man Shouts at iCloud" stories as well.

    As i get older (and one supposes, progressively more jaded), i've been increasingly frustrated by just how often folks build things that they haven't really thought out. Mind you, twenty years ago, when we were first building this crap, you'd be excused for not knowing that there's little difference between "Success" and "DDoS Attack" or that cracking SHA1 would be a simple matter of harnessing the power of an internal graphics processing unit, but you can't really say that anymore.

    Technology, at least in theory, is supposed to build off of itself. We're supposed to be at that stage of the game where we've determined reasonable, objective facts about how to create and provide services. There will always be new tools introduced, but fundamentally the principles of data exchange and processing should really be kind of A Thing™ by now.

    There are supposed to be a few Golden Rules that all engineers follow (or at least know of):

    1. Be lenient about what you accept, strict about what you create.
      Other people will screw up, try to work with what you've got so that things continue to work reasonably well. File bugs against the crappy providers, but don't reject them unless it's total jibberish. That said, only output stuff in strict, predictable form that adheres to published standards so that everyone else isn't trying to accommodate you.
    2. Play with the new, work with the old.
      Play and explore new technology. Revel in discovery and insight, but when it comes time to provide a service for more than a few hundred people, build it using boring, well tested, reliable tools and technologies. If the new stuff is good, eventually it too will become boring, well tested and reliable. Every project should dream of becoming "useful, but not hip" because that means you're now key to infrastructure.
    3. Bad guys have infinite time and infinite resources
      If there's a flaw in your code, bad guys will find and exploit it. Protect your systems from yourself. If you can break it, even with some attack that is so remote that "nobody will ever do that", someone else will do that attack.
    4. Don't fall in love with your code
      You may have come up with a good solution. Someone else may have come up with a better one. Always be willing to admit that someone else's answer may be better than yours (again, metrics beat statements), and be ready to move to it.
      Yes, i added this one after i wrote the original.
    5. There is no One True Tech
      No technology is perfect and all applicable. Everything sucks for some reason. Only a fool uses one tool to solve all problems. The first question any maker of hammers should ask is, "Do i need a screwdriver?"
    6. Open is better than closed
      Being open is like growing dozens or millions of extra brains. Suddenly, it's not just you or a few folks working on a problem, it's lots and lots of folks, constantly working on a problem. Of course, the Achilles Heel of any open project is getting someone else to care about it, but that's where the rest of the rules come into play.
    7. Write your documentation for five year olds
      There are people smarter than you. They have different areas of expertise and interest than you do. Not everyone has spent the past decade focused on AES encryption wrapper math, phoneme pattern analysis, or efficient regular expression syntax. By all means, encourage folks to explore the wonders of elliptical compression algorithms, but understand that the reason they are looking at your library/code/application is because it's a small part of the larger problem they're trying to solve. Spending hours to learn interesting tricks in 64bit binomial storage so that they know to call your function with a proper set of prime Fibonacci numbers isn't going to make them love you.
    8. Teaching makes you smarter
      You only really understand something when you can explain it to someone else. This ensures that you understand not only one aspect, but the various effects and inputs so that you can answer their questions. Teaching someone else will make you say "i don't know" a surprising number of times.
    9. You are not alone
      This is a big one. If you're pounding on a problem, chance are, so is someone else. Or they've worked a problem similar to yours in some fashion. Ask and answer questions. Share knowledge and findings. Humans are capable of sharing information and that's what made us more successful than Bonobos. Use and contribute to that advantage every chance you can.

    And, yet, every goddamn day, i see folks gleefully ignore those rules. So i wind up posting cranky notes, laughing at other people's completely avoidable failures, and otherwise turning into an angry old coot standing on his digital porch yelling at the kids these days.

    Honestly, this is why the jocks and douchebags became Brogrammers who write crappy code. There's nothing preventing them from doing it and no tools for pointing out the obvious flaws.

    :: Are Humans Reading It?

    i'll admit it. i fell for the allure as well, but ultimately, most of the Human Readable Protocol concepts are stupid.

    Allow me to explain. Say, you've got two computers that want to talk to each other (chances are very good that this is the case). You have infinite ways that they can go about doing this, but a rather attractive way is to have something that you can read.

    so instead of getting something like ^A<long stream of binary cruft>^D you get something more like:
    HELO
    FROM potamus.p@example.com
    TO birdman.h@bar.com
    SUBJ That thing i sent you
     
    Did you get that thing i sent you?
     
    .

    It's nice and readable, with the added benefit that if you're ever stuck somewhere without a mail client, you can telnet to port 25 and send out an email. Provided you remember the order of the steps. And get the format of the lines right (pretty sure i didn't just now). And don't make spelling mistakes, etc…

    There are lots of protocols that have Human Readable Formats. FTP, SMTP (e-mail), HTTP (web), etc. Some of these make sense, particularly if they're for short, on then off right away sorts of things. The problem is that if you want to do something really complicated, there's a lot of work trying to figure out what "HELO\r\n" means, vs. two characters. It becomes even more of an issue when you're talking about small devices that pay per KB (Hi there mobile devices!)

    That's when looking at something like
    <message to="alice@wonderland.lit" id="if00lu" >
    <body>Hi you</body>
    <body xml:lang="cy">Prynhawn da</body>
    <nick xmlns="http://jabber.org/protocol/nick">Alice</nick>
    <active xmlns="http://jabber.org/protocol/chatstates"/>
    </message>

    becomes absolutely terrifying. (really, i need to fully specify the namespace of a nick with a URL that doesn't resolve just so that the consumer knows what i mean?)

    It's at this point that i cry out that anyone that proposes such a protocol is forbidden from using a client in order to use it.

    There's a good reason that TCP is not human readable. It's never meant to be displayed directly to humans. Likewise, things like Finger and HTTP are meant to be displayed to humans. Yeah, yeah, you're probably not going to understand the stream of crap that adds up to a JPG image or movie, and depending on how aggressively a server compresses outbound data or collects additional content you might have issues figuring out what it all says, but a minimal HTML page is:
    <html>
    <head>
    <title>This is a page</title>
    </head>
    <body>
    No, really, this is valid HTML and will render just fine.
    </body>
    </html>

    If you didn't have a browser you could just enter the command:
    wget http://jrconlin.com/simple.html

    and be able to mostly read what you got back.

    Granted, most folks (as in > 99.999% folks) don't do that, and thus we have things like SPDY, which is optimized for Machines and is generally faster.

    Really, the question becomes, how realistic is it that J. Random User is going to get a screen full of raw protocol they have to act on? If the answer is "Not often", do you really need to have it be "human readable", or can you just build a tool for the less than 1% of developers and systems folks that need to see what's going on?

    Blogs of note
    personal Christopher Conlin USMC memoirs of hydrogen guy rhapsodic.org Henriette's Herbal Blog
    geek ultramookie

    Powered by WordPress
    Hosted on Dreamhost.