Saturday, July 9, 2016

Switching Between Microsoft Office 32-bit and 64-bit

Microsoft doesn't allow both 32-bit and 64-bit versions of Office to be installed simultaneously on Windows. There might be a time when you want to switch from one to the other. For example, with the widely reported HTML rendering bug that occurs with 64-bit Outlook 2016 but not 32-bit. However, you might run into another widespread issue where the installer says something like
We're sorry, Office (32-bit) couldn't be installed because you have these 64-bit Office Programs installed on your computer.
But you just removed the other version of Office. What gives? Microsoft's manual removal instructions don't work either. Try this:
  1. WindowsKey+R to bring up the run dialog
  2. Go to C:\Windows\Installer
  3. View -> Sort by -> Choose columns
  4. Click the box next to "Subject"
  5. Sort by the Subject column
  6. Launch the MSI wherever it has the word "Office" in the Subject column to uninstall
The MSI may error out but disappear afterwards. Retry your new installation and it should work this time.

Saturday, May 10, 2014

Free Google Voice Calls After 5/15

On 5/15, Google will discontinue XMPP support in Google Talk, which will cause VoIP applications like Talkatone and GrooVeIP to no longer work with Google Voice...directly. Currently these apps allow you to make calls using Google Voice over Wi-Fi and mobile data instead of burning cellular minutes. Many alternative services are now available to replace this functionality, but they all require you to spend a little money to use them. These new services make things very easy to setup, so this may be a good option for many. However, you can still make data calls with Google Voice for free if you are willing to jump through some hoops, as follows.

iPhone users: apparently Google Hangouts will let you do this without much hassle. I don't have one to confirm, nor do I understand why Google is adding features to its competitor's software first.

Android users:
  1. Setup a Callcentric account with a free DID (New York area code phone number). When setting up the phone number, say No to "Are you using our services from within the US or Canada?". Otherwise you have to pay the E-911 fee, but you won't be using E-911.
  2. Register an account with pbxes.org
    1. Go to Extensions -> Add Extension -> SIP.
    2. Extension Number: enter 1 or another number.
    3. Put whatever you like for Display Name and Password.
    4. Submit.
    5. Go to Trunks -> Add SIP Trunk.
    6. Put whatever you like for Trunk Name.
    7. Username: put your callcentric SIP number (1777xxxxxxx).
    8. Password: put your callcentric password.
    9. SIP server or proxy: "callcentric.com"
    10. Submit.
    11. Go to Inbound Routing, Add Incoming Route
    12. Click the two bubbles that start with "Extension:".
    13. Submit.
    14. Click the red bar to apply all changes.
  3. Install SipDroid
    1. Settings -> SIP Account
    2. Username: "username-1" (username that you use with pbxes.org, 1 is the extension number you chose)
    3. Password: the password that you chose for the extension
    4. Server or Proxy: pbxes.org
    5. Port: Consider coming back and changing to 5061 if you can't connect
    6. Protocol: I use UDP, but you can try TCP. TCP should save battery but I had issues where incoming calls wouldn't ring if the phone had been idle on Wi-Fi for awhile.
    7. Check whichever network types you want to connect on; I chose WLAN, 3G, and EDGE.
    8. Go back to Main Menu, then Audio/Video: Change Microphone Gain to "Low (no echo)" to reduce echo for the other party.
    9. Main Menu, then Audio Codecs: set speex to Always try, set everything else to Never. Speex is a good balance of quality and tolerance for suboptimal network connections, as well as being low bandwidth, but it has higher latency as a result.
    10. Main Menu, then PBXes features: check "Improve Audio". This in theory double transmits packets when it detects packet loss with the speex codec.
  4. Your Callcentric New York number should now ring your phone. Go on and set up the New York number with Google Voice.
  5. Install the Amazon App Store
  6. From the Amazon App Store, install Google Voice Callback (Xinlu)
  7. Launch the app on the phone. Setup the account however you like; choose the Callcentric New York number as the callback number. For "When to use callback?", I like "Always (when possible)".
  8. Make calls with the native dialer. While on Wi-Fi or mobile data, SipDroid will ring. Answer the call and it will start connecting you to the other end. Calls made when not on a data network will work like a normal cell call.

Note: we use pbxes.org instead of connecting directly to Callcentric since pbxes.org supports Speex and iLBC (if using cSipSimple) codecs while Callcentric only supports PCMA and PCMU. It also supports TCP SIP, though I'm not currently using that feature.

References:
  • http://forum.voxilla.com/threads/how-to-setup-pbxes-step-by-step.26454/
  • http://forum.xda-developers.com/nexus-4/general/guide-free-voip-calls-ilbc-codec-t2057887
  • https://code.google.com/p/sipdroid/issues/detail?id=108

Sunday, May 19, 2013

Late Night Reflections of a Christian

A couple weeks ago, I was engaged in my regular time of studying the Bible, when I ended up with a sort of synthesis that I wrote out and have decided to share. It follows below:

