skysight-inc/HackerNews huggingface dataset:
This is a pet peeve of mine. I have a couple colleagues that use this too often. It's dismissive and rude, it presents to the questioner the impression that you perceive them as ignorant and stupid.

The fact is, much of software development is really the application of arcane processes, commands and procedures to solve problems. New people don't know your particular process or tool suite. I worked in an office that used Rational Synergy and Doors. When I was new I had no clue how to use these properly. After some experience they became easy, but going to a colleague and being told "that's easy, just X" was rarely helpful, because it turned out that X was actually A, B, C and D. Admittedly, sometimes A and B were just "click on the options menu", "click on the <entry>", but finding C and D required knowing that.

These sorts of things are, in fact, easy, but they're still arcane enough that when you provide an answer it should be a complete answer. Anything less will result in the questioner being unable to complete the task and feeling like an idiot, possibly being too embarrassed to go back and ask a followup because you told them "it's easy". If, instead, you told them "Oh, that's X, you need to do C and D", you've not poisoned them with "just" and "easy". If they don't know how to do C then they can come back to you and you can say, "Oh, you need to do A and B, then C is the third option down in that tab."
Functional Rocks in London Start-ups!
http://www.fotoblur.com - ~170K Visitors / mo., 2.6 Million page views / mo., inquire within.
Not to mention ideas that bore striking parallels with QM. It's been a while and I cannot recall the book that suggested this to me, so I have no hope of providing a reference, but after Democritus and the atom, there were arguments around the might-bes and maybes of atomic time and space.

I love my life and times, I really do, but there are times I wonder what might have been had the theory-and-practice Greeks prevailed over the copy-and-perfect Romans.

Of course that whole Dark Ages thing was a bit of a bitch as well, but....

(Bought Infinitesimals just before posting, looking forward to bedtime reading tonight!)

(Yes, geek. Why do you ask? :->)
https://pythonhosted.org/pyCLI/#
The approach may work a while. But then I am sure some mutant gene will eventually emerge in the wild-type populations that will inhibit the synthetic kill gene. That's how Nature works.
>If you are good at what you do - contact guy you work for and ask him to send money directly. If you are really valuable to him - he will do this.

That will not work for an already paid money, because now it is stuck in Freelancer's account.
I know. But the specifics he talks about in the article i mentioned are completely out of line. I do believe in the whole Prussian school link, but if you read the Inglis book, you will see his Gatto has almost made opposite interpretations from what was actually written. This makes me hesitant to read more of his stuff
Languages can eliminate large classes of such mistakes.

Taking your own two examples: most off-by-one errors go away if you replace "for (i = 0; i < datalength; i++)" with "for i in data" or something like that; and by replacing < or <= comparisons with checks for range membership. A checklist might say - "don't have assignments in your if statement conditions like 'if (x=0)', it's risky"; but your language or tools around it may make it impossible to do it.

"Behaving inappropriately on parameters outside those expected" is correlated with the frequency of getting unexpected parameters. No static typing? You'll have to check at runtime if the parameters are of the type that you expect. Null/undefined values? Again, you may remember to check everywhere or the language can force you to check really every time, not almost every time. Niche languages like Eiffel can help you ensure that you know that the parameters are within the expected range, etc.

Capturing such knowledge and encoding in a way suitable for everyone is done in this way - it does break backward compatibility and requires rewriting code and abandoning libraries or even languages; but the checklist equivalent of "don't ever turn on the engine before checking X, even if you think it's okay" is "don't use C strcpy ever, even if you think you know it's correct there".
While by no means trying to defend what the Koch's and their ilk are trying to achieve, there is a real underlying econmoic issue at play.

Simply put, transmission networks (aka the grid) were never built with thought that local residential providers would input into said grid. While this sounds trivial, when you add a significant new input into the infrastructure especially local end points that are only one-way flows, serious investment is required to ensure this continues to work (ie no blackouts).

Similarly, solar supply is not consistent and scheduled. The system is built for coal to provide a strong baseline where peaks are met by on demand providers (typically gas). This is significantly more expensive than coal. The flip side is that a coal plant can require 6-12 hours to 'warm up'. That the cost of supplying electricity with unscheduled solar is not a fallacy.

I, for one, completely agree and demand that solar should be part of the mix (and can end up being a replacement for coal). That should be the long term goal. Legislatures should be working towards that. Unfortunately, as in most public policy issues today, this is an incredibly complex and difficult area to make progress and will require more detailed analysis and hard decisions. This is the opening that the Koch's are using and will require more commitment to push them back.
Terrible advice. You should definitely run EMET.
Five Management Lessons from Star Wars about Operating System Migrations
https://itunes.apple.com/tc/app/dealios/id734913446?mt=8

It is an app that aggregates deals from over 1000+ different daily deal site to find the best deals nearby.

