Friday, December 18, 2015

Charles Schwab finally updates their password policy increasing limit to 238 characters

I just found out today that Charles Schwab updated their password policy some time in September/October. Passwords are now 6-238 characters in length and according to customer service,  their passwords now allow symbols. It's also case sensitive (I tested this).

If you haven't updated your password recently, better do so soon. 8 character passwords are just too weak.

Thursday, June 18, 2015

Silicon Valley and the "Nouveau" poor

In recent months, the rent in Silicon Valley has been sky rocketing, and so much so that the frequency of people I see camping out at highway exits asking for money has increased.

As comical as it seems seeing someone browsing the web with an iPhone, wearing Nike shoes camping out at one of these exits asking for money, it's sad to say that the rising rents really has had a negative impact adding much economic burden to renters who earn less than $90k/year.  As of now, a 2 bedroom apartment in Santa Clara is around $2500/mo. A 1 bedroom apartment is about $2000/mo.

The majority of hard-working folks have moved far far out -- many having at least 2-3 hours worth of commute time to their jobs in Silicon Valley, and many picking up extra jobs or spending extra time in classrooms trying to pickup new skill sets in hopes of a better paying job. There's also quite a number of individuals that decide to stay, but remain in a helpless state and depend on the public to provide a handout.

And so, the comical vagrant with an iPhone and brand new shoes represents a much deeper economic issue that's been surfacing in Silicon Valley. Would I donate money to such a person if I see one? Probably not. They can do a better job with financial planning, and spend their time looking for better jobs or learning new skill sets, as many others do.

Sunday, June 14, 2015

Tips for making SketchBook Pro (desktop) more pleasant to use on Surface 3

As much as I like the Sketchable app on Surface 3, I still miss the full functionality available in Sketchbook Pro. The main annoyances of using Sketchbook Pro on Surface 3 are:
  • accidental palm touches messing up my drawings
  • desktop windows layout takes up lots of spaces
So, here are my notes on attempting to address the above issues:

Fixing Window Clutter issue and making layout more like a Windows 8 app

Shortcut key: "Crtl + Alt + J"

This is one of the easiest annoyances to solve. For some reason, there isn't a "full-screen" option available in the menu, but there seems to be a shortcut key for it: "Crtl + Alt + J". This makes Sketchbook Pro look like a Windows 8 app.

[Below updated: 6/21/2015 - Figured out how to automatically disable touch when Sketchbook Pro window active]

Enabling/Disabling Touch on Surface 3

This article and this post inspired me to do something similar with additional tweaks and a workaround to suppress the UAC permissions message. My current setup is that:

- When sketchbook pro window is active, touch is disabled.
- When sketchbook pro window is not active (even when computer is put to sleep and back on), touch is enabled.
- Pressing the top button once on the stylus once toggles touch between full screen and window mode.

Here's my set of notes getting the above to work with additional details specific to my setup:

1. Download and install DevManView. You'll need to copy the executable and chm file to C:\Windows\System32  . Note: You may need to right click on the .exe file, select properties and click on Unblock if the executable doesn't run.

2. Download and install AutoHotKey. I am beginning to realize how powerful this utility is. It's a must have if you're serious about customizing your Surface 3.

3. To disable UAC from asking you for Administrative privileges, you'll need to follow the instructions here. Here are the specific steps to take (but no pretty pictures):
   - Launch task scheduler. Press and release flag key. Type "schedule tasks" to search for it.
   - In task scheduler, expand the Task Scheduler Library folder tree.  Right click on Task Scheduler Library folder and select "New Folder". Name the new folder: Custom
   - Select Custom folder. Right click on folder and select "Create Task". Fill out the following:
    Under General tab:
       Name: DisableTouch
       Run only when user is logged on.
       Checked on: "Run with highest privileges"
       Checked on: "Hidden"
       Configure for "Windows 8.1"
    Under Actions tab:
       Click "New..."
       Action: Start a program
       Program/script: C:\Windows\System32\DevManView.exe
       Add arguments: /disable "HID-compliant touch screen"
       Click OK
     Under Conditions tab:
        Uncheck everything
     Under Settings tab:
        Checked on: "Allow task to be run on demand."
        Checked on: "Stop the task if it runs longer than:". Fill in: 10 seconds
        Checked on: "If the running task does not end when requested, force it to stop"
        Drop down menu at bottom: "Stop the existing instance"
        Everything else is unchecked.
     Click OK
    - Repeat the above Create Task process but with the following differences:
       Name: EnableTouch
       Program/script: C:\Windows\System32\DevManView.exe
       Add arguments: /enable "HID-compliant touch screen"

