Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /homepages/36/d370843337/htdocs/CMS/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 77

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /homepages/36/d370843337/htdocs/CMS/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 87
Generic List - Tech, Photography, Programming, Etc.

Functional Programming with Arrays

As object oriented programming starts to fall out of favor with developers, functional programming is making a comeback. Reasons such as side effects and unit testability are hastening it. The Telerik developer blog has a great post up detailing functional programming with arrays.

They have examples of map, filter, and of the lesser known reduce. There is even a pretty easy to understand example of currying in javascript. All in all, if you are new to javascript or coming up to the newer syntax, this post is a great teaching tool. And honestly it is also a great reference to keep when you have that mid-day coding session brain fart.

Telerik blog: https://www.telerik.com/blogs/functional-programming-with-javascript-object-arrays

VS Code Text Buffer Reimplementation

The VS Code team has a really good article around their Text Buffer Reimplementation in the latest version. There is a lot of good information around performance and the implications of certain design patters revolving around file size.

Piece Tree Performance
Piece tree performance with a large file and multiple edits.

The part that is very interesting is how the piece tree seemed to be the clear cut winner. It wasn’t until they tested a large file with a large amount of edits, that it stumbled more than the array. Articles like this fascinate me when Javascript is pushed to its limits.

VS Code Blog: VS Code Text Buffer Reimplementation

Angular 2+ not working in IE11

Internet Explorer Logo
Internet Explorer logo AKA web developers sworn enemy

You’ve been a good developer. You are using the Angular CLI for your projects in its purest form. There isn’t a super custom build process. Application development has been going along well and then you get the email, “Hey the site won’t load in IE11?”

Frantically you open up the site in IE. Nothing. You see a console error, and you think that isn’t in MY code. Ages go by as you  mentally search through the code trying to figure out where you may have put some code that could be incompatible with IE. You remind yourself that Angular itself says that they work with IE11.  Finding nothing you go to the internet.

You read this Stack Exchange article and breathe a sigh of relief. I just forgot to add in the heavy poly fills. Once again you mutter about how you cannot wait until IE finally dies.

  • Stack Exchange: https://stackoverflow.com/questions/35140718/angular-2-4-5-not-working-in-ie11
  • Angular Docs: https://angular.io/docs/ts/latest/guide/browser-support.html

Visual Studio Code Tips and Tricks

Visual Studio Code
Visual Studio Code

As I’ve really started to use Visual Studio Code as my daily editor of choice, I can never remember all of the little tips and hints you hear on podcasts. Thankfully  the VS Code team has a great little doc up that you can use to refresh your memory. I really like the tip of using the automated script to allow command line access on the Mac. I couldn’t remember how to do that.

Visual Studio Code Tips and Tricks

John Papa – Readable Code

John Papa gave a great talk at NgConf this year about readable code. It is a great listen for new and old developers alike. The ideas in here are highly important, especially for projects with multiple developers and projects that aren’t your own. I’ve tried to take these ideas to heart and make sure all of my junior devs do too. Take 15 minutes out of your day to give this a watch.

Render Blocking CSS

When building a performant web site, we all always look to the complexity of our DOM, file sizes, and bundle size/splitting to drive the performance of our web site. One thing we always seem to forget is that CSS is a render blocking asset. The complexity and breadth of the CSS we built will block rendering and give the user a poor experience, especially on an underpowered device.

Google dev resources has a good writeup here.

Engadget Tours Dyson’s Headquarters

Engadget got a pretty in-depth tour of Dyson’s Headquarters in England. These are the kind of articles that give you faith in people running companies. A company that is spending good money to keep ahead and in the lead in their market segment. While it is a tough pill to swallow, $500 plus dollars for a vacuum, it is undeniable that they have some great engineering.

Another great part of the article is that they do so much to treasure previous engineering feats. These are from the pioneers who advanced our knowledge to where it is now. It also is great when companies spend some of the massive profits they make, to keep old historical things going. Whether it is Dyson and some old jets or Norfolk Southern Railroad helping to keep a steam engine running.

Enough of my rambling, go read the article yourself: https://www.engadget.com/2017/01/14/dyson-hq-tour/

Apple has heavily customized the GPU in the iPhone 7

Macworld, along with a few other sources, have uncovered the fact that Apple has heavily customized the GPU in the iPhone 7. It has been no secret that after Apple announced their own custom CPU’s, they have be acquiring graphics chip talent at a voracious pace. As history has shown us before, this usually means they have plans to bring all of their GPU work in-house.

Cost Savings

Some will argue that this is a cost-saving move, because now they will not have to pay for the technology. I’d argue that increasing head count, benefits expenditure, etc. costs way more than licensing some designs and technology. Its why companies, I’d argue to their detriment, outsource things like IT staff. On top of that, I’m sure they would still have to license someones IP as Apple itself does not have any patents regarding graphics processing. I doubt they would be able to somehow engineer a solution that will not run afoul of the current technology leaders in this space.

Control and Leadership

I believe that this is more of a control play. Much like they caught the mobile processor space off guard with a production ready 64 bit solution, they wish to increase the performance/power lead in the graphics space with something their competitors can’t also license. I’m sure this will also help them control some of the leaks around new technology as well. This could prove fruitful as we know VR is becoming the next “big thing”, and GPU tech is what is needed to make it possible on mobile, and the desktop. Another possibility is that they want to use this same tech in their desktops instead of relying on AMD/Nvidia for their middling mobile solutions.

Only time will tell how this plays out. Macworld: http://www.macworld.com/article/3146630/mobile/the-mysteries-of-the-gpu-in-apples-iphone-7-are-unlocked.html#tk.rss_all

Finally Apple has cleaned up the App Store

Finally; finally; Apple has removed broken and outdated apps from the App Store. I always hated when you go looking for an app, find one that sounds perfect, and then you find out it hasn’t been updated in two years. Or you find an app that sounds super promising, but it has some bad reviews. And they you realize the developer hasn’t done anything since iOS 5. Hopefully this will make much easier to find apps and reward developers that are keep their applications up to date.

Thanks to AppleInsder: http://appleinsider.com/articles/16/11/15/apple-purges-47300-broken-outdated-app-store-titles-in-october