Worked on it for a month, couldn't find a designer so just left it.

zackman8000@gmail.com
One of the cool things about arduino lately is that they're getting cheap enough and small enough to just use as part of finished projects, instead of just as learning tools or prototypes. The neat thing about raspberry pi was that it offered a similar proposition, except instead of a microcontroller you could bring to bear the full power of a computer running linux. I'm more excited to see smaller, lower power, and cheaper versions of the pi than more powerful and more expensive versions. Because that's what will result in them being used in projects more.
I'd recommend Processwire[1]. It's really easy to use any HTML template with it and I personally find it much easier to work with than Drupal. The catch is, by using this or Drupal, you are storing your models on the database and you can't version control a model in a database without getting really creative.

[1]: http://processwire.com/
As far as I am aware, Apple does not seem to have a policy preventing this type of work. There was a fairly well-publicized release of an experimental codebase from Ericsson:

http://labs.ericsson.com/apps/bowser,

which has since been retired (although as far as I know, not due to any conflict with Apple):

http://labs.ericsson.com/blog/retiring-bowser.
What's interesting is that kids who started programming in the 70s / 80s did use desktop computers. I was one of them, I started programming in 1983 with a TI99/4A. The computers I used at school had floppy disk drives, so I could even save my work. For the first few months I owned just one 128kb 5 1/4 floppy where I kept my (interpreted) programs.

I used to type in BASIC programs from magazines such as Byte. A typical bug that bit me several times was typing an l instead of a 1.
Meanwhile, I program in an environment that highlights my line in red if I leave a syntax error in place for more than three seconds. What a different world.

