Get to know “Markdown”

By Peng Xie

Markdown-mark.svg_-1024x630
What is Markdown?

Markdown is a lightweight markup language that is natural to write and easy to convert to rich text and other formats such as HTML or PDF. Because of its simplicity and portability, it has become the go-to option for developers to document their codes and README files. Find a random repository on GitHub, you’re likely to see at least one file in it written in Markdown. In addition to developer communities, Markdown is also supported in a variety of other places such as blogs and forums. Even some instant messaging apps now have Markdown-inspired formatting features.

Markdown in GitHub

As one of the most popular places where people use Markdown extensively, GitHub actually has its own version of Markdown syntax which is called GitHub Flavored Markdown (GFM for short). Being a Git hosting service, GitHub uses GFM to provide users additional features such as the ability to reference issues, pull requests and SHA-1 hashes of commits.

Markdown in WordPress

WordPress supports Markdown as well but you have to enable it first in your blogs settings. In Settings under Configure section of the side menu, you can turn on Markdown support for composing in the Writing tab and for comments in the Discussion tab. After saving the settings, you can start to write your new blog posts in WordPress using Markdown. As a matter of fact, this whole blog post is written in Markdown!

Time to play?

Now that you know more about Markdown, let’s see some examples!

Codes

You can either put your code inline like this or add a code block in your file like what I’m going to show you below.

This is a code block!

The syntax for inline code is to wrap your code inside a pair of `.
To use a code block, simply put ``` at the lines above and below your code block.

Links

