Friday, January 6, 2012

2012 wrods learned



as·pire  (-spr)
intr.v. as·piredas·pir·ingas·pires
1. To have a great ambition or ultimate goal; desire strongly: aspired to stardom.
2. To strive toward an end: aspiring to great knowledge.
3. To soar.
plan  (pln)
n.
1. A scheme, program, or method worked out beforehand for the accomplishment of an objective: a plan of attack.
2. A proposed or tentative project or course of action: had no plans for the evening.
3. A systematic arrangement of elements or important parts; a configuration or outline: a seating plan; the plan of a story.
4. A drawing or diagram made to scale showing the structure or arrangement of something.
5. In perspective rendering, one of several imaginary planes perpendicular to the line of vision between the viewer and the object being depicted.
6. A program or policy stipulating a service or benefit: a pension plan.
v. plannedplan·ningplans
v.tr.
1. To formulate a scheme or program for the accomplishment, enactment, or attainment of: plan a campaign.
2. To have as a specific aim or purpose; intend: They plan to buy a house.
3. To draw or make a graphic representation of.
v.intr.
To make plans.

[French, alteration (influenced by planflat surface) of plantground plan, map, from planterto plant, from Latin plantre, from planta,sole of the foot; see plat- in Indo-European roots.]

planner n.
Synonyms: plan, blueprint, design, project, scheme, strategy
These nouns denote a method or program in accordance with which something is to be done or accomplished: has no vacation plans; a blueprint for reorganizing the company; social conventions of human design; an urban-renewal project; a new scheme for conservation; a strategy for survival.

in·spire  (n-spr)
v. in·spiredin·spir·ingin·spires
v.tr.
1. To affect, guide, or arouse by divine influence.
2. To fill with enlivening or exalting emotion: hymns that inspire the congregation; an artist who was inspired by Impressionism.
3.
a. To stimulate to action; motivate: a sales force that was inspired by the prospect of a bonus.
b. To affect or touch: The falling leaves inspired her with sadness.
4. To draw forth; elicit or arouse: a teacher who inspired admiration and respect.
5. To be the cause or source of; bring about: an invention that inspired many imitations.
6. To draw in (air) by inhaling.
7. Archaic
a. To breathe on.
b. To breathe life into.
v.intr.
1. To stimulate energies, ideals, or reverence: a leader who inspires by example.
2. To inhale.

fren·zy  (frnz)
n. pl. fren·zies
1. A state of violent mental agitation or wild excitement.
2. Temporary madness or delirium.
3. A mania; a craze.
tr.v. fren·ziedfren·zy·ingfren·zies
To drive into a frenzy.


fas·ci·na·tion  (fs-nshn)
n.
1. The capability of eliciting intense interest or of being very attractive.
2. The state of being intensely interested or attracted: listened in fascination.
3. An intensely interesting, attractive quality or trait.

jolt  (jlt)
v. jolt·edjolt·ingjolts
v.tr.
1. To move or dislodge with a sudden, hard blow; strike heavily or jarringly: jolted his opponent with a heavy punch; an impact that jolted the mailbox loose.
2. To cause to move jerkily: stops and starts that jolted the passengers.
3. To put into a specified condition by or as if by a blow: "Now and then he jolted a nodding reader awake by inserting a witty paragraph" (Walter Blair).
4. To make suddenly active or effective: The remark jolted my memory.
5. To disturb suddenly and severely; stun: She was jolted by the betrayal of her trusted friend.
v.intr.
To proceed in an irregular, bumpy, or jerky fashion.
n.
1. A sudden jarring or jerking, as from a heavy blow or an abrupt movement. See Synonyms at collision.
2.
a. A sudden, strong feeling of surprise or disappointment; a shock.
b. The cause of such a feeling: The news came as a jolt.
3. A brief strong portion: a jolt of electricity; a jolt of whiskey.

de·ceit·ful/diˈsētfəl/

Adjective:
  1. (of a person) Deceiving or misleading others, typically on a habitual basis.
  2. Intended to deceive or mislead.
Synonyms:
deceptive - false - fraudulent - delusive - lying


sti·fle 1  (stfl)
v. sti·fledsti·flingsti·fles
v.tr.
1. To interrupt or cut off (the voice, for example).
2. To keep in or hold back; repress: stifled my indignation.
3. To kill by preventing respiration; smother or suffocate.
v.intr.
1. To feel smothered or suffocated by or as if by close confinement in a stuffy room.
2. To die of suffocation.




in·com·pe·tent/inˈkämpətənt/