An evil man is snared by his own sin, but a righteous one can sing and be glad. (Proverbs 29:6)
There is not a righteous man on earth who does what is right and never sins. (Ecclesiastes 7:20)

Then, we are all ensnared by our own sins.

But you know that [Christ] appeared so that he might take away our sins. And in him is no sin. No one who lives in him keeps on sinning. No one who continues to sin has either seen him or known him. (1 John 3:5-6)
Therefore, since we are surrounded by such a great cloud of witnesses, let us throw off everything that hinders and the sin that so easily entangles, and let us run with perseverance the race marked out for us. (Hebrews 12:1)
You have been set free from sin and have become slaves to righteousness. (Romans 6:18)

The analogy that God placed in my head was one of a bird, caught in a trap. A man is walking nearby. The bird sings out in desperation and catches his attention. He comes over and sets the bird free. Now the bird is free and quite glad of it. However, the bird can fly away from the trap, or fall back towards it. What does it choose?

Surely I was sinful at birth, sinful from the time my mother conceived me. (Psalm 51:5)
For the sinful nature desires what is contrary to the Spirit, and the Spirit what is contrary to the sinful nature. (Galations 5:17a)

Being born with sinful desires, we don't naturally know where else to turn. Unlike the bird, we don't naturally know what freedom is. Not only that, but we often find the traps of sin to be attractive and desirable. Our freedom in Christ is useless if we don't have the knowledge of God*; if we are to flee from sin, we must turn to something else, and never having flown, we are given directions on how and where to fly. When we fall, we can get back up. But if we stop trying, we are once again caught.

Let us fix our eyes on Jesus, the author and perfecter of our faith, who for the joy set before him endured the cross, scorning its shame, and sat down at the right hand of the throne of God. (Hebrews 12:2)


Not everyone who says to me, 'Lord, Lord,' will enter the kingdom of heaven, but only he who does the will of my Father who is in heaven. (Matthew 7:21)
I am the way and the truth and the life. No one comes to the Father except through me. (John 14:6)

The will of the Father is revealed to us in the Bible; it is not conceived of our imagination. So let all who claim to know Christ persevere. We count our blessings, we give thanks in everything, but we must know that it will take perseverance. We must run, run to win the race.

A friend and brother in Christ shared another analogy with me. Even though the parameters which are part of the will of the Father may seem controlling and restrictive to most of the world, they are the only ones that allows us to truly live in freedom. It's like recommending a fish to remain in the water all the time. He's free to jump out of the fish bowl and claim that in that way he will truly be "free." However, we know that as soon as he jumps out he is less than free, flailing in the open air outside the parameters created for him to thrive. The Gospel and concomitant commandments are the water that we live in. And they are good!

Therefore encourage one another and build each other up, just as in fact you are doing. (1 Thessalonians 5:11)
Blessed is the man who perseveres under trial, because when he has stood the test, he will receive the crown of life that God has promised to those who love him. (James 1:12)

And finally, as overwhelming as this can be to understand let alone live by,
Trust in the Lord with all your heart and lean not on your own understanding; in all your ways acknowledge him, and he will make your paths straight. (Proverbs 3:5-6)
Do not be anxious about anything, but in everything, by prayer and petition, with thanksgiving, present your requests to God. And the peace of God, which transcends all understanding, will guard your hearts and your minds in Christ Jesus. (Philippians 4:6-7)

NOTE: Quotes taken out of context are frequently and easily abused. I do not believe I have changed the meanings of the verses that I have used here; however, I have included citations for all of them and I encourage you to context check them. If you think that I have changed the meaning of the verse, please let me know in the comments below.

*For one analysis of what "knowledge of God" means, see here.

Wednesday, June 27, 2012

Articles on Medicine and Other Stuff Too (June 2012)

An interesting perspective on evaluating hospitals based on patient satisfaction. On the other hand, hospitals are sometimes led to make changes that improve patient comfort and mood.

Is your internet communication encrypted? Okay, but when that encryption is one day broken, someone might just have a copy of it.

Fun and revealing video about the parts of our consumerist culture that we usually don't see or just ignore.

Baltimore's historical advantage as an important port city is still relevant today, but old infrastructure is now a bottleneck.

Commentary on appropriate use of technology in a healthcare setting. It's the human experience that patients look for.

Plastics and food. Not the first study and probably not the last. Whether or not it is true, denying it won't make it false, so start paying attention.

Many public health efforts today focus on the problem of food deserts, but maybe they aren't all that.

USA Today investigative report on environmental dangers from historical factories.

Historical overview of innovations to the field of surgery.

How much do you trust a capitalistic industry? Or the widespread use of flame retardants.

The difficulties of taking care of a family member with dementia.

A short historical profile on the history of Sears.

The search for a stress vaccine? Perhaps, but it might just do as well to devote resources to fixing the causes rather than just treating the symptoms.

