Ok, here's the deal, sometimes readability is in fact a function of how succinct something is, not how verbose it is. In human (verbal) languages and in cross-cultural communication we refer to this as high-context and low-context language. In code, a parallel could be applied. Succinctness is not a value in itself (read Paul Graham's defense of Lisp vs. Python, I disagree with Graham), but it can often be a good means to an end when context surrounding your identifier choice is clear as freakin' day.
I am not a linguist, but I think you are confusing articles with pronouns. The former is not as powerful in communicating social norms as the latter. More to the point, descriptors for people are more powerful than descriptors for non-person objects. To suggest that language is just arbitrary (in idiosyncratic, not post-structuralist terms [1]), and not without ideological power is naive.
No anglo-centricity about it. Sounds like someone made a fuss about a simple change they should have accepted, and then multiple parties treated each other badly.
[1] Language is arbitrary in terms of signifiers always pointing to signifieds that are in fact signifiers themselves (infinitely recursive); but that means that linguistic choices about something as simple as pronouns can and should be situated in a context to understand them, and that is not without baggage. Like the time a recruiter sent a message to a local UG list I am saying her employer needed to hire "a bunch of guys quickly." It's not intent, but socially situated meaning that makes that problematic reinforcement of stereotype of consequence.
You lack context and make broad assertions about the powers that are granted to the FCC to regulate a common carrier via Title II. Take your phone calls; no one regulates what you say in your phone calls, but regulators can require that all calls you make to domestic numbers actually get connected and not blocked.
With this form of NN, you get more speech, not less.
If you see dictators under every floorboard and spew extreme right-wing nonsense, then go away troll.
You attribute the mistakes of idiots to their language of choice? What does that say about your ability to judge the merits of technical people you work with?
That narrative is convincing only under duress of propaganda and threat of violence against any pro-unity Ukranians. Russia is effectively fascist; Yanukovych was effectively fascist. AFAICT, the Maidan protests were about severe discontent with Yanukovych's palatial corruption at scales not seen in most places in modern Europe, not just trade alignments -- the small number of right wing extremists that were anti-Yanukovych don't take away from the fact that -- according to most objective observers, journalists, etc -- the vast majority of the voices coming from Kyiv were effectively anti-corruption liberals, not right-wing extremists.
Yet the separatists are playing Wagner, detaining journalists, enacting violence against peaceful pro-unity rallies -- and at the same time talking about defeating fascists, the irony is either lost on them or their intended audience.
Assuming Python is important since you have a backend in Python (unclear): choose Django if you want an opinionated framework that makes lots of decisions for you about how *you write code*, or choose Pyramid if you have a desire for an un-opinionated framework. Both are good -- but very different -- choices for the right situations and coder preferences.
RoR and Django are opinionated. I'm guessing there exist opinionated and un-opinionated frameworks in practically any language/runtime. The same is true about the amount of inversion-of-control assumed by the framework in relation to how you extend it.
Non-economic explanation of economic phenomena: this is called the "Commercial Use" trope. It is a rhetorical device that attempts to explain away something purely economic with some alternate cause or agent. It was first largely identified by Kenneth Burke, who identified risks of scapegoating ideologies in the U.S. after the rise of Hitler in a 1939 essay.
The thing about C programming: high risk (harder to find jobs), high reward (those that have them tend to get higher salaries). This is just an economic reality. I don't see the point in reaching for agent-of-cause from anecdote, when doing that yields unnecessary or dangerous generalizations. Americans and Europeans have to resist this temptation to blame immigrants for patterns that really cannot be attributed to them with proper evidence.
I used to write lexical scanners in C and lex. Now I largely turn to Python to do the same thing. I can reach for C when I need it, and like working in C from time to time. But I also recognize that I am happier working on applications, and the only place where folks still use C for end-user (e.g. desktop) apps is in Gnome+Linux. The money in C (mostly embedded, RTOS, systems-level stuff) is in domains that don't interest me, so I live in higher level languages and find myself a reasonably happy person.
I read the docs for this yesterday, came away impressed about things like iPython integration and the idea that other IDE features of VS could be used for Python. That said, I'm stuck with the position that is it simply too much work and pain to use Windows as an underlying platform, when what I deploy to is largely web apps running on Linux/OSX. I use Windows 7 in virtual machines to test sites with MSIE, and Windows Explorer WebDAV, but that is about it -- it is a pain to do much more in a VM. I just do not have incentive to "live" in Windows, live in a VM on my Mac or Linux desktops, or buy another box just to run a platform I have little use for. I would hope MS has intention of eventually trying to make their tools really compete with Eclipse on the cross-platform game. Alright, back to vim for me. Sigh.
Shameless AMD plug, but Zope's performance on AMD64 is very good. As long as you pick an architecture that has decent integer performance, you are likely to find that VMs (Python, Java,.NET CLR, etc) will usually run decently fast for most apps. The same isn't a much true with SPARC or ppc (not to knock those platforms).
Code modularity is important, becuase HTML in an advanced publishing system like Plone is structural; python code is functional, and css is visual. The structural elements have to be as readable and modular as possible for coders and designers alike. The whitespace thing is a small penalty. The bandwidth used by that is trivial compared to the bandwidth saved by using a (mostly) table-less design and shared CSS. Plone's design will beat almost anything in the bandwidth war.
EAP-TLS, EAP-TTLS, and other EAP/802.1x authentication mechanisms are also supported by Aironet 1100 and 1200 series APs. These use strong certificate-based authentication, which isn't practially vulnerable to dictionary attack. This, of course, requires you run a certicifate authority for your network, and means more work - but most companies running a VPN will already be doing this, and those that are not will do this to avoid having to put APs outside the firewall and maintain a VPN infrastructure for WLANs.
The article equates paid content with registration; they have nothing to do with each other. I work for a large-market U.S. daily newspaper with a mixed (portions of site require free; other places it is a voluntary questionaire) registration system, which has nothing - I repeat - nothing to do with paid content - it is about bringing in new channels of targeted advertising revenue to help sustain existing revenue growth in an already successful advertising model used by most daily newspapers.
Most online newspapers will move to a on-time registration model; unlike the New York Times, which requires a pretty heavy-weight registration (user/pw), I think many local-media outlets will opt for anonymous cookie-based registration system that simply asks a few quick questions, stores the answers client-side as cookies, and targets appropriate ads and offers to users - and in some cases, might ask for optional email address if you have interest in email newsletters.
Mailing lists (or nntp/www via GMANE) are where all the discussion lives. Between the Plone users, developers, archetypes lists etc, I would guess about a volume of 600 messages a month, and equally that volume on the various Zope lists. The community discussion is VERY active.
Resource hungry? Yes, well so is PHP, JSP, and any other system relying upon a VM. You can serve pages statically out of Zope, even from the filesystem, with the right add-ins. And by simply spending 5 minutes adjusting your caching rules, Apache or Squid will serve from cache 90% of your requests. Also, you can push static files (with plugin product) - use plone on a workgroup server, and render/push static content out of it like some commercial CMS products. Your traffic can just be served as static pages, with only dynamic pages hitting your Zope, if you like.
There are not "default" behaviors of Zope/CMF - CMF is a framework - NOT NOT NOT a product. CMFDefault is just an example application. Plone is a CMS application on top of the framework an app server product. It is not "impossible" to port of CMF product (i.e. a product designed to work with CMFDefault) to Plone - there are very few differences. I do this all the time. I'd like to point out that CMFdefault is rarely used for any serious (paying) work or production products by anyone (not Zope corp, not independent CMF developers and consultants); Plone on the other hand codifies best practices learned from real installs.
Also, use archetypes - it is easy to create your own content type products with Archetypes. This isn't that hard, and the documentation is getting better.
I think things are getting better - much better, much faster. Soon-to-be-released Plone 2.0 and Archetypes are contributing to this - the learning curve for all aspects of Plone is getting flattened.
Zope has a "Z-shaped learning curve" -- or so goes the saying; this is becuase Zope (well, Zope 2) has a deep tree of class inheritance - a "deeply object oriented" system (to borrow a phrase from Jon Udell, not sure if that's his intended meaning). When someone tells you to "read the source" -- that's usually becuase Python is remakably easy to read -- but you still you end up with a task that's fairly involved and somewhat academic (not to discount this - once you get it it is quite rewarding).
What the CMF and Plone do is put a "wide-not-deep" framework on top of the Zope app server to abstract most of that tedious, academic learning curve for serious developers. The CMF hard-codes a really simple MVC-like design-pattern for best practices for component-oriented development, where lightweight components interact (global "tools" like search/catalog, workflow, etc and content objects in folders/containers (the model) - and UI/automation skin code (view/controller)). Each component is lighter-weight and pluggable (with defined interfaces and unit-tests), and CMF, Plone, and unrelated Zope 3 development are working towards not just pluggable components, but user/admin configurable components. The Plone 2 control panels are a good start towards making this more human. The ease-of-development and deployment story is getting better. The UI is also more configurable in Plone 2 via CSS.
Getting better by the minute:Archetypes is the secret weapon for Plone's future success; Archetypes makes schema-based development for content items, along with relationships among content items, not just easily possible, but much less tedious. It's architecture, in many ways (though it is still maturing), is superior to the same concepts in WinFS in M$ Longhorn. Archetypes will make development of content types easier to learn and develop day-to-day, whether you as a developer prefer to live in Vi (or Emacs), UML modelling tools, or a web-based schema editors. Simple, usable, documented examples for Archetypes development in Plone are popping up every day. Developing global CMF tools (singleton services/utilities for all objects in the site) has always been trivially easy, but underdocumented. Plone 2 is making the UI easier to customize, and I expect that forthcoming books and improved documentation on Plone 2 will make this straightforward.
Keep in mind, the Plone/Zope/Python stack is much less complicated and easier to learn than equivalent technology stacks in Java app servers (and less messy than inline web apps in PHP/ASPX/etc). And seriously, if you have to say WTF, say it on #plone on freenode or the plone-users list - there's a high likelyhood that someone will have an answer to just that question...;)
What material shall we use for the roof of the plant's bike shed. At a tight budget of £350, this item ought to get our foremost attention today.
Many posters and most commenters on /. are finite state machines. They can't grok things that are not regular languages.
Did they try all the shapes from Lucky Charms? I want to know which marshmallow is going to give me the best delivery of time-release aspirin.
Whenever I hear people throw out "PC" or "SJW" straw men, I just assume that:
(a) They would really just rather use labels than have thoughtful discussion;
(b) They want a libertarian pass to be assholes.
Ok, here's the deal, sometimes readability is in fact a function of how succinct something is, not how verbose it is. In human (verbal) languages and in cross-cultural communication we refer to this as high-context and low-context language. In code, a parallel could be applied. Succinctness is not a value in itself (read Paul Graham's defense of Lisp vs. Python, I disagree with Graham), but it can often be a good means to an end when context surrounding your identifier choice is clear as freakin' day.
I am not a linguist, but I think you are confusing articles with pronouns. The former is not as powerful in communicating social norms as the latter. More to the point, descriptors for people are more powerful than descriptors for non-person objects. To suggest that language is just arbitrary (in idiosyncratic, not post-structuralist terms [1]), and not without ideological power is naive.
No anglo-centricity about it. Sounds like someone made a fuss about a simple change they should have accepted, and then multiple parties treated each other badly.
[1] Language is arbitrary in terms of signifiers always pointing to signifieds that are in fact signifiers themselves (infinitely recursive); but that means that linguistic choices about something as simple as pronouns can and should be situated in a context to understand them, and that is not without baggage. Like the time a recruiter sent a message to a local UG list I am saying her employer needed to hire "a bunch of guys quickly." It's not intent, but socially situated meaning that makes that problematic reinforcement of stereotype of consequence.
You lack context and make broad assertions about the powers that are granted to the FCC to regulate a common carrier via Title II. Take your phone calls; no one regulates what you say in your phone calls, but regulators can require that all calls you make to domestic numbers actually get connected and not blocked.
With this form of NN, you get more speech, not less.
If you see dictators under every floorboard and spew extreme right-wing nonsense, then go away troll.
You attribute the mistakes of idiots to their language of choice? What does that say about your ability to judge the merits of technical people you work with?
And of course, I submitted with a typo... omit the parenthesis inside the dict on the callables.
Corrected:
{
1: fn1,
2: fn2,
3: deploy_attack_kittens
}[input]()
Here you go:
{
1: fn1(),
2: fn2(),
3: deploy_attack_kittens()
}[input]()
Complaining about a switch statement missing in Python is like complaining that Superman doesn't have a faster airplane.
That narrative is convincing only under duress of propaganda and threat of violence against any pro-unity Ukranians. Russia is effectively fascist; Yanukovych was effectively fascist. AFAICT, the Maidan protests were about severe discontent with Yanukovych's palatial corruption at scales not seen in most places in modern Europe, not just trade alignments -- the small number of right wing extremists that were anti-Yanukovych don't take away from the fact that -- according to most objective observers, journalists, etc -- the vast majority of the voices coming from Kyiv were effectively anti-corruption liberals, not right-wing extremists.
Yet the separatists are playing Wagner, detaining journalists, enacting violence against peaceful pro-unity rallies -- and at the same time talking about defeating fascists, the irony is either lost on them or their intended audience.
Yeah, Fry's takes "defective" return, puts it right back on the shelf. If Fry's does that ten times per item, Best buy should do that twenty.
Assuming Python is important since you have a backend in Python (unclear): choose Django if you want an opinionated framework that makes lots of decisions for you about how *you write code*, or choose Pyramid if you have a desire for an un-opinionated framework. Both are good -- but very different -- choices for the right situations and coder preferences.
RoR and Django are opinionated. I'm guessing there exist opinionated and un-opinionated frameworks in practically any language/runtime. The same is true about the amount of inversion-of-control assumed by the framework in relation to how you extend it.
Non-economic explanation of economic phenomena: this is called the "Commercial Use" trope. It is a rhetorical device that attempts to explain away something purely economic with some alternate cause or agent. It was first largely identified by Kenneth Burke, who identified risks of scapegoating ideologies in the U.S. after the rise of Hitler in a 1939 essay.
http://en.wikipedia.org/wiki/The_Rhetoric_of_Hitler%27s_%22Battle%22#Commercial_use
The thing about C programming: high risk (harder to find jobs), high reward (those that have them tend to get higher salaries). This is just an economic reality. I don't see the point in reaching for agent-of-cause from anecdote, when doing that yields unnecessary or dangerous generalizations. Americans and Europeans have to resist this temptation to blame immigrants for patterns that really cannot be attributed to them with proper evidence.
I used to write lexical scanners in C and lex. Now I largely turn to Python to do the same thing. I can reach for C when I need it, and like working in C from time to time. But I also recognize that I am happier working on applications, and the only place where folks still use C for end-user (e.g. desktop) apps is in Gnome+Linux. The money in C (mostly embedded, RTOS, systems-level stuff) is in domains that don't interest me, so I live in higher level languages and find myself a reasonably happy person.
I read the docs for this yesterday, came away impressed about things like iPython integration and the idea that other IDE features of VS could be used for Python. That said, I'm stuck with the position that is it simply too much work and pain to use Windows as an underlying platform, when what I deploy to is largely web apps running on Linux/OSX. I use Windows 7 in virtual machines to test sites with MSIE, and Windows Explorer WebDAV, but that is about it -- it is a pain to do much more in a VM. I just do not have incentive to "live" in Windows, live in a VM on my Mac or Linux desktops, or buy another box just to run a platform I have little use for. I would hope MS has intention of eventually trying to make their tools really compete with Eclipse on the cross-platform game. Alright, back to vim for me. Sigh.
Another good read: "The Problem With RSS Readers Inspired By Outlook"
Be careful with this UI concept: email demands immediate attention. More discussion, via technorati: http://technorati.com/search/%22river+of+news%22+e mail
...it's only a model.
One-sixth scale.
Shameless AMD plug, but Zope's performance on AMD64 is very good. As long as you pick an architecture that has decent integer performance, you are likely to find that VMs (Python, Java, .NET CLR, etc) will usually run decently fast for most apps. The same isn't a much true with SPARC or ppc (not to knock those platforms).
Code modularity is important, becuase HTML in an advanced publishing system like Plone is structural; python code is functional, and css is visual. The structural elements have to be as readable and modular as possible for coders and designers alike. The whitespace thing is a small penalty. The bandwidth used by that is trivial compared to the bandwidth saved by using a (mostly) table-less design and shared CSS. Plone's design will beat almost anything in the bandwidth war.
EAP-TLS, EAP-TTLS, and other EAP/802.1x authentication mechanisms are also supported by Aironet 1100 and 1200 series APs. These use strong certificate-based authentication, which isn't practially vulnerable to dictionary attack. This, of course, requires you run a certicifate authority for your network, and means more work - but most companies running a VPN will already be doing this, and those that are not will do this to avoid having to put APs outside the firewall and maintain a VPN infrastructure for WLANs.
The article equates paid content with registration; they have nothing to do with each other. I work for a large-market U.S. daily newspaper with a mixed (portions of site require free; other places it is a voluntary questionaire) registration system, which has nothing - I repeat - nothing to do with paid content - it is about bringing in new channels of targeted advertising revenue to help sustain existing revenue growth in an already successful advertising model used by most daily newspapers.
Most online newspapers will move to a on-time registration model; unlike the New York Times, which requires a pretty heavy-weight registration (user/pw), I think many local-media outlets will opt for anonymous cookie-based registration system that simply asks a few quick questions, stores the answers client-side as cookies, and targets appropriate ads and offers to users - and in some cases, might ask for optional email address if you have interest in email newsletters.
Mailing lists (or nntp/www via GMANE) are where all the discussion lives. Between the Plone users, developers, archetypes lists etc, I would guess about a volume of 600 messages a month, and equally that volume on the various Zope lists. The community discussion is VERY active.
Resource hungry? Yes, well so is PHP, JSP, and any other system relying upon a VM. You can serve pages statically out of Zope, even from the filesystem, with the right add-ins. And by simply spending 5 minutes adjusting your caching rules, Apache or Squid will serve from cache 90% of your requests. Also, you can push static files (with plugin product) - use plone on a workgroup server, and render/push static content out of it like some commercial CMS products. Your traffic can just be served as static pages, with only dynamic pages hitting your Zope, if you like.
There are not "default" behaviors of Zope/CMF - CMF is a framework - NOT NOT NOT a product. CMFDefault is just an example application. Plone is a CMS application on top of the framework an app server product. It is not "impossible" to port of CMF product (i.e. a product designed to work with CMFDefault) to Plone - there are very few differences. I do this all the time. I'd like to point out that CMFdefault is rarely used for any serious (paying) work or production products by anyone (not Zope corp, not independent CMF developers and consultants); Plone on the other hand codifies best practices learned from real installs.
Also, use archetypes - it is easy to create your own content type products with Archetypes. This isn't that hard, and the documentation is getting better.
I think things are getting better - much better, much faster. Soon-to-be-released Plone 2.0 and Archetypes are contributing to this - the learning curve for all aspects of Plone is getting flattened.
Zope has a "Z-shaped learning curve" -- or so goes the saying; this is becuase Zope (well, Zope 2) has a deep tree of class inheritance - a "deeply object oriented" system (to borrow a phrase from Jon Udell, not sure if that's his intended meaning). When someone tells you to "read the source" -- that's usually becuase Python is remakably easy to read -- but you still you end up with a task that's fairly involved and somewhat academic (not to discount this - once you get it it is quite rewarding).
What the CMF and Plone do is put a "wide-not-deep" framework on top of the Zope app server to abstract most of that tedious, academic learning curve for serious developers. The CMF hard-codes a really simple MVC-like design-pattern for best practices for component-oriented development, where lightweight components interact (global "tools" like search/catalog, workflow, etc and content objects in folders/containers (the model) - and UI/automation skin code (view/controller)). Each component is lighter-weight and pluggable (with defined interfaces and unit-tests), and CMF, Plone, and unrelated Zope 3 development are working towards not just pluggable components, but user/admin configurable components. The Plone 2 control panels are a good start towards making this more human. The ease-of-development and deployment story is getting better. The UI is also more configurable in Plone 2 via CSS.
Getting better by the minute: Archetypes is the secret weapon for Plone's future success; Archetypes makes schema-based development for content items, along with relationships among content items, not just easily possible, but much less tedious. It's architecture, in many ways (though it is still maturing), is superior to the same concepts in WinFS in M$ Longhorn. Archetypes will make development of content types easier to learn and develop day-to-day, whether you as a developer prefer to live in Vi (or Emacs), UML modelling tools, or a web-based schema editors. Simple, usable, documented examples for Archetypes development in Plone are popping up every day. Developing global CMF tools (singleton services/utilities for all objects in the site) has always been trivially easy, but underdocumented. Plone 2 is making the UI easier to customize, and I expect that forthcoming books and improved documentation on Plone 2 will make this straightforward.
Keep in mind, the Plone/Zope/Python stack is much less complicated and easier to learn than equivalent technology stacks in Java app servers (and less messy than inline web apps in PHP/ASPX/etc). And seriously, if you have to say WTF, say it on #plone on freenode or the plone-users list - there's a high likelyhood that someone will have an answer to just that question... ;)