Adjective:
Not having the necessary skills to do something successfully.
Noun:
An incompetent person.
Synonyms:
incapable - unfit - unable - inefficient - unqualified




Noun1.lunatic - an insane person
crazylooneyloonynutcaseweirdo - someone deranged and possibly dangerous
bedlamite - an archaic term for a lunatic
pyromaniac - a person with a mania for setting things on fire
madwoman - a woman lunatic
diseased personsick personsufferer - a person suffering from an illness
2.lunatic - a reckless impetuous irresponsible person
adventurerventurer - a person who enjoys taking risks
tearaway - a reckless and impetuous person





























in·cep·tion  (n-spshn)
n.
The beginning of something, such as an undertaking; a commencement.

Thursday, January 5, 2012

Infographic: How to give and ask for a raise


Infographic: How to give and ask for a raise

January 3, 2012, 7:59 AM PST
Takeaway: Mindflash.com offers this handy little infographic for both employers who are giving out raises and employees who are seeking them.
For many, the most nerve-wracking conversation for both the employer and employee is a discussion about a salary raise. Nationally, employees will receive an average 3 percent wage increase this year. With this in mind, employers must carefully decide who gets a raise and when, while employees must perfect the art of salary negotiation. Consult this guide, courtesy of mindflash.com, to become fully versed in the ins and outs of the salary raise.
Click on image twice to enlarge.

Tips for staying on top of tech


Tips for staying on top of tech

January 3, 2012, 5:19 AM PST
Takeaway: Web 2.0 and social media offer great ways to stay on top of tech.
This is a guest post from Lauren Malhoit, a new TechRepublic contributor.
One question that always comes up among IT people, especially those new to the game, is how to stay on top of all the new technology, bugs, and configuration issues. Hopefully you’ll get a lot of ideas on how to do just that from this post. Web 2.0 and social media are your friends, and it’s okay to take advantage of them!

Twitter

I signed up for a Twitter account a few years ago and then promptly never signed in again. I didn’t see the point. Why do I need to know that one of my friends had French toast for breakfast that day?  Then I realized that companies, tech experts and a myriad of other people were tweeting up-to-date information about their blogs, troubleshooting issues, and talking about new technologies coming out. I highly recommend getting an account and following people in your field. If you don’t know who to follow, find someone you know in your field and see who they follow. You should start tweeting yourself!  Don’t worry if you don’t have a lot of followers in the beginning; it’s not a popularity contest, it’s an information feed. I also recommend getting a third-party Twitter agent that you can just keep at the bottom right of your screen. That way you don’t have to remember to login every day.

Podcasts

Podcasts are amazing, both video and audio. Do you have some free time during lunch?  Watch a video podcast like Tekzilla or Hak5…there are a ton out there. See which ones you like. If you can’t watch videos at work, then subscribe to some audio podcasts. You can even set up your Roku or Google TV, etc., to subscribe to video podcasts and watch them at home. As for audio, I have an 80-minute round trip every day. I have a ton of podcasts that are automatically downloaded on my phone. I plug the phone into my aux plug in my car and listen to them. I listen to Packet Pushers, VMware Communities (which also offers a chat room if you want to listen live on Wednesdays), CloudCast.net, etc.

LinkedIn

You may have a LinkedIn account already, but do you really utilize it?  Try joining groups that apply to your field. They can be local groups or global groups, it doesn’t matter. Try participating in the discussions. I have also found this to be very useful if I have a question about the best technology solution to use. You can hear about what other people have tried and what they like. This is awesome for anyone working in an SMB who doesn’t have time to research every option available. You might get two or three ideas and then you can download evaluations for them.

Local User Groups

Speaking of LinkedIn, a lot of the groups you join might actually meet…wait for it…in person. There are groups like VMUG (VMware), CUG (Cisco), and OWASP (Security) that meet in person and discuss new trends. They usually have someone presenting some facet of what technology they’re working with, sometimes it’s sponsored by a company and sometimes it’s just a local expert. You might make some connections (people you can follow on Twitter), and you might even learn a thing or two. Most importantly, you usually get some free pizza.

RSS feeds

It’s an oldie but a goody. Most people probably just refer to it as subscribing to blogs these days, but whatever you call it, it gives you some great information. Play with your subscriptions. You can see what’s applicable to you and what is maybe considered to be marketing propaganda (not that there isn’t a place for that). I rely heavily on blogs. I usually have 20 to 40 that I check out regularly. Don’t feel bad if you aren’t getting something out of one. Just stop subscribing. You can set up Google Reader so that it’s available on all your devices and read them wherever you are.

E-newsletters