"People hate generosity as much as they hate mean-spiritedness." Or...people are incredibly jealous and don't want to look bad. Not sure I needed a research study to tell me that one, though.

Thursday, May 3, 2012

Reflection on Today

It's been four years. It's a beautiful day, and I have just finished the last class* that I will take as an undergraduate student. Kind of a scary thought, in many ways. In the fall, I will start medical school, the next phase of my life. There are still a few months before I do that, however.

In other news today, I had my first opportunity to see the new world-class facilities to go with the world-class doctors that make up the Johns Hopkins Hospital:

The main public areas are beautiful and might be what someone already expects when they think of a top-notch hospital, but rest assured that this is brand new. Hopefully all of the improvements for patients designed into the facility are already being realized.

A nice anecdote I heard today while observing a surgery involved the old operating rooms at Hopkins, now no longer in use (I don't know what the future plans for them are):
  • The old ORs had been in operation for 110 years (granted they've been upgraded and renovated over the years).
  • The first and last scheduled (i.e. non-emergency) operation to be performed in the OR suite was a shunt revision.
All in all, a good day.

*That last class happened to be 520.222 Computer Architecture with Prof. Jenkins; I have to say that this has been one of my favorite classes and professors during my time at Hopkins and I would highly recommend anyone with an inclination toward CS/EE/ComputerE consider taking this class as an elective. The material is very interesting, and yet sufficiently challenging without being overwhelming (though some may disagree with my evaluation). Update 5/8: See also this Washington post article on the new Hopkins building.

Friday, March 2, 2012

Articles on Medicine...and One on Amtrak (Mar 2012)

It has been awhile since I link-blogged, but I think I have a few interesting ones lined up, so here goes:

A few months ago, Wired published a nice long article looking at science, correlation, and causality. It uses the failure of the drug torcetrapib as a lead-in example, and also discusses some interesting stuff on diagnosing back pain. Read here.

The NYU School of Medicine has begun to supplement its anatomy classes with computer simulations. The future is here. It won't replace traditional dissection labs completely, but has a lot of potential to enhance medical education. (New York Times)

Biomedical engineering? How about an artificial heart that doesn't beat? The amazing story here, courtesy of Popular Science.

Now that you're all read out, consider taking some real time off from the world. This Washington Post columnist writes about her experience on a cross-country Amtrak trip, where the destination was the journey.

Sunday, January 22, 2012

Verizon Wi-Fi for All Devices: Mac, Linux, Blackberry, iPhone, Android, and more

See bottom of post for minor UPDATE 2/5/2012.

Two and a half years ago, Verizon announced a partnership with Boingo to offer free wi-fi to its FiOS and DSL (3 Mbps or higher only) customers. Although it was a welcome addition, especially because of Boingo's coverage in airports, it was criticized for only supporting Windows devices, while everyone else was left out in the cold. The initial version of the software also had issues installing with the Firefox web browser. I had tried to install the software about a year or two ago and had not been successful, but today I am happy to report that the service actually works much better than expected.

The first piece of good news is for Windows users: Verizon has updated its software so that it is no longer browser dependent to install. You can do so by going to http://www.verizon.net/wifi/.

The second piece of good news is arguably the bigger one of the two. When you go to get set up Verizon Wi-Fi, you will be asked to create a username and password to use with the service. You are then asked to download the software. However, you don't actually need the software, although it makes the Wi-Fi much easier to use on Windows. For all other platforms, you can simply use Boingo's web login page. Yes, that's right. Remember that username and password you created? After you connect to the Boingo wireless network and get to the Boingo splash page in your browser, click on the dropdown that says "Roaming Login". Choose "Verizon Business" and enter the username and password that you set up earlier. You need to include "@verizon.net" as part of the username. This means that any device with a web browser can now use "Verizon Wi-Fi" where there is a Boingo hotspot! The fact that Verizon doesn't report this method seems to be a large oversight on their part. Or perhaps they want to keep the number of Wi-Fi users down because the more users that use the service, the more they have to pay Boingo.

It is possible you will not be allowed to register for the service at http://www.verizon.net/wifi/. without being on a Windows machine, but such a restriction, if it exists, is minor compared to not being able to receive the service at all, and is easily worked around by tech savvy users. It is also possible that this capability to login with just a username and password was only added recently. Nevertheless, it is extremely useful and I hope that other people will benefit from this knowledge, which I have not seen reported elsewhere online.
Note: Boingo's website may show more hotspots than Verizon's list, but that is because Boingo users are allowed access to some partner hotspots, while Verizon users cannot access those hotspots (you might be my friend, but your friend is not necessarily my friend too). However, this also theoretically means Verizon users can access non-Boingo international hotspots that also list "Verizon Business".

Minor Update 2/5/2012: It appears that not all Verizon Wi-Fi listed hotspots can necessarily be used as described in my post. I've discovered that the Marriott Long Island "ibahn" SSID doesn't seem to have Verizon listed as a roaming provider, even though the Windows app can log on. Go figure.