Hacking Team built drone-based Wi-Fi hacking hardware (ArsTechnica) SANS ISC SecNewsFeed(cached at July 19, 2015, 11:59 pm)

Company Aims To Launch Spacecraft On Beams of Microwaves Slashdotby samzenpus on space at January 1, 1970, 1:00 am (cached at July 19, 2015, 11:32 pm)

MarkWhittington writes: The quest for cheap access to space, to make space travel as inexpensive as air travel, has eluded engineers, government policy makers, and business entrepreneurs from before the beginning of the space age. It has become axiomatic, almost to the point of being a cliché, that the true space age will not begin until launch costs come down significantly. Forbes reported about a company called Escape Dynamics that has a unique approach to the problem. The company proposes to launch payloads into low Earth orbit on beams of microwaves.

Read more of this story at Slashdot.

Hamas in the firing line? AL JAZEERA ENGLISH (AJE)(cached at July 19, 2015, 10:59 pm)

Fingers point at ISIL for car bomb explosions in Gaza aimed at Hamas and the Islamic Jihad movement.
Internet Dating Scams Target Older American Women Slashdotby samzenpus on internet at January 1, 1970, 1:00 am (cached at July 19, 2015, 10:32 pm)

HughPickens.com writes: The NYT reports: "Janet N. Cook, a church secretary in Virginia, had been a widow for a decade when she joined an Internet dating site and was quickly overcome by a rush of emails, phone calls and plans for a face-to-face visit. "I'm not stupid, but I was totally naïve," says Cook, now 76, who was swept off her feet by a man who called himself Kelvin Wells and described himself as a middle-aged German businessman looking for someone "confident" and "outspoken" to travel with him to places like Italy, his "dream destination." But very soon he began describing various troubles, including being hospitalized in Ghana, where he had gone on business, and asked Cook to bail him out. In all, she sent him nearly $300,000, as he apparently followed a well-honed script that online criminals use to bilk members of dating sites out of tens of millions of dollars a year." According to the Times internet scammers are targeting women in their 50s and 60s, often retired and living alone, who say that the email and phone wooing forms a bond that may not be physical but that is intense and enveloping. Between July 1 and Dec. 31, 2014, nearly 6,000 people registered complaints of such confidence fraud with losses of $82.3 million, according to the federal Internet Crime Complaint Center. Older people are ideal targets because they often have accumulated savings over a lifetime, own their homes and are susceptible to being deceived by someone intent on fraud. The digital version of the romance con is now sufficiently widespread that AARP's Fraud Watch Network has urged online dating sites to institute more safeguards to protect against such fraud. The AARP network recommends that dating site members use Google's "search by image" to see if the suitor's picture appears on other sites with different names. If an email from "a potential suitor seems suspicious, cut and paste it into Google and see if the words pop up on any romance scam sites," the network advised. The website romancescams.org lists red flags to look for to identify such predators, who urgently appeal to victims for money to cover financial setbacks like unexpected fines, money lost to robbery or unpaid wages. Most victims say they are embarrassed to admit what happened, and they fear that revealing it will bring derision from their family and friends, who will question their judgment and even their ability to handle their own financial affairs."It makes me sound so stupid, but he would be calling me in the evening and at night. It felt so real. We had plans to go to the Bahamas and to Bermuda together," says Louise Brown. "When I found out it was a scam, I felt so betrayed. I kept it secret from my family for two years, but it's an awful thing to carry around. But later I sent him a message and said I forgave him."

Read more of this story at Slashdot.

Berkeley Breathed Revives Bloom County Comic Strip After 25 Years Slashdotby samzenpus on humor at January 1, 1970, 1:00 am (cached at July 19, 2015, 10:32 pm)

