- 1
Jeff Weiner
100% Approve
- 2
Alan R. Mulally
97% Approve
- 3
Richard W. Edelman
97% Approve
- 4
John E. Schlifske
95% Approve
- 5
Paul E. Jacobs
95% Approve
- 6
Craig Jelinek
95% Approve
- 7
Brad Smith
94% Approve
- 8
Lloyd C. Blankfein
94% Approve
- 9
Howard D. Schultz
93% Approve
- 10
Mark Zuckerberg
93% Approve
- 11
Larry Page
93% Approve
- 12
Richard K. Davis
93% Approve
- 13
Marc Benioff
93% Approve
- 14
Jerry M. Kennelly
93% Approve
- 15
Edward C. “Ned” Johnson, III
93% Approve
- 16
Joe Echevarria
92% Approve
- 17
Mickey Drexler
92% Approve
- 18
Tim Cook
92% Approve
- 19
Fred Smith
92% Approve
- 20
John J. Donahoe
91% Approve
- 21
Bob Iger
91% Approve
- 22
Joe Robles Jr.
91% Approve
- 23
Carlos A. Rodriguez
91% Approve
- 24
Blake W. Nordstrom
90% Approve
- 25
Frank D'Souza
90% Approve
- 26
Glenn M. Renwick
90% Approve
- 27
Joe Tucci
89% Approve
- 28
Richard D. Fairbank
89% Approve
- 29
Ed Crenshaw
88% Approve
- 30
Glenn K. Murphy
87% Approve
- 31
Michael D. (Mike) White
87% Approve
- 32
Tom Georgens
86% Approve
- 33
Jeff Bezos
86% Approve
- 34
Ed Rust Jr.
85% Approve
- 35
Sharen Turney
85% Approve
- 36
Arne Sorenson
85% Approve
- 37
Alex Gorsky
85% Approve
- 38
Nick Coe
85% Approve
- 39
Christopher M. Connor
83% Approve
- 40
Steve Ells & Montgomery F. Moran
83% Approve
- 41
Frank Blake
82% Approve
- 42
Dan Doctoroff
82% Approve
- 43
Jim Weddle
82% Approve
- 44
Ken Chenault
81% Approve
- 45
Dan Hesse
81% Approve
- 46
Dan Amos
80% Approve
- 47
Olza (Tony) Nicely
79% Approve
- 48
William McNabb
79% Approve
- 49
Hubert Joly
79% Approve
- 50
Marissa Mayer
79% Approve
- 51
Jeffrey R. Immelt
78% Approve
Monday, March 31, 2014
Highest Rated CEOs 2014 [by GlassDoor.com]
Sunday, March 30, 2014
How to Begin Learning and Applying LaTeX
I recently started working with LaTeX based on a colleague's recommendation. To be honest, it was a little steeper learning curve installing it and initially learning it than I've become used to when installing and using new software development products and I hope in this post to provide some basic tips to help others who want to investigate this "document preparation system." The main LaTeX project page describes it as "a high-quality typesetting system" that "is designed for the production of technical and scientific documentation."
An introduction to LaTeX helps to understand what LaTeX is at a high-level and is probably the best place to start when trying to determine whether to invest more time in learning LaTeX. This page emphasizes that LaTeX is "not a word processor!" This page provides a simple example to demonstrate a driving principle of LaTex: "LaTeX is based on the idea that it is better to leave document design to document designers, and to let authors get on with writing documents."
Mike Unwalla's LaTeX: an introduction is a single-page PDF that also introduces LaTeX and provides another simple example of LaTeX code with the corresponding output. This article emphasizes how to pronounce LaTeX (it's NOT pronounced like the the rubber product latex that might dominate an initial Google search for this term).
A person interested in LaTeX after reading An introduction to LaTeX and LaTex: an introduction might want to next see the ubiquitous Hello World example so familiar to software developers applied to LaTeX. The best resource for this is the initial tutorial in Andrew Roberts's excellent series Getting to Grips with LaTeX. Tutorial #1 in the Getting to Grips with LaTeX tutorial series is called Absolute Beginners and provides a bare-bones Hello World example in LaTeX.
At this point, the person investigating LaTeX probably wants to try it out. The main LaTeX project pagereferences the Obtaining LaTeX page for information on acquiring LaTeX. My recommendation for LaTeX first-timers is to download the appropriate distribution for their operating system from the top "LaTeX for the impatient" section of this page. In this post, I'll talk more about downloading and installing proTeXt for Windows.
proTeXt can be downloaded from the proTeXt - MiKTeX-based distribution for Windows page. This page states that "proTeXt aims to be an easy-to-install TeX distribution for Windows, based on MiKTeX" (Joseph Wrightcompares MiKTeX to TEX Live in TEX on Windows: MiKTEX or TEX Live?). The page warns that this file is large (well over 1 GB in size). Once this large download is complete, click on the
setup.exe file that appears as part of the download. That will lead to the appropriate extraction of proTeXt into a specified directory. At that point, click on the protext.exe file to install proTeXt. Clicking on (running) protext.exe brings up an installation pop-up that allows you to click buttons to install MiKTeX (version 2.9 currently) and TeXstudio(version 2.5.2 currently). MiKTeX is large and its installation takes a considerable amount of time while the much smaller TeXstudio installs very quickly.
With MiKTeX and TeXstudio installed, we are ready to try a LaTeX example out. To do this, I will run TeXstudio in Windows. The next two screen snapshots show this in two different ways (one from selecting from "All Programs" and one from selecting it after it's been used and is pinned to the Startup Menu).
Once I have started up TeXstudio, I will see something like that shown in the next screen snapshot.
You can click on the icon in the top left corner that looks like a page of paper with a white plus sign inscribed within a green circle to create a new TeX source file. After doing this, pasting code from the Getting to Grips with LaTeX Absolute beginners Hello World example, adapting that example slightly, and saving the file as hello.text, I see the following (with the "About" popup included):
At this point, we have specified the content of our file and now need to convert it to the presentation format of our choice. In this case, I am going to use the downloaded MiKTeX to convert this
hello.tex file to a PDF. I do this by opening a DOS command prompt and navigating to the directory where I told TeXstudio to save thehello.tex file (C:\latex\examples in this case). The next screen snapshot shows that file in that location.
At this point, I want to run the MiKTeX tools against this file. I can verify that the MiKTeX installation has placed MiKTeX in my path on Windows by typing
echo %PATH% and looking for something like "C:\Program Files\MiKTeX 2.9\miktex\bin\" in the output. That directory has numerous executable (.exe) files includingpdflatex.exe which I am going to use her to generate a PDF from hello.tex. This is demonstrated in the next screen snapshots which show the command-line generation process and a snapshot of the resultant PDF.
With the appropriate LaTeX distribution downloaded, a useful LaTeX editor with code completion and color syntax available, and the ability to run the LaTeX distribution executables against generated LaTeX source code, one can now start to experiment with the numerous commands that LaTeX supports. There are numerous listings and "cheat sheets" for these numerous commands, including Scott Pakin's The Comprehensive LaTeX Symbol List, LaTeX Command Summary, and TeX Reference Card. Basic LaTeX Commands has a nice brief introduction to some of the most important LaTeX commands.
One of the best ways to quickly learn LaTeX commands is to apply styling and structure via the graphical TeXstudio tool. The tool has icons for bold, italics, basic math operations, miscellaneous symbols, etc. The next screen snapshot shows an edited file in TeXstudio in which I almost randomly applied LaTeX commands entirely via TeXstudio. The screen snapshot after that shows the PDF generated with
pdflatex.exe.
Conclusion
The most difficult aspect of learning LaTeX is dealing with so many options. The numerous options for LaTeX implementations/distributions can make it a bit overwhelming deciding which to download and use. Once that obstacle has been overcome, the large number of commands that LaTeX supports can be a bit daunting. Fortunately, I found that I have been able to start apply LaTeX by following the steps outlined in this blog post.
Additional Resources
- Main LaTeX Project Site
- Getting to Grips with LaTeX
- TeX - LaTeX Stack Exchange - "Question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems"
- UK List of TeX Frequently Asked Questions on the Web
- LaTeX Reddit Page
Tuesday, March 25, 2014
10 Tips for Efficient Android Apps Development
The best recipe for becoming a complete flop in Google Play is to release an app that is battery and memory hungry with a slow interface. Most likely, these qualities will ensure negative reviews from users and result in a bad reputation, even if your app has great design and a unique idea.
Every drawback in product efficiency, battery and memory consumption can really affect your app’s success. That’s why it is critical to develop well-optimized, smooth running apps that never make Android system guard against them. We will not speak about efficient coding, since it goes without saying that the code you write should stand any performance test. But even brilliant code takes time to run. In today’s post, we’ll talk about how to minimize this time and make Android apps that users love.
When using IntentService, you should consider the following limitations:
When creating UI sticking solely to basic features of layout managers, you risk to create memory abusing apps with annoying delays in the UI. The first step to implementation of a smooth, memory caring UI is to search your application for potential layout performance bottlenecks with Hierarchy Viewer tool included into Android SDK: <sdk>/tools/. Another great tool for discovering performance issues is Lint. It scans application sources for possible bugs along with view hierarchy optimizations.
If layout performance results reveal certain drawbacks, you might consider to flatten the layout by converting it from LinearLayout class to RelativeLayout class, lowing level hierarchy.
Even though each tip mentioned above might seem like a rather small improvement, you might see unexpectedly efficient results if these tips become an essential part of your daily coding. Let Google Play see more brilliant apps that work smoothly, quickly, and consume less battery power, bringing the Android world one more step closer to perfection.
---
This article was originally published on Androidie. [Source]
Every drawback in product efficiency, battery and memory consumption can really affect your app’s success. That’s why it is critical to develop well-optimized, smooth running apps that never make Android system guard against them. We will not speak about efficient coding, since it goes without saying that the code you write should stand any performance test. But even brilliant code takes time to run. In today’s post, we’ll talk about how to minimize this time and make Android apps that users love.
Efficient threading
Tip 1: How to off-load operations onto threads in background
Since by default all operations in an app run on the main thread (UI thread) in the foreground, the app responsiveness might be affected, which will imminently result in hangs, freezes and even system errors.
To reinforce responsiveness, you should shift long-running tasks (e.g. network or database operations, complex calculations) from an app's main thread to a separate background thread. The most effective way to accomplish this task is at a class level. You can use AsyncTask class or IntentService class to organize background work. Once you have implemented an IntentService, it starts when needed and handles requests (Intents) using a worker thread.
When using IntentService, you should consider the following limitations:
- This class does not put results to UI, so to show results to users use Activity.
- Only one request is processed at a time.
- Any request processing can not be interrupted.
Tip 2: How to avoid ANR and stay responsive
The same approach of off-loading long-running operations from the UI thread will save your users from the "Application Not Responding" (ANR) dialog. What you need to do is to create a background worker thread by extending AsyncTask and implementing doInBackground() method. Another option is to create a Thread or HandlerThread class of your own. Keep in mind that unless you specify "background" priority for the thread, it will slow down the app since the default thread priority is the same as of the UI thread.
Tip 3: How to initiate queries on separate threads
Displaying data is not immediate, although you can fasten it by using CursorLoader objects, which allows not to distract Activity from interacting with a user while query is processing in the background. Armed with this object your app would initiate a separate background thread for each ContentProvider query and return results to Activity from which the query was called only when the query is finished.
Tip 4: What else you can do
- Use StrictMode to detect potentially lengthy operations you do in the UI thread.
- Use special tools, i.g. Systrace, Traceview, to find bottlenecks in your app responsiveness.
- Show progress to users with a progress bar.
- Display splash screens if initial setup is time-consuming.
Device battery life optimization
We cannot blame users for angrily uninstalling applications that abuse battery life. The main threats to battery life are:
- Regular wake-ups for updates
- Data transfer via EDGE and 3G
- Textual data parsing, regex without JIT
Tip 5: How to optimize networking issues
- Make your app skip operations if there is no connection; update only if 3G or WiFi is connected and there is no roaming.
- Choose compact data format, e.g. binary formats that combine text and binary data into one request.
- Use efficient parser; consider choosing stream parsers over tree parsers.
- For faster UX lessen round-trip times to server.
- When possible use framework GZIP libs for text data to make the best use of CPU resources.
Tip 6: How to optimize apps working in foreground
- When designing wakelocks, set the lowest level possible.
- To avoid battery costs caused by potential bugs you might have missed, use specific timeouts.
- Enable android:keepScreenOn.
- In addition to GC (garbage collection) consider recycling Java objects manually, e.g.:
- XmlPullParserFactory and BitmapFactory
- Matcher.reset(newString) for regex
- StringBuilder.setLength(0)
- Mind synchronization issues, although it can be safe when driven by UI thread.
- Recycling strategies are used heavily in ListView.
- Use coarse network location not GPS when possible. Just compare 1mAh for GPS (25 sec. * 140mA) and 0.1mAh for network (2 seconds * 180mA).
- Make sure to unregister as GPS location updates can continue even after onPause(). When all applications unregister, users can enable GPS in Settings without blowing the battery budget.
- Since the calculation of a floating point requires lots of battery power, you might consider using microdegrees for bulk geo math and caching values when performing DPI tasks with DisplayMetrics.
Tip 7: How to optimize apps working in background
- Since each process requires 2MB and might be restarted when foreground apps need memory, make sure the services are short-lived.
- Keep memory usage low.
- Design app to update every 30 minutes but only if device is already awake.
- Services that pall or sleep are bad, that is why you should use AlarmManager or <receiver> manifest elements: stopSelf() when finished. When you start service using AlarmManager, apply the *_WAKEUP flags with caution. Let Android bin your application update together with the rest through setInexactRepeating(). When using <receiver>, enable/disable its components in manifest dynamically, especially when no-ops.
Tip 8: What else you can do
- Check current states of battery and network before launching a full update; wait for better states for bulk transfers.
- Provide users with battery usage options, e.g. update intervals and background behavior.
Implementing UI that leaves minimum memory footprints
Tip 9: How to identify layout performance problems
When creating UI sticking solely to basic features of layout managers, you risk to create memory abusing apps with annoying delays in the UI. The first step to implementation of a smooth, memory caring UI is to search your application for potential layout performance bottlenecks with Hierarchy Viewer tool included into Android SDK: <sdk>/tools/. Another great tool for discovering performance issues is Lint. It scans application sources for possible bugs along with view hierarchy optimizations.
Tip 10: How to fix them
If layout performance results reveal certain drawbacks, you might consider to flatten the layout by converting it from LinearLayout class to RelativeLayout class, lowing level hierarchy.
To perfection and beyond
Even though each tip mentioned above might seem like a rather small improvement, you might see unexpectedly efficient results if these tips become an essential part of your daily coding. Let Google Play see more brilliant apps that work smoothly, quickly, and consume less battery power, bringing the Android world one more step closer to perfection.
---
This article was originally published on Androidie. [Source]
Tuesday, March 11, 2014
Facebook Continues Redesign Rollout With New Look for Pages
Facebook redesigned its news feed last week, but the company isn't stopping there. Next up for a makeover is Facebook Pages.
Facebook announced a new look for Pages on Monday, changing the appearance for both Page visitors and Page admins to what the company is calling a more "streamlined" look.
The new design includes two columns similar to the old version, but the right column is now the Page's timeline and the left includes information about the brand or corporation. In the previous design, both columns served as the Timeline; posts were staggered between the left and right columns as users scrolled down.
The new design for Facebook Pages.
IMAGE: FACEBOOK
The old design for Facebook Pages.
IMAGE: MASHABLE
In the new design, the "Invite Your Friends" section has moved from the right side of the screen to the left, and the text box for posting switched from the left to the right side.
For Page admins, a new metrics section on the far right-hand side of the Page includes data about ads, Likes and post reach. Facebook is also rolling out "Pages to Watch" for all admins, meaning users can create a list of similar or competitor pages to compare metrics like engagement and Page Likes.
The redesign comes less than a week after Facebook updated the look for news feed, a relatively minor change that included larger photos and new icons and fonts. That change was a year in the making, and Monday's update appears to be in the same vein, using similar fonts and icons.
The new design is rolling out this week, according to a spokesperson, and is changing for web only. Facebook announced a mobile redesign for Pages last April.
[Source]
Sunday, March 9, 2014
7 Questions to Gauge Your Project Team’s Potential
Companies and businesses are aiming to be successful. They get workers that will help them achieve this goal. They form a productive team and eventually ask questions. Success depends on how the project manager performs proper team management. So, what are the important questions that every project manager should be able to answer?
1. As manager, are you leading the way to success?
Managing a project team means becoming a leader. Effective leadership is a part of project management where the manager should spend a considerable amount of time and energy. As a team leader, helping the team perform effectively is something that you have to decide on for the benefit of the team and the company as a whole. Team members will most likely to follow this good example, eventually creating a productive team in the process.
Managing a project team means becoming a leader. Effective leadership is a part of project management where the manager should spend a considerable amount of time and energy. As a team leader, helping the team perform effectively is something that you have to decide on for the benefit of the team and the company as a whole. Team members will most likely to follow this good example, eventually creating a productive team in the process.
2. Does your team know the purpose, goals, objectives, and target?
Having a clear purpose right from the start is a necessary ingredient for team success. When forming project collaboration, the first question to ask is: What is our purpose? This purpose is the main reason why these individuals come together as a team. It is best that the collaboration team sticks to this all throughout the project duration in order to reach goals.
Having a clear purpose right from the start is a necessary ingredient for team success. When forming project collaboration, the first question to ask is: What is our purpose? This purpose is the main reason why these individuals come together as a team. It is best that the collaboration team sticks to this all throughout the project duration in order to reach goals.
Once you all know the purpose, goals and objectives are listed down. Make sure that these goals are specific, measurable, achievable, relevant, and timely. As manager, you should be open to collaboration starting with this task of setting goals.
3. Are your team members delegated properly?
Teamwork is an important ingredient in every growing company or business. Every collaboration team has specific tasks to complete. These tasks must be properly assigned to the right person. Here is where task management comes in. Task management is an integral part of project management because it helps managers stick to a detailed and updated project schedule. Properly delegated team members would mean that there is potential for the team to succeed since there is good direction and it is sure that the project moves forward.
Teamwork is an important ingredient in every growing company or business. Every collaboration team has specific tasks to complete. These tasks must be properly assigned to the right person. Here is where task management comes in. Task management is an integral part of project management because it helps managers stick to a detailed and updated project schedule. Properly delegated team members would mean that there is potential for the team to succeed since there is good direction and it is sure that the project moves forward.
As manager, you should know your members well. Focus on their talents and strengths, as well as what they can contribute to the team effort. Managing tasks can help individuals achieve goals, as well as teams in terms of collaboration. Members should be delegated properly by assigning them familiar tasks that will enable them to become a productive team.
4. Is your team constantly developing ways of interacting and communicating effectively?
It is important to track the ways on how team members interact with each other over time. Especially in collaboration, it is important for everyone to be able to freely discuss team matters in a convenient manner.
It is important to track the ways on how team members interact with each other over time. Especially in collaboration, it is important for everyone to be able to freely discuss team matters in a convenient manner.
Aside from availability of communication tools and processes such as open meetings and one on one interview, you should also conduct trainings and presentations to encourage interaction among the project team. As manager, you should proactively recognize team effort and individual contributions through regular meetings and appraisals. Keep in mind that how the productive team decides on matters, delegates tasks, and responds to accountability determines its potential.
5. Is your team virtually-equipped and ready to face technological advancements?
As the team leader, you have to make sure that you maintain an open-minded team. According to U.S. Office of Personnel Management a team should be open to the changes that happen internally and externally. Be it a change inside the team, inside the organization, or outside the business and even to technological changes, you should make sure that you have a team that is ready for the complexities that may happen in and out.
As the team leader, you have to make sure that you maintain an open-minded team. According to U.S. Office of Personnel Management a team should be open to the changes that happen internally and externally. Be it a change inside the team, inside the organization, or outside the business and even to technological changes, you should make sure that you have a team that is ready for the complexities that may happen in and out.
Project management is comprised of 90 percent communication. While managers still rely on personal contact to communicate and build trusting relationships with team members, it is most important for virtual project teams to keep communication lines wide open. Modern technology found ways to support virtual teams. The advantage of being virtually-equipped is their readiness to face modernization. The workplace is becoming fast-paced and it is important to maintain confidence among members. Virtual readiness means that the productive team can work independently while still being accountable for their tasks.
Communication tools include internet access, email, instant messaging, web meetings, conference calls, video conferencing, social media, shared files or directories, and availability of collaboration software. As project manager, you need to understand how to use project management tools such as Podio, Trello, Zoho and Binfire as well as the proper approach to team members.
6. As manager, are you monitoring the progress and collaboration?
Even if this is project collaboration, it does not necessarily mean that it’s okay to just wait for the project to end. As manager, it is your responsibility to form the right team, start the project and monitor the progress until it is done. You can find out if there is effective teamwork or proper use of communication tools. Part of team management is keeping track of constantly finding ways on how to improve the project, how to strictly follow the schedules or deadlines, and ironing out minor problems as well as pointing out.
Even if this is project collaboration, it does not necessarily mean that it’s okay to just wait for the project to end. As manager, it is your responsibility to form the right team, start the project and monitor the progress until it is done. You can find out if there is effective teamwork or proper use of communication tools. Part of team management is keeping track of constantly finding ways on how to improve the project, how to strictly follow the schedules or deadlines, and ironing out minor problems as well as pointing out.
7. As manager, do you value your committed team member?
The project team’s unity is crucial in maintaining the formed collaboration. If you have put together a group of dedicated, talented and capable individuals that perform well, it is best to let them stay long enough to know how the whole productive team works. When the time comes that they become highly competent and efficient team members, you are assured of achieving more for your company or business.
The project team’s unity is crucial in maintaining the formed collaboration. If you have put together a group of dedicated, talented and capable individuals that perform well, it is best to let them stay long enough to know how the whole productive team works. When the time comes that they become highly competent and efficient team members, you are assured of achieving more for your company or business.
Valuing a committed member is a significant part of team management. A dedicated individual can contribute alone and perform well in a collaboration team.
As project manager, these seven questions are just a few to gauge the potential of your team. You can keep your team productive so that your company can benefit from their performance. You can do this by being a leader, building trustworthy relationships, creating job satisfaction, and rewarding your team members.
[Source]
Friday, March 7, 2014
Samsung Going to Pay Apple $930M, Will Continue Product Sales
The long running battle between Samsung and Apple regarding the patent lawsuit has finally come to a conclusion. Apple is finally going to get a total of $930 million for all the damages that were done by Samsung. However, Apple’s request to ban all the products that were infringing the patent has been rejected and Samsung can now freely sell the products in US.
The case was started in 2012 when Apple claimed that Samsung has infringed multiple patents that were owned by Apple. At first, Apple was set to receive $1.05 billion, but then Samsung reasoned that there were some divergences in the amount Apple has been given by the jury. After that, a trial was pursued and the total amount was finally reduced $929.8 million.
The case is finally ended and in return Apple now has $930 million from Samsung. Luckily, Samsung was awarded in a way too, they can now continue selling their products in US without any hassle from Apple.
But that’s not all, Samsung is already facing another lawsuit from Apple in which the company has added Samsung Galaxy S III in the list of devices that are currently infringing Apple’s patent. Since the companies couldn’t have a mutual understanding outside the court. The case will be taking place at the end of this month.
What do you think of Apple’s consistent pestering with these lawsuits? Do you think Apple is stepping out of the line and suing Samsung without any probably causes or it’s the other way around? Let us know what you think.
[Source]
Labels:
Apple,
Infringement,
Lawsuit,
Patent,
Samsung
Subscribe to:
Posts (Atom)
















































































































