Pages

Tuesday, January 2, 2018

Getting Organized in the New Year

0 comments
I know a lot of folks who have made resolutions to get organized this year and one of the things they're taking a good look at is the amount of email on their phones.  Some have hundreds or even thousands of messages sitting there eating up storage and making finding anything a real chore.

So, if you're in the same boat, using an iPhone, and want to dump all those messages I'll show you how to delete them all in one process without having to click on each one to select them.

(Pssst - this tip will let you bulk delete OR bulk move messages around in iOS 10)


  1. If there are any messages in the folder that you want to keep, move them to another folder.
  2. Once you're sure that only unwanted emails are left, tap  "Edit" in the upper-right corner. Once in edit mode, select one email by tapping the circle to the left of it.
  3. Tap and hold the "Move" button located at the bottom of your screen, but don't let go just yet. tap the circle to the left of the email that you chose in the previous step to deselect it, now you can take your finger off the "Move" button. This selects all of the emails in the folder at once.
  4. Tap "Trash" on the next screen to move all of the emails to the Trash folder.
  5. To completely delete the messages, open the Trash folder, tap "Edit", and tap "Delete All".
That's all there is to it and the clutter is gone, Gone, GONE.

Continue reading →
Wednesday, November 15, 2017

iOS 11's Annoying I Issue

0 comments
Some folks are having a problem when they type an 'I' on their iPhone or iPad.  they,re getting an A with a question mark symbol [?] next to it.  This is a problem in iOS11 that oddly only affects some users.

Apple has released update 11.1.1 that is supposed to fix the problem.  If you haven't updated yet or need to hold off updating, there is a work-around.  Go to:

Settings
     General
          Keyboard 
               Text Replacement 
Hit the + to add a new entry then type an uppercase “I” in the Phrase field and a lowercase "i" in the Shortcut field.

That should fix you right up.
Continue reading →
Friday, February 10, 2017

Is Alexa Spying on Me?

2 comments
Well, here we are a good ways past Christmas.  Chances are most everyone you know found some kind of tech toy under their trees.  A lot of folks got one of Amazon's Echo, Tap, or Dot devices.  These all run on Amazon's Alexa app to do their stuff.

I got a question the other day from a friend who got an Echo; Is Alexa spying on me?

The question was spurred in part by a brief flurry of postings online after Arkansas police dropped a subpoena on Amazon for information from Alexa about a murder.  There was an Echo in the house where a murder happened and the authorities want to know what Alexa heard.

