15 karma · joined May 5, 2012
But I don't think it means we should write more by hand - I would rather write in a concise language that requires knowledge of few less common abstractions, than in something so verbose I keep mixing generated and hand-written code together! As the article says, this mix often obfuscates intended meaning, as it's sometimes hard to tell boilerplate from necessary logic.
And if clients don't know how secure their bank is, they don't really have a choice other than guessing.
And for services running behind that router there'll probably be some kind of PNP port opening (so there can be "PLAY WITH FRIENDS EASILY" next to those other stickers)
Of course, the problem is whose keys will be in the trusted set in your BIOS? The ones from Microsoft for sure (and they will happily sign anything they are asked to by US intelligence), and probably something from main board vendor. And here is where the fun starts: you wont be able to boot final version of Windows 8 without Secure Boot, but Secure Boot won't load GRUB. So you need a trip to BIOS configuration (IF your vendor was kind enough, which may be obvious now but may not be so in a few years) on every OS switch.
And most FOSS uses Autotools these days, so installation is just ./configure && make && sudo make install
Commits in git are reference counted - the ones that have no references to them are removed, (and having a branch or other commit pointing to yours both count as references) and the ones that can be reached from tops of branches or tags are kept.
With dependent types function to get element from array may have type (this is pseudocode): get (array : T[n], index : m) : T {n : nat, m : nat, m < n} which would mean "function get, which takes: n long array of elements of type T, index of type m, where m is smaller than n, and returns T". Type-level naturals and bounded array access are the basic examples of dependent typing, more interesting ones may be red-black trees with guarantees about their shape put in the type or some magic for creating DSLs.
But complicated type systems are, unfortunately, rarely used in languages suitable for system programming. I only know about ATS in this group actually :-)
What I think is needed here is to actually make security tighter - but it's a dance between putting lots of money into security or losing some experiments. Unfortunately both are what those guerrillas want.
EDIT: looking at their scripts, it's using a client written in Ruby with its own Ruby installation. Things are installed in {/usr/local/,/var/*/}rayburst.
(please don't go there and feed the spammers, thank you :-))
$ whois facebook.com
FACEBOOK.COM.ZZZZZ.GET.LAID.AT.WWW.SWINGINGCOMMUNITY.COM from whois Server: whois.tucows.com
FACEBOOK.COM.MORE.INFO.AT.WWW.BEYONDWHOIS.COM from whois Server: whois.instra.net
FACEBOOK.COM.LOVED.BY.WWW.SHQIPHOST.COM from Whois Server: whois.onlinenic.com
FACEBOOK.COM.KNOWS.THAT.THE.BEST.WEB.HOSTING.IS.NASHHOST.NET from Whois Server: whois.your-server.de
FACEBOOK.COM.GET.ONE.MILLION.DOLLARS.AT.WWW.UNIMUNDI.COM from Whois Server: whois.PublicDomainRegistry.com