IT Security is an ever-growing field. Every year more hackers and crackers try to steal you bank PIN number, mess up your nuclear fuel centrifuges, jam your attack dronesâ(TM) control signals, steal your company passwords an other secrets andâ¦. it goes on and on, to the point where, Hord says, over two million (2,000,000) new IT security people will be needed in the next few years. Should you be one of them? Do you have the skills to be one of them? If not, can you acquire those skills? Read the rest and see the video
There were a few rough and long days in the last week completing the final capacity testing and roll out procedure, but it is now complete, and (*knocks on wood*) running smoothly. I owe many thanks to my team of engineers and the site operations team for all their help and support. The Editors here at Slashdot also deserve thanks for their help in testing, and their patience with me as I worked through the more complex pieces of functionality in the site. Though this project took a lot of work, I honestly believe that it was needed in order to allow us to keep Slashdot running, as well as to provide us the structural support we will need to build new features that will allow us to better serve our community into the future.
Move along, nothing to see here...
This weekend we were going to push our luck and try for two in a row, but we have decided to back off slightly, and delay the Apache 2.2 upgrade until the beginning of next week (probably Monday). During the course of the last week we were hitting all of our milestones in getting prepped for the launch, and things were looking good. However our first attempt at putting a fully load of traffic through the new system yesterday uncovered a few minor issues. Some late night coding and lots of caffeine got us ready for a second round of load testing the new setup today. While today's test did show marked improvement over yesterday's, there were still a few issues I was not able to resolve with sufficient confidence today. Another late night and more caffeine, and I could probably have everything ready to launch tomorrow, but I think it is wise to back up a bit, take our time, and be 100% sure that when we roll this launch out it will be rock solid.
On a fun note:
I just loved Spark Fun's new product video for today. I grew up in Boulder, and seeing the fun it looks like these guys get to have at work, if I ever move back to Colorado, that's where I want to work.
But working for Slashdot can be pretty fun too... I'm hoping the coming weeks will include a few episodes of Slash TV that I'll be helping out with... Going to check out The Maker Works here in Ann Arbor, and perhaps some fun with Lasers in the Slashdot/SourceForge parking lot in Dexter.
Horray for modern software!
Slashdot is now running on upgrade database backend software, and new hardware. Anecdotal evidence suggests improved performance. Was anybody worried? I wasn't. Next week, updated front end web servers!
I haven't posted a journal here in almost three years, because I couldn't find the button to start a new entry.
So... hi, Slashdot. I used to be really active here, but now I mostly lurk and read. I've missed you.
Well I got through the problems with Apache2::Module::get_config. Aparently the object which comes as the first argument to the method for the custom config directive is not where the config parameters should be stored. Looking back at the documentation http://perl.apache.org/docs/2.0/api/Apache2/Module.html, I can see that it is clearly shown that $srv_config is being fetched via a call to get_config from within the custom directive subroutine, and that apparently is where the config should be stored... but it does seem kind of counter intuitive to me. But no use second guessing that now, at least I got it.
On a positive note: before I discovered my mistake with get_config, I thought perhaps it was getting mangled by Apache2::compat, so I spent much of the day finding and jumping through hoops to get everything to run without that. Though that effort didn't fix the problem I was chasing, it will be better in the long run to not need Apache2::compat, as that would drag down response times.
In my ongoing efforts to port slashdot onto modern revisions of Apache and ModPerl, I've made significant strides. This weekend I put in a few extras hours of work, just because it was on my mind.
Currently I am banging my head against Apache2::Module::get_config. I thought I had appropriately adjusted the code to use the new simplified mechanism for defining and handling custom apache config directives. Having added plenty of "print STDERR" debuging into my modules, I can see that the new directives are being read, and the associated sub routines to handle them are being called at server start time. However, calls to get_config from inside a request handler are always returning either 1 or undef. As far as I can tell from reading the documentation, it should be working. As I type this, it occurs to me that it could be getting fubared by Apache2::compat...
Off to test that theory!
As my colleagues are working to improve the comment system, I'm thinking about it. I had an idea today, and I'd love to hear what anybody reading my journal thinks about it:
Would it be useful to have a control that would either expand or collapse all of a comments ancestors, descendants, or siblings?
So, what do you think?
I am continuing forward with the re-platforming effort to move to Apache2.2 and ModPerl2. I have in the last few months be doing little bits here and there where I could squeeze it in between other projects, but today I got a good half day put into it. Before today I had updated the Makefile.PL's where appropriate to move away from Apache::ExtUtils, and instead use ModPerl::MM. I spent much of today finding all the CPAN modules that we rely on, and getting them built under the proper version of perl. After that I spent an hour or so tweaking config files where needed for the newer version of apache. Before heading home for the day I was actually to the point of trying to start Apache. It almost started, but I apparently missed something in updating the system to use Apache2::Module::add to handle the custom Apache config directives. But that will have to wait for tomorrow.
In comment system news: my colleagues are currently working on mock-ups for a few new controls to allow greater control over how many comments get loaded on an article page. Also trying to brainstorm around an easier/more intuitive way to handle setting thresholds for comment visibility (the current implementation is the "slider" widget with the two handles at the right side of the comment section header).
And there were, and it was good, for a while.
The comment system, and the discussions that take place in it, are a very important part of what makes slashdot what it is. I think it is a very powerful system, into which lots of time, thought, tests, trial and error, blood, sweat, unicorn meat, and tears have been put over the years. It is currently very complicated, somewhat fragmented and not well understood my a large number of readers. As I mentioned in a reply in one of my previous journal entries, the comment system is due to receive some much needed attention in the coming weeks. To that end, I am pleased to note that a release will be coming out today to address an issue we've found in the dispersal of moderation points. More than one or two readers have asked if there was something broken, or if they had somehow lost "moderation privilege", and I do believe that starting tomorrow, that issue should be resolved (thanks to the hard work of my friend/colleague vroom.)
Stay tuned for news of more love to come. (And feel free to let me know if you have special requests or concerns about the comment system)
Recently a set of six senators have proposed a Constitutional Amendment to overturn the controversial Supreme Court case of Citizens United v. FEC which held that corporations were allowed to make unlimited expenditures with regard to elections provided that those were independent expenditures, not coordinated with candidates.
The Citizens United case overturned two previous Supreme Court cases, McConnel v. FEC (which was a case the court evidently had trouble drawing lines over given the fact that 9 justices produced 8 opinions, and pieces of four of the opinions commanded a majority of the court), and Austin v. Michigan Chamber of Commerce. Some First Amendment scholars from across the political spectrum have hailed the decision. For example Eugene Volokh, a Republican, has generally felt this was an important protection of Constitutional liberties, and the ACLU played an important role in filing amicus briefs in favor of Citizens United, and has been very much in favor of the decision. Others have seen it as an open invitation to Corporations to meddle in politics.
Before we get into the Constitutional Amendment and why everyone, on both sides of this issue, should be opposed to it, it's worth noting that the questions of first amendment law in election finance cases seeks to balance two competing interests. The first is to ensure that the people can write and publish on political topics surrounding an election, and the second is to ensure the integrity of the elections. Citizens United draws this line by saying that independent expenditures are different from coordinated expenditures (5-4 holding, but the dissent didn't offer an alternative except to wait for another case), and that disclosure laws were entirely Constitutional (8-1 holding). The fundamental problem is that while money is not speech, regulating how people can spend money in order to express themselves regulates a lot of speech. The court correctly noted that the Constitution didn't differentiate between, say, the New York Times and, say, Merke, and therefore, couldn't grant the government the ability to ban Merke from buying television ads without banning the New York Times' right to print editorials in favor or opposed to candidates.
Indeed the concern over freedom of the press was at the core of Citizens United. Surely when Alito asked S. G. Malcolm Stewart if the government could Constitutionally ban books, he had no idea that the only answer S. G. Stewart could give would be "yes" (an answer repeated by S. G. Kagan at rehearing, see the same link above for all oral argument), and hence a question probably intended to address an issue of statutory interpretation set the stage for a Constitutional showdown. To be fair, both Stewart and Kagan tried very hard to avoid giving that answer but both were unable to come up with any alternative that would save the law as written, because the Supreme Court tends to err more on the side of facial challenges (striking down laws) than as-applied challenges (mandating exceptions) when it comes to freedom of expression. The dissent felt the correct decision was to say, in essence, "we don't have sufficient record to make this decision. Declare it as moot and let them bring another case to us through the courts."
Citizens United was hailed as a major First Amendment victory by the ACLU, and many other organizations which work on First Amendment issues, and by major First Amendment scholars such as Eugene Volokh. However, many others have seen it as a doorway to corporate tampering with our elections.
However, for any controversy, there are solutions that are far worse than the cure. This is one of them. The relevant portion of the proposed Amendment is:
SECTION1. Congress shall have power to regulate the raising and spending of money and in kind equivalents with respect to Federal elections, including through setting limits onâ"
(2) the amount of expenditures that may be made by, in support of, or in opposition to such candidates.
The omitted paragraph 1 allows the government to regulate gifts and donations to candidates, something already within the power of the government. Section 2 grants identical powers to the states.
Now, it's important to note what is covered under Section 1 paragraph 2. In essence any money spent communicating a message on an election for or against a candidate in any way falls under government power. Presumably this could include purchasing gas to go to a rally, publishing pamphlets, buying Obama's books to give to undecided friends in 2012..... These are all independent expenditures and could fall under government regulation under such an amendment. And nowhere in the amendment does the word 'corporation' appear.
In essence the proposed amendment is that we trust to Congress the ability to arbitrarily limit the freedom of the press not only by corporations but also by natural persons. Such an amendment would prevent a first amendment challenge to some laws already on the books (say, a foreigner here on a student visa publishes a blog posting on a site that he/she pays for hosting on opposing an anti-immigrant candidate. This is already against the text of campaign finance law, but would probably allow either an as-applied or facial challenge to the law even before Citizens United but that would be taken away).
This proposed Constitutional Amendment then goes well beyond repealing Citizens United in that it takes away Constitutional protections that each of us enjoy.
Now, the subject of independent expenditures is a controversial one. However, given that only defenders of Citizens United have offered any data defending their side, I am forced to at least tentatively conclude that the ACLU is right on this one. However for the purpose of the rest of this post, I will assume that this is a serious problem and offer recommendations for changing this proposed amendment so that it does not strip us all of fundamental Constitutional rights.
If the problem is a concentration of power over spending in our elections, it seems to me unwise to further concentrate that power in the hands of the state. Instead it would seem to me that granting power to Congress to curb the worst abuses only, while preserving the power of the common man would be preferable. In this case, if the problem is specifically corporate spending, then allow Congress to limit Expenditures, not part of profit-making goods and services offered at standard prices, on the parts of for-profit corporations only. This would be sufficiently broad enough to ban Corporate donations to Citizens United and the ACLU, but not sufficiently broad to regulate what fliers and pamphlets you or I can print to distribute. It would allow Congress to prevent Corporations from offering special discounts for such material, but would not prevent them from offering standard discounts (such as volume discounts available to everyone else).
In the end, it's easy to get whipped up into a frenzy and believe that because we must do something that this must be done. This is unfortunately common. We see on the other side of our politics, amendments to state Constitutions which forbid state judges from using foreign laws to inform decisions, forgetting that in international contracts or other cases where conflict of laws issues may come up, these foreign laws are extremely relevant to the cases. Like this present proposal, the problem is with being overbroad, and therefore causing a great deal of harm to our basic freedoms in the name of solving problems.
Every American should be opposed to this amendment. Those who oppose Citizens United and seek to overturn it should insist that the amendment to do so be narrow. Those who support it should listen to the others but make sure their concerns are addressed.