Tuesday, September 8, 2015

Freelancer --- Are you serious

I recently posted a job description for a wordpress/php development on freelancer.com .  Within a day I had about 50 bids.  Exciting.  Alas, reading the responses made me somewhat suspicious.  For one, I asked everyone who bid to try out an existing website I owned---and I can see how many actually tried it out.

So, I decided to post another job:

Project Description
most proposals I have received on my real proposal request seems to have been quasi-automated spam. so, to check who is just responding without information, here is another request:

    replicate the entire google infrastructure in wordpress and php.

should be easy in php and wordpress, right? if you respond to this one with a bid, obviously you must be reading my RFPs in great detail.

Project ID: 8424001

To my surprise, I received 80(!) bidders, most claiming to have carefully read my requirements and being confident to satisfy them.  Some added a few pretense questions

BVMSolution hikaruvn umar119 albertmobi29 a2zinfom posspooja Reflexlogic avidswitch dungnguyen2607 Softmania StdioRelations infoway madhavdutta gkws pavanvarma06 mike199 goldensolution workwithhts SRajpurohit tsradiant evidcomm narendra1 kchg webmagical buraqtech fortranPRO winmaclin webattractmaster CrystalView faisdesign digitcoders igreendevelopers bdsiddhi webqueue ajayceo1985 ibrahimstk themexlx himanshusofttech zamsol altarsft wpmonsters phamtech211 prashushinde9 monitrix Batista111 ayanbishnu OriginDharmesh JoomlaVogue Champian PaulSimonk AnilMalhotra sstechwebindia Tuffgeekers pytho Webwingtechology seekdeveloper A2Design xtreemsolution workspaceit aistechnolabs yuvasoftech fixfin web360pointer DevelopersZ0ne nakh2010 techmaze bhatiasiddharth visionsoft7 webdeveloperpnkj priya27egrowth updatejapi123 devdaljit miracitech37 A4TEAM itabcoder krishnainfrasis Mike251 AshapuraSofttech Abbas7867 devrepublic

I feel like a male in the ashley madison data base (see Gizmodo).

Saturday, November 30, 2013

Wanted: A Modern Programming Language

Wanted: A Modern Programming Language

From perl:

  • string processing
  • garbage collection
  • pod-like documentability
  • testing
  • namespaces
  • extensibility via a package system with archive

Not from perl:

  • Linear Algebra
  • Complex Data Structures
  • Simplicity --- a limited set of features to remember
  • Multi-Core Processing
  • Programming by Contract [=test in/out]

From R:

  • Linear Algebra
  • Graphing
  • Multi-Processing
  • Optional Compilation
  • First-Class Objects

Not From R:

  • Syntax Checking
  • Designed primarily for Programming, not Interactivity

From C:

  • Speed
  • Prototypes with data hiding (via typedefs)

From Javascript:

  • One-Page Web Apps (well, frameworks have it)
  • JSON Support
  • First-Class Function Objects

Wednesday, May 15, 2013

sony vaio vpcse13fx/b -- Avoid

Sony Vaio VPCSE13FX/B

I own a Sony Vaio VPCSE13fx/b.  on paper, it is awesome.  it has a nice 1080p IPS display. it is also very light for a 15" notebook. this is why I purchased it to begin with.  in reality, it is awful.  the sad fact here is that much of what makes it awful would have been easy and cheap ($50?) to get right.  but sony's execution is so bad that I won't buy another sony notebook again.   instead, I will probably switch back to apple macbooks in the future.

  • the keyboard touch is mediocre, but livable.  a bigger problem is that the backlit keyboard always turns itself off after a few seconds.  no way to keep it on.
  • the trackpad is terrible.  inconsistent.  the buttons are really mediocre, too---sometimes they are needed, sometimes double clicking works.  the buttons are mushy.  two-finger scrolling is not easily enabled.  even after I figured out how to get it to work, using the device driver from the trackpad manufacturer, it barely works.
  • the bottom of the computer gets hot.  I mean really unpleasant hot.  this is despite the fan coming on pretty quickly and pretty loudly.
  • the speakers are pretty awful and not directed towards the listener.
EDIT: Linux Mint Olivia under the speed setting has the trackpad working.
EDIT: The computer is more bearable if you leave the bottom right (fan) a lot of extra space.  not perfect.  tough to hold then.  but livable.

