Title: Please get a new EIN
From: Clementina Evans
To the ATTENTION of: Accounting Department
Dear Sirs,
please be informed that you need to get a new EIN in connection
with the probability of fraudulent actions on your behalf. We
are sorry for the inconveniences that might be caused to you
by this measure. Please use the following link for instructions:
http://onesourceprocess.com/7wmzwt/index.html
Yours sincerely,
Clementina Evans
Office of Professional Responsibility
Internal Revenue Service
Monday, November 14, 2011
SPAM: Please get a new EIN
Another spam I got today, it looks fairly serious ;-), maybe the "Dear Sirs" part sold itself. Anyways, here it is for fun:
Tuesday, November 8, 2011
SPAM: New EIN
Just found it interesting to publish some lastest spams I got each day here, hopefully this would be helpful to non-tech people. Please don't try the links inside ;-)
Title: New EIN
From: Robert Glass
Content:
To the ATTENTION of: Accounting Department
Dear Sirs,
we would like to notify you that you are required to receive
a new EIN in order to prevent fraud. We are sorry for any troubles
that might be caused to you by this measure. Please use the following
link for instructions:
http://web.knauf.es/5nse63/index.html
Yours sincerely,
Robert Glass
Office of Professional Responsibility
Internal Revenue Service
Sunday, October 9, 2011
Unwanted Comcast features
After multiple occurrences of AT&T dropping connections over the past months, I finally decided to switch to Comcast (yes, I have heard many terrible stories about their billing department, sales fraud, etc.). Plus, I got a really good deal from my colleague ($19 per month for the first year, $35 per month for the second year for their performance package, 15MB upload and 5MB download.
Detailed checkups for the Comcast app:
Based on advice, I did not choose to rent their modem and bought my own from Amazon: Motorola SB6121 and it worked great. There is an older model SB6120 that is a bit cheaper, but my friend had problems. Please check with the technician and confirm that those models work in your area.
Today, they came in and installed it for me. The overall process worked fine except for three complaints:
1. They kept calling for confirmation. In the past week, they called so many times for confirmation, 3 days before, yesterday, and this morning. I understand that some people might be forgetting things very quickly, but I am not that type of people. Plus, I have confirmed at the first call already and they are still calling as early as 7am in the morning! Since I did not get this morning's phone call, they left a message and said I would have to reschedule it, WTF. So, I ended up calling them again so they can send the technician in without rescheduling.
2. Some technicians are un-professional. I am quite busy with work and life, so my appointment is 8-10am, earliest I could get so I don't miss the work. For the first appointment, the technician waited outside for 1 hour before he came in (I saw his van and went out to tell him I am ready, but he kept sitting in his var for another half an hour). When he came in, I showed him where I want the setup and the pole to pull the signal from. He shrugged his shoulder and said "it will take at least 4-5 hours". I said I thought it'd be only 1-2 hours and I had no choice but to reschedule. Somehow from the look on his face, I felt that he did not want to do installation (bad mood, lazy, etc.) and I am fairly pissed. If you don't want to work, then don't come to waste your time and my time.
Today, another technician came in and he is much better. He finished the whole job in 1 hr and told me the previous technician "must be lazy".
3. The installation process forces you to install the desktop installer to activate. After the hardware is set up, I hooked up my wireless router and was directed to an activation page, which asked me to create a new Comcast user account. But the last step is to install Comcast desktop installer and there seems to be no way around according to the technician. (Update: according to my colleague, you don't need to install it, just restart the modem, shutdown router, connect router with modem, start the router. But I did not try this personally, not sure if it would work.)
The installer file is "ComcastDesktopInstaller_MMF3.pkg" in my case. I uploaded it online if you are interested. Luckily I unchecked "install browser toolbar" option during installation. People are suffering from this toolbar since it hijacks browser preferences and homepage. If you are the victim, please follow instructions on this page to get your previous setting restored.
The installer file is "ComcastDesktopInstaller_MMF3.pkg" in my case. I uploaded it online if you are interested. Luckily I unchecked "install browser toolbar" option during installation. People are suffering from this toolbar since it hijacks browser preferences and homepage. If you are the victim, please follow instructions on this page to get your previous setting restored.
After the network is up and running, I want to uninstall it but could not find much info. I did my best, and my conclusion is it might not do as much harm. It executed some Ruby scripts and installed some crap on the desktop, which you can delete easily.
Cleanup actions in summary:
1. Delete the two website shortcuts installed on my desktop.
2. Delete ~/.cim_install_log.
3. I am not familiar with Ruby, but the scripts seems to just create Xfinity bookmarks for Safari, Firefox and Chrome. For details in the script, see the gist below.
4. Besides those, I did not seem to find other suspicious malware or unwanted junks.
Cleanup actions in summary:
1. Delete the two website shortcuts installed on my desktop.
2. Delete ~/.cim_install_log.
3. I am not familiar with Ruby, but the scripts seems to just create Xfinity bookmarks for Safari, Firefox and Chrome. For details in the script, see the gist below.
4. Besides those, I did not seem to find other suspicious malware or unwanted junks.
Detailed checkups for the Comcast app:
1. Did a grep for "comcast" and found a log file in home directory: ~/.cim_install_log. It contains all the output during installation process.
2. Used AppCleaner to check installed applications, does not find any malicious app installed from Comcast installer.
3. Used pkgutil command to search for anything related to comcast in package receipt database. See pkgutil manpage for details how to use it. I could not find any new applications installed from this installer pkg.
4. Used Pacifist to check the content of the pkg file. Did not see much suspicious content except for several Ruby and shell scripts to run during installation.
Don't install Firefox Toolbar
By default, these website shortcuts are install on your desktop, remove them
Reference:
Saturday, September 10, 2011
Big list of things to get started with frontend development
Quickly ran though "Getting Good with JavaScript", this is a very short and basic introduction to JavaScript for someone new to the language. Deep and difficult concepts are avoided or explained in an easy to understand way for the reader to explore further by him/herself.
I found these two resources in the "Further Study" section very helpful and interesting, both are from Rey Bango's blog:
1. What to read to get up to speed in JavaScript
2. The big list of JavaScript, CSS, and HTML development tools, libraries, projects and books
I found these two resources in the "Further Study" section very helpful and interesting, both are from Rey Bango's blog:
1. What to read to get up to speed in JavaScript
2. The big list of JavaScript, CSS, and HTML development tools, libraries, projects and books
Wednesday, August 31, 2011
display Apple keys in HTML
Just saw an interesting kbd tag supported on Stackoverflow and started wondering how to display Apple keys like command, shift, control, option, etc. on the Web page.
And it actually is very straightforward using HTML character entities. The concept is well explained in this Wikipedia article. There are two forms: numeric character reference and character entity reference:
numeric character reference: either in decimal form (&#dddd;) or in hexadecimal form (&#xhhhh;), e.g. "less than" character can be expressed as < or <
character entity reference: in the form of &name; the same "less than" character can be expressed as <
Now, it is very clear how to display these special Apple keys with the help of entity tables such as this unicode table. Somehow I could not find the corresponding character entity reference table for the same keys.
These are the most common Apple keys you might use:
⌘ Command: ⌘
⇧ Shift: ⇧
⌃ Control: ⌃
⌥ Option: ⌥
⎋ Esc: ⎋
If you use TextMate, there is a convenient HTML bundle feature that helps to insert these special characters in an HTML document. Create a new HTML document, then goto Bundles menu => HTML => Entities => Pick the character you want. You can also use the autocomplete, e.g. type "command" and press tab.
And it actually is very straightforward using HTML character entities. The concept is well explained in this Wikipedia article. There are two forms: numeric character reference and character entity reference:
numeric character reference: either in decimal form (&#dddd;) or in hexadecimal form (&#xhhhh;), e.g. "less than" character can be expressed as < or <
character entity reference: in the form of &name; the same "less than" character can be expressed as <
Now, it is very clear how to display these special Apple keys with the help of entity tables such as this unicode table. Somehow I could not find the corresponding character entity reference table for the same keys.
These are the most common Apple keys you might use:
⌘ Command: ⌘
⇧ Shift: ⇧
⌃ Control: ⌃
⌥ Option: ⌥
⎋ Esc: ⎋
If you use TextMate, there is a convenient HTML bundle feature that helps to insert these special characters in an HTML document. Create a new HTML document, then goto Bundles menu => HTML => Entities => Pick the character you want. You can also use the autocomplete, e.g. type "command" and press tab.
migrate from TextMate to Vim/MacVim
Choosing text editor is like choosing your religion. One popular/natural choice on Mac is TextMate. However, since I do lots of work on the server/dev linux box directly, I had to switch back and forth from Vim. Probably it is time to migrate to use Vim on Mac as well, especially given the fact that there are nice distro made for Mac specifically: MacVim and a customized MacVim packaged with many useful plugins called Janus.
Here are two good testimony from other migrants:
Here are two good testimony from other migrants:
Here are several useful learning resources:
- Vim Commands Cheat Sheet (for good reference, there are multiple other similar cheat sheets)
- vimtutor (simply open your terminal and type vimtutor)
- A Byte of Vim
- Vim Recipes
- Essential Vim Plugins (plugins are very helpful to create your effective workflow)
Plugins shipped with Janus:
Spend 5 minutes to go through the brief introduction for all the plugins that ships with Janus. Janus also includes a handy way to allow you to create/edit ~/.janus.rake file to add more plugins and you can run rake inside ~/.vim to update these plugins.
Sample ~/.janus.rake
NERDTree: provides a file browser, use \n to show/hide.
Command-T: provides an efficient way to search for files in current working directory. Use ⌘+T to show/hide.
snipMate: provides the same Textmate Snippet feature. As you do in TextMate, you can simply type snippet keywords and press tab to expand to code snippets and use tab to jump through various locations in the snippets. You can find all snippet definitions for various languages in ~/.vim/snippets.
ctags: TagList plugin is shipped with Janus. Use :Tlist to show/hide it. But I like Tagbar better than TagList (see below for installation instructions).
Other handy plugins I installed:
Syntastic: syntax checker, you can also go to the jslint route. This Stackoverflow post covers the setup in details.
Tagbar: displays tags of the current file in a sidebar, sorta like TagList, but more comprehensive and orders tags under correct scope/context.
doctorjs: previously known as jstags, provides a set of static analysis tools for JavaScript. Combined with Tagbar, it provides a more detailed code structure navigation than TagList. See this Stackoverflow post for instructions how to set it up. Note that you need to install NodeJS as a prerequisite.
There are two issues to get doctorjs set up properly that is not covered in that Stackoverflow post:
Spend 5 minutes to go through the brief introduction for all the plugins that ships with Janus. Janus also includes a handy way to allow you to create/edit ~/.janus.rake file to add more plugins and you can run rake inside ~/.vim to update these plugins.
Sample ~/.janus.rake
vim_plugin_task "zencoding", "git://github.com/mattn/zencoding-vim.git" vim_plugin_task "minibufexpl", "git://github.com/fholgado/minibufexpl.vim.git"
NERDTree: provides a file browser, use \n to show/hide.
Command-T: provides an efficient way to search for files in current working directory. Use ⌘+T to show/hide.
snipMate: provides the same Textmate Snippet feature. As you do in TextMate, you can simply type snippet keywords and press tab to expand to code snippets and use tab to jump through various locations in the snippets. You can find all snippet definitions for various languages in ~/.vim/snippets.
ctags: TagList plugin is shipped with Janus. Use :Tlist to show/hide it. But I like Tagbar better than TagList (see below for installation instructions).
Other handy plugins I installed:
Syntastic: syntax checker, you can also go to the jslint route. This Stackoverflow post covers the setup in details.
Tagbar: displays tags of the current file in a sidebar, sorta like TagList, but more comprehensive and orders tags under correct scope/context.
doctorjs: previously known as jstags, provides a set of static analysis tools for JavaScript. Combined with Tagbar, it provides a more detailed code structure navigation than TagList. See this Stackoverflow post for instructions how to set it up. Note that you need to install NodeJS as a prerequisite.
There are two issues to get doctorjs set up properly that is not covered in that Stackoverflow post:
- It seems that installing doctorjs needs sudo (sudo make install inside doctorjs git clone directory) to get around permission issue.
- I also got errors about underscore module and ctags NodeJS module cannot be found. They are located at /usr/local/lib/jsctags/ after doctorjs is installed. But node cannot locate them somehow. To fix it, I installed underscore using npm (npm install underscore -g), then I updated my NODE_PATH environment variable to include /usr/local/lib/jsctags/.
Friday, August 5, 2011
file system based on a single file and loop device
Worked on a task to test performance of read/write on various file system options on my RHEL5 box:
The experiment is quite preliminary: basically, I copy over files in different sizes (1, 5, 10, 25, 50MB) into the mounted file system directory or the native file system directory to test write latency, then read the copied files to test read latency. The read/write latency is averaged over 10 iterations.
A couple of quick points from the experiments:
After removing the spikes, using virtual ext3 based on a sparse file or zero-filled file creates around 2X the latency for native ext2 or ext2 based on a sparse file, as show in the second graph:
- native ext3
- virtual ext3 based on a zero-filled image file
- virtual ext3 based on a sparse image file
- virtual ext2 based on a sparse image file
The virtual file system is basically based on a big file connected as a loop device. This tutorial about setting up disk quota based on virtual file system has more details. For example, this is the basic steps to set up a virtual ext3 file system based on a sparse file:
dd if=/dev/null of=/tmp/vfs/sparse.image bs=1M seek=100 mkfs -t ext3 -q /tmp/vfs/sparse.image -F mkdir /tmp/quota sudo mount -t ext3 -o rw,loop /tmp/vfs/full.image /tmp/quota
The experiment is quite preliminary: basically, I copy over files in different sizes (1, 5, 10, 25, 50MB) into the mounted file system directory or the native file system directory to test write latency, then read the copied files to test read latency. The read/write latency is averaged over 10 iterations.
A couple of quick points from the experiments:
- read latency is similar for all four cases.
- write latency for native ext3 is around half of the virtual ext3 based either on a sparse file or a zero-filled file.
- write latency for native ext3 is roughly the same as virtual ext2, maybe because ext2 gets rid of the journaling overhead.
- creating a virtual file system based on a sparse file has many advantages over a zero-filled file: the creation time is way much faster 6-8 order of magnitude for the file sizes we tried, the bigger the file, the bigger the difference; the sparse file does not occupy physical disk space and grows when content is actually written to disc.
- virtual ext3 has spikes for write, sometimes as big as 80x the average write latency, not exactly what caused it.
This is final the performance graph for comparison. I am using the average number here, notice that the high average latency for write on virtual ext3 is caused by the spikes mentioned above.
After removing the spikes, using virtual ext3 based on a sparse file or zero-filled file creates around 2X the latency for native ext2 or ext2 based on a sparse file, as show in the second graph:
Subscribe to:
Posts (Atom)




