7 Best Ways to be Successful in Meetings

Meetings are an essential part of any organization and can either make or break a project’s success. As a result, it’s important to approach meetings with preparation, focus, and a goal-oriented mindset. Here are seven ways to be successful in meetings:

  1. Preparation: Before attending a meeting, take the time to review the agenda, understand the purpose of the meeting, and gather any necessary information or materials. This will help you stay focused during the meeting and be ready to contribute.
  2. Active Listening: Pay close attention to what’s being said during the meeting, and avoid distractions such as checking your phone or email. Active listening will help you understand the context of the discussion, and you can respond thoughtfully.
  3. Communication: Clearly and effectively communicate your ideas, opinions, and concerns. Be sure to ask questions when you need clarification and be open to feedback. Good communication skills are key to a productive meeting.
  4. Time Management: Respect the time of others by being on time and keeping the meeting moving along efficiently. Stay focused on the agenda, and avoid getting sidetracked by unrelated discussions.
  5. Goal Oriented: Set clear goals for the meeting and work towards achieving them. Keep the discussion focused on what needs to be done, and avoid getting bogged down in unnecessary details.
  6. Collaboration: Meetings are a time for collaboration, so be open to working with others to achieve common goals. Be willing to compromise, and encourage others to do the same.
  7. Follow-Up: After the meeting, be sure to follow up on any action items or decisions made. This shows that you are engaged, organized, and committed to the success of the project.

In conclusion, successful meetings require preparation, active listening, effective communication, time management, goal orientation, collaboration, and follow-up. By following these seven best practices, you can ensure that your meetings are productive and contribute to the success of your projects.

5 Reasons Why a Programming Job is the Best Career Choice for You

Programming is one of the most in-demand and lucrative careers in the tech industry. With the rise of technology, the demand for programmers has skyrocketed, making it a great time to pursue a career in programming. Here are 5 reasons why a programming job is the best career choice for you:

  1. High demand and good pay: As technology continues to advance and more and more industries are going digital, the demand for programmers has never been higher. And, with high demand comes good pay. Programmers can expect to earn a high salary, with the average salary for a programmer in the US being around $80,000.
  2. Constant learning and growth: Programming is a field that is always evolving, and there are always new languages, frameworks, and tools to learn. This means that as a programmer, you will never stop learning and growing, which can be very rewarding.
  3. Flexibility and remote work: Many programming jobs offer the option of working remotely or having a flexible schedule. This allows you to work from anywhere and have more control over your work-life balance.
  4. Variety of industries and roles: Programming is not just for tech companies. Today, programming skills are in high demand across a wide range of industries, such as finance, healthcare, and retail. This means that as a programmer, you can choose from a wide variety of roles and industries to work in.
  5. Ability to make a positive impact: Programming skills can be used to build and create software that helps people and businesses. With the ability to create and develop software, you can make a positive impact on the world and make a difference in people’s lives.

In conclusion, a programming job offers a range of benefits that make it an excellent career choice. From high demand and good pay to flexibility and remote work, there are many reasons why a programming job is the best career choice for you. So, if you’re looking for a rewarding and fulfilling career, consider pursuing a career in programming.

Codility as a tool for filtering out bad developers

Earlier this week, a headhunter approached me for a Java back-end developer position. She tells me as you might expect that she has a vague understanding of Software Engineering and that they have two tests to give me before a technical interview. These were a psychological test and a Java Codility test that consisted of three tasks. They gave me three hours to finish the exam. The tasks are usually variations of common programming problems used in academia and programming competitions.

The first and second tasks were very similar just varying in complexity. Codility provides a good web interface with great feedback on what is asked of you. This is definitely a step up from coding on a whiteboard interview. You get two tabs where you can quickly generate test data that is passed into a function in the coding tab. Boilerplate is mostly filled out which is great. Most IDEs do this for you nowadays anyways.

The third task is about finding a bug in the code. The way they test this is checking closely on your reading skills. This is key in modifying a couple of lines of code. The interface did not let me add or remove lines. The solution I came up with require me to add a line so I appended it to closing brace. The interface has no way to allow for debugging so you might need to have your own handy.

My C+ result for a Java Test, saw what I did there? :p

Should you filter out developers that do average in these tests?

Probably not. A developer with a decade out of college has already forgotten this kind of coding. Many have never used an array in production. This is part of the reason I got 0% in performance for the second task. I added the array to a list and used methods on the list to solve the task. I did not realized I was being rated on performance and that I had to produce a log n algorithm until I read in the third task that this task will not be rated on performance. At that point, I had no chance to go back. As you can see from my result, performance is 62% of the grade.

CONCLUSION

Codility is not bad but it should not be your only way to measure a developer skill. If a developer is doing data analysis or someone straight out of college, it is probably a great tool since it is more closely related to their experience. However, I was given the impression that if I do bad on these I was not going to a technical interview. I will probably have somebody write a CRUD site or create a cascading drop down, but these things require several technologies which is probably harder to develop a tool to test for. In the mean time, there is not really a good way to measure a developer talent or algorithm to rank them. Use Codility as part of your score, and not the comprehensive examination.

