According to a story my Mom told me, as I was born close to the school year cutoff deadline for entering Kindergarten, they evaluated me to see if I should get a head start or if I should be left in the bottle a year longer to achieve "better balance and complexity". When given some sort of test (wonder what it could have been?), they said that "I got all the answers right, but not in the usual way". Gee, talk about a synopsis of my life! Apparently they decided I must have be a bit on the tannic side, and left me on the rack. I tell myself they always do that for extraordinary vintages....
Well, our younger daughter, in fourth grade must be having that experience. Every week she brings home a "Friday folder", which includes all the work and other stuff she did that the school does not want anymore. And all too occasionally I am a good parent and look through it to see what I can find to praise her on.
Well, I found something pretty amusing.
Math is something D loves to hate - she claims she "never has enough time to get the problems done". And.. we I do homework with her, she does seem, er... pretty methodical. But... I never knew how methodical she could be. Here she is, on her own on a math unit test... let's take a look:
Exhibit A:
Now THAT'S what I call attention to a task. Picture 300 valentines (amazing she didn't do hearts!), put them in boxes of 10 and then... count out the groups of 32. And the CHECK... add up 32 a bunch of times.
Now I know why I had all that extra time after regents exams - I never drew enough pictures!
Well, truth be told, there is a downside to this... lets look a the next example:
No abstract silliness here! Not only do we have a view of the cafeteria, we have kids with cloths and PLATES on the table! And all patiently waiting! I'm not sure, but.. I wonder now if the girls are the ones with dresses and the boys are just the round circles, like Charlie Brown's head.
I didn't scan the second part of this, but.. the question was:
If one more table of 8 kids is added, how many kids are eating lunch?
Well, looking at the picture above, I was expecting D to answer "none - can't you see they don't have any food yet!!!" or "They don't have silverware, silly!". However, instead was written (quickly):
No Time
Monday, March 12, 2012
Wednesday, August 17, 2011
How to make sanding sealer
When I was a kid, I was really into designing and building model rockets.. as well as chemistry. If one wants a very smooth finish on balsa model rocket fins, you started with the cut balsa, and then, before applying any paint, you first sealed the fins with several coats of "sanding sealer", sanding between each coat. With this done, the paint (usually stuff called "hot fuel proof butyrate dope") flowed on smoothly, often in as little as one coat.
The problem is - I was willing to pay my hard earned schoolboy allowance to buy rocket parts and paint, but.. paying the same price for clear sanding sealer that you had to use lots of... well, I wanted a better way.
After experimenting with a variety of solvents and solutes (yes, some that no 7th grader should have had...), I remember finding and settling on a combination of "lacquer thinner" and styrofoam chips that worked as well as the stuff I found in the store.
Now, years later, I find myself making some masthead flys, and am still as cheap as I was as a kid. My lab is not as well outfitted as it was then (no ether, can you believe it??), but.. the lacquer thinner of modern days does not work. However, I did find a combination that does work, presented below for any other cheapskates on the web trying to find a formula:
- Go to your local good hardware store, and find some "MEK" (Methyl Ethyl Ketone).
- Take a small amount of MEK (perhaps 50 ml or so, it goes a long way), put in a beaker or small glass, HDPE or LDPE container.
- Add small chips of polystyrene "Styrofoam" (I use the dense stuff they use to insulate houses, but probably any clean stuff will work, e.g. packing peanuts.). Keep adding them while stirring until you can tell that the solution is reaching saturation. I stop before they stop dissolving all together to avoid buildup when the solvent evaporates with time.
- Transfer to a glass jar with metal cap (the best), or (not as good) a film can container. Note that "clear plastics" will dissolve - don't use them.
Obviously don't use on plastic model rocket fins, - it will dissolve ("craze") them, and have no benefit.
Now for the disclaimer:
Like many solvents and paints, MEK is not the most pleasant stuff to work with. My official legal opinion is that no one should play with any chemicals that you wouldn't eat for dinner, so... do this project at your own risk. MEK is very flammable, not good to breathe, and anything beyond incidental skin contact is not a good thing. This doesn't mean that kids should be banned from using it, but certainly it is in the class of using, well, butyrate dope, enamel paints, and thinners. The MSDS sheet for MEK can be found here. ... so don't sue me.
Thursday, December 30, 2010
VoIP - the details, and how to do it
(Posted now even with some TBDs in it - just in case I never get back to it)
We have now been using "do it ourself" Voip (i.e. not something we buy and pay money from directly from our phone or cable company), and are very happy indeed. Since while we have done this we have several friends who have gone "cell phone only", and mentioned that they don't have home service anymore because they couldn't justify the cost - well, this post is for you, guys.
First, a summary of costs - rather than explain all of the possibilities, I will simply explain what we did, which is a pretty good place to be given all the obsession I applied to it. I did my homework. With the system described below, your monthly phone cost will be about $3.50 per month plus $.02 per minute (outgoing or incoming) to US and Canada. And that includes all the fees which in this case is just a 911 surcharge of about a dollar per month. You use your standard phone wiring and standard house phones - indeed, if you transfer your old number (if you currently have standard phone service), you can do it such that your family didn't even know anything changed. (Also, although I don't think this is useful to most people, if you only need an outgoing number, (want to be able to place calls from your home phone, but still use your cell phone to receive them), then your only monthly cost will be the $.02 per min.
Also note that compared with some solutions, the method I describe here does not use your computer, and indeed your computer does not even have to be turned on for the telephone to operate. And voicemail is handled "in the cloud" by the VIOP provider, not by your computer.
First, the things you need before you start - you probably have all of them:
- You should already have some form of high speed internet which can reliably support at least 80Kbps traffic both upload and download speeds. A cable or DSL (phone line) modem will do it - satellite systems probably won't work to well, due to voice delays.
- Your cable or DSL modem should be on around the clock, regardless of if your computer is on. For most this will not be a problem.Most are wired this way anyways.
- You may or may not have a router / firewall. If you don't have one and don't need one, that is OK - the ATA you are going to buy will actually double as a hardware firewall. If you do, well, things will work just fine.
- You can test your computer connection by going to this test link. I tend to get scores in the 4 to 4.2 range, and can report very good call quality.
- Get an account with a VoIP provider. The provider I selected is http//:www.callcentric.com, because they offer a "pay as you go by the minute", which is much cheaper for our usage pattern, while still allowing transitions to "unlimited" plans at a competative price (if you use, say over about 1000 minutes per month). We are very happy with their customer service, etc.
- From callcentric, buy a incoming telephone number. This is a number that can be called by any analog (or VoIP) phone in the world (or VoIP accounts, for that matter). These cost $1.95 per month, and offer incoming calls at 1.8 cents / minute. You will probably want to transfer over your existing number, and in most areas this is possible. However, I would suggest doing it in two steps, which lets you evaluate things first before dropping your exisiting phone service - get a "new" number for your area, play with it, then later change it into your (transferred) home number. One caveat about VoIP, at least with callcentric: you probably won't be listed in your local phone book. I think you can get listed in the national 411 database, anywho, etc, but you will probably be dropped from the local phon company white pages, because... you're not paying them any money. Anyways.... some people pay extra money not to be listed anyways.
- Buy an Analog Telephone Adaptor (ATA). I'll save you all the work (I first made a wrong decision) - get a Grandstream HT-502, even if you don't need all of its features. This adaptor has one feature you DO want, which is what is called "flexible dialing plan setup" - something the cheaper Grandstreams don't have. This box will cost you about $47 with shipping - I bought mine from Telephony Depot.
- Check to ensure your callcentric account is in order, and that you have both incoming and outgoing service. If you want, you can do a "software only" test, and install a "softphone" on your PC (see http://www.callcentric.com/support/device/xten/softphone) and test the system using a USB headset before you even connect up the ATA.
- Connect the ATA into the system. I suggest putting this box between your cable/DSL modem and your router (if you have one) or computer. You do this by plugging the cable modem into the WAN port on the ATA. For now, if you have one, leave your router disconnected from the ATA, and plug your computer's ethernet port into the LAN side, at least until you have the device configured properly. For now, don't hook to your overall telephone system - just plug any plain telephone into it for testing.
- Setup your ATA for the very first time. This is a bit complicated, and will require some patience, but you will only have to do it once. The HT-502 manual provides some reference material, and Callcentric provides standard instructions for configuring a HT-486 (a smaller brother of the HT-502) here but instead I would suggest following my detailed setup instructions - since your computer may or may not work on the web during configuration, I suggest printing them out.
- Note on step 3: as part of my listed configuration, I changed the default IP address that gets assigned to the LAN port - from 192.168.2.1 to 193.169.2.1. Once this is done, you will have to go to the 193.169.2.1 address. This change seemed necessary to make it work with at least my router.
- After configuration, verify that you can indeed place calls, receive calls and that you are happy with everything. Now it is time to get your computer network up and running (if you have a router - if you have only one computer, skip this step). Do this by disconnecting the PC from the LAN port and plugging your routers WAN input into it. Then connect your computer back into the router port it was originally connected to.
Eventually you will want to switch over your old telephone number (optional). To do this, you contact Callcentric and tell them you want to transfer your old number to the inbound number you purchased from them. It is going to take several weeks for this to actually happen, though - communications between the companies, including your old company who is not going to rush to lose you as a customer. Eventually you will be informed that your number is indeed switched over Note that at this time, your prior phone service is now disconnected.
Now the final step is to change your house telephone system to your ATA, instead of the phone company. To do this, do as follows:
- Disconnect the phone wires at the entry to your house (if your phone company has not already done so). Once this is done....
- Using a telephone extension cable, plug the telephone jack on the ATA into your house telephone jack - the ATA is now functioning as the phone company, and driving your houses wiring, including all attached phone extensions.
- Test it using your standard house phones, and you are done. Enjoy saving $30-40 per month, while having a richer set of features to boot.
Detailed configuration of a Grandstream HT-502 for home VIOP use
This entry relates specifically to my VIOP post, and starts in the middle of things. To anyone else, don't expect it to make sense.
First step is to get your computer web browser talking to the Grandstream ATA. The following excerpt is from the HT-502 manual:
ACCESS THE WEB CONFIGURATION MENU
The HT502 HTML configuration page can be accessed via LAN or WAN ports.
• FROM THE LAN PORT:
1. Directly connect a computer to the LAN port
2. Open a command window on the computer
3. Type in “ipconfig /release”, the IP address etc becomes 0
4. Type in “ipconfig /renew”, the computer gets an IP address in 192.168.2.x segment by default
5. Open a web browser, type in the default IP address of the LAN port. http://192.168.2.1. You
will see the log in page of the device.
The login using the default password "admin". This will bring you to a set of 5 long, complex setup pages. Here are the settings I remember changing, although just in case I will also append my full configuration page for reference at the end of this post:
STATUS page: nothing to be configured here, but a good page to reference to see if things are working.
BASIC SETTINGS page:
- End User Password: change if desired (but don't forget it!)
- Device Mode: NAT router
- WAN side HTTP: suggest keeping disabled, keeps hackers out of your ATA
- LAN DHCP Base IP: 193.169.2.1 (or some other value) - needed this to work with my router, perhaps not required. Remember this address, as this is what you will need to access the device from your web browser after it is entered
- Port forwarding - used to punch holes in your firewall for remote access, etc. Many should leave this blank. An example setting (for windows remote desktop, for instance) would be to forward WAN port 3389 to 193.169.2.100 LAN port 3389 for TCP. Note that the LAN IP should be consistent with the value you put in the LAN DHCP and Base IP values.
- I don't think I needed to make any changes here
- Account active: Yes
- Primary SIP server: callcentric.com
- Outbound proxy: callcentric.com
- SIP user ID: Here insert your callcentric SIP ID (which is not the same as your incoming telephone number). Mine begins with 17772, and is a 11 digit number
- Authenticate ID: Same as the SIP user ID
- Authenticate password: your callcentric password
- Name: Fill in what you want, optional. This is not what peoples caller ID will display.
- DNS Mode: SRV
- User ID is a phone number: Yes
- SIP Registration: yes
- Unregister on Reboot: no
- Outgoing call without registration: No (this will keep you from getting a dial tone if things are not working, highly recommended).
- Enable Call Features: yes
- Distinctive ring tone: I didn't play with this, but this lets you change rings for special numbers, etc.
- Dial plan: this is what gets you 11 + 7 dialing, e.g. 1(AAA)NNN-MMMM and just NNN-MMMM for "local" calls. You will have to customize the following string (between the angle brackets, which should not be included: <{^1900x. |<=1AAA>[2-9]xxxxxx|1[2-9]xx[2-9]xxxxxx|011[2-9]x.|[3469]11|*x.}>, where AAA is your area code. Also, if you are crazy and want to be able to place calls to 900 numbers, delete the first part, e.g. ^1900x. |
- Preferred vocoders: This probably changes with time, but the following settings work for me, with each choice separated by commas: G729, G723, iLBC, G726-32, PCMU, PCMA, AAL2-G726-40, G729.
In case I forgot something, here is my reference dump of my config. pages, with some private values deleted:
End User Password: (purposely not displayed for security protection) Web Port: (default for HTTP is 80) Telnet Server: No Yes IP Address:
Time Zone: Self-Defined Time Zone: (For exampe: MTZ+6MDT+5,M4.1.0,M11.1.0) Language: NAT/DHCP Server Information & Configuration: Device Mode: NAT Router Bridge NAT maximum ports: (range: 0 - 4096, default is 1024) NAT TCP timeout: (range: 0 - 3600, default is 3600) NAT UDP timeout: (range: 0 - 3600, default is 300) Uplink bandwidth: Downlink bandwidth: Enable UPnP support: No Yes Reply to ICMP on WAN port: No Yes (Unit will not respond to PING from WAN side if set to No) WAN side HTTP/Telnet access: No Yes (WAN side access will be rejected if set to No) Cloned WAN MAC Addr: (in hex format) Enable LAN DHCP: No Yes LAN DHCP Base IP: (base IP for the LAN port, default is 192.168.2.1) LAN DHCP Start IP: (default is 100) LAN DHCP End IP: (default is 199) LAN Subnet Mask: (default is 255.255.255.0) DHCP IP Lease Time: (in units of hours, default is 120 hours or 5 days) DMZ IP: Port Forwarding: WAN port LAN IP LAN port Protocol
WAN port LAN IP LAN port Protocol
WAN port LAN IP LAN port Protocol
WAN port LAN IP LAN port Protocol
WAN port LAN IP LAN port Protocol
WAN port LAN IP LAN port Protocol
WAN port LAN IP LAN port Protocol
WAN port LAN IP LAN port Protocol
|
WAN port LAN IP LAN port Protocol
WAN port LAN IP LAN port Protocol
WAN port LAN IP LAN port Protocol
WAN port LAN IP LAN port Protocol
WAN port LAN IP LAN port Protocol
WAN port LAN IP LAN port Protocol
WAN port LAN IP LAN port Protocol
================== ADVANCED SETTINGS PAGE ======================
Admin Password: (purposely not displayed for security protection) Layer 3 QoS: (Diff-Serv or Precedence value) Layer 2 QoS: 802.1Q/VLAN Tag 802.1p priority value (0-7) STUN server is : (URI or IP:port) Keep-alive Interval: (in seconds, default 20 seconds) Use STUN to detect network connectivity: No
Yes, total STUN response misses to restart DHCP (mininum=3) Firmware Upgrade and Provisioning: Upgrade Via TFTP HTTP HTTPS
Firmware Server Path:
Config Server Path:
Firmware File Prefix: Firmware File Postfix:
Config File Prefix: Config File Postfix:
Allow DHCP Option 66 to override server:
No Yes
Automatic Upgrade:
No Yes, every minutes(60-5256000).
Yes, daily at hour (0-23). Yes, weekly on day (0-6).
Always Check for New Firmware at Boot up
Check New Firmware only when F/W pre/suffix changes
Always Skip the Firmware Check Authenticate Conf File: No Yes (cfg file would be authenticated before acceptance if set to Yes) Firmware Key: (in Hexadecimal Representation) SSL Certificate:
Yes, total STUN response misses to restart DHCP (mininum=3) Firmware Upgrade and Provisioning: Upgrade Via TFTP HTTP HTTPS
Firmware Server Path:
Config Server Path:
Firmware File Prefix: Firmware File Postfix:
Config File Prefix: Config File Postfix:
Allow DHCP Option 66 to override server:
No Yes
Automatic Upgrade:
No Yes, every minutes(60-5256000).
Yes, daily at hour (0-23). Yes, weekly on day (0-6).
Always Check for New Firmware at Boot up
Check New Firmware only when F/W pre/suffix changes
Always Skip the Firmware Check Authenticate Conf File: No Yes (cfg file would be authenticated before acceptance if set to Yes) Firmware Key: (in Hexadecimal Representation) SSL Certificate:
SSL Private Key: SSL Private Key Password: System Ring Cadence: Call Progress Tones:
Syntax: f1=val[,f2=val[,c=on1/off1[-on2/off2[-on3/off3]]]];
(Frequencies are in Hz and cadence on and off are in ms) Lock keypad update: No Yes (configuration update via keypad is disabled if set to Yes) Disable voice prompt: No Yes (voice prompt is disabled if set to Yes) Disable Direct IP Call: No Yes (direct IP call is disabled if set to Yes) NTP Server: (URI or IP address) Syslog Server: Syslog Level:
Dial Tone: | |
Ringback Tone: | |
Busy Tone: | |
Reorder Tone: | |
Confirmation Tone: | |
Call Waiting Tone: |
(Frequencies are in Hz and cadence on and off are in ms) Lock keypad update: No Yes (configuration update via keypad is disabled if set to Yes) Disable voice prompt: No Yes (voice prompt is disabled if set to Yes) Disable Direct IP Call: No Yes (direct IP call is disabled if set to Yes) NTP Server: (URI or IP address) Syslog Server: Syslog Level:
===================== FXS PORT 1 setup ===========================
Account Active: No Yes Primary SIP Server: (e.g., sip.mycompany.com, or IP address) Failover SIP Server: (Optional, used when primary server no response) Outbound Proxy: (e.g., proxy.myprovider.com, or IP address, if any) SIP transport: UDP TCP TLS (default is UDP) NAT Traversal (STUN): No No, but send keep-alive Yes SIP User ID: (the user part of an SIP address) Authenticate ID: (can be identical to or different from SIP User ID) Authenticate Password: (purposely not displayed for security protection) Name: (optional, e.g., John Doe) DNS Mode: A Record SRV NAPTR/SRV User ID is phone number: No Yes SIP Registration: No Yes Unregister On Reboot: No Yes Outgoing Call without Registration: No Yes Register Expiration: (in minutes. default 1 hour, max 45 days) SIP Registration Failure Retry Wait Time: (in seconds. Between 1-3600, default is 20) local SIP port: (default is 5060 for UDP and TCP; 5061 for TLS) local RTP port: (1024-65535, default 5004) Use random port: No Yes Refer-To Use Target Contact: No Yes Transfer on Conference Hangup: No Yes Remove OBP from Route Header: No Yes Support SIP Instance ID: No Yes Validate Incoming SIP Message: No Yes Check SIP User ID for incoming INVITE: No Yes (no direct IP calling if Yes) SIP T1 Timeout: SIP T2 Interval: DTMF Payload Type: Preferred DTMF method:
(in listed order) Priority 1:
Priority 2:
Priority 3: Send Hook Flash Event: No Yes (Hook-Flash will be sent as a DTMF event if set to Yes) Enable Call Features: No Yes (if Yes, call features using star codes will be supported locally) Offhook Auto-Dial: (User ID/extension to dial automatically when offhook) Proxy-Require: Use NAT IP: (used in SIP/SDP message if specified) Distinctive Ring Tone: used if incoming caller ID is
used if incoming caller ID is
used if incoming caller ID is
Disable Call-Waiting: No Yes Disable Call-Waiting Caller ID: No Yes Disable Call-Waiting Tone: No Yes Disable Visual MWI: No Yes Ring Timeout: (10-300, default is 60 seconds) Delayed Call Forward Wait Time: (Allowed range 1-120, in seconds.) No Key Entry Timeout: (in seconds, default is 4 seconds) Early Dial: No Yes (use "Yes" only if proxy supports 484 response) Dial Plan Prefix: (this prefix string is added to each dialed number) Use # as Dial Key: No Yes (if set to Yes, "#" will function as the "(Re-)Dial" key) Dial Plan: [2-9]xxxxxx|1[2-9]xx[2-9]xxxxxx|011[2-9]x.|[3469]11|*x.}" maxlength="1024" size="60" name="P4200"> SUBSCRIBE for MWI: No, do not send SUBSCRIBE for Message Waiting Indication
Yes, send periodical SUBSCRIBE for Message Waiting Indication Send Anonymous: No Yes (caller ID will be blocked if set to Yes) Anonymous Call Rejection: No Yes Special Feature: Session Expiration: (in seconds. default 180 seconds) Min-SE: (in seconds. default and minimum 90 seconds) Caller Request Timer: No Yes (Request for timer when making outbound calls) Callee Request Timer: No Yes (When caller supports timer but did not request one) Force Timer: No Yes (Use timer even when remote party does not support) UAC Specify Refresher: UAC UAS Omit (Recommended) UAS Specify Refresher: UAC UAS (When UAC did not specify refresher tag) Force INVITE: No Yes (Always refresh with INVITE instead of UPDATE) Preferred Vocoder:
(in listed order) choice 1:
choice 2:
choice 3:
choice 4:
choice 5:
choice 6:
choice 7:
choice 8: G723 rate: 6.3kbps encoding rate 5.3kbps encoding rate iLBC frame size: 20ms 30ms iLBC payload type: (between 96 and 127, default is 97) AAL2-G726-16 payload type: (between 96 and 127, default is 100) AAL2-G726-24 payload type: (between 96 and 127, default is 99) AAL2-G726-32 payload type: (between 96 and 127, default is 104) AAL2-G726-40 payload type: (between 96 and 127, default is 103) G729E payload type: (between 96 and 127, default is 102) VAD: No Yes Symmetric RTP: No Yes Fax mode: T.38 (Auto Detect) Pass-Through Fax tone detection mode: Caller Callee Caller or Callee Jitter buffer type: Fixed Adaptive Jitter buffer length: Low Medium High SRTP Mode: Disabled Enabled but not forced Enabled and forced SLIC Setting: Caller ID Scheme: Polarity Reversal: No Yes (reverse polarity upon call establishment and termination) Loop Current Disconnect: No Yes (loop current disconnect upon call termination) Loop Current Disconnect Duration: (In 100-10000 milliseconds range, default is 200) Hook Flash Timing: In 40-2000 milliseconds range, minimum: maximum: On Hook Timing: (In 40-2000 milliseconds range, default is 400) Gain: TX RX Ring Tones (Syntax: c=on1/off1-on2/off2-on3/off3; [...]) Ring Tone 1: Ring Tone 2: Ring Tone 3: Ring Tone 4: Ring Tone 5: Ring Tone 6: Ring Tone 7: Ring Tone 8: Ring Tone 9: Ring Tone 10:
(in listed order) Priority 1:
Priority 2:
Priority 3: Send Hook Flash Event: No Yes (Hook-Flash will be sent as a DTMF event if set to Yes) Enable Call Features: No Yes (if Yes, call features using star codes will be supported locally) Offhook Auto-Dial: (User ID/extension to dial automatically when offhook) Proxy-Require: Use NAT IP: (used in SIP/SDP message if specified) Distinctive Ring Tone: used if incoming caller ID is
used if incoming caller ID is
used if incoming caller ID is
Disable Call-Waiting: No Yes Disable Call-Waiting Caller ID: No Yes Disable Call-Waiting Tone: No Yes Disable Visual MWI: No Yes Ring Timeout: (10-300, default is 60 seconds) Delayed Call Forward Wait Time: (Allowed range 1-120, in seconds.) No Key Entry Timeout: (in seconds, default is 4 seconds) Early Dial: No Yes (use "Yes" only if proxy supports 484 response) Dial Plan Prefix: (this prefix string is added to each dialed number) Use # as Dial Key: No Yes (if set to Yes, "#" will function as the "(Re-)Dial" key) Dial Plan: [2-9]xxxxxx|1[2-9]xx[2-9]xxxxxx|011[2-9]x.|[3469]11|*x.}" maxlength="1024" size="60" name="P4200"> SUBSCRIBE for MWI: No, do not send SUBSCRIBE for Message Waiting Indication
Yes, send periodical SUBSCRIBE for Message Waiting Indication Send Anonymous: No Yes (caller ID will be blocked if set to Yes) Anonymous Call Rejection: No Yes Special Feature: Session Expiration: (in seconds. default 180 seconds) Min-SE: (in seconds. default and minimum 90 seconds) Caller Request Timer: No Yes (Request for timer when making outbound calls) Callee Request Timer: No Yes (When caller supports timer but did not request one) Force Timer: No Yes (Use timer even when remote party does not support) UAC Specify Refresher: UAC UAS Omit (Recommended) UAS Specify Refresher: UAC UAS (When UAC did not specify refresher tag) Force INVITE: No Yes (Always refresh with INVITE instead of UPDATE) Preferred Vocoder:
(in listed order) choice 1:
choice 2:
choice 3:
choice 4:
choice 5:
choice 6:
choice 7:
choice 8: G723 rate: 6.3kbps encoding rate 5.3kbps encoding rate iLBC frame size: 20ms 30ms iLBC payload type: (between 96 and 127, default is 97) AAL2-G726-16 payload type: (between 96 and 127, default is 100) AAL2-G726-24 payload type: (between 96 and 127, default is 99) AAL2-G726-32 payload type: (between 96 and 127, default is 104) AAL2-G726-40 payload type: (between 96 and 127, default is 103) G729E payload type: (between 96 and 127, default is 102) VAD: No Yes Symmetric RTP: No Yes Fax mode: T.38 (Auto Detect) Pass-Through Fax tone detection mode: Caller Callee Caller or Callee Jitter buffer type: Fixed Adaptive Jitter buffer length: Low Medium High SRTP Mode: Disabled Enabled but not forced Enabled and forced SLIC Setting: Caller ID Scheme: Polarity Reversal: No Yes (reverse polarity upon call establishment and termination) Loop Current Disconnect: No Yes (loop current disconnect upon call termination) Loop Current Disconnect Duration: (In 100-10000 milliseconds range, default is 200) Hook Flash Timing: In 40-2000 milliseconds range, minimum: maximum: On Hook Timing: (In 40-2000 milliseconds range, default is 400) Gain: TX RX Ring Tones (Syntax: c=on1/off1-on2/off2-on3/off3; [...]) Ring Tone 1: Ring Tone 2: Ring Tone 3: Ring Tone 4: Ring Tone 5: Ring Tone 6: Ring Tone 7: Ring Tone 8: Ring Tone 9: Ring Tone 10:
Thursday, November 25, 2010
Some obsessive thoughts on knives
This is another one of those silly obsessive posts that matter little to anyone, but which can perhaps save some time for other obsessives like myself some day.
Several weeks ago, for some reason (Nina Burgess doesn't know, but its her fault), I started reviewing my kitchen knife technique, mostly from reading and watching several good youtube videos on the subject.
One thing led to another, and in my obsessive way I found myself researching chef's knives - in this case, 8" chef's knives. Now, we have a very excellent set of knives indeed (some Henckels 4-star knives my wife claims I married her to get...) - but the chef's knife was only 6", which while good for my wife with her smaller hands, was a bit small for me when I started holding the knife correctly (which actually has your thumb and forefinger over the blade and not the handle). So... open the search for a knife. This I obsessed over for a while, and finally decided on a knife that works for me at an affordable cost, yet which can work well with my wife's high-bred knives. This blog is about the conclusions I am starting to come to after reflection. Consider it FWIW.
Knives are one of those product areas that you can spend from very little (buy them at your local supermarket) to a whole lot, over $200 per knife. In such a market, the term "you get what you pay for" is only somewhat true. I feel the price vs. quality curve is monotonically increasing, but there is probably quite a "knee to the curve", and there are some good deals out there to be had. Let's think about the process of finding that knee.
First - romance put aside (and knives, often being wedding presents have lots of romance associated with them), a knife is a knife. They are all sharp, and they all cut - most of them quite well. So we are already to the second or third order effects before we have even started.
As I see it, the things worth considering are:
- The overall type of knife (chef's knife, carving, paring, etc) - I'm not considering that here.
- The material of the knife. Most people use stainless for obvious reasons, even if traditional iron may cut better. Within stainless there seems to be several grades and hardnesses. At the lower end of the market are the somewhat softer steels. This does not make the knife bad. If the quality of the softer steel is good, it means you will have a knife that is easy to sharpen, but will have to be sharpened more often. For example, I have a number of Chicago Cutlery knives that are very sharp, and very satisfying to sharpen - but... they need to be sharpened (I'm not counting steeling) every 50 uses or so. On the other end of the spectrum are the wonderfully tempered steel knives - such as the Henckels we own. These have a totally different "feel" to them when you use a steel - it feels slipperier and much, much harder. When sharpening or steeling them, they need much more work, and IMHO it is actually harder to get a good edge on them. But.. once you do, it lasts a long time. It is no surprise that professional cooks as a result always favor these knives - and hence why the "professional" knives are also the expensive knives, generally speaking. They also often have someone else sharpen them.
- For a given type (say, Chef's knife) - the blade profile (the "normal" or long way). With some knifes, such as carving knives, this is a non-topic - they are straight. With chef's knives, you have both French and German profiles. And then the Japanese knives are totally different, much straighter. This is a preference thing - and can be easily researched on the internet, so I won't discuss it here.
- Straight or serrated - my opinion, forget serrated, expect probably bread knifes. Period.
- Blade construction -forged or stamped. No doubt, forged is the standard, and the most expensive. It results in a shaped, tapered blade that usually goes fully through the handle. On the other hand, it is not always necessary for a very well-working knife. Once example would be the Victorinox chef's knife, which is stamped, but... gets great reviews and several people thinks actually cuts better than the $150 knives.
- Blade cross profile - if you look end-on, a given class of knife will have a different profile, and I think this can make a quite a bit of difference. Many of the high-end, forged knives have an evenly tapered profile, from the back evenly thinning to the edge. With this style of profile, you don't have to do much grinding to get the really thin edge, since things were already very thin to begin with. On the opposite extreme, the cheapest stamped knives may be the same thickness all the way, with a hollow-ground (concave) taper at the last 1/4 inch to make the blade thin. I tend to dislike this style, probably not because it is inherently bad, but rather that it tends to be associated with cheap, bad, knives. In the middle, you can have forged knives that taper, but not thin enough at the end. They then "sharpen" them with what appears to be a blunter angle in the last 1/16th inch. My personal opinion - you will regret this every time you stone sharpen the knife, because you will have to grind down a lot of metal, and still probably won't get the 15 - 20 degree angle you want. Take home message - if you are getting a forged knife, look for one that has as little of a "final sharpening" edge as you can within your price point.
As for my personal decision (I bought a Calphalon Contemporary 8" chef's knife), and how I came to it - it went like this:
- Style mattered quite a bit for me - if I didn't buy a Henckel's knife which matched the others we had (and wonderful knives they are), I wanted to get something that was, well, "similar". This also (after great internal debate) tossed out the Victoninox, which I expect would meet the technical requirements well, but just wasn't my style.
- I wanted a chef's knife with a profile on the "french side of German". That tossed out Wusthof. Calphalon was very similar to the Henckels, perhaps a bit straighter.
- Material - I know from another knife I have by the same maker the Calphalon is a rather hard steel - it sharpens very much like the Henckels. This works for me, because I have good sharpening equipment and know how to use it. For others that just want a sharp knife - I'm told the Victorinox is softer, but takes a great edge.
- Cross profile - here I found quite a difference, and I expect this is one area where you get what you pay for in an expensive knife. The Henckels and the Wusthof have great, even tapers - you can't really tell where the edge begins. That's what you get for your $110. The $35 knives are much more variable. The one I picked was "most of the way there", which means that I expect I will need to work a bit more on sharpening, and possibly the knife may have a shorter maximum lifetime - after which the "base blade" will be too wide to taper well. However, this is still likely to be 20 years, and... I can buy three of these knives for the price of one Henckels, so... a trade that works for me.
Tuesday, June 08, 2010
Colorful cupcakes - powered by kids, some supervision required
This last Saturday, Vika had one of her friends over, bringing the girl inventory temporarily to three. I had recently seen a really cool web site featuring colored cakes, and decided to try them myself, as sort of "practice" for entertaining kids during, I don't know, a sleepover or something.
The method is really simple, and pretty obvious from the pictures - check out the video at the above link for additional details.
Step 1: use a standard white cake mix, making sure you use only egg whites (no yellow).
Step 2: pour the batter into a number of cups. Add quite a bit of gel food coloring (like in the case below, probably 1/2 teaspoon, or ~ 2 ml) to make really saturated colors. Mix with plastic spoons, scraping sides (easier to clean up).
Step 3: Pour into each color in turn foil (prettier, more of a surprise) cupcake cups - the recipe for use made 16 cupcakes. You sort of have to use trial and error, but remember - all your colors should only fill the cup 60% of the way, so, think a dollop the size of a quarter or 50 cent piece.
Bake and eat. OK, if you want, frost to make it more of a surprise - white frosting is most spectacular.
Opening text

Just out of the oven:

In its full glory:
The method is really simple, and pretty obvious from the pictures - check out the video at the above link for additional details.
Step 1: use a standard white cake mix, making sure you use only egg whites (no yellow).
Step 2: pour the batter into a number of cups. Add quite a bit of gel food coloring (like in the case below, probably 1/2 teaspoon, or ~ 2 ml) to make really saturated colors. Mix with plastic spoons, scraping sides (easier to clean up).
Step 3: Pour into each color in turn foil (prettier, more of a surprise) cupcake cups - the recipe for use made 16 cupcakes. You sort of have to use trial and error, but remember - all your colors should only fill the cup 60% of the way, so, think a dollop the size of a quarter or 50 cent piece.
Bake and eat. OK, if you want, frost to make it more of a surprise - white frosting is most spectacular.
Opening text
Just out of the oven:
In its full glory:
Wednesday, May 12, 2010
Amazing photo page
OK, in this modern age of digital photography, it is becoming easier and easier to find rather amazing photography. But.. in the end, skill still pays.
Browsing the results of photo contest finalists are really interesting, but when a single photographer has soooo many amazing shots, it stands out. Here it is, check out this link:
Monday, April 12, 2010
Diana's Precis Romeo and Juliette
At her current second-grade level, Diana is not a literary giant (yet, at least). Yet, several days back in the car either G or I mentioned Romeo and Juliette in some context or another, and Diana's ears popped up. This was then followed by Diana herself popping up (also typical). What she said, however, was highly amusing to us:
"Oh yeah, I know it! Juliette and Romeo. (pause). They fell in love. And where are they now? (pause) DEAD. (pause) Dead, Dead Dead!! Ha! "
Tuesday, April 14, 2009
Towel sorting process
Last week we got so behind on laundry, with probably two weeks backlog on standard stuff plus bedding and fleece, that we decided to have a night at the laundromat instead of trying to do 15 loads of laundry over three+ days. So, we packed the laundry and the kids in two cars, brought their homework, and headed towards Perinton Plaza.
If you don't count the kids running around causing havoc, G was otherwise in her element, a master (or mistress, I guess) of her realm - seven (!!!) extra-large washers simultaneously running simultaneously, later followed by six dryers. Quite a sight to behold. Total time: about two hours. Total cost: about $35 (a.k.a. about 140 quarters), not counting the takeout chinese (cost, $14). Happy wife.... priceless.
But that is not what this story is really about. Two days later, we still had not unpacked the clean laundry (stored in large woven poly bags) and dispatched it to its proper locations. I volunteered one evening to do towels - how hard can that be?
Well, as it turns out, it DOES take a rocket scientist (or at least my wife). She just can't understand what is so hard about it. After all, in her NT way, she has a process - of course we never doubted it. I asked her to tell me this process so I could record it for posterity (and to use as a survival skill).
First, she listed the destinations by type of thing - we will call the "requirements elicitation by example" - I wrote down a list that works pretty well, but ... well, it sort of drove her nuts thinking about it.
So, to express herself (she doesn't have a "compile" button on her forehead), she wrote me an excel spreadsheet. This was very pretty, and a good representation of her process (complete with speedup optimizations), but still a bit hard for my sequential-language mind to follow.
I took the spreadsheet, and translated it to pseudocode. She then inspected this against her original process, and has blessed it as being CORRECT.
Here it is in rough pseudocode form - have fun (sorry about the crazy formatting) !!!
-----------------------------------------------------------------------------------------
If (form == flatCloth)
Switch (color)
redTracer: Dest = kitchenDrawer
greenTracer: Dest = MasterBathDrawer
greyTracer: Dest = foyerBathroom
other: Dest = LaunryCleaningCloth // all white is all that is left
Else if (form == terrycloth)
If ((color == darkGreen) OR (color == paisley)) // early cull test, for efficiency
Dest = masterBathLedge // i.e. all sizes
Else if (colorClass = white)
If (border == NotEmbroidered)
Dest = LaundryCleaningCloth
Else if (border == Embroidered)
Dest == KidsBathroom
Else // non-white towel….
If (size == VeryLargeTowel)
Dest = LinenCloset
Else if (size == smallTowel)
Switch (color)
NavyGreyFingertipApplique: dest = FoyerBathroom
Lime, Red: dest = KidsBathroom
Other: dest = LinenCloset
Else if (size == babyWashCloth)
Dest == KidsBathroom
Else if (size ==standardWashCloth)
Dest = MasterBathroomLedge
Else // standard size towels should be all that is left…
If (color == LimeOrRedOrNavyOrDuckOrFish)
Dest = kidsBathroom
Else
Dest = LinenCloset
Saturday, December 06, 2008
High speed sailing
There is a very specialized facet of sailing that is obsessed with breaking the speed record for sailboats, which is currently just under 50 knots / hour over a 500 m course (57 mph, or 92 km/h). So far, the fastest attempts have been using the simplest crafts - a windsurfer holds the official record, and the fastest speed is recorded by (get this) a kitesailor, which people aren't sure if it is a sailboat or not.
At the same time, there have been a progression of exotic craft built for the single purpose of setting records. Indeed, until sailboards came along, these strange creatures have dominated the record circuit. I have been recently obsessed with the newest of these, called Vestas Sailrocket. This is a crazy craft with some really cool engineering and design behind it (reading about the design is very cool)- finally a design that as the wind blows more does not increase in healing moment at all, because the geometry is set up such that the sail lift exactly cancels the other forces.
The team, after several years of learning, designing and tweaking the boat, is now in South Africa trying to break the record. Recently, after several weeks of waiting for perfect conditions, they finally got a good try, and broke some of the records, but not all of them. They also knew they had some more speed in reserve... and went back to try for a second time.
Well, it didn't go as planned. The complete accounting is in the "news" tab on the link above, but here, a picture tells all:
Friday, December 05, 2008
Occasional moments of rest and quiet...
I'm beginning to think that with my "new life", I should consider renaming this blog "Another day, another lesson", since this seems to be the theme of my life more than obsession at the moment.
Although we will declare Thursday a notable exception (!!!) , the last 7 days have been considerably calmer than those of the week before, a.k.a. "hell week". Thanksgiving is past, the daily routine is mostly back in place, and things are not too crazy. Heck, on a couple of evenings the kids essentially put themselves to bed, leaving G and I looking at each other across our respective computers, as if to say "what do we do now?"
The main event of the week started Tuesday afternoon, when Vika came home looking under the weather - then immediately fell asleep upstairs. Definitely something wrong, no doubt about that, is the is far from normal behavior. Sure enough, her temperature was going up and up, peaking at 103.1F (39.5C) in the late evening. We gave her a hefty dose of acetaminophen, and took her to the doctor the next day, where she was diagnosed with strep throat (albeit with no hurting throat at all).
For her, antibiotics and sleep, and she was mostly fine by the next day - but not allowed to go back to school until 24 hours past antibiotics. No, the real story here is about Diana. Diana, never in great control of her emotions at the best of times, was furiously jealous that Vika did not have to go to school when she did (forget the fact she likes school), and (especially) that Vika got to follow Mom around all day long on errands on Thursday. This was unpardonable, and resulted in some of the most pissy behavior you can imagine, with multiple (G lost count) mini-meltdowns.
But... come Friday, when Vika was to go back to school again, Diana was up and cheery - even early for the bus. This morning Vika had the difficult morning (albeit with our sympathy) but made it nevertheless.
Saturday, November 29, 2008
The tale of the mini-yolka
Now that Thanksgiving has come and gone, Christmas season is upon us in full. The girls have been asking us about Christmas trees (which they call yolkas, after the Russian New Year's counterparts), and G replied "yes, next weekend we also will get a tree, and put it in the living room and decorate it".
Well, next weekend seemed to be an impossibly long time to wait for two girls, and they fell despondent. The crushed joy of Christmas hung in the air. Depression loomed. G then quickly followed, in an upbeat voice--"but we DO have a small tree we keep in the basement that we can get out, and it has many lights!" Bright eyes again.
We then forgot about this until we got home, when it became clear that Vika had far from forgotten about it. She went into the basement, and started randomly rummaging about (or so I imagine...) to find aforementioned tree. This then was followed by a request for a parent, and the mini-yolka was found.
We plugged it in, and ..... nothing. Sad but true, neither of the two strings of lights worked. A quick check of fuses resembled this was not part of the problem. So, I deferred, saying I would try to find the burnt out bulb later (knowing that this is hard to do). Well, after about 4 reminders through the day, the final request came. So, trying to keep my and the girls spirits high, we took it to the kitchen for a systematic evaluation. This is where you remember G's statement of "many lights". Many is right - I didn't count them all, but at least 100, and possibly double that in this little, 3 foot high tree.
Vika, Diana (a.k.a. "the bumblebee, Napoleon, or the randomizer") and I first started on the task of removing all of the bulbs and placing them on the countertop. Vika and I could pull them off with our fingernails, while Diana used a small screwdriver, as her fingernails were optimized for scratching people, not removing bulbs.
This gave us a huge pile of bulbs sitting between us. Then, in a great show of magic and capability, Dad produced a beeping ohmmeter to test them, each and every one. I even showed the kids how to do it. We tested and tested, resulting in a large bowl of "good", and a smaller bowl of (exactly) 17 bad bulbs. I was a bit worried that we could find 17 replacement bulbs in the basement, but Vika and I went downstairs to look. In the end, we found a non-working string of bulbs that seemed close, and removed 17 bulbs, with an extra two in case some of THOSE were dead.
We then came upstairs, and found a happy, giggly Diana, beaming, and proudly showing us how she had tested the bad bulbs AGAIN, found them to be all "OK", and placed them in the good pile!!! The randomizer had struck again! ARRRGGHHH, sighs, and "NO DAVIDS" were heard, and we refocused on the task of testing once again.
Much testing and recounting later, we had our bulbs retested, with the same dead count. We then tested the "new" bulbs, and sure enough, out of the 19, 17 worked. We added the good ones to the pot, and now knew we had as many bulbs as we started with. Perfect!
Now the bulb restuffing began. Stuff, stuff, stuff. After a while, it looked like all the spaces had been filled in, but there were still about 10 bulbs left. Search, find, search, find - 8 times. This got harder and harder, until we only had 2 left. We looked, and looked, and looked. They HAD to be there somewhere - didn't they? Then inspiration - wasn't it two bulbs that had failed in the new lot? Yup, you guessed it - the randomizer, twice in a day, and a clearly non-learning Dad!
Well, it was not likely to begin with, but sure enough, the tree did not work. It was time to give up. We took it to the living room, and all agreed that we had tried, at least.
But ... this story is not quite over. Vika the resourceful apparently went spelunking in the basement once again, and had found a box of brand new lights. She took them out and plugged them in, and ... one hundred points of light! Joy, dancing, chanting - the lights are going, the lights are going ('edyot')!! So, the girls spread the string through the living room, and Christmas is coming once again.
Let the holiday season begin!
Tuesday, November 25, 2008
I would love to know....
When searching for "electric kettle" at the Target site, it found some hits, but also had some "related" searches to help me along...
We found 51 matches for "electric kettle" at Target
What is the world is "shirt" doing in this list????
Sunday, November 23, 2008
Early English Language Output
Over the last month, we have seen quite a bit of "English" emerge in our kids speech, especially Diana's. First to be heard are ready-made phrases, but now we occasionally hear an attempt on a self-constructed sentence. These are pretty basic, and often amusing.
The event of this weekend has been getting about 25 cm of snow, which is just enough to go sledding in. While we have gone several times to the local school, were they have nice cleared hills, much of the sledding is in our yard. Our yard has a few flattish areas, but also some trails that go careening off into the woods, on some pretty steep trails.
This afternoon I went to check on the kids. Diana ran up to me, smiling and giggling. She than froze in serious thought, looked in the face in her best, "am I saying this right" expression, and said in a halting manner: Papa! Me ouch... sled.... tree!
Friday, November 21, 2008
G kid progress report
Didn't you expect this behavior? Two weeks -- one might say rather hellish weeks, at least at times, have passed. One friend asked me recently, "Didn't you know to expect these behaviors?" and the answer is "Yes, we knew with our intellects... but that is far different from living it every day."
Yesterday was another 'takes two to get Vika to school day.' On Monday of this past week, Diana, who has been adopting her sister's best practices for being difficult, decided to try outright refusal to attend school. She went to school in her nightgown, and I think she's decided that the consequences aren't worth it to her. We will be glad when Vika makes the same decision.
Perspective: To give some perspective on our situation -- about which we are cautiously optimistic -- here are some comments from adoptive parents who have survived the first year and now mostly have 'normal' problems with their children:
....."For the first year, I wanted to hang a sign over their heads that said, 'ADOPTED'."
....."My son was really hostile to me for the first year, but now I feel really close to him."
....."Later my daughter told me that I'd been really mean to her the first year she lived with me. I asked her what I'd done, and she said, 'You made me say please and thank you.' I must have succeeded, however, because now she says them naturally and gracefully!"
And one comment from a kid who was adopted 5+ years ago:
....."At first I swore at my parents in Russian (using foul language), but then I began to understand what our pastor was saying..." And now she is very close to her parents and wants to become a missionary to the former Soviet Union.
Fetal Alcohol Exposure (FAE) and Fetal Alcohol Syndrome (FAS) This week we had our first meeting with a psychologist who does a lot of work with adopted children and their parents. He has worked a lot with children adopted from Russia, and remarked that it is almost impossible that our children, with their background, escaped all consequences in utero exposure to ethanol. This is called, in its full-blown state, fetal alcohol syndrome. Prenatal exposure to alcohol messes up the sequence of development of the brain, both anatomically and the brain's response to development, pruning and the environment. Since Ludmilla Yurievna, their bio mother, is reported to be a confirmed alcoholic, we were naive to think that such lovely children escaped FAE unharmed.
The psychologist commented that alcohol use in Russia is about 5x (or maybe 10x) that of alcohol use here in the States. I hope that is per capita and not total consumption, as the Russian population is about half of ours, I think.
The psychologist was supportive, encouraging, and we are off working on a new round of behavior modification and therapy books!
Good times: Are there good times? YES! But the good times are often short, very sweet, and hard to capture. Oddly, one good time in my life is getting Diana up to go to the bathroom before I go to sleep. (She's had several accidents in the last week, so I'm back to doing that.) She is warm, and drowsy, and very clingy, and sweet.
She is usually sweet, by the way, and we have great fun tickling each other , giving each other raspberries, playing silly games, etc.
We have established a new routine for after dinner. It has destroyed kitchen clean-up but has been very good for bonding and for learning. We clear away the dishes and immediately start doing 'homework.' Sometimes this is real homework that the teachers have assigned, but more often it is some kind of math or word play that we do with the kids. It is amusing to watch Vika supervise her sister's counting! Vika doesn't realize how much SHE is learning from the repetition of Diana's work!
One game involves an egg carton and 78 pennies... Last night I put the pennies in the carton randomly and asked Diana to check my work. After checking a couple of places, she 'decided' it would be easier to dump out all the pennies and count them from scratch! 1, 1..2, 1..2..3, etc...
Vika is now reading -- with SUCH PRIDE AND ENTHUSIASM -- the first series of Bob Books!
Both of the children adore the dogs and the adoration is mutual. Tango the tooth is also Tango the incredibly patient with kids tugging and pulling and generally man-handling him. His teeth are all directed at paper and garbage, never intentionally at kids.
This week after school, both kids have been decorating some Home Depot moving boxes that I bought for storing things away. They paint the sides with tempera paint, and the results are rather cool! And it turns out that at 67 cents per carton, I am getting a good deal economically as well.
Last night we had a long session with the dollar bins at Target -- and their allowances. Got to teach them about money somehow, and this is a good start.
When they make the school bus, they get a smiley face on the allowance chart and they get their allowances. Missing the school bus results in a TURTLE on the chart, and forfeiting the allowance.
This week I was in Diana's class twice, for Math Action. I got to help kids do really simple Tangrams! My favorite! What fun that was!
Next week, I do Math Action with Vika's class.
A couple of weeks ago I did Science Action with Diana's class. These activities are REALLY FUN for everyone!
This week, I introduced Vika to a book on puberty. She is fascinated and we have spent some very sweet times together in Chuck's and my bed, looking at the book and discussing the issues that she finds compelling. And she refuses to let her sister look at the book, because there are pictures of 'naked people' in it! foflol
So, we are surviving, holding on, praying a lot, and being tired a fair amount, too.
Please keep praying for us!
G
Subscribe to:
Posts (Atom)