Found in Costa Mesa, CA
![]()
While transferring to my new cell phone, I found a photo of my hack to create a 7″ tablet & 5.7″ cell phone holder for my Nissan Maxima 2001. It consisted of a tablet (or cell phone stand from eBay as pictured), two large binder clips and a pocket kleenex. Turns out you can use a packet of pocket Kleenex to extend the legs of the tablet/phone holder and have it snugly fit in the dummy space in the factory stereo bezel. The two binder clips was just to avoid the unit from sliding sideways. The trick is to use stick one hand of the binder clip to the gap at the sides of the front panel.
![]()
I was trying to image a mSATA SSD with Ghost in Windows (I’m using version 12.0.0.8023 Corporate Edition as I bought the Altiris license) and I ran into internal consistency error 8027 right at the very beginning of the copying process.
For some reason, it doesn’t happen if I boot to the DOS version (provided by Agilent) to do the cloning.
Luckily the status bar tells me what’s going on during the process. I notice it always hangs when ghost tells me that it’s TRIMming the SSD. I looked up the help file (ghost32.exe -help) and noticed that there’s a “-NOTRIM” option. Tried it and the clone completed successfully.
Turns out Symantec is aware of it. The title of the support article is called “Cloning Solid State Disk (SSD) drives fails when using the UEFI 12.0.0.x Ghost executables“.
The summary says it since older versions (11.5.1.x) does not have TRIM, this isn’t a problem, and
“Build 12.0.0.8003 (from GSS 3.0 early build) resolved the issue with the partition restore”
I’m not sure what it means. But the solution is the same as what I did: disable TRIM when copying SSD in Windows (done by the -notrim switch).
![]()
If you live in a mixed environment of Windows 7 and 8/10 computers, you might want to set the usernames to be the same so you can share the files/printers without managing Homegroup.
Nonetheless, in Windows 7/2008, if you try to create a user account using the traditional tool (Local Users and Groups) in Computer Management, you are not allowed to use email address as user name because they banned the at-mark (@):
I searched the web for quite a while, came across stuff like UPN (User Principal Name) without luck (No active directory on Windows 7, nor I want to setup a domain controller in Windows 2008 for home network). Turns out the solution is dead simple: use the “User Account” from Control panel to create the user account. No questions asked!
![]()
CVX is a very convenient convex optimization package that allows the user to specify the optimization objective and constraints directly instead of manually manipulating them (by various transformations) into forms that are accepted by commonly available software like quadprog().
What I want to show today is not CVX, but a technique to handle the many different versions of the same program targeted at each system architecture (32/64-bit, Windows/Mac/Linux). Here’s a snapshot of what’s available with cvx:
| OS | 32/64 | mexext | Download links |
| Linux | 32-bit | mexglx | cvx-glx.zip |
| 64-bit | mexa64 | cvx-a64.zip | |
| Mac | 32-bit | mexmaci | cvx-maci.zip |
| 64-bit | mexmaci64 | cvx-maci64.zip | |
| Windows | 32-bit | mexw32 | cvx-w32.zip |
| 64-bit | mexw64 | cvx-w64.zip |
You can download all packages for different architectures, but make a folder for each of them by their mexext() name. For example, 32-bit Windows’ implementation can go under /mexw32/cvx. Then you can programmatically initialize the right package for say, your startup.m file:
run( fullfile(yourLibrary, mexext(), 'cvx', 'cvx_startup.m') );
I intentionally put the /[mexext()] above /cvx, not the other way round because if you have many different software packages and want to include them in the path, you can do it in one shot without filtering for the platform names:
addpath( genpath( fullfile(yourLibrary, mexext()) ) );
You can consider using computer(‘arch’) in place of mexext(), but the names are different and you have to name your folders accordingly. For CVX, it happens to go by mexext(), so I naturally used mexext() instead.
![]()