Now to get to the original question -
For the Echo and Dot, Alexa is always listening for the 'Wake Word' (the Tap has a button that you must push to wake it up unless you've set it to hands-free mode). While waiting for the wake word Alexa is not paying attention to anything else that it hears.  Once it hears the wake word (Alexa, Amazon, Echo, or Computer; or sometimes something that sounds reasonably close) it starts paying attention.

Alexa records what it hears after you wake it up and uploads the recording to Amazon's servers.  According to Amazon this is to "improve your experience and our services".  This is all well and good, but there are occasions that Alexa is recording when I haven't used the wake word.  That's because it hears my dog's name as the wake word every so often.  So it will record things like 'come here' and will answer with things like "I would if I could, but I may need a helping hand."

You can manage and delete the recordings online in the Alexa app at https://www.amazon.com/mycd.

So, basically, Alexa is not spying on you but it can overhear things it doesn't need to know.

Continue reading →
Friday, August 26, 2016

Excel Files From Web Won't Open

0 comments
I had an interesting issue creep up a bit ago with Excel files that were created by a web application not opening in Excel.

I had a ColdFusion app that would generate reports on the fly for users.  We were using CFHEADER and CFCONTENT to deliver table formatted data as XLSX files.  It had been working fine right up until it didn't.  We hadn't made any changes to the code and checked and confirmed that there were no changes/patches to the system since the last known good report was generated.

As it turns out, in mid-July Microsoft upgraded the security in Excel concerning how it handled HTML files with XLS or XLSX extensions from untrusted locations. Previously, Excel would warn you about the file having a type mismatch and would let you accept opening the file.  From the update, Excel would no longer allow the file to be opened and offered no explanation or error message.

There are a couple of workarounds to open the files:
The first is on a file by file basis -
  • Once you have the file, Right-Click on it to get the context menu and select ‘Properties’
  • On the ‘General’ tab, click ‘Unblock’ and then ‘OK’
  • Open the file as usual. You’ll get this message - 'The file format and extension of filename don't match. The file could be corrupted or unsafe. Unless you trust its source don't open it. Do you want to open it anyway?'
  • Click ‘Yes’
  • The file will open
Another workaround is to change the Trusted Locations settings in Excel

  • Open File > Options > Trust Center > Trust Center Settings > Protected View
  • Clear the check-marks from  "Enable Protected View for file originating from the Internet" and “Enable Protected View for files located in potentially unsafe locations”.
  • Files pulled from the Internet will open.
If you've been building spreadsheets in ColdFusion with CFCONTENT and CFHEADER, it's time to start using CFSPREADSHEET and the associated functions.




Continue reading →

Apple Mobile Devices - Patch 'em Up NOW

0 comments
Apple has issued an "important security update", iOS 9.3.5, to neutralize a new piece of malware that can remotely jailbreak iPhones allowing an attacker full access to your device to read texts and email, record calls, track your location and activate your phone's camera and microphone.

The update patches the three previously unknown zero-day vulnerabilities that together are referred to as "Trident".

To check if you're at risk look at Settings > General > About > Version   If you're on version 9.3.5 then you're OK.  If you're on a different version you should update now.  You can pull the update through Settings > General > Software Update then just follow the instructions to download and install it.

For those interested we'll go into the details a little:
The three exploited vulnerabilities are:
  • CVE-2016-4655, Memory Corruption in Webkit 
  • CVE-2016-4656, Information leak in Kernel 
  • CVE-2016-4657, Kernel Memory corruption leads to Jailbreak.
The issue was found by cyber security firms Lookout and Citizen Lab, who were tipped off to unusual text messages received by an iPhone user in the United Arab Emirates.
Lookout and Citizen Lab worked with Apple on the patch before releasing information on the vulnerability.
The Trident vulnerabilities are exploited in a spyware package called Pegasus which is widely available throughout the world

Continue reading →
Sunday, October 4, 2015

Windows God Mode

0 comments
Just the other day I was helping a friend set up their computer after doing a full reinstall of the OS.

Now configuring a system can get to be a bit tedious with all of the clicking necessary to get to all of the settings and tools.  So to make things a little easier, I clued him into Windows' God Mode.

God mode puts all of the the things you can customize together in one place on your Windows machine, and it is available from Windows Vista through Windows 10.

Getting to God Mode is easy; just create a folder anywhere you like and name it God Mode.{ED7BA470-8E54-465E-825C-99712043E01C}

Actually, you can name it anything you like before the dot.  the important part is what comes after the dot.  Don't change that part.

Once you rename the folder, open it up and you'll find a wealth of tweaks and tools.

Give it a look if you're of the mind.  If you find it convenient, enjoy.  If it's not for you, just delete the folder and it's gone.
Continue reading →
Friday, January 30, 2015

GHOST Buffer Overflow Vulnerability

0 comments

A critical vulnerability that impacts a majority of Linux servers has been identified.  This vulnerability, named "GHOST", affects the GNU C library (glibc) that is used by Linux applications to interface with the Linux operating system via a series of function calls. The “buffer overflow” vulnerability in a pair of glibc’s functions can allow a remote attacker to exploit this flaw to execute arbitrary code on the system.  

Details of the discovery in this posting on Openwall and, Red Hat provides a detailed description of the vulnerability and updates to resolve the issue.
Continue reading →
Tuesday, September 30, 2014

Apple Releases OS X Bash/ShellShock Patch

0 comments

The official patches for the UNIX shell vulnerability have been released.
You may see them listed under 'Software Update' or you may get system notifications alerting you to them.
You can also grab them yourself here:
·              Mavericks v10.9.5+: http://support.apple.com/kb/DL1769
·              Mountain Lion v10.8.5: http://support.apple.com/kb/DL1768
·              Lion v10.7.5: http://support.apple.com/kb/DL1767
Continue reading →
Wednesday, February 5, 2014

CSRF/XSRF Protection in ColdFusion 9

0 comments
Here's another little thing that's come across my desk and I hope my solution can be of some help to others.

I was asked to provide a solution to protect a site from Cross Site Request Forgery (CSRF or XSRF) attacks.  Specifically, there were forms on the site that were considered at-risk for exploitation.  I won't get into great detail on what CSRF is, but basically it's an attack vector that attempts to exploit the trust that a website has in the user's browser to allow malicious actions to take place on the server.  

CF10 has methods for CSRF protection available built in, but the site I was asked to chime in on is on CF9.

So, the forms were vulnerable to a CSRF attack because a malicious user could cause a legitimate, authenticated user to unwittingly submit them.  In order to protect the public facing forms, it's necessary to set up a condition where the server can trust that the form submission is from the legitimate user during their session.  The method CF10 uses is to send a token with the form and check for it on submission.  We can do the same thing by adding just a few lines of code to our forms.

Here's a typical self-posting form:
<cfif structKeyExists(form, 'sendInfo')>
       <p>Your information has been received.</p>
    <cfelse>
      <cfform>
            <label for="fName">First name:</label><cfinput name="fName" type="text"><br>
            <label for="lName">Last name:</label><cfinput name="lName" type="text"><br>
            <input type="submit" value="Submit" name="sendInfo">
      </cfform>
    </cfif>

Let's add a token to the form that the server can check for:
<cfif structKeyExists(form, 'sendInfo')>
       <p>Your information has been received.</p>
    <cfelse>
      <cfset session.foobar = createUUID()>
      <cfform>
            <cfoutput><input type="hidden" name="foobar" value="#session.foobar#"></cfoutput>
            <label for="fName">First name:</label><cfinput name="fName" type="text"><br>
            <label for="lName">Last name:</label><cfinput name="lName" type="text"><br>
            <input type="submit" value="Submit" name="sendInfo">
      </cfform>
    </cfif>


Next, we want the form processor to check for the token:
<cfif structKeyExists(form, 'sendInfo')>    
    <cfif structKeyExists(session, 'foobar') and form.foobar is session.foobar>
       <p>Your information has been received.</p>
       <cfelse>
           <p>The form has a problem</p>
       </cfif>
    <cfelse>
      <cfset session.foobar = createUUID()>
      <cfform>
            <cfoutput><input type="hidden" name="foobar" value="#session.foobar#"></cfoutput>
            <label for="fName">First name:</label><cfinput name="fName" type="text"><br>
            <label for="lName">Last name:</label><cfinput name="lName" type="text"><br>
            <input type="submit" value="Submit" name="sendInfo">
      </cfform>
    </cfif>


And finally, we want to do a little housekeeping by dropping the token from the session when we're done with it:
<cfif structKeyExists(form, 'sendInfo')>    
    <cfif structKeyExists(session, 'foobar') and form.foobar is session.foobar>
       <p>Your information has been received.</p>
       <cfelse>
           <p>The form has a problem</p>
       </cfif>
    <cfset structDelete(session, 'foobar')>
    <cfelse>
      <cfset session.foobar = createUUID()>
      <cfform>
            <cfoutput><input type="hidden" name="foobar" value="#session.foobar#"></cfoutput>
            <label for="fName">First name:</label><cfinput name="fName" type="text"><br>
            <label for="lName">Last name:</label><cfinput name="lName" type="text"><br>
            <input type="submit" value="Submit" name="sendInfo">
      </cfform>
    </cfif>

So there ya' go.  A handful of code and you've got your server recognizing your forms for a one-time post and bouncing them on any attempted re-posting.

Continue reading →
Friday, August 9, 2013

Dude, Where's My Phone (or Tablet)?

0 comments
Earlier this week Google released Android Device Manager, an online tool to locate misplaced Android devices.  This handy little tool will let you:
  • locate your phone or tablet on a map in real time  (if you think you left it somewhere),
  • ring it at max volume (if it’s misplaced - yes, you could call it from another phone, but this will override ‘Silent’ or ‘Vibrate Only’ so it will ring , or
  • erase it (if it's been stolen or is otherwise unrecoverable).
You will need to set up the erase feature on your device, but the locator and ring features work without any setup.

You can read the announcement or just go ahead and play with it.
Continue reading →
Friday, July 26, 2013

Going Hands-On with Google Chromecast

0 comments
OK - let's start with the basics:
Chromecast is a $35 dongle that you plug into an HDMI port on your HDTV and it allows you to use your phone, tablet or laptop to stream (cast) content to your TV screen. It will cast content from Netflix, YouTube, Google Play Movies & TV, and Google Play Music. Google promises more apps, like Pandora, coming soon.

Something that Google doesn't mention is that almost anything that plays natively in a Chrome browser window can be cast to the TV.  So if you've got a file living on your device that will open in Chrome you can probably cast it.  I've easily sent JPG pictures,  MP3 music, and M4V video from my laptop. I haven't yet done an exhaustive test of file types, but I have found that Quicktime (MOV) files are not supported.

As far as devices, it works with Android 2.3+, iOS 6.0+, Windows 7+, Mac OS 10.7+ and Chromebook Pixel, with additional Chromebook support coming soon.

It transmits video content at up to 1080p resolution via its HDMI port and draws power through its USB port from your HDTV or the supplied external power adapter. It supports 2.4-GHz Wi-Fi 802.11 b/g/n.

In the box you get:

  • the Chromecast device
  • an HDMI extension cable
  • a USB power cord
  • a power supply
Setup is quick and easy.  It took just about 3 minutes from opening the box 'til I was casting from my laptop.

  1. Plug the power cord into the dongle and into a USB port on your TV.
    Don't use the Service port.  If your set doesn't have a USB port, use the included power supply.  
  2. Switch your TVs source to the input you plugged the device into
  3. Go to google.com/chromecast/setup to download the app to configure the device
Follow the instructions to get the caster on your WiFi network and your pretty much done. One additional step to cast from your computer.  You'll need to install the Google Cast extension for Chrome.

Once you have Chromecast up and running it is found by your devices' YouTube, Play, etc. apps. Around the castle here, the prince and princesses are all wired up and their iOS and Android tablets, phones and such all can cast without having to install anything.

One thing to note - since all the devices can cast and there's no 'lockout', they can bump each other off the TV screen.  If Princess1 casts from her phone and Princess2 doesn't like the video, Princess2 can start a cast from her tablet and bump Princess1's video off the TV.

Maybe Google would consider a Chromecast Combo Pack including a striped shirt and a whistle?
Continue reading →
Friday, May 3, 2013

Google+ Hangouts Adds Remote Desktop

0 comments
Google has added a couple of new enhancements to the Hangouts.  You can now connect to another user's computer and control it with their permission.  (Think remote TA)

They've also increased the number of telephone connections to a Hangout from 2 to 5.  So now there's more space for people that are away from their connected devices, but have a phone and want to participate.  More details on the Google+ Daily blog.
Continue reading →
Tuesday, April 30, 2013

The Twinkies are Coming!!

1 comments
Okay, so a bit off topic from my usual posts, but you've got to acknowledge the important things in life.

The new Hostess company announced last week that it is going to reopen bakeries in Kansas and Georgia.  They announced today that they'll also be opening bakeries in Illinois and Indiana.  They're starting to staff up now and might have bakeries open by the end of May.  The goal is to have Twinkies, HoHos and all the rest back in stores by late July.
Continue reading →
Friday, April 19, 2013

Hotfix for CF Admin Console Vulnerability

0 comments
Adobe has released a hotfix to address a vulnerability in ColdFusion 10, 9.0.2, 9.0.1 and 9.0 (for Windows, Macintosh and UNIX) whereby an attacker could impersonate an authenticated user and potentially gain access to a secured website/application or ColdFusion’s administrative console.

Take a look at Adobe's Security Bulletin, and  the Tech Note for more information and to download and install the patch.
Continue reading →
Friday, March 22, 2013

Deleting a Printer that Just Won't Go Away

0 comments
Have you ever had a problem deleting a printer?

I'd physically gotten rid of an old printer, but I couldn't delete it from my Windows 7 computer; no matter how many times I tried, it just wouldn't go away.

If you're having a similar problem, here's how I cleared it up.

There was a document in the queue that I'd cancelled, but it wouldn't drop.  That was holding the printer.  I needed to force the print spool to release the document, so the system would drop the printer.  A command file would do the trick.  Here's what to do:

Open notepad and paste in these 4 lines

net stop spooler
del %systemroot%\system32\spool\printers\*.shd
del %systemroot%\system32\spool\printers\*.spl
net start spooler


Save the document as deletePrinter.cmd
Right-click the file you just created and select 'Run as administrator'

You may need to restart your computer afterwards, but that will delete any print jobs and the printer should be gone.




Continue reading →
Monday, February 4, 2013

Need to Open Up Space on an iOS Device? PhoneClean 2.0

0 comments

I was doing some Groundhog Day cleaning on my iPad, you know, moving photos, videos, and such off to get back a little storage space.  When I was done, I saw that I had nearly 5 gig of space being eaten up by 'Other'.

Some of that space usage is legit.  Application data, contacts and the like. But devices can accumulate quite a bit of detritus just from day-to-day usage; temp files, caches, off-line files, cookies, scripts, and corrupt media files from failed iTunes syncs.

So I took a little walk around the Interwebs to see if there was something that would survey my storage and assess what it found.

I came across a little freeware tool called PhoneClean that seemed to be just what I was looking for, so I decided to go ahead and give it a whirl.  You can download PhoneClean directly from the developer’s website.  PhoneClean is available for both Windows PC and Mac.  Once installed onto your computer, it’s just a few steps to run through the files on your device and scrub the unneeded ones.

So here we go:
  1. Back up your device.
         Before I do anything that might fubar my data I always do a backup.  I used iTunes to sync my iPad so I'd be able to rollback if this didn't go well.
  2. Connect your device to the computer
  3. Launch PhoneClean.
    You'll get a screen similar to this:
          You can see how much free space you have, and you can select what type of file to look for.
  1. Start the scan.
    When it's done you'll get a screen showing how much space can be freed up and what apps have files that can be deleted:
          Clicking on any of the apps will show you what files can go.
          And you have complete control of which files are removed and which ones stay.

  1. Click Clean Up to start the process of deleting the files.
              When it's all done you'll see a confirmation of how much space was freed up.

When I ran PhoneClean it about 20 minutes all together to scan and clear out the files.  In the end it opened up 2.89GB space.

Definitely worth the time and the price is right.
Continue reading →
Sunday, February 3, 2013

CFIMAP, SSL, and CACERT

0 comments
I was working on a little ColdFusion project the other day.  Something rather uncomplicated actually.  We needed to write an application that would:
  1. automatically check a mailbox for messages
  2. parse information from valid messages into a database
  3. move those messages from the Inbox to another folder
  4. delete any other messages from the box
Simple enough to do; now time to test.

I kick-off the process and -
An exception occurred when setting up mail server parameters.
This exception was caused by: javax.mail.MessagingException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors;


Well yippee, CF doesn't have the mail server's cert in its list.  This'll be fun- go generate a cert file and try to remember the command line to install it in CF's stores.

"But wait" says a friend, "there's an app for that" :) .  She clues me in on a little tool called KeyStore Explorer that's much better than all the command line stuff.    I take her advice (my friends are very smart) and grab a download at http://www.lazgosoftware.com/kse/index.html to check it out.  A couple of minutes later I point the tool at the cacerts file  (%cfroot%/jre/lib/security/cacerts) and install the mail server's cert.  No muss, no fuss, no bother.

The parser is humming along like it should and I'm on to the next 'to-do'.




Continue reading →
Thursday, January 24, 2013

Finding Empty ntext and varchar Fields in SQL

1 comments
Just the other day, I ran into another one of those little ‘slips your mind until you need it’ items.
In SQL, when checking for empty (no, NOT null, empty) fields with data types of ntext or varchar, querying for >’’ is not valid.
So, how can I find the records with empty fields? The test here would be to check for ANY string.
Well, LIKE ‘_%’ would be the way to do it.
For example, looking for records with an empty 'description' field (data type ntext) in a table with 200 entries:
SELECT * FROM widgets WHERE description IS NULL OR description NOT LIKE ‘_%’ 
would return the 17 records with empty or null description fields.
Conversely,
SELECT * FROM widgets WHERE description LIKE ‘_%’
would return the 183 records where there is something in the description field.
Continue reading →
Sunday, January 20, 2013

Price Increase on Windows 8

0 comments
If you're interested in picking up a license for Windows 8 now's the time to do it. Microsoft has announced an increase of $160 that will take effect on February 1st. The retail price will jump from $40 to $200. Here's the breakdown:
  • The Windows 8 Pro upgrade edition will be available online and at retail for $199.99 
  • The Windows 8 upgrade edition will be available online and at retail for $119.99 MSRP 
  • The Windows 8 Pro Pack will cost $99.99
  • The Windows 8 Media Center Pack will cost $9.99
Continue reading →
Sunday, December 23, 2012

ASCII Characters and Symbols

0 comments
Every so often I find that I need to place a special character and I just don't remember the coding.  I've usually had to Google around and look at multiple sites before finding the character I want. So I decided to compile a comprehensive list and put it here for easy reference.

CHR(#)HTML EntitySymbol
chr(160)&nbsp;
chr(161)&iexcl;¡
chr(162)&cent;¢
chr(163)&pound;£
chr(164)&curren;¤
chr(165)&yen;¥
chr(166)&brvbar;¦
chr(167)&sect;§
chr(168)&uml;¨
chr(169)&copy;©
chr(170)&ordf;ª
chr(171)&laquo;«
chr(172)&not;¬
chr(173)&shy;­
chr(174)&reg;®
chr(175)&macr;¯
chr(176)&deg;°
chr(177)&plusmn;±
chr(178)&sup2;²
chr(179)&sup3;³
chr(180)&acute;´
chr(181)&micro;µ
chr(182)&para;
chr(183)&middot;·
chr(184)&cedil;¸
chr(185)&sup1;¹
chr(186)&ordm;º
chr(187)&raquo;»
chr(188)&frac14;¼
chr(189)&frac12;½
chr(190)&frac34;¾
chr(191)&iquest;¿
chr(192)&Agrave;À
chr(193)&Aacute;Á
chr(194)&Acirc;Â
chr(195)&Atilde;Ã
chr(196)&Auml;Ä
chr(197)&Aring;Å
chr(198)&AElig;Æ
chr(199)&Ccedil;Ç
chr(200)&Egrave;È
chr(201)&Eacute;É
chr(202)&Ecirc;Ê
chr(203)&Euml;Ë
chr(204)&Igrave;Ì
chr(205)&Iacute;Í
chr(206)&Icirc;Î
chr(207)&Iuml;Ï
chr(208)&ETH;Ð
chr(209)&Ntilde;Ñ
chr(210)&Ograve;Ò
chr(211)&Oacute;Ó
chr(212)&Ocirc;Ô
chr(213)&Otilde;Õ
chr(214)&Ouml;Ö
chr(215)&times;×
chr(216)&Oslash;Ø
chr(217)&Ugrave;Ù
chr(218)&Uacute;Ú
chr(219)&Ucirc;Û
chr(220)&Uuml;Ü
chr(221)&Yacute;Ý
chr(222)&THORN;Þ
chr(223)&szlig;ß
chr(224)&agrave;à
chr(225)&aacute;á
chr(226)&acirc;â
chr(227)&atilde;ã
chr(228)&auml;ä
chr(229)&aring;å
chr(230)&aelig;æ
chr(231)&ccedil;ç
chr(232)&egrave;è
chr(233)&eacute;é
chr(234)&ecirc;ê
chr(235)&euml;ë
chr(236)&igrave;ì
chr(237)&iacute;í
chr(238)&icirc;î
chr(239)&iuml;ï
chr(240)&eth;ð
chr(241)&ntilde;ñ
chr(242)&ograve;ò
chr(243)&oacute;ó
chr(244)&ocirc;ô
chr(245)&otilde;õ
chr(246)&ouml;ö
chr(247)&divide;÷
chr(248)&oslash;ø
chr(249)&ugrave;ù
chr(250)&uacute;ú
chr(251)&ucirc;û
chr(252)&uuml;ü
chr(253)&yacute;ý
chr(254)&thorn;þ
chr(255)&yuml;ÿ
chr(34)&quot;"
chr(38)&amp;&
chr(60)&lt;<
chr(62)&gt;>
chr(39)&apos;'
chr(338)&OElig;Œ
chr(339)&oelig;œ
chr(352)&Scaron;Š
chr(353)&scaron;š
chr(376)&Yuml;Ÿ
chr(710)&circ;ˆ
chr(732)&tilde;˜
chr(8194)&ensp;
chr(8195)&emsp;
chr(8201)&thinsp;
chr(8204)&zwnj;
chr(8205)&zwj;
chr(8206)&lrm;
chr(8207)&rlm;
chr(8211)&ndash;
chr(8212)&mdash;
chr(8216)&lsquo;
chr(8217)&rsquo;
chr(8218)&sbquo;
chr(8220)&ldquo;
chr(8221)&rdquo;
chr(8222)&bdquo;
chr(8224)&dagger;
chr(8225)&Dagger;
chr(8240)&permil;
chr(8249)&lsaquo;
chr(8250)&rsaquo;
chr(8364)&euro;
chr(402)&fnof;ƒ
chr(913)&Alpha;Α
chr(914)&Beta;Β
chr(915)&Gamma;Γ
chr(916)&Delta;Δ
chr(917)&Epsilon;Ε
chr(918)&Zeta;Ζ
chr(919)&Eta;Η
chr(920)&Theta;Θ
chr(921)&Iota;Ι
chr(922)&Kappa;Κ
chr(923)&Lambda;Λ
chr(924)&Mu;Μ
chr(925)&Nu;Ν
chr(926)&Xi;Ξ
chr(927)&Omicron;Ο
chr(928)&Pi;Π
chr(929)&Rho;Ρ
chr(931)&Sigma;Σ
chr(932)&Tau;Τ
chr(933)&Upsilon;Υ
chr(934)&Phi;Φ
chr(935)&Chi;Χ
chr(936)&Psi;Ψ
chr(937)&Omega;Ω
chr(945)&alpha;α
chr(946)&beta;β
chr(947)&gamma;γ
chr(948)&delta;δ
chr(949)&epsilon;ε
chr(950)&zeta;ζ
chr(951)&eta;η
chr(952)&theta;θ
chr(953)&iota;ι
chr(954)&kappa;κ
chr(955)&lambda;λ
chr(956)&mu;μ
chr(957)&nu;ν
chr(958)&xi;ξ
chr(959)&omicron;ο
chr(960)&pi;π
chr(961)&rho;ρ
chr(962)&sigmaf;ς
chr(963)&sigma;σ
chr(964)&tau;τ
chr(965)&upsilon;υ
chr(966)&phi;φ
chr(967)&chi;χ
chr(968)&psi;ψ
chr(969)&omega;ω
chr(977)&thetasym;ϑ
chr(978)&upsih;ϒ
chr(982)&piv;ϖ
chr(8226)&bull;
chr(8230)&hellip;
chr(8242)&prime;
chr(8243)&Prime;
chr(8254)&oline;
chr(8260)&frasl;
chr(8472)&weierp;
chr(8465)&image;
chr(8476)&real;
chr(8482)&trade;
chr(8501)&alefsym;
chr(8592)&larr;
chr(8593)&uarr;
chr(8594)&rarr;
chr(8595)&darr;
chr(8596)&harr;
chr(8629)&crarr;
chr(8656)&lArr;
chr(8657)&uArr;
chr(8658)&rArr;
chr(8659)&dArr;
chr(8660)&hArr;
chr(8704)&forall;
chr(8706)&part;
chr(8707)&exist;
chr(8709)&empty;
chr(8711)&nabla;
chr(8712)&isin;
chr(8713)&notin;
chr(8715)&ni;
chr(8719)&prod;
chr(8721)&sum;
chr(8722)&minus;
chr(8727)&lowast;
chr(8730)&radic;
chr(8733)&prop;
chr(8734)&infin;
chr(8736)&ang;
chr(8743)&and;
chr(8744)&or;
chr(8745)&cap;
chr(8746)&cup;
chr(8747)&int;
chr(8756)&there4;
chr(8764)&sim;
chr(8773)&cong;
chr(8776)&asymp;
chr(8800)&ne;
chr(8801)&equiv;
chr(8804)&le;
chr(8805)&ge;
chr(8834)&sub;
chr(8835)&sup;
chr(8836)&nsub;
chr(8838)&sube;
chr(8839)&supe;
chr(8853)&oplus;
chr(8855)&otimes;
chr(8869)&perp;
chr(8901)&sdot;
chr(8968)&lceil;
chr(8969)&rceil;
chr(8970)&lfloor;
chr(8971)&rfloor;
chr(9001)&lang;
chr(9002)&rang;
chr(9674)&loz;
chr(9824)&spades;
chr(9827)&clubs;
chr(9829)&hearts;
chr(9830)&diams;
Continue reading →

Labels