Sunday, January 31, 2016

Winging it — People who master it make you believe that they are following its definition

What does “winging it” mean? We all have done it, but do we master it?


Definition:
To wing it is an idiom that means to improvise, to do something without proper preparation or time to rehearse. People often talk about winging it when they have to do something difficult that they didn’t have time to prepare — like a make speech or give a presentation.
Those who are regularly successful in it are actually memorizing their speeches and the facts from the speech. They practice and practice. Then when the actual meeting or speech or presentation comes, they have the confidence because in the worst case, you memorized everything and you can go by the script. With that confidence, you find opportunities during your presentation to be more natural and that natural behavior keeps your audience engaged; some may say that you are winging it and that you are very good in it but I call it “being very prepared”.
Don’t think that this only applies to your senior management team. This applies to everybody in your organization whether you are in a meeting with 3, 5, 10 or more people.
Try it in your next meeting. Carefully read the agenda for the meeting and come very prepared. Then when you are in this meeting, keep your laptop, notebook and your smartphone away and pay attention to all the discussions. You will be very natural and your points will come across much stronger.
Conclusion:
Those who are great in winging it, they actually rehearse and go against the definition of “winging it”. 


- almirsCorner.com -

Saturday, January 30, 2016

POST Desktop Era - Are we there?

Post Desktop Era.

Back in 90s when I worked at IBM, I used to use dumb terminals connected to Unix servers that had some amazing specifications. Then we went into the direction of having powerful desktop computers and powerful laptops. 

With the introduction of Chromebooks, we are back to those dumb terminal days but still at infancy days. With Chromebooks, you can be almost 100% productive if you are not in IT industry, but when it comes to IT professionals, we are getting there. 

More and more tools are becoming available online through web browsers. Of those tools is Cloud 9 IDE that I am using. I can do Linux, Node.js, Javascript, HTML5, and Python programming all through my browser on my Chromebook. Yes, I have my IDEs for my Windows and Macbook machine, but there is something fun about developing in a cloud IDE :)

The message in the image is what I saw one day when my Cloud 9 IDE was loading; it's awesome.

So are we there yet? If you are an early adopter, we are there. I think we are still a few years away from web browser tools being as good as desktop tools.

Happy Cloud Computing :)


- almirsCorner.com -

#cloud #cloudcomputing #chromebook #chrome #IDE #cloud9 #coding #code #programming #programmer #softwaredevelopment


Saturday, January 23, 2016

Coding / Programming — Think Paper, Paper, Paper, then Code

Most of the software engineering problems are solved in what I call the high-level brainstorming sessions. We basically walk into a meeting room and white-board our thoughts and come up with solutions. When things start falling apart, you better believe this happens in the last stretch of projects and this does work. 
Now the issue is that we as programmers do NOT do the similar type of exercise before a line of code is written?
I typically see developers get requirements in the form of a document or a user story or in the form of walk-by requirements. The next thing I see on developers’ screens is code editors or IDEs. Is that the right thing to do? You may say that you are advanced enough and that you like to dive into code right away, but this happens even to the best of us. We fall into this trap and rarely step back and review our habits.
We have to go back to fundamentals. What did we do in school? Professors taught us to write down our thoughts and to show what we plan to eventually express in code. A piece of paper and a pen can do amazing things early in the game before a line of code is written. Even if it is a napkin, please use it and write down what you plan to do. It does NOT have to be pseudo-code; it could be just a bullet point list in English (or your choice of language) and a bunch of boxes/diagrams describing what you are planning to do when you put your hands on that keyboard in front of your choice of code editor or IDE. This approach prevents potential confusions down the line and it can actually prevent show-stoppers in the 11th hour of your project. Whatever you write down on this piece of paper can also be used as a verification for your code because when you get into coding, you dive down too deep and forget the big picture; this piece of paper is there for you to keep you in check. When a tech lead ask developers how they implemented a specific requirement/user story, developers need to be able to articulate the implementation without showing any line of code. What’s the best way to show a solution and have discussions than a piece of paper with your approach. Then these discussions could lead to what I call “drive-by” mini demos and code reviews which are another great benefit and that deserves its own blog post.
A developer may use the following argument against what I wrote here: “This is slowing me down. Why do I need to waste my time putting my thoughts on paper if I can just sit in front of my computer and start coding it?”
My response to the above argument would be: That’s fine; I am talking about guidelines here. These are not rules. It is up to you to choose when you want to use paper first and as your experience grows, you become better and better in making these decisions. There is no right or wrong; I am just providing some approaches/tools that help with the whole process. In many cases, this takes a bit of your time at the beginning and saves you a lot of headaches later in the project. At the end of the day, if a tech lead asks you to explain how you implemented something, you need to be able to articulate without showing code :)

What’s the conclusion? Think paper, paper, paper, then code.


Almir M.

#programming #coding #code #programmer #softwareengineering #softwaredevelopment 

Monday, January 18, 2016

Python Programming Series - Part 3 - Read a file and write into another file

I have been doing software development for 18+ years, but I am relatively new to the open-source community. I learned a bit of Python back in 2013 and I put it on hold because I was not thrilled with the syntax and code readability as I am used to strongly-typed languages, and I just picked it up again because as I am going through some AWS training and AWS CloudFormation. 

If you are a Python expert, you should not be on this page :)

As I am revisiting Python as a programming language, I figured I would post things as I am learning and putting together examples. That's the point of this series.