(And before someone says it, yes, the programming languages have come quite far, too. Drop back to a 1970s general purpose programming language for a week if you don't believe me.)
Jiro Dreams of Sushi. http://www.magpictures.com/jirodreamsofsushi/
Even if you're solving a problem that you have yourself, you need to learn enough about the domain to know whether the problem you have is:

(1) shared by enough other people so that the solution could be sold enough times to be profitable (which also requires knowing whether these people would actually be willing to spend money on your solution). Identifying a small group of early adopters is no guarantee that your product will gain traction beyond that initial group.

(2) not just due to ignorance of an already existing solution (e.g., the original poster may not have known that every online brokerage already provides tools to compare mutual funds, and that his problem has already been solved).

The more you know about your domain, the less of a chance you have of spending a huge amount of effort to develop a product that nobody wants to use. You could argue that even if there's no market for your solution, you've still built something to solve your own problem. But the amount of effort needed to build a tool that solves your specific problem is much less than the effort needed to build and support a tool that others can use easily (how useful to you is the average undocumented project on Github?).
bcoinex.com

its an automated bitcoin trading bot. The bot actually does make a profit for the customer, all be it a small one.

Its had about $1000 of purchases in the last month. Which is also how long its been running.
Care to elaborate what kind of applications you are using your Pi for? Also which generic Android tablet can you buy for not much more than $25?
If you want more, there's always this:

Old-school programming techniques you probably don't miss
11 skills and tactics that every programmer once needed to master ... and today can blissfully forget
http://www.computerworld.com/s/article/9132061/Old_school_pr...
Across a few apps:

Rails (mixed 2.3 and 3.1, depending on when the app started) via RailsLTS (commercial fork with security patches). I personally love working in Ruby versus every other language I've ever attempted programming in, and Rails really excels at the type of CRUD apps that a) undergird large and increasing portions of the global economy and b) pay my bills. I find I'm far and away more productive at it than any other programming stack I've ever used.

I usually proxy Nginx to Mongrel, though I've got one Nginx with Phusion Passenger. In the future, there will be more of the latter and less of the former.

I use MySQL as my primary database everywhere, mostly due to familiarity. No major complaints, though sentiment among my peers is more towards Postgres.

Substantially every app I write ends up integrating Memcached for ephemeral caching. It does exactly what it says on the tin. I use Redis for permanent storage of things where the "schema" changes frequently (most commonly: per-account or sub-account-object "settings" hashes, where I might accumulate another hash key or three with every new feature I ship) or where I have intermediate results that should be semi-permanent. (e.g. I have per-week and per-month historical summary statistics in Redis, particularly when they're created as a result of querying a slow external API, which describes most of my transaction processors.)

On the front-end side of things, I used to use Prototype but have jQuery for most new projects, purely because the JS community likes it and develops all manner of useful UI widgets that interoperate well. I'm likely going to start a project to justify learning Angular or Backbone at some point, since my existing ways of keeping the UI and app in sync leave more than a little to be desired.

What else? Oh, favorite APIs. Twilio, MailChimp/Sendgrid/Postmark (I do a lot with email), Stripe, and Pin Payments (nee Spreedly).

On the more devopsy side of things: Capistrano / Deprec for deploys and server management. I use Ubuntu VPSes at Rackspace for substantially everything. I'd love to figure out Puppet/Chef/etc for server management but haven't gotten there yet -- it is on the todo list for later in the year, perhaps. I use quiet a bit of server/process monitoring, including Scout, god, Dead Man's Snitch, and a bit of custom cronjobs plus Twilio. (Which should really be PagerDuty but for some reason I never bothered to get started with it.)

For backups, I've used Rackspace Cloud Files (like S3 but on the same bill as my servers) for most things. I currently use Tarsnap for sensitive data, and will probably gradually retrofit all of my backups onto it.
We should JUST feed the grid from solar ;)
I wonder what word they used at that time to distinguish hardware and software bug?
"Straightforward" is a great term.

Something I'd like to see in whatever replaces Elsevier & Friends is a community markup tool for all papers. Wherever a step has been omitted the community can step in and add a side note explaining and discussing the steps. This would have three huge benefits:

* Easier for neophytes to learn a paper's domain and assumed knowledge.

* Ready-made useful homework assignments for advanced undergrads and grad students: "Fill in the details of this paper."

* Ongoing "reviewing" of papers, leading to more corrected errors.
> In real engineering, when you build a bridge, a single rusty rivet won't cause it to fall down. In software, a single pair of misplaced braces give you critical "goto fail" bugs.

In real engineering, you design things to be built out of a whole bunch of tiny, redundant components, each of which might or might not fail catastrophically with a given probability, but where the failure of any given component won't bring down anything else. You also source your components such that the failure of one component won't increase the likelihood of a global failure of all instances of that component in your design--you don't get all your rivets from the same manufacturing batch, etc.

So, if we wanted to do software engineering the way we did other kinds of engineering, we'd have to have our computer systems resemble the physical, componentized systems that engineering principles actually apply to. I think this would involve, at least, two things:

1. Building only tiny components that could fail/crash without bringing down the entire project. Most usually, this is accomplished by separating the components into independent networked services.

2. Building several independent implementations of each component, and multiplexing requests to them using worker-pools (with client retry) and quorum-agreement protocols.
Original post: http://www.lightbluetouchpaper.org/2014/04/25/heartbleed-and...
This site is pretty interesting. Where do they get this data from? I'd think that banned site list is not published anywhere?
Love the editor GUI. Are you using a framework for that, or did you code it yourself?
I maintain the site http://sideprojectors.com

Would love to hear your comments & feedback on how things can be improved to help you sell your side projects.

Personally, it's been quite rewarding to see people exchanging messages and actually buy & sell side projects.
Imagine this scenario, you're teaching CS 1 at your college. Your system for submitting assignments is to have students use a git repo and push it to a remote repository on your servers. You could tell them, "Just clone this remote repository when you start working on the assignment." But that's unhelpful, and the word "just" implies that they should already know how to do it. If that's your statement on day 1, you're hurting many of your students. Instead it should be something like, "We use Git for assignment submissions, it is a version control system. Here's where you can learn more about it. Assignment 1 is posted on the website and will walk you through using git to submit the assignment. The full procedure is also available here along with some cheat sheets. Here's our CS 1 material of the day." The assumption that students or new employees know the idiosyncratic processes and tools of your school, class or organization does what assumptions are prone to do, someone is going to come out looking like an ass. It may be the new person when they get frustrated, or the experienced person when it turns out "easy" is really 20 different steps on 3 or 4 different systems.
Site created on Tumblr, available on the App Store: https://itunes.apple.com/gb/app/tumblr/id305343404?mt=8
BTW, Harley Finkelstein works for Shopify not Spotify.
You're blaming a language for a bug in your code.

interface{} is nothing like void* because it's type-safe. interface{} is (type, value) i.e. it remembers the type of the value it contains.
void * is just a value.

Your code snippet has a bug because you didn't check the type assertion result. Here's a fixed version: http://play.golang.org/p/vlsXtEmgMs

In C a cast is unsafe because it doesn't tell you if you did something wrong.

In Go, type assertion is safe. It tells you if it succeeded and if you ignore it, it'll panic, informing you that you have tried to perform an illegal operation.

For more see: http://golang.org/ref/spec#Type_assertions
"Unlearn Your MBA" by David Heineimeier Hansson: http://ecorner.stanford.edu/authorMaterialInfo.html?mid=2351
I think the Author meant 1973 not 1983. In 1983 I was about to graduate from USC, we had FINE (Fine Is Not Emacs), vi, TOPS20, TENEX, TOPS10, Beehive terminals, VT52 & VT100 terminals, the infamous 'urinal' terminals (the Lear Sieglar ADM3) and really cool Heathkit H29 and later Z29 terminals. You tended to work in an 80 x 24 + 1 line status window but that was not nearly as bad as writing things out on sheets. Which I did do in 1973 because the only way to program Fortran at the High School was to send it into the district office to run as a batch job.

Nit picking aside though, the key issue was turnaround time. The time between when you thought you were done and the time you knew your code worked. Few people these days experience hitting enter at the shell prompt and waiting 30 - 45 seconds before the command started running. This was one aspect of workstations that made them so popular, no time sharing mean you could compile quickly and test and simple things like 'ls' on a directory were fast.

It got "too good" though, with people having the computer check things rather than think about what they had written. That leads to a situation where if the result is close enough to what you think it should be, you can convince yourself that it is correct before it actually is, and that can lead you to look elsewhere when things go wrong and makes debugging harder than it should be.
Content Loading Pattern and Why Pull To Refresh is Dead
Easy and Hard are relative terms.

Simple and Complex are objective terms.

Rich Hickey explains it very well in the presentation "Simple Made Easy", that I have some notes on here.

http://daemon.co.za/2014/03/simple-and-easy-vocabulary-to-de...
Geez, I used to get hit with that "l" instead of a "1" all the time. It was so much nicer when some of the mags went to a fixed-width font on non-gloss paper for code.
> it had completely slipped by me that as late as the early 80's programmers were just still using pen and paper. Somehow, I have tended to imagine the days were thats what it meant to be a programmer to have existed in the same context as Alan Turing

seconded.

but then in another 15 or 20 years, people will probably be like, "wow, you needed a second monitor just to read documentation?" or "10 million lines of code was an acceptable size for a single application?" or something similar.

much respect & sorry about trampling the flowers, sirs.
I don't like the Koch brothers. And decentralized solar will surely become a large part of any future energy plan.

That said, this article is also pretty unfair to the utilities. They're totally not just pulling the implementation costs of decentralized solar production out of their asses. It's a real thing. The swing towards decentralization, without the increase in decentralized energy storage means utilities still have to keep significant amount of plants sitting around to deal with solar irregularities. Maybe the costs are exaggerated, but they're surely there.

And their arguments are largely sound. If there is a cost to decentralizing, you have a choice of how to spread that cost around. Tautologically, if you do not place that cost completely on the backs of those decentralizing, then you are increasing the burden on those not participating.

Now, it's clearly a complicated topic. There is potential for net system savings given a large scale move towards decentralization. But there's also easily a potential for net system increases. And honestly, nearly none of us are equipped to actually answer that question, unless you happen to work in the industry. And given the complex profiles of North American utilities across the continent, it's not even a given that what holds for one location will hold for another.

So, that was rather long winded, but the point is that yes, there are shenanigans going on. But decentralized solar isn't all sunshine and lollipops, and adding some sort of surcharge/fee/tax on feeding back into the network may be the right course of action.
ruby/rails, ember, jquery, postgres, memcached
Wow, those are super slick. Thanks for sharing.
Whenever I read about how hard it was to do things in the past — program, edit movies, typeset books, make butter — I'm amazed they even bothered! What tasks that we do today will seem shockingly tedious and hard in a few decades? Well, programming still kind of sucks...
There's quite a bit of evidence that organic foods have higher levels of antioxidants.
(This is not a first source, but it references quite a few)
http://www.altmedrev.com/publications/15/1/4.pdf

"Organic strawberries had significantly higher total antioxidant activity (8.5% more), ascorbic acid (9.7% more), and total phenolics (10.5% more) than conventional berries (Table 2), but significantly less phosphorus (13.6% less) and potassium (9.1% less) (Table 1)."
Organically managed surface soils also supported significantly greater microbial biomass (159.4% more), microbial carbon as a percent of total carbon (66.2% greater), readily mineralizable carbon (25.5% more), and microbial carbon to mineralizable carbon ratio (86.0% greater) (Table 6). These indicate larger pools of total, labile, and microbial biomass C and a higher proportion of soil total and labile C as microbial biomass. All measures of microbial activity were significantly greater in the organically farmed soils, including microbial respiration (33.3% more), dehydrogenase (112.3% more), acid phosphatase (98.9% more), and alkaline phosphatase (121.5% more). The organically farmed soils had a significantly lower qCO2 metabolic quotient, indicating that the microbial biomass in the organically farmed soils was 94.7% more efficient or under less stress than in the conventionally farmed soils [40]. These same differences, except for qCO2, alkaline phosphatase, iron, boron, and sodium, were also observed in soils from the bottom of the mounds (20–30 cm depth).
http://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjourna...

Glyphosate, used with GM soy, adversely affects good gut bacteria in poultry at levels of 5ppm while bad bacteria are highly resistant to it.
http://www.netwerkvlv.nl/downloads/2012-Krueger,%20M-glyphos...
Oh, nevermind, I read it on their website. ISPs are just leaking these lists.