Author Archives: David

How to Install SiriProxy on Ubuntu 12.10

Just got done installing SiriProxy on Linux Ubuntu 12.10.  I had to make a few minor tweaks along the way, so perhaps this updated guide will be helpful to someone.

  1. Do this first: Open a terminal server (command line from here on out). Update apt-get:
    user@ubtunu:~$ sudo apt-get update
    user@ubuntu:~$ sudo apt-get install libxslt1.1 libxslt-dev build-essential xvfb git-core curl libyaml-dev libssl-dev
  2. Turn off dnsmasq: The latest version of SiriProxy comes with its own DNS server, so there is no need to install dnsmasq like some older instructional tutorials might recommend. In fact, it will really muck things up if it is installed. Ubuntu has dnsmasq on in a default installation (used by the “simple” network config tool: NetworkManager), so we will need to stop it and shut it off for good. First see if its running, and stop (kill) it if it is:
    user@ubtunu:~$ pkill dnsmasq

    Now we need to stop it from starting again, by turning it off in this file: /etc/NetworkManager/NetworkManager.conf – comment out the dns line like so:

    #dns=dnsmasq

    Now just restart networking:

    user@ubuntu:~$ sudo restart network-manager
  3. Install RVM:
    user@ubuntu:~$ curl -L https://get.rvm.io | bash -s stable --ruby

    Update your environment variables:

    user@ubuntu:~$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc
    user@ubuntu:~$ echo 'export PATH=$HOME/.rvm/bin:$PATH' >> ~/.bashrc
    user@ubuntu:~$ . ~/.bashrc
  4. Install Ruby:
    user@ubuntu:~$ rvm autolibs enable
    user@ubuntu:~$ rvm install 2.0.0
    user@ubuntu:~$ rvm use 2.0.0 --default
  5. Install SiriProxy: This is where I had to take a different path from the installation instructions provided in the github read-me. The version that was installed using gem install had a bug preventing the DNS server from working, so I needed to get the latest source and install from that. Be sure to replace the version number with the version downloaded in some of the steps below:
    user@ubuntu:~$ mkdir SiriProxyLocal
    user@ubuntu:~$ cd SiriProxyLocal
    user@ubuntu:~/SiriProxyLocal$ git clone https://github.com/plamoni/SiriProxy.git
    ...bunch of stuff...
     
    user@ubtunu:~/SiriProxyLocal$ gem build siriproxy.gemspec
    ...bunch of stuff...
     
    user@ubtunu:~/SiriProxyLocal$ gem install siriproxy-0.5.3.gem
    ...bunch of stuff...

    You should see a message telling you that your gem has been installed. Nice!

  6. Configure and a few last things:
    user@ubuntu:~/SiriProxyLocal$ cd ~
    user@ubuntu:~$ mkdir .siriproxy
    user@ubuntu:~$ cp SiriProxyLocal/config.example.yml .siriproxy/config.yml
    user@ubtunu:~$ vi .siriproxy/config.yml

    Edit this config file, replacing the “listen” IP address with your own. The upstream dns servers are important too.. if they aren’t set like below, set them. These are Google’s DNS servers that everything will pass through to (except the Siri address):

    listen: 192.168.0.17
    port: 443
    log_level: 1
     
    #Create an array of DNS servers for use by internal DNS server and resolving guzzoni.apple.com
    upstream_dns: [8.8.8.8, 8.8.4.4]
     
    #Set your computer's IP for use by the internal DNS server
    # server_ip: 192.168.1.100
     
    #Set effective user when running as root. Supply a non-privileged user (such as 'nobody')
    # user: nobody
  7. Generate the certs
    We need to generate a certificate to install to your phone (don’t worry, this is easy):

    user@ubuntu:~$ siriproxy gencerts

    This puts a file here: ~/.siriproxy/ca.pem
    We need to install this to the phone. To do this, I installed WinSCP, copied onto my windows machine, and emailed it to my phone as an attachment. There is probably a way to do this from command line, but I didn’t want to mess with setting up mail on this Ubuntu machine. Once you have it in your email, open the file from your phone and “Accept” the security warning as a trusted cert.  Having this extra cert won’t harm anything on your phone.

  8. Start the server!
    Replace the XX.XX.XX.XX with the ip address of the machine (hint: use ifconfig to see the IP)

    user@ubuntu:~$ rvmsudo siriproxy server -d XX.XX.XX.XX

    Which should produce something like this:

    WARN: Unresolved specs during Gem::Specification.reset:
          rake (>= 0)
    WARN: Clearing out unresolved specs.
    Please report a bug if this causes problems.
    [Info - Configuration] Loading plugins -- If any fail to load, run `siriproxy bundle` (not `bundle install`) to resolve.
    [Notice - Server] ======================= WARNING: Running as root =============================
    [Info - Server] DNS Server started, tainting 'guzzoni.apple.com' with 192.168.0.17[Notice - Server] You should use -l or the config.yml to specify and non-root user to run under
    [Notice - Server] Running the server as root is dangerous.
    [Notice - Server] ==============================================================================
    [Info - Server] Starting SiriProxy on 192.168.0.17:443...
    [Info - Server] DNS server is not running yet, waiting 1 second...
     
    [Info - Server] SiriProxy up and running.
  9. Configure and test your phone:
    This one is easy, just set your “DNS” entry on your wifi connection to your Ubuntu machine’s IP.  Now you should be able to watch the screen, and test SiriProxy by saying “Test Siri Proxy” to Siri!