cold fjord writes: Just as it was needed then, it is needed now (more than ever). NPR reports, "Fans of the well-loved comic strip Bloom County are celebrating ... cartoonist Berkeley Breathed issued the first panels of his satirical strip in decades. Breathed won a Pulitzer Prize for his work on Bloom County back in 1987; two years later, he quit producing it. ... It's unclear whether Breathed will syndicate his new work in newspapers; he recently recalled how an editorial dispute with a publisher had a direct role in his decision to quit cartooning in 2008. His Facebook postings, Breathed said earlier this month, are "nicely out of reach of nervous newspaper editors, the PC humor police now rampant across the web ... and ISIS." When Bloom County went idle in 1989, it was one of several clever and inventive comic strips, such as Calvin and Hobbes and The Far Side, that were beloved by fans and yet were also comparatively short-lived. Today, devoted fans are treating its return as a small miracle." — The Washington Post adds, ""Honestly, I was unprepared for it," Breathed tells me of the public outpouring. "It calls for a bit of introspection about how characters can work with readers and how they're now absent as a unifying element with a society. "There is no media that will allow a Charlie Brown or a Snoopy to become a universal and shared joy each morning at the same moment across the country," Breathed continues. 'Maybe the rather marked response to my character's return is a reflection of that loss. A last gasp of a passing era.'"

Read more of this story at Slashdot.

Devel-PerlySense-0.0215 search.cpan.orgby Johan Lindström at January 1, 1970, 1:00 am (cached at July 19, 2015, 10:31 pm)

Perl IDE backend with Emacs frontend
MySQL-Sandbox-3.0.54 search.cpan.orgby Giuseppe Maxia at January 1, 1970, 1:00 am (cached at July 19, 2015, 10:31 pm)

Quickly installs MySQL side server, either standalone or in groups
HTTP-Message-6.10 search.cpan.orgby Karen Etheridge at January 1, 1970, 1:00 am (cached at July 19, 2015, 10:31 pm)

HTTP style messages
After Washington Post rolls out HTTPS, its editorial board bemoans encryption debate SANS ISC SecNewsFeed(cached at July 19, 2015, 10:29 pm)

Solving Problems I Don’t Have, Except that I Do Have Them inessential.comat January 1, 1970, 8:00 am (cached at July 19, 2015, 9:30 pm)

I’m not sure if I’ve said it on my blog, but I’ve said it in person to other people: Swift’s type system solves a problem I don’t have.

Example: if I make an NSArray, I know what’s in there, my code knows what’s in there, and I’ve never had a crash or other bug where the array contained something unexpected.

Seriously. This isn’t that hard.

Except that that’s not actually true.

* * *

There are two cases where that hasn’t been true, and they’re representative, I think.

One is in JSON parsing: I’ve ended up with NSNull in an array or dictionary where I expected something else — and then I’ve sent it a message expecting it to be an NSString or whatever, and the app crashed.

So that’s a thing: data from the outside world may be weird.

That being said, Swift doesn’t necessarily help very much. Or maybe it does, but I’m not good enough at Swift yet to realize how it helps. Totally possible. But right now, for me, there’s always a point where I’m forcing a cast and then looking around nervously to see if the atmosphere ignited.

There’s a second case where I think it does help. I wrote a crashing bug in Objective-C (and fixed it moments later; it didn’t ship) where I expected everything in an NSArray to be of the same type, and it wasn’t true.

The code was building a pull-down menu, and the zeroth item was an NSDictionary with a value for key @"name", and other items were of an object type that had a name property. Every object would respond to valueForKey:@"name" as expected — but not to obj.name. I didn’t realize what was going on at first, and Swift absolutely would have helped.

Now — the original code wasn’t written by me, and I wouldn’t have done it that way, but it’s not necessarily wrong. Just different from my style.

But it’s a fact of life that apps very often have more than one author, and sometimes many more than one, and with different styles. And they may be separated in time (the original author may not even be working on that app; they may not even be at the company any more).

While Swift makes it harder to write type-related bugs — which is great — it also makes it harder, sometimes, to do what I want in a reasonable and simple way, which is not great.

However, it improves with each release. And if there are trade-offs which make the choice of language a tie, the tie-breaker has to be the question: which technology is the future?

(That presumes that the choice of language is a tie. It may or may not be. It differs with each person and each app, and it changes with every release of Swift.)

CyberGhost VPN I got 99 Problems and Im sure SSL is one (Reddit) SANS ISC SecNewsFeed(cached at July 19, 2015, 9:29 pm)

Bitcoin Exempt From VAT Says European Court of Justice Slashdotby samzenpus on eu at January 1, 1970, 1:00 am (cached at July 19, 2015, 9:02 pm)

