Clojure – Fascinated, Disappointed, Astonished (2016) - <AUTHOR> http://lewandowski.io/2016/01/clojure-summary/ <comment><USER2> Just so people don't get the wrong idea, AFAICT STM isn't used that much in production Clojure (unlike say Haskell). This I chalk up to the lack of a couple crucial operators in Clojure's STM. Instead the usual method for dealing with concurrency is atoms. Note that once you get familiar with how to use atoms to structure concurrency, this is a lesson that is widely applicable. You can, for example, write essentially the same code in Java with an AtomicReference (how atoms are implemented anyways) as long as you take care to only put immutable data structures in the ref.

I would personally sum up Clojure's main impact on my own programming in two ways.

1\. 90% of the time you just need immutable maps, sets, vectors, and primitives. Fancy custom classes and custom higher order functions usually aren't needed.

2\. Wishing more things had on-the-fly editing of a running program.

<comment><USER3> In my experience, STM isn't used because it's very rare to have situations where you need STM but don't need durability. In most production situations, you need to record state changes in a DB or an event log. In that case, the source of truth is now the DB, and your in-memory values are immutable snapshots.

The other reason is that Clojure code is usually well-factored, and most clojurians have listened to Rich and simplified their programs. Not many problems require STM transactions across multiple refs. If you don't have multiple refs changing transactionally, you can use atoms instead for a performance benefit.

</comment></comment><comment><USER4> It's missing my favorite concurrency construct: immutable, persistent data structures. I was initially interest in Clojure for things like STM, but found most of my concurrency problems are amenable to immutable data. You can certainly use this technique in other languages, but it tends to be higher effort.

<comment><USER5> No. Immutable structures still require locking.

If you are spending 100 ms calculating the new version of the immutable structure, you want to make sure that the nearby thread isn't making their own version. You don't want any of the two results silently overwritten. You want the nearby thread be sequential - to wait for you and base on your result.

<comment><USER6> This is not how persistent data structures are used in practice. There is no "the" new version of a persistent structure. The best analogy I can think of is to compare it to a VCS (e.g. git). There is no need to lock any existing commit in order to create a new commit (which together with prior commits, represents a new version of the code).

<comment><USER7> I'm not familiar with Clojure, but you can hit conflicts in the Git world, though, which seem to be what the parent is concerned about. Two of us could be creating some new data based on the last data we had, at time T, and then the other person submits theirs at time T+5, and I submit mine at time T+10. In that case, my change hasn't taken theirs into account.

<comment><USER8> If you can "submit" your change back to the original datastructure then the original datastructure is not immutable, right? Here's a nice explaination about how the persistant immutable datastructures work: [https://hypirion.com/musings/understanding-persistent- vector...](https://hypirion.com/musings/understanding-persistent-vector-pt-1)

<comment><USER9> I believe the question is that, if two threads take the same immutable vector, and both make a change to it independently, they'll end up with two new vectors (eg two branches in git); a vector that reflects thread1's change, and a second vector that reflects thread2's change. So now you have a conflict, which requires resolution; git has a human intervene.

eg

x = [1,2,3]

Thread1 -> x + [4] => [1,2,3,4]

Thread2 -> x + [5] => [1,2,3,5]

But you were expecting [1,2,3,4,5]

Reality was that you wanted an order to your events, normally enforced by locking, which the immutable vector doesn't seem to help you with; they were both able to update independently, but you actually wanted them to update dependently.

If you try to use immutable datastructures to avoid locking, then how is conflict resolution handled?

I _think_ the answer would be that it doesn't help you avoid locking; either you lock & share a single reference to the latest version of your immutable vector, to enforce ordered events, or you define a resolution strategy separately. The immutability aspect just stops you from not having a resolution strategy -- which would always be incorrect

And if I understand correctly, the ideal scenario for immutable datastructures in concurrent scenarios is when you can define such a merge strategy (and safely give threads their own copy of the datastructure to muddle with, without actually having to copy the entire datastructure)

<comment><USER6> You _could_ , as per your example, use locking as part of a resolution/merge strategy to combine the results of two separate computations running on two separate threads. Or you could use some strategy that does not involve locking. Either way, it does not support the original claim I disputed that "Immutable structures still require locking".

<comment><USER9> >Either way, it does not support the original claim I disputed that "Immutable structures still require locking".

It does, if you believe serialization by locking is the main strategy to handle serialization (in which case, mutable or immutable, you still need to lock), and so... you still need locking. Serialization being the main scenario GP gave.

Your original answer didn't resolve the problem either -- fine, you didn't need to lock when adding elements to your immutable structure, but you still haven't reached serialization; you've just pushed the problem back another step.

