Announcing: Slashdot Deals - Explore geek apps, games, gadgets and more. (what is this?)

Thank you!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!



Most IT Workers Don't Have STEM (Science, Tech, Engineering, Math) Degrees

morgan_greywolf Re:I'm a non-degree slacker (655 comments)

I've got a degree. It didn't teach me a damned thing about IT, but I've got the degree. The degree helps get your resume through the HR drones, though, but not much else.

about a year ago

Which Company Is the Largest?

morgan_greywolf Re:The Market Is a Lie (378 comments)

Market cap is not an indication of size at all. It's an indication of, well, present market value.

For size, there are few things you can look at it: there is size based on net worth, total number of employees, total sales in dollars, total unit sales, etc. Most of these are only useful when comparing to companies within the same industry, however. In fact, most useful statistics are really only useful when comparing companies within the same industry. That's why so many people focus on market capitalization, because that is comparable across industries.

Biggest market cap, though, as you point out, doesn't mean that much. A more useful statistic for investors is the earning per share (EPS), which gives you an idea of the economic viability of a company .

more than 3 years ago

Facebook Helps Israel Blacklist Air Travellers

morgan_greywolf Re:Facebook - Owned By A Jew. (478 comments)

The Patriot Act and several other items in control by the US government is working well outside the borders of the US.

By 'working' do you mean the stripping away of people's civil, moral and legal rights?

If so, I concur.

more than 3 years ago

Ask Slashdot: Living Without Internet At-Home Access?

morgan_greywolf Re:I believe you've mispelt (462 comments)

No, but she's got plenty of open ports! You might have to get passed her firewall first, though.

The biggest problem is that once a month there will be some serious buffer overflow issues, though. This doesn't get patched for many years...

more than 3 years ago

Dropbox TOS Includes Broad Copyright License

morgan_greywolf Re:So they wont get sued by asshats (213 comments)

Correct. I have a Dropbox account, and that's exactly what it is, although it also has utility as a file-sharing service as well. You can create and designate folders as "shared with other users" and "shared with guest users (for people without an account)". Folders so designated will allow anyone to download files in those folders.

So when I post on Slashdot, my intent is clear -- I'm making what I type available to the public at large. But this is also true for files that I put in my folders that are shared with guest users.

OTOH, this license grant doesn't seem to make such a distinction. Perhaps it should.

more than 3 years ago

Researchers Track Cell Phones Indoors By Listening In

morgan_greywolf Re:Neat trick, but... (35 comments)

On a more serious note, this will require training and labeling of the system

Which, of course, means that the tinfoil hat wearers can stop thinking that this will be useful as some sort of government tracking tool.

more than 3 years ago

Amazon Tests a Home-Delivery Service For Groceries

morgan_greywolf Re:A questionable business model, at best (176 comments)

So explain to me why anyone would intentionally get into this business? Who is your target audience?

Reclusive, eccentric former dotcom millionaires. Who else lives in Seattle?

more than 3 years ago

IBM Did Not Invent the Personal Computer

morgan_greywolf Re:Not even close (293 comments)

After going through all of the components including the case, the only thing they could identify that was original components that was actually designed by IBM engineers was the sticker label that went on the outside of the case which said "IBM".

100% true, of course. The optional hard disks were made by Seagate (hence the legacy of the ST01 controller), the floppy drives were made by Toshiba or Chinon or somebody like that. The processor came from Intel. The optional printer was made by Epson. The motherboard was basically a reference design from Intel.

The BIOS was original, but the operating system, of course, was a 16-bit CP/M hack from a guy named Tim Patterson of Seattle Computer Products, who sold it to a tiny little company from Bellvue, Washington, for a few thousand bucks. Tim would go on to become a billionaire, of course, along with the founders of that tiny little computer company.

If I could go back in time, I would convince Tim Patterson that writing operating systems isn't a very good idea and he should do something else with his time.

more than 3 years ago

IBM Did Not Invent the Personal Computer

morgan_greywolf Re:Yes, they did (293 comments)

Actually, I don't think Apple used the term "personal computer" until around the introduction of the Mac and the Apple //c. These would both be introduced well after IBM marketed their "IBM Personal Computer" in 1981.

Now get off of my lawn.

more than 3 years ago

IBM Did Not Invent the Personal Computer

morgan_greywolf Re:"Automate the Third Reich"? (293 comments)

Also, who the fuck is Robert X. Cringely and why should anyone care about his opinion?

Cringely is the new JonKatz.

more than 3 years ago

NVIDIA Announces GeForce GTX 560M and GT 520MX Mobile GPUs

morgan_greywolf Re:Cross Platform Support (62 comments)

What, exactly, does this have to with the article? AMD/ATI also provides drivers for the open source community.

The thing is, of the three big graphics vendors, only NVIDIA supports reasonably complete OpenGL support, which makes their cards non-starters for us CAD users. I run SketchUp on Wine

more than 2 years ago

Martin Jetpack Climbs 5000 Feet Above Sea Level

morgan_greywolf Re:A great stunt! (178 comments)

Never been to Madrid, but, yes, it's damn cold in Denver.

Then again, I live in Florida, so my idea of cold and your idea of cold are probably different. ;)

more than 3 years ago

Martin Jetpack Climbs 5000 Feet Above Sea Level

