Unlocking and jailbreaking are now legally protected in the U.S. - <AUTHOR> http://www.eff.org/press/archives/2010/07/26 <comment><USER2> Saying its "legally protected" is slightly misleading. Rather, it is not prohibited by copyright law and the DMCA. However, the manufacturers are free to use technological means to stop you from jailbreaking, to refuse to provide service for jailbroken devices, and to use other legal means besides copyright/DMCA such as contracts to stop you.

Law is often tri-state. For instance, at one time it was not legal to sell property to black people in certain neighborhoods in the US, because of legally binding covenants. This is the first state: prohibited.

The law was changed so that such covenants were not enforceable. However, that didn't mean black people could _actually_ buy property in those neighborhoods. The property owners were still free to refuse to sell to black people. This is the second state: not prohibited.

The law was again changed, so that discrimination in real estate on the basis of race was illegal, and a seller could get in trouble if the seller used race to decide who to sell to. This is the third state: protected.

<comment><USER3> There IS a 4th status: undefined. If there are no laws on a specific something, then it is open for interpretation. A judge may use existing case law to rule that a specific something is merely an extension of an existing something (eg, email vs. snail mail), but until that ruling (and depending on the jurisdiction), that something is in a legal gray area.

<comment><USER4> Is this really a grey area? If there is no law on a particular topic, how does it differ from merely being 'not prohibited'?

<comment><USER5> That depends on whether you're talking about statute or common law. With statute law, no law does mean "not prohibited". With case law it does not: the courts can and do make up new law to fit the facts.

Lack of case law affords no protection. It just makes it hard to predict the outcome in advance.

<comment><USER4> Well, if there are no statutes nor established case law precedents that apply to or can be extended to a particular situation, any cases would be more a matter of equity than law. And neither common law nor equity rulings apply a priori; a case must be brought to the court after the fact in order for the court to make a ruling on it. Common law also requires _mens rea_ for any action to be considered an offense.

So even in a situation where a court would award damages if a case was filed and malicious or negligent harm were proved, I'm not really sure it makes sense to say that anything was "prohibited" in advance.

<comment><USER5> Not prohibited != can be done without legal consequence.

New torts are invented, albeit rarely. Every so often there's a new duty of care in negligence. There are, I'm sure, other examples and the point is this: the lack of case law wasn't much help to the first defendant to lose on that point.

</comment></comment></comment></comment></comment></comment><comment><USER6> According to an attorney on Twitter, although it's now legal to jailbreak an iPhone, Apple can still state it's a violation of their warranty and deny service -- as recently seen with someone who jailbreaked their iPad (which heated up) and was denied service: <http://snurl.com/zv7gc>

<comment><USER7> If, somehow, hardware manufacturers _were_ required to extend warranty coverage to unsanctioned modifications, we'd see a lot of push-back against this in the near future. The extra burden to vendors would make a good argument against it, but the great thing is that as it stands, it's hard to argue against this without sounding anti-consumer.

<comment><USER6> This is getting a lot of play in the MSM. TV news is even talking about it -- local, not just network (just like Consumer Reports and the iPhone 4 antenna). If this leads to a lot of people jailbreaking, I wonder if this could lead to a growing alternate market for iPhone apps vs the App Store.

<comment><USER8> Unfortunately, the App Store developer agreement means that devs can't sell on Apple's App Store if they ever use a third-party store.

</comment></comment></comment></comment><comment><AUTHOR> This is an enormous ruling. The full rulemaking order, which includes additional protections for DVD ripping and other things, is here:

<https://www.eff.org/files/filenode/dmca_2009/RM-2008-8.pdf>

</comment><comment><USER9> What does this mean for eFuse, on the Droid x/2 phones, which is supposed to protect the system from unauthorized updates?

edit - Why was I voted down? Is it bad to ask questions? I thought others might be curious about this too. (BTW, thanks for the answer.)

<comment><AUTHOR> Nothing in this ruling (based on my relatively quick read) stops companies from implementing countermeasures. It's not illegal to make it hard to do something legal; for example, DVDs are protected by CSS, which although it's laughably easy to break, does stop you from exercising some of your fair use rights (which this ruling also recognizes).

Whether companies can implement things like eFuse or whatever is generally the realm of antitrust law, which is another ball of wax entirely.

</comment></comment><comment><USER10> Finally, now I can stop worrying about a cop seeing that my iPhone is running on T-Mobile....whew!

<comment><AUTHOR> It's more that now legitimate businesses can do these things without fear of legal action. It's legal now for Google to post a custom app on the web that unlocks your iPhone and installs Google Voice. It's legal for T-Mobile to unlock your iPhone for you.

These things have existed on the grey market for a while, but legitimate businesses can't trade in such things. Now they can.

<comment><USER11> Curious as to why this wasn't possible before, seeing as you could buy an unlocked phone from Apple?

Edit: I think I'm confusing jail breaking with just untying a phone to a carrier. You can, of course, buy phones untied to a carrier already from Apple. However, you must still install apps via the App Store.

<comment><USER12> Apple's not going to sue itself. So they can of course unlock their own phones (barring a contractual restriction with AT&T or similar).

The change means that, i.e., Google, or TMobile, or some other legitimate competitor to Apple could use jailbreaking or unlocking as a competitive strategy in a way that Apple wouldn't like. For instance, Google could operate their own app store, and consumers could use Google software to unlock their device and install Google's app store.

While Apple does offer unlocked phones in some countries, they typically don't do so willingly. All of the unlocked phones that I am aware of come from countries that forbid locked phones to be sold.

</comment></comment></comment></comment><comment><USER13> Would someone like to sell me a Canadian iPhone 4?

</comment><comment><USER14> I'd guess this really isn't proven law until it survives a lawsuit escalated to the supreme court.

(and given their decisions lately, I'd rather not see this particular court address these issues)

<comment><USER8> "Proven law"? The DMCA explicitly calls for these rulings to be made every 3 years. If the rest of the DMCA is "proven law," then so is this ruling.</comment></comment>


Show HN: Vixl44 – Create pixel art inside your terminal using vim movements - <AUTHOR> https://github.com/sebashwa/vixl44/ <comment> v-yadli Brainstorm: what if we really make a vim plugin for pixel art?

I see this to be hugely practical. It will enable rapid charting in source code documentation, and also, solve the table formatting problem once and for all.

Edit: shapes? Patterns? Gradients? Dithering? (Think about cacao) lasso tool? Semantic movement? Like, w moves over all reddish blocks

<comment><AUTHOR> Wow, I never of this being practical in vim. That's an awesome idea! Although I'm not sure it would be 'high res' enough to work for inline code documentation.. If that is what you meant?

Also I love the idea of semantic movement, I'll definitely put it on my feature-list!

<comment> v-yadli Yes, for example if we can do tables with color-background text, it would save columns to draw the column boarders. :)

Even if we go with monochrome charts, it will be super useful for describing data structures and visualizing algorithms.

Also, looking forward to the semantic movement implementation!

</comment></comment></comment><comment><USER2> Next up: tell inexperienced people to try to exit Vim and use it as entropy source for random number generation

</comment><comment><USER3> This looks pretty cool! Pens/mice are great for analog style art (digital painting and the like), but for highly discrete art like pixel art a keyboard looks to be a much better interface at first blush.

</comment><comment><USER4> Nice. Reminds of the ANSI Art I would see on a BBS back in the day. Is there a way to export the art so that it could be printed in the Terminal. Would love to add some art to some scripts