DETAILS ON THIS EXAMPLE ARE HERE:
http://almirscorner.blogspot.com/p/python.html



- almirsCorner.com -

#python #programming #code #coding #software #softwaredeveloper #softwareengineering #programmer

Sunday, January 17, 2016

Python Programming Series - Part 2 - String Manipulation Example

I have been doing software development for 18+ years, but I am relatively new to the open-source community. I learned a bit of Python back in 2013 and I put it on hold because I was not thrilled with the syntax and code readability as I am used to strongly-typed languages, and I just picked it up again because as I am going through some AWS training and AWS CloudFormation. 

If you are a Python expert, you should not be on this page :)

As I am revisiting Python as a programming language, I figured I would post things as I am learning and putting together examples. That's the point of this series.

DETAILS ON STRING MANIPULATION ARE HERE:
http://almirscorner.blogspot.com/p/python-string-manipulation.html



- almirsCorner.com - 

#python #programming #code #coding #programmer

Saturday, January 16, 2016

Python Programming Series - Getting Started

I have been doing software development for 18+ years, but I am relatively new to the open-source community. I learned a bit of Python back in 2013 and I put it on hold because I was not thrilled with the syntax and code readability as I am used to strongly-typed languages, and I just picked it up again because as I am going through some AWS training and AWS CloudFormation. 

If you are a Python expert, you should not be on this page :)

As I am revisiting Python as a programming language, I figured I would post things as I am learning and putting together examples. That's the point of this series.

Installing Python:

After installing, set the path and add:  C:\Python27
NOTE: I have been running with version 2.7.10 because that is still the most popular and widely used and has the biggest third-party library support. 

Python IDE that I like and it is most lightweight:

NOTE: Install the Community edition. It is good enough.
You can also use a cloud-based IDE: http://c9.io

Python Tutorials:

Good reference website and full docs is at the official Python site: https://docs.python.org/2/tutorial/
Good tutorials are:


- almirsCorner.com - 
#python #programming #code #coding #programmer #softwareengineering 

Sunday, January 3, 2016

Convert your SLOW old PC into a Chromebook

I had a cheap version of an Acer 11" laptop that was not performing well after a few years. The machine was practically not usable so I decided to research and install the open-source Chromium OS that would make this old laptop a relatively fast "Chromebook".

Before I get into the instructions, let me share the final results. The Chromium OS boots up in 10sec on this "Chromebook". Browsing internet is super fast and YouTube works great, but there are a few things that you have to watch out for if you are already used to using regular Chromebooks and you are doing a direct comparison:


  1. Chrome Web Store:  This will not work as Chromium OS is not compatible with Chrome OS Web Store.
  2. You will not have access to Google Drive through the Chromium File Explorer the way you can do it in Chrome OS. This may not be important to you because you can still access Gmail, Google+ and Google Drive through your browser which is how I typically access it anyways. 
  3. Chromium browser does NOT support Flash. So if you are used to playing games with Flash or watching movies from websites that are powered by Flash, you are out of luck. Keep in mind that you can still play HTML5 games but you will have to find them outside the ChromeOS web store (i.e.  http://html5games.com/ )

After doing some quick research on YouTube, here are the exact steps for getting Chromium install on your USB drive and using it as a boot-up drive, or fully converting your PC into a Chromebook so you don't have to use USB drives as boot-up.

  1. Download and install Win32 Disk Imager that is used for creating your boot-up drive: http://sourceforge.net/projects/win32diskimager/
  2. Download the Chromium OS build from: http://chromeos.hexxeh.net/ and extract the file from the zip file.
  3. Use one USB drive that you don't need. Keep in mind that everything on this USB drive will be formatted so make sure you save its data somewhere before using it.
  4. Use the Win32 Disk Imager:  Create a boot-up USB drive using the Chromium OS build image file by selecting it within the Disk Imager tool.
  5. After the Disk Imager is done creating a boot-up drive, you can leave the USB drive connected and reboot your computer and the boot-up time, you need to make sure that the boot-up is done from the USB drive instead of your hard-drive. Depending on the type of your PC, you press different function keys to get the boot-up menu. For example, on my Acer laptop I pressed F2 while the computer was being rebooted and it presented me with a menu where I was able to select the order of drives used during boot-up.
  6. After you let it boot up from the USB drive, you will get the Chromium screens that will walk you through initial setup with your Gmail address.

If my instructions are not clear, you can watch these two videos:


If you want to fully/permanently convert your PC into a ChromiumBook/Chromebook without needing to use the USB drive, you can do that by following the instructions below, but you need to be very careful; you will NOT have access to your Windows OS anymore and you will first need to back up files from your computer if you plan to do so. Here are the instructions:



- almirsCorner.com - 

#Chromium #Chrome #ChromeOS #Chromebook #PC 

Saturday, January 2, 2016

Sony 55" 4K Ultra HD TV - Google search voice commands

Siri on my iPhone and I don't get along well. She does not understand my accent :) 

I occasionally use Google Now app on my iPhone and its search feature but it is not built with full functionality for iOS. I bought this Sony TV that is running Android OS and I am really enjoying the Google search feature with voice commands.

Here is my YouTube video showing you this feature:
https://www.youtube.com/watch?v=-tmpWJYClQ0




- almirsCorner.com - 

#Sony   #X850C   #Android   #GoogleSearch   #voicecommands  #OkGoogle