Menu

Colin Devroe

Reverse Engineer. Blogger.

Brad Frost on “full-stack developers”

Brad Frost:

The term “full-stack developer” implies that a developer is equally adept at both frontend code and backend code, but I’ve never in my personal experience witnessed anyone who truly fits that description.

In many of the descriptions I’ve seen it goes even further than that. Sometimes full-stack developer refers to someone who can also administer server architectures or cloud services or do database work.

There are certainly a number of people who can fumble their way through all of these things. I consider myself one of them. But I wouldn’t call myself great or even very good at any one of them. There is nearly no one that is great at all of these things. I’ve only seen perhaps one or two in over 20 years of banging away at this keyboard.

This is also an excellent point from Brad:

Large organizations have the ability to hire specialists, which is why I get so confused why so many companies proudly declare they only hire full-stack developers. Having team members that can own the frontend experience is a good thing. Having team members that can own all things backend is a good thing. Having everyone work together to create successful products is a good thing.

No one should be ashamed that they are very good at one thing and not as good at another. Embrace that fact and become an expert.

_DavidSmith on the Apple Watch Series 3

_DavidSmith:

While I’ll have to live with it for a few weeks to see if it really pans out, imagining a future where my iPhone is no longer a ‘must carry’ device is remarkable.

This is why I’m ordering one. As I said I would.

Dan Kimbrough reviews the Samsung Galaxy Note8

Dan Kimbrough seems to love his Note8. However, he did offer this one caveat:

The one big let down I have is the speaker. It’s weak and poorly located. There’s only one speaker for media playback. At the bottom, to the right of the charging port. If you’re left handed, that’s probably where your pinky will sit. Sorry. When holding the phone in landscape, it’s where my index finger sits. It’s possible to completely muffle the sound and not mean to, which leads to holding it awkwardly. Playing a game is rough as it becomes hard to hear anything and hold the phone comfortably.

As an aside: Samsung is inconsistent on whether or not it should be typed Note8 (without space) or Note 8 (with space). If you do a search you’ll see ads that show it both ways, videos and news headlines from reviewers that show it both was as well. Even worse, Samsung’s own web site has it 3 different ways; Note 8, Note8, and Note 8.0. Poor form Samsung. This is branding 101.

I’m sticking with Note8.

Repost: Conan O’Brien on Twitter

👉 Conan O’Brien:

When in Tel-Aviv…

(be sure to follow the link)

Repost: The Next Web re: iPhone X benchmarks

👉 TNW:

iPhone X leaked benchmarks match MacBook [Pro] speeds and destroy Android phones

That is impressive and remarkable.

Repost: Maciej Cegłowski re: iPhone X

👉 Maciej Cegłowski:

iPhone X summary: wireless charging (with wire), all-screen display (with black bar) and sleek, flat shape (with camera bump)

Repost: Daring Fireball on the iPhone X notch

👉 John Gruber:

Long story short: embrace the notch.

Repost: Mike Rundle on Twitter re: the iPhone X notch

👉 Mike Rundle:

In landscape the notch literally chops out part of the video. Can’t believe they didn’t indent it a little bit.

Share Instagram Stories via Direct Message

Instagram:

Starting today, you can share stories with your friends in Direct.

This is a meaningful update. Stories sucked a lot of the activity out of the feed. Being able to share Stories you find – whether they are about a place, event, an interest, a celebrity, or from a friend – means that a lot more eyeballs can be pushed around the network. In other words, a Story can now “go viral” within Instagram (and, rumor has it, soon on Facebook).

Of any of the social platforms I miss Instagram the most.

Tom Dale: “Compilers are the new frameworks”

Tom Dale, Senior Staff Software Engineer at LinkedIn and co-creator of Ember.js, in a post where he argues that compilers are the new web frameworks:

