Diary of a geek

November 2005
Mon Tue Wed Thu Fri Sat Sun
 
       

Andrew Pollock

Categories

Other people's blogs

Subscribe

RSS feed

Contact me

JavaScript required


Tuesday, 29 November 2005

Australian to American translation #3

Pepsi Max
Pepsi One
jumper
sweater
petticoat
jumper (many sniggers when you refer to "putting on your jumper")
entree
appetizer
main course
entree (ordering entree-sized dishes will not have the desired result)

[23:13] [life/americania] [permalink]

Thursday, 24 November 2005

My E-3 visa experiences

I've already fielded enquiries from two people who have found my blog via Google, and given the 10,500 visas a year being issued, there's only going to be more, so in the interests of not spending too much time answering questions individually, I'm going to write a detailed account of things.

Disclaimer:

This article is not a replacement for doing your own homework. I expressly disclaim any responsibility for you getting your visa application denied, being cavity searched when you attempt to enter the US, or being sent to Guantanamo Bay. In particular, this information is subject to change, and as I'm not applying for a new visa every day, I'm not going to know about the changes. If you find something here that is blatantly wrong, or out of date, please let me know, but at the moment, I'm writing about my experiences. I'm undecided about maintaining a website devoted to capturing the state of the art in E-3 visa applications. If in doubt, spend the money (and I do mean spend, it's not a cheap phone call) and call the information line - 1902 941 641 - to speak to a human being, and ask all the questions.

Resources

What's the process?

Your potential employer (sponsor) needs to file a Labor Condition Application (see the form here). At present, this form hasn't been brought up to date with respect to E-3 visas, it's the same form used for H1-B visas. Your employer needs to have written at the top of each page "E-3 - Australia - to be processed". This bit of handwriting is apparently key.

You need to have the signed LCA in your hot little hand before you roll up at the US Consulate to apply for your visa. As for how long these take to be processed by the Department of Labor, the FAQ says a week for postal applications. From my experience, and the experience of a couple of other people I've spoken to, it takes anything up to about four weeks. Generally speaking, you do not have to concern yourself with the LCA process, unless for some reason, you're sweating on the LCA so you can apply for your visa. My personal opinion is that the whole process is so long, bureaucratic and unpredictable, that you really don't want to be making any firm plans based on any assumptions on when you think anything is going to happen. Start your planning from when you have been issued your visa, not when you expect you will be issued your visa.

Once the LCA has been issued, your sponsor will send it to you along with a wad of paperwork, most of which you just take with you to the consulate. You can make an appointment online. Paperwork-wise, you need to take a completed DS-156 and a DS-157 if you are male between 16 and 45. These forms are available here. You can make an appointment online, the links to make an appointment at each of the US Consulates are also here. I found that the lead time to an appointment was around a month, so if you know the LCA application has been made, you can probably make the booking at the Consulate, so as to try and parallelise things a little bit.

What do you need to take to the interview?

You need to take your completed DS-156 and DS-157 forms. You need one for each person. So if you are the principal (i.e. the person being hired), you need a DS-156 for yourself, and your spouse, and whichever of you is male needs a DS-157. Bring the sponsor's offer letter too.

You need a receipt for a non-refundable visa application fee. You need one receipt per person applying for a visa. You get these receipts by paying $130 per person at any Australia Post outlet.

As the visa is non-immigrant, you need to be able show some sort of ongoing connection with Australia. If you own property here, and are planning to continue owning it while in the US, bring a rates notice. I don't know what else is useful to demonstrate an ongoing connection.

Also bring a bank statement, as you need to demonstrate an ability to support yourself while in the US.

Bring birth certificates and marriage certificates. Also bring a copy of your University transcript, and any assessments that your employer may have had done that state that you hold the equivalent of a US degree. I'm not sure how hard and fast the whole degree thing is. I have an incomplete degree and about 10 years of work experience. This was sufficient. I don't know how you'd go with absolutely no degree and lots of work experience.

Finally, you need to bring two US-sized passport photos. These are 5cm x 5cm, which are not what your average passport photo is like if you go somewhere and ask for a passport photo.

Processing takes about 3 days, although you get an indication on the day as to whether you are successful or not. If you don't want to come back to collect your passport with the visa in it, you need to leave sufficient stamped, self-addressed envelopes so that the Consulate can mail the passports back to you. It's a bit hazy as to what constitutes 3 days, but assume 3 full working days, plus whatever time it takes for the postage, so up to 5 working days.

Good luck with your visa application. Let me know how it goes, and if this has been of assistance.

[12:42] [life] [permalink]

Priceless


My blog is worth $11,855.34.
How much is your blog worth?

[10:33] [meme] [permalink]

Monday, 21 November 2005

Accidentally good choice of start date

We seem to have conveniently and unintentionally chosen a good week to start. Thursday is Thanksgiving, and a holiday, and Friday is as well, so three day week.

Talk about easing into things.

[22:53] [work] [permalink]

My kingdom for a bayonet light bulb

So, they're obviously very proud of the fact that Thomas Edison invented the light bulb, as they're all Edison Screw over here. Nary a bayonet to be found anywhere. Difference illustrated here.

On Sunday we went to Home Depot (the one we walked into at Milpitas could have been Bunnings at Fyshwick if it were green instead of orange), and when I asked someone about light bulbs with bayonet fittings, he made noises about auto shops and stuff, which suggests that they just don't do house lighting with them at all.

Why do I want a bayonet light bulb so badly? I have a lamp that was made by my late grandfather, which is one of the few non-dual voltage items I didn't jettison (probably the only one actually), and I was rather keen to actually use it. I don't expect the bulb that was in it to survive the shipping process, and even if it did, if it didn't instantly blow up at 110V, I suspect it would be a bit dim.

If anyone knows of any bayonet-to-edison adapters, please let me know.

Update:

Google is my friend

[22:16] [life/americania] [permalink]

Australian to American translation #2

ta
thank you
manchester
sheets and towels and things of that ilk

[21:39] [life/americania] [permalink]

First day

My brain is full. I wonder if cranium extensions are covered by health insurance over here?

All I will say is that it is so cool, and that they have their induction process down pat, and the breadth and depth of their internal corporate intranet is nothing short of that of the Grand Canyon.

I am indeed feeling lucky.

That is all.

[21:20] [work] [permalink]

Saturday, 19 November 2005

Debian saves the day again

I'm already over punching in over thirty numbers to call people back home with the prepaid phone card I've bought, so I did a quick apt-cache search dtmf, happened upon dtmfdial, and in five minutes had a quick and dirty shell script making my laptop do all the button pushing for me. So as to not drive anyone in earshot insane, I just hold the cordless phone's microphone to my headphones.

Of course, if the phone had a speed dial, all this would be unnecessary.

[23:46] [geek] [permalink]

Australian to American translation #1

(Despite what I said, I'm still going to feed this to Planet Debian as I've actually had one person ask me not to stop)

feature wall
accent wall
ensuite
confused look from apartment leasing salesman (Australian for the bathroom attached to the master bedroom)

[22:42] [life/americania] [permalink]

Hello America!

Where do I start? It's been an eventful couple of days...

The flight to LA was uneventful. Qantas is certainly orders of magnitude more pleasant to fly with than United, even though we were seated in a bulkhead area. I had a 13-month old baby seated next to me (no, Mikal was on the other side), and he was about as well behaved as you could possibly ask a 13-month old baby to behave. Mikal also behaved himself. I had the intention of trying to get something approximating 8 hours sleep, as we arrived at LAX at 7am local time, but I only managed about 4 hours. I did spend about 8 hours with a mask on and my brain in idle, so I arrived at LAX being mostly coherent.

Entering the US via LAX was a much less traumatic experience than I was expecting. The E-3 visa was accepted fine, and I now have an I-94 stapled into my passport. Quarantine involved getting looked up and down by a guy in a booth, who waved me through.

We had 3 hours to spare (or about 2 by the time we cleared all the immigration/customs queues) and then hopped on a 50 minute American Airlines flight to San Francisco, hired a car and drove to Santa Clara.

The accommodation we're staying in for a month is very spiffy indeed. It's a largish gated community of units. Mine's got a ground floor entry, but everything else (except the garage) is upstairs. When Sarah gets here, we'll put up some photos. The weather is lovely as well.

Our first outing was to the Social Security office to attempt to get social security numbers. This wasn't as successful as I'd hoped, as we were too freshly in the country to show up on their systems, so we left with letters saying we'd get one within four weeks, when our details had been verified.

Yesterday evening, we went for a general recce of the surrounding area, and checked out a supermarket. That was less disconcerting than I expected, although I don't think it was a terribly huge supermarket. Having a GPS certainly raises one's confidence when navigating significantly.

Last night I discovered that all the keys in my apartment were not created equal, and that the two loose in the lock box on the front door were the only two that opened the unit, and the two sets on key rings on the coffee table only opened the amenities and my mailbox. So I got to spend a bit of time sitting on my front doorstep until the nice man from Synergy Relocations came out to let me in (except his key didn't work either, so he got to make conversation with a legal alien while we waited for someone else to come out with a key).

Today, we drove around to see a shopping mall, and the first set of shops we found happened to be around the corner from an enormous (by my standards) apartment complex, which had some signage implying that it had vacancies, so we decided to get the low down on how renting worked before we did our rental tours. Casey drove us around in a golf buggy and gave a tour of what two different floor plans looked liked. It seems that in this part, it's standard for an apartment to include the refrigerator, dishwasher, microwave, washing machine and clothes dryer, which is good to know.

Let me just say that if this is what living in an apartment complex is like, it's more like living in a resort. The place had pools everywhere, tennis courts, two gyms, a community centre, it was just unreal. It was also cheaper than I was expecting.

We then went to a massive shopping mall to do some window shopping. Discovered Wetzel's Pretzels. Hope they're not too fattening...

Tomorrow, I'm going to avail myself to the complex's gym, and generally get ready for the week ahead.

Future posts will be in a new category, which I won't be feeding to Planet Debian as not to bore people. I will inflict Planet Linux Australia readers with them until someone asks me to stop. If you'd like a custom feed that excludes my American adventures, please let me know.

I wonder if adjusting Blosxom's idea of timezone buggers up existing posts and aggregators like Planet in general?

[17:38] [life] [permalink]

Thursday, 17 November 2005

Farewell Australia

Well, this is it. I'm in the Qantas Club with Mikal, the flight to LA boards at 12:35 or something. I ticked the "not coming back box" on the departure box.

This is going to be one hell of an adventure. Bring it on!

[16:13] [life] [permalink]

Tuesday, 15 November 2005

Roll back, or roll over and go back to sleep?

So, today is my last day at Cybertrust. Much to my displeasure it started at 4am, when I had to come into work to perform a load balancer upgrade.

I'd previously joked with a few people that I was tempted to not bother with the upgrade and just say I'd rolled back. Funnily enough, that was exactly the outcome anyway...

Being an uber secure facility, we keep all our class C rack keys in an electronic key safe. This being a funky PIN access-restricted, battery backed, solenoid-driven thing.

So when I rolled up at work at silly o'clock, the first thing I went to do was go to the key safe to pull out the rack keys I'd be needing to access the relevant racks to perform this upgrade. They key safe's little LCD display was dead. I laughed. I then proceeded to get lots of people out of bed to try and track down the location of the spare set of keys that wasn't in the key safe.

So to cut a long story short, we burned all our troubleshooting time trying to get rack keys, and we had some strange problems with locally attached devices not ARPing correctly, so we had to roll back anyway.

So I might as well have rolled over and gone back to sleep at 4am when the alarm went off. At least I'll get to knock off work early.

[15:01] [work] [permalink]

Monday, 14 November 2005

An uplifting experience

So, as of sometime this morning, most of our worldly possessions were (in cartons) loaded into a shipping container bound for the US. Unfortunately, I don't finish work until Wednesday, so my lovely wife was charged with supervising the packers yesterday and today.

My one word of advice with respect to packers is to be extremely careful, and assume that they will assume nothing. If you don't want something packed, don't leave it unsupervised or anywhere where it may be packed. My electric toothbrush was left unattended for slightly too long, and is in a carton somewhere. As was half of the bike rack until we raided a few cartons last night and rescued it.

Obviously literacy doesn't rate very highly as a requirement to be a packer either. We had "stools" spelt as "stulls" and "wine rack" spelt as "win race" on some of the items packed. I'd also never seen a couch bubble-wrapped until yesterday. Pretty much no item was left exposed. Everything is either in a carton or bubble-wrapped with funked brown-paper-backed, branded bubble wrap.

[20:56] [life] [permalink]

Is there a new BIND vulnerability lurking in the wings?

In recent times I've started seeing something in my logs that I haven't seen before. I'm yet to do any further investigation, but I suppose the next steps would be some packet captures and BIND source code poking...

Nov  8 02:13:16 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov  8 02:13:16 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov  8 02:13:16 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error

Nov  9 01:08:33 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov  9 01:08:33 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov  9 01:08:33 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error

Nov  9 10:01:13 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov  9 10:01:13 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error
Nov  9 10:01:13 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov  9 10:01:13 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov  9 10:01:13 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error
Nov  9 10:01:13 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov  9 10:01:13 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov  9 10:01:13 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error

Nov 11 00:02:35 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov 11 00:02:35 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov 11 00:02:35 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error
Nov 11 00:02:35 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov 11 00:02:35 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov 11 00:02:35 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error

Nov 13 02:05:47 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov 13 02:05:47 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov 13 02:05:47 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error
Nov 13 02:05:48 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov 13 02:05:48 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov 13 02:05:48 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error
Nov 13 23:03:05 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov 13 23:03:05 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov 13 23:03:05 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error

Nov 15 02:37:32 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov 15 02:37:32 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov 15 02:37:32 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error
Nov 15 02:37:34 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov 15 02:37:34 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov 15 02:37:34 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error
Nov 15 02:37:34 daedalus named[6933]: errno2result.c:109: unexpected error:
Nov 15 02:37:34 daedalus named[6933]: unable to convert errno to isc_result: 14: Bad address
Nov 15 02:37:34 daedalus named[6933]: dispatch 0x80f6970: odd socket result in udp_recv(): unexpected error

[14:18] [tech/security] [permalink]

Thursday, 10 November 2005

Distributed code reviews are cool

Thanks Sam for your even more compact (but harder to follow) PHP code to find a specific instance of a given day in the month

I haven't tested your first function rigorously, but it seems to hold up to the second and fourth Thursdays of the month, which is mainly what I'm after.

The second function, which avoids function calls, appears to suffer from a partial off-by-one bug.

[13:33] [code] [permalink]

And it's not even summer yet!

My friend Kim, who's done the Brisbane → Melbourne → Brisbane thing (like I've done the Brisbane → Canberra → Brisbane → Canberra thing) is finding summer back in Brisbane a bit uncomfortable.

When I moved back to Brisbane I did it around this time of year, and coming from Canberra's late spring (which actually behaves like a late spring) to Brisbane's eternal summer of a spring is a bit of a shock to the system.

The humidity was the prime factor in me wanting to return to the blissful dry heat of Canberra's summer.

Kim, I feel your pain, furthermore, I'll be in Brisbane this weekend to feel it in person.

[03:45] [life] [permalink]

Finding a specific instance of a given day in the month in PHP

When I took over organising the CLUG meetings, I managed to replace most of myself with a small shell script (I even have the t-shirt).

Now that I'm leaving Canberra, Steve Walsh has kindly taken over the running of the script.

So I've done a bit more work on the script, and added a public front end to it, and made an RSS feed (my very first).

So until yesterday, to work out the fourth Thursday of the month, I'd been calling a Perl script that used Date::Manip, when I decided to investigate doing it with PHP natively. Tony gave me some initial code, but I ended up with this:


function nth_day($instance, $dow, $month, $year)
{
    
$first_dom = date("w", mktime(0, 0, 0, $month, 1, $year));
    
    if (
$first_dom <= $dow) {
        
$first_instance = date("j", mktime(0, 0, 0, $month, 1 + ($dow - $first_dom), $year));
    } else {
        
$first_instance = date("j", mktime(0, 0, 0, $month, 8 - ($first_dom - $dow), $year));
    }

    
$instance_we_want = $first_instance + (($instance-1) * 7);

    
$date = date("j", mktime(0, 0, 0, $month, $instance_we_want, $year));

    return
$date;
}

[02:05] [code] [permalink]

Sunday, 06 November 2005

Ouch

Greg Kroah-Hartman did say:
If you have a problem with the way Debian handles udev, I'll point you to the proper place to complain about that. Debian is slowly sinking into the muck and it's fun watching it happen.

That hurts.

[19:31] [debian] [permalink]

Obfuscating email addresses with JavaScript

So I got pet peeved by Carlos Laviola in relation to by recent pondering about how MacOS X's SSH agent starts up on login.

Perfectly reasonable grounds for complaint. I have had people contact me in relation to blog posts in the past, so it's obviously not impossible. People know I'm a Debian developer and can put two and two together and wind up at db.debian.org.

Anyway, I'm the first to admit that my blog probably has too many of the Weblog Usability Top Ten Design Mistakes (something for me to work on). To date, I've been avoiding plastering my email address on my website because I didn't want to get it harvested. I try and use a per-list email address for this reason as well, and I haven't enabled blog comments because of comment spam, and because I haven't been clever enough to implement comments with Blosxom full stop.

So I started getting an idea for reversibly encrypting my email address on my blog after reading about Hashcash for Wordpress the other day.

I first started playing around with the Vernam cipher in High School, when I wanted to easily reversibly obfuscate some data for something. I'd read about this cipher in a magazine or something and seen it implemented in Pascal (it's not exactly hard).