beyond these killer problems is another biggie:  the computer feels slow---it shouldn't be, given that it has an i5.  my samsung chromebook ARM for $250 feels as fast.  what's going on here?  I have no idea.  is it windows 7?  is it background processes?  is it an inefficient kernel?  I don't know.  I do know that linux and mac OSX feel MUCH faster.   unfortunately, I cannot switch to linux, because this notebook cannot really run linux.  (I thought virtually everything works under linux these days, sometimes requiring just a little bit of tinkering and some obscure hardware not working---ok, bluray doesn't work because of HDCP copy protection.)  for some reason, whenever I boot this machine into ubuntu, e.g., with a USB stick, it goes from slow to close-to-infinitely slow.  the windows manager consumes 95% of the CPU.  this may have something to do with its weird switchable graphics arrangement.

EDIT: Linux Mint Olivia under the "Speed"Setting works.

a minor issue is that it is not fully windows 8 compatible.  I spent a few days getting it to work, but the webcam never fully worked.  windows 8 is not a good idea to begin with...what was I thinking?

Monday, April 1, 2013

Chromebooks, Notebooks, and Tablets --- and What To Buy

Chromebook, Notebooks, and Tablets


I have owned a Samsung Chromebook for 2 months now.  I am a fan. What a great little machine for $250.  Highly recommended.  I will buy the next version of the Chromebook if it improves just a little on the current version:
  • the keyboard should be backlit
  • the speakers should move from the underside of the notebook to the top and perhaps improve a little bit.
  • the speed should increase just a little
  • the vertical display angle should be a little better
  • the USB ports need to provide sufficient charge for tablets
these are easy things to fix.

CPU Speed

Dell is in the news because computer sales have slowed down so badly that acquirers are now wondering about the future of the business.  Surprising?  It shouldn't be.  Computer speed innovation has decelerated.  According to Moore's Law, transistor count should double about every 2 years.  So, why is a $500 CPU today only 2 times faster than a $500 CPU from four years ago?   This CPU should be about 4 times as fast.  Or at least have 4 times as many cores.  Instead, the factor is about 2.0:
  • Core i7-940 from November 2008 cost $562 at introduction: 5,471 Passmarks
  • A Core i7-3930K in May 2012 costs $562: 12,079 Passmarks
Incidentally, both CPUs are named "i7", though they have different suffixes.  Most consumers don't even know that the two CPUs have different power.  They read i7, and believe they are the same.  If Intel wanted to confuse the value proposition for consumers, they have succeeded.

Desktop:  For a desktop, I want to buy an 8-core Haswell CPU with 64GB of ECC memory in an SFF (Shuttle XPC) for $1,000.  Not available before the end of the year.  Kaveri could become a good alternative with its unified-memory CPU/GPU architecture.

Portable Checklist

Notebook/Tablet/Alternative:  For an alternative device, I want something that does not exist.
  • tablet and notebook as one device.  the CPU could be in the notebook base, while the tablet is the screen.  but not two OS's (like Asus Transformers).  if need be, the base (with backlit keys) can run a thin hdmi or displayport fiber+power cable from the base to the tablet screen.  wireless would be better.  it could use a few LEDs to signal the HDMI stream to the tablet screen and require line of sight.  face it---many of us computers in their beds or on their couches and can leave the base on the nightstand or coffee table.
  • cool to the touch --- Haswell, 4 core, 16gb.  no audible fan.
  • a 15.4" IPS 1080 tablet screen.  not retina, not 1366x768 lowq.
  • Chromebook instant boot
  • Linux secondary OS
  • media consumption:  Blu-ray player in the base, tablet speakers towards the front ---good quality.  vga webcam.  reasonable good sensor, wide view.  skype-video.
  • 5lbs package incl. power brick, 2lbs screen. 
  • $2,000

this should be easy to produce.  the parts all exist individually.  but right now, out of the 8 bullet points, no more than 3 exist in any one device.

so, I really want to buy a detachable-panel Google Pixel with a 14"-15" 1080p screen, backlit keyboard, good speakers, and Haswell i5 or i7 ULV processor.  Ideally, the main processor would stay in the main keyboard unit, so the tablet screen could remain very cool and slim.  (it would just receive an hdmi bitstream with audio and send back touch and webcam.)  700g for the screen unit including battery (optional usb-3 connector), 1000g for the main CPU unit with keyboard and perhaps bluray.  wouldn't that be cool?!   $2,000?  no problem.

Where are the 15" screen tablets and detachables??

Potential Portable Choices

SSD and Haswell---musts.  webcam?  speaker forward.

