10-20 years ago everyone had a T-coil and loop systems were a great option. Now they're not.
285 karma · joined May 1, 2016
10-20 years ago everyone had a T-coil and loop systems were a great option. Now they're not.
Also Cloudflare "protected" 8chan during the Christchurch terrorist shooting last year which makes them unpopular in some quarters. I have heard that given as a reason our largest telco won't peer with them.
Isn't this the experience of getting a song "stuck in your head?"
It helped that we were in the middle of the GFC and the idea of 9 day fortnights were in the news as a way for employers to cut costs.
Later I managed to keep that job and work remotely, living in a smaller town with low living costs. Even better! The small town also had fibre in our street so for a while I had faster internet than head office :-)
That's the advantage of several connections from the same IP :-)
I've been using EarthVPN[1], one of his unreviewed options, for several years, and am very happy. It's cheap and cheerful, but yes, the website isn't great. The company is registered in Cyprus, and at USD40/year with three concurrent connections (from the same IP) and servers in many, many countries, it's a great way to bypass geoblocked websites.
GitHub is not my resume. No one has paid me to work on open source outside of a few isolated instances - I did port an RDP client to SVGAlib once.
NBN handover charges are excessive, and interconnecting with Telstra is crazy expensive, and you need to for good domestic connectivity. The NZ UFB fibre network has much lower handover costs, and the incumbent telco here is marginally more reasonable.
I know because I can get that way. I'm one of those people who ends up knowing how everything works because I'm wired that way. And it's really hard to hand jobs off to colleagues who you perceive as less competent. That's perfectionism. It's a great way to not get things done that need doing. Because you don't have the time to do everything that needs doing.
There isn't enough time available for you personally to do everything you feel you need to do, to the standard you feel it needs to be done, that you think no one else can achieve. Certainly not if you also need to feed your family and the things you need to do are not bringing in enough income.
The solution, as annoying as it is, is to drop your standards, to realise some of those needs are actually wants. Having a cool, fulfilling job that pushes all your buttons and pays really well is a luxury many people don't get. Having random strangers pay for your living costs so you can do cool stuff is a massive, massive luxury only a few people get.
What's really important to you: NTPsec or food & shelter? Sounds like you're choosing the former.
Making these choices is hard. I've moved to a small town and as a one man band cannot get the sort of technically sophisticated work that I really enjoy doing. But hey, living here is cheap and people are friendly and laid back. We have a lovely house. Trees the kids can climb. I can cycle from suburbia to my office in 7 minutes.
To get this, I had to give up my dreams of having top notch IT work.
I don't have a Patreon. I could work on some cool infrastructure work, too, if I had one and people donated enough to keep my family afloat. But I don't. I have a job that is sometimes boring and sometimes not. And I have a roof over my head, food on the table, access to good medical care, running water, electricity, broadband ... I'm doing better than most of the world's population. I can't complain.
At one point they bought the building of an ice cream factory in Miramar because it already had a massive electrical feed.
They employ a fair few people in Wellington, my neighbour used to work for Weta as a sysadmin. Everyone was a contractor, doing 10 hour days. Not my scene.
The number of handset bugs we had to work around was immense. One handset, the Samsung A790, would reboot if you drew text on an offscreen buffer. Another, the Samsung N330 which we nicknamed the "shaver phone" for obvious reasons[1], ignored a few least significant bits of the source x coordinate when you did a bitblt from an offscreen bitmap to the screen, IF the offscreen bitmap had fewer than 4 bits per pixel.
We ended up writing our own graphics code that wrote into the BREW backbuffer, set the damage rectangle, and asked BREW to blit that to the screen for us. This was much faster than the BREW runtime's graphics code, so games ported via our automated system often ran faster than "hand-ported" games.
The LG AX260 would crash with an error screen if you used threading -- I suspect an ISR would notice the stack pointer was in the heap and halt the phone. This was a BREW 3 phone, and BREW 3 actually had a threading API, so we thought maybe the solution was to use the real threading API instead of setjmp/longjmp. No, BREW 3 threads froze the phone too. We worked around the problem with some help from memcpy and some rather evil stack pointer manipulation. Our stacks were pretty small as all Java objects were allocated on the heap, so this wasn't as bad a performance issue as you'd think. I refactored the scheduler to avoid stack copies if it decided to keep running the current thread.
The worst bug I remember, though, was in the ARM RealView C++ compiler. It optimized out a null pointer check -- you could write to the logfile the pointer value, write to the logfile from the exception throwing code ... which never ran. I eventually got the compiler to generate an assembly listing for the function in question and discovered that no null pointer check code was there. One volatile keyword later and we were back in business.
Our customers loved the product because it just worked. We supported full Java semantics, all the way down to static initializer ordering. It was a simple choice to make -- the more robust our system was, the fewer support incidents for us and the happier the customers. We produced human-readable C++ code so you could run your app in a debugger if need be, and did some clever whole-program optimization. Our runtime was a real memory miser as a "400k" Java handset would have 400k of heap -- code and images tended to live outside that. We could compile a game for a 400k Java handset to run on a 400k BREW handset -- 400k for our runtime, the user's code, the heap, image data, audio data... I vividly remember the time I saved a whole kilobyte of RAM -- that was a major win.
I worked with the smartest people I ever have at that company. I've never been in an environment where everyone was just brimming over with technical adeptness. And we weren't just a company of young things, there were a few over 40s there too.
[1] http://www.cnet.com/au/products/samsung-sch-n330-verizon-wir...