So I happened upon the idea of encrypting my email address with the Vernam cipher. Turns out another chap's already got a page for encrypting and decrypting on the fly with JavaScript. It even generates the JavaScript for putting in your own web pages. I had to use a different key to avoid getting dollar signs in the encrypted string, as this confused the tripe out of Blosxom (and me for a while when I tried to figure out what was going wrong).

Then I thought it'd be nice to explain to people who had JavaScript disabled what they might be missing out on, so I fiddled around with some DOM stuff, and had some text get displayed if JavaScript was disabled. When JavaScript is enabled, this text is replaced by the decrypted text.

So of course, like the Wordpress Hashcash, this is largely relying on the inability of spam bots to grok JavaScript. Once they can, this obfuscation technique is all for naught. Meanwhile, you can email me bit more easily now if you get the urge.

View the source of my blog for an example of the implementation.

[03:56] [code] [permalink]

Tuesday, 01 November 2005

The quest for IPMI LAN access over down interfaces continues

Today I upgraded daedalus to 2.6.14. I had to backport yaird to stable, which wasn't a big deal. It's available here if you're interested. The kernel package for 2.6.14 from unstable worked fine otherwise.

I had two motivations behind upgrading - inotify and another look to see if the situation with IPMI had changed.

Well inotify just works, and is the bomb. I'm going to have lots of fun with it.

IPMI, on the other hand is still broken, which makes me sad. As I've previously pointed out by way of example, LAN access to the base-board management controller via IPMI is impossible after Linux shuts down the interface. It's supposed to work, but the way Linux does it seems to stop it from working.

I'd read that the problem was resolved in 2.6.12, and so dutifully tested it out on daedalus to my detriment. I also tested it on 2.6.14, but again, had the same problem (I remembered to schedule a deferred reboot this time).

So IPMI with a box running Linux is all good as long as the box is actually running. I suspect if the box panicked and/or hung itself, it'd also be useful for rebooting it, but if you shut the box down and remove power, IPMI won't allow you to turn it back on again.

[16:01] [tech] [permalink]