Choice Display Wght KBL Spkrs linux Notes
Dell XPS18 ++ o? ++ ? 1 SO-DIMM
Review 18.4 1080p IPS 5.1lbs ? Y ? ?
Asus AIO 18 ++ o ? ++ ?
Review 18.4 1080p IPS 5.4lbs ? Y ? ?
Lenovo Yoga 11 - ++ ? ? see also yoga 13, 3.5lbs, IPS1600, ok spkrs, no bkl, fanny
Review 11.6,1366 2lbs ? ? ?
Dell XPS12
Review ? ? ? ? ?
HP Envy X2
Review ? ? ? ? ?
Smsng Ativ 700T
Review ? ? ? ? ?
Acer Ic W700
Review ? ? ? ? ?
Asus Taichi
Review ? ? ? ? ?
Review ? ? ? ? ?
Pixel ? ? ? ? ?
Review ? ? ? ? ?
Macbook Pro ? ? ? ? ? ?
Review ? ? ? ? ? ?
Of course, I need to wait for Haswell, anyway, but I am assuming the rest stays roughly the same. I may buy a Google Pixel, but only after the Pixel ships with Haswell.  I like the idea of running ubuntu or mint alongside chrome---and being able to switch between the two.  this should make for a killer notebook.  Note: Dell now sells a 13" XPS Ultrabook with Ubuntu.

Some more alternatives to purchase:  I could get be a 13-15" Haswell tablet, preferably one on which I can install linux and which I can use with or without a keyboard.

The Dell XPS18 is a bit too large.  5lbs

so is the Asus AIO 18".  5.3lbs

The Asus Transformer Book is a bit too small at 13" (but livable).  Problem: neither runs linux.  I want to run some version of linux.

the Lenovo wireless monitor Lt1423 could have been an option, too, when/if it ships---but it does not seem to have audio and webcam.

lenovo yoga 13, 3.3lbs.  because it can be rotated into portrait mode, 13.3 inches is ok.  modestly unpleasant heat.  not 1080p.

dell xps 12. only 12.5" at 3.3lbs.  keyboard backlit.  reasonable sound.

not hp envy x2---atom.  yikes.  alas, they just brought out a core version...worthwhile looking at.  4 lbs, though---then why not get the 18" XPS18?  cheap at $800.

not samsung ativ 700t or iconia w700 --- only 11.6" screen

samsung series V

asus taichi --- no.  what were they thinking with 2 displays?

Monday, October 22, 2012

Saturday, September 8, 2012

New Ubuntu System Installation - Checklist

May 2013

New Cinnemon Mint / Ubuntu System Installation - Checklist

I am switching back from OSX to ubuntu, because Apple OSX is moving towards retail customers, rather than pro customers. My full reasoning is explained here.  Long live linux ubuntu!

Here are my notes of how to install a new ubuntu system:


  • emacs and ess (note: ess may block emacs startup if R is not yet installed)
    sudo add-apt-repository ppa:cassou/emacs ; sudo apt-get update ; sudo apt-get install emacs24 emacs24-el
  • chromium and chrome
    deb http://dl.google.com/linux/deb/ stable non-free main ; wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - && sudo apt-get update && sudo apt-get install google-chrome-stable
  • terminator; rightclick for preferences; and, after you made any changes in preferences, in the now existing  ~/.config/terminator/config
          size = 900, 600
  • okular (remove sidebars, resize)
  • mplayer
  • Gstreamer-*
    the alternative is to install medibuntu:
    wget --output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list && sudo apt-get --quiet update && sudo apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring && sudo apt-get --quiet updateapt-get -y update && sudo apt-get -y upgradeapt-get install app-install-data-medibuntu apport-hooks-medibuntuapt-get install w64codecs libdvdcss2apt-get install libdvdnav4apt-get install libdvdread4/usr/share/doc/libdvdread4/./install-css.sh
  • openssh-server
  • sshfs; fuse-zip
  • gufw and set rules against unauthorized access (night, invalid logon attempts)
  • backintime (exclude *.iso, .gvfs)
  • unison
  • mpg321 (mpg123 to play command line beeps)
  • unity-chromium-extension: these may not work.  the gmail panel always quits
  • indicator-multiload System Load Indicator (by Michael Hofmann for load status on panel).  then start it with the Unity menu (search System Load).  alas, this one does not work  under cinnemon mint, because it complains about missing gtop libraries
  • apcupsd (for UPS) and configure it according to the USB community documentation.
  • CanoScan LiDE 100:  libsane sane-utils xsane .  maybe it requires libsane-extras, too.  Thereafter, xsane works.  strangely, simplescan does not, even following this.
  • davfs2
  • flashplugin-installer; now in 12.10?
  • MyUnity (maybe kill --- too dangerous)
  • not used much: remastersys --- allows creating a dvd
  • not used much: RecordMyDesktop
  • not using much: gnome-gmail
Do not install either texlive or R through ubuntu. Their versions are seriously obsolete. Instead, follow the instructions below.
  • remove thunderbird