morgan_greywolf Re:All the way from Darwin? (178 comments)

There's a wee bit of water in the way, I think.

more than 3 years ago

DOJ Could Ban Texas Flights Over Anti-Patdown Law

morgan_greywolf Re:Update on this story (377 comments)

A true story, for those scratching their heads. My wife and I are smokers (bad, bad, yes, I know) and we happily tossed our throw-away cigarette lighters into the appropriate bin when boarding a flight a couple of years ago.

What we completely forgot is that in our carry on, left over from a previous camping trip, was a stash of about 4 lighters,10 boxes of "strike anywhere" matches and a camping knife. The thing was, it wasn't the screeners that noticed them, rather they were discovered by ourselves as soon we got to our hotel room and started going through our luggage. The funny thing is that we didn't know about the no-liquids-over-2-ounces rule, which was relatively new when we flew. The screeners completely missed these banned items because they were far too interested in the oversized bottles of Pantene in our luggage, whiich they promptly seized, of course.

My wife, who worked airport security prior to the TSA takeover, and was thoroughly disgusted by the whole affair, said that the knife, for sure, would never have made it past the gate before the TSA took over.

more than 3 years ago

DOJ Could Ban Texas Flights Over Anti-Patdown Law

morgan_greywolf Re:Update on this story (377 comments)

Wovel obviously means that the security screeners have not enhanced security one bit. He's right. In fact, it's probably easier to sneak a weapon or a bomb on a plane today than it was before 9/11.

more than 3 years ago

DOJ Could Ban Texas Flights Over Anti-Patdown Law

morgan_greywolf Re:Update on this story (377 comments)

Too bad that the weak spineless reps didn't have the guts to follow through. The DOJ needs an overhaul after this mess.

So does the legislature. Remember this when election time comes.

more than 3 years ago

Ask Slashdot: Best Linux Distro For Computational Cluster?

morgan_greywolf Re:RHEL (264 comments)

RHEL is fine, CentOS is just awful, and anytime someone offers up CentOS as a substitute for RHEL, I wonder of they've ever used CentOS. Watch for circular dependencies and lots of unavailable packages.

I've never seen that problem with CentOS.

Everything you could need is an apt-get away, rather then google-the-wget away with CentOS and dag. I know my situation isn't a cluster, but we're running 20 Ubuntu servers in 15 colos currently, and our experience has been by far the best with Ubuntu.

The problem with Ubuntu for scientific computing is that many commercial scientific computing packages have runtime dependencies on old, outdated libraries found in Red Hat-based distros, but aren't available on Ubuntu without compiling from source. I used to admin 2 large compute clusters for a Fortune 100 NASA contractor, so I actually know what I'm talking about.

more than 3 years ago

Do Gadgets Degrade Our Common Sense?

morgan_greywolf Re:Death by GPS (311 comments)

Though I've never came anything close to death, I have personally gotten lost due to bad GPS data. Not so bad that I couldn't find my way back to some place I knew, mind you. However, if I were driving out into Death Valley with the road getting rougher, I would probably just say "screw this GPS, it's wrong," turn around and go back the way I came. And then look at a real paper map, or at least get directions from one of the locals. I know better than to go traipsing off into Death Valley with no idea of where I'm going.

OTOH, being a technology expert, I happen to grok that even advanced tech like GPS and smartphones have their failure modes. Some people just put too much faith into something they don't understand.

more than 3 years ago

Google Loses Bedrock Suit, All Linux May Infringe

morgan_greywolf Re:Bedrock is patent troll, and the patent is bogu (347 comments)

2.4.22 was one of the last releases before 2.6 was released. During that time, many features were being backported from the 2.5 series kernels. I don't know where the feature in question came from, but whether or not it was in 2.4.0 or 2.4.1 isn't clear to me.

more than 3 years ago



Playdough for fun and profit

morgan_greywolf morgan_greywolf writes  |  more than 3 years ago

morgan_greywolf writes "You’re never too young (or too old) to start learning the joys of electronics. You don’t need to know how to solder, or even how to plug circuit components into a breadboard. As long as you’re past the “I’m going to stick this up my nose” phase, this homemade playdough circuit project is a great way to introduce kiddos and adults alike to basic circuits and electricity."
Link to Original Source

Man dies of caffeine overdose

morgan_greywolf morgan_greywolf writes  |  more than 4 years ago

morgan_greywolf (835522) writes "A British man died after poisoning himself with two spoonfuls of caffeine powder bought over the internet, local media reported Friday.

Michael Lee Bedford, 23, from Mansfield, central England, was at a party in April when he swallowed caffeine powder that a friend bought online for £3.29 ($5.26), Nottingham Coroner’s Court heard Thursday.

He washed the powder down with an energy drink, and around 15 minutes later began sweating and vomiting blood. He later died at King’s Mill Hospital in Nottinghamshire, central England, the Nottingham Post reported."

Link to Original Source

Think your Linux firewall is safe? Think again.

morgan_greywolf morgan_greywolf writes  |  more than 4 years ago

morgan_greywolf (835522) writes "What if there were a way to attack your machine by entirely bypassing the operating system? According to two French security researchers at CanSecWest, a seldom-used remote administration mode on some Broadcom NetXtreme cards can be used to take full control of the victim’s network," and so long as the machine doesn't have or isn't using hardware virtualization, "the attacker can gain access to the victim’s computer memory and take full control of the machine," effecting bypassing the OS altogether.