Native code tends to have the luxury of not really caring about file size—a small 40MB iOS app would get you laughed out of the room on the web. And AAA game titles accept minutes-long load times in exchange for consistent 60fps performance, but I shudder to think what a 30 second load time would do to the conversion rate of your e-commerce site, 60fps or not.

While I agree with most of his post, that compilers are becoming increasingly more a part of a web developers workflow and thus becoming very important to learn, this particular bit isn’t a fair one-to-one comparison in my opinion.

Web apps do not need to pre-load every single asset onto the device prior to running. If you were to weigh a fully native app next to its counterpart web app* you’d likely get a very similar result. It is just that a native app is downloaded mostly all at once and a web app can be loaded as needed.

But his point remains, more and more web apps are looking more like native apps. They are compiled, loaded, and completely obfuscated from the source code they originally started out at. I’m not sure if I feel this is good or bad for the web. But I do know that the barrier to entry in web development is higher than ever.

* Most web apps that have a direct counterpart on a mobile platform share lots, if not all, code these days so these comparisons are getting tougher and tougher to do fairly.

Repost: Mike Rundle on Twitter

👉 Mike Rundle:

The new top-end iPhone will have a notch. New top-end Android phones (V30, S8) do not. Hard for Apple to spin that.

CNN lite

Remarkable find by Jack Baty, CNN Lite:

I could not love this more. Can we get all of the news sites to do this?

I can’t tell if this is official or not. Either way, bookmarked.

Add favicons to tabs in Safari

Faviconographer:

Faviconographer is a little utility that displays Favicons for the tabs you have opened in the current Safari window, just like almost every other browser does it.

Magic.

/via Daring Fireball.

Python is blowing up

David Robinson, not The Admiral, for Stack Overflow:

We recently explored how wealthy countries (those defined as high-income by the World Bank) tend to visit a different set of technologies than the rest of the world. Among the largest differences we saw was in the programming language Python. When we focus on high-income countries, the growth of Python is even larger than it might appear from tools like Stack Overflow Trends, or in other rankings that consider global software development.

I don’t think I would have guessed this.

Wishes for Apple’s Fall Media Event

On Tuesday Apple is holding its Fall Media Event. Thanks to a rogue Apple employee, who I can only imagine is packing their personal affects as I type this, the rumor mill has been working overtime and it appears as though we “know” just about every detail one could imagine prior to this event short of Eddy Cue’s untucked shirt color.

Based on those findings it appears that most of the things I am wishing for won’t come to fruition. Fortunately, most of my wishes have to do with how Apple will market their products and less to do with the hardware itself.

However, rumors are just rumors and, no matter how well sourced things may be, all sorts of details can be inaccurate, vague or completely wrong.

So here are my wishes for Tuesday’s event.

  • The new iPhones should be called the iPhone, iPhone Plus, and iPhone Pro. Based on the iOS 11 GM leaks it appears as though I won’t get this wish – but I feel like the number-based naming is long-in-the-tooth and doesn’t fit other products that Apple sells like the iPad, MacBook, or iMac. “IPHONE X” is a terrible name.
  • The new Apple Watch with LTE should be slightly thinner. I’ve long thought the Apple Watch is slightly too thick. Though it appears the shape and size are going to be exactly the same as the previous editions of the Apple Watch.
  • Touch ID should be included in the Power Button on the side. I’m all for getting rid of the Home Button but Touch ID is far too nice to see it gone forever.
  • A new Apple TV with better remote, 4K support, and Amazon Prime Video app.
  • I’ve already described the iPhone SE I’d like to see released though this likely won’t happen until springtime.
  • And lastly, I’d like a presentation about Apple Park. It doesn’t seem like they will have enough time for much more than a short tribute to Steve Jobs in this new theater named after him – but it would be nice to have an official presentation about the new campus.

As an aside: I wonder if anyone has thought of the possibility that the iOS 11 GM leak was done on purpose by Apple for some reason? That they are making sure to set expectation regarding the Home Button and Touch ID being gone?

I’m excited for Tuesday.