The answer that I believe GP would need to correct his understanding, (and much more importantly, the answer that I'm interested in :-) is what serialization strategies does immutable datastructures enable, if not locking?

The other correction GP seems to require is whether serialization is actually that important in general, and whether functional programmers tend to experience otherwise... But I don't care about that answer :-)

<comment><USER10> _the answer that I 'm interested in :-) is what serialization strategies does immutable datastructures enable, if not locking?_

Depending on your performance goals, Compare-and-Set with retries a la clojure's atom reference construct.

[https://clojure.org/reference/atoms](https://clojure.org/reference/atoms)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> A couple of things to point out for new Clojure readers.

The 'def' form should not be used inside of 'defn'. Local bindings should use 'let'.

When using the STM, 'ref-set' should not be used most of the time.

(def names (ref []))

(defn add-name [name] (dosync (alter names conj name)))

The 'alter' function will call 'conj' and the return value will be the new value of 'names'.

<comment><USER12> Why should local bindings use let? In scheme internal (define ...) is defined in terms of letrec, which can add some overhead when letrec is unoptimized, but for schemes with optimized letrec (guile 3.0, chez, racket...) (define ...) is just as fast as let or let* unless you start doing cyclic references.

The only real reason to not use Def would be if the bound symbol escapes the scope, but that would be ridiculous for a modern language.

<comment><USER11> In Clojure 'def' creates a 'var' and those are global in the namespace.

> The only real reason to not use Def would be if the bound symbol escapes the > scope, but that would be ridiculous for a modern language.

Its not 'ridiculous' to have a consistent definition of what something does.

</comment></comment></comment><comment><USER13> This post is pretty old and many of the things in the "disappointed" section have been improved quite a bit.

<comment><USER14> Curious about this! Could you elaborate on which?

<comment><USER15> Almost nobody uses refs in production code ;-)

<comment><USER16> That was the case even before the blog post was written.

</comment></comment></comment></comment><comment><USER17> > I have to admit, that at the beginning using brackets was not easy for me. > Once I've realized that the brackets are just on the other side of the > function name, everything was simple and I could code very fast.

A question to fellow Lispers: is there a good reason why LISPs do not put parenthesis they way we know from math? Why `(f foo bar)` and not `f(foo bar)`?

<comment><USER18> _> is there a good reason why LISPs do not put parenthesis they way we know from math? Why `(f foo bar)` and not `f(foo bar)`?_

Because the first is a list and the second isn't. The whole point of LISP is to represent code as data, and the fundamental data structure it uses is a list.

<comment><USER19> well... (1 2 3) is syntactic sugar for (cons 1 (cons 2 (cons 3 nil))). What prevents someone from adding syntactic sugar f (x y) for (f x y)?

<comment><USER20> The fact that one of these is a list of symbols and the other one isn't. They mean different things.

<comment><USER19> > "They mean different things"

For fuck's sake, these things don't mean anything by themselves. The only reason they mean different things is because the syntax is defined this way. So back to the original question, why is the syntax defined this way?

<comment><USER21> Your proposed syntax becomes ambiguous when you are more than one level deep. What would be the meaning of an expression like f (g (x y)) ?

Is it (f (g x y)) or (f g (x y))?

<comment><USER19> Hmm... I see. (x y) is a list, g (x y) is a function call, f (...) is another function call, so f (g (x y)) is (f (g x y)) in regular LISP syntax. The syntax is parsed from innermost to outermost, so where is the ambiguity?

<comment><USER22> (x y) is also a function call, because lisp always interprets the first position of a list as such unless you quote it:

      f (g '(x y))

But that changes the meaning of g from "a fn with two args" to "a fn with one arg that is a list."

If your meaning is instead that function-outside notation cannot be mixed with s-exps, I.e. you have to choose one mode or the other, then I think you're right that there's no ambiguity here (and no need to quote the args above). I suspect you would lose the power of macros, and may not be able to use existing ones, but I don't write them so I'm not sure.

Below are some Clojure expressions with standard and then function-outside versions. I quickly found that I wanted to go back to attached() parens() for those, because that seems more readable to my eyes than having () them () spaced out. I'd never choose this option though, it took all of an afternoon to get used to lisp syntax, and I find it to be more readable now than c-style languages.

      (let [a 1 b 2] (+ a b))
      let ([a 1 b 2] + (a b))
      let( [a 1 b 2] +(a b))

      (apply + (range 10))
      apply(+ range(10))

      (defn my-fn [x] (* x x))
      defn (my-fn [x] *(x x))

<comment><USER19> Eh... you are still stuck with LISP. We are talking about an alternate syntax where (x y) is not a function call.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> Been a while since I touched Clojure but at the time nothing beat light table's insta-REPL. Anything replace that, or any insta-REPL come close to replicating that experience for any language?

<comment><USER24> The integrated repl and inline results in lighttable were the best! Sad that it was abandoned.

The best choice today for a similar experience is Chlorine([https://atom.io/packages/chlorine](https://atom.io/packages/chlorine)) which is built on top of Atom. It also uses the built in clojure socket repl, not the complex nrepl.

Calva does it's best to show some data inline, but unfortunately vs-code doesn't support displaying inline results [https://github.com/microsoft/vscode/issues/3220](https://github.com/microsoft/vscode/issues/3220)

<comment><USER25> > Calva does it's best to show some data inline, but unfortunately vs-code > doesn't support displaying inline results

I've got no attachment to the Calva project whatsoever, but the below link pretty clearly contradicts what you're claiming.

[https://calva.readthedocs.io/en/latest/eval- tips.html#evalua...](https://calva.readthedocs.io/en/latest/eval- tips.html#evaluation-in-a-file-editor)

Not to mention I've done it.

<comment><USER24> Sorry wasn't worded well, and in no way am claiming calva doesn't show inline information. I have used calva extensively though not in the past year. It should have read something like this:

> does it's best to __some inline information __... but doesn 't support > displaying inline results nearly as well as lighttable or Chlorine.

So vscode/calva just adds text formatted only information information at the end of a line. This works fine if the result is short like say "hello world". But what happens if it's a large result, say a list of 100 items? In this case it just prints out some portion of the result or perhaps even the whole result? I can't even remember exactly. And if you throw exception, it's printed out on one very, very long line of text (or was last time I used it) at the end of the line. I can recall scrolling horizontally thousands and thousands of columns and trying to interpret the long the already hard to decipher clojure errors.

What Chlorine and LightTable do/did much better is show the large/long results in a formatted block below the line, and with large data structures allow formatted expansion, because atom isn't limited to only line based decorations.

Here even is the author of calva asking for more than just simple :before and :after line decorators in vscode. [https://github.com/microsoft/vscode/issues/3220#issuecomment...](https://github.com/microsoft/vscode/issues/3220#issuecomment-430124153)

Has calva been able to better handle inline errors and large results better? If so I need to try it out again.

<comment><USER23> It's an area that isn't "solved" IMHO. I love F# as well, but the typical fsi select to execute doesn't come close. Light table provided the ultimate scratch pad.

Scala sheets are also meh IMHO

</comment></comment></comment></comment></comment><comment><USER26> > I have to admit, that at the beginning using brackets was not easy for me. > Once I've realized that the brackets are just on the other side of the > function name, everything was simple and I could code very fast.

Yeah, having automated insertion of brackets/parenthesis is necessary to adopt, otherwise you find yourself annoyed very quickly. Once you've adopted to automatic insertion of that, it's hard to go back to language where you don't have that...

<comment><USER27> This is what drove me away from lisp.

If everyone says you have to use a plugin to auto-insert parentheses, that means computers know where they go. _So why are we writing them??_

<comment><USER28> I've never spent any serious time with Clojure/Lisp, and the nested parens have been a pretty major impediment. I'm curious if anyone's ever experimented with dialects that replace brackets with significant whitespace (newline+tabs), similar Python? I could also see a drag-and-drop coding GUI being pretty powerful.

I'm sure once one spends enough time with it, one starts to think in Lisp, and the desire to solve the "problem" disappears. :)

<comment><USER29> You never spent much time with it and the parens are a major impediment? If you cannot overcome the "parens" (non) issue, I suppose the language is not for you. It really is not an issue, _at all_.

I don't say this to be demeaning! I would say there are far more chances you really enjoy the language than not. Give it a try and stop worrying about the parenthesis and start thinking in terms of an AST.

        (let ((x 0)) (+ x 1))

If you want Python that's fine but there is definitely no problem with parens in Lisp/Scheme :)

<comment><USER28> Ha, just thinking aloud! More of my own psychological barrier than a knock on Lisp. I do like it quite a lot, it's just completely alien compared to a life of experience with C-like languages.

<comment><USER22> I found its alien nature to be kind of helpful in learning Clojure, actually. The paren position change really does melt away quickly, and in the meantime it was a good reminder that I was "not allowed" to do procedural code or mutate variables; I had to use a different mindset. Most people who check out Clojure have been coding for 10+ years, so you're in good company as far as ingrained habits go.

As others have said, the best way to check it out is to get a REPL running in a decent IDE and play with the language. There's something quite intuitive in its workflow: knowing that you want to do _something_ , though you're not quite sure what it is yet, and typing a single ( gives you all the power and space you need to figure it out no matter how deep inside a code block you are.

</comment></comment></comment></comment></comment></comment><comment> the-alchemist I came from a strict C++ -> Java/Python world. My college class on programming languages included a Lisp, I think, but that was so long ago and was so poorly taught that I graduated without ever hearing the word "REPL".

So grokking, let alone writing, Clojure code was daunting but extremely worthwhile. All good things come to those who wait, and sure enough, I see it now. Massive gain in productivity. Like, probably more than going from C++ to Java, or Java to Python (for me).

P.S. This article is definitely a little dated in parts, but has of the warts still stand.</comment>


AutoMicroFarm is now open-source - <AUTHOR> http://blog.automicrofarm.com/post/147448478491/the-automicrofarm-is-now-open-source <comment><USER2> "AutoMicroFarm is an aquaponics garden for your back yard, designed so that your plants are automatically watered and fertilized. The fish feed the plants. The plants clean the water for the fish.

"You get vegetables, fruit, nuts, beans as well as fish for your harvest. I have researched and implemented the best practices of aquaponics so you don't have to. It's easy and convenient to maintain: just plant, prune, harvest, and feed the fish!"

For those like me that hadn't heard of this neat concept yet.

Another quote: "Like solar panels, but for your food: [imagine] being able to produce the majority of your food in your backyard, a few dozen feet from where it would be consumed."

Sounds pretty cool to me.

<comment><AUTHOR> Thank you for the kind words. My main hurdle is educating the market on the concept.

<comment><USER3> Just a thought - I don't know the word aquaponics. I'm a native English speaker but not living in an English-speaking country, so I don't know if most people _do_ know the word.

It might be worth using another word on the website, in addition to aquaponics, to make the concept more vivd. Something like "self-" something or "auto-" something (sorry, can't think of anything!).

I know you have other descriptions on the site, but the title in the end is "an aquaponics farm", and this is probably how other people will describe it to friends/etc.

<comment><AUTHOR> On my website, I have, "AutoMicroFarm is an aquaponics garden, so your plants are automatically watered and fertilized. The fish feed the plants. The plants clean the water for the fish." Do you have a suggestion on how to change the wording to make it more clear that this is a short definition of aquaponics?

<comment><USER3> It's a decent definition, but appears to far down in the website IMO. It's way below the fold, which means I only encountered it after being confused for a while, during which time I could easily have said "ok this is something that's not relevant for me as I don't know what it is".

</comment></comment></comment></comment></comment><comment><USER4> I've built several aquaponics systems in my backyard (currently around 800 gallons worth) and have helped build out several others for other people.

I have some constructive criticism about these designs.

1) Sand does not allow water to flow quickly enough and makes it more difficult for oxygen to get to the roots. You might end up with anaerobic zones in the grow bed. Use a grow media that is bigger (pebbles and/or hydroton are good options). Make sure the pebbles are not sharp though, you want smooth or rounded. Your hands and your grow bed liner will thank you.

2) Timing circuitry adds complexity and another point of failure, just make it run continuously. Pumps for a backyard scale aquaponics system don't consume that much electricity.

3) Depending on stocking density you may want to aerate the water so your fish don't die. Air stones work, but running the pump continuously and agitating the surface of the water will do far more.

4) Don't put the pump in the fish tank. Ideally use a sump tank that the water overflows from the fish tank into a sump tank that is lower. If you have to put the pump in the fish tank, make sure it is not at the bottom of the tank, put it about 1/4 to 1/2 way down the tank. That way if a tube springs a leak, or if the grow beds don't drain and overflow, or any other unforeseen failure comes up, you don't pump all the water out of your fish tank and kill them.

5) No need for PEX. Just stick with simple 1/2" PVC. They are cheaper and more common. Especially the fittings. PVC is perfectly safe for aquaponics. People bring up safety concerns but they are unfounded. The concerns for PVC safety are when using high pressure or hot water (neither of which is a concern with aquaponics).

6) Read up on fishless cycling to prepare the water before putting in the fish. If you use ammonia make sure it is just ammonia (no bleach or perfumes). You can speed up the cycling if you get something that has the nitrifying bacterial already. You can buy solutions that contain bacteria or just get it from an existing system / pond.

7) Get the pH dialed in before adding the fish. The nitrifying bacteria like a pH of around 8 for optimal growth but once they are establish, move the pH to the ideal balance for your plants / fish. The nitrifying bacteria will grow fine at any pH once fish are introduced so setting the pH to 8 while cycling is really only an optimization to speed up bacteria colonization.

8) Once fish are added, move the pH very slowly (ideally only 0.2 pH per day). Sudden pH changes are harmful for your fish.

<comment><AUTHOR> Thanks for these points, bcheung! Here are my thoughts on each point:

1) The sand-based system is based on Dr. McMurtry's aquaponics research at NC State University. Here are a list of publications about it: [http://iavs.info/publications/](http://iavs.info/publications/) In general, coarse sand is a great substrate for plants. Both research and my own experience show no problems with aeration or anaerobic zones forming when set up correctly.

