Java 8 has added support for parallel processing arrays — as I’m sure most of you know. There are lots of official release documents from Oracle talking about how employing these parallel methods and classes improves speed of your application — and as to be expected, there are lots of bloggers who set off to write sample code around it and analyze the performance.
I am still relatively new to Java 8, I’ll confess, though I do like the new fork/join paradigm Java 8 introduced and the support for parallelism in this version. One thing I’ve been looking at more closely is streams — which allows one to easily start dwelling into parallel processing.
The idea is relatively simple, you create a Stream instance for your “data” (be it an array, collection, I/O stream etc) and then this can be broken down into smaller chunks under the cover and processed.
I see this a lot nowadays — and I’m sure it’s not just me who notices it: every other job advert you see out there, or every other company seems to pride themselves nowadays with “practicing a flat structure”. Apparently, this is supposed to improve efficiency and motivation, according to their own bragging.
I’m talking mostly about startups here, by the way, though I bet you if you set off to research this in-depth, you will find a few larger organizations which do the same.
It normally goes like this: there are the founders (2 or more) who will assign themselves some titles (CEO, CTO, CCO and the likes). Then everyone else in the team is on the same par. This, we are being told, motivates the employees to work harder: because there are no titles “for grabs”, apparently, the employees will focus on projects more. Also, apparently, doing so encourages collaboration: because there is no immediate boss to make decisions, all decisions need to be made in consensus, thus forcing pretty much everyone to talk to everyone.
I had a chat recently with someone about engineers, and it is because of that chat I feel I need to write this, because the person I was talking to made some interesting points about engineers (mainly in Silicon Valley, due to their geographical position at the moment, but this I’m sure it’s often the case allover the world). First of all, I ought to mention that the person I spoke with about this is highly intelligent and educated, and spent most of their career surrounded by engineers; as such, the opinions expressed are not based on hear-say but rather on things they encountered themselves while dealing with engineers.
Even more, I agree with some of the points we discussed about — and sadly, I see the industry promoting some of them, in my opinion, to the detriment of (software) engineering. As such in an (ahem!) uncustomary fashion for myself, I set off to
moan blog about it
I have to get this off my chest as it’s been bugging me for a while and just been reminded this morning of this issue so had to pick up the keyboard and blog (moan?) about it.
I’m not the biggest mobile user — arguably! — however, like most people out there I find myself often filling in time by using my phone. Whether it is to read and reply to emails, make some quick notes in Evernote or simply play a game.
Part of this experience, I’ve learned, involves occasionally being presented with “product recommendations” (read “advertising”) — we get this all the time on the web, where adverts relevant to either our activities or the context of the page decorate the page. Sometimes we ignore them sometimes we decide to click on them — as long as they are not intrusive I think we all learned to live with them and use them when relevant.
Sadly, I see that not the same applies to mobile platform advertising!