If you want to start messing around with plugins, the guide here is a good start.  If anyone has any hiccups on a fresh Ubuntu install, let me know and I’ll make corrections/updates. Have fun!

FI9821W – Big firmware update (finally)

FI9821WFoscam has finally released a sizable firmware update to address the many issues/bugs/inconsistencies with their popular 9821W HD Wireless security camera.

Highly anticipated features include:

  • Added support for MJPEG HTTP URL stream, and JPEG capture, similar to older MJPEG camera functionality
  • Fixed many items related to email, FTP, and general security concerns (say goodbye to stupid default pre-configured users!)
  • Fixed bugs and added setting to adjust the pan/tilt, especially when the camera resets/turns on.

View the full 1.1.1.10 change log or just go get the update!

How to get your money back from eFax

eFax is a huge scam. That isn’t news to anyone. Between the harassing calls from eFax and their shady billing practices, I’m not sure how they are still in business. After trialing their service, and then cancelling within my trial, I received a cancel confirmation email. But this didn’t stop eFax (J2 Global Inc) from charging my credit card 15 days later (charge appeared as “J2 *EFAX PLUS SERVICE 323-817-3205 CA”).

efax_charge

The chat and phone support provided by eFax is awful, and you won’t get anywhere by contacting them. If eFax scammed you, here’s how to get your money back very quickly:

  1. Document any contact with eFax support. I saved the chat logs, and all emails from them.
  2. Request a refund with eFax: If eFax wrongly charged your card, request a refund via their online chat. Save this chat log by copying and pasting. If you’d rather call, the number is 800-287-3499. Keep in mind you can not legally record the conversation without telling the other party on the phone.
  3. Submit a BBB complaint: You need to do this on the local BBB site. For J2/eFax, it is the LA office. First, look up the company using this information: J2 Global, Inc – 6922 Hollywood Blvd. Suite 500, Hollywood, CA 90028. Phone: 888-760-1112. Be very detailed. Outline the date that you signed up, the date that you cancelled, and when your card was charged. Demand that the company issue a full refund and close your account as a resolution.
  4. Do a charge-back: After submitting the complaint, I got a full refund to my card the very next day. If you do not get any results with the BBB after a week, or if you don’t even want to bother with any of it, just contact your credit card company and dispute the charge. If you have a half-way-decent credit card (Amex), they’ll just refund your money without too many questions.
  5. Small claims court: If you really want to screw with this company and have a well-documented case, consider a small claims case. You can file in your local court (you don’t need to fly to California). Small claims courts are designed to proceed without lawyers, so just bring your documented case. The company may ask for the case to be moved to a higher-level court, but it will at the very least create a headache for them.

Here is the response received from eFax within 24 hours of filing the BBB complaint:

Our customer contact data shows that the consumer had contacted eFax® support via chat on December 18, 2012, and requested to close his account. However, due to anomaly the cancellation was not completed and the consumer mistakenly incurred a charge. We have since corrected the error and completed the closure of the consumer’s account. Additionally, we processed a refund of $16.95 (consisting of all charges incurred) to the consumer’s affected credit card. The Collection Number for the reimbursement is XXXXXXX. The refund should be reflected on the consumer’s account shortly and is dependent on the consumer’s credit card provider. We apologize for any misunderstanding and any inconvenience it may have caused. We appreciate the consumer’s patience, as well as understanding in this matter.

Google’s first server was made of Lego

In a Stanford basement lab in 1996 the world’s first search engine was born. But did you know it was built in a Lego enclosure?

Google's First Lego Server

The text reads:

The Original Google Storage

In 1996 Larry Page and Sergey Brin, then PhD students in Stanford CSD, working on the Digital Library Project, needed a large amount of diskspace to test their Pagerank algorithm on actual world-wide-web data. At that time 4 GB disks were the largest available, so they assembled 10 of these drives into a low-cost cabinet.

In Nov 1999, Google Inc., by then operating one of the primary search engines on the web, provided replacement storage capacity to the Digital Library project so that we could move this original storage assembly into our history displays.

As of September 2000, Google, now located in Mountain View, operated 5000 PCs for searching and web crawling, using the Linux operating system.

 

More info and pictures can be found here.