2) The timers are really no more complex than the pumps, so I really don't see them as adding that much complexity.

3) The way the water drains through the sand means it keeps dripping and agitating the surface for several hours after the pump stops pumping water to the vegetable beds. Of course, if you plan on maxing out the stocking density, you should add bubblers.

4) Because the water starts trickling through the sand seconds after the pump starts, you only have ~10-15% difference in water height.

5) If you want to eat the fish, might as well try to eliminate anything that might get into the fish through the plastic. It doesn't add that much cost.

6) That's a good idea, but adds the requirement of finding pure ammonia available for sale.

7 and 8) I think most people will just add filtered tap water and go with whatever pH that is.

</comment></comment><comment><USER5> The problem I have with these setups is that at some point you're reliant on some kind of outside source of food. Instead of buying food for yourself, you buy food for the fish and then harvest the food from your farm. But where does the fish food come from? You still need to go to shops and buy manufactured fish food.

If there was a solution to the fish food bottleneck (which is essentially a protein bottleneck) I'd be more interested in something like this. Currently it just shifts the problem of sustainable food production somewhere else.

Are there ways to sustainably create your own protein-rich fish food? Perhaps some kind of insect farm? But that just shifts the problem again. Maybe an insect trap which attracts wild insects from the environment?

<comment><AUTHOR> That's the longer term goal. One practical way to do it is to feed all your compost to black soldier fly larvae (BSFL), which self-harvest when it's time by crawling out of the container... into the fish pond.

Here's an example of a BSFL composting bin: [http://www.thebiopod.com/](http://www.thebiopod.com/)

<comment><USER5> That's excellent. Thanks for the info. Pretty impressive that you can regain protein content from vegetable matter like that. I wonder if it's all sustainable over a long time period or if it requires some kind of supplements to sustain the system.

<comment><USER6> there will always be a nutrient issue, as with any field you pull matter out of, but the volume is minimal compared to fertilizing an entire field. you can make protein chains but not minerals.

<comment><AUTHOR> Another thing to keep in mind is that if you have any type of closed loop, you'll be adding nutrients by default. For example, if you have the food waste -> BSFL -> fish -> plants -> harvest loop, you'll be adding food waste from outside the loop, which will have the nutrients you need. If you continue consuming bananas, banana peels will be an excellent source of magnesium and potassium that will make its way into the plants through the loop mentioned above.

</comment></comment></comment></comment></comment><comment><USER7> Great idea but a word of warning to others that might try this. If you don't want your fish to die rather horribly, please understand the Nitrogen Cycle (and at least some fish husbandry) and test for it.

