I wish that logic programming languages (and especially the one used in that article) had more friendly syntax. Even just replacing ":-" with "<-" would be nice...
Actually, Prolog uses "-->" for to define grammars[1] for parsing. Not confusing at all! :)
(actually, parsing is one of the things i really love about Prolog. Writing a simple grammars is much easier and much more pleasurable than using things like regular expressions. The fact that it's far more powerful and readable is just a bonus. )
I also strongly like NAT. In roughly descending order:
1) It fails safe. Virtually all device misconfigurations result in failure to pass traffic, rather than being passed accidentally.
2) You get full control of your external signature (at that protocol level). When Comcast and AT&T realize that they can charge for more than a single /128 on their consumer networks we'll see a lot of wailing and gnashing of teeth on /r/technology, and it will be completely inane to those of us that saw the same companies attempt the same BS with NAT detection in the late 90s.
3) I would like to be able to implement dual stack in networks that I'm responsible for with as much similarity as possible. Having to reason independently more than needed about how IPv4 and IPv6 behave is needless difficulty.
4) IPv6 allocations today are asininely large. We're going to have 30-45 years of overallocation and then be out again, and in the interim we'll have a whole host of new braindead protocols in the manner of FTP and VOIP. The collective lessons we've learned about NAT will have (for all intents and purposes) been lost and we'll get a bunch of new shoddy hacks for dealing with them (passive FTP and NAT-T).
5) If it's a useful tool, by the user's estimation, why can't I have it? The internet grew up on what amounted to "be a good peer and we can all get along", but on this specific topic it quickly dissolves into STOP LIKING THINGS I DONT LIKE, YOU CAN'T HAVE IT, I'M TELLING THE IETF.
> 1) It fails safe. Virtually all device misconfigurations result in failure to pass traffic, rather than being passed accidentally.
I don't see that, nor that it would even be an advantage.
> 2) You get full control of your external signature (at that protocol level). When Comcast and AT&T realize that they can charge for more than a single /128 on their consumer networks we'll see a lot of wailing and gnashing of teeth on /r/technology, and it will be completely inane to those of us that saw the same companies attempt the same BS with NAT detection in the late 90s.
How do you prevent people from coming up with stupid ideas by implementing some stupid ideas yourself? Is that a general rule you follow? Wherever companies could conceivably some day screw up some product, you do it for them now?
> 3) I would like to be able to implement dual stack in networks that I'm responsible for with as much similarity as possible. Having to reason independently more than needed about how IPv4 and IPv6 behave is needless difficulty.
So, you prefer to keep things broken forever if that means that things don't change?
> 4) IPv6 allocations today are asininely large. We're going to have 30-45 years of overallocation and then be out again,
What's your evidence for that? Seems like a completely baseless claim to me.
> and in the interim we'll have a whole host of new braindead protocols in the manner of FTP and VOIP.
So, NAT is good because protocols that don't work well with NAT are braindead because they don't work well with NAT?
I mean, I see your point if there is any risk that we might run out of addresses, but if we don't, what exactly is braindead about those protocols?
> 5) If it's a useful tool, by the user's estimation, why can't I have it?
You obviously _can_ have it. Just as you _can_ cut your head off if you think that's useful to you.
But all things considered, do the advantages actually outweigh the disadvantages.
This was it for me. I don't really care about the stupid "hit the monkey and win" blinking animated .gifs, and lived with them for years without really worrying, but in 2015 ad blockers aren't sunglasses, they're condoms.
Furthermore, I installed uBlock in Firefox for Android because ads were getting so bad that it was essentially impossible to view some sites. It was a last-ditch effort to offer the content one last chance to survive. If publishers would prefer I not see their content at all, that's fine... I was almost already there, anyway.
In response to jedberg's question: I personally don't mind but I don't believe I'm as petulant and entitled as the typical loud mouthed redditor, but reddit made that bed, and now they get to lay in it.
> Furthermore, I installed uBlock in Firefox for Android because ads were getting so bad that it was essentially impossible to view some sites.
This in itself is enough of a reason for me to use Firefox on Android and recommend it to everyone who uses Android.
There are a lot of other great things about it, but the fact that it allows installation of extensions (and therefore allows adblocking for non-rooted devices) is huge.
I'd argue that as long as an intermediate is passing out BS certs, nobody (modulo cert pinning etc) who trusts that intermediate or its root is truly protected.
Does anyone have info on the Sprint tethering pricing listed here? I don't see it on their site or a Google search, and the existence of such would be very compelling for me (obnoxious overage price notwithstanding).
I saw that as well... 2 and 6 gb. I understood the infographic to mean a base amount of tethering data was free per month, which sure isn't how it looks on Sprint's site.
Don't sweat it too much. You can do things to adjust your odds, but there's a lot of luck involved, so part of it is out of your control. Who's hiring, what they're looking for, how your resume matches what they want, and how you interview that day can all turn good candidates and good employers into non-matches.
Mind your ethics and personal preferences, but don't over-emphasize the fun part of a fun job. Your attitude can control your opinions to some extent, and this plays in your favor here. Employers generally trip over themselves to try to convince candidates that they're a fun and exciting place to work. They're not trying as hard to pour money on you (generally). Geeks are generally bad at negotiating, and bad early steps can have a long-term, sometimes nearly permanent, effect on your salary level. It's also common to feel bitter if you ever realize you're being screwed over financially.
Don't sweat recruiters too much. As a candidate your interests don't directly align with theirs. That doesn't mean that you're necessarily always at odds. If you care about a fun work environment you will probably find that they don't have much to offer you. It doesn't hurt to talk to them, but don't expect much.
Probably the single biggest attack point for hitting your stated goals is during the job interview. Make sure that you realize the interview is, and treat it as, a mutual process. Are your future teammates boring, stupid, or difficult? What's the manager looking for, explicitly and implicitly? Why did the last person on the team leave (even/especially if the team is growing)? How does the hiring manager (or the higher-up "fit" interviewer, usually a Director or executive) think about the company culture, and what do they do about it?
You will probably not benefit by bringing up salary or benefits before the interviewer does, so don't. Once that topic has been broached don't be afraid to dig. If you're feeling brash, ask how the company makes salary decisions. There are services out there that offer salary ranges for employee positions. Maybe they use that data. If so, how?
Eventually you'll get an offer. Congratulations! It's very common for employers to set a tight expiration on one. If your offer expires sooner than you're comfortable making a decision, push back gently but firmly. Commit to a response deadline, but give yourself the time you need to decide.
"You will probably not benefit by bringing up salary or benefits before the interviewer does, so don't."
While I do not disagree, why is this? You, the one looking for a job, are the seller. The seller almost always makes the first offer. It seems a lot of time could be saved if expectations were put right out there during the initial sales pitch.
Thanks. I'm often one to write long replies – it's actually a bit gratifying to be on the receiving end of one, so thanks for your time.
So, I dig everything you're saying... I guess I should have been more specific – by fun, I mean 'rewarding' in just about every sense except financial/ladder-climbing, etc, but I think all of what you said still applies.
In response to what you said, however, do you have any tips on negotiating?
A classmate was just offered 65k for a job in NYC that would pay 80-85k at a comparable firm in Chicago and he took the offer with no negotiating because he was afraid to do so... which blew my mind, honestly... so, I am to not be that guy...
Interview like it's going out of style; it'll help you feel more comfortable, if nothing else. When you have multiple offers, you can tell one company that the other is offering more. Then you can say that you have a significantly higher offer that's much closer to the average offer in your area, without revealing the exact dollar amount. Plus, you actually have a second offer you can go with if the first company doesn't offer more.
Also, look up online what average salaries are for your occupation and your area.
I'm not particularly interested in this for my phone. I'm not sure why -- I think I'm still more comfortable with the idea of having an "unlimited" resource for talking.
This, however, would be a stellar model for iPad use. If I had a tier-2 tablet offering, I'd be tripping all over myself to get it in front of these guys, especially with the Sprint network underneath it having credible 4G in big cities.
http://www.redditmirror.cc/cache/websites/web.archive.org_84...