Another researcher, Arrigo Triluzi, has dubbed a separate attack the Jedi Packet Trick. which involves a little-known factory diagnostic feature in some undisclosed network cards. Apparently, Triluzi has been able to install new firmware into these NICs, again entirely bypassing the operating system. According to Triluzi, once installed, the NIC can talk to other cards installed in the system, like oh, say, the video card, and use it to run malicious code, all without the operating system's knowledge."

Link to Original Source

BM, GA Tech, OSU to Develop Autonomic Computing

morgan_greywolf morgan_greywolf writes  |  more than 6 years ago

morgan_greywolf (835522) writes "Self regulating and self healing widely distributed network computing is the goal of a new group formed by IBM, Georgia Tech, and Ohio State. The first effort will be a "cloud" developed between the two universities where they can work on development of the new techniques.

The joint research will combine IBM's extensive technical, Autonomic Computing and cloud computing expertise, Ohio State's focus on IT processes and management issues, and Georgia Tech's focus on creating new technologies and methods for managing complex, dynamic and diverse distributed service-oriented systems and applications."

Link to Original Source

Microsoft Slashes Vista Prices

morgan_greywolf morgan_greywolf writes  |  more than 6 years ago

morgan_greywolf writes "Microsoft just cut prices on some of the various versions of Windows Vista, including dropping the suggested retail price of Vista Premium for $399 to $319 according to ZDNet's Adrian Kingsley-Hughes. Hughes says:

Good news for those looking to upgrade now SP1 is on the horizon. But if you read between the lines here, you'll notice something interesting going on. First off, notice no price drop for Vista Home Basic. The Tiny Tim version of Vista just got even less appealing for upgraders now that Home Premium is cheaper. Also, no price drop for the full retail version of Home Premium — maybe Microsoft is trying to make Ultimate more appealing.
Could this be further signs of Microsoft acknowledging that Vista has flopped?"

Link to Original Source

1st 10 Teams registered in Lunar X Prize

morgan_greywolf morgan_greywolf writes  |  more than 6 years ago

morgan_greywolf writes "The first 10 teams are registered for the Google Lunar X Prize: "Adil Jafry knew little about space. But when he heard there was a $20 million prize for the first team that could build a privately funded spacecraft and land it on the moon by 2012, he figured he could learn. The 35-year-old energy executive, who was born the same year NASA ended its Apollo missions, snatched up 26 books from Amazon.com two months ago, and has been reading such titles as "Destination Space: Making Science Fiction a Reality" ever since. 'So here I am,' he said Thursday, as the first 10 teams registered to compete in the Google Lunar X Prize competition were revealed at Google headquarters in Mountain View. 'I'm doing this for my children.'""

morgan_greywolf morgan_greywolf writes  |  more than 7 years ago

morgan_greywolf writes "According the the PC World, a new phishing scam uses Google Maps to pinpoint the physical location of the victim's computer:

Account holders with at least two Australian banks have become victims of a phishing scam in which malicious code reveals the physical location of affected IP addresses using Google Maps. Bank account holders in Germany and the U.S. have also been targeted.

Identity theft anyone?"



More mod abuse

morgan_greywolf morgan_greywolf writes  |  more than 5 years ago

Well, Mr. 4-digit UID asshat: I now know who you are. Let's just say my spies are everywhere. Oh, no, I'm not going to call you out. I want you to sweat it: does he really know or not? Because you don't want a war. You really don't want to pick a fight with me. I've been on this system at least as long as you have. Think about what that means. Or are you too stupid? Better watch your back, pal.


Another Open Letter to Brad Smith

morgan_greywolf morgan_greywolf writes  |  more than 5 years ago

This is another open letter to Brad Smith, Microsoft's general legal counsel, in regards to their thinly veiled Linux patent threats and related lawsuit against TomTom.