Oh, and I already have a post I plan to publish on the day iOS 11 is released. So watch for that.

Jack Baty: “Please just start a blog”

Jack Baty on his rather handsome looking new blog:

Would you all please just start a blog? I don’t care which platform you choose. Pick one and publish. Cross-post or don’t. Implement Webmentions or don’t. Allow comments or don’t. Tweak the design to within an inch of its life or don’t. Publish long posts or short, it doesn’t matter.

I wish.

David Nield: “RSS still beats Facebook and Twitter”

David Nield on Gizmodo:

Whether you’ve never heard of it before or you’ve abandoned it for pastures new, here’s why you should be using RSS for your news instead of social media.

I’ve used RSS since it was released and feed readers began to appear and I don’t see a future of the web without RSS. So if you aren’t using it you’re missing an enormous amount of value that the web provides.

/via Dave Winer via Feedly via RSS.

Chris Lovie-Tyler on supporting different building blocks of the IndieWeb

Chris Lovie-Tyler, from the other side of our planet:

After reading a handful of Colin Devroe’s posts (links at the bottom), I’ve made a few decisions.

I’m glad my posts, in which I was just thinking out loud and forming my own opinions on these matters, helped him to form his. I believe everyone should do whatever is right and sustainable for themselves.

A unique color for every address in the world

A recent, yet-to-be-announced client project had me designing a mobile app interface that dealt a lot with showing locations and events that are happening at certain locations (how is that for vague? sorry).

While I utilized the brand’s colors to represent certain sections of the app I wanted the app to have tons of colors in order to portray a sense of fun throughout the app. But how could I incorporate pinks and yellows and bright greens without the overall brand disappearing?

After toying with a few design ideas I had an idea to create a unique color for every address in the world. This would result in two benefits; first, each location was then branded as a color, and second, every user would see that location as the same color. If I were a user of the app here in the US and I flew to Spain and looked at a location for an event  there, I would see the same exact colors representing that address as the person that lived in Spain and created that event.

Since I wasn’t to be the developer of the mobile application I wanted to avoid the possible pushback this idea might receive from that team. I didn’t want to add burden to the other people on the project by showing a design mockup and a set of requirements and then walking away. I wanted it to have zero overhead for the developers.

One of the solutions I discarded was generating a random color each time an event location was added to the service and then store the color for that address in a database. While this solution is relatively simple to implement it was no good. It adds more work for the developers and they have to maintain the datastore indefinitely. Several other ideas with the same caveats came to mind and I quickly tossed them into the bin.

Once I eliminated all of the ways I didn’t want to solve this problem – the solution came pretty quickly.

Since every address is already unique, I just needed to find a way to represent an address that could be turned into a color. In other words, I wanted the address itself to represent a unique color. And I wanted to do it in realtime as the application’s UI loaded.

So I jumped into JavaScript and began working it out. Here is what I settled on:

This solution allows for just over 16.5 million colors. Far more than this app will likely require during its lifespan.

Here is a demo of the process and if you view the source you can see the code at work. It is fairly simple to follow.

Oh, there was an issue that I ran into with this solution that was fun to solve. If the background color that was generated was too dark the text became hard to read. So digging around I found a way to determine the luminosity of the background color and thus change the text to something a bit lighter in those instances. That too is shown in the demo.

I was then able to repurpose this demo code and give production-ready code to the developer that is going to ship in the app. When that ships I’ll write more about it.

Repost: Emily Lakdawalla on Voyager’s 40th Anniversary

👉 Emily Lakdawalla on The Planetary Society blog:

The fact that both Voyager spacecraft are still functioning and doing science, 40 years after their launches, is reason for optimism. We can build robust, adaptable machines capable of surviving unpredicted storms and responding to new discoveries. We can build them, launch them, and stably operate them for four decades, and more. Can we now turn those skills homeward, to building an adaptable and sustainable society? Who knew that rocket science would be the easy part?