An anonymous reader writes: The European Court of Justice (ECJ) proposes that Bitcoin should be exempt from Value Added Tax (VAT). This news has been positively received by the Bitcoin community in the EU, as member states are not likely going to apply VAT to purchases and sales of Bitcoin. A clear cut argument brought up by Advocate General Juliane Kokott, was that VAT is commonly applied to goods and services which have an end consumer. Bitcoin is neither a good, nor a service and has no end consumer, as Bitcoins are eternally transferable just like normal currency. Bitcoin exchanges such as Coinbase, Kraken, Bitstamp, and Bitfinex will all benefit from this ruling, which may lead to other countries across the globe to follow a similar approach.

Read more of this story at Slashdot.

Is ISIL running out of oil? AL JAZEERA ENGLISH (AJE)(cached at July 19, 2015, 8:59 pm)

Fighters may lost Iraq's Beiji refinery, but they still control a number of oil wells and continue to exploit them.
Secret Projects Diary #2: Swift 2.0 Protocols inessential.comat January 1, 1970, 8:00 am (cached at July 19, 2015, 8:30 pm)

Let’s say I’m writing an RSS reader. (This is the example I tend to use on my blog, for historical reasons, and shouldn’t be taken as indicative of anything.)

Let’s say the RSS reader can have a mix of stand-alone feeds and feeds that are synced with FeedBin, Feedly, NewsBlur, etc. I might very well do this:

(Why? Because each syncing system is different, and rather than have a giant Feed class that can handle all the different types, it’s smarter to have a Feed protocol and then specific implementations for each different type of feed.)

RSS readers tend to have folders too. But folders may have different rules, depending on the system: folders inside folders may or may not be allowed, for instance. So, similarly, I might do this:

The Folder protocol includes the following:

var feeds: [Feed] {get}
func addFeeds(feedsToAdd: [Feed])

Now, in a concrete implementation of addFeeds, I want to check that each feed isn’t already contained in the folder.

func addFeeds(feedsToAdd: [Feed]) {
  for oneFeed in feedsToAdd
    if !feeds.contains(oneFeed) {
      feeds += [oneFeed]
  }
}

But I can’t: I get Cannot invoke 'contains' with an argument list of type '(Feed)'.

Okay, I think — let’s just use a Set anyway. Probably should have been a Set all along.

So I change the Folder protocol to make feeds a set:

var feeds: Set<Feed> {get}

And on that line I get an error: Type 'Feed' does not conform to protocol 'Hashable'.

So I try to make the Feed protocol Equatable, and I can’t. (And it has to be Equatable to be Hashable.)

* * *

I believe in protocol-based programming. Big, big fan. But it’s here where I get frustrated.

It occurs to me that I’m still new to Swift, and I’m trying to use Objective-C patterns. That’s fair and true.

The Objective-C version of all of this is pretty natural, though. Given Feed and Folder protocols, I can do this:

- (void)addFeeds:(NSArray *feedsToAdd) {
  NSMutableArray *feedsArray = [self.feeds mutableCopy];
  for (id<Feed> oneFeed in feedsToAdd) {
    if (![feedsArray containsObject:oneFeed]) {
      [feedsArray addObject:oneFeed];
    }
  }
  self.feeds = [feedsArray copy];
}

(A version where self.feeds is an NSSet is even simpler.)

It occurs to me that there probably is an answer in Swift. But it probably means more code. Objective-C syntax may be more verbose, but the fact that I can treat id<Feed> as an object without having to stand on my head is important because, again, I’m a huge fan of protocol-based programming. (And I’m a huge fan of less code.)

Let’s just say that I’m doing it wrong. What’s the right way to do this?

* * *

Aside:

“Brent — if you love Objective-C so much, why don’t you marry it?”

Here’s the deal: I’m 47 years old, and if I start ignoring new things, I’ll fall behind and won’t be able to catch up. When you’re 30 or even 40 you can safely ignore things for a while and catch up later. Later on it’s harder and time is shorter. So I’m learning Swift.

And, by the way, I’m enjoying it. There’s so much to love. But sometimes I hit roadblocks and Swift’s type system feels like a straightjacket — and then I miss the elegance of my beloved Smalltalk-derived Objective-C.

* * *

Update 11:25 am: I created a playground showing my conundrum: RSSReaderExample.playground.zip. (May require Xcode 7 beta.)

The Public Comments on the Proposed Wassenaar Rule to Limit Export of Hacking Tools SANS ISC SecNewsFeed(cached at July 19, 2015, 8:29 pm)