(Disclaimer: As I am a nobody as far as Microsoft is concerned, I don't honestly expect Brad Smith or anyone at Microsoft to read this, and I don't care. Mostly I'm just blowing off steam and getting my beefs out in the open).

So it's come to this, is it? Suing over an ancient filesystem developed from the the 1970s (FAT) and the assorted ugly hackish kluges that have been necessary to keep the decrepit pile of garbage on life support? The one that only became a defacto standard because at one time its use was all but mandated by some older versions of Microsoft Windows that didn't support anything else? You know, the one originally developed for floppy disks?

Why don't you just stop your lawsuit now before you get laughed out of the courtroom? Seriously, you guys are starting to look more and more like your old sock puppet, The SCO Group? Remember them? Yeah, they're basically on life support now thanks to IBM, Novell and Red Hat practically bankrupting them. Guess they chose the wrong opponents to pick a fight with, huh?

So you thought maybe TomTom would roll over and play dead, eh? I guess they didn't. Especially now that they're backed by the Open Invention Network.

So you have $20 billion in the bank? Wanna watch that money continue to slowly dwindle whilst you fight the Linux community? You don't get it do you? A lot of people with serious cash have a vested interest interest in watching Linux succeed in dwindling your market share. You think others in the industry aren't prepared to enter the melee between you and TomTom? Wrong.

Give it up before you embarrass yourself. Seriously.


The Pirate Bay Undergoing DDoS attack

morgan_greywolf morgan_greywolf writes  |  more than 5 years ago

Sys-Con.tv is reporting that The Pirate Bay is currently offline due to massive DDoS attack:

I just got word that "someone" is currently DDoS'ing the thepiratebay.org. Even more interesting it may be a hijacked botnet causing the problem. More details as they come in.

Interesting. Now we'll know if the theories about the BitTorrent network experiencing difficulties if/when The Pirate Bay gets taken down are true.

In related news Wired is reporting that the prosecutor and Hollywood are demanding prison sentences for the four defendants in The Pirate Bay case.


Three SSD Myths Busted: The Currently Definitive SSD Report

morgan_greywolf morgan_greywolf writes  |  more than 5 years ago

Think SSDs are so much wickedly faster than top of the line mechanical drives like the Western Digital Velociraptor? Maybe not. Bill O'Brien has an article on his site debunking three common myths about solid state drives (SSDs):

Myth 1: A Solid State Disk will boot faster than mechanical hard drive.
This is true but it's partially smoke and mirrors as well. When SSDs first appeared, they were rather pathetic 8GB and 16GB devices. Not much fits in that size. Even at 32GB you'll still be somewhat cramped if you have hardware drivers and applications. But when you get to 64GB or 80GB or 128GB -and you have some room to feel confident about carrying the additional software you need around with you--you start to add time to the boot process.

Some of you may remember Bill O'Brien from his stint at Computer Shopper, where he co-wrote The Hard Edge with Alice Hill.


Slashdot 2.0

morgan_greywolf morgan_greywolf writes  |  more than 5 years ago

I've seen a bunch of complaints lately about the new beta index. Now, I know that it's been in a state of rapid flux in the past few weeks as they try different things -- sometimes the thing doesn't even render right. Of course, this is 'beta', so you take your lumps as they work out the bugs.

Other than the occasional rendering problem and associated weirdness, though, I have to say that I rather like the new interface.

Wha? Why are you all looking at me like that?

Seriously. Listen. Okay, I don't like the green "idle" look very much, either. I personally think it's a bit difficult to read. But, other than that, I think the changes improve the usefulness of the site. Firehose has become more integrated with the main page, for instance. The whole thing is more dynamic, more AJAXy and overall the feel is much faster and much easier to sort through to find what you're looking for.

If you don't like it, you can always use the RSS feeds.

I welcome your opinions and comments, especially opposing viewpoints.


Never write another configuration parser -- ever.

morgan_greywolf morgan_greywolf writes  |  more than 5 years ago

Okay, so I'm a little slow at jumping on bandwagons. Having written code to parse everything from XML configuration files to Windows-style .INI files, I've always thought that writing code to create and parse configuration files sucked. And that things like ConfigParser and xml.dom.minidom in Python made it suck a little less.

So, having worked with XML, I had heard of JSON as an alternative to XML and always thought "Wow. I'm going to have to write ANOTHER parser? Ugh." Obviously I just didn't get it.

So I wrote a little proggie the other day and needed an object-oriented-type configuration file for it and thought, for some strange reason, they I should do something a little lighter weight than XML. Flat .INIs weren't going to work because, well, they're flat. ;) So I decided to give this JSON thing a try.

I looked at the JSON documentation for Python 2.6 (and simplejson for Python 2.5, which the Python 2.6 json module is based on) and went huh? That's it? That can't be it. I'll need to write more methods than that surely.

As I looked more and more at it, I realized uhhhh...a JSON file looks rather like a Python dictionary (like a hash table in Perl or C) with str and numeric values. And lists! (Values can be lists!) Perfect. And when you parse it, you get exactly that -- a big Python dictionary. Wow! *slaps forehead* How much easier can you make it than that?