Gator Tears

 

Crying Gator

I was helping a friend migrating his website from HostGator.com to another web hosting company. I couldn’t find a easy way to cancel the account from their Dashboard. So, I googled “cancel Host Gator account” and ended up in the following site: https://www.hostgator.com/cancel

Here I met a crying alligator which has a similar anatomy to crocodiles. I don’t know if you all heard the expression Crocodile’s tears that was regularly used by Shakespeare. But, I was under the impression that HostGator.com didn’t really care much for my friend’s business.

My Robinhood experience so far…

I currently trade using ScottTrade and I have been pretty happy with it. They have terrific customer support, but they are about to be acquired by TDAmeritrade. So, before just letting my account rollover, I went to Fat Wallet to research other options. I learned that my experience will remain almost the same. However, I also learned something interesting. There is this new free stock trading site called Robinhood.

Robinhood caught my attention at first because their marketing said: “Stop paying up to $10 for every trade”. I kept reading and realized that they manage this by skipping any research tools and they are only available on Android and iOS. I figured this works for me. Free definitely beats $6.95 per trade. So, I went ahead and started the application to open an account.

They sent me a verification email and then I waited for them to approve my application. A week went by and I did not hear anything back, so I wrote them an email. Apparently, they put my application on hold and didn’t bother to let me know. Then, they asked for a Permanent Resident Card to verify my U.S. residency, so I emailed them a copy of my U.S. passport. A couple of days went by and apparently, that was not enough. They then asked me for a Bank Statement which I promptly emailed back to them. Three whole weeks have gone by and my application has not been approved, yet. The only thing all this emailing back and forth has achieved is a series of customer satisfaction surveys asking for feedback. Well, here it is.

Robinhood’s customer service is nothing compared to what I have right now with ScottTrade. They have proved useless in helping me open an account. I do not remember my experience opening an account with ScottTrade, probably because it was so fast. Also, when I email ScottTrade with questions, they answer in a jiffy. Robinhood, on the other hand, has a lot to learn. I guess you get what you pay for.

ServiceNow script to calculate days until AD account expires

I am just starting to learn how to develop applications and write scripts for ServiceNow. I’m adapting to going from using some of the best tools used for dotNET development to the few options ServiceNow provides (an in-browser IDE with a hit and miss debugger). My employer is not a development house so I get by with Visual Studio Code and some other open source tools.

One of my first tasks was to send an email notification each time an Active Directory account was 10, 7, and 3 days from expiring. But, we quickly discovered LDAP stores this value as a number of 100-nanosecond intervals since January 1, 1601 (UTC). JavaScript does something similar, but it uses milliseconds since January 1, 1970. So, I have to put both in the same unit to be able to subtract one interval from the other.

I added a script in a Field Map inside a Table Transform Map that runs daily to import data from LDAP/AD. This script transforms the value to be imported in the number of days until expiration.

answer = (function transformEntry(source) {

var daysToExpiration = 0;
// Account-Expires attribute comes as source.u_accountexpires from LDAP.
// This value represents the number of 100-nanosecond intervals since January 1, 1601 (UTC).

// If variable is coming null return 0 days
if (source.u_accountexpires == '' || 
    source.u_accountexpires == null || 
    source.u_accountexpires == undefined) {
daysToExpiration = 0

}

A value of 0 or 0x7FFFFFFFFFFFFFFF (9223372036854775807) indicates that the account never expires. Therefore, we assign a big number for the days. This way the user never gets an email.

else {
if (source.u_accountexpires == 0 || 
    source.u_accountexpires == 9223372036854775807) { 
daysToExpiration = 50000;
}
else {

I tried to get the JavaScript Date object to work but it did not so I used GlideDateTime from the ServiceNow API for server scripts to do the calculations.
11644473600000 is the 100ns from Jan 1, 1601, to Jan 1, 1970. Added to match LDAP to Javascript.
now.getNumericValue() return the milliseconds from Jan 1, 1970.
Multiply by 10000 to convert from milliseconds(js) to 100 of a nanosecond (LDAP).

var now = new GlideDateTime();

var today = 116444736000000000 + ( now.getNumericValue() * 10000 )

Subtract today in LDAP format and divide by the number of 100 of nanoseconds in a day.


daysToExpiration = ( source.u_accountexpires - today ) / 864000000000;

If the account has already expired, we assign it a 0

if (daysToExpiration < 0) {
    daysToExpiration = 0;
}

Next is the code that determines if the notification is sent or not, and returns the days to expiration.

daysToExpiration = parseInt(daysToExpiration, 10)

switch (daysToExpiration) {
    case 3:
    case 7:
    case 10:
     //LDAP-disabled users are not sent an email during transform based on 'userAccountControl' attribute
         switch (parseInt(source.u_useraccountcontrol,10)) {
              case 514:
              case 546:
              break;
              default:
              gs.eventQueue('userid.expired', target, parseInt( daysToExpiration, 10 ), target.email);
          }//inner switch
     } // end switch outer
}

return daysToExpiration;
}
})

