C++, Optimus, Bjarne, …

Bjarne StroustrupHad rather pleasent experience in the last few days – C++14 and C++17 session with Bjarne (who could introduce C++ in 4 slides, amazing skill), and a session about Optimus, which is a global project within my group to develop a new, cutting edge solution for applications across all areas of the firm, and as such it covers a number of technologies including object stores, bitemporal data representation, graph processing, query languages and UI.

Conferences on a diet?

I haven't been to many physical conferences recently – reason is, why should I go there? I can watch the session from a far more convenient place – my PC, my tablet, my couch. I can stop, rewind, get closed caption, take a snapshot. If it's a modern conference, I get realtime discussions, feedback, some cases can even post questions to the presenter if watching realtime. So, what do I miss if I'm watching from home? Yes, I miss the food, the clinking glasses. Yes, I miss the collaboration possibility as well. But yeah, if I'm on a conference, I'd not spend time collaborating, as I paid for it. As some of you might know, I'm planning to resurrect Architecture Forum in Hungary, and I'm struggling, in which format should I do it (btw, if you do have capacity to help in sitebuilding the design for the site, don't hesitate to contact me). So, how would your dream conference look like? Does it have many parallel sessions (like the PGSQL conference where Scott (who is my mate here) is keynoting)? Is it a virtual one? Does it have designated time and place for discussions? Or is that interweaved? Is it an unconference without long presentations (more like a meetup)?

My ideal one is a composite of all of this. Having some prerecorded sessions a few days before, have a relevant keynote. Break into 3-4 streams, each doing 15 min sessions, and probably one full hour near the end. Than give a space and time (and tools) for people to self-organize themselves. And what is yours?

Reddit meltdown and the agnostic cloud

Today's reddit meltdown did spawn some funny comments (like this), but did brought my attention to the fact (especially taking into account statements like this) – how much we do depend on the cloud provider? Is it fair to say, that the cloud is the new single point of failure?

I think – yes. The question is not AWS vs Azure vs Rackspace vs my own. The question is how I do balance the loss of one or more of these – yes, I'm speaking about cloud lock-in. So, take IoC to the next level – inject cloud specific implementations based on which cloud you run in. And on the how to manage this – who is watching the watchers? Let's take granted, that you trust the DNS (there is a reason why you need two servers in two subnets…), so it comes back to watching the capacity, the health of the cloud, the health of the other watchers, and the ability to switch quickly.

Is it easy to build such a thing? There are specific solutions for specific usecases, like GreenButton for MPI/Parallel/Map-Reduce cases, Dell Cloud Manager for managing VMs, but – and waiting for suggestions in the comments; do you know a good cloud agnostic solution?

Xamarin – it’s just amazing

Yes, one of the promise of .NET was that write once, run everywhere. Yes, Java has managed to actually pull this out. Than comes Xamarin. These guys (with Miguel Icaza, who I happen to know in person since 2001 probably – I still has his business card from that time :D) are just AMAZING. Write once as a portable library, and run as a windows store app, a wpf app, a web app, a windows phone app, an iphone app, an android app, a mac app – possibilities are just endless.

So come Nokia, creating Nokai X, which happens to be an Android phone, but with windows phonish UX, and with Xamarin that means… I can run C# on Nokia X, and port my windows phone app to Nokia X like a breeze. So, would I buy a Nokia X, X+ or XL? I don't know, but the possibility is there.

Links I posted No. 1

Posted the following links to https://www.facebook.com/MountGellert :

 

Interviews with a glint in the eye

Just recently did I (re)start doing interviews for the positions we have open (from java to C++ to Scala etc.), but I already started enjoying them. Whenever it's a junior position – a grad, an intern – or a lateral, senior position, usually after the first two minutes I can tell whether someone would fit to my group – it's not a particular question or topic. It's more the presence of a given glint in the eye that tells the candidate is a kind that likes to look under the hood, does not accept an answer without an explanation – e.g. she/he is someone that would fit the team. Recently I came across a link on mashable about a few questions to ask yourself before accepting a job; here is my view on the topic:

"Are serious goals being sacrificed?" – my goals were having a team, but still code as nuts; use cutting and bleeding edge technologies but do have a safe net (startups not being the safest nest while having family to take care). By having extensive possibilities to do flexible work arrangements, overall I do see a strong overlap between what I aim for vs what I get. And yes, career is moving forward as well πŸ™‚

"Is there an opportunity to expand your skills and experience?" – wow, so many things I learned, and as far as I see will do in the future as well: whether it's about designing database engines and schedulers, language design or creating a new mashup technology – I'm always supported to try out the newest and greatest. And to fail early and often if I'm on a bad track πŸ™‚

"Does it meet most needs?" – fits my lifestyle, supports family; what else would I long for?

"Imagine working for the company" – before I joined my employer, I could hardly imagine myself working there. It wasn't the dress code, the culture or anything specific. It was the lack of knowledge on what is there. So next time someone wants to introduce you her/his company, listen!

Re: Outsourced project management – what would you teach to the project manager?

By the same customer care specialist I was asked to come up with a short list on what I'd like to the project manager to know for me to be happy to outsource. Here is the short list:

  • Be able to understand my blog πŸ™‚ – it's mostly written in 'business analyst' language
  • I don't expect him/her to plan the architecture‏ – but still he/she should be able to understand it to a given level‏, especially if it's the architecture his/her company suggest
  • Understanding of tiers (1, 2, 3, N, etc)
  • Understanding of Service Oriented Architecture
  • Understanding of the differences between web and desktop, mobile and desktop, hybrid and native
  • If this is about database as well, understand what is a database, what is a star scheme, what is a cube, what is an rdbms, an olap, a nosql
  • Understanding what is S+S, PaaS, IaaS, SaaS
  • Understanding what is UX, where it has it's place
  • Understanding what is model driven, what is test driven, what is business driven architecture
  • Understanding what is a value chain, what place an ISV or a VAR has in that
  • Understanding what is a user, a developer, a programmer, a power user, etc

What else would you add?

Snow and remote access

Reason for remote workDue to the amount of snow (an example on the right – this is the size of ice slabs I got from under the car) in the recent days I became another one of the remote workers; during which I started to think, whether the current setup of mine is actually suitable for longevitied remote working – and I can declare, it's far from being perfect, but can be made so reasonable quickly. Right now I'm using a Surface RT as my main device as part of a device evaluation, and its possibilities to get it connected to external keyboard, mouse, and display do fit my needs. So what are the missing points? One easy to miss is your seat – to let you ergonomically sit. Another one would be good internet connection – luckily I did not have any issues ever with my provider. Lastly, the comfortable noise level is something I need to invest into. Right now I'm using an old LifeChat device, which suits me most of the cases – save for when I'm doing phone calls. I'm now positively looking into investing into a physical IP phone with headset (hopefully either noise cancelling, wireless or both). What else you try to make your remote work life better? And yes, I'm familiar with the posts of probably one of the biggest remote work enthusiast.

Outsourced project management – what would you teach to the project manager?

Yesterday I submitted nearly a dozen projects for summer internship, covering a wide range of topics from UI mashups to infrastructure developments; and was thinking about what language should I use when describing the projects? A while ago I was chatting with a friend of mine working as a customer care specialist at a company that is basically focusing on outsourcing – he complained he does not understand my blog. Which made me wonder: what courses I'd suggest to take for someone who wants to be able to work in such environment – in 2014. Next to some basics like 'requirements analysis', 'solution architectures' what else would be on the ideal list (eg for someone you would be happy to outsource all of a sudden)?