So you can have

        "window": {
                "width": 150,
                "height": 200
        "bookmarks": [
                  "name": "Slashdot - News for Nerds. Stuff that Matters",
                  "url": "http://slashdot.org" },
              { "name": "Google Docs",
                  "url": "http://docs.google.com" },

(forgive me if Slashdot mangles the indentation as it usually does)

and then you can access the whole shebang via

>>> import json
>>> configFile=open('foo.rc','r')
>>> config=json.load(f)
>>> config['window']['height']
>>> for bookmark in config['bookmars']: print bookmark['url'] ...

And the JSON file can be entirely self-documenting: You can put literally anything you want for each of the key:value pairs.

And since writing out the JSON file is just easy (just in reverse), you can easily write a configuration GUI, with the same brand of direct access to the JSON structure.

Now that's easy.


Oh, joy! Moderation abuse!

morgan_greywolf morgan_greywolf writes  |  more than 5 years ago

This is an open letter to my friend, the personal troll.

Okay, this is getting old. Someone, who obviously has a couple of sock puppet accounts (and nothing better to do), went and modded a bunch of my posts as trolls today. They must really hate me, because they waited until two of their accounts got mod points, and then blew 8 of their 10 mod points on lil' ol' me.

Probably the same person who's been trolling me for the past couple of weeks.

Whoever you are, if you had some testicular fortitude, you wouldn't hide behind socket puppets and AC trolls. I'm asking you now, as a man (or woman as the case may be), to do the honorable thing and post, not AC, with your real account, right here. Then we can discuss your issue with me, one-on-one via e-mail if you prefer.

I seriously doubt you'll do the honorable thing because you've already shown that you're a coward with no honor.


Slashdot known astroturfers list #2

morgan_greywolf morgan_greywolf writes  |  more than 6 years ago

In the coming days I will be documenting known Microsoft astroturfers, together with evidence that paints them as such. Do what you will with this information. I will try to list only actual astroturfers, not fanboys, but I can't be 100% certain who-is-who. So, I will gladly accept any exceptions/modifications in the comments below. If you are the person in question, don't feel bad if I label you an astroturfer and you are not -- but you will be required to prove that you are not an astroturfer in order to be removed from the list.

Note: this list is hardly complete and will be issued in its entirety about once per week.

Update: thanks to those who have submitted updates and comments!

Julie188 (her blog, linked in her sig currently), plus looking at her posting record, only posts in stories that are of interest to Microsoft.
Thaad.Isolas (to this date, this is his ONLY post, and the account is older than that)
PoiBoy evidence evidence

See this journal entry for evidence links for the other posters.


Python 3.0 Review

morgan_greywolf morgan_greywolf writes  |  more than 6 years ago

(Also titled, 'Python 3.0: the good, the bad, and the ugly)

Here's my review of the changes in Python 3.0. I've been writing stuff in Python since 2.1 or so, and I tend to like Python's 'new' object system. I hate Lisp and I hate functional programming(*), so that makes me a bit of an oddball in the Python community I guess.

Good: The print statement has been replaced with a print() function, with keyword arguments to replace most of the special syntax of the old print statement (PEP 3105).

Maybe I just spent too many years writing C and Borland Pascal/Delphi code, but when I first started coding in Python, I often made the mistake of writing

print('Hello world')

rather than

print 'Hello world'

Now it's the way it should have been all along. Things are more consistent this way.

Additionally, the sep= keyword argument makes life easier. No longer do you have put the separator repeatedly in your quoted string especially if the separator is not a space!

Bad: The dict methods dict.keys(), dict.items() and dict.values() return "views" instead of lists. For example, this no longer works: k = d.keys(); k.sort(). Use k = sorted(d) instead (this works in Python 2.5 too and is just as efficient).

Why did they change this? I make use of dict.keys() rather a lot. *sniff*

Ugly: range() now behaves like xrange() used to behave, except it works with values of arbitrary size. The latter no longer exists.

It seems like they changed this just to be pedantic. Tell me what the improvement is in making range work like xrange and then removing xrange? Why not just keep both?

Bad: The ordering comparison operators (=, >) raise a TypeError exception when the operands don't have a meaningful natural ordering. Thus, expressions like 1 None or len are no longer valid, and e.g. None raises TypeError instead of returning False. A corollary is that sorting a heterogeneous list no longer makes sense - all the elements must be comparable to each other. Note that this does not apply to the == and != operators: objects of different incomparable types always compare unequal to each other.

Some of my favorite stupid Python tricks rely on the fact 'None' in fact does not raise a TypeError and instead causes an expression to return False. Oh well. Guess I'll be using a ton more exceptions. :-/

Ugly: PEP 0237: Essentially, long renamed to int. That is, there is only one built-in integral type, named int; but it behaves mostly like the old long type.

So if you're going to only have one type, instead of no longer accepting 'long', make 'long' an alias for 'int'. Now that wasn't too hard was it?

Good: PEP 0238: An expression like 1/2 returns a float

About fscking time. Damn, you have no idea how many times I looked at expressions like 1/2 and went "Huh? Whadya mean 0?"

Good, Bad and Ugly: Python 3.0 uses the concepts of text and (binary) data instead of Unicode strings and 8-bit strings. All text is Unicode; however encoded Unicode is represented as binary data. The type used to hold text is str, the type used to hold data is bytes. The biggest difference with the 2.x situation is that any attempt to mix text and data in Python 3.0 raises TypeError, whereas if you were to mix Unicode and 8-bit strings in Python 2.x, it would work if the 8-bit string happened to contain only 7-bit (ASCII) bytes, but you would get UnicodeDecodeError if it contained non-ASCII values. This value-specific behavior has caused numerous sad faces over the years.

I agree, but changing it is going to be a real pain for a WHOLE lot of programs. Specifically 2to3 and -3 isn't able to fix a lot of these differences.

Meh: PEP 3107: Function argument and return value annotations. This provides a standardized way of annotating a function's parameters and return value. There are no semantics attached to such annotations except that they can be introspected at runtime using the __annotations__ attribute. The intent is to encourage experimentation through metaclasses, decorators or frameworks.

Okay, but we're already doing this throw DOC strings. Why change it now?

Good: PEP 3102: Keyword-only arguments. Named parameters occurring after *args in the parameter list must be specified using keyword syntax in the call. You can also use a bare * in the parameter list to indicate that you don't accept a variable-length argument list, but you do have keyword-only arguments.

Okay, this is more consistent with how arguments work...

Meh: PEP 3104: nonlocal statement. Using nonlocal x you can now assign directly to a variable in an outer (but non-global) scope. nonlocal is a new reserved word.

If you're going to explicitly change the scope of a variable, you might as well make it global, huh? Some people are just too pedantical.

Good: PEP 3132: Extended Iterable Unpacking. You can now write things like a, b, *rest = some_sequence. And even *rest, a = stuff. The rest object is always a (possibly empty) list; the right-hand side may be any iterable. Example:

(a, *rest, b) = range(5)

This sets a to 0, b to 4, and *rest to [1, 2, 3].

Oh, goody! No more writing a, b, dummy1, dummy2 = function()

Good: Dictionary comprehensions: {k: v for k, v in stuff} means the same thing as dict(stuff) but is more flexible. (This is PEP 0274 vindicated. :-)

and ...

Set literals, e.g. {1, 2}. Note that {} is an empty dictionary; use set() for an empty set. Set comprehensions are also supported; e.g., {x for x in stuff} means the same thing as set(stuff) but is more flexible.

I always thought there should be a way to do this...

Ugly: New octal literals, e.g. 0o720 (already in 2.6). The old octal literals (0720) are gone.

But the old way was consistent with Unix...

Good: Change from except exc, var to except exc as var. See PEP 3110.

I hated the old way. To me, there isn't a lot of difference between except (exc, exc): and except exc, var: so I was always getting confused.

Ugly: PEP 3113: Tuple parameter unpacking removed. You can no longer write def foo(a, (b, c)): .... Use def foo(a, b_c): b, c = b_c instead.

Why? I mean, I read the PEP and understand the introspection issues, but um, if you don't like it, just don't use it.

This and the rest of the removed syntax: These seem like silly, pedantic political issues.

Bad: Library changes: why change the names of libraries without leaving aliases to the old names? You're just being pedantical again. Stop it.

Ugly: String template changes and the '%' string operator

I never saw anything wrong with the '%' operator.

The Rest

'file' is already an alias for 'open'. Again, why rename something in a destructive way? What's wrong with just leaving the damn alias there?

(*) More accurately, I hate programming purism. I tend to mix and match various techniques and metaphors and 'use what works' rather than get all uppity about things like how a function should never modify a global variable. Sometimes that's just the best way to do it.


PC Magazine calls it quits

morgan_greywolf morgan_greywolf writes  |  more than 6 years ago

I just heard on Pacifica's "Democracy Now!" that PC Magazine is calling it quits after nearly 30 years. Kind of a sad day, really. I remember PC Magazine was one of the first publications to have an online presence -- they had their own BBS in the 1980s and by the 1990s they added PCMagNet, their own forum on CompuServe (or CI$ as it was known back then ;).

I used to look forward to PC Magazine for their new utilities every month, their "how to" and "tips and tricks" columns, Alfred Poor's computer fixes column, and, of course, my favorite, 'Abort, Retry, Fail?', which was a humor column that highlighted the funniest typos, goofy ads and PC-related photos from around the country. Even John C. Dvorak had a clue at one time -- when he first encountered Linux in the early 90s, he was flabbergasted that you could get the source code to an entire OS on a CD. And he even predicted that Linux would go places one day. Really. :)

Farewell, PC Mag!

What do you guys remember?


Slashdot known Microsoft astroturfers list #1

morgan_greywolf morgan_greywolf writes  |  more than 6 years ago

In the coming days I will be documenting known Microsoft astroturfers, together with evidence that paints them as such. Do what you will with this information. I will try to list only actual astroturfers, not fanboys, but I can't be 100% certain who-is-who. So, I will gladly accept any exceptions/modifications in the comments below. If you are the person in question, don't feel bad if I label you an astroturfer and you are not -- but you will be required to prove that you are not an astroturfer in order to be removed from the list.

Note: this list is hardly complete and will be issued in its entirety about once per week.

Update: thanks to those who have submitted updates and comments!

freddy_dreddy evidence
Defcon79 evidence
ThinkFr33ly evidence
Julie188 evidence (her blog, linked in her sig currently), plus looking at her posting record, only posts in stories that are of interest to Microsoft.
Thaad.Isolas evidence (to this date, this is his ONLY post, and the account is older than that)


Asynchronous (non-blocking) I/O for subprocesses in Python

morgan_greywolf morgan_greywolf writes  |  more than 6 years ago

In case you're just immediately drooling to find the answer to this conundrum, I found it on ASPN: a module to allow asynchronous subprocess I/O through a pipe that works on both POSIX and Windows.

Anyway the full story: I started looking up the necessary pywin32 calls (along with their corresponding C Win32 API calls, since the pywin32 documentation sucks) to do it -- I knew I might need to create a pipe with CreatePipe and set it as FILE_FLAG_OVERLAPPED and then pass it CreateProcess via the startupinfo parameter. I then figured out that I could do most of this by subclassing subprocess.Popen. I also found PeekNamedPipe, which also might do what I needed ... and then, voila, after searching for some Python/Pywin32 examples that used a few of these API calls, I came across the above-linked recipe on ASPN.

(I already knew I could achieve what I wanted on Unix by subclassing Popen and using select and fcntl and knew how to do it. It was just convenient that the above happened to already be using the technique for POSIX OSes)

It would be really cool if that noah guy could add support for this technique in Pexpect, and in fact, it's the next logical step. I may, for my project, end up subclassing Pexpect to write my own implementation using asynchronous pipe I/O rather than a pty. This has several disadvantages, I know, but for most of what I use Expect or Pexpect for, it won't make one bit of difference.

One thing, though, is that I don't know if there is any problem with using code posted on ASPN in a GPL v2 or v3 application. Anyone know the details? And, there seem to be some disdvantages listed on the linked article, such as Cygwin's bash and sh not displaying prompts and problems with Python code on Windows. Anyone know how to fix those?


Win32 SetNamedPIpeHandleState for asynchronous I/O on a pipe

morgan_greywolf morgan_greywolf writes  |  more than 6 years ago

Anyone know why SetNamedPipeHandleState should not be used for asynchronous I/O (i.e, 'overlapped' or 'non-blocking' I/O) on a named pipe? MSDN just says don't use it it's only here for Lan Manager 2.0 backward compatibility.

Just curious. Seems like you could use it to do non-blocking reads without setting up an OVERLAPPED structructure, etc.


The Tcl/Expect Rant

morgan_greywolf morgan_greywolf writes  |  more than 6 years ago

First off, let me say that Expect is an awesome tool. It's great, especially, for writing GUI front-ends to CLI applications. Of course, if you want a nice-looking fully-modern GUI, you're not going going to be using Expectk. The Tk toolkit is ugly and ancient.

Now enters Python, PyGTKand Pexpect. Pexpect, for those who don't know, is a pure Python Expect-like module.

Pexpect is great -- right up until you need to run on Windows. After that, well, you seem to be pretty much out of luck with Pexpect, as it can't run on Windows, since it relies on Python's pty module, which is not available on Windows.

So, in looking around for other Expect implementations -- it seems none of those work on Windows, either -- with one exception: the Don Libes original Expect, which now runs on Windows.

Great! Only one problem: now I have to write my CLI handling code in Tcl.

Let me just say that Tcl sucks. It's horrible. Maybe you like functional programming, like Ruby or Lisp or Scheme. I hate it. I'm an OOP guy. I prefer OOP. Yes, I know about XOTcl, etc., but at the end of the day these extensions are like putting lipstick on a pig. (Ha! Thanks to the 2008 Presidential Election, I now LOVE this expression! ;)

For example, in GUI-front-end writing, you often need to build your command line from a list of arguments. With Pexpect, you just do something like this:

from pexpect import *

switches="%s -a %s" % (switches, argument_for_a) ....
cmdline='%s %s' % (command,switches)

With Tcl Expect, you'd think you could do something similar:

set command "mycommand"
append switches [format "-a %s" $argument_for_a] ...
set cmdline $command
append cmdline [format " %s" % $switches]
exp_spawn $cmdline $switches

But, nooooo. Expect passes $switches as one big-long fsckin' argument

Ok, fine. Pass it a list! Change everything to lappend, etc., and that should work right?

Nooooo. Then Expect mangles it even worse and passes the list like this:

"{arg 1} {arg 2} {arg 3}" -- literally. Braces and all.

Grrr.. Okay, looking closer, exp_spawn expects to see each argument to the program passed as a separate argument. Okay, there must be some way to break a list into separate args.

There is. In Tcl 8.5. It's called 'expand'. Never mind that ActiveTCL 8.5 doesn't come with Expect, and the only way, it seems, to get it is to pay for it. Fsck you, ActiveState.

So, I was working with ActiveTcl 8.4.19. Which doesn't have 'expand'. Nowhere in the docs is it mentioned what to do. I found a forum post, fortunately, and figured out that the 'eval' command will break a list passed to any command into separate arguments by forcing another round of expansion before calling the exp_spawn. It took me hours to find this little nibble of Tcl wisdom.

WTF? Why is Tcl so ..... friggin' bass-ackwards! If I wanted my programming to be this kludge-ridden and ugly, I'd've written the damned thing in bash! Or csh. Or DOS batch files!

Bleck. Tcl sucks.

Alternative viewpoints are welcome.


The investment banking crisis for geeks

morgan_greywolf morgan_greywolf writes  |  more than 6 years ago

Those of you with little business knowledge and reading lots of confusingly-written news articles might be confused by what caused the whole investment banking collapse, with financial legends such Lehman Brothers and Merryll Lynch tanking. So here it is in a nutshell, explained in geek language by a geek for geeks.

Newsweek finance columnist Robert Samuelson, in his latest article, (RTFA. Really. You'll enjoy it. ;) puts it this way:

Finally, investment banks rely heavily on borrowed money, called "leverage" in financial lingo. Lehman was typical. In late 2007, it held almost $700 billion in stocks, bonds and other securities. Meanwhile, its shareholders' investment (equity) was about $23 billion. All the rest was supported by borrowings. The "leverage ratio" was 30 to 1.

Leverage can create huge windfalls. Suppose you buy a stock for $100. It goes to $110. You made 10 percent, a decent return. Now suppose you borrowed $90 of the $100. If the price rises to $101, you've made 10 percent on your $10 investment. (Technically, the price has to exceed $101 slightly to cover interest payments.) If it goes to $110, you've doubled your money. Wow.

Note, however, the part that he leaves to the imagination of the reader: what happens if that stock tanks and drops to $90? Heh. Well, they still have to pay back the $90 they borrowed, plus they lost the $10. And if it really tanks bad and drops to $80, they lost $20 for a 200% loss. The risk cuts both ways.

Well, that doesn't seem so bad, though, right? It can't be that all these stocks, bonds and other securities can all go down at the same time, right? Right. Except that the same investment banks made a string of bad purchases. Again, Samuelson puts it this way:

Dubious mortgages were packaged into bonds, sold and traded. Investment houses had huge incentives to increase leverage. While the boom continued, government remained aloof. Congress resisted tougher regulation for Fannie and Freddie and permitted them to run leverage ratios that, by plausible calculations, exceeded 60 to 1.

Now wait a minute. What allowed all of this to happen?

Samuelson hints at it:

Merrill and other retail brokers, which once served individual clients, have ventured into investment banking. So have some commercial banks that were barred from doing so until the repeal in 1999 of the Glass-Steagall Act of 1933.

So, wait a minute. You mean all of this was caused by deregulation of the financial markets? You betcha! As David Lightman put it yesterday in that article I just linked:

In 1999, President Clinton signed the Financial Services Modernization Act, which tore down Glass-Steagall's reforms by removing the walls separating banks, securities firms and insurers.(emphasis added)

Isn't this kind of financial deregulation exactly what caused the Great Depression? Yeah. You should really ask Slashdot reader mcgrew about that, because he seems to know all about it.

Do the math. We're headed for a financial collapse of epic proportions. Pay no attention to the musings of McCain and Palin or Obama and Biden. They're just trying to get elected. Keep reading the articles by guys like Samuelson and mcgrew. These guys know what they're talking about.


Best cross-platform, GUI text editor/IDE for Python

morgan_greywolf morgan_greywolf writes  |  more than 6 years ago

What do you find is the best text editor for Python software development? I've tried several, and I'm always frustrated by the limitations of each. Eclipse is cool, but it's huge and I've had multiple problems with corruption of the workspace. It got so bad at one point that every week or so I was tearing it down and recreating it. I spent so much time re-creating Eclipse's workspace that I found any productivity gains were lost due to Eclipse's brokenness.

I've also done the Emacs thing. Emacs is cool, but I found that I missed code browsing. So then I installed the Emacs Code Browser, Semantic and associated elisp code and found that it didn't work right half the time. I also seem to prefer either vi/Vim style editors, CUA-style editors, or WordStar-style editors.

Unfortunately, there are no GUI WordStar-style editors and none of them are cross-platform with Windows.

So, that left me with Scintilla/SCiTE. Which is nice, but, the code browsing doesn't seem to be able do autocomplete with PyGTK (to be fair, Eclipse's didn't work so well, either in that regard, at least not on the default Ubuntu install)

SCiTE loads fast, does nice Python highlighting, and has the ability to run code right from the browser. Unforutnately, unlike Eclipse or Emacs, there's no ability to do step/trace style debugging. *sigh*

So, okay, does anyone have any other ideas?


Annoying Opera/Slashdot Cookie Problem Reloaded

morgan_greywolf morgan_greywolf writes  |  more than 6 years ago I had the same problem on another machine with an upgraded 9.2x profile on 9.52 (and probably any 9.5x version) Basically, in summary, you login to the main page, but when you click on one of the 'sections' (i.e., 'yro.slashdot.org') your cookies don't follow you for some reason. Since you won't find the solution to this anywhere else I'm going to post it here: the solution is to delete your Opera profile and let Opera re-create it. Not my favorite solution, but it works.


HELP! Annoying Opera cookie slashdot problem

morgan_greywolf morgan_greywolf writes  |  more than 6 years ago

When logged into the main page here (slashdot.org), whenver I go to the section pages (i.e., developers.slashdot.org), I end up browsing as an anonymous user, because Opera 9.52 doesn't seem to be sending the cookies for Slashdot.org. This didn't occur in 9.2x or 9.51, but I think I've seen it in other past Opera versions.

It doesn't seem to matter what I set my cookies preference to. Even if I globally set it to 'Accept cookies', and delete all my site preferences, it doesn't seem to matter.

I've tried clearing my cache and cookies, restarting all that jazz.

Any ideas? Anyone?


Day One of SCO v. Novell

morgan_greywolf morgan_greywolf writes  |  more than 5 years ago

There is a nice play-by-play of the first day of the SCO v. Novell proceedings today in Judge Kimball's courtroom on Groklaw. An excellent, one-sentence summary of SCO's defense argument appears in PJ's commentary:

The pretense, in other words, as I see it, is that by pointing to the SYS V code in UnixWare and pretending it didn't come from UNIX, that somehow it got divorced from System V once it was put in UnixWare, SCO can contend that it owes Novell nothing.

Wow. So according to SCO, if I make a derivative of a GPL work, say, the Linux kernel, i can then take someone else's original code and license it to third parties anyway I see fit without compensation or permission from the copyright holder because I took the code from my derivative work, and not from the original? Just...wow. That has got to be the stupidest argument I have ever heard.


Does Slashdot suck?

morgan_greywolf morgan_greywolf writes  |  more than 6 years ago

Does Slashdot suck? No, really I mean it. Are the stories as good as they used to be? Are the real geeks and hackers still here? Does it just seem to be a big time waster?

What do you think?

Slashdot Login

Need an Account?

Forgot your password?