Saturday, April 9, 2016
Take a deep breath
Sunday, March 27, 2016
Washington democratic Caucusing 101
Wednesday, February 10, 2016
Land of opportunity
- Internet. Typically $50-90, depending on speed and service type (DSL, Cable, Dish, fiber etc)
- Cellphone. Typically $30-50 per line, depending on smaller to larger providers
- Home phone. Typically $30 a month. Can be cheaper if bundled with internet and cable TV.
- Alarm system. Typically $20 per month
- Trash. Typically $30 per month
- Electricity. Typically $80-100 a month, depending on season and regional climate.
- Gas. Not used anywhere. Can reach $300 in harsh winters if used for heating
- Water. Between $70 to $160. Higher end is for those with yards or gardens that need watering.
- Sewer. Usually separate than water, around $65 per month
- Cable TV. Starts around $20 and can reach over $100 for a wide range of channels. Can be cheaper if bundled with internet and phone.
- Gardening. Depends on your area, usually around $80-100 a month. Can reach hundreds for large homes.
- House cleaning. Typically 70-90$ per visit.
- Baby Sitting. Typically $12 per hour.
Tuesday, September 22, 2015
Simple Remote control with HTTPLauncher
As a system engineer, the ability to remotely control computers has always been high on my priority list, and even though there are plenty of solutions on the market, they are all pretty complicated to use, or too cumbersome. They typically involve installing a dedicated client, and even those that are built-in windows like Remote Desktop are not ideal since they are not designed for automation.
I’ve finally decided to design a solution of my own for this – HTTPLauncher. It’s fairly limited, but it’s very easy to use, simple to install (just copy it to the target machine, and run it!) and very light at 71 KB.
Other than remote controlling a computer, this tool can also be integrated with other stuff, like Arm Suwarnaratana’s Home-automation bridge, and this integration allows you to perform tasks on the computer by issuing voice-commands to Amazon’s Echo device (Alexa). I’ll talk more about that in a later post.
Here’s how HTTPLauncher works:
1. You copy the executable and configuration file to a computer that you want to control.
2. You run it
3. On another computer (which could be ANY device that has a browser, including any Smartphone on the market), you type a URL into the browser, with a command embedded in the URL.
4. The target computer executes the command as-is
The command you put in the URL can be any standard Windows command, like you would type into the Start/Run dialog. This could be launching an application, running a script, and pretty much anything you like.
Naturally, this kind of thing can be VERY dangerous if some hacker gets into your network, so I also embedded some security measures:
1. The command has to have an authentication token. The default token is 39ed173-b77a-5e41-812d-7be9e992f920, and you can change it by editing the configuration file that comes with the application.
2. The launcher will reject commands that match one of the words in the Black List (for example, Format, Del, Delete). You can edit and expand the list to your liking.
3. The launcher has a delay of 3 seconds (configurable) between executing commands, so trying to brute-force the authentication token would take forever.
4. The launcher limits the command length to 120 characters (configurable), so that even if the password is somehow broken, it limits the things the attacker can do remotely.
The syntax for issuing a command is:
http://<target IP or hostname>:<target port>/<token><Command>
The default port is 8008, and you can change it in the configuration file, alongside the other stuff I mentioned earlier. The command comes right after the token, without any separators and delimiters. For example:
http://ErezBedroomPC:8008/39ed173-b77a-5e41-812d-7be9e992f920c:\program files\skype\skype.exe
As you can guess, this launches Skype on the remote computer. Note that you need to specify the FULL path to the executable! Similarly, you can close the program remotely, though that’s a little more complicated. Programs don’t normally accept a command to exit, but you can do this by using the system’s TaskKill utility, which is built-into windows. To use it, you would issue a command like this:
http://ErezBedroomPC:8008/39ed173-b77a-5e41-812d-7be9e992f920c:\Windows\System32\taskkill.exe /f /im skype.exe
When you run this, the browser will convert the spaces to %20, but that’s OK – the Launcher will be able to understand it, and it will also convert back-slashes to forward slashes. You can also use it to execute commands that aren’t executable by launching them with a CMD. Keep in mind to specify the full path to the command prompt. For example:
http://ErezBedroomPC:8008/39ed173-b77a-5e41-812d-7be9e992f920c:\windows\system32\cmd.exe /c dir "c:\temp" >c:\documents\FileList.txt
Note that I’m using /c as a parameter for CMD, so that it closes after it executes the command. You can use /K instead to leave the window open if you’re having trouble for debugging purposes. You can also examine the log created by the launcher to see what it did, and if it ran into errors.
Finally, keep in mind that these commands can be launched from anywhere! While the server-side (the launcher itself) is for Windows computers, the web requests that run the command can be launched on ANY browser that’s connected to the same network. For example, you can save the URL URL http://ErezBedroomPC:8008/39ed173-b77a-5e41-812d-7be9e992f920c:\Windows\System32\shutdown.exe -s -t 1 as a bookmark on your phone, and just visit it to tell your computer to shutdown. In fact, If you dare publish the target computer through your router to the public internet, then you can even do these things remotely from anywhere in the world, without installing any other special software (to be clear…the security measures on the launcher are, in my opinion as a cryptography engineer (***), NOT sufficient for a public-facing remote-control tool…so I do NOT encourage, condone or support doing this!).
Hope you like the tool!
*** I’m also working on a more business-oriented version of this engine, which will support more advanced security options, like HTTPS connections, White-listing commands, White-listing remote IPs, Hashed password, Central config file and more. Once it’s ready, I’ll release it and details on the blog. If you have ideas for other security measures or features, please drop me a line.
Tuesday, August 25, 2015
Citizenship be gone
About 7 years ago, my wife and I won the American green-card lottery and moved to the USA. 5 years later, per the standard waiting period, we received American Citizenship as well. Even before that, it was pretty clear to us that once we become American citizens, we will want to renounce our Israeli Citizenship, and a few days ago, we completed that process. I’m sharing my experience here for the benefit of those who want to do it as well.
Why?
Several of our friends and relatives were surprised to hear that we were doing this. Some even took it as some kind of betrayal. Well, everyone has the right to have an opinion, but the main issue is due to the fact that an Israeli Citizen cannot travel out of Israeli without a valid passport. This leads to a string of administrative work that can end up badly in several ways. Here are some of them:
1. That’s 3 extra passports to keep track-of and renew every few years
2. Any travel to Israeli requires carrying a double stack of passports – double the space, double the stuff to safeguard.
3. Common strikes at either the ministry of interior and ministry of foreign affairs jeopardizes the ability to renew passports on time. Example.
4. Spelling means trouble. For example, last year my wife was detained for 2 hours in Israel because our last name is “Benari” on American documents and “Ben-Ari” on Israeli ones.
However, the main reason we did this was the Israeli Army. As you know, being an Israeli citizen includes the mandatory army duty for my son. We would, of course, file the paperwork to dismiss him when he’s at the right age, but this can go wrong in various ways. For example, this horror story about such a mishap is a stark warning of what the “benefit” of citizenship can amount to, as well as this one.
How?
Renouncing the citizenship is, in theory, only a matter of filing a form and paying the fee ($92), but in reality, there are some complexities.
1st, this is one of those asks that require the requestor to visit a consulate in person. For those living close to a consulate, like residents of Boston, LA, NY and other locations, this would not be a big deal. For those living farther, such as me (Seattle), this requires some planning and some major expense. We did a 2-day trip to San Francisco, so that if something didn’t work out on the 1st day, we could come back the next day.
If you were thinking of just taking care of this on your next visit to Israel, this is not actually possible. This sort of request can ONLY be filed abroad. There are over 100 consulate offices world-wide, so with any luck, you can just pick one at a nice destination and have a family-vacation at the same time.
Secondly, if you have children, this can make things more complicated. For kids under age 16, the parents would include the kid in the request. Israeli law requires that any citizen of Israel who has a kid born abroad registers the kid with the Israeli government (which grants the kid citizenship). While this isn’t strictly enforced, this might trip-up the process. If the ministry of internal affairs is aware of the child (***) the consulate staff might refuse to accept your application because you failed to register your child. If, like me, you had to spend hundreds of dollars to go to the consulate, you might want to avoid the risk and register your child before filing the application.
*** I don’t know what info or data the ministry collects regarding citizens, so this is more a case of paranoia than anything else. I suspect that the existence of a child can be flagged somewhere in their computers, and they might become aware of the kid if you travel to Israeli with him
Luckily, you can register the child on the same visit to the consulate. This can be tough, as the consulate requires that you show a birth certificate that has an apostille authentication. That’s not equivalent to the regular stamp or signature that birth certificate have, and would typically require you to specifically ask for it from your local Department of State office (this can take a couple of weeks to get).
By the way, you can download the various forms you need here.
Taking the trip
If getting to the consulate requires a special trip, don’t forget to prepare and take everything with you. You would need:
1. American passports
2. American certificate of citizenship
3. Israeli passports
4. Child’s birth certificate with Apostille authentication
5. Forms for registering the child
6. Forms for renouncing the citizenship for you and spouse, and any kids above 16 YO (no need for kids under 16)
7. Multiple payment forms. The consulate can take a credit card, but I’d advise to bring cash and checks as backup
8. If there has been any name changes in the family, bring supporting paperwork.
Some consulates are busier than others, so try to figure out what lines you’re expecting. Most people who go to the consulate take a while to finish their business, so even if there were only 4 people behind you, you can get stuck for an hour or more.
I would also advise filling up the forms ahead of time, so that you don’t end up missing info, or writing hastily and unclearly on them. I actually loaded the form into Word and filled the details in print, and also brought a few extra copies just in case I spilled coffee on them or something.
Hiccups
Spending time and money getting to the consulate only to find that something is missing or wrong can be very annoying. However, most consulate employees have a very good service attitude and can help work out stuff. For example, when I made my visit, my son’s birth certificate didn’t have an Apostille stamp, but the consulate staff allowed me to get a new one and send it to them via FedEx. This way I was able to complete the process without having to travel again. If you run into a hiccup, try to think positively, and work with the consulate staff with the “what would it take to do this” approach rather than getting angry and confrontational.
Another hiccup I ran into was that the ministry of internal affairs needed a proof of foreign citizenship for all 3 of us. We did give ours during filing, but the consulate forgot to get our son’s, so after 3 months of considering the request, the consulate contacted us and asked us to send over a passport copy for the kid. You can avoid this delay by making sure you’re giving the consulate all the paperwork they might need, if they fail to ask for some.
After the trip
Once the paperwork is filed by the consulate, the ministry of internal affairs needs to review and approve the request, and each request is personally signed by the Minister. This means that it takes about 2-3 months for this to go-through, and you will be notified by the consulate (not directly by the ministry) about the results. Assuming the request is approved, the consulate will call you personally and ask you to send them your passports and Israeli ID cards. Once they receive your passports and IDs, they will mail you back a document confirming your status. This last step can take another month. For us, the whole process from setting foot in the consulate to getting the final certificate took 5 months.
The document you receive will be a standard Israeli ministry of internal affairs blue paper, saying that your citizenship has been revoked, plus a second page showing any kids who were part of it. You will receive 2 copies per person, and they look like this:
As you can see, the document clearly states that you need to display this paper when entering or leaving Israel. It is unclear to me whether the border-patrol computers will ever be updated with my status. A relative of mine says he needs to show the paper every time, even though it’s been 30 years since his citizenship was revoked. Upon my next visits to Israel, I’ll update this if I have more information.
I want it back!
So what if, after a few years, you suddenly have a change of hearts and want your citizenship back? Well, I’m not familiar with anyone who has done this, so the following is speculation, but the law of return specifically says that any Jew has the right to receive an immigrant Visa, with the only exceptions being if the person has acted against the Jewish people, or is a danger to the public or the state. That means that if you ever change your mind, you should be able to go back to Israel, get citizenship and even receive the benefits of a returning resident (תושב חוזר). Whether the ministry of internal affairs recognizes your special circumstances and give you a hard time is anybody’s guess. I believe that they won’t, and even if they did, this wouldn’t prevent you from visiting, living and working in Israel. The law says that you would need to apply for a Visa for those things, but I’m being told that beyond border patrol, this is rarely actually enforced.
Thursday, July 2, 2015
Truth, justice and the American way
Last week I had the honor of serving on Jury Duty for the Seattle superior court. As I was preparing for this and participating, I was surprised to see how little info people actually have about this, so I decided to write it up for any future jurors.
The jury duty starts with a random selection done by the county. They have a computerized list of every resident of the county, and every period, they select a group of people from it. Only 18+ American Citizens who are residents of the county can participate, but the list the county has sometimes has errors (for example, my wife was selected for Jury a few years back, before we were citizens). If someone receives a jury summons while not meeting the criteria, they can and should respond to the summons via the mail, stating the error or issue. One can also ask to be excused if they are out of the country or have other reasonable excuse (no, you can’t ask to be excused because you’re busy watching the Tonight show).
On the day you are summoned for, you are asked to show up at 8am, which is quite early (I had to get up at 6:15 to make it on time), but on later days you can show up at 8:45. I live in Sammamish and the court is in Seattle, so that was quite a way off. The court recommends using public transportation, and so do I. While using my own car would be more comfortable, it wouldn’t actually save time as driving alone would get me stuck in traffic, and parking around the courthouse is limited and expensive. The courthouse is next to Pioneer square, so virtually every major bus line goes there and there are no less than 3 lines from my town directly to the court. I took the 6:40 bus and arrived at the court at 7:40.
At the courthouse, you have to go through security screening, so it’s best to make sure ahead of time not to bring anything problematic (like pocket knives) and to wear a belt that’s easy to remove. I was able to get them to use the wand-scanner instead, but only after a bit of argument. Then, it’s off to the Jury assembly hall, which is a fairly large place, lined up with chairs (soft and comfy ones!) for about 200 people, I estimate. There were plenty of available seats.
At 8:20, a court clerk began a presentation, which took about 30 minutes and included a movie outlining various principles of the law, and how a Jury works. I’ll detail some of this further down. After this, they started calling people for trials. The way this works is that the court has one or more trials each day, and for each, they need a certain number of jurors (typically 20-30). When they summon the Jury weeks before, they don’t know how many trials will be on the specific day, so it can go either way...some days only a handful of people are picked and the rest dismissed, and other days many or most of the people are used. Sometimes they even run out of jurors and have to pick more from the next day’s batch. While waiting, we were also asked to fill a form with some personal details like my place of birth, workplace and job (this would be used by the attorneys later if I get picked for a trial).
The court computer picks up random names of people from those who showed up, and the clerk calls them out. These selected then go up to the courthouse, and the rest continue waiting in the assembly room. As the day goes on, there might be more trials, and more rounds of calling people out. Once people have been called out for all the day’s trials, the remaining people are typically dismissed. On my day, there were only 3 trials and I didn’t get picked for any of them, so by noon, they dismissed me with several dozen others.
While waiting to be called, the assembly room is fairly nice and convenient. They keep a good temperature, they have a bunch of vending machines and a kitchenette I could use to put or prepare food. There’s also a water cooler and an “office”, which is a separate room with desks and power outlets, where people can work if they choose to. There’s also unlimited free WIFI access throughout the place. All in all, a pretty nice environment, and everyone is very nice and friendly. It’s clear that they really care about the well-being of the jurors and don’t take them for granted, even though it’s a mandatory service.
Jury duty is defined as mandatory 2 days, which means the process I described above continues to the next day. If you weren’t picked up on the 1st, you are supposed to show up the next day and as they court goes through trials that are scheduled for that day, you might get picked for one. If during the 2nd day you aren’t picked either, then you’re free to go. In my case this week, there weren’t any trials scheduled for the 2nd day, so all jurors that started their service with me and didn’t get picked were told that there’s no need to show up on the 2nd day and we’re done. Lucky us! We weren’t actually old this on the day, but rather through the court’s phone hotline and website, which is updated on a daily basis.
Since I wasn’t picked for any trials, the next section is a tad more vague, as it’s based on the info we were provided (and my understanding of it) and not my personal experience.
Once a group of Jurors is picked for a trial, they are sent upstairs to the courtroom where the trial is to be held. At that point, the judge assigned to the case instructs and guides the jury members about the case and the law related to it. This includes specifics about the case and the defendant, as well as meeting the lawyers representing both sides (defense and prosecution). The judge also provides an estimate of the trials length, and then gives each juror a chance to ask to be excused due to “undue hardship”. For example, if you have a planned trip that will collide with the trial, or if you have some business or family matter that will complicate your life significantly, you can ask to be excused. Then, it’s the lawyer’s turn to interview each of the jurors. This is to allow them to get rid of jurors who might have bias, or in other ways make the trial “unfair”. Essentially, lawyers use this to eliminate jurors that decrease their chance of winning, or lead to a more severe punishment. For example, if the defendant is accused of rape, and a certain juror has been raped in the past, she is more likely to treat the defendant harshly, and so the defense lawyer would prefer her to be excused.
During the interview process, each of the sides can excuse a juror for a “good” reason…or for any reason (meaning the real reason is uncool, embarrassing or otherwise better be left unsaid). The number of jurors that could be excused for “any” reason is limited, though, so as to not encourage too much of that. The number of people that can be dismissed for a good reason is not limited, so sometimes after both defense and prosecution are done, there aren’t enough jurors left and they have to call the jury assembly downstairs and ask for more people (this actually happened during my service – they initially had 90 jurors, but that wasn’t enough and so they called in 30 more). I’m not sure how they determine how many actually jurors are needed for each trial, but the panel actually includes one or more “standby” jurors, which can be called in in case one of the jurors needs to leave mid-trial for some reason. The common opinion is that defense lawyers usually excuse highly-educated people (especially those with legal education), as well as people with extensive trial experience. They also don’t like people who are pro-death-penalty and in general, anyone who is very assertive or strongly opinionated about anything (because these
Once the jury panel is finalized, the trial can begin, and once all the evidence and witnesses has been introduced, the Jurors’ go into the deliberation room, where they need to elect a “leader”, who steers the deliberations, finds info from the judge or lawyers when needed and ultimately also reads out the verdict. The deliberations might require the verdict to be either a majority decision, or unanimous, depending on the issue. Criminal cases typically require the decision to be unanimous, while civil stuff usually only requires a majority vote. Once a decision has been reached, the court re-convenes and the jury leader reads out the verdict. At that time, the jury is dismissed to return to their families and/or workplace.
So…I got off pretty quick this time. I spend about ½ a day waiting in the assembly room, and was then dismissed for the day and told to not come back for the 2nd day. I’ve heard that Jury duty is rare in Puget Sound, so I might be scot-free for a decade. I guess time will tell!
Friday, June 26, 2015
Break up with your mechanic (Honda Pilot and other heavy cars break issues)
For a number of years now I’ve been the proud owner of a Honda Pilot. That kind of size fits me really well, as I’m pretty big fellow. However, there’s one downside to owning the Pilot, which also applies to several other big vehicles. Stopping heavy vehicles takes a lot of breaking power, but many SUVs such as the Pilot are equipped with relatively-small breaks that aren’t really fit for the job. When you break the car, the strain causes the breaks to heat-up, and if you break extensively (for example, if you drive a lot in a hilly area), the breaks overheat and the metal plates known as break rotors start to deform. When this happens, you start to feel the car vibrate when you break. At first, it’s just minor shaking when breaking at high speeds, but as time goes by, it can become noticeable even when slowing down at low speeds.
How soon this happens depends on your driving and where you live. For people who drive a lot down the hill, this can start to happen within a year of buying the car. The “fix” for this is “turning” the rotors, during which the rotors are taken out and get a run-over with a lathe, which grinds a layer off the rotors and returning them to their former smoothness. Unfortunately, this isn’t really a fix, because not only will the rotors heat-up and deform again, they will actually do so faster as they are now (thanks to the turning) thinner and more sensitive to the heat.
A better fix is replacing the rotors with new ones, but if you just get regular rotors, you’re buying yourself a year or two at the most. About half the cost of either replacing or turning the rotors is the labor, as taking apart everything takes about 1-1.5 hours (auto shops often charge 100$ and up per hour). Usually, the deformed rotors also wear-out the break “pads” faster, so most mechanics will recommend replacing these too (some will outright DEMAND it).
When my previous Pilot had this issue, I paid a mechanic about $440 for the whole thing, including parts, labor and taxes. However, when I needed to do this again a year later, I decided to not take the lazy and expensive way out, and researched my options a bit better. Here are my lessons, and hopefully, this can save you too some money and heart-ache.
The 1st thing I learned is that there’s actually an even better fix – Drilled rotors. This is something that’s typically done to Race cars to improve the break’s performance. This entails drilling about 20 holes in the rotor, which allows it to cool faster. With race cars, this improves the reliability of the breaking system, and for us home users, it improves the cooling, which means the breaks can sustain more action before deforming. This doesn’t mean it’s foolproof…if you drive down all the way down from Mr. Rainier, they will still heat up and possibly deform, but for normal driving, drilled rotors will last much longer. Another thing that can be done to rotors is “Slotting”, which entails making deep grooves in the rotor. Slotting also improves the performance, although lesser so than drilling.
This doesn’t mean you drill your rotors yourself, of course. There are many break manufacturers who offer drilled, slotted or Drilled & slotted rotors. Some better known brands are DBA, StopTech, Power Stop, ACDelco, Raybestos and Brembo.
Below you can see regular rotors, slotted rotors and then rotors that are both slotted and drilled:
If you go to your auto shop and ask, they should be able to get you such improved rotors, but as I’ve found out, parts cost a LOT more at ALL car shops. I’ve literally called up dozens of them, and they all quoted me upwards of $150 per rotor, plus around $35 per break-pad, plus labor and tax. My solution? Buying online!
Sure, buying car parts online is scary. It’s hard to know if the part is good or not, and it can be hard to know if it will actually fit your car. It’s also hard to know if you really bought everything you need, or whether you’ll find out last-minute that you’re missing a part. Well, being Frugal can be stressful, and I can’t recommend this to everyone, but even if you do go and get the parts at a garage, make sure you shop around and haggle down the price. If a set of drilled and slotted rotors and pads can be had online for $190 (shipping included), there’s no reason a mechanic should charge you $500 for it. Their typical excuse is that it’s the price “their computer” gives. This is bullshit, of course…if they stick to a supplier that is charging them twice the market value, they are screwing themselves AND their customers, and they won’t lift a finger to get you a better deal, find another place. Most cities will have dozens if not hundreds of shops, and since replacing your rotors is usually not very urgent, put in the time to shop around. By the way, Amazon’s site can actually tell you whether a certain part fits your car. When you search for stuff like break rotors or break pads, you can tell Amazon which car you have, and it will tell you. Power Stop is a highly rated maker of breaks, and they are very affordable, and also offer kits that include a full set of rotors and pads that’s cheaper than buying separately. Below you can see the fit guide. My kit was this.
Next thing to consider is labor, of course. Replacing rotors is one of the simplest jobs for a mechanic. It’s not “easy”, but there are really no variables or diagnosis. With the right tools and experience, a mechanic should be able to complete this (replacing 2 rotors and pads) in 1 hour. Without the right tools (for example, without a good lift or an impact-drill to remove the bolts), it could take 1.5 hours, but absolutely not more. A decent car shop should charge no more than $100 per hour, and it’s worth asking explicitly how much labor this job is, and how much they charge per hour. If they want more than $150, then you’re dealing with crooks. Again, to be clear…this isn’t one of those things where there’s “quality”…it’s not like a Doctor doing heart surgery. Replacing breaks is more equivalent to a nurse putting on a bandage, and there’s no reason to pay a lot for it. If the mechanic charges more because he has 80 years of experience…than he’s just playing you for a fool.
Personally, I know how to do this sort of work myself, and I could have stopped there, having spent $190 on a full set of parts, but I decided that at my age, I shouldn’t break my back and risk getting hurt (I’m a tad clumsy with the tools), so I decided to go ahead and pay for someone to do the work.
Most shops I asked don’t want to give up the nice margin they make on parts, and refused to do the work with parts “from dat damn innernayt”, and others tried to deter me by proclaiming they can’t warrant the job if it’s not their parts. I told them all to get lost, as they were quite a few shops that were happy to do the work (in fact, several even SUGGESTED I get the parts myself to save costs). The one I picked was a local company called CTU. Their benefit? They COME TO YOU (hence the acronym CTU). They charged me $90 for the work (which was already lower than most others) and performed this in my driveway quickly and easily. This way, I didn’t have to waste time driving around or waiting around for the job to get done. Furthermore, they actually were happy to do this on Sunday, so my car was getting fixed as I was watching a good episode of CSI.
The CTU I’m referring to works around Kirkland, Washington, but comparable companies usually exist all over the country. You might need to look them up on YELP or Craigslist (type “Mobile Mechanic”). Naturally, they can’t make all kinds of repair on the go, but for stuff like breaks, changing a battery, lights and stuff that doesn’t require specialized equipment or parts, this kind of service is super convenient.