skysight-inc/HackerNews huggingface dataset:
There is a strata between "cheap" and "elite" which doesn't seem to be served by either.
I'm closing up shop, what should I open source?
Hello!

I operate http://www.robots-everywhere.com and have decided to close up shop due to lack of attention/demand. What should I opensource, and where?

The software can go on github or the like, but what of the hardware designs? Is Thingiverse appropriate for stuff that can't be 3d printed? How about the electronics designs?
If only someone could come up with a way to use a stylus on a capacitive screen... Oh wait...
For sparkle, how does the client work? Is it installed on the machine and then uses git to pull differences?
ahh that would be because I"m an idiot. Thanks for the heads up.
Don't do stuff that makes people become legitimate whistleblowers is a good start.

The US public is not stupid. There is very little goodwill towards Manning about what he did compared to Snowden[1]. And for good reasons.

So people are pretty good from separating whistleblower and leaker. So I think it will be non issue.

[1] There is a lot of sympathy for Manning about the way he was treated, which may or may not be a good case for clemency in the next administration.
Good post, just wish you'd name the "investor."
> Education: An awful lot of improvements to education are criticised for undermining public education. IMHO, public education needs undermining. (If you have no idea why I'd say that, I'm guessing you a) haven't got a child in a failing state school and b) haven't seen Season 4 of The Wire)

My issue isn't that they're undermining public education, but rather that they're actively making all education worse by doubling down on its worst aspects.

The only thing Gates has done w.r.t. education that I'm okay with is backing Khan Academy and the notion of flip teaching.

That said, I'm pleased that he's trying.
Is it fair to call this willful ignorance?
I purchased one merely to show support for the author.
OP here. I'd love to see what you launched. Could you post a link?
The windows download link 404s.
Here is some material from the launch event last year: http://bergie.iki.fi/blog/jolla-sailfish/
> Larry Page: “We had a closet full of over 100 phones [that we were developing software for], and we were building our software pretty much one device at a time,” he said in his 2012 report to share­holders. In various remarks over the years he has described the experience as both “awful” and “incredibly painful.”

... and now nearly every Android dev shop I know has closets full of way more than 100 phones, with feature white and blacklists all around.
Oh wow. That's awesome. Forwarding to my Mum for her new business...
However, notice that if this article is true, then it also implies that Google was caught completely flat-footed by the iPhone, CEO on the board of Apple or no.
Does Sparkleshare do client-side encryption? I didn't think so, since it's based on git.
XP - to actually be XP - is no less prescriptive. Either you follow the 12-step program, or you're a heretic. Now small-a agile is certainly a good thing - but like Nietzsche I am suspicious of any attempt to systematize what should be organic.
In the same boat. It runs on mostly the same broad hardware (as I understand it leveraging much of the Android BSP work via libhybris). Obviously if you prefer Qt to Java/Dalvik it's a win, but the fact that it includes the Android runtime means that most app developers are going to target Android anyway.

It's sort of a wash from the perspective of open source. The SailfishOS core seems more open and "project-like" than AOSP, but just like with Google/GMS the core apps and user-facing bits are proprietary to Jolla. And being new, the ecosystem doesn't yet have good open source replacements you can find for Android.
Bioterrorism concerns keep genetic code for new strain of botulism under wraps
Thank you, I will do that!
Plenty of people say "Ponzi Scheme". Many of them don't know anything about Bitcoin (or Ponzi Schemes).
Jobs' anger wasn't at all related to WebKit.
with a python api please? so that i can read and write data encrypted using python with my own keys.
How to launch a startup with a full time job
The "design up front" in TDD is hidden in the write code / refactor steps. The pure TDD framework is bogo-sort for code: start with no code, bang randomly on keyboard, test if it passes, if not then repeat. Obviously something sensible has to go in that gap.

What it usefully replaces is bikeshedding. It lets you try out the design you have in your head, in bite size pieces.
Target Confirms Breach: 40 Million CC numbers
I was part of a development organization that, driven by guilt and shame, tried to mature and improve their "ad-hoc" processes by fully embracing by-the-book waterfall.