Some people don’t think about stopping work to check out tech sites they like and they miss some tech tips they might not even know they’d be interested in. Many sites offers e-newsletters you can subscribe to. When something arrives in your email mailbox, it’s a great convenience. (You can see what TechRepublic newsletters are available by becoming a member and then going here.)

Training

This isn’t exactly a new concept, and hopefully your company offers a training budget. It’s a week away from the office and you can get some specific training on whatever you’re working on. If your company doesn’t offer it, or they don’t want you taking a week off because you’re single threaded and don’t have the opportunity, a lot of training companies offer on-demand alternatives that usually cost less than classroom or onsite training. There are plenty of training videos out there that are free or have a minimal cost that could be very helpful as well.
As an IT person working for an SMB, I don’t have a whole lot of time to just read books and figure things out (although, there are a lot of books out there I would also recommend). I’m busy putting out fires, trying to update things, maybe resolving a few helpdesk tickets, and if I’m lucky, implementing new technology solutions. Can these things be a distraction?  Yes. But I when used properly, they save me more time than traditional research. What do you use to keep up to date?

12 resolutions for programmers


12 resolutions for programmers

It's important for programmers to challenge themselves.
Creative and technical stagnation is the only alternative.
In the spirit of the new year, I've compiled twelve month-sized resolutions.
Each month is an annually renewable technical or personal challenge:
  1. Go analog.
  2. Stay healthy.
  3. Embrace the uncomfortable.
  4. Learn a new programming language.
  5. Automate.
  6. Learn more mathematics.
  7. Focus on security.
  8. Back up your data.
  9. Learn more theory.
  10. Engage the arts and humanities.
  11. Learn new software.
  12. Complete a personal project.
Read on for my suggestions.

Update: You might want to consider this article in conjunction with what every computer science major should know.







Go analog

Programmers obsess over the discrete and the digital well past the point of diminishing returns.
Thus, small investments in the analog yield comparatively large gains.
Here's a starter list of analog activities to try, each of which takes about a month of dedicated effort to transition out of the novice (and into the seasoned beginner) stage:
  • Cooking.
  • Hiking.
  • Skiing.
  • Astronomy.
  • Jogging.
  • Carpentry.
  • Martial arts.
  • Dance.

Stay healthy

Programmers tend to live sedentary lives, and we face unique health challenges from our occupation.
We tend to ignore these challenges.
Spend a full month each year tuning your exercise, diet and environment to promote durable healthy habits.
Go to a clinic each year to get your blood pressure, cholesterol and blood sugar checked. Watch how these values change over time.
If your wrists are starting to hurt or have been hurting, stop now and take action to combat RSI.
Focus on improving your posture, with an emphasis on your shoulders and neck. I use a posture corrective brace to help:
Track your weight, caloric intake and caloric burn. If necessary, reshape your lifestyle to promote healthier eating and weight loss.

Embrace the uncomfortable

Since my early twenties, I've looked at my older peers and tried to figure out why some stagnate and how others stay vibrant.
The answer is comfort.
Comfort breeds technical fossilization.
We find a system that works for us, and we stick with it.
But, technology advances, and those that stay in their comfort zone never realize the gains from these advances.
Practice becoming comfortable with being uncomfortable.
Here's a list of things that might make you uncomfortable at first:
  • Switch to Dvorak.
  • Switch from emacs to vim or vice versa.
  • Stop using a mouse.
  • Use a different window manager.
  • Switch from cream and sugar to black coffee or straight tea.
  • Try out that "popular new piece of crap" for the full month.
  • Turn your cellphone off for one day a week.
  • Learn a one-handed input device.
  • Try a different OS.
  • Abstain from the internet for one day a week.
  • Try a dietary restriction: go vegan, vegetarian, dairy-free, etc.
  • Eat a food you don't like every day.
  • Put your dominant arm in a sling.
  • Learn to write with your non-dominant hand.
  • Start a blog.
  • Sign up for public speaking.
  • Listen to a kind of music you don't like for a month.
  • Volunteer at a hospital or retirement home.
  • Fast once a week.
  • Travel to a country with a different language and/or culture.
  • Read an acclaimed novel from a genre that you don't like.
  • Watch an acclaimed movie/show from a genre that you don't like.
  • Learn to drive stick.
  • Argue against something you believe.
After a month of doing something different, decide whether you want to keep doing things differently or whether there are ways to blend the best of the new and the old.
For instance, when I switched to vim after ten years of emacs, I set up the emacs-style key-bindings for insertion mode but kept vim.

Learn a new programming language