(source);

Download Script from GitHub

Word of Advice: Stay away from TradeKing

Dear Internet,notradeking

I recently had the displeasure of dealing with TradeKing’s customer support, and decided I no longer want to do business with a company with their policies. Sadly, I had to learn the hard way and I am hoping I can save a reader or two from this ordeal.

At the end of last month, I deposited some money to buy some stocks. Since it is an ACH transaction, it takes a couples of days. So, I forgot and didn’t log back in until this month. To my surprise, there is an outrageous $50 charge in my account for an “inactivity fee”. This is a fee they added late last year and they claim they emailed me about it during that time. I can not find an email to this effect and even then, why not notify me before charging me this time around? Would it hurt them to drop a line with all the technology available nowadays? A text, IM, tweet, or something like hey we are about to charge you this fee if you do not make a transaction soon. Instead, the first month there is enough money in the account for them to charge me a fee, they just charge away.

In the following chat, I tried to talk them out of charging me this fee but they will mostly just argue the validity of their fee that is hidden in a 100 question long FAQ that I only found after googling for it. I honestly recognize it was my mistake not to research the company further. But, since I though I was somehow grandfathered in from Zecco, Inc. which they merged with, I did not do my due diligence. I admit I snoozed. However, I don’t want to and advise you not to do business with a company where if you snooze, you lose.

Welcome to TradeKing’s Live Help service. Your chat is currently being routed to one of our representatives, you will be connected shortly.
Thank you for contacting us, I am ‘Donnie’ how may I assist you today?
Donnie: Good afternoon. Thank you for contacting TradeKing.
Christian Rios: Hi Donnie, I was about to place a trade and I realized my account have a $50 charge!
Christian Rios: After reasearching it, I am very upset. I did not have to worry about this with Zecco
Donnie: Let me check your account
Donnie: Please provide your full name and the last 4 digits of your SS number for account verification.
Christian Rios: Christian Rios, 1337
Donnie: Yes I do see your account was charged with an inactivity fee, and we apologize if this caught you off guard.
Donnie: All Zecco clients were notified via email regarding the introduction of the Inactivity Charge to their accounts, so they could take the course of action they felt best fit their needs to avoid the charge. Unfortunately it does cost TradeKing to maintain dormant and inactive accounts. In efforts to continue to offer our deeply discounted commission structure to all our clients, and to avoid having to change our commission structure to offset the increasing maintenance costs associated with these inactive accounts, the Inactivity Charge was introduced.
Christian Rios: I would appreciate it if you guys remove that charge.
Donnie: Unfortunately, this charge is a valid part of our fee structure. However, if you would like I can extend an offer to have this charge reimbursed if you can make a deposit to raise your account balance to the minimum of $2500 in order to avoid this fee.
Donnie: I see your account value is roughly $800 short of the minimum balance required in order to be exempt from the fee.
Christian Rios: I thought all you needed to do was to make a trade once a year?
Donnie: That is correct as well.
Donnie: You will have until August of 2014 to place one trade in order to be exempt from the fee for next year
Christian Rios: Well, can you remove it and I can place a trade before the end of the month?
Donnie: Unfortunately not, this fee was validly charged to the account.
Christian Rios: Look, I am trying to be reasonable here. But, if you are not going to play ball, I promise you, I will take my business elsewhere.
Donnie: We do regret to hear that, and we would not want to lose your business. However, this charge is a part of our structure here at TradeKing, and we do apologize if this is not in line with your intended trading volume in the account.
Christian Rios: Yet, you agreed to remove the fee if I deposit 800 dollars to comply, but not if I place a trade. Fine, I am done doing business with you. Btw, I have a blog and would to share how you treat your customers.
Donnie: We do apologize for your lack of satisfaction here, but if placing one trade per year is not something that can easily be met then it may be best to find a broker that does not have minimum trading requirements.
Christian Rios: Yes, one without ridiculous and outrageous fees and one willing to work things out with their customers.
Donnie: If you should decide to leave then we do wish you the best of luck with future investments.
Christian Rios: well, I already decided to leave, can we get started with that process?
Donnie: Sure, if you intend to transfer your account to another broker then this process will be initiated on the receiving brokers end, as they will have special transfer instructions for you.
Donnie: Once this process is initiated on their end, no further action will be needed from you on our end here.
Donnie: Do you have any other questions that I can assist with at this time?
Christian Rios: No, I am just amazed a what a terrible company you are
Donnie: We do regret to hear you feel that way, and if there are no further questions then I wish that you have a great rest of your day.
Donnie: I am happy to be of service, have a great day.
Thank you for contacting TradeKing today. I hope I was able to answer your questions or address your concerns. If you believe that this issue is still unresolved or you have additional feedback, please email a copy of this conversation to service@tradeking.com.