Do not run MyUnity or compizconfig-settings-manager (ccms).  They hose the panel-service.  if you do this, you probably need to remove a lot of the dot (.compiz, .gnome, ??) files to get them back.DONT USE: ubuntu-tweak (though MyUnity does the same):
  add-apt-repository ppa:tualatrix/ppa ; apt-get update ; apt-get install ubuntu-tweak

For Adobe Acrobat, search for Software Sources, then enable "Other Software -> Canonical Partners". This also allows removing old repositories.  Then apt-get install acroread .  Also, acroread does not work on the command line, but the GUI starter for Acrobat works.

Beyond apt

  • vmware get vmware-player . then "bash VM*".  if you want,
       ln -s /usr/bin/vmplayer /usr/bin/vmware-player.Note: everytime the host kernel or any vmware item is updated, you need to drop to the shell and run vmware-player while su by hand.  somehow, the GUI authorizer is broken.
  • skype from skype's website.  note that ubuntu has trouble with some logitech webcams.
  • TeXLive, install from source, following http://www.tug.org/texlive/quickinstall.html.  the main program is
    make sure to set path to /usr/local/texlive/2012//bin/x86_64-linux/. Next, we need to install lucida fonts.  so
        echo "Map lucida.map" >> `kpsewhich updmap.cfg` ; updmap ; texhash
  • R installation instructions are at
    Basically, include
      deb http://cran.stat.ucla.edu/bin/linux/ubuntu raring/
    in /etc/apt/sources.list, add the signage
      sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
    and execute
      apt-get update; apt-get install r-base
    and immediately install libatlas!!  R is 3 times faster with it than with the standard BLAS library that ships with cinnemon mint 15 olivia.  OSX has this already set.
  • Good ssh key instructions can be found at http://www.g-loaded.eu/2005/11/10/ssh-with-keys/
    Make sure to choose good pass phrases. Basically, you need to do the following on your new client:
       client> ssh-keygen -t dsa -f ~/.ssh/id_dsa
       client> cat ~/.ssh/id_dsa.pub  | ssh name@server "cat >> ~/.ssh/authorized_keys"
       client> chmod -R 0600 ~/.ssh ; chmod u+x ~/.ssh
       client> ssh-add
    and add a MaxAuthTries 5 and ServerAliveInterval 60 to /etc/ssh/sshd_config.
  • in /etc/default/grub, remove the "QUIET" from GRUB_CMDLINE_LINUX_DEFAULT, and change the GRUB_TIMEOUT to 5, then run update-grub
  • change /etc/grub.d/30_os-prober to timeout 3 instead of 0 (to get a menu at boot)
  • for SSD, enhance disk checking but turn off journaling: tune2fs -c 1 /dev/sda1 ; unmounted, you should tune2fs -O ^has_journal /dev/sda1. Then add discard to the options in /etc/fstab
  • kdebugdialog (not as su, but as logged in) and then disable all debug output
  • link open to gnome-open to ~/bin/open
  • make anacron less quiet: change -q in /etc/cron.d/ ; possibly change daily exec time from 7am to 3am
  • transfer .bash* , .emacs, src/* bin/*, /usr/local/texlive/ ; also .ssh
  • google office (GWoffice):
  •   add-apt-repository ppa:tombeckmann/ppa ; apt-get update ; apt-get install gwoffice
  • Handbrake video converter:
    add-apt-repository ppa:stebbins/handbrake-snapshots
    apt-get update
    apt-get install handbrake-gtk handbrake-cli
  • not needed in cinnamon mint apt-get remove unity-lens-shopping
  • does not work: edit /etc/X11/Xsession : line 83: exec >>"$ERRFILE" 2>&1  should be exec >> /dev/null 2>&1
  • for extra security, hide sudo somewhere else
  • for the backup hard drive, use hdparm -S 12 /dev/sdb1 (60 seconds)
  • Grive --- doesn't seem to work too well:
    sudo add-apt-repository ppa:nilarimogard/webupd8
    sudo apt-get update
    sudo apt-get install grive

settings---change timeouts.  hot corner on the right, not left.

  • calibre book reader
  • reinstate cron jobs

Much More Complete

debianhelp has posted http://debianhelp.wordpress.com/2012/03/09/to-do-list-after-installing-ubuntu-12-04-lts-aka-precise-pangolin/ .  In fact, it is so complete that finding one's way around it is painful.


The following apps live on my panel: chrome, Terminal, Homefolder, Ubuntu Software Center, Settings, Rythmbox, System Updater, Workspace Switcher, VMWare, Acrobat.

emacs, tex, and R are all usually invoked from my terminal.

Missing From Linux

A lightweight clean html editor and mailer.  even this blogger up produces nasty html markup that is difficult to correct with emacs.  kompozer has the wrong colors.
figure out backintime's scheduling and retrieval
how to move the menu from the top panel line to *both* the top pane line and to each window menu
improve terminal --- different colors for different machines, c-n, c-v, c-x.  add "open" to right click
Evernote -- maybe Everpad?
how to stop windows from snapping to the top panel??
alt-ctrl-hotkey on apple keyboard -- how do I abort X server and switch to virtual terminal?
create backup bootable own drive

try teamviewer for remote control.

write a script that checks all of the above and does whatever is still missing.

printer installation -- wonderfully easy.  alas, Ricoh copier printers do not work.  on ubuntu, the first print job worked fine to my lexmark usb printer; the next one produced garbage.

scanner installation -- xsane works for canon, but not the easier ones

Problem for Non-Linux Users

for some reason, 12.04.1 booted into a text login, instead of the gui login.  this persisted over 2 reboots and then disappeared.  go figure.  this would be a serious problem for a non-unix expert.  I don't know why.

there was also a problem where it would sometimes not automatically continue on restart, which was a problem for an unattended server.

Thursday, August 9, 2012

Where Apple OSX is Really Headed

Many pundits have opined where OSX is headed.  They are all wrong.

Here is my prediction: By 2018, Apple will stop supporting OSX for non-Apple app programmers, and require that all apps be purchased through their Appstore.  OSX will become like iOS in this respect, too, as it has in other respects.

Frankly, this will make sense for 99% of Apple's retail clientele.  It will prevent lots of malware and reduce support costs.  And it will make Apple money, because Appstore purchases earn Apple money.

Why wouldn't Apple focus on building certified Apple app programmers and abandon non-Apple-app programmers?  Maybe 1 in 100 buyers buy Apple hardware to program their computers for themselves, so the sale losses to programmers who would switch away to other hardware will be small. (Unfortunately, I am in the 1% minority.)  WIth enough of a retail base to reach, OSX and iOS app developers will stay and be certified.  To write a native OSX computer program will require a revocable developer id unlock code and take place in a trusted environment.  (The certified Apple developers will like some aspects of such an ecosystem, because it will cut down on free competition.  They won't like sharing revenues at the Appstore.)  But ultimately, it does not matter what software developers like.  When the Apple Mac base is large enough and the Appstore cut is bearable, they will stay.

Ultimately only two aspects will matter to Apple: making the retail clientele happy and increasing Apple's revenues.  And going the "certified developer only" route is a win-win for both.

My guess is that some non-certified programming will be allowed in interpreted sandboxed environments, at least for a while.  This will cover the needs of students learning how to program.  In this respect, it will be different from iOS, where all programming environments are outlawed. 

One alternative would be a locked OSX default mode that can be unlocked by end users.  of course, once software can unlock the computer mode, so can malware---and apple revenues will be lower, because developers could escape the Appstore.  This end-user switchable OSX will probably be an interim step.

I believe that this future direction of Apple is almost inevitable once Apple becomes a dominant power in high-end personal computer sales and developers can't escape.  The only thing that can stop it is a slowing of their momentum in PC sales, which could force them to take PC competition more seriously.  But if the Apple momentum continues, then if Apple will not go the lock-down route, they will be making a huge business mistake.

We nerds are all in trouble.

Hardware is in trouble.  And, this time, it's not even an attack by the copyright kingdoms.  Its just that there is nowhere to go.  Where can we go?  Sun is gone.  Windows is going towards trusted computing, so we will also soon no longer be able to use Windows hardware (esp. hardware from the big vendors, like Dell and HP, although all they do these days is try to ape Apple, and not very well).  There is no great hardware vendor for high-quality open software desktops.  (This is why we nerds also buy Mac hardware.)

Software is in trouble, too.  Ironically, it is exactly OSX that has pretty much killed linux on the desktop.  We have to preserve our expertise---linux on the desktop---tying the projects over until we (the nerds) will be forced to depart OSX.  We should never underestimate the future, but we may not have anywhere obvious to go.  

Richard Stallman is right to fear Apple more than Microsoft.  I do, too.

Update: http://arstechnica.com/apple/2012/09/two-months-later-developers-mostly-positive-about-os-xs-gatekeeper/  --- it's coming quickly.

PS: Here are some minor squawks about OSX: the file system could more robust.  There is no ability to lock a cpu core to a virtual machine.  Preview.app has been going backward IMHO after Snow Leopard; it is not storing its page view settings properly.  There is no package manager...well, this is what the appstore will become.  OSX feels slow relative to linux.