<comment><USER5> I have worked on libraries for images in terminals [[https://github.com/fenwick67/term-px](https://github.com/fenwick67/term-px)] but I never thought to make a simple image import / export tool so you could just `cat` the file to show it in a terminal. Now you gave me a weekend project.

<comment><USER5> For those playing at home, I just made this work:

[https://codepen.io/fenwick/full/oGVQNX/](https://codepen.io/fenwick/full/oGVQNX/)

<comment><USER6> It might be worth using the none standard but we'll supported true colour ANSI escape sequences. You'll get much better output that way (I've done lots of experimenting with images in the terminal and I found that gave me the best output and more reliably then the other ANSI hacks that are limited to only supporting one specific terminal emulator)

</comment></comment></comment></comment><comment><USER7> It would be great to have some buttons in C-v mode to "y, p, x" ... and maybe you could (ab)-use %/* while in visual mode to allow rotation or flipping?

Love it!

<comment><AUTHOR> Thanks for your comment! Yanking is one of the features I want to implement next! Something I already missed when drawing the first pictures or so!

Cool idea to use %/* (or similar) to rotate/flip stuff! I only thought about replacing a certain color with another using %s/

<comment><USER7> Also if you every played "adom" using "w<motion.hjkl>" could "word-ish" to the next color in that direction. I don't know how much you're still messing with it, but it's a fun problem to think about... transferring useful Vi motions and commands into a new problem domain.

</comment></comment></comment><comment><USER8> I think gvim already supports colour rendering of x pixmaps which double as C source code.</comment>


Takeover.sh: Wipe and reinstall a running Linux system via SSH without rebooting - <AUTHOR> https://github.com/marcan/takeover.sh <comment><USER2> Seems easy, use pivot root.</comment>


The rise and rise of the cognitive elite - <AUTHOR> http://www.economist.com/node/17929013?story_id=17929013 <comment><USER2> Well, that sucks for us normal people. Perhaps in a hundred years, the cognitive gap will be so large that there will be little meaningful interaction between the two groups.

I wonder who'll do the boring middle management tasks then. Perhaps those people who can do mild intelligence, repetitive tasks will then be the highly paid ones, seeing as all the geniuses will have a lot of competition.

<comment><USER3> If the geniuses have a lot of competition, then they're not geniuses anymore now are they?

And besides that, who says there aren't already highly-paid repetitive jobs requiring mild intelligence? Accountants and lawyers come to mind (people from both of these fields tell me they really don't require a whole lot of intelligence and are pretty repetitive (although the accountants are quick to point out that it's not _as repetitive_ as you probably think)).

<comment><USER4> It's worth noting that part of the wage of lawyers and accountants is monopoly rent extracted by strict licensing requirements that put hurdles in the way of potential competitors. It doesn't matter if you can pass the bar or the accountancy exams, most states will require that you also get a college (or post-college) degree.

Credentialism keeps competitors and innovation out of fields like medicine, accounting, law, and taxi services, maintaining high prices and high wages.

</comment></comment></comment><comment><USER5> This seems like a lot of hand-waving to try to justify outrageous situations like those on Wall Street getting huge bonuses via government handouts; no one begrudges athletes and celebrities their money, they are paid by the market.

<comment><USER6> Erm, there's another difference too: atheletes and celebrities do not have their money tied to power; bankers do. When was the last time celebrities and atheletes tried to get their friends into positions of power?

</comment></comment><comment><USER7> Richard Herrnstein and Charles Murray called it back in 1994 - [http://www.amazon.com/Bell-Curve-Intelligence-Structure- Pape...](http://www.amazon.com/Bell-Curve-Intelligence-Structure- Paperbacks/dp/0684824299/ref=sr_1_1?ie=UTF8&qid=1297035491&sr=8-1)

</comment><comment><USER8> just like to point out that IQ is not correlated with wealth _when educational attainment is corrected for_. that is, smart people without degrees don't do that well on average, contrary to the anecdotes.

<comment><USER9> Do you happen to remember any citation for this?

<comment><USER8> looking for it now, someone pulled data from the GSS and did a regression.

</comment></comment></comment><comment><USER10> Summary: They debunk some statistics that claim that inequality leads to various social ills but themselves make the far-less supported implications that there is something "cognitive" about those individuals who now have a large portion of the world's wealth - especially, it's a far leap from statistics indicating those with a university education are paid more to the implication that smart people get paid more.

For however little we understand these things, their claims might be true but what stands-out is the distinction between the standard they hold the critics of inequality to and the standards they hold their sort-of-pro-inequality stand to.

<comment><USER11> Take note of this quote from the article:

"And their findings about teen births, women's status and innovation depend on Scandinavia, a region with a mild and sensible culture that is equally evident among people of Scandinavian stock who live in America."

The whole thing is basically an elaborate rationalization of racism through the cliche of social darwinism. As much as I dislike stupid people, I hate social conservatives even more.

<comment> m-photonic I don't know, to me it looks like the bit about Americans of Scandinavian stock is just a throwaway line that has nothing to do with the point they're actually making, which is that the observed correlations are mainly just a product of the fact that there are a few countries with low levels of inequality that also happen to be exemplars of things like high life expectancy or women's rights.

I don't think they're actually making any racial arguments in this article. When they do mention race later on, it's to make the point that the correlations of social problems with inequality don't have any more inherent explanatory value than the correlations with race.

<comment><USER11> "I don't know, to me it looks like the bit about Americans of Scandinavian stock is just a throwaway line that has nothing to do with the point they're actually making"

Then why go out of your way to use such a contentious statement? Why mention this later on: "race is a far more accurate predictor of murder, imprisonment and infant-mortality rates"? What does this have to do with the "cognitive elite?" This is just "fuck niggers, heil nordic ubermensch" stated in different terms.

Both the agendas of that article (racism and classism) can much better be explained by the growing gender divide:

[http://www.theatlantic.com/magazine/archive/2010/07/the- end-...](http://www.theatlantic.com/magazine/archive/2010/07/the-end-of- men/8135)

Women are better in the knowledge economy than men, and sex is a much better predictor of murder and imprisonment rates than race.

</comment></comment></comment></comment><comment><USER12> Cognition is enhanced the more it's used, well I believe even repetitive jobs have room for innovation...

<comment><USER13> If it's repetitive, it can be automated (to varying degrees).

</comment></comment><comment><USER14> In the past I've mentioned that I lack the talent that many of you have and I was rebuked. However, when the economist says something similar I don't see such protests. Why?</comment>


Show HN: Zod – TypeScript-first validation library with static type inference - <AUTHOR> https://github.com/vriad/zod <comment><AUTHOR> Creator of Zod here. I wrote up a blog post comparing Zod to the other popular object schema validation libraries (yup, io-ts, joi): [https://vriad.com/blog/zod](https://vriad.com/blog/zod). I don't address the various JSON-Schema validation libraries since none of them have static type inference, which is (imho) the killer feature.

<comment><USER3> Looks really cool! We're currently using io-ts, and the one thing that bugs us the most is it's less-than-optimal error-reporting. Especially for complex/nested objects, the error messages produced are pretty much useless. The functional aspect of it is something that we kind of got used to - <USER2> mostly hide by having a few wrapper-functions.

Will look into it!

<comment><USER4> Just published an update to Zod that overhauls the error reporting. Now you can get the exact location in your complex/nested object where each validation error occurred. Plus all detected validation errors are reported simultaneously instead of just throwing an error at the first sign of trouble.

If you decide to switch to Zod keep me posted and don't hesitate to reach out with any feature ideas</comment></comment></comment>


A Patent Lie - New York Times - <AUTHOR> http://www.nytimes.com/2007/06/09/opinion/09lee.html?ex=1339041600&en=a2f3d8f1f3cfcb61&ei=5090&partner=rssuserland&emc=rss <comment><USER2> I disagree. People who write about patents in software industry often fall into habit of calling everything a software. While in reality software is just a language to describe a computational formula (algorithm).

I can easily see someone taking years of their time and personal money invested into (for instance) image recognition research and comimng up with a truly remarkable alrotithms capable (dreaming here) of automaticaly driving cars or instantly recogizing a criminal's face looking over thousands of people enter an airport terminal.

And I can see some other company either reverse-engineering the code or just looking into it (if it's open source) or hiring a couple of your engineers and doing _exact_ same thing without spending a dime on research.

In fact, this happens all the time with universities. They get grants and other kinds of money to conduct research only to see their professors and grad students leaving and doing the same thing on their own.

But frankly, I can't suggest anything. Patents shall not be granted for obvious things, but defining "obvious" will not be easy.

I am guilty myself, the company I used to work for filed for two patents with my name on them. While in reality they were trivial (obvious) applications of XML to UI builders. Patent lawyers felt otherwise though.

</comment><comment><USER3> Defense is the best attack.</comment>


Cocaine found on 99.9% of UK banknotes - <AUTHOR> http://www.theregister.co.uk/2007/01/08/banknote_survey/

<comment><USER2> From a related article:

"... most recent survey carried out in the US showed 65 percent of dollar notes were contaminated with cocaine. "

[http://www.rsc.org/aboutus/news/pressreleases/2007/cocaineba...](http://www.rsc.org/aboutus/news/pressreleases/2007/cocainebanknote.asp)

</comment><comment><USER3> Hmmm, sounds like a growth industry

<comment><USER2> yay

</comment></comment><comment><USER4> Probably not exactly hacker news, but interesting that this isn't just some urban legend.

<comment><USER5> From my experience certainly not a legend. Myself and some friends were checked for cocaine by the police last week and we asked them to scan our bank notes to see if this was a legend or not. About half the notes had traces.</comment></comment>


Securing and Hardening Red Hat Linux Production Systems - <AUTHOR> http://www.puschitz.com/SecuringLinux.shtml

<comment><USER2> good info. I suggest also looking Bastille linux and SE linux, and the Oreilly book "Network Security Hacks"

[http://www.amazon.com/Network-Security-Hacks-Protecting- Priv...](http://www.amazon.com/Network-Security-Hacks-Protecting- Privacy/dp/0596527632/)</comment>


Ask HN: Review my startup, bcontext.com - <AUTHOR>

Hi there!!
This is my first post here and I would really appreciate to hearing your feedback about our startup, bcontext.com.
In brief, we developed an iPad app that allows users to add narrative and hand writing notations to static documents (such as PDF, PPT, or any image), easily transforming complex ideas into engaging multimedia communications.
After a year of work, we think we reached the point of viable product.
Feedback on UI (app and web) would be greatly appreciated as we think is our weakest point.
Right now the product is free for social users. We charge for storage and private sharing capabilities once users upload more than 100Megs to our servers. At the same time we developed a Facebook app called "What We Do" to allow startups to describe their products for free in their Facebook pages. Please check this link http://bit.ly/OWcFOh to see our app in action and have a better idea of how the end files looks like.
Thanks a lot in advance <comment><USER2> As someone whose favourite apps ate Skitch and Evernote (on iPad), I loved your product. Annotating a doc, and then sending an email, and then searching in my sent emails on desktop, has always been a pain. Skitched solved it to a great extend, but it was limited to just images. I think your product is a great tool, for users like me.

You pricing needs some reworking, as I think you are undercharging.

Best of luck with bcontext.

<comment><USER3> Thanks a lot for your feedback... You think the pricing is low for our monthly premium account or we are giving too much for free?

<comment><USER2> Its better to give away for free than undercharge. Why dont you give 30 or 60 days free trial instead.

Give away discount coupons on sites like appsumo. But undercharging might set you back. I think pricing should be based on value pricing.</comment></comment></comment>


YC reject ourdoings.com navigation overhaul -- big improvement? - <AUTHOR>

<comment><USER3> Plans seem pricey. What about using Amazon S3, and marking up what they charge by 50%? This will reduce your prices (and costs) significantly.

My other immediate question is, how are you different than SmugMug? SmugMug costs less than your "Gold" plan, and seems to offer more features / space.

For those that don't want to pay, flickr offers to host 200 high-res photos, how does this compare to bronze / free plans?

I understand the differences you've outlined on <http://ourdoings.com/about.html> \- but it seems that competing services offer most of this as well.

Find what differentiates your service, and focus on that.

<comment><AUTHOR> Amazon s3 is something I plan on using this summer to bring price down. The responsiveness of the service isn't good enough for me to just throw all images into it, but just putting the full-size printable versions in s3 could be used to cut costs a lot.

How it's different from other services becomes obvious in the demo; sorry I broke it, but take a look now. You'll see that how the photos are organized and presented is different from all the other sites. I think it's much more suitable for people whose photos tell a story, e.g. kids growing up or people traveling.

I used to have much more text on the "about" page that explained differences, but I ruthlessly cut it down because people don't read.

I used to not have a pricing link on the front page, but everybody asked how much it cost. Generally people new to photo sharing exclaim how cheap it is. And it is cheap. I charge by usage, not by limit, so it can be _very_ cheap if you're not using a lot of space.

I'm very focused on simplicity. Existing photo sites are focused on the photo enthusiast, who will be spending a lot of time on each individual photo anyway. People with little time but lots of photos will benefit most from ourdoings.com.

</comment></comment><comment><USER4> Dude, you _seriously_ need to hire a designer. It makes _all_ the difference in the world. Bad design will make an excellent product flop, and yes, your site is badly designed.

I hired a good romanian designer on rentacoder for $160 and he gave me an excellent photoshop mockup. Hired another guy for $50 and he converted the the mockup into neat cross browser compatible html.

Do the same, because your design sucks. EVERYONE thinks they are good at user interfaces, in reality, about 1% of programmers do it properly. Why do you think so much software is so difficult to use?

Oh and by the way, EMPHASIZE how you are different from all the other photosharing sites. Make sure everyone knows about the picture story part of your app. Let them not think it's just a regular site like flickr.

And reduce your prices. You are way above current market prices with a worse product. I hope you've bloody got an excellent marketing team, otherwise you're in for some floundering.

<comment><USER4> And WAY too much text all over your site. One simple command is all that people will read. If you want me to recommend a designer to you, I can do so.

</comment></comment><comment><USER5> I got the following error:

Error Argument to 'cdr' has wrong type

Additional debugging info: (more...)

Tue May 15 23:44:32 CDT 2007

Argument to 'cdr' has wrong type at gnu.expr.GenericProc.applyN(GenericProc.java:72) at gnu.mapping.ProcedureN.apply1(ProcedureN.java:29) at atInteractiveLevel$frame.lambda1info(Unknown Source) at atInteractiveLevel$frame.apply1(Unknown Source) at gnu.expr.ModuleMethod.apply1(ModuleMethod.java:85) at atEvalLevel.lambda1(/usr/local/jetty-6.1.3/webapps/bigsite/WEB- INF/tpl/whatnext.html:1) at atEvalLevel.apply1(/usr/local/jetty-6.1.3/webapps/bigsite/WEB- INF/tpl/whatnext.html) at gnu.expr.ModuleMethod.apply1(ModuleMethod.java:85) at gnu.brl.progfun$frame1.lambda3(progfun.scm:276) at gnu.brl.progfun$frame1.apply1(progfun.scm) at gnu.expr.ModuleMethod.apply1(ModuleMethod.java:85) at kawa.standard.callcc.apply(callcc.java:19) at kawa.standard.callcc.apply1(callcc.java:44) at gnu.brl.progfun$frame0.lambda2(progfun.scm:272) at gnu.brl.progfun$frame0.apply1(progfun.scm) at gnu.expr.ModuleMethod.apply1(ModuleMethod.java:85) at kawa.standard.call_with_output_string.apply1(call_with_output_string.java:10) at gnu.brl.progfun.brlResult(progfun.scm:269)

brl servlet 2.2.2pre

<comment><AUTHOR> Fixed.

</comment></comment><comment><USER6> Since it photo-sharing site, I really think you need to invest in a designer to improve the look and feel. You need to come up with a logo....

</comment><comment><USER7> <http://ourdoings.com/whatnext.html> \- Error Argument to 'cdr' has wrong type

<comment><AUTHOR> I really need a good regression test. I tested the demo after I changed it, but later I made non-demo changes and didn't test how they affected the demo. Actually as I made the change it should have occurred to me how it would affect the demo. I need more sleep.

I fixed the demo early this morning. Please have another look.

</comment></comment><comment><AUTHOR> I have another iminlikewithyou invite to reward good feedback, or you can just do it for karma.

Please go through the demo and see if it's easier now than last time I asked for feedback.

I've also added an ad-supported option. There may be kinks. Please try it.

This site is implemented with Scheme as the language and Java as the platform. I use PostgreSQL 8.1. I'm curious as to who else has any of these elements in common.

With Paul Buchheit inquiring about how to simplify upload of image files, I'm concerned that some tough competition in the "amazingly simple photo sharing" space may be on the horizon. Any feedback would be super helpful.

<http://ourdoings.com/>

<comment><USER8> Just a quick list of impressions on seeing the site, don't want to sound really negative, just trying to convey my thoughts quickly.

No direct login on front page. Front page is very busy. I would put the "ourdoings" image at the top, and drop the "ourdoings.com" title. Its just a lot of raw data. Don't really care for the use of hyperlinks on the frontpage. Seems like it is pushing pricing a bit too early, I don't know anything about your product, and you are talking to me about money, I feel insecure ;) Need backwards links, for example on registration page I want to go to your front, but it has no link to do so. As noted above. Front page - Tutorial - <USER2> leads to a crash.

I assume you are using SISC scheme on top of the JVM, which seems fairly reasonable, but I'd take a quick look at liftweb.net , which is a pretty pleasant scala web development environment (it isn't Lisp or Scheme, but I think Scala is pretty decent to look at (once you get over typing functions...), and being able to grab Java libraries is pretty handy, although SISC is giving you that too, the Scala syntax for doing it is dead simple).

<comment><AUTHOR> Quick impressions is what I'm after. Don't worry about sounding negative.

Your feedback on the front page is definitely useful. The only part of your feedback I'd push back on is taking pricing off. Everybody was asking me how much it cost before I put that there.

I'm using the Kawa Scheme compiler, which on some benchmarks was 200-300x faster than SISC, the fastest interpreter. I don't need to bring in Java libraries all that often, and Kawa's FFI syntax is plenty good enough for me to quickly write a Scheme API, as I'm sure I'll do with s3. Basically all I'm doing is translating form inputs to data, and data to HTML, with escaping where appropriate and lots of conditionals. I've already got the perfect language for that.

I fixed the demo early this morning. Please have another look.

</comment></comment></comment><comment><USER9> I am going to be frank: Don't think "YC Reject" is going to save you. I would reject you too.

Your site still sucks. "MAKE SOMETHING PEOPLE WANT" I don't want a shitty photo sharing site. Have you used smugmug, flickr and even picasa web albums (my current favorite). These sites are close to perfect and you will NEVER catch up with them. They are easy to use and I don't think it can egt any easier.

Change you business plan/application to do something else. Do social networking -- (jokes)

PS: Keep your invites

<comment><AUTHOR> If those photo sharing sites are close to perfection for you, that's fine. They aren't at all what I want. I want to mix text and photos to tell a story chronologically:

<http://ourdoings.com/ourdoings-demo-stock/>

It's a mistake to look at photo sharing as a single finish line that these various sites are racing to. Different people will have different purposes for sharing photos, and these will lead to different sites. For example, Smugmug didn't have an email updates feature with embedded photos for more than two years after ourdoings.com had it. This is not because Don is a slow racer; it's just that that feature has less appeal for his user base than it does for mine. He's not trying to catch up with me; I'm not trying to catch up with him. There are millions of people out there whose photos sit on their hard drive never to be seen. I think a lot of those people would be best served by doing what I've been doing for years on ourdoings.com with my own photos; I just want to make it accessible to them.

<comment><USER9> "I want to mix text and photos to tell a story chronologically" - Is that not the same as comments or a photo blog.

I am sorry for being so negative, but I just can't see this going anywhere. Also it doesn't seem like you take people's advice. Your site still have loads of text painfully explaining stuff. In the past nearly everyone said the same things they said here.

Do a better design. Drop the text. Make it intuitive/easy to use.</comment></comment></comment>


PayPal using EU rules to require user phone numbers - <AUTHOR> https://www.paypal.com/uk/webapps/mpp/psd2-new <comment><USER2> PayPal also removed the option to opt-out of currency conversion. We are now forced to use their currency conversion which I'm sure is stacked against the user. Scummy. My credit card waives the conversion fee and I'd much rather use that directly.

The primary reason I used to prefer PayPal was the fraud protection. That's also moot now. I was scammed by an instagram ad that purported to sell a cycling gear. Even after I reported it they never blocked the site from accepting PayPal. The scam was so obvious but they made me jump through hoops to file various complaints with various law enforcement agencies to refund my money. Save yourself some pain and stop using PayPal.Edit: It's still active: [1]

[1] [https://iridesce.shop/products/make-your-bike- smarter/](https://iridesce.shop/products/make-your-bike-smarter/)

<comment><USER3> > PayPal also removed the option to opt-out of currency conversion.

I managed to pay in the seller's currency recently, though I did notice a while back that the UI had changed and it took some digging to figure out how to do it.

Or is this perhaps a country-specific thing? I'm in the UK.

</comment></comment><comment><AUTHOR> When logging in to PayPal now, they require all users to give their mobile phone number due to new EU legislation. With no "skip" option, as there has historically been.

The light text, hard to see disclaimer at the bottom of the form _requires_ people to agree their phone numbers can be used for marketing purposes.

They're misusing the EU legislation for nefarious purposes.

<comment><USER4> [https://en.wikipedia.org/wiki/Cobra_effect](https://en.wikipedia.org/wiki/Cobra_effect)

</comment></comment><comment><USER5> PayPal has always used scummy tactics like using their EU banking license and declaring themselves a payment processor at the same time to get all advantages and avoid all disadvantages of both.

</comment><comment><USER6> Time to cancel the PayPal account. Haven't used it more than once every 1-2 years anyway.

</comment><comment><AUTHOR> Hang on, someone's changed the title I submitted this with, removing the most important point.

ie: PayPal is misusing the EU rules, for spamming purposes.

@dang Please change the title back.

</comment><comment><USER7> The same contrived reason why Twitter and Facebook required mobile numbers for setting up 2FA.

<comment><AUTHOR> Yeah, the PayPal version seems to be SMS-only 2FA too, so potentially reducing security in some circumstances. :(</comment></comment>


Thoughts on Python 3 (2011) - <AUTHOR> https://lucumr.pocoo.org/2011/12/7/thoughts-on-python3/ <comment><AUTHOR> I figured it might be interesting to submit this again given recent discussions about Mercurial's Python 3 port. This blog post of mine is very old (from 2011) and a lot of what's in that blog post is no longer at all relevant.

However I think it's quite interesting to remember what we started out with.</comment>


The next American revolution will be televised - <AUTHOR> https://spectator.us/next-american-revolution-televised/ <comment><USER2> >asking the president of Ukraine to investigate a rival for political reasons goes against everything that Washington has been promoting in the developing world for decades: the rule of law and the independence of the judiciary.

Besides the obvious fact that "being a political rival of the president" is not, has never been, and should not become a reason to be above the law, the author clearly hasn't been paying attention to what the US government has actually been doing. Was the invasion of Iraq really about promoting democracy? Was Operation Timber Sycamore about promoting an independent judiciary in Syria? Is backing the coups in Turkey and Venezuela about promoting the rule of law? Obviously not. The US uses that language to subvert other countries for its own geopolitical interests.

The author appears oblivious of what his titular song actually refers to. If your revolution is promoted by the existing power structures then it's not a real revolution. The center left manufactures credibility by pretending to fight a revolution against the center right despite effectively sharing power with them.</comment>


US lead on AI will shrink without more funding and education - T-A https://www.engadget.com/2016/12/01/us-lead-on-ai-will-shrink-without-more-funding-and-education/ <comment><AUTHOR> [https://gist.github.com/tzmartin/977a05f3902c227c98faa5edfac...](https://gist.github.com/tzmartin/977a05f3902c227c98faa5edfac699e0)</comment>


Why Isn't Programming Futuristic? - <AUTHOR> http://www.ianbicking.org/blog/2013/10/why-isnt-programming-futuristic.html

<comment><USER3> I'm of the opinion that the way we interact with code is flawed. This author touched on it when discussing text dumps. I agree with the author that little time is spent modifying large modules of code (something NoFlow[1] is trying their hand at).

However, I think these text dumps we work with should be organized differently. As it stands, we interact with code on a file-by-file basis. But any programmer knows that the execution path of a given program is rarely going to be contained within one file, and it's not going to execute from the top of the file to the bottom. Execution jumps from file to file, and programmers spend much of their time maintaining a mental model of these jumps.

I think this is the wrong way to program. I think execution path should be more easily accessible to a programmer, and they shouldn't have to navigate through function calls one "Go To Definition" at a time. This topic has become fourth year design project for myself and a few peers and we're trying to play with different representations of code on a function-by-function basis.

Here's a rough prototype we hacked together a few months ago: [http://www.youtube.com/watch?v=Bm38U40HL4E](http://www.youtube.com/watch?v=Bm38U40HL4E)

We've since integrated it into Visual Studio so as to retain Intellisense, syntax highlighting and existing plugin functionality. We're using Roslyn to gain insights into semantic information about the code.

[1] [http://www.kickstarter.com/projects/noflo/noflo- development-...](http://www.kickstarter.com/projects/noflo/noflo-development- environment)

<comment><USER4> For this specific aspect of the problem, you'll probably find some inspiration in code bubbles, debugger canvas, and Light Table. I implemented a prototype of the former in VS before I left MSFT, it later became the basis for the debugger canvas, and then Light Table happened.

[1]: [http://www.andrewbragdon.com/codebubbles_site.asp](http://www.andrewbragdon.com/codebubbles_site.asp)

[2]: [http://visualstudiogallery.msdn.microsoft.com/4a979842-b9aa-...](http://visualstudiogallery.msdn.microsoft.com/4a979842-b9aa-4adf- bfef-83bd428a0acb)

[3]: [http://www.chris-granger.com/2012/04/12/light-table--- a-new-...](http://www.chris-granger.com/2012/04/12/light-table---a-new-ide- concept/)

<comment><USER5> I remember seeing code bubbles when you released it and thinking it looked much more promising than the flow-based approaches to abstracting away code files that we usually see. NoFlow and the like tend to ignore the fact that:

1) The approach has been tried countless times before and failed.

2) Programmers don't need code abstracted away. Text is great for telling a machine what to do. The real pain point is in linking pieces of relevant text, something that OOP does pretty successfully, but still leaves some room for improvement.

3) Nobody has 25 feet of screen space to see an entire program on, and scrolling around over giant flows is a huge PITA.

4) Attempts to solve the screen real estate issues through collapsable nesting of flow paths usually lead the same incomprehensible rat's nests of logic that regular old code does.

5) Business people don't want to code, despite their fantasies of kicking all the expensive programmers to the curb. Computers usually do exactly what you tell them to, and talented programmers are different than your typical business people in that they have a knack for taking high level requirements and turning them into highly complex, low level implementations. Someone who has no interest in this sort of work will ever be any good at it IMHO.

6) Building flows requires 99% of the implementation to already be complete. Stringing together prebuilt modules with if/thens is not that difficult or unreadable in textual code anyway.

<comment><USER6> Regarding (3), I think if you need 25 feet of screen real estate in a graphical environment, then your code is probably not organized well, regardless of whether it's textual or graphical.

Regarding (1), I think we need to understand _why_ it's been tried and _why_ it's failed. Knowing that it's been tried before and failed should be enough to make you skeptical, but it shouldn't be enough to outright reject something unless it's a copying an old idea wholesale. That said, I think NoFlo specifically has very few new or interesting ideas.

</comment></comment></comment></comment><comment><USER7> For the specific case of traversing objects (well, let's say data types), I think Haskell's lens library is the ultimate modern example. In fact, I think it basically covers everything he asked for in that section and more. It's quite a large library, for better or worse, so it really is complete.

People have called it a "jQuery for data types", and that isn't such a bad description. It allows you to uniformly interact with nested records (similar to objects), collections and variants (values chosen from a known set of possibilities--sum types).

It's systematic, modular and surprisingly powerful. Of course, like many powerful abstractions--including Haskell itself--it takes a bit of up-front effort to learn, but it's more than worth it.

<comment><USER8> Does lens have a succinct way to traverse a nested data structure where each node is a maybe?

Lenses + Prisms (nicest way I know of in lens):

nested ^? foo . _Just . bar . _Just . baz . _Just

vs. the Maybe monad:

foo >=> bar >=> baz $ nested

<comment><USER9> That's the nicest I know as well. You could use `mapped` instead of `_Just` to make it more generic

        nested ^? foo . mapped . bar . mapped . baz . mapped

Which is also a bit closer to the nature of `>=>` chaining. I actually really like the _Just descent since it makes some of the failure modes for this lens very explicit.

And then it should always be said that the lens has setter properties that the `>=>` chain does not.

</comment></comment></comment><comment><USER10> Anyone who thinks we're using programming technology of the 70's probably wasn't programming in the 70's. Today it's routine to create systems in a handful of days that would have taken a larger team a much greater amount of time to create in the 70's, 80's, 90's, or even 00's. In fact, for years now, power users do certain kinds of applications with spreadsheets and similar tools-- without programmer intervention-- jobs that were previously handled by systems analysts and development teams.

Interfacing different kinds of computer systems together today is orders of magnitude simpler than it was even in the 90's, much less the 70's.

Sure, we're not all talking to our computers while they program themselves and driving around in flying cars. But software development technology has come a long, long way. Users are tons more empowered to do their own work now than they used to be. And the amount of knowledge and training needed to make a developer effective today is nothing like it used to be.

<comment><USER11> C and Unix were invented in the 70's. Yes, things have improved a lot in the meantime, but underneath, it seems like a lot of the really basic paradigms are the same. We're mostly typing imperative code into a plain text editor, saved in a disk file in a tree-shaped filesystem, that probably runs on a Unix-like system. Maybe Windows, but in the space of all possible operating systems/environments, they're not that far apart.

<comment><USER12> I'm starting to think that the reason we keep building tree-like data structures is because that's how our minds work. We can intuitively grasp hierarchies of categories (a tree structure), with the occasional exception (a symlink to another location).

Because we intuitively see the world in this way, we are good at building and maintaining systems that work in this way.

Anything more sophisticated than that (algebra, relational databases) requires a lot of study and practice to get good at.

<comment> loup-vaillant > [Maybe] the reason we keep building tree-like data structures is because > that's how our minds work.

No. That's how _physical space_ works. When you're a library, and you need your user to be able to find the books, you don't have a choice: any given book must be in _one_ shelf, in _one_ alley, in _one_ room. And bam, you have a tree hierarchy that is three levels deep.

But our minds are better at dealing with tags. Just see how popular they are in blogs. I bet that a tag based file system would be vastly better at storing personal data than a hierarchical one.

<comment><USER13> I spent sometime yesterday thinking about what queries I would like a filesystem (layout) to be able to answer.

-installed programs

-files installed (except configuration) by a program

-files installed (including configuration) by a program

-libraries

-a users personal files (including configuration).

-all files except bare bones install

-all files

-files on a specific hard drive

My conclusion was that my preferred layout would be

/os/ \- bare bones install

/home/ \- users files

/home/im3w1l/.conf/firefox - my configuration for firefox

/programs/ \- installed program and libraries

/programs/libfuse/.conf - configuration for libfuse

/programs/firefox/.conf/im3w1l - my configuration for firefox

C:/programs - installed programs on specific hard drive

And that if a file is deleted from one place it is deleted from all. So rm /home/im3w1l/.conf/firefox -rf

would be the same as

rm /programs/firefox/.conf/im3w1l -rf

But I think a general tagged system has some problems, most notable filename collisions. Adding a tag to a file could create a collision for instance.

<comment> loup-vaillant For me a basic tag based file system needs several things: A unique ID for files (a strong cryptographic hash of the contents is probably best), a name for each file, and a list of tags for each files. And of course, a number of logical volumes on which the files are "located". Where a directory structure is actually needed, files could have special names, like "/os/glad/file_42" (that's a _name_ , not a path).

A variation on this theme would be to do away with explicit names altogether, and only use tags. The "name" of the file would just need to be reasonably unique. That one is probably best.

Now, when you search for a file, you just query for tags. Can also be done through the shell: it's just that those two commands would have the exact same effect:

      cd /foo/bar
      cd /bar/foo

As for the volume, you need them to transfer files between your USB key and your computer.

Oh, thinking of using cryptographic hashes to name files… When you modify the file, the ID changes as well… that's a _new_ file! By default, the old version should still be around. Imagine that: Git for the masses.

</comment></comment></comment></comment></comment></comment><comment><USER14> I think the explanation for this is relatively simple:

The obvious is that the low hanging fruit has been picked, so of course the rate of change is going to decrease as the problems get larger and harder to solve.

The less obvious is the massive influx of users for these languages/tools. There is an unavoidable regression to the mean related to ability/willingness to expend effort that comes from that influx.

In the previous era if you were involved in any way with programming you were, by definition, interested in pushing the boundaries. Now the majority are actively resistant to change like humans are with most things. This is their job, and changing how things work threatens their livelihood.

So why have the subset of people who are willing and able to do these things not doing them? I say some of them are doing it, but not enough to get a critical mass (at least a critical mass that would lead to the kinds of widespread improvements being discussed).

Obviously this is affected by the subculture I'm in but the most common reason I've encountered why these new ideas don't get traction is because it's considered a waste of time. Learning a new way of solving problems is time not spent spamming other social networks trying to increase signups to your social network. Growth Hacking is "getting shit done!", using some new technique that requires learning something new in order to be more productive is considered Ivory Tower bullshit.

Both Clojure and Haskell are communities I follow where there is real interesting futuristic work being done right now. But Node.js, with it's basis on callbacks is _way_ more popular. Even though everyone in the 70's agreed that continuation passing style was a usability nightmare for programmers and put a strict limit on the complexity a human using it could handle.

Looking at it another way: Programming is futuristic, it's just that most people are too lazy to bother and just stick with the older stuff that works the way they are comfortable with, then human nature kicks in and labels everything they don't do as "stupid waste of time".

<comment><USER15> Node.js is just full of Worse Is Better. I think there's a danger for more pure/forward-looking environments to look down on that, because there really _is_ some Better in it – I think the work done to get us forward is going to have to meld Worse Is Better with Actually Better.

</comment></comment><comment><USER16> Programming is futuristic in a 1950s sort of way. There's a classic Astounding Magazine cover from the era of a guy aggressively boarding a spaceship or something with a ray gun in his hand and a slide rule in his teeth.

In other words, it's not futuristic because we're not terribly good at imagining the future.

The guts of modern computing is based on the fundamental logical architecture of Von Neumann and others, work of the 1940s and 1950s. We may be building things in software that couldn't have been imagined back then, but we're building it on structures designed back then.

Look at the iPad and modern tablet computers, in many ways the pinnacle of the modern computer movement. Then look up Alan Kay's Dynabook, which he invented (conceptually) in 1968! We're just now catching up with his vision from 45 years ago.

<comment> vezzy-fnord Tablet computers the pinnacle? They're fairly generic from a conceptual point of view. Pretty much the straightforward logical evolution of computing, as size gets smaller and computational power gets higher.

Please don't mention the iPad as a pinnacle of anything. It is not. It is merely a rehash of old technologies packed into a slick exterior and heavily marketed. It is more a tool of social status than a utility. Compare this to the HP Compaq TC1100, which was a tablet computer released seven years before the first iPad and the specifications of which trumped those of the iPad by double.

As for being victims of a constrained Von Neumann mindset, perhaps so. On the other hand I haven't really noticed any non-Von Neumann languages that are too practical for human purposes. Languages like APL and FP are quite esoteric, compared to the straightforward, if theoretically lacking, ALGOL model.

<comment><USER17> > Please don't mention the iPad as a pinnacle of anything. It is not. It is > merely a rehash of old technologies packed into a slick exterior and heavily > marketed. It is more a tool of social status than a utility. Compare this to > the HP Compaq TC1100, which was a tablet computer released seven years > before the first iPad and the specifications of which trumped those of the > iPad by double.

The iPad is more than heavily marketed dribble; it was actually usable when compared to the TC1100, and basically "realized the dream" of tablet computing when predecessors couldn't: specifications are shit, usability is king. Engineers often don't get that.

> As for being victims of a constrained Von Neumann mindset, perhaps so. On > the other hand I haven't really noticed any non-Von Neumann languages that > are too practical for human purposes. Languages like APL and FP are quite > esoteric...

CUDA dominates the HPC world right now; MapReduce dominates big data processing. Vector machines and data-parallel pipelines have won big in their own domains. And I'm not even going to talk about relational database, all of which are very non Von Neumann computing models and have been very successful.

<comment><USER18> I had the TC1100, was able to pick it up cheap from liquidator of computers.

I had to figure out ways to undervolt the CPU so I could extend the battery. The battery typically lasted maybe 1-2 hours, but by undervolting I had gotten it to about 3. It was incredibly bulky and heavy, and it had no actual touch ability. It would heat up quite a bit.

Now the one good thing about it was it had a very accurate Wacom digitizer and man could it write notes. Shame there was never a good app for it.(OneNote maybe).

I think Microsoft took a cue from the way TC1100 provides a keyboard(not a shitty SurfaceRT one) that you can connect to and it's sturdy. Something I think the Surface is doing.

So overall not a usable device. My only question is that someone like Steve Jobs being around the same time never thought to release an Ipad at the time. I wonder why, did he think that the tech just wasn't ready hence not worth spoiling the user experience.

</comment></comment></comment></comment><comment><USER19> This is a sad discussion -- both the essay and here. Nobody has bothered to look back in history.

"You need to be able to inspect and traverse objects, all objects."

Smalltalk? Lisp Machines?

"There also must be a culture where proper extensions are regularly provided on objects. Powerful tools are built on powerful paradigms, and enabling a paradigm isn't the same thing as actually implementing it across a fully developed programming environment."

The MOP?

Are we doomed to keep on asking these questions again and again? An IT curriculum should include at least one unit where students are required to study the history of these things and write an essay.

<comment><USER20> Lisp and Smalltalk are not on the standard curriculum at most US schools. I know that GT used to offer an OO course (speaking of abandoning history, can't view old course webpages past 2008, and new ones are apparently hidden behind a student only portal) which used Squeak, it was a co-requisite of Software Engineering (circa 2003, don't know how it's changed since because I can't get to the pages). I wasn't introduced to lisp until I took a special topics course that used Common Lisp for AI in grad school. Ok, technically I used scheme before then in a survey of programming languages course, but 2 weeks exposure hardly counts. For various reasons I left GT about that time, and finished up elsewhere. I do know that in 2002 (2001?) they introduced scheme for CS 1301 (whatever the number changed to), but dropped it for python later (cheating scandal that year, something like 200 students caught in CS 1 and CS 2).

Speaking of, that PL course was probably the closest to a CS history course that I ever took. The only other courses that came close were ones where I deliberately sought out papers on algorithms (AI, graphics) that had been developed in the 70s/80s relevant to projects I was working on. Other students just brute forced their solutions taking advantage of the much faster hardware available at the time.

<comment><USER19> Ah right, you were luckier then I was.

I took an AI course at uni so that I could see some Lisp in action (and learn AI) but the bastard lecturers (2 of them) change it to ... JAVA! While still using the Norvig textbook that had the algorithms in LISP-y pseudocode. And with lead lecturer being a Vietnamese PhD who couldn't speak enough English to explain the most basic concept. 2/3 of the class flunked.

Way to go on your initiative to look for papers and context around your other courses! I bet the perspective it gave you has helped.

</comment></comment></comment><comment><USER21> Love the quote, "Phrasing problems in solvable terms is more effort than solving them." as to why Prolog didn't take off.

I'm surprised, however, given the talk about ASTs, that the article mentions nothing about LISPS and the notion of a language being homoiconic. Lot's of really awesome stuff happening in clojure that really does feel like the future (or the awesome past reloaded).

<comment><USER22> Right, any lisp is basically a readable (and with macros dynamically editable) AST. The author even suggests XML as a possible format, which is significantly more difficult to read and edit than simple s-expressions.

Checkout this article for more about lisp s-expressions vs XML. [http://www.defmacro.org/ramblings/lisp.html](http://www.defmacro.org/ramblings/lisp.html)

</comment></comment><comment><USER23> I can't help but feel this is an elaborate troll.

When I first encountered computer programming, we were still using line numbers. Now, about 20 years later, we've got Python and Ruby and Haskell and ubiquitous GC and… so many frameworks.

Programming is more futuristic than ever, and the tools available are continuing to evolve.

</comment><comment><USER24> If you discard the idea of working with objects, and instead work with data structures directly, you get generic querying and transversal for free.

A lot of these points look like they're solved by Clojure, but Clojure is my hammer, so perhaps it's cognitive bias that these look like Clojure-shaped nails.

<comment><USER25> Right. Actually a lot of the issues Bicking points out were handled by Lisps years ago. And you don't have to give op on objects per se: Objects in Clojure (with ad-hoc typing) can be treated as maps and darned near anything is seq- able in that Lisp dialect! Having s-expressions and macros lets you traverse and recombine things you could only imagine doing in Python. And don't even get me started on the power of laziness in Clojure.

Don't get me wrong: Python pays the bills these days. And that language is an able workhorse. But boy do I miss Clojure. The reason I don't use it at work is that I work in Android, iOS and Google App Engine most of the time. Which means Java, Python and Objective-C. The code world has infantilized away from Lisp too far.

<comment><USER24> Objects in Clojure are an implementation detail of the JVM. Clojure doesn't really use objects _as_ objects.

Records are, essentially, just maps with some type metadata attached. They're implemented as classes purely for performance purposes.

</comment></comment></comment><comment><USER26> Yeah, we're stuck with plaintext currently. This is because every time someone tries to write a better non-textual language, they fall into the trap of writing a cute toy or flowcharty bullshit--not a robust tool that scales to real codebases. And you can point to Smalltalk and Lisp machines all day, but they have to _win,_ not be mere curiosities that lost gracefully. How do you write a structured code editor that _wins_ against text? It's really, really difficult.

I really, really want to fix this--write a real post-plaintext programming environment. I've tried and failed so far (although at least I figured out the data structures) and I have my own life to live, issues to deal with, etc. All hope is not lost though. Rust is shaping up to be the exact foundation the next generation of programming environments needs. We'll get out of this plaintext plateau soon.

Re: "Better, more accessible ASTs," this is the aim of Steve Yegge's Grok Project.

<comment><USER27> What happened to Grok? I heard it was going to be demoed after Steve left that project.

</comment></comment><comment><USER28> I dunno, I think programming is pretty futuristic. We've got live coding, futuristic platforms, fast dynamic languages, etc... Of course, the most futuristic platform is right under people's noses, the browser. It does things that old Lisp programmers imagined, like live coding, even 3D games, with sound, and even Kinect-like motion control.

Live coding: [http://www.mrdoob.com/projects/htmleditor/](http://www.mrdoob.com/projects/htmleditor/) WebRTC: [http://cbateman.com/demos/head- coupled/](http://cbateman.com/demos/head-coupled/) (needs well-lit room to track your eye position) 3D: [http://patapom.com/topics/WebGL/cathedral/index.html](http://patapom.com/topics/WebGL/cathedral/index.html)

And of course there's plenty more that can be done. People tout an IDE like Lighttable, which of course uses web technology to accomplish everything special it does.

Edit - and as ugly as Javascript is, it's pretty powerful. Has all the power of Lisp/Scheme, beat with a C-flavoured ugly stick for awhile, enhanced with advanced runtimes (V8), and transformed by transpilers/compilers, is even used to represent bytecode (asm.js) and emulate other platforms ([http://fir.sh/projects/jsnes/](http://fir.sh/projects/jsnes/) and [http://copy.sh/v24/](http://copy.sh/v24/))

Edit2 - and of course, Smalltalk in the browser: [http://amber- lang.net/](http://amber-lang.net/) and a Lisp machine-type thing in the browser: [http://alex.nisnevich.com/ecmachine/](http://alex.nisnevich.com/ecmachine/)

Edit3 - WTF how did I not see this... [http://idflood.github.io/ThreeNodes.js/public/index.html](http://idflood.github.io/ThreeNodes.js/public/index.html)

<comment><USER29> Live coding => Smalltalk (1972), Lisp Machines (1979)

Fast dynamic languages => Self (1986)

WebRTC => oN-Line System (1968)

It doesn't look very futurist to me.

<comment><USER30> "The future is already here — it's just not very evenly distributed." \- Gibson.

</comment></comment></comment><comment><USER31> The author never explains why all these features are desirable.

Safe object traversal? Sure, reflection is a pain, but how would an improvement in this area bring us into the "future"? Also, I may have misunderstood, but isn't Lisp's object traversal about as safe as you can get?

More/better ASTs? I think he was trying to say "compilers should have APIs for third-party tools". Otherwise I don't see why it matters whether the compiler builds an AST or not.

"Direct manipulation of data" as coding? First of all, what does this even mean, and how is it better than the current standard of ASCII files? The author dismisses graphical programming languages as being too heavily focused on "symbolic manipulation". I'm guessing he's talking about LabVIEW, which is admittedly horrendous. But there are others. Blender's node-based shader system[1] fulfills many of these seemingly arbitrary wish-list items. It's easily accessible via Blender's Python API, it has a clearly visible AST, it's deterministic and massively parallel...

In short, I'm confused and unconvinced that the future envisioned in this article is better than what we have now.

[1] [http://www.blender.org/development/release- logs/blender-242/...](http://www.blender.org/development/release- logs/blender-242/blender-material-nodes/)

<comment><USER15> Safe object traversal: if you can traverse objects you can start to create search algorithms (which is what Prolog's solver really is) that work across different domains and objects. I think this is a path towards goal-oriented programming.

ASTs: by representing the program in a more abstracted way, we can start to build tools that manipulate them in ways other than ASCII editors.

Direct manipulation of data: well, Bret brought this one up, not me. I thought it was a little odd. While spatial representation of code was about stretching our ASCII into something else, I chose to interpret this as stretching our concrete editing tools towards code. In other words, how do you add abstractions to concrete editing tools. I think the simplest task would be the one to start with: how do you parametrize something in a concrete data editor?

<comment><USER32> A modern IDE already knows the AST it's working with in intimate detail - <USER2> has to, so that it can refactor it. But it's still displayed as (mostly) plain text, because that's still the best format for humans to read code (or indeed anything else) in.

</comment></comment></comment><comment><USER33> I'm doing some serious development right now for the first time in 12 years, and it's way more fun and much easier to work with a geographically dispersed team than it ever was before. It may not be hand-wavy object magic.. but let's be real about this: we're not a future-oriented culture anymore. We're all about the present. Lots has been written about this elsewhere.

The secret to creating advanced tools is to minimize the magic. Crazy powerful tools still require the expert user to have a predictive mental model of what is really going on so that accurate decisions can be made and valuable experiences can be accumulated on the learning curve.

I would say, though, that the programming we do is by its very nature futuristic. So few humans have been able to interact with information the way programmers today do. The tool churn and huge volume of ideas and trials that we're going through will, eventually, become a mainstream way of working with ideas. It may take a long time.

The other thing is.. a hammer may seem like a simple and obvious tool, but there is still a huge gap between an expert and a novice when it comes to pounding nails. You still need a lot of practice.

</comment><comment><USER34> Personally, I prefer just seeing raw text on a screen, without a fancy IDE, just a plain vi session. If it is my own code base, then I already know what is where, and can navigate / update very efficiently. If however I am working on someone else's code base, then it is necessary to study it for some time before diving in. What can really help in this case is a "code map" \-- a document that gives a tutorial introduction and reference to the code, what is where, and why, etc. Included in the code map would be both program flow, and data flow (what data goes in, how it is transformed, and where it ends up). So what is needed is tools to help maintain that code map document so it doesn't get out of date.

</comment><comment><USER35> Programming is futuristic. It's just that we can always imagine a better future -- and that's what makes programming so awesome. It enables us to build that future.

But if you compare Ruby or Clojure to Forth or COBOL, there's no way you can't see how far we've come. And there's no end of improvement in sight.

<comment><USER36> Alternatively you could compare Ruby to SML and appreciate how far we've regressed.

<comment><USER37> Comparing, and... nope. They were both developed within a few years of each other, and are from different paradigms, so regression seems like a cheap dig, but not an accurate one.

<comment><USER36> No, ML was standardised in the 90s, but developed in the early 70s.

</comment></comment></comment></comment><comment><USER25> When I have a really computationally complex thing I need to write, I first write it in Clojure (or some other Lisp, but Clojure is closest at hand these days) so that I understand it fully. It's just simpler: I don't even have to think about syntax in that language. To me, this is the first requirement of what Bret Victor is talking about. Python and Ruby pale by comparison in expressiveness. Because there is no "syntax" that will beat pure data. Then I go and write it in whatever language I'm "supposed" to write it for work. It's kinda shameful to me that this is where I'm at.

</comment><comment><USER38> I've wondered if it would take a 'non-programmer' to develop a new metaphor/representation of programming that is more futuristic. The OP has some interesting suggestions of characteristics that 'futuristic programming' would have, including safe object traversal, ubiquitous object extensions, and code transport, but these are still conceived within the paradigm that we think of programming today. Maybe programming needs an outsider to help us start over conceptually?

<comment><USER6> There is a catch-22 here in that in order to come up with new ideas, you need to be fairly well-versed in what kinds of things computers can do but can't have been indoctrinated into assuming programming has to work a certain way.

<comment><USER39> That is not a catch-22, that's a filter.

<comment><USER6> I'm saying in order to come up with new types of programming, you need to already know about how programming works currently, which limits your thinking.

</comment></comment></comment></comment><comment><USER40> it's slow, but i think it's happening. co-routines are starting to become popular 35 years after icon had something similar. that could be seen as step on the road to integrated search (which needs some kind of idea of sequences of results).

[incidentally, i wrote a recursive descent combinator lib that worked on generic sequences, in python. afaik no-one ever used it for anything but strings. not even for parsing binary data in comms protocols. i extended it to a regexp engine; it was hopelessly slow. one reason regexps work so well is that they're so efficiently implemented on simple sequences of bytes. the overhead of "irregular" sequences is quite something - perhaps jits will help here (although pypy didn't help me)...]

</comment><comment><USER29> Yep, I guess it is good occasion to recall Vitor's presentation for those who still don't know it.

"The Future of Programming", [http://vimeo.com/71278954](http://vimeo.com/71278954)</comment>


Social Network Algorithms Are Distorting Reality by Boosting Conspiracy Theories - <AUTHOR> http://www.fastcoexist.com/3059742/social-network-algorithms-are-distorting-reality-by-boosting-conspiracy-theories <comment><USER2> TL;DR: Recommendations systems _cannot_ be indifferent to truth.

Some related concepts:

1\. Donella Meadows, in _Thinking in Systems_ , notes that an absolute requirement of an effective and healthy system is _accurate feedback and information_. Media which are indifferent to truth value, or which _actively_ promote distortion (see Robert Proctor's term, _agnotology_ ), will actively harm the system.

2\. Celine's 2nd law, and inversion. In Robert Anton Wilson's _Illuminatus!_ trilogy, a character notes that "accurate information is possible only in a non-punishing situation". Its inverse is also true: acurate information is only possible _when it is accuracy itself and ONLY accuracy_ which is rewarded. Academic publishing, in which paper output and journal selection is a gateway determinant of professional careers, would be an instance of this. Or the long skew of _The Learning Channel_ from NASA-PBS educational co- production to Honey Boo-Boo broadcaster.

3\. Paperclip Maximizer. "Don't be evil" isn't good enough. You've got to _actively_ seek out _good_. Even a _benign_ maximisation goal will, if not tempered by requirements to provide net benefit, lead to catastrophic results.

4\. Mancur Olson's "The Logic of Collective Action" explains how and why small (but motivated) fringe groups can achieve goals directly opposed to the interests of far larger groups. This explains a great deal of market and political dysfunction.

5\. A generalisation of Gresham's Law leads to the realisation that _understanding of complex truths is itself expensive_. It's also (Dunning- Kruger) beyond the capability of much of the population. This also has some rather dismal implications, though as William Ophuls notes, political theory based on the assumption that all the children can be above average ("the Lake Wobegon effect") are doomed. You dance with the dunce what brung ya.

Social media are being flagrantly self-serving and destructive.</comment>


Can't find a link, please help (from here) - <AUTHOR>

There was a post about this guy that had his website stolen 4 times by some random companies, and it was like "I've gotten my website stolen 5 times and I'm sick of it" or something. And some of the website people were designers. I never got around to reading the post and I really wanted to. Anyone remember that post/link to blog? <comment><USER2> Is it this?

I'm Tired Of Companies Ripping off our site, So I'm Calling Them Out (andresmax.com)

423 points, 7 days ago, 285 comments

<http://news.ycombinator.com/item?id=5165016></comment>


Has the Time Come for City-Run Public Banks? - <AUTHOR> https://www.citylab.com/equity/2019/07/public-banks-local-financing-community-california-ab-857/593104/ <comment><USER2> Politically, I certainly see the appeal.

From finance/economics point of view...I dunno. If I was cynical, I might say it seems like we're being asked why city funds should be parked in accounts making safe, legal, loans which are likely to paid back, when we could just let the amazing SF city government use the money as a slush fund to make loans to their pet causes and politically connected businesses.

Phrased like that, it doesn't sound amazing! Or as the article puts it:

> There's been some suggestion that these types of banks would lend to > entities that might not otherwise be creditworthy," Beth Mills, a > spokesperson for the California Banking Association, told CityLab.

Yeah, and most of those suggestions are coming straight from the mouths of the proposals supporters. If you're struggling to find loans for your ambitious infrastructure project, is it... maybe... _possibly_... that the proposal doesn't make a ton of financial sense? What's your city's (or state's) track record on these projects? Would a neutral analyst fear that you're fudging the revenue estimates and lowballing the costs? What _is_ the risk of overruns? Bluntly, how credit worthy _is_ the project?

> "Every politician is talking about affordable housing, but it would be so > much more powerful if they had a bank that was financing affordable > housing," said Jacob.

No doubt. But _will building affordable housing be profitable_? And if not, will the project be able to repay the loans? (Or if so, why are banks not willing to finance it?)

There's a real "dog that didn't bark" feeling to this article, at least for me.

<comment><USER3> I'm not a big fan of "Bank of Los Angeles/San Francisco/etc" but I would be a much bigger fan of "Bank of California".

It should be geared toward serving as a _bank_ , first, and an investment vehicle, second or minimally, and its records should be _excruciatingly, painfully_ transparent. It also needs to serve as a backstop for those who find the current banking system too expensive or too exclusionary. Paycheck cashers are predatory vermin who need to be put out of business.

I view disconnecting from Bank of America, Wells Fargo, and their ilk simply to be a bonus.

<comment><USER4> In many countries the post office offers (or used to offer) banking services in a less commercial way than the private banks. Although now many countries have sold out/privatized their postal systems. [https://en.wikipedia.org/wiki/Postal_savings_system](https://en.wikipedia.org/wiki/Postal_savings_system)

<comment><USER5> The postal savings systems are designed to help people get access to basic banking and bill-pay services. They may help expand access to these systems to those who might not otherwise have it. It is not the worst idea for a city to open one of these, though they would probably partner with an actual bank to help keep down technology and administrative expenses.

Tellingly, postal savings systems are not designed as a way for the government to get money for projects that no sane lender would underwrite. The real purpose of the proposals we see here is to make the government less accountable to taxpayers and reality so they can underwrite their fantasy spending schemes with free money from their own bank. The endgame is the bank's inglorious failure, a federal bailout, and incoherent ramblings about how this is all the fault of the evil capitalists who hate poor people.

</comment></comment></comment></comment><comment><USER6> I'm left wondering how much benefit there is with public banks.

First, we already have not-for-profit credit unions and member-owned cooperative banks. Why does the bank need to be owned and run by the city?

I'm a big fan of credit unions. They offer a not-for-profit alternative to banks. However, when you look at their rates, they aren't some order of magnitude different from banks. They can often be better, but they usually aren't so far off because ultimately banks remain reasonably competitive.

I guess my question is: how would a city-run bank do substantially better than a credit union?

The article talks about trying to finance affordable housing, but one of the biggest impediments to affordable housing tends to be residents opposing it, not its financing. Even then, housing financing is a quite competitive market and the question becomes whether the city-run bank would issue riskier loans with less possibility of repayment. However, if the city lends with a lower repayment rate, that's just a subsidy. I think the government needs to spend on affordable housing, but this just seems like a way of doing it inefficiently (but sneaking it by taxpayers who don't notice it since the city isn't "deciding" to spend money on affordable housing).

Either you lend money at rates similar to what credit unions lend at for projects of similar risk or you decide to lend at lower rates or to riskier projects and lose money - essentially offering subsidized loans.

It sounds like advocates 1) dislike for-profit banks (and it can be easy to feel that way) and 2) want to lend to/invest in projects likely to have a bad repayment rate or worse returns, but fit something they want for other reasons. Really, it sounds like they want subsidized loans to substitute for grant money the cities won't give them.

Now, I think combatting global warming is of huge importance and I think we're facing an affordable housing crisis. However, I don't see a city-run bank as the solution to these problems.

Frankly, the reason it's a bad idea can be seen when one thinks about pensions. Why don't we have the public pensions of California invest in these socially responsible projects? Because we've made a commitment to those retirees and if we invest in underperforming projects, taxpayers will have to make up the rest - and there will be less money for all the good projects we want to accomplish.

There is an opportunity for a city-owned bank to offer benefits. If it's as efficiently run as a private bank, the city would essentially reap the profits from it. However, they could also reap those benefits from using a credit union. I guess I'm left wondering why advocates don't try and get cities to move their money to a credit union first. That's probably where I distrust their idea most. It feels like they want a city-owned bank because they think once the city spends millions setting it up, the city won't be able to back away from it and they'll be able to siphon money out of it for socially responsible projects.

I'm guessing that cities have explored credit unions. Seattle wanted to dump Wells Fargo in a 9-0 vote and found that no one else could really handle their business. Seattle tried many things including slicing up its business into smaller chunks and trying to court smaller banks.

It's also important to note that while cities have a lot of yearly revenue, it doesn't just sit in the bank to really be invested or lent. Seattle puts $3B through Wells Fargo each year, but has an average daily balance of only $10M. The article says that they "park" money in banks, but I don't think that's really the case (at least it certainly isn't in Seattle).

<comment><USER2> > However, if the city lends with a lower repayment rate, that's just a > subsidy. I think the government needs to spend on affordable housing, but > this just seems like a way of doing it inefficiently (but sneaking it by > taxpayers who don't notice it since the city isn't "deciding" to spend money > on affordable housing).

It does feel like that's the (mostly unstated) goal here.

</comment></comment><comment><USER7> We have that in Germany: [https://en.m.wikipedia.org/wiki/German_public_bank](https://en.m.wikipedia.org/wiki/German_public_bank)

For day to day common needs Sparkasse are the most popular banks. Usually private banks will give you better offers. Sparkasse is big, slow, and burocratic. Maybe that is just the size though.

<comment><USER8> > Sparkasse is big, slow, and burocratic. Maybe that is just the size though.

It's not just the size, but also it's decentralized governance and high turnover. A friend of mine who worked for them as an independent project manager for some marketing related IT-changes had to travel all over the country to get buy-in from the regional Sparkassen-groups for the project. Mind you, those weren't some earth shattering changes, but nevertheless he was the ~7th PM on that project which had already been in the works for 3 years.

</comment></comment><comment><USER9> Like most progressive issues in the US these days, this issue has taken a lot of inspiration from Europe, notably in Germany where public banks have been around for a while. The public banks there help to fund infrastructure investments and renewable energy projects.

The recent effort in LA probably successfully pushed the issue the furthest, despite not passing the vote. It got the issue to resurface after the initial interest from the VC-funded weed startups.

Bob Hasegawa, a Washington state senator, has also spent a lot of time advocating for a public bank in Washington and Seattle.

<comment><USER10> The US federal government and the 50 US state governments have been deeply involved in banking for many decades -- as regulators. What would be new is for the government of a US _city_ to become involved in banking.

Which leads me to ask you, Do any of the _Kreise_ (roughly analogous to the county governments of the US) or the _Gemeinden_ (municipal governments) of Germany operate a bank?

<comment><USER9> The Bank of North Dakota is a state owned enterprise. It operates ~$8B in assets. In 2017, it recorded record profits for the 14th year in a row. It survived the 2008 financial crisis and is serving its citizens just fine.

<comment><USER10> OK, but operating a bank is not particularly different IMHO from regulating the hell out of the banks with branches in your territory, which again all 50 US states have been doing for decades. (Very small US state governments with no particular opinions on how to regulate banks will probably have copied the regulations of a larger state government.)

My question was whether any European _city_ operates (or regulates) a bank.

(I'm almost certain that at least some of the larger European and US cities run their own _pension funds_ , but I want to know if the government of some European city offers bank-like services to people other than its employees.)

<comment><USER9> Sure. In Scotland for example, municipal banks are everywhere. North Lanarkshire, West Lothian, North Ayrshire, Clydebank, and East Dunbartonshire Municipal Bank all take deposits and lend to borrowers. They do everything you'd expect a commercial bank would do.

</comment></comment></comment></comment></comment><comment><USER11> Never mind "too big to fail", small banks are often "too small to succeed"!

Spain used to have a network of city banks called the _cajas_. They suffered from exactly the sort of cronyism people here are worrying about, and the financial crisis blew almost all of them away. [https://en.wikipedia.org/wiki/Savings_bank_(Spain)](https://en.wikipedia.org/wiki/Savings_bank_\(Spain\))

</comment><comment><USER12> This is a horrible idea. Banks that operate based on the whims of the public are going to invest in stupid but popular projects that are doomed to fail. Popular ideas align poorly with financially-sensible ideas. Banks don't want to fund public housing and other social programs because they are risky and will probably lose money. A city like San Francisco is going to fund feel-good measures that are doomed to fail. Then they're just going to need to be bailed out, and the taxpayers are going to suffer.

<comment><USER13> On the other hand, banks that operate in private are likely to invest in stupid and unpopular projects that are doomed to fail.

Of course, in theory, private banks have incentives not to invest in projects doomed to fail, and the invariably upright careful professionals staffing them have similarly aligned incentives.

Which is why we can't think of any high profile examples of private banks needing to be bailed out by taxpayers, right?

<comment><USER14> > Which is why we can't think of any high profile examples of private banks > needing to be bailed out by taxpayers, right?

Which says nothing about whether the frequency of bailouts would be much higher or not if all banks were government owned & operated. As bad as TARP was - while still earning a profit for the government - the government bank scenario may have been even worse. You can see examples in this thread of the incompetence of government banking in Europe, in Germany for example. If the Germans can't operate a government bank at a superior level, California's government would be an epic disaster.

</comment></comment></comment><comment><USER15> Let the Post Office operates as a bank. City level bank has too small of a scope to be efficient. Post Office has the network, infrastructure, and branches in place that can easily expand into financial services. Japan's Post has banking service and it has work well.

<comment><USER16> Came here hoping someone would say this. Apparently the USPS used to operate as a bank 'way back in the day': [https://www.nerdwallet.com/blog/banking/post-office- banking-...](https://www.nerdwallet.com/blog/banking/post-office-banking-2/)

</comment></comment><comment><USER17> It seems to me that a profitable bank is private, while an unprofitable bank magically becomes a public concern.

</comment><comment><USER18> Couldn't they just go with a local credit union?

<comment><USER19> Probably not. As another commenter noted with Seattle, the needs of larger organizations often exceed the capabilities of smaller banks and credit unions.

Holding cash is easy. The backend processing—processing check deposits, sending checks, corporate cards, etc.—requires a lot of investment that most smaller banks and credit unions outsource. Wells Fargo and Bank of America have the benefit of having built all of this already.

</comment></comment><comment><USER20> > "When you're backed by a city, you have a democratic constituency to hold > the bank accountable," said Sushil Jacob.

What does that actually mean in practice though? Several cities in the US have literally gone bankrupt. Sure, there's people that are "accountable" for that. Maybe some of them lost their mediocre little jobs or didn't get re-elected. So what?

</comment><comment><USER21> As I see it, one of the major issues with banks recently is that they've all conglomerated into a few large ones, so there isn't much choice or competition anymore. (Chart: [https://upload.wikimedia.org/wikipedia/commons/b/be/Graph_of...](https://upload.wikimedia.org/wikipedia/commons/b/be/Graph_of_Bank_Mergers_in_USA.svg)) Backing those industries with public funds has already led to them making riskier investments, as they know the public will cover their losses.

A public (i.e. subsidized) bank has no incentive or need to compete or appease its customers, so I fail to see how this would make things better and not worse.

</comment><comment><USER22> Possibly relevant, Alberta Treasury Branches: [https://en.m.wikipedia.org/wiki/ATB_Financial](https://en.m.wikipedia.org/wiki/ATB_Financial)

</comment><comment><USER23> If they are independent with a clear mandate like the Fed, then it can be decided on the mandate's merit. If it's an open-ended government controlled socialist bank, hell no.

</comment><comment><USER24> This article fails to even mention the most important part of municipalities wanting their own banking system: Not giving money to banks.

In the early 2000s San Francisco found that we were paying we were paying (I think it was Wells Fargo) for the privilege of making interest off of us. We weren't making interest, but the fees were forever going up.

When we came within just a few votes of creating a bank, we miraculously got a better deal.

Considering that these big banks aren't really working in the public interest and are instead playing "too big to fail games" , any bank big enough for our business will never actually have any legal or moral incentive to act in our best interest.

Also consider the unbanked. America's banking system is the least fair in the world. Banks which use chexsystems to force poor people into the world of payday loan banking, just shouldn't have the right to federal funds, let alone local funds.

</comment><comment><USER25> A Bank of California might make sense, and be a good place for the State and local governments to park their funds, in addition to offering private banking, so long as it has a mandate to be profitable.

A network of credit unions across the State to handle community finance and banking, that might make sense; it's for residents or people of a particular class (police, students, teachers, or people who reside in a particular county) to park their accounts. I mean it's essentially community banking with a shared interest group, and having enough of them endorsed by the State would take political pressure off the Bank of California to expand into areas which would be unprofitable.

Postal Savings Unions, as a kind of last resort for people who can't open an account anywhere else, to encourage savings? Why not. As long as you don't have to go through Congress, the State of California night even be able to enter into a contract with USPS to provide that for people here, and maybe even use the post offices around the State as a backbone for a new ATM network, better if we can eliminate ATM fees for these institutions.

Take all of these together, and you've got the workings of a pretty decently sized network of local, publicly interested banking and savings institutions and hopefully none of them too big to fail or too small to be profitable.

That said, city run banks? I love my city, as much as I complain about it, I grew up here, and I would _not_ trust the Board of Supervisors to stake the creditworthiness of the City and County of San Francisco on a Public Bank. Doing it at the State level is still risky, but it might be a risk worth taking since California _isn't_ a monoculture much as our critics might think it to be, and that is a much larger pool of funds that wouldn't be enriching large private national and international banks. There might be real savings to be had for taxpayers there.

I don't believe that to be true about San Francisco. We might be bigger than North Dakota, but I think it is a poor fit for our city's culture to get into banking. At least a credit union (there are several here already) funded by residents is a lot more insulated from our own political machinery, even if the constituency is mostly overlapping.</comment>


80% of books published from 1924 to 1963 should be in the public domain - <AUTHOR> https://goodereader.com/blog/e-book-news/80-of-books-published-from-1924-to-1963-should-be-in-the-public-domain <comment><USER2> [https://news.ycombinator.com/item?id=20591071](https://news.ycombinator.com/item?id=20591071)

270+ points

</comment><comment><USER3> Title appears to have acquired an extra 8 - it's actually only '80%', not '880%'.

<comment><USER4> Fixed now.</comment></comment>


Preprint: Zinc+hydroxychloroquine+azithromycin may improve outcomes in Covid-19 - <AUTHOR> https://www.medrxiv.org/content/10.1101/2020.05.02.20080036v1 <comment><USER2> From the preprint:

"Results: The addition of zinc sulfate did not impact the length of hospitalization, duration of ventilation, or ICU duration. In univariate analyses, zinc sulfate increased the frequency of patients being discharged home, and decreased the need for ventilation, admission to the ICU, and mortality or transfer to hospice for patients who were never admitted to the ICU. After adjusting for the time at which zinc sulfate was added to our protocol, an increased frequency of being discharged home (OR 1.53, 95% CI 1.12-2.09) reduction in mortality or transfer to hospice remained significant (OR 0.449, 95% CI 0.271-0.744).

 _Conclusion: This study provides the first in vivo evidence that zinc sulfate in combination with hydroxychloroquine may play a role in therapeutic management for COVID-19._ "</comment>


Designing a Car Trash Can and Making $15k/month - <AUTHOR> https://starterstory.com/stories/carbage-can <comment><USER2> The creator doesn't mention that one of his marketing strategies is email spam (his mailchimp account was suspended following abuse reports).

<comment><USER3> Source? I don't doubt your claim; just curious how you know this.

<comment><USER2> I received their spam, reported it to mailchimp (their provider) and was told that they were suspended.

<comment><USER4> was it out of the blue or did you sign up for something at some point?

<comment><USER2> Out of the blue. I am very careful about what I sign up for, I don't have a car nor can I find any previous emails from the person involved (going back ten years). There's no chance I signed up to a mailing list for a car accessory — and just in case I had somehow subscribed (maybe through another product they offer) I asked how they got my email address and they didn't respond which is a tell tale sign of a spammer. My email address _was_ included in a database leak from Kickstarter in 2014, so I am almost certain they have been spamming everybody from the Kickstarter database leak.

<comment><USER4> the kickstarter leak makes sense. that's very unethical behavior that should not be rewarded.

</comment></comment></comment></comment></comment></comment><comment><USER5> Based on the category ranking on Amazon of the Carbage Can it looks like he sells ~250 a month which at $20 equates to $5k a month in sales. This could easily equate to the $15k he claims in November/December. Total yearly sales could be around the $80k mark.

Assuming he makes $8, 40% margin, on each unit then that's $32k of profit each year. Capital costs for manufacturing are around $20k. Assuming the capital costs are amortised over 3 years, that's $25k of income each year which isn't great but you can live off it. If you were designing a new product like this every year, then it could make a healthy business.

</comment><comment><USER6> I wonder how long before he's put out of business by Amazon sold Chinese counterfeits undercutting him:

[https://news.ycombinator.com/item?id=12061288](https://news.ycombinator.com/item?id=12061288)

[https://news.ycombinator.com/item?id=16498013](https://news.ycombinator.com/item?id=16498013)

<comment><USER7> They may forget the floot mat clips, though.

<comment><USER8> And as a result, there's a nonzero chance of an unhappy knock-off purchaser accidentally leaving a bad review on the original, bonafide product page.

</comment></comment></comment><comment><USER9> > To give an idea on the profit for Carbage Can, we'll keep it simple:

> To manufacture, $2.50.

> Amazon FBA fee 6.90.

> And we'll throw in 1.00 for Marketing PPC.

> That's 10.40 per unit.

> I sell for 16.95.

Interesting that the Amazon cut is 40% of the retail price, while the manufacturing cost is less than 15%.

<comment><USER10> The Amazon FBA fee includes shipping cost which is greater than manufacturing cost for zillions of products.

</comment></comment><comment><USER11> Sorry, but a garbage can for your car? Bravo for the success, but this HAS to be only for people who buy all of the "As Seen on TV" garbage.

<comment><USER10> Do you have kids? Kids cause huge amounts of garbage to pile up in cars.

<comment><USER11> Clean up after them? I don't understand the responses here.

<comment><USER10> Yeah, by putting the trash they create, into a garbage bin that mounts to the floor of my car... I am a target customer for this and no amount of head- shaking is going to make me feel bad about it.

<comment><USER11> So you only put non organic trash in there right? Because it's going to make your car stink pretty damn fast baking in it.

</comment></comment></comment></comment></comment><comment><USER12> I don't believe he is selling 750 pieces per month and has that few reviews.

<comment><USER13> Keep in mind $15k is the top month, not the median or average.

As well, although debatable, there are some that say 50% of Amazon reviews are fake/paid for. So perhaps he hasn't gone this route and therefore doesn't have what is the artificially high level of expected reviews.

<comment><USER11> [https://www.fakespot.com/product/carbage- can](https://www.fakespot.com/product/carbage-can) gives it a B, so looks like relatively low fake nonsense going on review wise.

</comment></comment></comment><comment><USER14> $15k a month for a trash can with clips on the bottom. I need to put some of my ideas on Kickstarter, I had no clue the bar was this low.

<comment><USER15> The bar, my friend, is far lower. At least this product is somewhat useful.

</comment></comment><comment><USER16> "floot mat clips"

Needs a copywriter...

</comment><comment><USER17> At $20 it's a relatively cheap option, probably better than a plastic grocery bag (probably with a hole), and nicer than some of the pouches, etc that I've seen that attach to the back of a seat using a strap around the headrest. The fact that it's waterproof is a plus if you have drink containers.

Worth $20? Maybe. Making $15k/month on it? Not sure I see that being sustainable.

I put this in the same category as the Totasak.

</comment><comment><USER18> Why create a Kickstarter for 1.7 k if you make 15k a month. I call bs.</comment>