For example: [https://www.theaquariumwiki.com/The_Nitrogen_Cycle](https://www.theaquariumwiki.com/The_Nitrogen_Cycle)

<comment><USER8> And if you really want to optimize your system and reduce suffering, eliminate the fish. Spend a fraction of your fish food money on fertilizer instead.

<comment><AUTHOR> Hmm, I don't think the fish food is that much more expensive than fertilizer. Also, by eliminating the fish, you... eliminate the fish harvest, which many people would find desirable.

<comment><USER8> Efficiency is the goal with these small systems. If you desire fish, steak, or hot fudge sundaes, you can go to a restaurant. If you want a sustainable system that provides the greatest amount of nutrition for the lowest resource expense, you want a system like this without animals.

Any time you introduce animals into a food system you're adding at least one trophic level, dropping your output by at least 90%.

[https://www.youtube.com/watch?v=ScizkxMlEOM](https://www.youtube.com/watch?v=ScizkxMlEOM)

<comment><AUTHOR> > Efficiency is the goal with these small systems.

Thanks for that thought-provoking line. My vision is for the average quarter- acre lot to produce a variety of food for the family living in that house, including veggies, fruit, nuts, beans, fish, eggs and optionally chicken (or other small fowl), honey, mushrooms, and more.

If efficiency were the goal, you would need some kind of algal bioreactor that could grow the genetically-modified algae that would provide for all your dietary needs, as envisioned by Soylent: [http://motherboard.vice.com/read/soylents-real-plan-is-to- re...](http://motherboard.vice.com/read/soylents-real-plan-is-to-replace-food- with-algae)

</comment></comment></comment></comment></comment><comment><USER9> I support this type of project and wish the OP well, but I have to say that I think the free manual is a bit overpriced in its present state. It leaves many details unsaid or vague. There needs to be a detailed plumbing diagram and many more pictures. n.b. the pictures in the blog post that is linked are not well lit or clear -- and show a "garden" with a pathetic few seedlings in one corner. There is no advice on what type of fish to buy, nor what kinds of plants would be good to start with and, very important, what kinds a newbie might think were a good idea but are not. And maybe open with a big-picture overview: what is the steady-state you want to reach? What can you realistically expect to reap from this setup in actual quantitative terms of pounds of fish and vegs, based on actual experience.

<comment><USER10> I likely read that wrong. Did you say that you think the free manual is overpriced??

<comment><USER9> heck, I forgot the <snark></snark> markers...

</comment></comment></comment><comment><USER11> I know that you want to sell your support, but I really find that your website and your open source documentation is lacking documentation.

\- Purchasing a kit from the button on top of the page (I assume it's a kit - although the sale button does not say that), it does not say anything about the contents included (apart from the picture I've seen somewhere on the blog), nor the required size, nor where in the world you ship it, nor if shipping is included or how much it is extra. Way down the page I see something about that you'll help to set it up for people in NC Suggestion: Link to the description below where you state more information about what's inside

\- When you make statements like " A well-run AutoMicroFarm will produce enough vegetables and fish to pay for itself in six months." \- I want to see data!

\- The open source documentation should include drawing and layout examples of your product to be more complete

\- There's unfortunately no information about what if you want to expand your construction. What's the maximum planting area size for the size of the fish tank/amount of fish?

\- You should think about selling individual components - especially those that are not commonly available in hardware stores

I'd offer my services for documentation and fixing the website, but I fear that I'd need to play with it myself in order to understand things better - and I cannot go to NC because I don't feel safe going there being a transsexual.

<comment><USER12> > I know that you want to sell your support, but I really find that your > website and your open source documentation is lacking documentation.

There has to be a way to present HN with a gift without someone going to extremes to make it come out negative.

I'm not sure if you're doing this on purpose or not but this open sourcing of the plans seems to be in response to the original launch of the product where people were complaining about the price of the kit, and could they please have the plans instead.

<comment><USER11> Sorry, don't get me wrong: But in order get get things fixed, they need to be pointed out (and that's the point of posting things to HN, right?).

I've worked on many open hardware projects the past 6 years. Documentation is a huge problem with the majority of open hardware projects.

So what makes a good open hardware documentation?

My first measure for that is "is the documentation good enough so I can acquire all the materials for building it on the other side of the world".

My second measure is "is the documentation good enough for getting me started without wasting a lot of money on trial and error".

My third measure is "is the software or other important information still up to date".

<comment><USER12> > My first measure for that is "is the documentation good enough so I can > acquire all the materials for building it on the other side of the world".

> My second measure is "is the documentation good enough for getting me > started without wasting a lot of money on trial and error".

[https://drive.google.com/file/d/0B4SAAq6j3vXkUDU3OXh5cXk5OUk...](https://drive.google.com/file/d/0B4SAAq6j3vXkUDU3OXh5cXk5OUk/view)

See for yourself, the first one seems to be covered, the second one is up to you.

> My third measure is "is the software or other important information still up > to date".

It appears that yes, this is the case (since there is no software and what you consider 'important' might be a small inconsequential detail to me...).

So, can it be better? Yes, obviously, it is really fresh off the press by the looks of it.

Maybe one idea would be to put the documentation in Github as a markdown document, that way others could make pull requests if they have something useful to contribute.

<comment><AUTHOR> Thanks for the kinds words, Jacques, but I really do realize the documentation can be improved, and I'll make is so.

Instead of github, I think I'll use readme.io for the documentation, at the suggestion of Rory with FarmBot.

</comment></comment></comment></comment></comment><comment><USER13> This look awesome! A couple questions:

\- How big or how small can the system be?

\- are the planters/pool included in the price? (i get the impression it' just tubing...)

\- what garden zones will this grow in? [1]

\- how much sun and/or shade is necessary?

\- does it include / can it be combined with a compost system?

[1] [http://garden.org/nga/zipzone/](http://garden.org/nga/zipzone/)

<comment><AUTHOR> Thanks!

\- The system as shown is really the minimum size. You would increase the size by buying as many systems of this size as you need.

\- Yes, the pools are included in the price. Everything is included except for the fencing.

\- If you can grow a conventional garden in your zone, you can grow in an aquaponic garden. It's just a matter of what plants/fish are suited for your area. Really, your lower temperature bound is 50F, when the bacteria converting the fish waste to plant fertilizer start slowing down their activity. Of course, a well-insulated greenhouse mitigates this concern, but adds cost. Practically speaking, I would say that zones 3 and above work well without some kind of insulating structures or heating mitigation.

\- This depends on what plants you are trying to grow. But practically speaking, you probably want full sun at least six hours per day.

\- It doesn't include a compost system, but would work well paired with [http://www.thebiopod.com/](http://www.thebiopod.com/) to produce black soldier fly larvae that will self-harvest into the fish tank and provide the fish with supplementary feed.

</comment></comment><comment><USER14> I live in Cary -- would you be willing to show me your setup in person, and have a chat?

<comment><AUTHOR> Absolutely! I'm about 15-25 minutes away (depending on where you're located in Cary). Email me (firstname.lastname@example.com) and we can set up a time to meet.

</comment></comment><comment><USER15> There was a constructive criticism which got deleted; assuming it was accurate, I thought it was respectful enough.

The project itself is very interesting, and I wish I owned a backyard in which to set up a garden like this.

<comment><USER16> When comments are deleted (i.e. disappear altogether even if 'showdead' is 'yes' in your profile), it means the author deleted it.

</comment></comment><comment><USER17> I want to make an open source version of this for making an entire house eco friendly, when being built from the ground up. Pm me if interested.

<comment><AUTHOR> You mean a larger version of this in greenhouse, with enough food to provide 90% of a family's food needs? If so, that's my long-term vision, too.

Check out Open Source Ecology's (and now, Open Building Institute's) work in that area: they have a house with an attached aquaponics greenhouse, the designs of which are all open source.

[http://opensourceecology.org/aquaponic-greenhouse- workshop/](http://opensourceecology.org/aquaponic-greenhouse-workshop/)

[https://www.kickstarter.com/projects/622508883/open- building...](https://www.kickstarter.com/projects/622508883/open-building- institute-eco-building-toolkit)

</comment></comment><comment><USER18> Hi ph0rque, could you discuss (or did I miss it on your site?) roughly how much food / fish this produces? Thanks!

<comment><AUTHOR> My previous prototype produced 10 lbs / ft^2; I think this will produce more.

<comment><USER18> My apologies for being dense, but over what time range?

What air temperature ranges does the fish pool tolerate?

Thanks again.

<comment><AUTHOR> That was my mistake. I meant 10 pounds per square foot on an annual basis.

The minimum temperature is 50 degrees Fahrenheit, but that is a limit for the bacteria, not the fish. The maximum temperature is whatever can be found the natural bodies of water, practically speaking probably around 100 degrees Fahrenheit. Of course, it all depends on the fish you are raising.

</comment></comment></comment></comment><comment><USER19> This is awesome. I'm a garden newb...what is this doing that is better than a conventional garden bed?

<comment><USER4> Aquaponics has numerous benefits compared to traditional gardening.

Plants have plenty of water being on the obvious ones.

Also, they tend to be fairly low maintenance once set up correctly. Just add food (most fish can go up to a week without feeding without any negative consequences if needs be).

Water usage is much lower (evaporation and what is absorbed into the plants is the only loss).

Plants grow better (they have easier access to nutrients and plenty of water).

The negatives are that the upfront costs are much more and you have to have some knowledge of the Nitrogen cycle and creating a comfortable environment for your fish.

<comment><AUTHOR> Thanks bcheung, you got them! I'll post what I had in a previous comment:

Here are just a few advantages over a traditional garden:

* You get fish

* Better yield, due to items mentioned below

* The optimal watering cycle, followed by a drain cycle, means the plants get the air, water, and nutrients they need multiple times a day.

* The water being reused means you need only 10% of it

* Going organic is really easy: just feed the fish organic fish feed

* No soil diseases

* Virtually no weeds (I've picked ~3 weeds over the course of the 1.5 years I ran my initial proof-of-concept prototype)

* Minimal maintenance: only need to plant, harvest, prune, and feed the fish

<comment><USER19> Thanks, this is helpful!

</comment></comment></comment></comment><comment><USER20> But will it makes it easier in maintenance and lesser cost of illegal substances? I can sure grow weed/420 or tobacco on that.

<comment><AUTHOR> See [http://potentponics.com/](http://potentponics.com/)

<comment><USER20> It's a good idea to sell organic weed and sell for a superior price!</comment></comment></comment>


Duck Duck Go's traffic has tripled in 2012 - <AUTHOR> http://duckduckgo.com/traffic.html?

<comment><USER2> I've switched to ddg for my basic searches. Hard searches still go through Google but the truth is, most of my searches these days are because I can't be bothered bookmarking stuff, not because they are difficult searches.

The nymwars are the main reason I switched. Ironically I always have had my real name attached to my account. However Google suddenly insisting on it being my real name makes me very paranoid about what Google could possibly want from it. I'm happy for them to use data about me anonymously - I couldn't care less if they mine every email I ever send and every search I ever do as long as I am sure it is safe and secure and impersonal. But as soon as I get a sense they are not treating my participation as anonymous they lose the lot, and that's effectively what they did with the nymwars.

<comment><USER3> I switched awhile back and I use ddg mostly the same way you do, though as of late it has felt slower.

Google's social integration, instant search, image previews, and advanced feature removal have made it a chore to use and I'm too lazy to go around disabling every new feature they come up with. Part of me wishes I still had the plain 'ol classic Google interface and behavior but I guess the site is now geared towards everyday folks, not techies.

I gave Chrome a spin the other day again (haven't used it in months) and the default twitchy instant search behavior seemed bizarre and jarring. I think I must be becoming an old fart...

I also think that search quality has gone down at Google (ddg still doesn't hold a candle to Google in that regard, however).

<comment><USER4> > geared towards everyday folks, not techies.

See, that is what I do not get. Google claims to be able to create a better product experience based on all that datamining they do.

If that is the case, why don't they change the user interface based on what type of person they think I am? They have the data for it, or don't they?

</comment></comment></comment><comment><USER5> I'm curious how much DDG's traffic has grown as a direct result of Google's perceived gaffes in the last few months.

I can't speak for anyone else, but I switched to DDG after Google started pushing Plus in their search results.

<comment><USER6> _I'm curious how much DDG's traffic has grown as a direct result of Google's perceived gaffes in the last few months._

It's not Google gaffes, but unavailability that's been driving my DDG use. Whenever google.com fails to resolve in DNS for me, or Google's server fails to respond, I switch to DDG. Unfortunately, events like this have been happening frequently of late.

I'm on Comcast in Houston. Anyone else experiencing this?

<comment><USER7> You're not the only one. I counted three occasions just in the last week when an attempted Google visit timed out, yet DDG and Bing worked fine. Not sure what's going on behind the scenes at Google.

</comment></comment></comment><comment><USER8> I've been using DGG for a couple of months now and it's been great. As a programmer, it turns out that like 50% of what I search for at work is programming reference stuff, so I've found the !php and !jquery syntax totally awesome.

There's still occasionally searches that I make that I can't find what I need from DGG, so I manually go to google for those (and of course for image search). But DGG definitely meets my daily needs for a search engine, and I love how privacy friendly it it.

<comment><USER9> You can use "!gi" to search google images from DDG & "!bi" to search bing images.

<comment><USER10> !i brings up Google images, too.

</comment></comment></comment><comment><USER11> I've tried DDG a few days but was disappointed by search speed and search results.

I've found <https://startpage.com/> much better in terms of search results and speed. It's basically just proxy'ing to google (which is great, imo).

<comment><USER12> this is great. i tried ddg, was also frustrated by the speed, and returned to google. this is an easy drop-in replacement for that and works much faster.

</comment></comment><comment><USER13> I wonder how much of this traffic is from Tor... Google blocks most searches routed via Tor exit nodes and the queries are rerouted to DDG by the tor browser (yay EFF!).

<comment><USER14> "Google blocks most searches routed by Tor exit nodes" - Really? I've never had a problem, but the last time I used Tor was a week ago. Has something changed?

<comment><USER15> They don't 'block' most of the searches -- they just put up a CAPTCHA before each SRP.

</comment></comment></comment><comment><USER16> I was surprised to read an article on DDG in a mainstream (albeit liberal) german newspaper "Die Zeit". It's getting press.

At the same time, I've tried <http://www.hotbot.com> again (last time I tried it perhaps 10 years ago) and I was quite pleased with the search results. So yes, there definitely is a world outside of Google. And it's working well.

But who else has GMail, Documents, Maps, Cache, Translate.. that's a major advantage for the #1.

<comment><USER17> Bing.

Microsoft has Hotmail, Skydrive, Bing Maps, Cache, Translate and tons more.

<comment><USER18> The point was, who else has a good search engine and also offers other services.

I don't recall Bing as a good search engine.

And additionally, there are better services than Hotmail (like Gmail), Skydrive (like Google Docs), etc etc..

<comment><USER19> Bing is a very good search engine, pretty much identical to Google for my searches.

<comment><USER20> DDG's default search _is_ Bing.

</comment></comment></comment></comment></comment><comment><USER21> Any idea how much Linux Mint and other projects embracing DuckDuckGo as their default search engine deliver to it?

<comment><AUTHOR> I'd like to know that too. I've emailed Gabriel, hopefully he'd be interested in sharing.

Edit: He answered the question here: <http://news.ycombinator.com/item?id=3598541>

</comment></comment><comment><USER22> I use DDG about 2/3 of the time. Like others have said, its initial search quality is not up to Google's, and also its speed isn't either.

However, I do think that DDG is a more truthful search engine: it seems to search for what you ask for, not what it thinks you want. This provides, in my opinion, a more nuanced web, where interesting things can turn up that _aren't_ highly "ranked".

And, I do prefer Gabriel's focus on anonymity and non-bubbling.

</comment><comment><USER23> I like the idea of DDG but it is quite frankly of little use to me. For most English terms it works reasonably well but for other languages such my mother tongue, Swedish, it is more or less useless. I found most results to be close to useless but I have not used DDG to a great degree because of this issue.

I rather take relevant results results in multiple languages while being logged than less relevant results without being logged.

<comment><USER24> Have you set your regional settings in DDG to "Sweden"?

Heres a comparison between search results when I chose "English" vs. "Norwegian" on a Norwgeian term: <http://i.imgur.com/ReIa5.png>

<comment><USER23> Ah, that might be a improvement but then the questions becomes, how does the English results become affected by me changing it to Swedish?

To be fair I do most of my searches in English and therefore it might cause irrelevant results again. Changing back and forth depending on what language I am search for is hardly ideal.

Will have a look to see how it affects my searches.

</comment></comment></comment><comment><USER25> I switched to DDG after scroogle's shutdown. DDG feels a bit slower - obvious, since they add some features, while scroogle basically was just a proxy. What I didn't like about scroogle was their negative attitude (at least it seemed negative to me).

I tried also <http://gigablast.com> , which is nice, but its index is too small for general purpose searching.

</comment><comment><USER26> I like using DuckDuckGo with Google Chrome because its Omnibox searching is really fast. Unlike Chrome, Mozilla Firefox suffers this annoying 2 second delay for searching through the main URL bar. Quite frankly I'm mad with Mozilla for sticking with two damn separate search utilities.

Who else doesn't like the slow ass URL-bar search for Firefox?

</comment><comment><USER27> I switched to ddg to try it out, and am still using it, mostly because of the bang syntax, not because its general search results are better than Google's, or because of privacy concerns (as long as you tell google not to remember your search history I'm not too worried...).

<comment><USER28> you can't tell google not to remember your search history...

you can only tell them not to personalize your search results with your search history.

you don't need to be worried, just aware that unless you put effort into it, pretty much everything you do on the web is knowable by google.

</comment></comment><comment><USER29> Not surprised as I'm also in the camp of having switched to ddg as default search engine.

</comment><comment><USER30> I've been using DDG ever since I submitted a bug and got a response from yegg a few hours later. That lets me know someone on the other side really cares and I'm not just firing emails off into the dark.

</comment><comment><USER31> Always put a smile on my face when I spot somebody using DDG.

</comment><comment><USER32> Un/fortunately Bing won't have access to this data to make their search engine better. Duckduck is good for hiding porn, not for finding hard to find stuff.

</comment><comment><USER33> One major reason, I like Google search is their Omnibox autofill suggestions. It makes things real easy.</comment>


I Will Kill You [video] - <AUTHOR> https://www.youtube.com/watch?v=9FdHq3WfJgs <comment><USER2> This title is kind of off-putting out of context, so here's what it's about (from the description on the video):

"Have you ever wanted to kill someone? Do you want to get rid of your partner, your boss or your arch nemesis? Perhaps you want to enjoy your life insurance payout whilst you're still alive. Do you have rich elderly parents that just won't die quick enough? Or do you want a "Do Over" new identity.

Then, this presentation is for you! I'll provide you with the insight and techniques on how to "kill" someone and obtain a real death certificate and shutdown their lives. It focuses on the lack of security controls that allow any of us to virtually kill off anyone or any number of people ...

The presentation will explain the death process and will highlight the vulnerabilities and its implications world-wide ...

The third and final step of the presentation is "The baby harvest", a concept that I've developed, which involves creating and raising virtual identities ..."

<comment><USER3> Amazing how similar this is to some academic physics papers in trying to make boring results more interesting by choosing ear-catching phrasing. I hear this stuff so much I immediately quit wanting to listen to the author.

<comment><USER4> I gotta admit: I'm kind of a sucker for it. I like how the DefCon talks have a certain passion to them. Sometimes I think that people who are obsessed with inventing... well, we give off the vibe that we aren't excited about living our lives.

I'm up at 5:24AM my time really taking a deep dive into twisted thread management. Why? Well, if I had a reason like, "I WILL KILL YOU," then I might actually want to answer that question.

</comment></comment></comment><comment><USER5> For those looking into how this plays in real life, here are two articles from a legal humor blog: one about the man mentioned in the presentation[1], and another one aptly titled "Legally dead man sentenced to be actually dead"[2].

[1] [http://www.loweringthebar.net/2014/08/feds-say-legally- dead-...](http://www.loweringthebar.net/2014/08/feds-say-legally-dead-is- slightly-alive.html)

[2] [http://www.loweringthebar.net/2014/09/legally-dead-man- sente...](http://www.loweringthebar.net/2014/09/legally-dead-man-sentenced-to- be-actually-dead.html)

</comment><comment><USER6> > Unfortunately, this video is not available in your country because it could > contain music from SME, for which we could not agree on conditions of use > with GEMA.

Thanks for using non-free music. :(

<comment><USER7> > Thanks for using non-free music.

You're putting a lot of faith in GEMA's judgement on the matter, aren't you?

<comment><USER8> The video contains a fairly lengthy clip of Don't Fear the Reaper by the Blue Oyster Cult.

</comment></comment></comment><comment><USER8> UK undercover police recycled the identities of children who died young, borrowing a technique described in Frederick Forsythe's The Day of the Jackal.

[http://www.theguardian.com/uk/2013/feb/03/police-spies- ident...](http://www.theguardian.com/uk/2013/feb/03/police-spies-identities- dead-children)

<comment><USER9> I'd be pissed if I was a parent of one of those kids.

<comment><USER10> I'd look into suing them, too. "Willful impersonation" is probably illegal, unless there's some nasty LEO-covering provision.

</comment></comment></comment><comment><USER11> Perhaps put 'DEFCON 23 - ' in the title?

</comment><comment><USER12> That is fantastic.

</comment><comment><USER13> I'm missing the epilogue here. His video implies that he really went through this process with a real person, so where's the fallout?

</comment><comment><USER14> [http://www.imdb.com/title/tt0060955/](http://www.imdb.com/title/tt0060955/)</comment>


Map of the World2.0 - <AUTHOR> http://www.appappeal.com/web-2-0-application-world-mosaic/

<comment><AUTHOR> A few YC site logos (tipjoy, reddit for example) appear in this mosaic of the world.</comment>


Atari founder Nolan Bushnell shows up on AtariAge.com to defend himself - <AUTHOR> http://www.8bitrocket.com/newsdisplay.aspx?newspage=40348

<comment><AUTHOR> BTW, if you read the thread on AtariAge.com and were wondering, Curt Vendel is the head of Legacy Engineering, who designed the 'Atari-on-chip' that was used in the Atari Flashback 2 that was sold in stores a couple years back.

Apparently he doesn't think too highly of Nolan Bushnell...</comment>


Federal Communications Commission Meeting Live - <AUTHOR> http://www.c-span.org/video/?324473-1/fcc-meeting-net-neutrality&live

<comment><USER2> The people presenting items sound like they have never spoke in public before.</comment>


Kippt (YC S12) Takes Its Enterprise Tool For Sharing Useful Content Out Of Beta - <AUTHOR> http://techcrunch.com/2013/10/10/kippt-inc/ <comment><USER2> > _While there are products out there like Convo, Yammer and Evernote for > Business, Saarinen said he views e-mail as the main competition._

Yes, they have that right. Email is definitely the competition, and I'm glad this team is upfront about it. Lots of group chat platforms brush this off.

> _But these kinds of discussions are not best supported by long chains of > e-mail._

Ah, you can't end on that TC! _Why_ are these kinds of discussions not good on email? I've tried a bunch of group chat/discussion/collaboration platforms. I use them for a while, and they're fun and exciting during that honeymoon stage, but I _always_ end up going back to email. It's dependable, robust and evergreen. And everyone has it. I don't know if it's ever _not worked_. Seriously.

I want to believe that something is better than email, but I have yet to see it. I had HUGE hopes for Google Wave, which was supposed to kill email. Didn't work. Checking out Inc, and it feels a lot like Wave. I hope it doesn't suffer a similar fate.

What's the huge problem with email?

<comment><USER3> It looks like you can email in content (there is special address in the Settings) - so you could email Bob, Jon, and CC the Inc address and share a link.

You can also get digest emails on new stuff/mentions. So it seems like you could interact entirely via email and then only go to the web if you want to search/see groups.

<comment><USER2> That's interesting.

Header on their website: "Say no to email, build a better workplace"

When they say something like that and then build a service that is dependent on email (at least somewhat), and even go as far as allowing the service to be used _in it 's entirety_ via email, I have to wonder if they genuinely believe email is broken. If they really believed in the "say no to email" matra, they would have simply said no to email themselves.

Apologies for the bluntness. My skepticism stems from personal experiences working on a project that was designed to 'kill email' (rather, a subset of email, not group chat like this). The same thing happened: primary interaction mechanism with the platform was ... _email_. That project failed.

<comment><USER4> They know everyone can't be convinced to give up email, so email users are appeased in order to allow others to use the app as intended.

</comment></comment></comment></comment><comment><USER5> We've been using Inc over here for a while now.

The addition of being able to "like" things your co-workers post, categorize topics into groups, and carry lengthy conversations right on the page, are features that have really sold us on the idea.

Before Inc we tried email groups (so messy), Google+ groups (again, messy, and not everyone wants to get on there for discussing/sharing interesting things), etc.

Kudos to Karri and the team on creating something that's beautiful and functions well.

<comment><USER6> Thanks and glad to have you onboard.

You can always reach us by email if there is something you think should be fixed or working firstname.lastname@example.com (it comes to founders directly).

</comment></comment><comment><USER7> We use this tool at Scoutzie all the time and we love it. It's a great addition to email. Very often, when say sharing technical insights or design- related links, or even interesting Ted talks among our team, putting those things on email does not make sense, since it just creates clutter. Putting those links on Hipchat also doesn't work, since they are lost and forgotten within 20 minutes. But with [https://sendtoinc.com](https://sendtoinc.com) , that problem is solved! We've all installed their desktop proxy and everyone knows where to look for new stuff. We all get to see what's been shared, but we do it on our own schedule and without impacting our productivity. Love it. Give it a try.

</comment><comment><USER8> The truth about these tools is that they appease to our OCD side. There is a honeymoon period during the which you find various reasons to use the tool. After a while you realize tools only help with organization during that first burst of excitement. At this point you either have to confront the fact that getting organized isn't a technical problem or you find a new tool to get excited about.

What makes these tools succeed at least for the short term, is they fuck with the organizational habits of people. Their landing pages are huge cues to get more organized, which people love. People love the idea of getting their shit together and becoming organized once and for all.

The challenge these apps are facing is creating a habit loop. You need a cue and a reward, but more specifically when replacing a habit (email) with something new, you need to replace either the cue or the reward. In between those you have your tool. Without this change people just go back to their old habits. In the case of Inc the reward is "thanks for sharing that link, you're awesome!" and the cue is "I need to send this to my whole team". Currently everybody immediately reaches an internal mailing list or enters in a few autocompleted emails when they encounter this cue, the urge to share with team members.

Now what Kippt, their original product did, which was clever, was creating new cues. They heavily pushed their Chrome extensions which inserted "Kippt" buttons and links to loads of websites with potentially interesting links. There's even one for all hacker news links. This created new cues for people to respond to.

For Inc to succeed it needs to cleverly introduce more cues because email works fine for this particulare habit loop and will be hard to replace.

<comment><USER6> Thanks for the ideas.

You're right, that's why we still constantly working / talking with our customers/users, to find if things are working or not.

I think mobile app, better notifications, doing email and other integration, and improving the daily digest emails will help to create those habits.

We want people to use the app everyday at work, understand that people also need to work, give them enough cues, but not to bother them.

One thing that have noticed that even chats are pretty intensive, and some teams so it a lot, it also requires you to be present at the same time, to effectively join the discussion.

With Inc, discussions is more like in a forum or email, where people comment when they have time / something to say.

</comment></comment><comment><USER9> Basically, private Hacker News for organizations to share and discuss online articles. This is awesome. Something that I didn't know I need but now I just can't wait to try!

One of my biggest pet peeves is endless emails sent to everyone in the organization by someone who just wanted to share an article that he/she thought was interesting. Then someone replies all with a comment, another person replies all, and soon, my email client just kept on buzzing even if the topic doesn't concern or interest me.

And the most frustrating thing is there's no rule that I can create to filter out those kind of emails.

This is very, very useful. Kudos to the Kippt team.

<comment><AUTHOR> Thanks! This is actually very interesting comparison which we haven't thought about earlier

</comment></comment><comment><USER10> I paid for Kippt early on because I thought it was such a nicely designed and well thought out tool. I'm really happy to see them pivoting like this because they're such a talented team. This seems like a potentially useful reorganization of their core strengths.

On the consumer side, I've since cancelled my subscription for two primary reasons: (1) it wasn't fast enough for my core use case (saving links and finding them later); and (2) none of the other features provided me with any value (indeed, they often distracted from the core case). There are simply other tools that do this better. The pivot to enterprise provides a much more unique value proposition.

<comment><USER11> Having spent the last couple years developing a bookmarking / archiving service which is somewhat similar to Kippt (as well as Historious and Pinboard + Archiving) I'd be interested in knowing what other tools you've found that provide a valuable core feature set?

Shameless self plug: The site is called [http://preserve.io](http://preserve.io) and if you're interested we'd love your feedback on our pre-beta which has now been actively used for over a year

</comment></comment><comment><USER12> So, a bit of Trivia. From what I remember, Kippt came out of Forrst's first (and only) app contest.

[http://forrst.com/posts/Kippt-y39](http://forrst.com/posts/Kippt-y39)

<comment><AUTHOR> You are true, it was our one day hack for that contest. It's weird how things have evolved in three years

<comment><USER12> I just remember because I took second, so every time I see Kippt, I'm happy you guys won. =)

</comment></comment></comment><comment><USER13> These guys having an amazing sense for design and product. Early paid user of Kippt and looking forward to this pivot.

<comment><USER14> I used to work on ArcticStartup with Karri Saarinen for several years. Grew to respect his views on simplicity, beauty and function.

Congrats gents on the latest developments!

<comment><USER6> Thanks guys for the support and the kind words! :)</comment></comment></comment>


It Takes a New Kind of Worker to Make "Instant" Happen - <AUTHOR> http://recode.net/2014/08/05/it-takes-a-new-kind-of-worker-to-make-instant-happen/

<comment><USER2> "But Monterrosa admits that even though UPS tracks his trips down to every time he opens the truck door, the company doesn't even provide its drivers with GPS navigation systems, or a phone with maps. It's up to him to figure it out on his iPhone."

What?? Is this really true? In 2014, UPS provides zero navigation options to its drivers who drive around all day from point to point?

<comment><USER3> I don't think there's any substitute, especially in terms of overall transaction speed, to learning your route. A simple mapping system won't tell you which door to deliver to or how best to get to it, and looking up every destination, especially at that level of detail if annotated, is going to slow you down significantly.

That presumes low turnover, which we have to at least some degree in my home town of 55K, "metro area" of 200K.

<comment><USER4> Yes but it'd be insanely easy for a company like UPS with the data it has to:

\- Give you a preprogrammed recommended stop route. \- recommended stop route can auto-adjust throughout day based on variables like traffic etc \- the only time you have to "look anything up" is when you need to manually change your recommended stop route. \- and that could be done via simple voice commands

I really find it hard to believe UPS doesn't have some kind of great GPS like this for most of it's fleet.

Delivery routes in lower density parts of the country are going to be huge geographic areas too unlike a SF or NYC too.

They supposedly use software to determine how to store packages in the back of a truck efficiently, I can't see how they wouldn't throw their same weight at navigation.

</comment></comment></comment><comment><USER5> maybe it was mentioned elsewhere in the series, but it seems like they buried the lede with this story: fractional employees.

as opposed to the post-WWII boom where value and growth were predicated on economies of scale/scope, the value of the sharing economy seems to be predicated on exploiting fractional employment to create a more fluid and continuous labor supply.

technology is enabling an economic shift (arguably an innovation) around _labor_ , where value is derived from the efficiencies of better matching supply to demand as a result of being able to get some fraction of a person's labor capacity. on the other side, labor can mix and match jobs to suit lifestyle needs. unfortunately, power shifts further toward capital, leaving labor earning less.

</comment><comment><USER6> Delivery driver making $80k. Totally negates the value of a college degree. Embarrassing.

<comment><USER7> Totally negates the _monetary_ values of a college degree.

The idea behind science is not to study it because you'll make a lot of money off of it. Even less it is so for humanitities.

<comment><USER8> Paying in tangibles for intangibles is a very subjective thing and needs to be done wisely.

<comment><USER9> And vice versa, of course.

</comment></comment></comment></comment><comment><USER10> Does anyone else living outside of San Fran read this and go "San Fran blah blah blah". Seriously not trying to be rude, I just do not think any of the models presented in this article represent real life much outside of SF or maybe NYC.

<comment><USER11> Exactly, many of these ideas likely can never work outside of compact cities like SF or NYC. Where I live in the DFW metroplex Uber doesn't even support 1/4 of the population. I can drive almost an hour E N or W and still be in the metro area. It's hard to scale if the distance is too great.

<comment><USER4> No they can work fine anywhere just like Dominos can.

They just need to get transaction/delivery volume up, so that density of orders shrinks the coverage area for any given "driver agent".

Scaling while trying to maintain balanced supply and demand key.

Moderate increase in delivery density can mean step changes in efficiency and almost all other aspects of these businesses.

Source: I work at Munchery mentioned in the article but I'm from Nebraska originally and delivery drove in collge.</comment></comment></comment>


99designs Has Tipped - <AUTHOR> http://pandodaily.com/2012/01/24/get-over-it-haters-99designs-has-tipped/

<comment><USER2> Very long article about 99 designs, with exactly 0 links to their site. Why? Some outdated SEO advice?

</comment><comment><USER3> Sarah did a fantastic job in this article summing our growth story.</comment>


You Can Now Develop For PS Vita For Free - <AUTHOR> http://www.thesixthaxis.com/2013/05/08/you-can-now-develop-for-ps-vita-for-free/ <comment><USER2> Does anyone know how does this compare to the 3DS? It always seems like Nintendo's development registration process is a closed off country club</comment>


Bringing neural networks to cellphones - <AUTHOR> http://news.mit.edu/2017/bringing-neural-networks-cellphones-0718 <comment><USER2> I doubt pruning alone is going to serve up the same kind of wins that energy aware architectures will. The main problem is that convolutions are heavy computational operations. There has been ongoing research in modifications to the convolution that basically decrease the amount of computation being done in channel space (grouped and depthwise separable convolutions). The tradeoff is accuracy, but new techniques (like shuffling the channels) are helping recover that.

MobileNets and ShuffleNet are some examples. They see 10x reductions in MACs, far more than the "73 percent reduction in power consumption over the standard implementation of neural networks" talked about in this article. [https://arxiv.org/pdf/1704.04861.pdf](https://arxiv.org/pdf/1704.04861.pdf) [https://arxiv.org/pdf/1707.01083.pdf](https://arxiv.org/pdf/1707.01083.pdf)

</comment><comment><USER3> Designing Energy-Efficient Convolutional Neural Networks using Energy-Aware Pruning: [https://arxiv.org/pdf/1611.05128.pdf](https://arxiv.org/pdf/1611.05128.pdf)

</comment><comment><USER4> There are already providers of building blocks for the fabless SoC industry, that use various NN schemes. For example to better detect signal in noise like in iterative codes [0, 1].

I remember a meeting with such a company, that offered building blocks to classify signals, but unfortunately I do not remember its name.

[0] [http://ieeexplore.ieee.org/document/1180574/](http://ieeexplore.ieee.org/document/1180574/)

[1] [http://ieeexplore.ieee.org/document/1618080/](http://ieeexplore.ieee.org/document/1618080/)</comment>


New mechanism found in creation of paired light particles used for entanglement - <AUTHOR> http://www.spacedaily.com/reports/New_research_into_light_particles_challenges_understanding_of_quantum_theory_999.html <comment><USER2> Blogspam of

[http://www.uea.ac.uk/about/-/light-particles-challenges- unde...](http://www.uea.ac.uk/about/-/light-particles-challenges- understanding-of-quantum-theory)</comment>


You can directly support Mozilla Developer Network (MDN) - <AUTHOR> I use MDN almost every day, but had no idea that it was possible to directly support them. I just found out about two ways:<p>- Sponsor for $ a month: https://developer.mozilla.org/en-US/payments/<p>- Buy Merch: https://shop.spreadshirt.com/mdn-store/ <comment><USER2> They fired the MDN team of technical writers. What is this funding exactly?

<comment><USER3> > What does the money go towards?

> The money collected through MDN (minus processing fees, taxes, etc.) will be > reinvested back into MDN. We will publish a monthly report on MDN Web Docs > showing what work was completed.

> What will MDN user funding pay for?

> Currently, Mozilla pays for site operations and overhead (including staff > writers and web developers). MDN user payments will fund accelerating > current projects or launching new ones, including: Adding more content, and > updating current content, Improving performance of the site, Modernizing the > MDN platform, Adding offline access to MDN, Supporting integrations with > popular developer tools, More tutorials and guides, Training and webinars

<comment><USER2> In light of the recent news, that means very little.

</comment></comment></comment><comment><USER3> Hm, I'd like to donate, but their subscription page is 404 right now...

[https://developer.mozilla.org/en- US/payments/management/](https://developer.mozilla.org/en- US/payments/management/)

<comment><AUTHOR> Yeah, doesn't look like that works any more, sadly. The merch store does, though ¯\\_(ツ)_/¯.

</comment></comment><comment><USER4> Seems like Mozilla didn't do enough to publicise this option at the time it was made available. At least Wikipedia put an in your face notice when doing a funding drive. It might annoy people but it is effective.

</comment><comment><AUTHOR> Apparently the sponsorship thing doesn't work anymore, but it looks like the merch store does.</comment>


Seattle No. 1 in home-price growth again; "starter" homes require half of income - <AUTHOR> http://www.seattletimes.com/business/real-estate/seattle-no-1-in-home-price-growth-again-starter-homes-require-half-of-income/ <comment><AUTHOR> Seattle is doing better than SF or NYC at building housing but is not doing well enough: [https://jakeseliger.com/2015/09/24/do-millennials-have-a- fut...](https://jakeseliger.com/2015/09/24/do-millennials-have-a-future-in- seattle-do-millennials-have-a-future-in-any-superstar-cities)

Many personal preferences have shifted to living in cities and knowledge workers (not my favorite phrase but useful here) are more productive in them. Yet many cities' zoning codes from the 70s restrict development and drive up prices: [https://object.cato.org/sites/cato.org/files/serials/files/r...](https://object.cato.org/sites/cato.org/files/serials/files/regulation/2002/10/v25n3-7.pdf) . We ought to quit doing that.</comment>