To me it felt like they were saying, "You know all the things you did to make your last project a huge success: the short iterations, tight feedback loops, early and frequent customer involvement, designing your systems to accommodate change? Yeah, don't ever do any of that again."

So I left, and found that dogmatic by-the-book scrum shops can also be horrible places to work. Live and learn.
I bought the Nokia 770, N810 and N900 on release day. Capacitive screens made everything much nicer by being usable.
Projects can be canned for all sorts of reasons, but from what I recall the people involved in C3 blamed the Chrysler management. Perhaps the latter were more interested in having a working payroll system than inventing the future of software development.

One of the criticisms I remember some people making of XP when it first came to prominence was that it shifted a lot of the hard work of software development onto the customer, or rather the customer representative; certainly, ever since I heard about what happened to the first XP customer representative (see http://www.coldewey.com/publikationen/conferences/oopsla2001...) I've taken comments about XP being a humane methodology with a pinch of salt.
Downside of CC breach: get new magic number, distribute to various service providers.

Downside of single (exploited) mistake in bitcoin wallet management: total loss of value.
Congratulations for you success!

Would you say that the most important reason of your success is you penetrated a relatively new market with a good product early, and it was easier to gain traction and build a large user base that you can now cross-promote your other apps?

Merci d'avoir partager l'histoire de ton succès. C'est toujours inspirant et surtout éducatif ;)

Bonne continuation!
How a single cold email lead to 1.1 Million in funding
http://blog.sqwiggle.com/amazing-power-cold-emails-changed-life/
I'll plug SpiderOak here. Pretty decent prices and service, but their client was pretty awful the last time I used it... and encryption vastly slows the file sync (at least, it seemed so).

Hope that helps you though!
Will do. Is this thread a good place to get back to you guys if/when a WG is set up? Would likely be after the US holidays…
Your First Hire Should be a Sysadmin
Just put everything raw open and see if people would do that work for you?
Very true. The difference is in the profit. Google arguably will put up with it considering they are selling more phones.

Once goolge starts shipping good hardware, other carriers will follow them for compatibility.
The NCR/Diebold techs charge out at 200-300 an hour which regional banks cannot really afford. I was working for a 3rd party servicing company which existed only because of the duopoly's insanely high service rates. We were contracted by the banks to purchase the appropriate amounts of licensed software and then install it on their machines.

One way NCR/Diebold would screw customers is by having the software upgrade process take so effing long. If you wanted to upgrade the software on one of these machines it was multiple CDs with a total boot / reboot / loading time of 5 to 6 hours. I've torn through all the code and programs I could find on those machines while in the shop, there is NOTHING that could possibly be taking that long to load and install. The entire customer interface is an XML config file with a few PNGs and text-to-speech running for selected parts of the XML. (This is also a fun way to hack an ATM to say things like "FEED ME A STRAY CAT"). We really suspected the companies greatly padded the install time to increase their service bills. We got the contracts to upgrade from the regional banks because we would instead build new cages with the correct CPU/RAM/audio spec, preload the software with a bunch of cloned hard drives, swap the cages and then bring the machine back on the network. This was MUCH cheaper than paying the factory technicians.

Don't even get me started on what NCR/Diebold do with the DMCA. They would do things like releasing an identical hardware component (receipt printer, etc.) but with a new driver, and if anyone bought a used component (for about 10% of the new price) and dared to update the driver so it would work with newer machines (which refused to work with the old drivers) they would sue and win.
In some languages sometimes but in general I think that's the use case for yoda code.
Anyone know where this was filmed?
People latch on to what aspect they don't like of a thing and it becomes synonymous with the thing itself.

With XP, sadly, this is true. Most times you bring up the XP practices individually, and they're "good ideas". You say XP, and they say "fuck pairing!"
"Copy of Palm?"

I was an continuous palm user from 1998-2006, I owned four different treos, (and a handspring).

Trust me when I say there was almost no relationship (let alone "copy") between the Palm and iPhone. Except, maybe, they could both make phone calls.

I watched the Apple keynote, swearing that under no circumstance would I ever purchase an apple toy - 2 minutes after I touched the iPhone/Google Maps (even with it's crappy GPRS/EDGE network) I was heading to go line up at the Apple Store.
I think far too many people fail to make the distinction between designing an algorithm and designing a program (which implements it).

This is why I have to watch co-workers create dozens of useless error classes and utility functions, and totally ignore YAGNI, before actually taking a single step towards a working program.

If you don't know the algorithm, and haven't figured out the abstractions, then just slinging some implementation code is the easiest (and laziest) thing you can do. It's basically a way of avoiding having the necessary conversations. In this case, the question that needed answering before beginning TDD was: "How does one efficiently solve a sudoku puzzle (as opposed to just manipulating one)"
Is anyone else as infuriated as I am that you can't actually read any of the code?

Maybe I'm missing a button somewhere, but I needed to open up the DOM inspector or RSS feed to read every single one.

Unacceptable
Insects are already eaten regularly by ~60% of the world's population. It's not so much inventing a new industry as improving the tooling of one of the oldest.

That said, there'll always be a demand for a variety of protein sources. We've had access to complete plant protein for thousands of years, but we consume more meat than ever. Vegetable protein will likely always be the cheapest, and that has been the case since the dawn of agriculture.
But anything I could do in Perl I instead do in Ruby. It's not as fast, but if fast matters I'm not supposed to use a scripting language.

Perl can actually be very fast; it depends on what you're doing and how you write it. A lot of developers don't realize that Perl isn't really a scripting language; it's a compiled language that has a compiler that's so fast it can be run every time you run the program. The compiler produces bytecode, and the bytecode runs on a virtual machine, just like Java and C#.

The key to writing fast Perl code is to use programming constructs that compile down to single bytecode operations, because those operations are implemented in the VM using well-tuned C code. For example, using grep and map with array variables is much faster than using a for loop and explicitly indexing through the array. With the former, the enumeration is handled in C code, while in the latter it's handled in Perl code.

Note: that's probably not 100% accurate, but it's the general idea. You can actually have perl output the bytecode it generates so you can take a look at it, and figure out places where changing how your code is structured will produce more efficient bytecode.
Easy Secure WiFi
This is exactly what boot2docker[1] is set to achieve. It's a 23mb VM that boots in 6s, based on Tiny Core Linux, and runs from RAM.

Full disclosure: is you haven't guessed it by my name, I maintain boot2docker.

[1] https://github.com/steeve/boot2docker
I don't like the way these sites try to own, brand and market various aspects of their users' identity in such a strong way, and make it hard to nigh impossible to archive or remove your data, but I understand why they do it. The only ideas I've had amount to "x with anonymous posting and a big red DELETE button" or "x, but charge for y and somehow convince people to pay or y even though y is free everywhere else."

I don't think I have a good solution but given the general growing unease and distaste people seem to have with social media, I know it's needed.
I wish I had coined the term, but it's taken from an actual comment: http://www.amazon.com/review/RDZBBO2Q4MI6V/ref=cm_cr_pr_perm...

The 1-star reviews roughly fall in three categories:

- This is not how proper projects are done.

- We don't need another cult-like methodology

- This will vindicate cow boy coders

2 and 3 may have a point.
They don't mention client side encryption, only encrypted connection (naturally for SSL, and HTTPS for S3 I guess). If they don't support it, it would be a deal breaker for me.
That is absolutely the reason. On top of that, the only reason they want to use iterations (along with the dreaded inchstone) is so they can use Microsoft Project as a progress bar. If you try to change your iteration deliverables (that were set three years ago) because of actual project issues, you get a ration of shit from the government and their advisors.
http://thelastpsychiatrist.com/2009/12/how_to_create_motivat...

"How's that novel coming? Almost done, I'll bet"

Sometimes you just have to damn the consequences and just decide.
There's a great story by one of the engineers about this presentation, whole thing was still pretty prototype and crashed a fair bit:

http://www.nytimes.com/2013/10/06/magazine/and-then-steve-sa...

Also to put this in context, go watch the original Android sneak peek. Anyone who claims Google didn't completely rip off Apple is delusional. Android sucked pre-iPhone. Can't find the video now with a quick google.
We are an Android Dev Shop with decent success (US Based). We don't carry more than 4 models of android Devices.

Would you care to mention names of couple of dev shops that has 100 Android models?
I started in a new Perl position with my current employer in 2012. We just filled another new (mostly) Perl position a few months ago. I can't speak to the total numbers of positions available, but there is work out there for sure and it's not by any stretch strictly maintenance programming.
I think it won't be long before someone starts selling a real Mac Pro trash can for your office.
It's a lesson that head starts, no matter how revolutionary, can always be overcome.
Nonsense. When you read the code you need to know what it does, not what the programmer had intended, then, and only then, will you stand any hope of fixing bugs.

well chosen function and variable names tell you the intention, if it's modular enough then it will all make sense when you read it.

If people could just get over this documentation phase that programming went through in the 80's and 90's due to languages containing obtuse syntax and being so low level you had to hold a dozen things in your head at once (I'm thinking of you COM) - but in this era, with languages that operate at a high level of abstraction the era of documenting the code is over.

"The code is the documentation only works if the code is immutable."

that's actually backwards. If you want to stand any chance of changing the code then it should be readable and well structured, not well documented.
My wife just got the Target Red debit card a few weeks ago, after a number of protests from me about security loopholes. She seemed to think getting 5% off of all purchases for bestowing the ability to a 3rd party to deduct money from your bank account at will is worth the risk of someone maliciously draining your bank account one day. Going to use this for a bit of "I told you so" nagging today
Yes, but for convenience (and compatibility with other proposals), I think it would be okay for a given implementation to recognize well-known engines and treat them as valid DB URIs even in the absence of a <code>db:</code> prefix. I've added notes to the <a href="https://github.com/theory/uri-db">documentation</a> to that effect.
Email me. bernie[at]bombfell[dot]com
Teehee, cute! I still really like the Mac Pro's new design myself, but this is pretty funny :)
Example from real-world code I've written:

if tag in tag_list:
data[u"Tag"] = tag
try:
if i["DupilcateAssets"] is not None: # not a typo - misspelled in Dell SOAP response
data[u"Error"] = "Duplicate assets returned"

Would you want to debug that without the comment?
Lawmakers: Colleges Need Free Digital Textbooks
Yeah, that part definitely made me chuckle :D
I never mentioned price/performance at all. I also don't know anyone at Sony that can get me PS4 games at half price, so there's TCO and more than just the initial price. And my TV is 720p, so 1080p doesn't matter right now. Other than that, you were spot-on with your assumptions.
It is difficult for people with no technical background, who don't know any strong programmers, to learn how to program.

I'm working on an open resource for teaching and learning Python: http://introtopython.org.
My favorite perl story: Had been working on parsing through huge flat text files with it, had over 40 lines going and just could not get it to work correctly. I took a step back, rethought what I was trying to do, and wrote a one liner awk that just worked.

Side note: I have noticed that in bioinformatics, perl is largely being replaced with python in tool usage.
Same, but since I care mostly about double precision performance I won't be having much fun with the GTX 780.
You and eterm are talking past each other. Eterm is talking about the situation where Coinbase fulfills their end of the bargain and gets you the coins you bought, but you chargeback anyway.

If you only consider the chargeback in the case that they honestly failed to live up to the terms of service, then I will agree that it doesn't sound like fraud. It's still kind of slimy, though.
Long post mortem on startup scaling and ups and downs
The only value I can see BTC having is the protocol itself - and that is not unique, any altcoin implements a variation of it.

BTC can be destroyed - as easy as deleting wallet.dat / losing your private key.
They gave away chip "readers" for a while. I've still gone one somewhere. I think the idea was to be able to load digital coupons (similar to other loyalty cards or Target's own "cartwheel" app now).
Without being too verbose, have you configured your admittedly over-provisioned desktop as a thin client and actually tried the post-prod workflow this way?

I'm just saying that it's being looked at, and current hardware is definitely _not_ up to the task.
It's more like 1.5x difference now according to Distimo:

> Apple still has the most lucrative app store, with Distimo estimating that on a typical day in November 2013, global revenues for the 200 top grossing iOS apps were more than $18m. That compares to $12m for Android's Google Play store, although the report notes that a year ago, the respective figures were $15m and $3.5m. The gap is narrowing.

http://www.theguardian.com/technology/2013/dec/18/android-io...
What might such a thing look like?

Part of the reason I like my proposal is because it's just a generic server URI, so deeply familiar to nearly all developers. And for that format, it's the GET query string that allows for additional parameters.
The Quick Facts on NSA Spying Overhaul Recommendations
I'm very much of the opinion that good code self documents, and excessive use of comments and documentation is a crutch for bad code.

We obviously hear this quite a lot, but I think it's inaccurate - it's bad comments and documentation that are a problem, and comments in particular are often most prolific when they're bad. Comments and documentation often suffer from rot, in that they are not kept current with the code and end up being out of date in short order.

But the fact that comments and documentation can be out of date is a reason to do them better, rather than throw them away. I'm one of those people who typically codes "comment first" - writing a simplified english overview of the steps I expect to take, implementing each of them using real code, and taking a final pass to trim or expand comments as required. So I might start with:

function doit(){
// Load data from the input
// Get the correct records
// Search for the correct field
// Output the results
}

This is followed by implementation:

function doit(){
// Load data from the input
records = Data.load()

// Get the correct records
records.uniquify(function(e) { return e.group_id })

// Search for the correct field
results = records.map(function(e) { return e.timestamp })

// Output the results
print(results)
}

We've now got stupid redundant comments of the type that cause problems. Rule of thumb for me is to decide if the statement in the comment can be trivially deduced from the code immediately following it. If it can, then the comment can go. If there's some additional assumption—perhaps about side effects or properties of data which might not be immediately obvious—then the comment can be expanded to include this information. So we might end up with something like the following:

function doit(){
records = Data.load()

// Disambiguate records by looking at the group id - records will
// always be sorted by time, so we can do this to make sure we
// only get the first in a given group.
records.uniquify(function(e) { return e.group_id })

results = records.map(function(e) { return e.timestamp })
print(results)
}

Obviously not real code, but you get the point.

In general, I find that working on "self-documenting" codebases is actually rather frustrating - especially when I'm coming in on a new project. There's an absolute load of implicit knowledge about software systems that's contained within the code, and while it should be exposed and made explicit wherever possible, it's sometimes not practical - meaning that "self-documenting" code often seems anything but.
A cylinder is a very silly shape for a computer IMO but that's just the sort of thing Apple does.

They might even have brainstorming sessions that go,

"Ok what would our competitors *NEVER* do. Yes Dave?"

"Make a cylindrical computer!"

"Brilliant!"
It's very early stage right now. Sign up for the mailing list and I'll keep you in the loop!

I'm bootstrapping alone around a day job. It's not impossible, but it's very painful. :( Trying to use my time wisely to get to a sellable product ASAP so I can switch to full time.
Some big game shops do, IIRC. That was a while back too, when there was 1.6 devices still being used. In my experience, 4 phone devices is about right for Android (and 2-3 iPhones for full testing).
If "the design in your head" involves classes or functions, or any programming language dependent ideas, then it you are not doing TDD. I call this style test-first, or pseudo TDD.

But if the design in your head is an algorithm that can be expressed in natural language, then TDD will let you take that and make a loosely coupled, maintainable program out of it.

Good post on the difference here:
http://cumulative-hypotheses.org/2011/08/30/tdd-as-if-you-me...