[link to Google](https://google.com)
will be rendered by a Markdown viewer as
link to Google

Lists

* Unordered list item 1
* Unordered list item 2

1. Ordered list item 1
2. Ordered list item 2

The code block above will be rendered as:
* Unordered list item 1
* Unordered list item 2

  1. Ordered list item 1
  2. Ordered list item 2

That’s just a few simple examples of Markdown. There are many other ways and styles to write in Markdown. If you are interested, you can checkout GitHub’s guide on Markdown and the Markdown support page for WordPress.

Also, checkout this awesome post on Ray Wenderlich for some recommendations on Markdown editors for MacOS.

Bonus

Hey, thanks for reading this blog post! Here’s a bonus section for you! Do you know that you can make presentation slides using Markdown as well? I found an interesting presentation writer on GitHub called Marp. Just separate your slides with --- between empty lines and you can literally write a whole presentation using Markdown in a single file!

Advertisements

Android App Permissions

By Xinye Ji

app-permissions

Privacy on the internet has always been tricky. For some people, privacy is of the utmost important, they refrain from using any sort of online service that can aggregate information. (Like Facebook, Twitter, etc.)

On the other hand, many are oblivious to the issue, unaware that many phone apps ask for very intrusive permissions that most likely compromises your privacy. So in this blog post, I’ll be going over the Android permissions and what to think when apps ask to do certain things.

So in Android, there are nine major permission groups that developers can request when you’re running your app:

  1. Calendar
  2. Camera
  3. Contacts
  4. Location
  5. Microphone
  6. Phone (calls)
  7. Sensors
  8. SMS
  9. Storage

Calendar:

This permission is pretty self-explanatory. Applications that need to create meetings, calls, appointments or anything else that you’d like to plan need this permission to write to your phone’s calendar. (like a calendar app, go figure)

Aside from calendar apps, I’m not entirely sure other apps would need this permission. A red flag would definitely go up for me in that scenario.

Camera:

This is also a straightforward permission. If your app needs to use a camera, it needs to ask for the permission. A red flag would be if you can’t think of a scenario where the app needs to use your camera.

Contacts:

Typically this is with paired with the phone (call) permission. I would personally be very weary about this permission, as many services, such as Facebook, have a tendency to upload your contacts to the cloud when you enable this permission.

Location:

I am also pretty weary about this permission. With the exception of apps like Google Maps, there are very few apps that I would trust with my location.

Microphone:

I think this is similar to the camera permission. Use some critical thinking. If there isn’t an obvious reason why the app would need to use your microphone, think twice about allowing the permission.

Phone (Calls):

Apps rarely need this permission, but if you enable it, it could allow apps to randomly dial other people! Make sure that you trust the apps that ask for this!

Sensors:

Now this permission is a bit tricky, as it varies from phone to phone. Basically this permission allows developers to access motion and environmental sensors. For example, this app uses the accelerometer to see if the phone is in free fall. Typically this permission is less sinister when it comes to protecting your personal information however, so I’m not sure what red flags could be thrown in this case.

SMS:

Similar to the phone call permission, this is a texting permission. If you’re not sure why the app would need to send text, it’s better to not allow it.

Storage:

This is probably one of the hardest permissions to gauge. Any time you need to save a photo or a file of some sort, apps need to ask for this permission. However, this could also allow apps to snoop in your system files and do other questionable things with your information! Unfortunately, many many apps require this permission, so it is quite hard to tell who to trust. My advice would be to make sure that the companies behind these apps are trustworthy.

A Developer’s Responsibility

One of the odd things about software development and engineering is the discussion of ethics in the community. From the perspective of a developer, I would hope that users would give me all kinds of permissions to use on their phone so I can bring great features that hopefully improve their everyday lives. However, it is very easy to cross a line that people generally are not comfortable with for the sake of new technology. I believe that it is a developer’s responsibility to consider these ethical dilemmas.

However, the phone app industry is relatively new. These boundaries and ethics will most definitely be tested and defined in the future. In the meantime, I highly recommend everyone to consider their own privacy until then.

We Are Now A ‘Certified Minority Owned Business Enterprise’!


New MMSDC Logo.png

At Cogent Integrated Business Solutions Inc., we’ve always been proud about being a minority owned enterprise, and about showcasing our diversity wherever we go. After being in business for more than 10 years, we are very excited to share the news that Cogent has been certified as a Minority Owned Business Enterprise (MBE) by MMSDC, as of December 2016.

This certification definitely encourages us to expand our efforts in sharing our diversity, by establishing ourselves as partners with organizations committed to working with businesses like us, in order to benefit from our services. This certification also supports our efforts to expand employment opportunities and job security, to other minorities as well.

As an IT services provider, offering consultative and results-driven solutions in SAP technologies, as well as providing employee productivity/ engagement and smart enterprise mobility products; getting this certification is an accomplishment for Cogent. We hope to enter, expand and deliver our technological offerings to the city and state governments, and educational institutions. We are very confident that the public and not-for-profit organizations will benefit tremendously through our capabilities.

Affiliation with MMSDC is surely a great start for Cogent as this allows hundreds of corporations access us through the council. Also, in conjunction with this certification; Cogent has already initiated the process to get certified with Michigan’s HUB program, by becoming a member of the Small Business Association. These certifications will not only open doors for us to enter the public domain; but, as an established  SAP consulting and mobile product development company, we can now successfully deliver our solutions and services to a variety of clients and industries across Michigan, and continue to ensure we deliver the highest levels of service that will benefit the community as a whole.

On behalf of the Cogent team, here is a shout out to all the organizations out there open to collaborating with us, that, ‘we guarantee we will make you feel as happy, satisfied, and proud working with us; just like we feel about our products and services!’

A Faster Website – It’s not a need. It’s a must!

 

By Danny Kulas

Fast-Internet-stock-photo-2.jpg

More people than ever before are getting online and weaving the world wide web into their daily lives.  From delivering the news to selling that thing on Amazon that your customer will surely only use once, having a reliable website is critical when trying to convert users to loyal customers.  A reliable website is one that provides a great user experience and a fast exchange of information when someone is interacting with your website.  If you click a link, you expect to be taken to that new page in little-to-no-time flat.  In this article I will detail areas of improvement that will bring your website ‘up to speed’ and help you convert those window-shoppers to loyal customers.

Why Does It Matter?

Three seconds.  That is all the time it takes for someone to lose interest in your site and go elsewhere to find what they’re looking for.  You have three seconds to show the user what they want to see, otherwise, you can forget about converting them to a loyal customer.  “A faster website means a better visitor experience.  A slow website will lead to a poor user experience.  Your bounce rate will grow.  Page views will drop.  Most important, you will lost money (Demian Farnworth).”  “If an e-commerce site is making $100,000 per day, a 1 second page delay could potentially cost you $2.5 million in lost sales every year (Sean Work).”  That should resonate with anyone who runs an on-line business.  No one talks about a great experience they had on some website, but they will tell their friends and family about a poor experience they had so that they know to avoid it in the future.  This will only compound the trouble because now, even though Mrs. Smith was the one who had the poor experience, she will tell anyone who will listen and now you have a whole bunch of Mrs. Smiths who never came to your website in the first-place nor will they moving forward.  You’ve lost a customer before they even had a chance to check out your site.  Another reason why you should care about the speed of your website “is that Google now uses site speed data to help determine where to list your website in its search engine results (Fred Meyer).”  For companies who have small advertising budgets, the search results page of Google might very well be your best bet for getting your business and services noticed.  I can speak from experience, in that I rarely venture to the 2nd or 3rd page of Google search results.  So, if you want to get noticed, make sure you’re showing up on the first page of results (if possible).

What Can Be Done?

There are several technologies and techniques to consider when looking to improve the speed of your website.  A simple Google search of ‘Make my website faster’ will yield several dozen results.  Some questions you might want to consider are: Do you use a lot of images?  Are you loading several script files?  Is there dynamic content?  Are you compressing your assets?  Answering these questions (and others not mentioned above) will help assist you on what to do regarding the improvement of your website performance.  Being able to identify areas of improvement is a skill that takes a trained eye, so if you’re not sure what you’re looking for, grab someone from your development team, sit down with them and do a website audit to get a better sense of what you’ll be dealing with.

Fake It (Above the Fold)

A website loads from top-to-bottom, so, by placing the specific CSS rules that govern the look-and-feel of the top-half of your website in the head of your HTML document, it will seem as though the website is loading fast and without pause.  The content we’re targeting is often referred to as ‘Above the Fold’ content and it’s what shows up first when a website begins to display it’s page.  What this does is give the user something to look at while the rest of the site is busy loading.  It’s not the most elegant solution and may even feel a bit ‘hacky’  but when used properly it can be of tremendous help.  Perception isn’t always linked with reality and sometimes, especially in this case, that gives you an advantage when trying to deliver an optimal website experience to your users.

Minimize HTTP Requests

You’ve built a website.  It’s very likely you’ve accomplished that by employing the use of several static resources, such as images, CSS files, etc.  Whenever someone visits your website, these files need to be loaded into the browser so that the user can view what they came to see.  The more files your site requires in order to load, the longer time it will take to do so.  This is the scenario we want to avoid and it’s pretty easy to do so.  After you’ve built your website, you might realize that you have three different CSS files, for example.  Each file counts as an HTTP request, which adds time to the page-load speed.  By combining those three files into one, you will increase the speed at which your website loads.  This is called concatenation and can be one of your best friends for increasing site performance.

Pictures and Pixels

If your website requires images, make sure you’re using the best image for the job.  What that means is don’t use a high-resolution, 1200 x 1200 pixel image for a site icon which would be better served using a scaled-down version.  “On top of the extra download time, precious processing power and memory are used to resize high-resolution images (Johan Johansson).”  Whatever you do, make sure to avoid “use of scaling, especially from larger to smaller images.  The image result might look fine on screen but the file size will be the same.  To truly take advantage of the smaller dimensions, use an image editing program and scale the image accordingly (Nathan Segal).”

Cache! Cache! Cache!

“Browser-caching stores cached versions of static resources (such as images or CSS files, for example), a process that quickens page speed tremendously and reduces server lag.  When a user visits a page on your website, the cached version will usually be served unless it has changed since it was last cached; this saves a lot of [HTTP] requests to your server and as a result makes it [your website] faster (Morgan Davis).”  Caching is a great technique for improving your page-load speed, but keep in mind that “the thing with caching, though, is that in most cases it only works for repeat visitors.  First-time site visitors won’t have the site cached yet, since the page needs to load files at least once before it stores them (Laurence Bradford).”  There are two types of caching to be aware of and those are Broswer Caching and Server Caching.  “Browser caching allows your browser to store static files for a while, so it doesn’t need to retrieve them every time you visit the site (Daniel Pataki).”  In terms of server caching, “instead of processing every request, the server takes the results of the these requests and stores them.  It then serves these saved results instead – making everything much faster (Daniel Pataki).”  Learn the art of caching and let your website benefit from that knowledge!

Consider Using a CDN

CDN stands for Content Delivery Network.  “A CDN takes a website’s static files – such as CSS, images and JavaScript – and delivers them on servers that are close to the user’s physical location.  Because servers are closer to the user, they load more quickly.  Larger websites implement CDNs to make sure their visitors from around the world have as fast an experience as possible (Morgan Davis).”  While using a CDN is a great option, it’s also an expensive one.  Make sure your company needs a CDN before handing over the cash to implement one.

Conclusion

Website speed matters, tremendously, to your customers and your bottom line.  Don’t be foolish by ignoring it, otherwise you may be left scratching your head wondering why your monthly revenue keeps falling.  Take the time to audit your website, identify areas of improvement and employ the use of any of the options I detailed above.  Your customers will thank you.

Zen and the Art of Smartphone Maintenance

By Ganpy

150824080516-the-wisdom-project-zen-exlarge-169

I am not talking to Chris. There is no Chris in this story. And this is not a story based on actual occurrences. Although it is possible that I am talking to a eleven year old like Chris. Or a Twelve year old. Perhaps even to a twenty five year old. As a matter of fact, I could be talking to anyone with a smartphone. So, once again, to be clear, I am NOT talking to Chris.

That brings me to the story.

“New model of iPhone releases tomorrow”, I yell.
“I have seen lots of those. I mean, lots of such new smartphone model releases..”, you say.

“Oh”, I nod and start thinking to myself. We now have a generation of 9-10 year olds who have grown up with smartphones and know nothing different. They don’t get impressed with new models getting released every other month. I reckon one has to be old to appreciate such “events”. Or should have at least lived during the dark age, aka the pre-smartphone age to be excited about such events.

“But this one is a new iPhone release. The mother of all such events. They don’t happen every year. Ok. I’ll correct myself. They do happen once a year..Or twice a year. But still a rare occurrence given it is from Apple”, I say in a fading voice. I know I am losing my battle to engage you and by now, I have given any hope I may have had to trigger a drop of excitement about the big event scheduled to happen on Sep 7.

A grown up adult like me does things with an iPhone, in a way that is completely different from any teenager or for the story’s sake let us say,  from a eleven year old. There is no novelty factor anymore, but there is a pride of ownership. I have seen this device – this iPhone 6 that I am holding in my hand, the one I am staring at every 2 seconds, as I anxiously wait for my friends’ reaction to a wisecrack that I just spluttered out in a college WhatsApp group..yes, I have seen this device evolve from a flip phone, when such devices used to weigh a couple of pounds at the minimum. But the eleven year old doesn’t know that because the eleven year old has never held a flip phone in his/her hands and has never experienced the joy of carrying a fanny pack sort of a belt clip to hold that heavy phone as he/she walked around. That’s when it dawns on me. It’s sort of like Television for my generation.

It’s Sep 6, 2016. The day before. I don’t have any Pre-Apple event rituals that I follow. None that I recollect anyways. But I wonder if I should indulge in some. Start a tradition perhaps. But why? To what end?

We all are just communicating. What primarily used to be voice based communication that these phones used to enable, has now transformed into text based communication. Voice based communication is almost secondary now.

“Apparently it’s going to have better cameras”, I holler as the noise of a passing vehicle drowns my voice.
“What?”, you look at me puzzled.
“Well of course, You have seen that before…Nothing new I suppose”.

I invite you to join me on my side of the table. The burly man in white, who I sense by his impatient body language, has been waiting for a seat for a while. Or he has a severe case of growling stomach. Either way, he quickly pulls the chair you were sitting on, away from the table to move towards another table. I notice an iPhone 6 plus peeking out of his sweaty palm. He rests himself on the chair with some physical challenge, the act only exacerbated by his continuous indulgence on the smartphone . I don’t think he took his eye off even for a second.

Where was I?

“They say iPhone 7 may not be a huge jump from iPhone 6. But who knows? I am going to get one no matter what. They are also speculating that Apple will drop a new Apple Watch along a new MacBookPro..”
“Oh..”.

The burly man is still busy staring at his phone. The waiter has to tap on his shoulders to get his attention. I think I caught a glimpse of the yelp page of the restaurant open on his phone.

“I think he is looking at the reviews..”
“What..? What did you say?”, you, completely unaware of what is going on around.

That’s when I notice that you have been staring into your smartphone as well, all this while. And I hear you whisper something.

“What did you say?”, I ask gently.
“Oh..Nothing. Apple has been playing the catch up game for a while now..”.
“You mean, they don’t lead smartphone innovation anymore?”.
“Of course not. Which world do you live in?”.
“I guess the same as you. Ha ha..By the way, I have never used any other kind of smartphones. Been an iPhone user all my smartphone life..”.

You lift your face and look at me. May be for the first time during this entire conversation, I see you making eye contact with me. I see you smile but with a bit of an annoyance.

“I can never understand you Apple fanatics..”, you say with a bit of disdain.
“Hey, I am no fan of anything. I just like iPhone..”.

Through the corner of my eyes, I could see the man at the next table still staring at his phone as he quite skillfully cleans up a bowl of soup. Broccoli Cheddar with bacon bits. The restaurant is known for this soup. Yelp seems to have played a role in his decision making.

“So what is your favorite smartphone?”, I decide to become more open about others’ smartphone choices.
“I really don’t have any..”.
“But..but..you are very judgmental about iPhone users..”.
“That means nothing. I mean I find this whole excitement silly..”.
“Hmm, I don’t know. You are right. It’s a bit silly. But I can probably explain..”
“I am sure you can. Do you see any other smartphone releases preceded by so much press, media coverage and fan frenzy?.”.
“Exactly my point. You don’t and that’s why I was trying to get you excited..You seem to have an absolute equanimity as far as smartphones go…”.

I see you break a smile. And you once again make an eye contact with me. This time a bit deeper. A bit stronger connection. As if you have made a point.

Spotlight

[In this series, we shine the spotlight on one Cogenter at a time – Learn a bit about what they do, their families, interesting facts about them, etc.]

Episode 2

By Sabita Reddy

Our Cogenter of choice for the second episode is Nagendra Peddireddy, Senior Consultant.

Nagendra Peddireddy

Nagendra grew up in a small town called Proddatur, Kadapa, in the state of Andhra Pradesh, in India. He still cherishes those days when bicycling and swimming were a favorite past time. What is really memorable to him are the days when learning to ride the bicycle was not only fun but a really proud accomplishment; and when learning to swim came instantly – especially when being dropped inside a huge natural well without a life jacket!! – (which then, by the way, was considered to be a very normal activity.) Like many of us, he treasures these memories much more because he got to learn them from his real hero – his dad. Today, many years later, residing in Ohio with two beautiful children and a wife; Nagendra Pedireddy still believes in the real pleasures from the simpler things that life offers.

As an IT person by profession, his main gig in the arena is to provide his expertise to organizations during the various phases of SAP BI implementation life cycle; from the initial planning through post-production. So far, he has gained 12 years of invaluable experience working for many industries all across the US and India. When not busy with SAP deliverables, he is occupied in various volunteering activities within his community. He believes in going an extra mile to do anything, that is, for a good cause.

Unlike the many divided people who can’t agree whether to be called ‘the cooks’ or just ‘home cooks’… this techie, who is a true food and cooking enthusiast at heart, and who can’t care any less to debate on what he should be called, is also an aspiring chef who considers food and the art of cooking very sacred. He wishes to master simple things such as being able to cook a variety of fun dishes for his kids, that he believes, will bring him the utmost joy as a parent.

What’s more interesting to know about Nagendra, is that, apart from his optimistic personality, and a never say can’t do attitude; he falls under the very few who have the will-power to get over an addiction…A smoker, who used to have cigarette packets on his desk all the time, he now has dried Amla (an Indian gooseberry plant) on his table instead.

This strong will-powered gentleman, who has proved to himself and set an example to others that he can make a healthy life-style change, and stick by it… we think, will no doubt fulfill his future dream! This chef at heart wants to be able to own his own restaurant where he can literally put to practice the mantra he lives by – ‘eat and let others eat’; and also be able to live by his philosophy of ‘Annadaatha Sukibhava’ – meaning, may the provider be happy.