4. Now for the easy part. Create a file (and name it however you want, but make sure it has a .ahk extension. Mine is "SketchbookTweaks.ahk"). Copy and paste the following content:

disabled := 0
SetTimer, disableTouch, 500

#IfWinActive ahk_exe SketchBookPro.exe
Send {Ctrl Down}{Alt Down}j{Alt Up}{Ctrl Up}

    If WinActive("ahk_exe SketchBookPro.exe") 
if (disabled = 0) {
 disabled := 1
 Run, C:\Windows\System32\schtasks.exe /RUN /TN "\Custom\DisableTouch", Hide, cmdPid
WinWaitClose ahk_pid %cmdPid%
WinWaitNotActive ahk_exe SketchBookPro.exe
} else {
if (disabled = 1) {
 disabled := 0
 Run, C:\Windows\System32\schtasks.exe /RUN /TN "\Custom\EnableTouch", Hide, cmdPid
WinWaitClose ahk_pid %cmdPid%
WinWaitActive ahk_exe SketchBookPro.exe
5. Run the script and test it out. If you want it to autostart, Flag+R and type:
  %appdata%\Windows\Start Menu\Programs\Startup
Create a shortcut link to your AHK file in there.

Now I can draw without accidental palm touches.

If you need to zoom in and out, I learned the fastest way to do this is to hold the upper side button on the stylus, and click on the canvas. This will trigger the tool wheel. You can use the up gesture to trigger the zoom/pan/rotate tool (i.e., hold upper side button on stylus and draw a short line up, then let go). With the zoom/pan/rotate tool, you can quickly use the stylus to zoom/rotate/pan as desired. No more need for touch.

Sunday, May 31, 2015

Fun with art on Surface 3 - Sketchable vs ArtRage vs Sketchbook Pro (desktop) vs other alternatives

Microsoft's Surface 3 has made drawing fun again. I've been experimenting more and more with cartoon sketches and getting back into the hobby of drawing and sketching cartoons again. I've been experimenting with several software available for Window and have made a few purchases here and there. I've found that any sketching software I use has to support the ability to draw layers.. without that option, it's almost impossible to sketch in guidelines. So here's what I've tried so far:

  1. Sketchable by Silicon Blenders - this is by far my favorite software. It is slightly expensive as an app, but it is intuitive to use. It supports limited number of layers and has the basic tools I need. It provides the ability to disable touch and makes use of the buttons on the Surface pen. Among all of the different drawing apps I've tried out, it has the lowest pen-to-screen latency. This makes drawing feel natural and almost paper-like. Missing features are: inability to select and cut/copy portions of sketches into different layers, paint flood tool to simplify coloring, and limitation of 12 color wells. It's great for sketching but slightly more rudimentary when it comes to coloring in sketches. The user interface is designed very well making the app enjoyable to use. Here are some example sketches I put together in 30 minutes each from Sketchable:

2. ArtRage by Ambient Design - I regret buying this app. The pen-to-screen latency is so bad that it feels sluggish to draw. Even turning off the "smoothing" feature on the pen doesn't fix it. I couldn't find any settings to disable touch drawing, but palm detection seems to be pretty good. The toolset is more complete than Sketchable, but the user interface is not designed well. You have to go through a drop down menu to delete a layer, for example. I found the pen-to-screen latency to be the most frustrating thing that I couldn't bear to finish a sketch in the app.

3. Autodesk Sketchbook Pro (desktop version): This is by far my favorite sketch program and is the most well-thought out and feature-complete product. However, it works well on desktop with a Wacom tablet, but not as well on a Surface 3. It lacks palm detection leaving me drawing stray marks accidentally, and the windows feel squashed on a Surface 3 display [update: figured out a workaround described here]. The sketchbook app through Microsoft Store is terrible and lacking of most of the features I desire (not to mention the forced annual subscription for a majority of the tools), so I've stuck to the desktop version. Some sketches I've made via Sketchbook Pro (desktop version) on Surface 3:

[Updated 6/21/2015 to include other apps/programs I've tried]

4. Manga Studio 5 - I've only tried out the trial version and I do like the desktop app very much. They seem to integrate touch nicely. They have a nice set of tools that's more feature complete than Sketchbook. I would probably use this over Sketchbook Pro; however, my only rant with the application is that zooming in/out and rotating the canvas is janky and unbearably slow on a Surface 3. This is the only thing that's holding me back from upgrading to the full version.

5. Made With Mischief - I've only tried the trial version for this as well. This is also a nice tool that is very intuitive to use. However, it's lacking in a lot of tools and is not very customizable. Sketchable is a better alternative than this app.

Friday, May 15, 2015

Surface 3

I have no brand loyalty when it comes to devices. My home makes me look like an Apple/Android fanboy. I recently bought a Surface 3 and it is a probably one of the most enjoyable (not to mention expensive) devices to draw, take notes, and read with. It's frustrating to do any form of coding on the device because of the screen size. Though, I have found launching iPython in a browser suitable since I can change the browser screen font. I still haven't made use of the device as a development platform yet since I can't stand anything but a bash shell.

So, here's a brief summary of what I think about Surface 3:

  • Great for drawing/sketching/art and taking notes. The stylus is extremely responsive and OneNote integration is just awesome. It has a very low latency in terms of when the stylus is placed at point (x,y) and when graphics are drawn for that location.
  • OneNote -- probably my favorite app of all things on the tablet. I probably spend more time with this app than any other app. It is great for taking notes, typing, drawing diagrams, drawing cartoons, etc. Palm rejection is awesome on this.
  • Runs any Windows desktop application. I can install and run iPython on the tablet and do some scripting/analysis.
  • Keyboard automatically disables when flipped back. Unlike the Nexus 9 keyboards, you won't accidentally press keys when you fold back the keyboard cover.
  • Battery life is awesome. I've gotten through the day with the device. Though, can't say the same if I play videos/games.
  • Screen size sucks. It's very hard to read text for Windows applications that don't conform to display font settings (e.g. Line).
  • Processing power is underwhelming. It's not great for doing heavy computation and sometimes a bit sluggish.
  • Limited Apps. Even for drawing, there's limited number of apps available for drawing. Sketchbook is terrible through the Windows App store. Though, Sketchbook Pro from the native desktop application will run. It just has no palm rejection.
  • Lack of palm rejection for desktop windows applications.

So, in terms of use cases, I found it to be my favorite device for reading research papers (PDF annotation is awesome), taking notes, doing quick scribbles, and drawing cartoons.  It's good for browsing the web and watching movies too, though Microsoft's poor history of developing a secure platform has made me somewhat wary of making this a network device -- despite an improved kernel security model since Windows 7. I'll wait for Windows 10 before I make additional judgements about the security of the device.

I recently gave up my Intuous Pro tablet in favor of this device. It's an awesome device for drawing (I use Sketchbook Pro desktop application). I haven't found any other good use cases for the device except for drawing, reading, note-taking, and the occasional iPython scripting.

Thursday, April 30, 2015

Fun with Lua

Spent a few days learning Lua.... and oh what fun it is to discover project Moonshine and punchdrunk which will compile lua code to javascript :)
So, a first stab at creating an asteroid field:

Tuesday, January 20, 2015

2012 IRS Income Stats

Just for fun, I thought I'd play around with some of the IRS income data made available via the IRS website. In case you want to experiment with the data yourself, note that starting from 2011 and onwards, all monetary values in the csv and xls files are reported in "thousands of dollars". The scale was mentioned in the excel files, but not the csv files.

I'll update this post as I get to dig around some more, but here are some quick stats:

For 2012, zipcodes with the lowest average AGI (reported in dollars). N1 = number of returns.

47406 150 9860.000000
64147 200 12320.000000
84112 300 16823.333333
38126 2280 17239.912281
45225 3020 17705.298013
16802 190 17710.526316
37916 1090 18038.532110
57794 110 18454.545455
16501 470 18510.638298
39203 2320 18653.017241

Zipcode lookup:

47406 - Bloomington, IN
64147 - Kansas City, MO
84112 - Salt Lake City, UT
38126 - Memphis, TN
45225 - Cincinnati, OH
16802 - University Park, PA
37916 - Knoxville, TN
57794 - Wounded Knee, SD
16501 - Erie, PA
39203 - Jackson, MS

Zipcodes with highest average AGI:
33109 250 2694776.000000
94027 3220 1464534.161491
19035 2040 1052018.627451
10005 5580 983553.942652
33480 5580 966673.476703
94301 8490 961332.037691
11765 320 937793.750000
10577 1520 897457.236842
89451 2280 885803.070175
90067 3250 856955.384615

Zipcode lookup:

33109 - Miami Beach, FL  (Fisher Island)
94027 - Atherton, CA
19035 - Gladwyne, PA
10005 - New York, NY (near Wall St.)
33480 - Palm Beach, FL
94301 - Palo Alto, CA
11765 - Mill Neck, NY
10577 - Purchase, NY
89451 - Incline Village, NV
90067 - Los Angeles, CA