8 ms·
I was in the US and want to immigrate to Canada because of US broken H1B immigration system ( for me it will take 9 years to get a greencard). Here is what I di
by t1o5 9y ago
I was in the US and want to immigrate to Canada because of US broken H1B immigration system ( for me it will take 9 years to get a greencard). Here is what I did -
The immigration website of Saskatchewan province opens up randomly to apply for immigration. I missed it many times because there is no indication other than the "Apply" button being enabled and a small text in their homepage which says "Applications are now 'open' ". They will close the application intake when they have reached X number of applicants. So timing is very important.
So I hacked up a script which diffs their home page every 10 minutes for "open" regex. When there is an "open" keyword in the diff, the python script calls twilio API to make a phone call to me along with an SMS.
So this script was running in AWS for many weeks and one day I got the call. Logged in to Saskatchewan's immigration homepage and applied. Now I am in Canada as a permanent resident. Thanks to Twilio.
edit: add H1B to make clear which type of immigration is broken IMO.
(This comment is from my previous HN account, for which I lost my pwd.)
- nnd 9y agoIs that for Saskatchewan Immigrant Nominee Program?
- t1o5 9y agoYes. SINP in short.
- deleted 9y ago[deleted]
- snadwich 9y agoWhy don't you convert this into a paid service? Sounds amazing!
- t1o5 9y agoI did, hosted at sinpnotifier.com, Saskatchewan province is not that attractive for skilled immigrants. Had one sale though, then I shut it down.
- justboxing 9y ago> Why don't you convert this into a paid service and > I did, ...Had one sale though Yeah, was about to say, it's too small of a niche. Plus the risk that sooner or later, Saskatchewan would update their site to provide the same feature.
- t1o5 9y agoYes, too small of an audience to sell it to. Also I didn't care about the timezones in the script. It will make the call no matter in which timezone you are in (you will get the call in the middle of the night), because Saskatchewan's site do not care, it will close when the quota gets filled and it gets filled fast, within hours !
- parthdesai 9y agoMaybe you didn't market it to right crowd? I know a lot of South Asian people who go to Saskatchewan just to get their PR. There are a lot of Software Engineering/Development jobs in Toronto or bigger cities so people in those fields wont leave these bigger cities.
- t1o5 9y agoThe problem with monetizing this service is because there are many immigration watsapp groups with many members in it. So when one member buys this service, he can simply broadcast this notification to his watsapp groups. I even made the service free, but no takers. Anyways it worked for me, changed my life !
- parthdesai 9y agoAh fair enough. Glad it all worked out for you. I did choose Canada ( well, my dad) for undergrad because of easier immigration policy.
- t1o5 9y agoYou took the right decision. (well, your dad).
- tonyarkles 9y agoDid you make it to SK? There's a few of us here, but not that many...
- t1o5 9y agoYes, made it to SK, but moved to Montreal for better job prospects. Probably will have to move to Toronto because my spouse's can't find a good job due to the strict French language requirements for non IT jobs in Quebec.
- jerrygoyal 9y agoI've heard that you need to stay in that province (min 2 yrs) if you go through pnp program. then how come you moved to Quebec?
- t1o5 9y agoIt’s express entry after provincial nomination. Once PR is given and landed, you are free to move and work anywhere in Canada.
- laktek 9y agoIf you want to build stuff like this in future, check Page.REST a simple API I built. You can pass a query string `contains=TEXT` to check the existence of a word or a phrase. Here's a Postman collection of all possible options with the API https://app.getpostman.com/run-collection/620bbe44b6ecc6c2e347 https://app.getpostman.com/run-collection/620bbe44b6ecc6c2e3...
- pfalke 9y agoDid the same thing to get a wedding registration appointment with the Berlin city administration, but used Ghostery instead of AWS+Twilio. The responsible administration department currently doesn’t give out appointments and advises not to plan weddings because they are so understaffed, but I didn’t feel like waiting. Got a notification email from Gostery in the middle of the night, registered the only available slot et voilà!
- arkades 9y agoCan you please elaborate on the state of your bureaucracy. It'll make me feel better about American politics.
- orbifold 9y agoI think it is a passing thing. Germany recently legalized Gay marriage and presumably that lead to a huge backlog of gay people finally wanting to marry.
- t1o5 9y agoSo we both had life changing events. Its the real winning moment of a programmer when he is able to use his/her skills for a "non-work" task automation. Its more satisfying.
- zeristor 9y agoIsn’t Ghostery an ad-blocker? I can’t see anything else with that name. All the references in this thread are great tips, so I’d like to track this one down too.
- pfalke 9y agoThanks for commenting - it was Ghost Inspector
- tathagatadg 9y agoI did a very similar thing to check if my H1B was approved. My use case was simpler - I regexp matched a keyword on the webpage and converted the script to an alexa skill deployed locally. Unfortunately, i wasn't home for the week when the approval happened :P. But it was fun asking alexa to check the status!
- mandeepj 9y agoCongrats. It is for sure a life changing hack. Not sure why you choose to do diff? You could have just searched the dom for the existence of 'Apply' button? Am i missing something?
- t1o5 9y agoFrankly, I didn't think much. Just wrote this script in an impulse of a moment when I missed a slot. During that time, I didn't think about how it was done, but the end result. Sure diff would have triggered false positives, luckily didn't get any.
- worldsayshi 9y agoPerhaps you didn't know how the button was supposed to look like? Seems like it's better to get false positives than to miss it.
- richev 9y agohttps://visualping.io/ https://visualping.io/ can do this, although it sends email alerts rather than SMS messages. I used it to notify me of new Hololens events, listed on this page https://www.microsoftevents.com/profile/web/index.cfm?PKwebID=0x352651541 https://www.microsoftevents.com/profile/web/index.cfm?PKwebI...
- mrhappyunhappy 9y agoThis is awesome, thank you.
- captaintacos 9y agoCool! Thanks for that Already using it to track whenever a couple stores here in Japan put the Nintendo Switch back in inventory or lottery sale
- jonah 9y agoOther possible services include https://uptimerobot.com/ https://uptimerobot.com/ and https://www.pingdom.com/ https://www.pingdom.com/ Just set it to check for the presence of a word on the page, etc.
- t1o5 9y agoBecause this was very important to me and my life forward, I thought it was better to roll my own custom notifier. Moreover, the phone call thing was the most important part which will get attention any time of the day than an email.
- zeristor 9y agoNo Hololens events in London, is that by design?
- richev 9y agoWait a while...it took about six months for one to happen here in Sydney. Well worth the wait - half an hour of exclusive use of a Hololens. All the while being recorded for market research purposes, but that seemed like a fair trade.
- godelmachine 9y agoCould you please upload your code on GitHub? May I ask your github profile?
- jcun4128 9y agoYou could write this with simpledomhtlm + php + cron or a raspberry pi (cron) and then send yourself a webhook notification via slack or configure mailgun (mailing client) or firebase android notification (haven't done this). Inspect the page,find the structure, isolate or if it is easier to just dump the entire plaintext and use strpos to find a specific word.
- plshlpme 9y agoHey, I would be willing to pay for such service. How should I contact you? My contact details are in my profile. Plshlpme
- zeristor 9y agoI’ve tweaked Gmail filter settings so some Meetup invites appeared as a phone alert, ie nearly everything else filtered into no alert. London Meetup fill up within minutes that many data science ones allot tickets “randomly” via lottery. Surely this is a market opportunity?
- t1o5 9y agoThe problems are too fragmented for a generic alert service to solve.
- WillReplyfFood 9y agoThis is interesting - as there do no longer exist equal opportunities between the different castes with this. Saddle the lawyers, we ride at dawn!
- mosselman 9y agoI get what you mean, but the same might be said for someone being able to check manually every 10 minutes. Then there is no equal opportunity between the working and workless classes.
- pc86 9y agoUsing one's intelligence and skills to better your life should be celebrated, not lamented as evidence of burdening some other "caste."
- briandear 9y agoTo be clear, H1B isn’t an immigrant visa. It’s a temporary skilled worker visa. There are other visas designed for skilled immigrants. Someone on an H1B isn’t an immigrant so of course the system would be “broken” when expecting H1B to result in a green card. It’s no different than expecting a tourist visa to be the first step to getting a residency visa. H1B was never implemented as a pathway to permanent residency. Still that aside, great ‘hack’ and congrats on getting your Canadian residency!
- t1o5 9y agoThats wrong information. H1B is a “dual intent” visa. Its broken because it was really intended for exceptionally skilled workers. But currently its a lottery. USCIS just takes the word of the company applying for it and grants the visa. This loophole is being exploited by numerous body shops. That is reason why there are low quality H1B workers. There are various other problems like employee mobility, spouses of H1B is not free to work in the land of the free. Country of birth based quotas for permanent residency, rather than skills or points based quotas.
- clay_to_n 9y agoI used this same technique to apply for an early interview for the U.S. CBP's Global Entry program. Someone already open-sourced the tool, then I set up a cron job to run it: https://github.com/davidofwatkins/ge-cancellation-checker https://github.com/davidofwatkins/ge-cancellation-checker
- Tepix 9y agoDid something similar to check availability of a special deal by my ISP. No need to write code, you only need a shell account on a box somewhere. Put a line like this in your crontab: 20 9,12,15,18,21 * * * curl -s http://example.com/special-deal-page | grep 'something that needs to appear on the page' | mailx -E -s "it's happening!1!" $MAILTO This will check every three hours during daytime (which is what I wanted). "mailx -E" will only send an email if the input is not empty. Don't forget to define MAILTO and to test the contraption.
- hi41 9y agoIt made me so happy to read your post! That is such an amazing idea!