Programming languages rise and fall.
Programmers that only know one language will restrict their problem-solving abilities and their career prospects.
Spend a full month absorbing a new language or a new language paradigm.
Write a modest program in it.
Here are a few less mainstream languages to learn:
If you're out of programming languages to learn, implement one.

Automate

The most powerful underexploited skill programmers possess is the ability to automate both the virtual and the physical.
If you've never built a robot, build a robot.
At the very least, play with Lego Mindstorms:
or hack on an Arduino board:
Survey the routine tasks you perform, and determine which can be automated in full or in part.
Home automation technology has advanced considerably, and much is possible with DIY systems like Insteon.
Take a month to invest in an automation project:
  • Tune your mail filters or set up procmail.
  • Set up shell scripts to automate the frequent.
  • Create shell scripts to help your writing.
  • Learn how to use the cron tool.
  • Link closet lights to motion detectors.
  • Replace wires with wireless where possible.
  • Stop manual syncing: Move it to the cloud.
  • Set up a remotely controllable sound system.
  • Control your thermostat from your server.
  • Set up digital security cameras.
  • Create a digital intercom/baby monitor.
  • Have your coffee maker turn on automatically.
  • Set up a self-refilling water dish for pets.
  • Build a sensor-controlled pet door.
  • Hack a Roomba into a personal courier.

Learn more mathematics

At its heart, computer science is a mathematical discipline.
Good mathematicians make good programmers.
Do not let your mathematical faculty wither.
Consider an annual one-month brush-up on one of these topics:

Focus on security

Few programmers practice good security habits.
If you're conscious of your own digital security, you'll be more conscious of the security of the code you write.
Check that you're using unique, strong passwords for every site.
Manage your passwords with an encrypted password manager likePasswordSafe or KeePassX.
If you don't already practice whole-disk encryption, set aside time to do it. (On a Mac, it's painless to set this up.)
Each year, study the top ten vulnerabilities for the past 12 months. How did they happen? What coding practices could prevent them in your code?
Here are other security tasks you can try out:
  • Set up an SSL certificate in Apache.
  • Implement a cryptosystem like RSA or AES.
  • Try to crack the key to your wireless network.
  • Snoop your network traffic with WireShark.
  • Set up passwordless, key-based ssh login.
  • Run nmap on yourself. Configure your firewall.
  • Set up port-knocking.
  • Create an encrypted USB drive.
  • Set up log file monitors.
  • Set a cronjob to upgrade your packages regularly.

Back up your data

Each year, spend time reviewing your backup strategy.
Invest a month in minimizing the cost of making backups.
With cloud-based backup services like Mozy and Carbonite, seamless automatic backup is easy to set up.
Opt for defense in depth by assigning an individual hard drive to each computer and enabling automatic backups with tools like Time Machine.
Keep critical files in version control with a geographically remote repository.

Learn more theory

Computer science has rich theoretical structure.
Keep abreast of new developments and renew your mastery of the classics.
Spend a month each year on topics like the following:
  • Formal languages.
  • Automata and computability theory.
  • Complexity theory.
  • Formal methods.
  • Semantics.
  • Algorithms and data structures.
For starters, you might want to take a look at these posts:

Engage the arts and humanities

Engineers tend to look down on the arts.
What engineers fail to realize is that the arts and humanities augment technical excellence.
Steve Jobs was fond of pointing out the importance of connecting technology and the humanities, and rightly so.
Art and design have principles applicable to human-computer interaction.
Don't be ignorant of these principles.
Practicing the arts and humanities trains and sharpens intuition in a way that is difficult to quantify.
Engineers need to learn how to measure what they can't count, instead of counting only what they can measure.
For at least one month per year, learn more about topics like the following:
  • Industrial design.
  • Philosophy.
  • Photography.
  • Painting.
  • Sketching.
  • Music and music theory.
  • Film.
  • Literature.
Social sciences have much to offer computer scientists as well. Try economics and psychology in particular.

Learn new software

A good way to get ideas for your own software is to learn a new application or a new kind of application.
For instance, if you've never used 3D modeling software, try Blender.
Or, if you've never learned LaTeX, give it an honest effort.
As you learn, note what you like and don't like.
Ask yourself honestly whether these observations are reflected in the software that you create.
It's hard to spot bad practice in your own work, but easy to spot in others'.
No parent ever had an ugly child.
Learn to recognize your ugly children.

Complete a personal project

If you spend all day writing code for someone else, remember why you became a programmer by writing a program for yourself.
Spend a month each year on a project of your choosing.
Bring the nucleus of that project to fruition.
Open source it and release it to the world.

Related pages